{"type": "func", "start": 6443699728, "end": 6443699924, "name": "common_assert_to_message_box<wchar_t>", "pseudocode": "// \n// common_assert_to_message_box<wchar_t> from 0x180130e10 to 0x180130ed4 (196 bytes)\n// \n// 2 xrefs:\n// > _wassert @ 0x1801315af\n// > <???> @ 0x180202eac\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\n__int64 __fastcall common_assert_to_message_box<wchar_t>(wchar_t *Source, wchar_t *a2, int Value, LPCWSTR lpModuleName)\n{\n  int v8; // eax\n  __int64 result; // rax\n  wchar_t Destination[576]; // [rsp+30h] [rbp-4A8h] BYREF\n\n  memset(Destination, 0, sizeof(Destination));\n  common_assert_to_message_box_build_string<wchar_t>(Destination, 0x240u, Source, a2, Value, lpModuleName);\n  v8 = unknown_libname_70(Destination) - 3;\n  if ( !v8 )\n  {\n    raise(22);\n    exit(3);\n  }\n  result = (unsigned int)(v8 - 1);\n  if ( (_DWORD)result )\n  {\n    if ( (_DWORD)result != 1 )\n      abort();\n  }\n  else\n  {\n    __debugbreak();\n  }\n  return result;\n}", "assembly": "; \n; common_assert_to_message_box<wchar_t> from 0x180130e10 to 0x180130ed4 (196 bytes)\n; \n; 2 xrefs:\n; > _wassert @ 0x1801315af\n; > <???> @ 0x180202eac\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_10], rbx                                              ; +0x0, 0x180130e10\npush    rbp                                                            ; +0x5, 0x180130e15\npush    rsi                                                            ; +0x6, 0x180130e16\npush    rdi                                                            ; +0x7, 0x180130e17\nsub     rsp, 4C0h                                                      ; +0x8, 0x180130e18\nmov     rax, cs:__security_cookie                                      ; +0xf, 0x180130e1f\nxor     rax, rsp                                                       ; +0x16, 0x180130e26\nmov     [rsp+4D8h+var_28], rax                                         ; +0x19, 0x180130e29\nmov     ebx, r8d                                                       ; +0x21, 0x180130e31\nmov     rsi, rdx                                                       ; +0x24, 0x180130e34\nmov     rdi, rcx                                                       ; +0x27, 0x180130e37\nxor     edx, edx; Val                                                  ; +0x2a, 0x180130e3a\nmov     r8d, 480h; Size                                                ; +0x2c, 0x180130e3c\nlea     rcx, [rsp+4D8h+Destination]; void *                            ; +0x32, 0x180130e42\nmov     rbp, r9                                                        ; +0x37, 0x180130e47\ncall    memset                                                         ; +0x3a, 0x180130e4a\nmov     r9, rsi; wchar_t *                                             ; +0x3f, 0x180130e4f\nmov     [rsp+4D8h+lpModuleName], rbp; lpModuleName                     ; +0x42, 0x180130e52\nmov     r8, rdi; Source                                                ; +0x47, 0x180130e57\nmov     [rsp+4D8h+Value], ebx; Value                                   ; +0x4a, 0x180130e5a\nmov     edx, 240h; SizeInWords                                         ; +0x4e, 0x180130e5e\nlea     rcx, [rsp+4D8h+Destination]; Destination                       ; +0x53, 0x180130e63\ncall    ??$common_assert_to_message_box_build_string@_W@@YAXQEA_W_KQEB_W2IQEAX@Z ; +0x58, 0x180130e68\nmov     r8d, 12012h                                                    ; +0x5d, 0x180130e6d\nlea     rdx, aMicrosoftVisua                                           ; +0x63, 0x180130e73\nlea     rcx, [rsp+4D8h+Destination]; lpOutputString                    ; +0x6a, 0x180130e7a\ncall    unknown_libname_70; Microsoft VisualC 64bit universal runtime  ; +0x6f, 0x180130e7f\nsub     eax, 3                                                         ; +0x74, 0x180130e84\njz      short loc_180130EB9                                            ; +0x77, 0x180130e87\nsub     eax, 1                                                         ; +0x79, 0x180130e89\njz      short loc_180130E95                                            ; +0x7c, 0x180130e8c\ncmp     eax, 1                                                         ; +0x7e, 0x180130e8e\njnz     short loc_180130ECE                                            ; +0x81, 0x180130e91\njmp     short loc_180130E96                                            ; +0x83, 0x180130e93\nint     3; Trap to Debugger                                            ; +0x85, 0x180130e95\nmov     rcx, [rsp+4D8h+var_28]                                         ; +0x86, 0x180130e96\nxor     rcx, rsp; StackCookie                                          ; +0x8e, 0x180130e9e\ncall    __security_check_cookie                                        ; +0x91, 0x180130ea1\nmov     rbx, [rsp+4D8h+arg_10]                                         ; +0x96, 0x180130ea6\nadd     rsp, 4C0h                                                      ; +0x9e, 0x180130eae\npop     rdi                                                            ; +0xa5, 0x180130eb5\npop     rsi                                                            ; +0xa6, 0x180130eb6\npop     rbp                                                            ; +0xa7, 0x180130eb7\nretn                                                                   ; +0xa8, 0x180130eb8\nmov     ecx, 16h; Signal                                               ; +0xa9, 0x180130eb9\ncall    raise                                                          ; +0xae, 0x180130ebe\nmov     ecx, 3; Code                                                   ; +0xb3, 0x180130ec3\ncall    _exit                                                          ; +0xb8, 0x180130ec8\nalign 2                                                                ; +0xbd, 0x180130ecd\ncall    abort                                                          ; +0xbe, 0x180130ece\nalign 4                                                                ; +0xc3, 0x180130ed3", "xrefs": ["_wassert @ 0x1801315af", "<???> @ 0x180202eac"], "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"}