{"type": "func", "start": 6443707272, "end": 6443707619, "name": "__acrt_call_reportfault", "pseudocode": "// \n// __acrt_call_reportfault from 0x180132b88 to 0x180132ce3 (347 bytes)\n// \n// 3 xrefs:\n// > abort @ 0x180132aea\n// > _invoke_watson @ 0x180132de5\n// > <???> @ 0x1802030ec\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 __fastcall _acrt_call_reportfault(int a1, unsigned int a2, unsigned int a3)\n{\n  ULONG64 Rip; // r14\n  struct _IMAGE_RUNTIME_FUNCTION_ENTRY *v7; // rax\n  BOOL v8; // edi\n  unsigned __int64 ImageBase; // [rsp+40h] [rbp-C0h] BYREF\n  struct _EXCEPTION_POINTERS ExceptionInfo; // [rsp+48h] [rbp-B8h] BYREF\n  unsigned __int64 EstablisherFrame; // [rsp+58h] [rbp-A8h] BYREF\n  PVOID HandlerData; // [rsp+60h] [rbp-A0h] BYREF\n  _QWORD v13[20]; // [rsp+70h] [rbp-90h] BYREF\n  struct _CONTEXT ContextRecord; // [rsp+110h] [rbp+10h] BYREF\n  DWORD64 retaddr; // [rsp+608h] [rbp+508h]\n  __int64 v16; // [rsp+610h] [rbp+510h] BYREF\n\n  if ( a1 != -1 )\n    sub_180123B7C();\n  memset(v13, 0, 0x98u);\n  memset(&ContextRecord, 0, sizeof(ContextRecord));\n  ExceptionInfo.ExceptionRecord = (PEXCEPTION_RECORD)v13;\n  ExceptionInfo.ContextRecord = &ContextRecord;\n  RtlCaptureContext(&ContextRecord);\n  Rip = ContextRecord.Rip;\n  v7 = RtlLookupFunctionEntry(ContextRecord.Rip, &ImageBase, nullptr);\n  if ( v7 )\n    RtlVirtualUnwind(0, ImageBase, Rip, v7, &ContextRecord, &HandlerData, &EstablisherFrame, nullptr);\n  ContextRecord.Rip = retaddr;\n  v13[0] = __PAIR64__(a3, a2);\n  ContextRecord.Rsp = (DWORD64)&v16;\n  v13[2] = retaddr;\n  v8 = IsDebuggerPresent();\n  SetUnhandledExceptionFilter(nullptr);\n  if ( !UnhandledExceptionFilter(&ExceptionInfo) && !v8 && a1 != -1 )\n    sub_180123B7C();\n}", "assembly": "; \n; __acrt_call_reportfault from 0x180132b88 to 0x180132ce3 (347 bytes)\n; \n; 3 xrefs:\n; > abort @ 0x180132aea\n; > _invoke_watson @ 0x180132de5\n; > <???> @ 0x1802030ec\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-8+arg_8], rbx                                             ; +0x0, 0x180132b88\nmov     [rsp-8+arg_10], rsi                                            ; +0x5, 0x180132b8d\npush    rbp                                                            ; +0xa, 0x180132b92\npush    rdi                                                            ; +0xb, 0x180132b93\npush    r14                                                            ; +0xc, 0x180132b94\nlea     rbp, [rsp-4F0h]                                                ; +0xe, 0x180132b96\nsub     rsp, 5F0h                                                      ; +0x16, 0x180132b9e\nmov     rax, cs:__security_cookie                                      ; +0x1d, 0x180132ba5\nxor     rax, rsp                                                       ; +0x24, 0x180132bac\nmov     [rbp+500h+var_20], rax                                         ; +0x27, 0x180132baf\nmov     edi, r8d                                                       ; +0x2e, 0x180132bb6\nmov     esi, edx                                                       ; +0x31, 0x180132bb9\nmov     ebx, ecx                                                       ; +0x33, 0x180132bbb\ncmp     ecx, 0FFFFFFFFh                                                ; +0x35, 0x180132bbd\njz      short loc_180132BC7                                            ; +0x38, 0x180132bc0\ncall    sub_180123B7C                                                  ; +0x3a, 0x180132bc2\nxor     edx, edx; Val                                                  ; +0x3f, 0x180132bc7\nlea     rcx, [rsp+600h+var_590]; void *                                ; +0x41, 0x180132bc9\nmov     r8d, 98h; Size                                                 ; +0x46, 0x180132bce\ncall    memset                                                         ; +0x4c, 0x180132bd4\nxor     edx, edx; Val                                                  ; +0x51, 0x180132bd9\nlea     rcx, [rbp+500h+ContextRecord]; void *                          ; +0x53, 0x180132bdb\nmov     r8d, 4D0h; Size                                                ; +0x57, 0x180132bdf\ncall    memset                                                         ; +0x5d, 0x180132be5\nlea     rax, [rsp+600h+var_590]                                        ; +0x62, 0x180132bea\nmov     [rsp+600h+ExceptionInfo.ExceptionRecord], rax                  ; +0x67, 0x180132bef\nlea     rcx, [rbp+500h+ContextRecord]; ContextRecord                   ; +0x6c, 0x180132bf4\nlea     rax, [rbp+500h+ContextRecord]                                  ; +0x70, 0x180132bf8\nmov     [rsp+600h+ExceptionInfo.ContextRecord], rax                    ; +0x74, 0x180132bfc\ncall    cs:RtlCaptureContext                                           ; +0x79, 0x180132c01\nmov     r14, [rbp+500h+ContextRecord.Rip]                              ; +0x7f, 0x180132c07\nlea     rdx, [rsp+600h+ImageBase]; ImageBase                           ; +0x86, 0x180132c0e\nmov     rcx, r14; ControlPc                                            ; +0x8b, 0x180132c13\nxor     r8d, r8d; HistoryTable                                         ; +0x8e, 0x180132c16\ncall    cs:RtlLookupFunctionEntry                                      ; +0x91, 0x180132c19\ntest    rax, rax                                                       ; +0x97, 0x180132c1f\njz      short loc_180132C5A                                            ; +0x9a, 0x180132c22\nand     [rsp+600h+var_5C8], 0                                          ; +0x9c, 0x180132c24\nlea     rcx, [rsp+600h+var_5A8]                                        ; +0xa2, 0x180132c2a\nmov     rdx, [rsp+600h+ImageBase]; ImageBase                           ; +0xa7, 0x180132c2f\nmov     r9, rax; FunctionEntry                                         ; +0xac, 0x180132c34\nmov     [rsp+600h+EstablisherFrame], rcx; EstablisherFrame             ; +0xaf, 0x180132c37\nmov     r8, r14; ControlPc                                             ; +0xb4, 0x180132c3c\nlea     rcx, [rsp+600h+var_5A0]                                        ; +0xb7, 0x180132c3f\nmov     [rsp+600h+HandlerData], rcx; HandlerData                       ; +0xbc, 0x180132c44\nlea     rcx, [rbp+500h+ContextRecord]                                  ; +0xc1, 0x180132c49\nmov     [rsp+600h+var_5E0], rcx; ContextRecord                         ; +0xc5, 0x180132c4d\nxor     ecx, ecx; HandlerType                                          ; +0xca, 0x180132c52\ncall    cs:RtlVirtualUnwind                                            ; +0xcc, 0x180132c54\nmov     rax, [rbp+508h]                                                ; +0xd2, 0x180132c5a\nmov     [rbp+500h+ContextRecord.Rip], rax                              ; +0xd9, 0x180132c61\nlea     rax, [rbp+508h]                                                ; +0xe0, 0x180132c68\nadd     rax, 8                                                         ; +0xe7, 0x180132c6f\nmov     [rsp+600h+var_590], esi                                        ; +0xeb, 0x180132c73\nmov     [rbp+500h+ContextRecord.Rsp], rax                              ; +0xef, 0x180132c77\nmov     rax, [rbp+508h]                                                ; +0xf6, 0x180132c7e\nmov     [rbp+500h+var_580], rax                                        ; +0xfd, 0x180132c85\nmov     [rsp+600h+var_58C], edi                                        ; +0x101, 0x180132c89\ncall    cs:IsDebuggerPresent                                           ; +0x105, 0x180132c8d\nxor     ecx, ecx; lpTopLevelExceptionFilter                            ; +0x10b, 0x180132c93\nmov     edi, eax                                                       ; +0x10d, 0x180132c95\ncall    cs:SetUnhandledExceptionFilter                                 ; +0x10f, 0x180132c97\nlea     rcx, [rsp+600h+ExceptionInfo]; ExceptionInfo                   ; +0x115, 0x180132c9d\ncall    cs:UnhandledExceptionFilter                                    ; +0x11a, 0x180132ca2\ntest    eax, eax                                                       ; +0x120, 0x180132ca8\njnz     short loc_180132CBC                                            ; +0x122, 0x180132caa\ntest    edi, edi                                                       ; +0x124, 0x180132cac\njnz     short loc_180132CBC                                            ; +0x126, 0x180132cae\ncmp     ebx, 0FFFFFFFFh                                                ; +0x128, 0x180132cb0\njz      short loc_180132CBC                                            ; +0x12b, 0x180132cb3\nmov     ecx, ebx                                                       ; +0x12d, 0x180132cb5\ncall    sub_180123B7C                                                  ; +0x12f, 0x180132cb7\nmov     rcx, [rbp+500h+var_20]                                         ; +0x134, 0x180132cbc\nxor     rcx, rsp; StackCookie                                          ; +0x13b, 0x180132cc3\ncall    __security_check_cookie                                        ; +0x13e, 0x180132cc6\nlea     r11, [rsp+600h+var_10]                                         ; +0x143, 0x180132ccb\nmov     rbx, [r11+28h]                                                 ; +0x14b, 0x180132cd3\nmov     rsi, [r11+30h]                                                 ; +0x14f, 0x180132cd7\nmov     rsp, r11                                                       ; +0x153, 0x180132cdb\npop     r14                                                            ; +0x156, 0x180132cde\npop     rdi                                                            ; +0x158, 0x180132ce0\npop     rbp                                                            ; +0x159, 0x180132ce1\nretn                                                                   ; +0x15a, 0x180132ce2", "xrefs": ["abort @ 0x180132aea", "_invoke_watson @ 0x180132de5", "<???> @ 0x1802030ec"], "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"}