{"type": "func", "start": 6443630660, "end": 6443630870, "name": "__report_gsfailure", "pseudocode": "// \n// __report_gsfailure from 0x180120044 to 0x180120116 (210 bytes)\n// \n// 3 xrefs:\n// > __security_check_cookie @ 0x18011ff99\n// > <???> @ 0x180202420\n// > <???> @ 0x18020242c\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_1801F4430 = retaddr;\n  ContextRecord.Rcx = v2;\n  dword_1801F4420 = -1073740791;\n  dword_1801F4424 = 1;\n  dword_1801F4438 = 1;\n  unk_1801F4440 = 2;\n  _raise_securityfailure((struct _EXCEPTION_POINTERS *)&ExceptionInfo);\n}", "assembly": "; \n; __report_gsfailure from 0x180120044 to 0x180120116 (210 bytes)\n; \n; 3 xrefs:\n; > __security_check_cookie @ 0x18011ff99\n; > <???> @ 0x180202420\n; > <???> @ 0x18020242c\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, 0x180120044\nsub     rsp, 38h                                                       ; +0x5, 0x180120049\nmov     ecx, 17h; ProcessorFeature                                     ; +0x9, 0x18012004d\ncall    cs:IsProcessorFeaturePresent                                   ; +0xe, 0x180120052\ntest    eax, eax                                                       ; +0x14, 0x180120058\njz      short loc_180120063                                            ; +0x16, 0x18012005a\nmov     ecx, 2                                                         ; +0x18, 0x18012005c\nint     29h; Win8: RtlFailFast(ecx)                                    ; +0x1d, 0x180120061\nlea     rcx, ContextRecord; ContextRecord                              ; +0x1f, 0x180120063\ncall    capture_previous_context                                       ; +0x26, 0x18012006a\nmov     rax, [rsp+38h]                                                 ; +0x2b, 0x18012006f\nmov     cs:ContextRecord.Rip, rax                                      ; +0x30, 0x180120074\nlea     rax, [rsp+38h]                                                 ; +0x37, 0x18012007b\nadd     rax, 8                                                         ; +0x3c, 0x180120080\nmov     cs:ContextRecord.Rsp, rax                                      ; +0x40, 0x180120084\nmov     rax, cs:ContextRecord.Rip                                      ; +0x47, 0x18012008b\nmov     cs:qword_1801F4430, rax                                        ; +0x4e, 0x180120092\nmov     rax, [rsp+38h+arg_0]                                           ; +0x55, 0x180120099\nmov     cs:ContextRecord.Rcx, rax                                      ; +0x5a, 0x18012009e\nmov     cs:dword_1801F4420, 0C0000409h                                 ; +0x61, 0x1801200a5\nmov     cs:dword_1801F4424, 1                                          ; +0x6b, 0x1801200af\nmov     cs:dword_1801F4438, 1                                          ; +0x75, 0x1801200b9\nmov     eax, 8                                                         ; +0x7f, 0x1801200c3\nimul    rax, 0                                                         ; +0x84, 0x1801200c8\nlea     rcx, unk_1801F4440                                             ; +0x88, 0x1801200cc\nmov     qword ptr [rcx+rax], 2                                         ; +0x8f, 0x1801200d3\nmov     eax, 8                                                         ; +0x97, 0x1801200db\nimul    rax, 0                                                         ; +0x9c, 0x1801200e0\nmov     rcx, cs:__security_cookie                                      ; +0xa0, 0x1801200e4\nmov     [rsp+rax+38h+var_18], rcx                                      ; +0xa7, 0x1801200eb\nmov     eax, 8                                                         ; +0xac, 0x1801200f0\nimul    rax, 1                                                         ; +0xb1, 0x1801200f5\nmov     rcx, cs:qword_1801B16E0                                        ; +0xb5, 0x1801200f9\nmov     [rsp+rax+38h+var_18], rcx                                      ; +0xbc, 0x180120100\nlea     rcx, ExceptionInfo; ExceptionInfo                              ; +0xc1, 0x180120105\ncall    __raise_securityfailure                                        ; +0xc8, 0x18012010c\nadd     rsp, 38h                                                       ; +0xcd, 0x180120111\nretn                                                                   ; +0xd1, 0x180120115", "xrefs": ["__security_check_cookie @ 0x18011ff99", "<???> @ 0x180202420", "<???> @ 0x18020242c"], "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"}