{"type": "func", "start": 6443752864, "end": 6443753929, "name": "__crt_strtox::divide", "pseudocode": "// \n// __crt_strtox::divide from 0x18013dda0 to 0x18013e1c9 (1065 bytes)\n// \n// 5 xrefs:\n// > __acrt_fltout @ 0x18013f184\n// > __acrt_fltout @ 0x18013f2ff\n// > <???> @ 0x180193f0c\n// > <???> @ 0x180193f1c\n// > <???> @ 0x180203b30\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 __crt_strtox::divide(\n        __crt_strtox *this,\n        struct __crt_strtox::big_integer *a2,\n        const struct __crt_strtox::big_integer *a3)\n{\n  unsigned int v5; // edi\n  __int64 v6; // r10\n  unsigned int v7; // eax\n  unsigned __int64 v8; // r12\n  int v9; // ebp\n  unsigned int v10; // ebx\n  unsigned int v12; // ebx\n  __int64 v13; // rdi\n  unsigned __int64 v14; // r14\n  __int64 v15; // rax\n  unsigned __int64 v16; // rtt\n  __int64 v17; // rdx\n  int v18; // r8d\n  int v19; // r9d\n  __int64 v20; // r11\n  _DWORD *v21; // rcx\n  unsigned int v22; // r9d\n  unsigned int v23; // ebp\n  bool v24; // zf\n  int v25; // eax\n  int v26; // r11d\n  char v27; // bl\n  unsigned int v28; // eax\n  unsigned int v29; // r9d\n  unsigned int v30; // ebp\n  int v31; // r14d\n  __int64 v32; // r12\n  unsigned __int64 v33; // rbx\n  __int64 v34; // r13\n  unsigned int v35; // edx\n  __int64 v36; // r11\n  unsigned __int64 v37; // r8\n  unsigned __int64 v38; // rax\n  unsigned __int64 v39; // r8\n  __int64 v40; // r9\n  unsigned __int64 v41; // rax\n  unsigned __int64 v42; // r10\n  unsigned int v43; // r11d\n  unsigned int *v44; // rbx\n  __int64 v45; // rax\n  unsigned __int64 v46; // r10\n  unsigned int v47; // r8d\n  __int64 v48; // rcx\n  unsigned int v49; // eax\n  unsigned __int64 v50; // rdx\n  unsigned int v51; // r10d\n  unsigned __int64 v52; // r8\n  unsigned int *v53; // r11\n  __int64 v54; // rax\n  __int64 v55; // rcx\n  char *v56; // rdx\n  __int64 v57; // rax\n  unsigned __int64 v58; // r8\n  __int64 v59; // rdx\n  unsigned int i; // ecx\n  __int64 v61; // rax\n  char v62; // [rsp+20h] [rbp-238h]\n  unsigned __int64 v63; // [rsp+28h] [rbp-230h]\n  char v64; // [rsp+30h] [rbp-228h]\n  unsigned __int64 v65; // [rsp+38h] [rbp-220h]\n  _BYTE Source[468]; // [rsp+44h] [rbp-214h] BYREF\n  unsigned int v67; // [rsp+260h] [rbp+8h]\n  int v69; // [rsp+270h] [rbp+18h]\n  unsigned int v70; // [rsp+278h] [rbp+20h]\n\n  if ( !*(_DWORD *)this )\n    return 0;\n  v5 = *(_DWORD *)a2;\n  if ( !*(_DWORD *)a2 )\n    return 0;\n  v6 = (unsigned int)(*(_DWORD *)this - 1);\n  v7 = v5 - 1;\n  if ( v5 == 1 )\n  {\n    v8 = *((unsigned int *)a2 + 1);\n    v9 = 0;\n    if ( (_DWORD)v8 == 1 )\n    {\n      v10 = *((_DWORD *)this + 1);\n      *(_DWORD *)this = 0;\n      memcpy_s((char *)this + 4, 0x1CCu, Source, 0);\n      return v10;\n    }\n    else if ( *(_DWORD *)this == 1 )\n    {\n      v12 = *((_DWORD *)this + 1);\n      *(_DWORD *)this = 0;\n      memcpy_s((char *)this + 4, 0x1CCu, Source, 0);\n      *((_DWORD *)this + 1) = v12 % (unsigned int)v8;\n      LOBYTE(v9) = v12 % (unsigned int)v8 != 0;\n      *(_DWORD *)this = v9;\n      return v12 / (unsigned int)v8;\n    }\n    else\n    {\n      v13 = 0;\n      v14 = 0;\n      if ( *(_DWORD *)this )\n      {\n        do\n        {\n          v15 = *((unsigned int *)this + v6 + 1);\n          v6 = (unsigned int)(v6 - 1);\n          v16 = (v14 << 32) | v15;\n          v14 = v16 % v8;\n          v13 = (unsigned int)(v16 / v8) + (v13 << 32);\n        }\n        while ( (_DWORD)v6 != -1 );\n      }\n      *(_DWORD *)this = 0;\n      memcpy_s((char *)this + 4, 0x1CCu, Source, 0);\n      *(_QWORD *)((char *)this + 4) = v14;\n      LOBYTE(v9) = HIDWORD(v14) != 0;\n      *(_DWORD *)this = v9 + 1;\n      return v13;\n    }\n  }\n  if ( v7 > (unsigned int)v6 )\n    return 0;\n  v17 = (int)v6;\n  v18 = v6 - v7;\n  v19 = *(_DWORD *)this - 1;\n  if ( (int)v6 < (__int64)(int)(v6 - v7) )\n    goto LABEL_18;\n  v20 = (struct __crt_strtox::big_integer *)((char *)a2 - 4 * v18) - this;\n  v21 = (_DWORD *)((char *)this + 4 * (int)v6 + 4);\n  while ( *(_DWORD *)((char *)v21 + v20) == *v21 )\n  {\n    --v19;\n    --v17;\n    --v21;\n    if ( v17 < v18 )\n      goto LABEL_18;\n  }\n  if ( *((_DWORD *)a2 + v19 - v18 + 1) < *((_DWORD *)this + v19 + 1) )\nLABEL_18:\n    ++v18;\n  if ( !v18 )\n    return 0;\n  v22 = *((_DWORD *)a2 + v5);\n  v23 = *((_DWORD *)a2 + v5 - 1);\n  v24 = !_BitScanReverse((unsigned int *)&v25, v22);\n  v67 = v23;\n  if ( v24 )\n    v26 = 32;\n  else\n    v26 = 31 - v25;\n  v27 = 32 - v26;\n  v69 = v26;\n  v62 = 32 - v26;\n  if ( v26 )\n  {\n    v28 = v22 << v26;\n    v29 = v23 >> v27;\n    v30 = v23 << v26;\n    v22 = v28 | v29;\n    v67 = v30;\n    if ( v5 > 2 )\n      v67 = (*((_DWORD *)a2 + v5 - 2) >> v27) | v30;\n  }\n  v31 = v18 - 1;\n  v32 = 0;\n  if ( v18 - 1 >= 0 )\n  {\n    v33 = v22;\n    v34 = v31 + v5;\n    v65 = v22;\n    v64 = 32 - v26;\n    do\n    {\n      if ( (unsigned int)v34 > (unsigned int)v6 )\n        v35 = 0;\n      else\n        v35 = *((_DWORD *)this + v34 + 1);\n      v70 = v35;\n      v36 = *((unsigned int *)this + (unsigned int)(v34 - 2) + 1);\n      LODWORD(v63) = *((_DWORD *)this + (unsigned int)(v34 - 1) + 1);\n      HIDWORD(v63) = v35;\n      if ( v69 )\n      {\n        v37 = (v63 << v69) | ((unsigned __int64)(unsigned int)v36 >> v64);\n        v36 = (unsigned int)((_DWORD)v36 << v69);\n        if ( (unsigned int)v34 >= 3 )\n          v36 = (*((_DWORD *)this + (unsigned int)(v34 - 3) + 1) >> v62) | (unsigned int)v36;\n      }\n      else\n      {\n        v37 = v63;\n      }\n      v38 = v37 / v33;\n      v39 = (unsigned int)(v37 % v33);\n      v40 = v38;\n      if ( v38 > 0xFFFFFFFF )\n      {\n        v40 = 0xFFFFFFFFLL;\n        v39 += v33 * (v38 - 0xFFFFFFFF);\n      }\n      if ( v39 <= 0xFFFFFFFF )\n      {\n        v41 = v40 * v67;\n        do\n        {\n          if ( v41 <= (v36 | (v39 << 32)) )\n            break;\n          --v40;\n          v41 -= v67;\n          v39 += v33;\n        }\n        while ( v39 <= 0xFFFFFFFF );\n      }\n      if ( v40 )\n      {\n        v42 = 0;\n        v43 = 0;\n        if ( v5 )\n        {\n          v44 = (unsigned int *)((char *)a2 + 4);\n          do\n          {\n            v45 = *v44++;\n            v46 = v40 * v45 + v42;\n            v47 = v46;\n            v48 = v43 + v31;\n            v49 = *((_DWORD *)this + v48 + 1);\n            v50 = HIDWORD(v46);\n            v42 = HIDWORD(v46) + 1;\n            if ( v49 >= v47 )\n              v42 = v50;\n            ++v43;\n            *((_DWORD *)this + v48 + 1) = v49 - v47;\n          }\n          while ( v43 < v5 );\n          v33 = v65;\n        }\n        if ( v70 < v42 )\n        {\n          v51 = 0;\n          if ( v5 )\n          {\n            v52 = 0;\n            v53 = (unsigned int *)((char *)a2 + 4);\n            do\n            {\n              v54 = v51 + v31;\n              ++v51;\n              v55 = *((unsigned int *)this + v54 + 1);\n              v56 = (char *)this + 4 * v54;\n              v57 = *v53++;\n              v58 = v55 + v57 + v52;\n              *((_DWORD *)v56 + 1) = v58;\n              v52 = HIDWORD(v58);\n            }\n            while ( v51 < v5 );\n          }\n          LODWORD(v40) = v40 - 1;\n        }\n        LODWORD(v6) = v34 - 1;\n      }\n      v34 = (unsigned int)(v34 - 1);\n      v32 = (unsigned int)v40 + (v32 << 32);\n      --v31;\n    }\n    while ( v31 >= 0 );\n  }\n  LODWORD(v59) = v6 + 1;\n  for ( i = v6 + 1; i < *(_DWORD *)this; *((_DWORD *)this + v61 + 1) = 0 )\n    v61 = i++;\n  *(_DWORD *)this = v59;\n  if ( (_DWORD)v6 != -1 )\n  {\n    do\n    {\n      v59 = (unsigned int)(v59 - 1);\n      if ( *((_DWORD *)this + v59 + 1) )\n        break;\n      *(_DWORD *)this = v59;\n    }\n    while ( (_DWORD)v59 );\n  }\n  return v32;\n}", "assembly": "; \n; __crt_strtox::divide from 0x18013dda0 to 0x18013e1c9 (1065 bytes)\n; \n; 5 xrefs:\n; > __acrt_fltout @ 0x18013f184\n; > __acrt_fltout @ 0x18013f2ff\n; > <???> @ 0x180193f0c\n; > <???> @ 0x180193f1c\n; > <???> @ 0x180203b30\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_8], rdx                                               ; +0x0, 0x18013dda0\npush    rbx                                                            ; +0x5, 0x18013dda5\npush    rbp                                                            ; +0x6, 0x18013dda6\npush    rsi                                                            ; +0x7, 0x18013dda7\npush    rdi                                                            ; +0x8, 0x18013dda8\npush    r12                                                            ; +0x9, 0x18013dda9\npush    r14                                                            ; +0xb, 0x18013ddab\npush    r15                                                            ; +0xd, 0x18013ddad\nsub     rsp, 220h                                                      ; +0xf, 0x18013ddaf\nmov     r10d, [rcx]                                                    ; +0x16, 0x18013ddb6\nmov     r14, rdx                                                       ; +0x19, 0x18013ddb9\nmov     rsi, rcx                                                       ; +0x1c, 0x18013ddbc\ntest    r10d, r10d                                                     ; +0x1f, 0x18013ddbf\njz      loc_18013E1B5                                                  ; +0x22, 0x18013ddc2\nmov     edi, [rdx]                                                     ; +0x28, 0x18013ddc8\ntest    edi, edi                                                       ; +0x2a, 0x18013ddca\njz      loc_18013E1B5                                                  ; +0x2c, 0x18013ddcc\ndec     r10d                                                           ; +0x32, 0x18013ddd2\nlea     eax, [rdi-1]                                                   ; +0x35, 0x18013ddd5\ntest    eax, eax                                                       ; +0x38, 0x18013ddd8\njnz     loc_18013DEC2                                                  ; +0x3a, 0x18013ddda\nmov     r12d, [rdx+4]                                                  ; +0x40, 0x18013dde0\nxor     ebp, ebp                                                       ; +0x44, 0x18013dde4\ncmp     r12d, 1                                                        ; +0x46, 0x18013dde6\njnz     short loc_18013DE12                                            ; +0x4a, 0x18013ddea\nmov     ebx, [rcx+4]                                                   ; +0x4c, 0x18013ddec\nlea     r8, [rsp+258h+Source]; Source                                  ; +0x4f, 0x18013ddef\nadd     rcx, 4; Destination                                            ; +0x54, 0x18013ddf4\nmov     [rsi], ebp                                                     ; +0x58, 0x18013ddf8\nxor     r9d, r9d; SourceSize                                           ; +0x5a, 0x18013ddfa\nmov     [rsp+258h+var_218], ebp                                        ; +0x5d, 0x18013ddfd\nmov     edx, 1CCh; DestinationSize                                     ; +0x61, 0x18013de01\ncall    memcpy_s                                                       ; +0x66, 0x18013de06\nmov     eax, ebx                                                       ; +0x6b, 0x18013de0b\njmp     loc_18013E1B7                                                  ; +0x6d, 0x18013de0d\ntest    r10d, r10d                                                     ; +0x72, 0x18013de12\njnz     short loc_18013DE4D                                            ; +0x75, 0x18013de15\nmov     ebx, [rcx+4]                                                   ; +0x77, 0x18013de17\nlea     r8, [rsp+258h+Source]; Source                                  ; +0x7a, 0x18013de1a\nmov     [rcx], ebp                                                     ; +0x7f, 0x18013de1f\nxor     r9d, r9d; SourceSize                                           ; +0x81, 0x18013de21\nadd     rcx, 4; Destination                                            ; +0x84, 0x18013de24\nmov     [rsp+258h+var_218], ebp                                        ; +0x88, 0x18013de28\nmov     edx, 1CCh; DestinationSize                                     ; +0x8c, 0x18013de2c\ncall    memcpy_s                                                       ; +0x91, 0x18013de31\nxor     edx, edx                                                       ; +0x96, 0x18013de36\nmov     eax, ebx                                                       ; +0x98, 0x18013de38\ndiv     r12d                                                           ; +0x9a, 0x18013de3a\ntest    edx, edx                                                       ; +0x9d, 0x18013de3d\nmov     [rsi+4], edx                                                   ; +0x9f, 0x18013de3f\nsetnz   bpl                                                            ; +0xa2, 0x18013de42\nmov     [rsi], ebp                                                     ; +0xa6, 0x18013de46\njmp     loc_18013E1B7                                                  ; +0xa8, 0x18013de48\nmov     r15d, 0FFFFFFFFh                                               ; +0xad, 0x18013de4d\nmov     rdi, rbp                                                       ; +0xb3, 0x18013de53\nmov     r14, rbp                                                       ; +0xb6, 0x18013de56\ncmp     r10d, r15d                                                     ; +0xb9, 0x18013de59\njz      short loc_18013DE86                                            ; +0xbc, 0x18013de5c\nmov     rcx, r12                                                       ; +0xbe, 0x18013de5e\nmov     eax, [rsi+r10*4+4]                                             ; +0xc1, 0x18013de61\nxor     edx, edx                                                       ; +0xc6, 0x18013de66\nshl     r14, 20h                                                       ; +0xc8, 0x18013de68\nadd     r10d, r15d                                                     ; +0xcc, 0x18013de6c\nor      rax, r14                                                       ; +0xcf, 0x18013de6f\nshl     rdi, 20h                                                       ; +0xd2, 0x18013de72\ndiv     rcx                                                            ; +0xd6, 0x18013de76\nmov     eax, eax                                                       ; +0xd9, 0x18013de79\nmov     r14, rdx                                                       ; +0xdb, 0x18013de7b\nadd     rdi, rax                                                       ; +0xde, 0x18013de7e\ncmp     r10d, r15d                                                     ; +0xe1, 0x18013de81\njnz     short loc_18013DE61                                            ; +0xe4, 0x18013de84\nxor     r9d, r9d; SourceSize                                           ; +0xe6, 0x18013de86\nmov     [rsp+258h+var_218], ebp                                        ; +0xe9, 0x18013de89\nlea     r8, [rsp+258h+Source]; Source                                  ; +0xed, 0x18013de8d\nmov     [rsi], ebp                                                     ; +0xf2, 0x18013de92\nmov     edx, 1CCh; DestinationSize                                     ; +0xf4, 0x18013de94\nlea     rcx, [rsi+4]; Destination                                      ; +0xf9, 0x18013de99\ncall    memcpy_s                                                       ; +0xfd, 0x18013de9d\nmov     rcx, r14                                                       ; +0x102, 0x18013dea2\nmov     [rsi+4], r14d                                                  ; +0x105, 0x18013dea5\nshr     rcx, 20h                                                       ; +0x109, 0x18013dea9\nmov     rax, rdi                                                       ; +0x10d, 0x18013dead\ntest    ecx, ecx                                                       ; +0x110, 0x18013deb0\nmov     [rsi+8], ecx                                                   ; +0x112, 0x18013deb2\nsetnz   bpl                                                            ; +0x115, 0x18013deb5\ninc     ebp                                                            ; +0x119, 0x18013deb9\nmov     [rsi], ebp                                                     ; +0x11b, 0x18013debb\njmp     loc_18013E1B7                                                  ; +0x11d, 0x18013debd\ncmp     eax, r10d                                                      ; +0x122, 0x18013dec2\nja      loc_18013E1B5                                                  ; +0x125, 0x18013dec5\nmov     r8d, r10d                                                      ; +0x12b, 0x18013decb\nmovsxd  rdx, r10d                                                      ; +0x12e, 0x18013dece\nsub     r8d, eax                                                       ; +0x131, 0x18013ded1\nmov     r9d, r10d                                                      ; +0x134, 0x18013ded4\nmovsxd  rbx, r8d                                                       ; +0x137, 0x18013ded7\ncmp     rdx, rbx                                                       ; +0x13a, 0x18013deda\njl      short loc_18013DF28                                            ; +0x13d, 0x18013dedd\nadd     rcx, 4                                                         ; +0x13f, 0x18013dedf\nlea     rax, ds:0[rbx*4]                                               ; +0x143, 0x18013dee3\nmov     r11, r14                                                       ; +0x14b, 0x18013deeb\nsub     r11, rax                                                       ; +0x14e, 0x18013deee\nsub     r11, rsi                                                       ; +0x151, 0x18013def1\nlea     rcx, [rcx+rdx*4]                                               ; +0x154, 0x18013def4\nmov     eax, [rcx]                                                     ; +0x158, 0x18013def8\ncmp     [r11+rcx], eax                                                 ; +0x15a, 0x18013defa\njnz     short loc_18013DF11                                            ; +0x15e, 0x18013defe\ndec     r9d                                                            ; +0x160, 0x18013df00\ndec     rdx                                                            ; +0x163, 0x18013df03\nsub     rcx, 4                                                         ; +0x166, 0x18013df06\ncmp     rdx, rbx                                                       ; +0x16a, 0x18013df0a\njge     short loc_18013DEF8                                            ; +0x16d, 0x18013df0d\njmp     short loc_18013DF28                                            ; +0x16f, 0x18013df0f\nmov     eax, r9d                                                       ; +0x171, 0x18013df11\nsub     eax, r8d                                                       ; +0x174, 0x18013df14\nmovsxd  rdx, eax                                                       ; +0x177, 0x18013df17\nmovsxd  rax, r9d                                                       ; +0x17a, 0x18013df1a\nmov     ecx, [rsi+rax*4+4]                                             ; +0x17d, 0x18013df1d\ncmp     [r14+rdx*4+4], ecx                                             ; +0x181, 0x18013df21\njnb     short loc_18013DF2B                                            ; +0x186, 0x18013df26\ninc     r8d                                                            ; +0x188, 0x18013df28\ntest    r8d, r8d                                                       ; +0x18b, 0x18013df2b\njz      loc_18013E1B5                                                  ; +0x18e, 0x18013df2e\nlea     eax, [rdi-1]                                                   ; +0x194, 0x18013df34\nmov     ebx, 20h ; ' '                                                 ; +0x197, 0x18013df37\nmov     r9d, [r14+rax*4+4]                                             ; +0x19c, 0x18013df3c\nlea     eax, [rdi-2]                                                   ; +0x1a1, 0x18013df41\nmov     ebp, [r14+rax*4+4]                                             ; +0x1a4, 0x18013df44\nbsr     eax, r9d                                                       ; +0x1a9, 0x18013df49\nmov     [rsp+258h+arg_0], ebp                                          ; +0x1ad, 0x18013df4d\njz      short loc_18013DF61                                            ; +0x1b4, 0x18013df54\nmov     r11d, 1Fh                                                      ; +0x1b6, 0x18013df56\nsub     r11d, eax                                                      ; +0x1bc, 0x18013df5c\njmp     short loc_18013DF64                                            ; +0x1bf, 0x18013df5f\nmov     r11d, ebx                                                      ; +0x1c1, 0x18013df61\nsub     ebx, r11d                                                      ; +0x1c4, 0x18013df64\nmov     [rsp+258h+arg_10], r11d                                        ; +0x1c7, 0x18013df67\nmov     dword ptr [rsp+258h+var_238], ebx                              ; +0x1cf, 0x18013df6f\ntest    r11d, r11d                                                     ; +0x1d3, 0x18013df73\njz      short loc_18013DFAF                                            ; +0x1d6, 0x18013df76\nmov     eax, r9d                                                       ; +0x1d8, 0x18013df78\nmov     edx, ebp                                                       ; +0x1db, 0x18013df7b\nmov     ecx, ebx                                                       ; +0x1dd, 0x18013df7d\nshr     edx, cl                                                        ; +0x1df, 0x18013df7f\nmov     ecx, r11d                                                      ; +0x1e1, 0x18013df81\nshl     eax, cl                                                        ; +0x1e4, 0x18013df84\nmov     r9d, edx                                                       ; +0x1e6, 0x18013df86\nshl     ebp, cl                                                        ; +0x1e9, 0x18013df89\nor      r9d, eax                                                       ; +0x1eb, 0x18013df8b\nmov     [rsp+258h+arg_0], ebp                                          ; +0x1ee, 0x18013df8e\ncmp     edi, 2                                                         ; +0x1f5, 0x18013df95\njbe     short loc_18013DFAF                                            ; +0x1f8, 0x18013df98\nlea     eax, [rdi-3]                                                   ; +0x1fa, 0x18013df9a\nmov     ecx, ebx                                                       ; +0x1fd, 0x18013df9d\nmov     eax, [r14+rax*4+4]                                             ; +0x1ff, 0x18013df9f\nshr     eax, cl                                                        ; +0x204, 0x18013dfa4\nor      ebp, eax                                                       ; +0x206, 0x18013dfa6\nmov     [rsp+258h+arg_0], ebp                                          ; +0x208, 0x18013dfa8\nxor     ebp, ebp                                                       ; +0x20f, 0x18013dfaf\nlea     r14d, [r8-1]                                                   ; +0x211, 0x18013dfb1\nmov     r12d, ebp                                                      ; +0x215, 0x18013dfb5\ntest    r14d, r14d                                                     ; +0x218, 0x18013dfb8\njs      loc_18013E180                                                  ; +0x21b, 0x18013dfbb\nmov     eax, ebx                                                       ; +0x221, 0x18013dfc1\nmov     r15d, 0FFFFFFFFh                                               ; +0x223, 0x18013dfc3\nmov     ebx, r9d                                                       ; +0x229, 0x18013dfc9\nmov     [rsp+258h+var_40], r13                                         ; +0x22c, 0x18013dfcc\nlea     r13d, [r14+rdi]                                                ; +0x234, 0x18013dfd4\nmov     [rsp+258h+var_220], rbx                                        ; +0x238, 0x18013dfd8\nmov     [rsp+258h+var_228], rax                                        ; +0x23d, 0x18013dfdd\ncmp     r13d, r10d                                                     ; +0x242, 0x18013dfe2\nja      short loc_18013DFEE                                            ; +0x245, 0x18013dfe5\nmov     edx, [rsi+r13*4+4]                                             ; +0x247, 0x18013dfe7\njmp     short loc_18013DFF0                                            ; +0x24c, 0x18013dfec\nmov     edx, ebp                                                       ; +0x24e, 0x18013dfee\nlea     eax, [r13-1]                                                   ; +0x250, 0x18013dff0\nmov     [rsp+258h+arg_18], edx                                         ; +0x254, 0x18013dff4\nmov     ecx, [rsi+rax*4+4]                                             ; +0x25b, 0x18013dffb\nlea     eax, [r13-2]                                                   ; +0x25f, 0x18013dfff\nmov     r11d, [rsi+rax*4+4]                                            ; +0x263, 0x18013e003\nmov     [rsp+258h+var_230], rcx                                        ; +0x268, 0x18013e008\nmov     dword ptr [rsp+258h+var_230+4], edx                            ; +0x26d, 0x18013e00d\nmov     edx, [rsp+258h+arg_10]                                         ; +0x271, 0x18013e011\ntest    edx, edx                                                       ; +0x278, 0x18013e018\njz      short loc_18013E050                                            ; +0x27a, 0x18013e01a\nmov     rcx, [rsp+258h+var_228]                                        ; +0x27c, 0x18013e01c\nmov     r8d, r11d                                                      ; +0x281, 0x18013e021\nmov     rax, [rsp+258h+var_230]                                        ; +0x284, 0x18013e024\nshr     r8, cl                                                         ; +0x289, 0x18013e029\nmov     ecx, edx                                                       ; +0x28c, 0x18013e02c\nshl     rax, cl                                                        ; +0x28e, 0x18013e02e\nor      r8, rax                                                        ; +0x291, 0x18013e031\nshl     r11d, cl                                                       ; +0x294, 0x18013e034\ncmp     r13d, 3                                                        ; +0x297, 0x18013e037\njb      short loc_18013E055                                            ; +0x29b, 0x18013e03b\nmov     ecx, dword ptr [rsp+258h+var_238]                              ; +0x29d, 0x18013e03d\nlea     eax, [r13-3]                                                   ; +0x2a1, 0x18013e041\nmov     eax, [rsi+rax*4+4]                                             ; +0x2a5, 0x18013e045\nshr     eax, cl                                                        ; +0x2a9, 0x18013e049\nor      r11d, eax                                                      ; +0x2ab, 0x18013e04b\njmp     short loc_18013E055                                            ; +0x2ae, 0x18013e04e\nmov     r8, [rsp+258h+var_230]                                         ; +0x2b0, 0x18013e050\nxor     edx, edx                                                       ; +0x2b5, 0x18013e055\nmov     rax, r8                                                        ; +0x2b7, 0x18013e057\ndiv     rbx                                                            ; +0x2ba, 0x18013e05a\nmov     r8d, edx                                                       ; +0x2bd, 0x18013e05d\nmov     r9, rax                                                        ; +0x2c0, 0x18013e060\ncmp     rax, r15                                                       ; +0x2c3, 0x18013e063\njbe     short loc_18013E07F                                            ; +0x2c6, 0x18013e066\nmov     rax, 0FFFFFFFF00000001h                                        ; +0x2c8, 0x18013e068\nadd     rax, r9                                                        ; +0x2d2, 0x18013e072\nmov     r9, r15                                                        ; +0x2d5, 0x18013e075\nimul    rax, rbx                                                       ; +0x2d8, 0x18013e078\nadd     r8, rax                                                        ; +0x2dc, 0x18013e07c\ncmp     r8, r15                                                        ; +0x2df, 0x18013e07f\nja      short loc_18013E0AE                                            ; +0x2e2, 0x18013e082\nmov     edx, [rsp+258h+arg_0]                                          ; +0x2e4, 0x18013e084\nmov     eax, edx                                                       ; +0x2eb, 0x18013e08b\nimul    rax, r9                                                        ; +0x2ed, 0x18013e08d\nmov     rcx, r8                                                        ; +0x2f1, 0x18013e091\nshl     rcx, 20h                                                       ; +0x2f4, 0x18013e094\nor      rcx, r11                                                       ; +0x2f8, 0x18013e098\ncmp     rax, rcx                                                       ; +0x2fb, 0x18013e09b\njbe     short loc_18013E0AE                                            ; +0x2fe, 0x18013e09e\ndec     r9                                                             ; +0x300, 0x18013e0a0\nsub     rax, rdx                                                       ; +0x303, 0x18013e0a3\nadd     r8, rbx                                                        ; +0x306, 0x18013e0a6\ncmp     r8, r15                                                        ; +0x309, 0x18013e0a9\njbe     short loc_18013E091                                            ; +0x30c, 0x18013e0ac\ntest    r9, r9                                                         ; +0x30e, 0x18013e0ae\njz      loc_18013E161                                                  ; +0x311, 0x18013e0b1\nmov     r10, rbp                                                       ; +0x317, 0x18013e0b7\nmov     r11d, ebp                                                      ; +0x31a, 0x18013e0ba\ntest    edi, edi                                                       ; +0x31d, 0x18013e0bd\njz      short loc_18013E10F                                            ; +0x31f, 0x18013e0bf\nmov     rbx, [rsp+258h+arg_8]                                          ; +0x321, 0x18013e0c1\nadd     rbx, 4                                                         ; +0x329, 0x18013e0c9\nnop     dword ptr [rax]                                                ; +0x32d, 0x18013e0cd\nmov     eax, [rbx]                                                     ; +0x330, 0x18013e0d0\nlea     rbx, [rbx+4]                                                   ; +0x332, 0x18013e0d2\nimul    rax, r9                                                        ; +0x336, 0x18013e0d6\nadd     r10, rax                                                       ; +0x33a, 0x18013e0da\nlea     eax, [r11+r14]                                                 ; +0x33d, 0x18013e0dd\nmov     r8d, r10d                                                      ; +0x341, 0x18013e0e1\nmov     ecx, eax                                                       ; +0x344, 0x18013e0e4\nshr     r10, 20h                                                       ; +0x346, 0x18013e0e6\nmov     eax, [rsi+rax*4+4]                                             ; +0x34a, 0x18013e0ea\nmov     rdx, r10                                                       ; +0x34e, 0x18013e0ee\ninc     r10                                                            ; +0x351, 0x18013e0f1\ncmp     eax, r8d                                                       ; +0x354, 0x18013e0f4\ncmovnb  r10, rdx                                                       ; +0x357, 0x18013e0f7\nsub     eax, r8d                                                       ; +0x35b, 0x18013e0fb\ninc     r11d                                                           ; +0x35e, 0x18013e0fe\nmov     [rsi+rcx*4+4], eax                                             ; +0x361, 0x18013e101\ncmp     r11d, edi                                                      ; +0x365, 0x18013e105\njb      short loc_18013E0D0                                            ; +0x368, 0x18013e108\nmov     rbx, [rsp+258h+var_220]                                        ; +0x36a, 0x18013e10a\nmov     eax, [rsp+258h+arg_18]                                         ; +0x36f, 0x18013e10f\ncmp     rax, r10                                                       ; +0x376, 0x18013e116\njnb     short loc_18013E15D                                            ; +0x379, 0x18013e119\nmov     r10d, ebp                                                      ; +0x37b, 0x18013e11b\ntest    edi, edi                                                       ; +0x37e, 0x18013e11e\njz      short loc_18013E15A                                            ; +0x380, 0x18013e120\nmov     r11, [rsp+258h+arg_8]                                          ; +0x382, 0x18013e122\nmov     r8, rbp                                                        ; +0x38a, 0x18013e12a\nadd     r11, 4                                                         ; +0x38d, 0x18013e12d\nlea     eax, [r10+r14]                                                 ; +0x391, 0x18013e131\ninc     r10d                                                           ; +0x395, 0x18013e135\nmov     ecx, [rsi+rax*4+4]                                             ; +0x398, 0x18013e138\nlea     rdx, [rsi+rax*4]                                               ; +0x39c, 0x18013e13c\nmov     eax, [r11]                                                     ; +0x3a0, 0x18013e140\nlea     r11, [r11+4]                                                   ; +0x3a3, 0x18013e143\nadd     r8, rax                                                        ; +0x3a7, 0x18013e147\nadd     r8, rcx                                                        ; +0x3aa, 0x18013e14a\nmov     [rdx+4], r8d                                                   ; +0x3ad, 0x18013e14d\nshr     r8, 20h                                                        ; +0x3b1, 0x18013e151\ncmp     r10d, edi                                                      ; +0x3b5, 0x18013e155\njb      short loc_18013E131                                            ; +0x3b8, 0x18013e158\ndec     r9                                                             ; +0x3ba, 0x18013e15a\nlea     r10d, [r13-1]                                                  ; +0x3bd, 0x18013e15d\nshl     r12, 20h                                                       ; +0x3c1, 0x18013e161\ndec     r13d                                                           ; +0x3c5, 0x18013e165\nmov     eax, r9d                                                       ; +0x3c8, 0x18013e168\nadd     r12, rax                                                       ; +0x3cb, 0x18013e16b\nsub     r14d, 1                                                        ; +0x3ce, 0x18013e16e\njns     loc_18013DFE2                                                  ; +0x3d2, 0x18013e172\nmov     r13, [rsp+258h+var_40]                                         ; +0x3d8, 0x18013e178\nlea     edx, [r10+1]                                                   ; +0x3e0, 0x18013e180\nmov     ecx, edx                                                       ; +0x3e4, 0x18013e184\ncmp     edx, [rsi]                                                     ; +0x3e6, 0x18013e186\njnb     short loc_18013E19C                                            ; +0x3e8, 0x18013e188\nnop     word ptr [rax+rax+00h]                                         ; +0x3ea, 0x18013e18a\nmov     eax, ecx                                                       ; +0x3f0, 0x18013e190\ninc     ecx                                                            ; +0x3f2, 0x18013e192\nmov     [rsi+rax*4+4], ebp                                             ; +0x3f4, 0x18013e194\ncmp     ecx, [rsi]                                                     ; +0x3f8, 0x18013e198\njb      short loc_18013E190                                            ; +0x3fa, 0x18013e19a\nmov     [rsi], edx                                                     ; +0x3fc, 0x18013e19c\ntest    edx, edx                                                       ; +0x3fe, 0x18013e19e\njz      short loc_18013E1B0                                            ; +0x400, 0x18013e1a0\ndec     edx                                                            ; +0x402, 0x18013e1a2\ncmp     [rsi+rdx*4+4], ebp                                             ; +0x404, 0x18013e1a4\njnz     short loc_18013E1B0                                            ; +0x408, 0x18013e1a8\nmov     [rsi], edx                                                     ; +0x40a, 0x18013e1aa\ntest    edx, edx                                                       ; +0x40c, 0x18013e1ac\njnz     short loc_18013E1A2                                            ; +0x40e, 0x18013e1ae\nmov     rax, r12                                                       ; +0x410, 0x18013e1b0\njmp     short loc_18013E1B7                                            ; +0x413, 0x18013e1b3\nxor     eax, eax                                                       ; +0x415, 0x18013e1b5\nadd     rsp, 220h                                                      ; +0x417, 0x18013e1b7\npop     r15                                                            ; +0x41e, 0x18013e1be\npop     r14                                                            ; +0x420, 0x18013e1c0\npop     r12                                                            ; +0x422, 0x18013e1c2\npop     rdi                                                            ; +0x424, 0x18013e1c4\npop     rsi                                                            ; +0x425, 0x18013e1c5\npop     rbp                                                            ; +0x426, 0x18013e1c6\npop     rbx                                                            ; +0x427, 0x18013e1c7\nretn                                                                   ; +0x428, 0x18013e1c8", "xrefs": ["__acrt_fltout @ 0x18013f184", "__acrt_fltout @ 0x18013f2ff", "<???> @ 0x180193f0c", "<???> @ 0x180193f1c", "<???> @ 0x180203b30"], "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"}