{"type": "func", "start": 6443676816, "end": 6443677675, "name": "_wcstombs_l_helper", "pseudocode": "// \n// _wcstombs_l_helper from 0x18012b490 to 0x18012b7eb (859 bytes)\n// \n// 2 xrefs:\n// > wcstombs @ 0x18012b7ef\n// > <???> @ 0x180202b1c\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// Hidden C++ exception states: #wind=1\nunsigned __int64 __fastcall _wcstombs_l_helper(\n        __crt_mbstring *this,\n        const wchar_t *a2,\n        const wchar_t **a3,\n        struct __crt_locale_pointers *a4)\n{\n  const wchar_t **v4; // rsi\n  __int64 v6; // rbx\n  int v8; // r10d\n  unsigned __int16 *v9; // rcx\n  __int16 v10; // ax\n  int *v11; // rax\n  unsigned __int16 *v12; // rax\n  const wchar_t **v13; // rcx\n  int v14; // eax\n  int v15; // eax\n  unsigned __int64 v16; // rdi\n  int v17; // edx\n  int v18; // eax\n  int v19; // eax\n  __int64 v20; // rdx\n  __int64 v21; // rcx\n  char v22; // al\n  unsigned __int16 *v23; // rcx\n  unsigned __int16 v24; // ax\n  int v25; // eax\n  struct _Mbstatet *v26; // [rsp+20h] [rbp-49h]\n  int v27; // [rsp+40h] [rbp-29h] BYREF\n  char v28[8]; // [rsp+48h] [rbp-21h] BYREF\n  unsigned __int64 v29; // [rsp+50h] [rbp-19h] BYREF\n  __int64 v30; // [rsp+58h] [rbp-11h] BYREF\n  __int64 v31; // [rsp+60h] [rbp-9h]\n  char v32; // [rsp+70h] [rbp+7h]\n  __int64 v33; // [rsp+78h] [rbp+Fh]\n  _BYTE v34[8]; // [rsp+80h] [rbp+17h] BYREF\n\n  v33 = -2;\n  v4 = a3;\n  *(_QWORD *)v28 = a2;\n  v6 = 0;\n  v27 = 0;\n  if ( this && !a3 )\n    return 0;\n  if ( !a2 )\n  {\n    *errno() = 22;\n    invalid_parameter_noinfo();\n    return -1;\n  }\n  _LocaleUpdate::_LocaleUpdate((_LocaleUpdate *)&v30, a4);\n  v8 = *(_DWORD *)(v31 + 12);\n  if ( v8 == 65001 )\n  {\n    v29 = 0;\n    v6 = __crt_mbstring::__wcsrtombs_utf8(this, v28, v4, (unsigned __int64)&v29, v26);\nLABEL_59:\n    v16 = v6;\n    goto LABEL_60;\n  }\n  if ( !this )\n  {\n    if ( !*(_QWORD *)(v31 + 312) )\n    {\n      v16 = 0;\n      v23 = *(unsigned __int16 **)v28;\n      v24 = **(_WORD **)v28;\n      if ( **(_WORD **)v28 )\n      {\n        while ( v24 <= 0xFFu )\n        {\n          ++v16;\n          v24 = *++v23;\n          if ( !*v23 )\n            goto LABEL_60;\n        }\n        *errno() = 42;\n        v16 = -1;\n      }\n      goto LABEL_60;\n    }\n    v6 = -1;\n    v25 = _acrt_WideCharToMultiByte(v8, 0, *(_DWORD *)v28, -1, 0, 0, 0, (__int64)&v27);\n    if ( v25 && !v27 )\n    {\n      v16 = v25 - 1LL;\n      goto LABEL_60;\n    }\nLABEL_57:\n    v11 = errno();\n    goto LABEL_58;\n  }\n  if ( !*(_QWORD *)(v31 + 312) )\n  {\n    if ( !v4 )\n      goto LABEL_59;\n    v9 = *(unsigned __int16 **)v28;\n    while ( *v9 <= 0xFFu )\n    {\n      *((_BYTE *)this + v6) = *(_BYTE *)v9;\n      v10 = *v9++;\n      *(_QWORD *)v28 = v9;\n      if ( v10 )\n      {\n        if ( ++v6 < (unsigned __int64)v4 )\n          continue;\n      }\n      goto LABEL_59;\n    }\n    goto LABEL_16;\n  }\n  if ( *(_DWORD *)(v31 + 8) == 1 )\n  {\n    if ( v4 )\n    {\n      v12 = *(unsigned __int16 **)v28;\n      v13 = v4;\n      do\n      {\n        if ( !*v12 )\n          break;\n        ++v12;\n        v13 = (const wchar_t **)((char *)v13 - 1);\n      }\n      while ( v13 );\n      if ( v13 && !*v12 )\n        LODWORD(v4) = (((__int64)v12 - *(_QWORD *)v28) >> 1) + 1;\n    }\n    v14 = _acrt_WideCharToMultiByte(v8, 0, *(_DWORD *)v28, (_DWORD)v4, (_DWORD)this, (_DWORD)v4, 0, (__int64)&v27);\n    if ( v14 && !v27 )\n    {\n      v6 = v14 - 1LL;\n      if ( *((_BYTE *)this + v14 - 1) )\n        v6 = v14;\n      goto LABEL_59;\n    }\nLABEL_16:\n    v11 = errno();\n    v6 = -1;\nLABEL_58:\n    *v11 = 42;\n    goto LABEL_59;\n  }\n  v6 = -1;\n  v15 = _acrt_WideCharToMultiByte(v8, 0, *(_DWORD *)v28, -1, (_DWORD)this, (_DWORD)v4, 0, (__int64)&v27);\n  v16 = v15;\n  if ( v27 )\n    goto LABEL_57;\n  if ( v15 )\n  {\n    v6 = v15 - 1LL;\n    goto LABEL_59;\n  }\n  if ( GetLastError() != 122 )\n    goto LABEL_57;\n  if ( v4 )\n  {\n    v17 = *(_DWORD *)v28;\nLABEL_36:\n    v18 = *(_DWORD *)(v31 + 8);\n    if ( v18 > 5 )\n      v18 = 5;\n    v19 = _acrt_WideCharToMultiByte(*(_DWORD *)(v31 + 12), 0, v17, 1, (unsigned int)v34, v18, 0, (__int64)&v27);\n    if ( v19 )\n    {\n      if ( !v27 && v19 >= 0 )\n      {\n        v20 = v19;\n        if ( (unsigned __int64)v19 <= 5 )\n        {\n          if ( v19 + v16 <= (unsigned __int64)v4 )\n          {\n            v21 = 0;\n            while ( 1 )\n            {\n              v22 = v34[v21];\n              *((_BYTE *)this + v16) = v22;\n              if ( !v22 )\n                break;\n              ++v21;\n              ++v16;\n              if ( v21 >= v20 )\n              {\n                v17 = *(_DWORD *)v28 + 2;\n                *(_QWORD *)v28 += 2LL;\n                if ( v16 >= (unsigned __int64)v4 )\n                  goto LABEL_60;\n                goto LABEL_36;\n              }\n            }\n          }\n          goto LABEL_60;\n        }\n      }\n    }\n    goto LABEL_57;\n  }\nLABEL_60:\n  if ( v32 )\n    *(_DWORD *)(v30 + 936) &= ~2u;\n  return v16;\n}", "assembly": "; \n; _wcstombs_l_helper from 0x18012b490 to 0x18012b7eb (859 bytes)\n; \n; 2 xrefs:\n; > wcstombs @ 0x18012b7ef\n; > <???> @ 0x180202b1c\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    rbp                                                            ; +0x0, 0x18012b490\npush    rbx                                                            ; +0x2, 0x18012b492\npush    rsi                                                            ; +0x3, 0x18012b493\npush    rdi                                                            ; +0x4, 0x18012b494\npush    r12                                                            ; +0x5, 0x18012b495\npush    r14                                                            ; +0x7, 0x18012b497\npush    r15                                                            ; +0x9, 0x18012b499\nlea     rbp, [rsp-27h]                                                 ; +0xb, 0x18012b49b\nsub     rsp, 90h                                                       ; +0x10, 0x18012b4a0\nmov     [rbp+57h+var_48], 0FFFFFFFFFFFFFFFEh                           ; +0x17, 0x18012b4a7\nmov     rax, cs:__security_cookie                                      ; +0x1f, 0x18012b4af\nxor     rax, rsp                                                       ; +0x26, 0x18012b4b6\nmov     [rbp+57h+var_38], rax                                          ; +0x29, 0x18012b4b9\nmov     rsi, r8                                                        ; +0x2d, 0x18012b4bd\nmov     r14, rcx                                                       ; +0x30, 0x18012b4c0\nmov     qword ptr [rbp+57h+var_78], rdx                                ; +0x33, 0x18012b4c3\nxor     r15d, r15d                                                     ; +0x37, 0x18012b4c7\nmov     ebx, r15d                                                      ; +0x3a, 0x18012b4ca\nmov     [rbp+57h+var_80], r15d                                         ; +0x3d, 0x18012b4cd\ntest    rcx, rcx                                                       ; +0x41, 0x18012b4d1\njz      short loc_18012B4E2                                            ; +0x44, 0x18012b4d4\ntest    r8, r8                                                         ; +0x46, 0x18012b4d6\njnz     short loc_18012B4E2                                            ; +0x49, 0x18012b4d9\nxor     eax, eax                                                       ; +0x4b, 0x18012b4db\njmp     loc_18012B7CD                                                  ; +0x4d, 0x18012b4dd\ntest    rdx, rdx                                                       ; +0x52, 0x18012b4e2\njnz     short loc_18012B500                                            ; +0x55, 0x18012b4e5\ncall    _errno                                                         ; +0x57, 0x18012b4e7\nmov     dword ptr [rax], 16h                                           ; +0x5c, 0x18012b4ec\ncall    _invalid_parameter_noinfo                                      ; +0x62, 0x18012b4f2\nor      rax, 0FFFFFFFFFFFFFFFFh                                        ; +0x67, 0x18012b4f7\njmp     loc_18012B7CD                                                  ; +0x6b, 0x18012b4fb\nmov     rdx, r9; struct __crt_locale_pointers *                        ; +0x70, 0x18012b500\nlea     rcx, [rbp+57h+var_68]; this                                    ; +0x73, 0x18012b503\ncall    ??0_LocaleUpdate@@QEAA@QEAU__crt_locale_pointers@@@Z           ; +0x77, 0x18012b507\nnop                                                                    ; +0x7c, 0x18012b50c\nmov     rax, [rbp+57h+var_60]                                          ; +0x7d, 0x18012b50d\nmov     r10d, [rax+0Ch]                                                ; +0x81, 0x18012b511\ncmp     r10d, 0FDE9h                                                   ; +0x85, 0x18012b515\njnz     short loc_18012B53D                                            ; +0x8c, 0x18012b51c\nmov     [rbp+57h+var_70], r15                                          ; +0x8e, 0x18012b51e\nlea     r9, [rbp+57h+var_70]; unsigned __int64                         ; +0x92, 0x18012b522\nmov     r8, rsi; wchar_t **                                            ; +0x96, 0x18012b526\nlea     rdx, [rbp+57h+var_78]; char *                                  ; +0x99, 0x18012b529\nmov     rcx, r14; this                                                 ; +0x9d, 0x18012b52d\ncall    ?__wcsrtombs_utf8@__crt_mbstring@@YA_KPEADPEAPEB_W_KPEAU_Mbstatet@@@Z ; +0xa0, 0x18012b530\nmov     rbx, rax                                                       ; +0xa5, 0x18012b535\njmp     loc_18012B7B6                                                  ; +0xa8, 0x18012b538\ntest    r14, r14                                                       ; +0xad, 0x18012b53d\njz      loc_18012B728                                                  ; +0xb0, 0x18012b540\ncmp     [rax+138h], r15                                                ; +0xb6, 0x18012b546\njnz     short loc_18012B59B                                            ; +0xbd, 0x18012b54d\ntest    rsi, rsi                                                       ; +0xbf, 0x18012b54f\njz      loc_18012B7B6                                                  ; +0xc2, 0x18012b552\nmov     edx, 0FFh                                                      ; +0xc8, 0x18012b558\nmov     rcx, qword ptr [rbp+57h+var_78]                                ; +0xcd, 0x18012b55d\ncmp     [rcx], dx                                                      ; +0xd1, 0x18012b561\nja      short loc_18012B58D                                            ; +0xd4, 0x18012b564\nmov     al, [rcx]                                                      ; +0xd6, 0x18012b566\nmov     [r14+rbx], al                                                  ; +0xd8, 0x18012b568\nmovzx   eax, word ptr [rcx]                                            ; +0xdc, 0x18012b56c\nadd     rcx, 2                                                         ; +0xdf, 0x18012b56f\nmov     qword ptr [rbp+57h+var_78], rcx                                ; +0xe3, 0x18012b573\ntest    ax, ax                                                         ; +0xe7, 0x18012b577\njz      loc_18012B7B6                                                  ; +0xea, 0x18012b57a\ninc     rbx                                                            ; +0xf0, 0x18012b580\ncmp     rbx, rsi                                                       ; +0xf3, 0x18012b583\njb      short loc_18012B561                                            ; +0xf6, 0x18012b586\njmp     loc_18012B7B6                                                  ; +0xf8, 0x18012b588\ncall    _errno                                                         ; +0xfd, 0x18012b58d\nor      rbx, 0FFFFFFFFFFFFFFFFh                                        ; +0x102, 0x18012b592\njmp     loc_18012B7B0                                                  ; +0x106, 0x18012b596\nmov     r8, qword ptr [rbp+57h+var_78]                                 ; +0x10b, 0x18012b59b\ncmp     dword ptr [rax+8], 1                                           ; +0x10f, 0x18012b59f\njnz     short loc_18012B61A                                            ; +0x113, 0x18012b5a3\ntest    rsi, rsi                                                       ; +0x115, 0x18012b5a5\njz      short loc_18012B5D7                                            ; +0x118, 0x18012b5a8\nmov     rax, r8                                                        ; +0x11a, 0x18012b5aa\nmov     rcx, rsi                                                       ; +0x11d, 0x18012b5ad\ncmp     [rax], r15w                                                    ; +0x120, 0x18012b5b0\njz      short loc_18012B5C0                                            ; +0x124, 0x18012b5b4\nadd     rax, 2                                                         ; +0x126, 0x18012b5b6\nsub     rcx, 1                                                         ; +0x12a, 0x18012b5ba\njnz     short loc_18012B5B0                                            ; +0x12e, 0x18012b5be\ntest    rcx, rcx                                                       ; +0x130, 0x18012b5c0\njz      short loc_18012B5D7                                            ; +0x133, 0x18012b5c3\ncmp     [rax], r15w                                                    ; +0x135, 0x18012b5c5\njnz     short loc_18012B5D7                                            ; +0x139, 0x18012b5c9\nmov     rsi, rax                                                       ; +0x13b, 0x18012b5cb\nsub     rsi, r8                                                        ; +0x13e, 0x18012b5ce\nsar     rsi, 1                                                         ; +0x141, 0x18012b5d1\ninc     rsi                                                            ; +0x144, 0x18012b5d4\nlea     rax, [rbp+57h+var_80]                                          ; +0x147, 0x18012b5d7\nmov     [rsp+0C0h+var_88], rax                                         ; +0x14b, 0x18012b5db\nmov     [rsp+0C0h+var_90], r15                                         ; +0x150, 0x18012b5e0\nmov     [rsp+0C0h+var_98], esi                                         ; +0x155, 0x18012b5e5\nmov     [rsp+0C0h+var_A0], r14                                         ; +0x159, 0x18012b5e9\nmov     r9d, esi                                                       ; +0x15e, 0x18012b5ee\nxor     edx, edx                                                       ; +0x161, 0x18012b5f1\nmov     ecx, r10d                                                      ; +0x163, 0x18012b5f3\ncall    __acrt_WideCharToMultiByte                                     ; +0x166, 0x18012b5f6\nmovsxd  rcx, eax                                                       ; +0x16b, 0x18012b5fb\ntest    eax, eax                                                       ; +0x16e, 0x18012b5fe\njz      short loc_18012B58D                                            ; +0x170, 0x18012b600\ncmp     [rbp+57h+var_80], r15d                                         ; +0x172, 0x18012b602\njnz     short loc_18012B58D                                            ; +0x176, 0x18012b606\nlea     rbx, [rcx-1]                                                   ; +0x178, 0x18012b608\ncmp     [r14+rcx-1], r15b                                              ; +0x17c, 0x18012b60c\ncmovnz  rbx, rcx                                                       ; +0x181, 0x18012b611\njmp     loc_18012B7B6                                                  ; +0x185, 0x18012b615\nlea     rax, [rbp+57h+var_80]                                          ; +0x18a, 0x18012b61a\nmov     [rsp+0C0h+var_88], rax                                         ; +0x18e, 0x18012b61e\nmov     [rsp+0C0h+var_90], r15                                         ; +0x193, 0x18012b623\nmov     [rsp+0C0h+var_98], esi                                         ; +0x198, 0x18012b628\nmov     [rsp+0C0h+var_A0], r14                                         ; +0x19c, 0x18012b62c\nor      rbx, 0FFFFFFFFFFFFFFFFh                                        ; +0x1a1, 0x18012b631\nmov     r9d, ebx                                                       ; +0x1a5, 0x18012b635\nxor     edx, edx                                                       ; +0x1a8, 0x18012b638\nmov     ecx, r10d                                                      ; +0x1aa, 0x18012b63a\ncall    __acrt_WideCharToMultiByte                                     ; +0x1ad, 0x18012b63d\nmovsxd  rdi, eax                                                       ; +0x1b2, 0x18012b642\ncmp     [rbp+57h+var_80], r15d                                         ; +0x1b5, 0x18012b645\njnz     loc_18012B7AB                                                  ; +0x1b9, 0x18012b649\ntest    eax, eax                                                       ; +0x1bf, 0x18012b64f\njz      short loc_18012B65C                                            ; +0x1c1, 0x18012b651\nlea     rbx, [rdi-1]                                                   ; +0x1c3, 0x18012b653\njmp     loc_18012B7B6                                                  ; +0x1c7, 0x18012b657\ncall    cs:GetLastError                                                ; +0x1cc, 0x18012b65c\ncmp     eax, 7Ah ; 'z'                                                 ; +0x1d2, 0x18012b662\njnz     loc_18012B7AB                                                  ; +0x1d5, 0x18012b665\ntest    rsi, rsi                                                       ; +0x1db, 0x18012b66b\njz      loc_18012B7B9                                                  ; +0x1de, 0x18012b66e\nlea     r12d, [rax-75h]                                                ; +0x1e4, 0x18012b674\nmov     rdx, qword ptr [rbp+57h+var_78]                                ; +0x1e8, 0x18012b678\nmov     rcx, [rbp+57h+var_60]                                          ; +0x1ec, 0x18012b67c\nmov     eax, [rcx+8]                                                   ; +0x1f0, 0x18012b680\ncmp     eax, r12d                                                      ; +0x1f3, 0x18012b683\ncmovg   eax, r12d                                                      ; +0x1f6, 0x18012b686\nlea     r8, [rbp+57h+var_80]                                           ; +0x1fa, 0x18012b68a\nmov     [rsp+0C0h+var_88], r8                                          ; +0x1fe, 0x18012b68e\nmov     [rsp+0C0h+var_90], r15                                         ; +0x203, 0x18012b693\nmov     [rsp+0C0h+var_98], eax                                         ; +0x208, 0x18012b698\nlea     rax, [rbp+57h+var_40]                                          ; +0x20c, 0x18012b69c\nmov     [rsp+0C0h+var_A0], rax                                         ; +0x210, 0x18012b6a0\nmov     r9d, 1                                                         ; +0x215, 0x18012b6a5\nmov     r8, rdx                                                        ; +0x21b, 0x18012b6ab\nxor     edx, edx                                                       ; +0x21e, 0x18012b6ae\nmov     ecx, [rcx+0Ch]                                                 ; +0x220, 0x18012b6b0\ncall    __acrt_WideCharToMultiByte                                     ; +0x223, 0x18012b6b3\ntest    eax, eax                                                       ; +0x228, 0x18012b6b8\njz      loc_18012B7AB                                                  ; +0x22a, 0x18012b6ba\ncmp     [rbp+57h+var_80], r15d                                         ; +0x230, 0x18012b6c0\njnz     loc_18012B7AB                                                  ; +0x234, 0x18012b6c4\ntest    eax, eax                                                       ; +0x23a, 0x18012b6ca\njs      loc_18012B7AB                                                  ; +0x23c, 0x18012b6cc\nmovsxd  rdx, eax                                                       ; +0x242, 0x18012b6d2\ncmp     rdx, r12                                                       ; +0x245, 0x18012b6d5\nja      loc_18012B7AB                                                  ; +0x248, 0x18012b6d8\nlea     rax, [rdx+rdi]                                                 ; +0x24e, 0x18012b6de\ncmp     rax, rsi                                                       ; +0x252, 0x18012b6e2\nja      loc_18012B7B9                                                  ; +0x255, 0x18012b6e5\nmov     rcx, r15                                                       ; +0x25b, 0x18012b6eb\ntest    rdx, rdx                                                       ; +0x25e, 0x18012b6ee\njle     short loc_18012B70E                                            ; +0x261, 0x18012b6f1\nmov     al, [rbp+rcx+57h+var_40]                                       ; +0x263, 0x18012b6f3\nmov     [r14+rdi], al                                                  ; +0x267, 0x18012b6f7\ntest    al, al                                                         ; +0x26b, 0x18012b6fb\njz      loc_18012B7B9                                                  ; +0x26d, 0x18012b6fd\ninc     rcx                                                            ; +0x273, 0x18012b703\ninc     rdi                                                            ; +0x276, 0x18012b706\ncmp     rcx, rdx                                                       ; +0x279, 0x18012b709\njl      short loc_18012B6F3                                            ; +0x27c, 0x18012b70c\nmov     rdx, qword ptr [rbp+57h+var_78]                                ; +0x27e, 0x18012b70e\nadd     rdx, 2                                                         ; +0x282, 0x18012b712\nmov     qword ptr [rbp+57h+var_78], rdx                                ; +0x286, 0x18012b716\ncmp     rdi, rsi                                                       ; +0x28a, 0x18012b71a\njnb     loc_18012B7B9                                                  ; +0x28d, 0x18012b71d\njmp     loc_18012B67C                                                  ; +0x293, 0x18012b723\ncmp     [rax+138h], r15                                                ; +0x298, 0x18012b728\njnz     short loc_18012B76C                                            ; +0x29f, 0x18012b72f\nmov     rdi, r15                                                       ; +0x2a1, 0x18012b731\nmov     rcx, qword ptr [rbp+57h+var_78]                                ; +0x2a4, 0x18012b734\nmovzx   eax, word ptr [rcx]                                            ; +0x2a8, 0x18012b738\ntest    ax, ax                                                         ; +0x2ab, 0x18012b73b\njz      short loc_18012B7B9                                            ; +0x2ae, 0x18012b73e\nmov     edx, 0FFh                                                      ; +0x2b0, 0x18012b740\ncmp     ax, dx                                                         ; +0x2b5, 0x18012b745\nja      short loc_18012B75B                                            ; +0x2b8, 0x18012b748\ninc     rdi                                                            ; +0x2ba, 0x18012b74a\nadd     rcx, 2                                                         ; +0x2bd, 0x18012b74d\nmovzx   eax, word ptr [rcx]                                            ; +0x2c1, 0x18012b751\ntest    ax, ax                                                         ; +0x2c4, 0x18012b754\njnz     short loc_18012B745                                            ; +0x2c7, 0x18012b757\njmp     short loc_18012B7B9                                            ; +0x2c9, 0x18012b759\ncall    _errno                                                         ; +0x2cb, 0x18012b75b\nmov     dword ptr [rax], 2Ah ; '*'                                     ; +0x2d0, 0x18012b760\nor      rdi, 0FFFFFFFFFFFFFFFFh                                        ; +0x2d6, 0x18012b766\njmp     short loc_18012B7B9                                            ; +0x2da, 0x18012b76a\nlea     rax, [rbp+57h+var_80]                                          ; +0x2dc, 0x18012b76c\nmov     [rsp+0C0h+var_88], rax                                         ; +0x2e0, 0x18012b770\nmov     [rsp+0C0h+var_90], r15                                         ; +0x2e5, 0x18012b775\nmov     [rsp+0C0h+var_98], r15d                                        ; +0x2ea, 0x18012b77a\nmov     [rsp+0C0h+var_A0], r15                                         ; +0x2ef, 0x18012b77f\nor      rbx, 0FFFFFFFFFFFFFFFFh                                        ; +0x2f4, 0x18012b784\nmov     r9d, ebx                                                       ; +0x2f8, 0x18012b788\nmov     r8, qword ptr [rbp+57h+var_78]                                 ; +0x2fb, 0x18012b78b\nxor     edx, edx                                                       ; +0x2ff, 0x18012b78f\nmov     ecx, r10d                                                      ; +0x301, 0x18012b791\ncall    __acrt_WideCharToMultiByte                                     ; +0x304, 0x18012b794\nmovsxd  rdi, eax                                                       ; +0x309, 0x18012b799\ntest    eax, eax                                                       ; +0x30c, 0x18012b79c\njz      short loc_18012B7AB                                            ; +0x30e, 0x18012b79e\ncmp     [rbp+57h+var_80], r15d                                         ; +0x310, 0x18012b7a0\njnz     short loc_18012B7AB                                            ; +0x314, 0x18012b7a4\ndec     rdi                                                            ; +0x316, 0x18012b7a6\njmp     short loc_18012B7B9                                            ; +0x319, 0x18012b7a9\ncall    _errno                                                         ; +0x31b, 0x18012b7ab\nmov     dword ptr [rax], 2Ah ; '*'                                     ; +0x320, 0x18012b7b0\nmov     rdi, rbx                                                       ; +0x326, 0x18012b7b6\ncmp     [rbp+57h+var_50], r15b                                         ; +0x329, 0x18012b7b9\njz      short loc_18012B7CA                                            ; +0x32d, 0x18012b7bd\nmov     rcx, [rbp+57h+var_68]                                          ; +0x32f, 0x18012b7bf\nand     dword ptr [rcx+3A8h], 0FFFFFFFDh                               ; +0x333, 0x18012b7c3\nmov     rax, rdi                                                       ; +0x33a, 0x18012b7ca\nmov     rcx, [rbp+57h+var_38]                                          ; +0x33d, 0x18012b7cd\nxor     rcx, rsp; StackCookie                                          ; +0x341, 0x18012b7d1\ncall    __security_check_cookie                                        ; +0x344, 0x18012b7d4\nadd     rsp, 90h                                                       ; +0x349, 0x18012b7d9\npop     r15                                                            ; +0x350, 0x18012b7e0\npop     r14                                                            ; +0x352, 0x18012b7e2\npop     r12                                                            ; +0x354, 0x18012b7e4\npop     rdi                                                            ; +0x356, 0x18012b7e6\npop     rsi                                                            ; +0x357, 0x18012b7e7\npop     rbx                                                            ; +0x358, 0x18012b7e8\npop     rbp                                                            ; +0x359, 0x18012b7e9\nretn                                                                   ; +0x35a, 0x18012b7ea", "xrefs": ["wcstombs @ 0x18012b7ef", "<???> @ 0x180202b1c"], "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"}