{"type": "func", "start": 6443699924, "end": 6443701208, "name": "common_assert_to_message_box_build_string<wchar_t>", "pseudocode": "// \n// common_assert_to_message_box_build_string<wchar_t> from 0x180130ed4 to 0x1801313d8 (1284 bytes)\n// \n// 3 xrefs:\n// > common_assert_to_message_box<wchar_t> @ 0x180130e68\n// > <???> @ 0x180202eac\n// > <???> @ 0x180202eb8\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\nerrno_t __fastcall common_assert_to_message_box_build_string<wchar_t>(\n        wchar_t *Destination,\n        rsize_t SizeInWords,\n        wchar_t *Source,\n        wchar_t *a4,\n        int Value,\n        LPCWSTR lpModuleName)\n{\n  BOOL ModuleHandle; // eax\n  __int64 v11; // rbp\n  WCHAR *v12; // rcx\n  __int64 v13; // rdx\n  __int64 v14; // rax\n  size_t v15; // rsi\n  __int64 v16; // rax\n  unsigned __int64 v17; // rsi\n  wchar_t v18; // ax\n  unsigned __int64 v19; // r14\n  wchar_t *v20; // rcx\n  unsigned __int64 v21; // r12\n  bool v22; // cf\n  const wchar_t *v23; // r8\n  unsigned __int64 v24; // r14\n  errno_t v25; // eax\n  __int64 v26; // rax\n  __int64 v27; // rcx\n  __int64 v28; // rax\n  __int64 v29; // rax\n  const wchar_t *v30; // r8\n  rsize_t v31; // rdx\n  wchar_t *v32; // rcx\n  errno_t result; // eax\n  HMODULE phModule; // [rsp+30h] [rbp-278h] BYREF\n  wchar_t Filename[264]; // [rsp+40h] [rbp-268h] BYREF\n\n  if ( wcscpy_s(Destination, SizeInWords, L\"Assertion failed!\") )\n    goto LABEL_66;\n  if ( wcscat_s(Destination, SizeInWords, L\"\\n\\n\") )\n    goto LABEL_66;\n  if ( wcscat_s(Destination, SizeInWords, L\"Program: \") )\n    goto LABEL_66;\n  memset(Filename, 0, 0x20Au);\n  phModule = nullptr;\n  ModuleHandle = GetModuleHandleExW(6u, lpModuleName, &phModule);\n  phModule = (HMODULE)((unsigned __int64)phModule & -(__int64)ModuleHandle);\n  if ( !GetModuleFileNameW(phModule, Filename, 0x105u) )\n  {\n    if ( wcscpy_s(Filename, 0x105u, L\"<program name unknown>\") )\n      goto LABEL_66;\n  }\n  v11 = -1;\n  v12 = Filename;\n  v13 = -1;\n  do\n    ++v13;\n  while ( Filename[v13] );\n  if ( (unsigned __int64)(v13 + 11) > 0x40 )\n  {\n    v14 = 2 * v13 - 106;\n    v15 = 522 - v14;\n    v12 = (wchar_t *)((char *)Filename + v14);\n    if ( !(wchar_t *)((char *)Filename + v14) )\n    {\n      *errno() = 22;\n      goto LABEL_68;\n    }\n    if ( v15 < 6 )\n    {\n      memset(v12, 0, v15);\n      *errno() = 34;\nLABEL_68:\n      invalid_parameter_noinfo();\n      invoke_watson(nullptr, nullptr, nullptr, 0, 0);\n    }\n    *(_DWORD *)v12 = *(_DWORD *)asc_180172F20;\n    v12[2] = 46;\n  }\n  if ( wcscat_s(Destination, SizeInWords, v12)\n    || wcscat_s(Destination, SizeInWords, asc_180172F28)\n    || wcscat_s(Destination, SizeInWords, L\"File: \") )\n  {\n    goto LABEL_66;\n  }\n  v16 = -1;\n  do\n    ++v16;\n  while ( a4[v16] );\n  if ( (unsigned __int64)(v16 + 8) <= 0x40 )\n  {\n    v23 = a4;\nLABEL_65:\n    v25 = wcscat_s(Destination, SizeInWords, v23);\n    goto LABEL_36;\n  }\n  v17 = -1;\n  do\n    ++v17;\n  while ( a4[v17] );\n  v18 = a4[v17 - 1];\n  v19 = 1;\n  if ( v18 != 92 )\n  {\n    v20 = &a4[v17 - 1];\n    do\n    {\n      if ( v18 == 47 )\n        break;\n      if ( v19 >= v17 )\n        break;\n      --v20;\n      ++v19;\n      v18 = *v20;\n    }\n    while ( *v20 != 92 );\n  }\n  v21 = v17 - v19;\n  v22 = v17 - v19 < 0x26;\n  if ( v17 - v19 > 0x26 )\n  {\n    if ( v19 < 0x12 )\n    {\n      if ( wcsncat_s(Destination, SizeInWords, a4, 53 - v19) || wcscat_s(Destination, SizeInWords, asc_180172F20) )\n        goto LABEL_66;\n      v23 = &a4[v21];\n      goto LABEL_65;\n    }\n    v22 = v21 < 0x26;\n  }\n  if ( !v22 )\n  {\n    if ( wcsncat_s(Destination, SizeInWords, a4, 0x23u)\n      || wcscat_s(Destination, SizeInWords, asc_180172F20)\n      || wcsncat_s(Destination, SizeInWords, &a4[v21], 8u)\n      || wcscat_s(Destination, SizeInWords, asc_180172F20) )\n    {\n      goto LABEL_66;\n    }\n    v23 = &a4[v17 - 7];\n    goto LABEL_65;\n  }\n  v24 = v19 >> 1;\n  if ( wcsncat_s(Destination, SizeInWords, a4, 53 - v24) || wcscat_s(Destination, SizeInWords, asc_180172F20) )\n    goto LABEL_66;\n  v25 = wcscat_s(Destination, SizeInWords, &a4[v17 - v24]);\nLABEL_36:\n  if ( v25 )\n    goto LABEL_66;\n  if ( wcscat_s(Destination, SizeInWords, asc_180172F28) )\n    goto LABEL_66;\n  if ( wcscat_s(Destination, SizeInWords, L\"Line: \") )\n    goto LABEL_66;\n  v26 = -1;\n  do\n    ++v26;\n  while ( Destination[v26] );\n  v27 = -1;\n  do\n    ++v27;\n  while ( Destination[v27] );\n  if ( itow_s(Value, &Destination[v27], SizeInWords - v26, 10)\n    || wcscat_s(Destination, SizeInWords, L\"\\n\\n\")\n    || wcscat_s(Destination, SizeInWords, L\"Expression: \") )\n  {\n    goto LABEL_66;\n  }\n  v28 = -1;\n  do\n    ++v28;\n  while ( Destination[v28] );\n  v29 = v28 + 176;\n  do\n    ++v11;\n  while ( Source[v11] );\n  v30 = Source;\n  v31 = SizeInWords;\n  v32 = Destination;\n  if ( v29 + v11 > SizeInWords )\n  {\n    if ( wcsncat_s(Destination, SizeInWords, Source, SizeInWords - v29 - 3) )\n      goto LABEL_66;\n    v30 = asc_180172F20;\n    v31 = SizeInWords;\n    v32 = Destination;\n  }\n  if ( wcscat_s(v32, v31, v30)\n    || wcscat_s(Destination, SizeInWords, L\"\\n\\n\")\n    || wcscat_s(\n         Destination,\n         SizeInWords,\n         L\"For information on how your program can cause an assertion\\n\"\n          \"failure, see the Visual C++ documentation on asserts\")\n    || wcscat_s(Destination, SizeInWords, L\"\\n\\n\")\n    || (result = wcscat_s(Destination, SizeInWords, L\"(Press Retry to debug the application - JIT must be enabled)\")) != 0 )\n  {\nLABEL_66:\n    invoke_watson(nullptr, nullptr, nullptr, 0, 0);\n  }\n  return result;\n}", "assembly": "; \n; common_assert_to_message_box_build_string<wchar_t> from 0x180130ed4 to 0x1801313d8 (1284 bytes)\n; \n; 3 xrefs:\n; > common_assert_to_message_box<wchar_t> @ 0x180130e68\n; > <???> @ 0x180202eac\n; > <???> @ 0x180202eb8\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\npush    rbx                                                            ; +0x0, 0x180130ed4\npush    rbp                                                            ; +0x2, 0x180130ed6\npush    rsi                                                            ; +0x3, 0x180130ed7\npush    rdi                                                            ; +0x4, 0x180130ed8\npush    r12                                                            ; +0x5, 0x180130ed9\npush    r13                                                            ; +0x7, 0x180130edb\npush    r14                                                            ; +0x9, 0x180130edd\npush    r15                                                            ; +0xb, 0x180130edf\nsub     rsp, 268h                                                      ; +0xd, 0x180130ee1\nmov     rax, cs:__security_cookie                                      ; +0x14, 0x180130ee8\nxor     rax, rsp                                                       ; +0x1b, 0x180130eef\nmov     [rsp+2A8h+var_58], rax                                         ; +0x1e, 0x180130ef2\nmov     rbp, [rsp+2A8h+lpModuleName]                                   ; +0x26, 0x180130efa\nmov     r13, r8                                                        ; +0x2e, 0x180130f02\nlea     r8, aAssertionFaile                                            ; +0x31, 0x180130f05\nmov     r15, r9                                                        ; +0x38, 0x180130f0c\nmov     rdi, rdx                                                       ; +0x3b, 0x180130f0f\nmov     rbx, rcx                                                       ; +0x3e, 0x180130f12\ncall    wcscpy_s                                                       ; +0x41, 0x180130f15\nxor     r14d, r14d                                                     ; +0x46, 0x180130f1a\ntest    eax, eax                                                       ; +0x49, 0x180130f1d\njnz     loc_180131394                                                  ; +0x4b, 0x180130f1f\nlea     r8, asc_180172F2C                                              ; +0x51, 0x180130f25\nmov     rdx, rdi; SizeInWords                                          ; +0x58, 0x180130f2c\nmov     rcx, rbx; Destination                                          ; +0x5b, 0x180130f2f\ncall    wcscat_s                                                       ; +0x5e, 0x180130f32\ntest    eax, eax                                                       ; +0x63, 0x180130f37\njnz     loc_180131394                                                  ; +0x65, 0x180130f39\nlea     r8, aProgram                                                   ; +0x6b, 0x180130f3f\nmov     rdx, rdi; SizeInWords                                          ; +0x72, 0x180130f46\nmov     rcx, rbx; Destination                                          ; +0x75, 0x180130f49\ncall    wcscat_s                                                       ; +0x78, 0x180130f4c\ntest    eax, eax                                                       ; +0x7d, 0x180130f51\njnz     loc_180131394                                                  ; +0x7f, 0x180130f53\nmov     esi, 20Ah                                                      ; +0x85, 0x180130f59\nlea     rcx, [rsp+2A8h+Filename]; void *                               ; +0x8a, 0x180130f5e\nmov     r8d, esi; Size                                                 ; +0x8f, 0x180130f63\nxor     edx, edx; Val                                                  ; +0x92, 0x180130f66\ncall    memset                                                         ; +0x94, 0x180130f68\nlea     r8, [rsp+2A8h+phModule]; phModule                              ; +0x99, 0x180130f6d\nmov     [rsp+2A8h+phModule], r14                                       ; +0x9e, 0x180130f72\nmov     rdx, rbp; lpModuleName                                         ; +0xa3, 0x180130f77\nlea     ecx, [r14+6]; dwFlags                                          ; +0xa6, 0x180130f7a\ncall    cs:GetModuleHandleExW                                          ; +0xaa, 0x180130f7e\nmov     ebp, 105h                                                      ; +0xb0, 0x180130f84\nlea     rdx, [rsp+2A8h+Filename]; lpFilename                           ; +0xb5, 0x180130f89\nneg     eax                                                            ; +0xba, 0x180130f8e\nmov     r8d, ebp; nSize                                                ; +0xbc, 0x180130f90\nsbb     rcx, rcx                                                       ; +0xbf, 0x180130f93\nand     rcx, [rsp+2A8h+phModule]; hModule                              ; +0xc2, 0x180130f96\nmov     [rsp+2A8h+phModule], rcx                                       ; +0xc7, 0x180130f9b\ncall    cs:GetModuleFileNameW                                          ; +0xcc, 0x180130fa0\ntest    eax, eax                                                       ; +0xd2, 0x180130fa6\njnz     short loc_180130FC5                                            ; +0xd4, 0x180130fa8\nlea     r8, aProgramNameUnk                                            ; +0xd6, 0x180130faa\nmov     edx, ebp; SizeInWords                                          ; +0xdd, 0x180130fb1\nlea     rcx, [rsp+2A8h+Filename]; Destination                          ; +0xdf, 0x180130fb3\ncall    wcscpy_s                                                       ; +0xe4, 0x180130fb8\ntest    eax, eax                                                       ; +0xe9, 0x180130fbd\njnz     loc_180131394                                                  ; +0xeb, 0x180130fbf\nor      rbp, 0FFFFFFFFFFFFFFFFh                                        ; +0xf1, 0x180130fc5\nlea     rcx, [rsp+2A8h+Filename]                                       ; +0xf5, 0x180130fc9\nmov     rdx, rbp                                                       ; +0xfa, 0x180130fce\nlea     rax, [rsp+2A8h+Filename]                                       ; +0xfd, 0x180130fd1\ninc     rdx                                                            ; +0x102, 0x180130fd6\ncmp     [rax+rdx*2], r14w                                              ; +0x105, 0x180130fd9\njnz     short loc_180130FD6                                            ; +0x10a, 0x180130fde\nlea     rax, [rdx+0Bh]                                                 ; +0x10c, 0x180130fe0\ncmp     rax, 40h ; '@'                                                 ; +0x110, 0x180130fe4\njbe     short loc_18013102C                                            ; +0x114, 0x180130fe8\nlea     rax, ds:0FFFFFFFFFFFFFF96h[rdx*2]                              ; +0x116, 0x180130fea\nsub     rsi, rax                                                       ; +0x11e, 0x180130ff2\nlea     rcx, [rsp+2A8h+Filename]                                       ; +0x121, 0x180130ff5\nadd     rcx, rax; void *                                               ; +0x126, 0x180130ffa\njnz     short loc_18013100F                                            ; +0x129, 0x180130ffd\ncall    _errno                                                         ; +0x12b, 0x180130fff\nmov     dword ptr [rax], 16h                                           ; +0x130, 0x180131004\njmp     loc_1801313BE                                                  ; +0x136, 0x18013100a\ncmp     rsi, 6                                                         ; +0x13b, 0x18013100f\njb      loc_1801313A9                                                  ; +0x13f, 0x180131013\nmov     eax, dword ptr cs:asc_180172F20                                ; +0x145, 0x180131019\nmov     [rcx], eax                                                     ; +0x14b, 0x18013101f\nmovzx   eax, cs:word_180172F24                                         ; +0x14d, 0x180131021\nmov     [rcx+4], ax                                                    ; +0x154, 0x180131028\nmov     r8, rcx; Source                                                ; +0x158, 0x18013102c\nmov     rdx, rdi; SizeInWords                                          ; +0x15b, 0x18013102f\nmov     rcx, rbx; Destination                                          ; +0x15e, 0x180131032\ncall    wcscat_s                                                       ; +0x161, 0x180131035\ntest    eax, eax                                                       ; +0x166, 0x18013103a\njnz     loc_180131394                                                  ; +0x168, 0x18013103c\nlea     r8, asc_180172F28; Source                                      ; +0x16e, 0x180131042\nmov     rdx, rdi; SizeInWords                                          ; +0x175, 0x180131049\nmov     rcx, rbx; Destination                                          ; +0x178, 0x18013104c\ncall    wcscat_s                                                       ; +0x17b, 0x18013104f\ntest    eax, eax                                                       ; +0x180, 0x180131054\njnz     loc_180131394                                                  ; +0x182, 0x180131056\nlea     r8, aFile_2                                                    ; +0x188, 0x18013105c\nmov     rdx, rdi; SizeInWords                                          ; +0x18f, 0x180131063\nmov     rcx, rbx; Destination                                          ; +0x192, 0x180131066\ncall    wcscat_s                                                       ; +0x195, 0x180131069\ntest    eax, eax                                                       ; +0x19a, 0x18013106e\njnz     loc_180131394                                                  ; +0x19c, 0x180131070\nmov     rax, rbp                                                       ; +0x1a2, 0x180131076\ninc     rax                                                            ; +0x1a5, 0x180131079\ncmp     [r15+rax*2], r14w                                              ; +0x1a8, 0x18013107c\njnz     short loc_180131079                                            ; +0x1ad, 0x180131081\nadd     rax, 8                                                         ; +0x1af, 0x180131083\ncmp     rax, 40h ; '@'                                                 ; +0x1b3, 0x180131087\njbe     loc_18013137E                                                  ; +0x1b7, 0x18013108b\nmov     rsi, rbp                                                       ; +0x1bd, 0x180131091\ninc     rsi                                                            ; +0x1c0, 0x180131094\ncmp     [r15+rsi*2], r14w                                              ; +0x1c3, 0x180131097\njnz     short loc_180131094                                            ; +0x1c8, 0x18013109c\nmovzx   eax, word ptr [r15+rsi*2-2]                                    ; +0x1ca, 0x18013109e\nmov     r14d, 1                                                        ; +0x1d0, 0x1801310a4\ncmp     ax, 5Ch ; '\\'                                                  ; +0x1d6, 0x1801310aa\njz      short loc_1801310D3                                            ; +0x1da, 0x1801310ae\nlea     rcx, [r15-2]                                                   ; +0x1dc, 0x1801310b0\nlea     rcx, [rcx+rsi*2]                                               ; +0x1e0, 0x1801310b4\ncmp     ax, 2Fh ; '/'                                                  ; +0x1e4, 0x1801310b8\njz      short loc_1801310D3                                            ; +0x1e8, 0x1801310bc\ncmp     r14, rsi                                                       ; +0x1ea, 0x1801310be\njnb     short loc_1801310D3                                            ; +0x1ed, 0x1801310c1\nsub     rcx, 2                                                         ; +0x1ef, 0x1801310c3\ninc     r14                                                            ; +0x1f3, 0x1801310c7\nmovzx   eax, word ptr [rcx]                                            ; +0x1f6, 0x1801310ca\ncmp     ax, 5Ch ; '\\'                                                  ; +0x1f9, 0x1801310cd\njnz     short loc_1801310B8                                            ; +0x1fd, 0x1801310d1\nmov     r12, rsi                                                       ; +0x1ff, 0x1801310d3\nsub     r12, r14                                                       ; +0x202, 0x1801310d6\ncmp     r12, 26h ; '&'                                                 ; +0x205, 0x1801310d9\njbe     short loc_18013112E                                            ; +0x209, 0x1801310dd\ncmp     r14, 12h                                                       ; +0x20b, 0x1801310df\njnb     short loc_18013112A                                            ; +0x20f, 0x1801310e3\nmov     r9d, 35h ; '5'                                                 ; +0x211, 0x1801310e5\nmov     r8, r15; Source                                                ; +0x217, 0x1801310eb\nsub     r9, r14; MaxCount                                              ; +0x21a, 0x1801310ee\nmov     rdx, rdi; SizeInWords                                          ; +0x21d, 0x1801310f1\nmov     rcx, rbx; Destination                                          ; +0x220, 0x1801310f4\ncall    wcsncat_s                                                      ; +0x223, 0x1801310f7\nxor     r14d, r14d                                                     ; +0x228, 0x1801310fc\ntest    eax, eax                                                       ; +0x22b, 0x1801310ff\njnz     loc_180131394                                                  ; +0x22d, 0x180131101\nlea     r8, asc_180172F20                                              ; +0x233, 0x180131107\nmov     rdx, rdi; SizeInWords                                          ; +0x23a, 0x18013110e\nmov     rcx, rbx; Destination                                          ; +0x23d, 0x180131111\ncall    wcscat_s                                                       ; +0x240, 0x180131114\ntest    eax, eax                                                       ; +0x245, 0x180131119\njnz     loc_180131394                                                  ; +0x247, 0x18013111b\nlea     r8, [r15+r12*2]                                                ; +0x24d, 0x180131121\njmp     loc_180131381                                                  ; +0x251, 0x180131125\ncmp     r12, 26h ; '&'                                                 ; +0x256, 0x18013112a\nmov     r8, r15; Source                                                ; +0x25a, 0x18013112e\nmov     rdx, rdi; SizeInWords                                          ; +0x25d, 0x180131131\nmov     rcx, rbx; Destination                                          ; +0x260, 0x180131134\njnb     loc_18013131F                                                  ; +0x263, 0x180131137\nshr     r14, 1                                                         ; +0x269, 0x18013113d\nmov     r9d, 35h ; '5'                                                 ; +0x26c, 0x180131140\nsub     r9, r14; MaxCount                                              ; +0x272, 0x180131146\ncall    wcsncat_s                                                      ; +0x275, 0x180131149\ntest    eax, eax                                                       ; +0x27a, 0x18013114e\njnz     loc_180131391                                                  ; +0x27c, 0x180131150\nlea     r8, asc_180172F20                                              ; +0x282, 0x180131156\nmov     rdx, rdi; SizeInWords                                          ; +0x289, 0x18013115d\nmov     rcx, rbx; Destination                                          ; +0x28c, 0x180131160\ncall    wcscat_s                                                       ; +0x28f, 0x180131163\ntest    eax, eax                                                       ; +0x294, 0x180131168\njnz     loc_180131391                                                  ; +0x296, 0x18013116a\nsub     rsi, r14                                                       ; +0x29c, 0x180131170\nmov     rdx, rdi; SizeInWords                                          ; +0x29f, 0x180131173\nmov     rcx, rbx; Destination                                          ; +0x2a2, 0x180131176\nlea     r8, [r15+rsi*2]; Source                                        ; +0x2a5, 0x180131179\ncall    wcscat_s                                                       ; +0x2a9, 0x18013117d\nxor     r14d, r14d                                                     ; +0x2ae, 0x180131182\ntest    eax, eax                                                       ; +0x2b1, 0x180131185\njnz     loc_180131394                                                  ; +0x2b3, 0x180131187\nlea     r8, asc_180172F28; Source                                      ; +0x2b9, 0x18013118d\nmov     rdx, rdi; SizeInWords                                          ; +0x2c0, 0x180131194\nmov     rcx, rbx; Destination                                          ; +0x2c3, 0x180131197\ncall    wcscat_s                                                       ; +0x2c6, 0x18013119a\ntest    eax, eax                                                       ; +0x2cb, 0x18013119f\njnz     loc_180131394                                                  ; +0x2cd, 0x1801311a1\nlea     r8, aLine                                                      ; +0x2d3, 0x1801311a7\nmov     rdx, rdi; SizeInWords                                          ; +0x2da, 0x1801311ae\nmov     rcx, rbx; Destination                                          ; +0x2dd, 0x1801311b1\ncall    wcscat_s                                                       ; +0x2e0, 0x1801311b4\ntest    eax, eax                                                       ; +0x2e5, 0x1801311b9\njnz     loc_180131394                                                  ; +0x2e7, 0x1801311bb\nmov     rax, rbp                                                       ; +0x2ed, 0x1801311c1\ninc     rax                                                            ; +0x2f0, 0x1801311c4\ncmp     [rbx+rax*2], r14w                                              ; +0x2f3, 0x1801311c7\njnz     short loc_1801311C4                                            ; +0x2f8, 0x1801311cc\nmov     rcx, rbp                                                       ; +0x2fa, 0x1801311ce\ninc     rcx                                                            ; +0x2fd, 0x1801311d1\ncmp     [rbx+rcx*2], r14w                                              ; +0x300, 0x1801311d4\njnz     short loc_1801311D1                                            ; +0x305, 0x1801311d9\nlea     rdx, [rbx+rcx*2]; Buffer                                       ; +0x307, 0x1801311db\nmov     r8, rdi                                                        ; +0x30b, 0x1801311df\nmov     ecx, [rsp+2A8h+Value]; Value                                   ; +0x30e, 0x1801311e2\nsub     r8, rax; BufferCount                                           ; +0x315, 0x1801311e9\nmov     r9d, 0Ah; Radix                                                ; +0x318, 0x1801311ec\ncall    _itow_s                                                        ; +0x31e, 0x1801311f2\ntest    eax, eax                                                       ; +0x323, 0x1801311f7\njnz     loc_180131394                                                  ; +0x325, 0x1801311f9\nlea     r8, asc_180172F2C                                              ; +0x32b, 0x1801311ff\nmov     rdx, rdi; SizeInWords                                          ; +0x332, 0x180131206\nmov     rcx, rbx; Destination                                          ; +0x335, 0x180131209\ncall    wcscat_s                                                       ; +0x338, 0x18013120c\ntest    eax, eax                                                       ; +0x33d, 0x180131211\njnz     loc_180131394                                                  ; +0x33f, 0x180131213\nlea     r8, aExpression                                                ; +0x345, 0x180131219\nmov     rdx, rdi; SizeInWords                                          ; +0x34c, 0x180131220\nmov     rcx, rbx; Destination                                          ; +0x34f, 0x180131223\ncall    wcscat_s                                                       ; +0x352, 0x180131226\ntest    eax, eax                                                       ; +0x357, 0x18013122b\njnz     loc_180131394                                                  ; +0x359, 0x18013122d\nmov     rax, rbp                                                       ; +0x35f, 0x180131233\ninc     rax                                                            ; +0x362, 0x180131236\ncmp     [rbx+rax*2], r14w                                              ; +0x365, 0x180131239\njnz     short loc_180131236                                            ; +0x36a, 0x18013123e\nadd     rax, 0B0h                                                      ; +0x36c, 0x180131240\ninc     rbp                                                            ; +0x372, 0x180131246\ncmp     [r13+rbp*2+0], r14w                                            ; +0x375, 0x180131249\njnz     short loc_180131246                                            ; +0x37b, 0x18013124f\nadd     rbp, rax                                                       ; +0x37d, 0x180131251\nmov     r8, r13; Source                                                ; +0x380, 0x180131254\nmov     rdx, rdi; SizeInWords                                          ; +0x383, 0x180131257\nmov     rcx, rbx; Destination                                          ; +0x386, 0x18013125a\ncmp     rbp, rdi                                                       ; +0x389, 0x18013125d\njbe     short loc_180131286                                            ; +0x38c, 0x180131260\nmov     r9, rdi                                                        ; +0x38e, 0x180131262\nsub     r9, rax                                                        ; +0x391, 0x180131265\nsub     r9, 3; MaxCount                                                ; +0x394, 0x180131268\ncall    wcsncat_s                                                      ; +0x398, 0x18013126c\ntest    eax, eax                                                       ; +0x39d, 0x180131271\njnz     loc_180131394                                                  ; +0x39f, 0x180131273\nlea     r8, asc_180172F20                                              ; +0x3a5, 0x180131279\nmov     rdx, rdi; SizeInWords                                          ; +0x3ac, 0x180131280\nmov     rcx, rbx; Destination                                          ; +0x3af, 0x180131283\ncall    wcscat_s                                                       ; +0x3b2, 0x180131286\ntest    eax, eax                                                       ; +0x3b7, 0x18013128b\njnz     loc_180131394                                                  ; +0x3b9, 0x18013128d\nlea     r8, asc_180172F2C                                              ; +0x3bf, 0x180131293\nmov     rdx, rdi; SizeInWords                                          ; +0x3c6, 0x18013129a\nmov     rcx, rbx; Destination                                          ; +0x3c9, 0x18013129d\ncall    wcscat_s                                                       ; +0x3cc, 0x1801312a0\ntest    eax, eax                                                       ; +0x3d1, 0x1801312a5\njnz     loc_180131394                                                  ; +0x3d3, 0x1801312a7\nlea     r8, aForInformation                                            ; +0x3d9, 0x1801312ad\nmov     rdx, rdi; SizeInWords                                          ; +0x3e0, 0x1801312b4\nmov     rcx, rbx; Destination                                          ; +0x3e3, 0x1801312b7\ncall    wcscat_s                                                       ; +0x3e6, 0x1801312ba\ntest    eax, eax                                                       ; +0x3eb, 0x1801312bf\njnz     loc_180131394                                                  ; +0x3ed, 0x1801312c1\nlea     r8, asc_180172F2C                                              ; +0x3f3, 0x1801312c7\nmov     rdx, rdi; SizeInWords                                          ; +0x3fa, 0x1801312ce\nmov     rcx, rbx; Destination                                          ; +0x3fd, 0x1801312d1\ncall    wcscat_s                                                       ; +0x400, 0x1801312d4\ntest    eax, eax                                                       ; +0x405, 0x1801312d9\njnz     loc_180131394                                                  ; +0x407, 0x1801312db\nlea     r8, aPressRetryToDe                                            ; +0x40d, 0x1801312e1\nmov     rdx, rdi; SizeInWords                                          ; +0x414, 0x1801312e8\nmov     rcx, rbx; Destination                                          ; +0x417, 0x1801312eb\ncall    wcscat_s                                                       ; +0x41a, 0x1801312ee\ntest    eax, eax                                                       ; +0x41f, 0x1801312f3\njnz     loc_180131394                                                  ; +0x421, 0x1801312f5\nmov     rcx, [rsp+2A8h+var_58]                                         ; +0x427, 0x1801312fb\nxor     rcx, rsp; StackCookie                                          ; +0x42f, 0x180131303\ncall    __security_check_cookie                                        ; +0x432, 0x180131306\nadd     rsp, 268h                                                      ; +0x437, 0x18013130b\npop     r15                                                            ; +0x43e, 0x180131312\npop     r14                                                            ; +0x440, 0x180131314\npop     r13                                                            ; +0x442, 0x180131316\npop     r12                                                            ; +0x444, 0x180131318\npop     rdi                                                            ; +0x446, 0x18013131a\npop     rsi                                                            ; +0x447, 0x18013131b\npop     rbp                                                            ; +0x448, 0x18013131c\npop     rbx                                                            ; +0x449, 0x18013131d\nretn                                                                   ; +0x44a, 0x18013131e\nmov     r9d, 23h ; '#'; MaxCount                                       ; +0x44b, 0x18013131f\ncall    wcsncat_s                                                      ; +0x451, 0x180131325\nxor     r14d, r14d                                                     ; +0x456, 0x18013132a\ntest    eax, eax                                                       ; +0x459, 0x18013132d\njnz     short loc_180131394                                            ; +0x45b, 0x18013132f\nlea     r8, asc_180172F20                                              ; +0x45d, 0x180131331\nmov     rdx, rdi; SizeInWords                                          ; +0x464, 0x180131338\nmov     rcx, rbx; Destination                                          ; +0x467, 0x18013133b\ncall    wcscat_s                                                       ; +0x46a, 0x18013133e\ntest    eax, eax                                                       ; +0x46f, 0x180131343\njnz     short loc_180131394                                            ; +0x471, 0x180131345\nlea     r8, [r15+r12*2]; Source                                        ; +0x473, 0x180131347\nmov     rdx, rdi; SizeInWords                                          ; +0x477, 0x18013134b\nlea     r9d, [r14+8]; MaxCount                                         ; +0x47a, 0x18013134e\nmov     rcx, rbx; Destination                                          ; +0x47e, 0x180131352\ncall    wcsncat_s                                                      ; +0x481, 0x180131355\ntest    eax, eax                                                       ; +0x486, 0x18013135a\njnz     short loc_180131394                                            ; +0x488, 0x18013135c\nlea     r8, asc_180172F20                                              ; +0x48a, 0x18013135e\nmov     rdx, rdi; SizeInWords                                          ; +0x491, 0x180131365\nmov     rcx, rbx; Destination                                          ; +0x494, 0x180131368\ncall    wcscat_s                                                       ; +0x497, 0x18013136b\ntest    eax, eax                                                       ; +0x49c, 0x180131370\njnz     short loc_180131394                                            ; +0x49e, 0x180131372\nlea     r8, [r15-0Eh]                                                  ; +0x4a0, 0x180131374\nlea     r8, [r8+rsi*2]                                                 ; +0x4a4, 0x180131378\njmp     short loc_180131381                                            ; +0x4a8, 0x18013137c\nmov     r8, r15; Source                                                ; +0x4aa, 0x18013137e\nmov     rdx, rdi; SizeInWords                                          ; +0x4ad, 0x180131381\nmov     rcx, rbx; Destination                                          ; +0x4b0, 0x180131384\ncall    wcscat_s                                                       ; +0x4b3, 0x180131387\njmp     loc_180131185                                                  ; +0x4b8, 0x18013138c\nxor     r14d, r14d                                                     ; +0x4bd, 0x180131391\nxor     r9d, r9d; LineNo                                               ; +0x4c0, 0x180131394\nmov     [rsp+2A8h+Reserved], r14; Reserved                             ; +0x4c3, 0x180131397\nxor     r8d, r8d; FileName                                             ; +0x4c8, 0x18013139c\nxor     edx, edx; FunctionName                                         ; +0x4cb, 0x18013139f\nxor     ecx, ecx; Expression                                           ; +0x4cd, 0x1801313a1\ncall    _invoke_watson                                                 ; +0x4cf, 0x1801313a3\ndb 0CCh                                                                ; +0x4d4, 0x1801313a8\nmov     r8, rsi; Size                                                  ; +0x4d5, 0x1801313a9\nxor     edx, edx; Val                                                  ; +0x4d8, 0x1801313ac\ncall    memset                                                         ; +0x4da, 0x1801313ae\ncall    _errno                                                         ; +0x4df, 0x1801313b3\nmov     dword ptr [rax], 22h ; '\"'                                     ; +0x4e4, 0x1801313b8\ncall    _invalid_parameter_noinfo                                      ; +0x4ea, 0x1801313be\nxor     r9d, r9d; LineNo                                               ; +0x4ef, 0x1801313c3\nmov     [rsp+2A8h+Reserved], r14; Reserved                             ; +0x4f2, 0x1801313c6\nxor     r8d, r8d; FileName                                             ; +0x4f7, 0x1801313cb\nxor     edx, edx; FunctionName                                         ; +0x4fa, 0x1801313ce\nxor     ecx, ecx; Expression                                           ; +0x4fc, 0x1801313d0\ncall    _invoke_watson                                                 ; +0x4fe, 0x1801313d2\nalign 8                                                                ; +0x503, 0x1801313d7", "xrefs": ["common_assert_to_message_box<wchar_t> @ 0x180130e68", "<???> @ 0x180202eac", "<???> @ 0x180202eb8"], "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"}