{"type": "func", "start": 6442580952, "end": 6442581162, "name": "__report_gsfailure", "pseudocode": "// \n// __report_gsfailure from 0x18001fbd8 to 0x18001fcaa (210 bytes)\n// \n// 3 xrefs:\n// > __security_check_cookie @ 0x18001f1c9\n// > <???> @ 0x18004b280\n// > <???> @ 0x18004b28c\n// \n// This function is hookable on this platform!\n// \n// Using BromaIDA 8.0.0 @ https://github.com/Stazzical/BromaIDA\n// Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https://github.com/geode-sdk/bindings\n// \n\nvoid __cdecl __noreturn _report_gsfailure(uintptr_t StackCookie)\n{\n  DWORD64 retaddr; // [rsp+38h] [rbp+0h]\n  uintptr_t v2; // [rsp+40h] [rbp+8h] BYREF\n\n  v2 = StackCookie;\n  if ( IsProcessorFeaturePresent(0x17u) )\n    __fastfail(2u);\n  capture_previous_context(&ContextRecord);\n  ContextRecord.Rip = retaddr;\n  ContextRecord.Rsp = (DWORD64)&v2;\n  qword_180048050 = retaddr;\n  ContextRecord.Rcx = v2;\n  dword_180048040 = -1073740791;\n  dword_180048044 = 1;\n  dword_180048058 = 1;\n  unk_180048060 = 2;\n  _raise_securityfailure((struct _EXCEPTION_POINTERS *)&ExceptionInfo);\n}", "assembly": "; \n; __report_gsfailure from 0x18001fbd8 to 0x18001fcaa (210 bytes)\n; \n; 3 xrefs:\n; > __security_check_cookie @ 0x18001f1c9\n; > <???> @ 0x18004b280\n; > <???> @ 0x18004b28c\n; \n; This function is hookable on this platform!\n; \n; Using BromaIDA 8.0.0 @ https:;github.com/Stazzical/BromaIDA\n; Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https:;github.com/geode-sdk/bindings\n; \n\nmov     [rsp+arg_0], rcx                                               ; +0x0, 0x18001fbd8\nsub     rsp, 38h                                                       ; +0x5, 0x18001fbdd\nmov     ecx, 17h; ProcessorFeature                                     ; +0x9, 0x18001fbe1\ncall    cs:IsProcessorFeaturePresent                                   ; +0xe, 0x18001fbe6\ntest    eax, eax                                                       ; +0x14, 0x18001fbec\njz      short loc_18001FBF7                                            ; +0x16, 0x18001fbee\nmov     ecx, 2                                                         ; +0x18, 0x18001fbf0\nint     29h; Win8: RtlFailFast(ecx)                                    ; +0x1d, 0x18001fbf5\nlea     rcx, ContextRecord; ContextRecord                              ; +0x1f, 0x18001fbf7\ncall    capture_previous_context                                       ; +0x26, 0x18001fbfe\nmov     rax, [rsp+38h]                                                 ; +0x2b, 0x18001fc03\nmov     cs:ContextRecord.Rip, rax                                      ; +0x30, 0x18001fc08\nlea     rax, [rsp+38h]                                                 ; +0x37, 0x18001fc0f\nadd     rax, 8                                                         ; +0x3c, 0x18001fc14\nmov     cs:ContextRecord.Rsp, rax                                      ; +0x40, 0x18001fc18\nmov     rax, cs:ContextRecord.Rip                                      ; +0x47, 0x18001fc1f\nmov     cs:qword_180048050, rax                                        ; +0x4e, 0x18001fc26\nmov     rax, [rsp+38h+arg_0]                                           ; +0x55, 0x18001fc2d\nmov     cs:ContextRecord.Rcx, rax                                      ; +0x5a, 0x18001fc32\nmov     cs:dword_180048040, 0C0000409h                                 ; +0x61, 0x18001fc39\nmov     cs:dword_180048044, 1                                          ; +0x6b, 0x18001fc43\nmov     cs:dword_180048058, 1                                          ; +0x75, 0x18001fc4d\nmov     eax, 8                                                         ; +0x7f, 0x18001fc57\nimul    rax, 0                                                         ; +0x84, 0x18001fc5c\nlea     rcx, unk_180048060                                             ; +0x88, 0x18001fc60\nmov     qword ptr [rcx+rax], 2                                         ; +0x8f, 0x18001fc67\nmov     eax, 8                                                         ; +0x97, 0x18001fc6f\nimul    rax, 0                                                         ; +0x9c, 0x18001fc74\nmov     rcx, cs:__security_cookie                                      ; +0xa0, 0x18001fc78\nmov     [rsp+rax+38h+var_18], rcx                                      ; +0xa7, 0x18001fc7f\nmov     eax, 8                                                         ; +0xac, 0x18001fc84\nimul    rax, 1                                                         ; +0xb1, 0x18001fc89\nmov     rcx, cs:qword_180047080                                        ; +0xb5, 0x18001fc8d\nmov     [rsp+rax+38h+var_18], rcx                                      ; +0xbc, 0x18001fc94\nlea     rcx, ExceptionInfo; ExceptionInfo                              ; +0xc1, 0x18001fc99\ncall    __raise_securityfailure                                        ; +0xc8, 0x18001fca0\nadd     rsp, 38h                                                       ; +0xcd, 0x18001fca5\nretn                                                                   ; +0xd1, 0x18001fca9", "xrefs": ["__security_check_cookie @ 0x18001f1c9", "<???> @ 0x18004b280", "<???> @ 0x18004b28c"], "is_objc": false, "is_arm32": false, "is_arm64": false, "bida_info": "8.0.0 @ https://github.com/Stazzical/BromaIDA", "bindings_info": "commit ba9f177b at Thu Jul 16 22:52:06 2026 from https://github.com/geode-sdk/bindings"}