{"type": "func", "start": 6442465088, "end": 6442466604, "name": "sub_180003740", "pseudocode": "// \n// sub_180003740 from 0x180003740 to 0x180003d2c (1516 bytes)\n// \n// 4 xrefs:\n// > sub_180003D30 @ 0x180003ec8\n// > <???> @ 0x18017d624\n// > <???> @ 0x18017d634\n// > <???> @ 0x1801f61f8\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 sub_180003740(\n        __int64 a1,\n        float *a2,\n        __int64 a3,\n        float *a4,\n        int a5,\n        int a6,\n        int a7,\n        int a8,\n        int a9,\n        int a10,\n        int a11)\n{\n  __int64 v12; // r11\n  __int64 v14; // r10\n  __int64 v15; // rdi\n  int v16; // r9d\n  __int64 v17; // r8\n  __int64 v18; // rcx\n  int v19; // eax\n  int v20; // ecx\n  int *v21; // r8\n  int v22; // eax\n  __int64 v23; // rdi\n  float v24; // xmm3_4\n  float v25; // xmm4_4\n  __int64 v26; // rax\n  int v27; // r9d\n  float *v28; // rcx\n  float *v29; // r8\n  float v30; // xmm2_4\n  float v31; // xmm0_4\n  int v32; // r8d\n  float *v33; // rcx\n  float *v34; // rax\n  float v35; // xmm1_4\n  float v36; // xmm0_4\n  __int64 v37; // r14\n  __int64 v38; // rdi\n  char *v39; // rbp\n  float v40; // xmm3_4\n  float v41; // xmm4_4\n  __int64 v42; // rax\n  int v43; // r9d\n  float *v44; // rcx\n  float *v45; // r8\n  float v46; // xmm2_4\n  float v47; // xmm0_4\n  int v48; // r8d\n  float *v49; // rcx\n  float *v50; // rax\n  float v51; // xmm1_4\n  float v52; // xmm0_4\n  __int64 result; // rax\n  unsigned int v54; // r11d\n  __int64 v55; // r9\n  int v56; // r8d\n  __int64 v57; // rcx\n  __int64 v58; // rax\n  float v59; // xmm0_4\n  float *v60; // rcx\n  float v61; // xmm0_4\n\n  v12 = *(_QWORD *)(a1 + 16) + 4LL * a5;\n  v14 = *(_QWORD *)(a1 + 8) + 4LL * a6;\n  if ( a8 > 0 )\n  {\n    v15 = (unsigned int)a8;\n    do\n    {\n      v12 -= 4;\n      v16 = a7 >> 3;\n      v17 = 0;\n      if ( a7 >> 3 )\n      {\n        v18 = v12 + 4096;\n        v17 = 8LL * (unsigned int)(a7 >> 3);\n        do\n        {\n          v19 = *(_DWORD *)(v18 - 4096);\n          v18 += 0x4000;\n          *(_DWORD *)a2 = v19;\n          a2[1] = *(float *)(v18 - 18432);\n          a2[2] = *(float *)(v18 - 0x4000);\n          a2[3] = *(float *)(v18 - 14336);\n          a2[4] = *(float *)(v18 - 12288);\n          a2[5] = *(float *)(v18 - 10240);\n          a2[6] = *(float *)(v18 - 0x2000);\n          a2[7] = *(float *)(v18 - 6144);\n          a2 += 8;\n          --v16;\n        }\n        while ( v16 );\n      }\n      v20 = a7 & 7;\n      if ( (a7 & 7) != 0 )\n      {\n        v21 = (int *)(v12 + (v17 << 11));\n        do\n        {\n          v22 = *v21;\n          v21 += 512;\n          *(_DWORD *)a2++ = v22;\n          --v20;\n        }\n        while ( v20 );\n      }\n      --v15;\n    }\n    while ( v15 );\n  }\n  if ( a9 > 0 )\n  {\n    v23 = (unsigned int)a9;\n    do\n    {\n      v24 = *(float *)(a3 - 4);\n      a3 -= 4;\n      v25 = *a4;\n      v12 -= 4;\n      v26 = 0;\n      v27 = a7 >> 3;\n      if ( a7 >> 3 )\n      {\n        v28 = (float *)(v12 + 4096);\n        v26 = 8LL * (unsigned int)(a7 >> 3);\n        v29 = (float *)(v14 + 0x2000);\n        do\n        {\n          *a2 = (float)(v25 * *(v29 - 2048)) + (float)(v24 * *(v28 - 1024));\n          a2[1] = (float)(v25 * *(v29 - 1024)) + (float)(v24 * *(v28 - 512));\n          a2[2] = (float)(v25 * *v29) + (float)(v24 * *v28);\n          a2[3] = (float)(v25 * v29[1024]) + (float)(v24 * v28[512]);\n          a2[4] = (float)(v25 * v29[2048]) + (float)(v24 * v28[1024]);\n          a2[5] = (float)(v25 * v29[3072]) + (float)(v24 * v28[1536]);\n          a2[6] = (float)(v25 * v29[4096]) + (float)(v24 * v28[2048]);\n          v30 = v25 * v29[5120];\n          v29 += 0x2000;\n          v31 = v24 * v28[2560];\n          v28 += 4096;\n          a2[7] = v30 + v31;\n          a2 += 8;\n          --v27;\n        }\n        while ( v27 );\n      }\n      v32 = a7 & 7;\n      if ( (a7 & 7) != 0 )\n      {\n        v33 = (float *)(v12 + (v26 << 11));\n        v34 = (float *)(v14 + (v26 << 12));\n        do\n        {\n          v35 = v25 * *v34;\n          v34 += 1024;\n          v36 = v24 * *v33;\n          v33 += 512;\n          *a2++ = v35 + v36;\n          --v32;\n        }\n        while ( v32 );\n      }\n      v14 += 4;\n      ++a4;\n      --v23;\n    }\n    while ( v23 );\n  }\n  if ( a10 > 0 )\n  {\n    v37 = a3 - v14;\n    v38 = (unsigned int)a10;\n    v39 = (char *)a4 - v12;\n    do\n    {\n      v40 = *(float *)(v37 + v14 - 4);\n      v14 -= 4;\n      v41 = *(float *)&v39[v12];\n      v42 = 0;\n      v43 = a7 >> 3;\n      if ( a7 >> 3 )\n      {\n        v44 = (float *)(v14 + 0x2000);\n        v42 = 8LL * (unsigned int)(a7 >> 3);\n        v45 = (float *)(v12 + 4096);\n        do\n        {\n          *a2 = (float)(v40 * *(v45 - 1024)) - (float)(v41 * *(v44 - 2048));\n          a2[1] = (float)(v40 * *(v45 - 512)) - (float)(v41 * *(v44 - 1024));\n          a2[2] = (float)(v40 * *v45) - (float)(v41 * *v44);\n          a2[3] = (float)(v40 * v45[512]) - (float)(v41 * v44[1024]);\n          a2[4] = (float)(v40 * v45[1024]) - (float)(v41 * v44[2048]);\n          a2[5] = (float)(v40 * v45[1536]) - (float)(v41 * v44[3072]);\n          a2[6] = (float)(v40 * v45[2048]) - (float)(v41 * v44[4096]);\n          v46 = v40 * v45[2560];\n          v45 += 4096;\n          v47 = v41 * v44[5120];\n          v44 += 0x2000;\n          a2[7] = v46 - v47;\n          a2 += 8;\n          --v43;\n        }\n        while ( v43 );\n      }\n      v48 = a7 & 7;\n      if ( (a7 & 7) != 0 )\n      {\n        v49 = (float *)(v14 + (v42 << 12));\n        v50 = (float *)(v12 + (v42 << 11));\n        do\n        {\n          v51 = v40 * *v50;\n          v50 += 512;\n          v52 = v41 * *v49;\n          v49 += 1024;\n          *a2++ = v51 - v52;\n          --v48;\n        }\n        while ( v48 );\n      }\n      v12 += 4;\n      --v38;\n    }\n    while ( v38 );\n  }\n  result = (unsigned int)a11;\n  if ( a11 > 0 )\n  {\n    v54 = a7 >> 3;\n    v55 = (unsigned int)a11;\n    do\n    {\n      v14 -= 4;\n      v56 = a7 >> 3;\n      v57 = 0;\n      if ( v54 )\n      {\n        v58 = v14 + 0x2000;\n        v57 = 8LL * v54;\n        do\n        {\n          v59 = *(float *)(v58 - 0x2000);\n          v58 += 0x8000;\n          *a2 = -v59;\n          a2[1] = -*(float *)(v58 - 36864);\n          a2[2] = -*(float *)(v58 - 0x8000);\n          a2[3] = -*(float *)(v58 - 28672);\n          a2[4] = -*(float *)(v58 - 24576);\n          a2[5] = -*(float *)(v58 - 20480);\n          a2[6] = -*(float *)(v58 - 0x4000);\n          a2[7] = -*(float *)(v58 - 12288);\n          a2 += 8;\n          --v56;\n        }\n        while ( v56 );\n      }\n      result = a7 & 7;\n      if ( (a7 & 7) != 0 )\n      {\n        v60 = (float *)(v14 + (v57 << 12));\n        do\n        {\n          v61 = *v60;\n          v60 += 1024;\n          *a2++ = -v61;\n          result = (unsigned int)(result - 1);\n        }\n        while ( (_DWORD)result );\n      }\n      --v55;\n    }\n    while ( v55 );\n  }\n  return result;\n}", "assembly": "; \n; sub_180003740 from 0x180003740 to 0x180003d2c (1516 bytes)\n; \n; 4 xrefs:\n; > sub_180003D30 @ 0x180003ec8\n; > <???> @ 0x18017d624\n; > <???> @ 0x18017d634\n; > <???> @ 0x1801f61f8\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    r15                                                            ; +0x0, 0x180003740\nsub     rsp, 10h                                                       ; +0x2, 0x180003742\nmovsxd  r10, [rsp+18h+arg_20]                                          ; +0x6, 0x180003746\nmov     rax, [rcx+10h]                                                 ; +0xb, 0x18000374b\nmov     r15d, [rsp+18h+arg_30]                                         ; +0xf, 0x18000374f\nmov     [rsp+18h+arg_0], rbx                                           ; +0x14, 0x180003754\nmov     [rsp+18h+arg_8], rbp                                           ; +0x19, 0x180003759\nmov     rbp, r9                                                        ; +0x1e, 0x18000375e\nlea     r11, [rax+r10*4]                                               ; +0x21, 0x180003761\nmov     [rsp+18h+arg_10], rsi                                          ; +0x25, 0x180003765\nmov     rax, [rcx+8]                                                   ; +0x2a, 0x18000376a\nmovsxd  r10, [rsp+18h+arg_28]                                          ; +0x2e, 0x18000376e\nmov     [rsp+18h+var_10], rdi                                          ; +0x33, 0x180003773\nmov     [rsp+18h+var_18], r14                                          ; +0x38, 0x180003778\nmov     r14, r8                                                        ; +0x3c, 0x18000377c\nlea     r10, [rax+r10*4]                                               ; +0x3f, 0x18000377f\nmov     eax, [rsp+18h+arg_38]                                          ; +0x43, 0x180003783\ntest    eax, eax                                                       ; +0x47, 0x180003787\njle     loc_18000384F                                                  ; +0x49, 0x180003789\nmov     esi, r15d                                                      ; +0x4f, 0x18000378f\nmov     ebx, r15d                                                      ; +0x52, 0x180003792\nsar     esi, 3                                                         ; +0x55, 0x180003795\nmov     edi, eax                                                       ; +0x58, 0x180003798\nand     ebx, 7                                                         ; +0x5a, 0x18000379a\nnop     dword ptr [rax]                                                ; +0x5d, 0x18000379d\nsub     r11, 4                                                         ; +0x60, 0x1800037a0\nmov     r9d, esi                                                       ; +0x64, 0x1800037a4\nxor     r8d, r8d                                                       ; +0x67, 0x1800037a7\ntest    esi, esi                                                       ; +0x6a, 0x1800037aa\njz      short loc_180003818                                            ; +0x6c, 0x1800037ac\nmov     r8d, r9d                                                       ; +0x6e, 0x1800037ae\nlea     rcx, [r11+1000h]                                               ; +0x71, 0x1800037b1\nshl     r8, 3                                                          ; +0x78, 0x1800037b8\nnop     dword ptr [rax+00h]                                            ; +0x7c, 0x1800037bc\nmov     eax, [rcx-1000h]                                               ; +0x80, 0x1800037c0\nlea     rcx, [rcx+4000h]                                               ; +0x86, 0x1800037c6\nmov     [rdx], eax                                                     ; +0x8d, 0x1800037cd\nmov     eax, [rcx-4800h]                                               ; +0x8f, 0x1800037cf\nmov     [rdx+4], eax                                                   ; +0x95, 0x1800037d5\nmov     eax, [rcx-4000h]                                               ; +0x98, 0x1800037d8\nmov     [rdx+8], eax                                                   ; +0x9e, 0x1800037de\nmov     eax, [rcx-3800h]                                               ; +0xa1, 0x1800037e1\nmov     [rdx+0Ch], eax                                                 ; +0xa7, 0x1800037e7\nmov     eax, [rcx-3000h]                                               ; +0xaa, 0x1800037ea\nmov     [rdx+10h], eax                                                 ; +0xb0, 0x1800037f0\nmov     eax, [rcx-2800h]                                               ; +0xb3, 0x1800037f3\nmov     [rdx+14h], eax                                                 ; +0xb9, 0x1800037f9\nmov     eax, [rcx-2000h]                                               ; +0xbc, 0x1800037fc\nmov     [rdx+18h], eax                                                 ; +0xc2, 0x180003802\nmov     eax, [rcx-1800h]                                               ; +0xc5, 0x180003805\nmov     [rdx+1Ch], eax                                                 ; +0xcb, 0x18000380b\nadd     rdx, 20h ; ' '                                                 ; +0xce, 0x18000380e\nsub     r9d, 1                                                         ; +0xd2, 0x180003812\njnz     short loc_1800037C0                                            ; +0xd6, 0x180003816\nmov     ecx, ebx                                                       ; +0xd8, 0x180003818\ntest    ebx, ebx                                                       ; +0xda, 0x18000381a\njz      short loc_180003845                                            ; +0xdc, 0x18000381c\nshl     r8, 0Bh                                                        ; +0xde, 0x18000381e\nadd     r8, r11                                                        ; +0xe2, 0x180003822\nnop     word ptr [rax+rax+00000000h]                                   ; +0xe5, 0x180003825\nmov     eax, [r8]                                                      ; +0xf0, 0x180003830\nlea     r8, [r8+800h]                                                  ; +0xf3, 0x180003833\nmov     [rdx], eax                                                     ; +0xfa, 0x18000383a\nadd     rdx, 4                                                         ; +0xfc, 0x18000383c\nsub     ecx, 1                                                         ; +0x100, 0x180003840\njnz     short loc_180003830                                            ; +0x103, 0x180003843\nsub     rdi, 1                                                         ; +0x105, 0x180003845\njnz     loc_1800037A0                                                  ; +0x109, 0x180003849\nmov     eax, [rsp+18h+arg_40]                                          ; +0x10f, 0x18000384f\ntest    eax, eax                                                       ; +0x113, 0x180003853\njle     loc_180003A1F                                                  ; +0x115, 0x180003855\nmov     esi, r15d                                                      ; +0x11b, 0x18000385b\nmov     ebx, r15d                                                      ; +0x11e, 0x18000385e\nsar     esi, 3                                                         ; +0x121, 0x180003861\nmov     edi, eax                                                       ; +0x124, 0x180003864\nand     ebx, 7                                                         ; +0x126, 0x180003866\nnop     dword ptr [rax+00000000h]                                      ; +0x129, 0x180003869\nmovss   xmm3, dword ptr [r14-4]                                        ; +0x130, 0x180003870\nsub     r14, 4                                                         ; +0x136, 0x180003876\nmovss   xmm4, dword ptr [rbp+0]                                        ; +0x13a, 0x18000387a\nsub     r11, 4                                                         ; +0x13f, 0x18000387f\nxor     eax, eax                                                       ; +0x143, 0x180003883\nmov     r9d, esi                                                       ; +0x145, 0x180003885\ntest    esi, esi                                                       ; +0x148, 0x180003888\njz      loc_1800039C3                                                  ; +0x14a, 0x18000388a\nmov     eax, r9d                                                       ; +0x150, 0x180003890\nlea     rcx, [r11+1000h]                                               ; +0x153, 0x180003893\nshl     rax, 3                                                         ; +0x15a, 0x18000389a\nlea     r8, [r10+2000h]                                                ; +0x15e, 0x18000389e\nnop     word ptr [rax+rax+00000000h]                                   ; +0x165, 0x1800038a5\nmovaps  xmm1, xmm4                                                     ; +0x170, 0x1800038b0\nmovaps  xmm0, xmm3                                                     ; +0x173, 0x1800038b3\nmulss   xmm0, dword ptr [rcx-1000h]                                    ; +0x176, 0x1800038b6\nmovaps  xmm2, xmm4                                                     ; +0x17e, 0x1800038be\nmulss   xmm1, dword ptr [r8-2000h]                                     ; +0x181, 0x1800038c1\naddss   xmm1, xmm0                                                     ; +0x18a, 0x1800038ca\nmovaps  xmm0, xmm3                                                     ; +0x18e, 0x1800038ce\nmovss   dword ptr [rdx], xmm1                                          ; +0x191, 0x1800038d1\nmovaps  xmm1, xmm4                                                     ; +0x195, 0x1800038d5\nmulss   xmm0, dword ptr [rcx-800h]                                     ; +0x198, 0x1800038d8\nmulss   xmm2, dword ptr [r8-1000h]                                     ; +0x1a0, 0x1800038e0\naddss   xmm2, xmm0                                                     ; +0x1a9, 0x1800038e9\nmovaps  xmm0, xmm3                                                     ; +0x1ad, 0x1800038ed\nmovss   dword ptr [rdx+4], xmm2                                        ; +0x1b0, 0x1800038f0\nmovaps  xmm2, xmm4                                                     ; +0x1b5, 0x1800038f5\nmulss   xmm0, dword ptr [rcx]                                          ; +0x1b8, 0x1800038f8\nmulss   xmm1, dword ptr [r8]                                           ; +0x1bc, 0x1800038fc\naddss   xmm1, xmm0                                                     ; +0x1c1, 0x180003901\nmovaps  xmm0, xmm3                                                     ; +0x1c5, 0x180003905\nmovss   dword ptr [rdx+8], xmm1                                        ; +0x1c8, 0x180003908\nmovaps  xmm1, xmm4                                                     ; +0x1cd, 0x18000390d\nmulss   xmm0, dword ptr [rcx+800h]                                     ; +0x1d0, 0x180003910\nmulss   xmm2, dword ptr [r8+1000h]                                     ; +0x1d8, 0x180003918\naddss   xmm2, xmm0                                                     ; +0x1e1, 0x180003921\nmovaps  xmm0, xmm3                                                     ; +0x1e5, 0x180003925\nmovss   dword ptr [rdx+0Ch], xmm2                                      ; +0x1e8, 0x180003928\nmovaps  xmm2, xmm4                                                     ; +0x1ed, 0x18000392d\nmulss   xmm0, dword ptr [rcx+1000h]                                    ; +0x1f0, 0x180003930\nmulss   xmm1, dword ptr [r8+2000h]                                     ; +0x1f8, 0x180003938\naddss   xmm1, xmm0                                                     ; +0x201, 0x180003941\nmovaps  xmm0, xmm3                                                     ; +0x205, 0x180003945\nmovss   dword ptr [rdx+10h], xmm1                                      ; +0x208, 0x180003948\nmovaps  xmm1, xmm4                                                     ; +0x20d, 0x18000394d\nmulss   xmm0, dword ptr [rcx+1800h]                                    ; +0x210, 0x180003950\nmulss   xmm2, dword ptr [r8+3000h]                                     ; +0x218, 0x180003958\naddss   xmm2, xmm0                                                     ; +0x221, 0x180003961\nmovaps  xmm0, xmm3                                                     ; +0x225, 0x180003965\nmovss   dword ptr [rdx+14h], xmm2                                      ; +0x228, 0x180003968\nmovaps  xmm2, xmm4                                                     ; +0x22d, 0x18000396d\nmulss   xmm0, dword ptr [rcx+2000h]                                    ; +0x230, 0x180003970\nmulss   xmm1, dword ptr [r8+4000h]                                     ; +0x238, 0x180003978\naddss   xmm1, xmm0                                                     ; +0x241, 0x180003981\nmovaps  xmm0, xmm3                                                     ; +0x245, 0x180003985\nmovss   dword ptr [rdx+18h], xmm1                                      ; +0x248, 0x180003988\nmulss   xmm2, dword ptr [r8+5000h]                                     ; +0x24d, 0x18000398d\nadd     r8, 8000h                                                      ; +0x256, 0x180003996\nmulss   xmm0, dword ptr [rcx+2800h]                                    ; +0x25d, 0x18000399d\nadd     rcx, 4000h                                                     ; +0x265, 0x1800039a5\naddss   xmm2, xmm0                                                     ; +0x26c, 0x1800039ac\nmovss   dword ptr [rdx+1Ch], xmm2                                      ; +0x270, 0x1800039b0\nadd     rdx, 20h ; ' '                                                 ; +0x275, 0x1800039b5\nsub     r9d, 1                                                         ; +0x279, 0x1800039b9\njnz     loc_1800038B0                                                  ; +0x27d, 0x1800039bd\nmov     r8d, ebx                                                       ; +0x283, 0x1800039c3\ntest    ebx, ebx                                                       ; +0x286, 0x1800039c6\njz      short loc_180003A0D                                            ; +0x288, 0x1800039c8\nmov     rcx, rax                                                       ; +0x28a, 0x1800039ca\nshl     rax, 0Ch                                                       ; +0x28d, 0x1800039cd\nshl     rcx, 0Bh                                                       ; +0x291, 0x1800039d1\nadd     rcx, r11                                                       ; +0x295, 0x1800039d5\nadd     rax, r10                                                       ; +0x298, 0x1800039d8\nnop     dword ptr [rax+rax+00h]                                        ; +0x29b, 0x1800039db\nmovaps  xmm1, xmm4                                                     ; +0x2a0, 0x1800039e0\nmovaps  xmm0, xmm3                                                     ; +0x2a3, 0x1800039e3\nmulss   xmm1, dword ptr [rax]                                          ; +0x2a6, 0x1800039e6\nadd     rax, 1000h                                                     ; +0x2aa, 0x1800039ea\nmulss   xmm0, dword ptr [rcx]                                          ; +0x2b0, 0x1800039f0\nadd     rcx, 800h                                                      ; +0x2b4, 0x1800039f4\naddss   xmm1, xmm0                                                     ; +0x2bb, 0x1800039fb\nmovss   dword ptr [rdx], xmm1                                          ; +0x2bf, 0x1800039ff\nadd     rdx, 4                                                         ; +0x2c3, 0x180003a03\nsub     r8d, 1                                                         ; +0x2c7, 0x180003a07\njnz     short loc_1800039E0                                            ; +0x2cb, 0x180003a0b\nadd     r10, 4                                                         ; +0x2cd, 0x180003a0d\nadd     rbp, 4                                                         ; +0x2d1, 0x180003a11\nsub     rdi, 1                                                         ; +0x2d5, 0x180003a15\njnz     loc_180003870                                                  ; +0x2d9, 0x180003a19\nmov     eax, [rsp+18h+arg_48]                                          ; +0x2df, 0x180003a1f\ntest    eax, eax                                                       ; +0x2e3, 0x180003a23\njle     loc_180003BEB                                                  ; +0x2e5, 0x180003a25\nmov     esi, r15d                                                      ; +0x2eb, 0x180003a2b\nmov     ebx, r15d                                                      ; +0x2ee, 0x180003a2e\nsar     esi, 3                                                         ; +0x2f1, 0x180003a31\nand     ebx, 7                                                         ; +0x2f4, 0x180003a34\nsub     r14, r10                                                       ; +0x2f7, 0x180003a37\nmov     edi, eax                                                       ; +0x2fa, 0x180003a3a\nsub     rbp, r11                                                       ; +0x2fc, 0x180003a3c\nnop                                                                    ; +0x2ff, 0x180003a3f\nmovss   xmm3, dword ptr [r14+r10-4]                                    ; +0x300, 0x180003a40\nsub     r10, 4                                                         ; +0x307, 0x180003a47\nmovss   xmm4, dword ptr [r11+rbp]                                      ; +0x30b, 0x180003a4b\nxor     eax, eax                                                       ; +0x311, 0x180003a51\nmov     r9d, esi                                                       ; +0x313, 0x180003a53\ntest    esi, esi                                                       ; +0x316, 0x180003a56\njz      loc_180003B93                                                  ; +0x318, 0x180003a58\nmov     eax, r9d                                                       ; +0x31e, 0x180003a5e\nlea     rcx, [r10+2000h]                                               ; +0x321, 0x180003a61\nshl     rax, 3                                                         ; +0x328, 0x180003a68\nlea     r8, [r11+1000h]                                                ; +0x32c, 0x180003a6c\nnop     dword ptr [rax+00h]                                            ; +0x333, 0x180003a73\nnop     word ptr [rax+rax+00000000h]                                   ; +0x337, 0x180003a77\nmovaps  xmm1, xmm3                                                     ; +0x340, 0x180003a80\nmovaps  xmm0, xmm4                                                     ; +0x343, 0x180003a83\nmulss   xmm0, dword ptr [rcx-2000h]                                    ; +0x346, 0x180003a86\nmovaps  xmm2, xmm3                                                     ; +0x34e, 0x180003a8e\nmulss   xmm1, dword ptr [r8-1000h]                                     ; +0x351, 0x180003a91\nsubss   xmm1, xmm0                                                     ; +0x35a, 0x180003a9a\nmovaps  xmm0, xmm4                                                     ; +0x35e, 0x180003a9e\nmovss   dword ptr [rdx], xmm1                                          ; +0x361, 0x180003aa1\nmovaps  xmm1, xmm3                                                     ; +0x365, 0x180003aa5\nmulss   xmm0, dword ptr [rcx-1000h]                                    ; +0x368, 0x180003aa8\nmulss   xmm2, dword ptr [r8-800h]                                      ; +0x370, 0x180003ab0\nsubss   xmm2, xmm0                                                     ; +0x379, 0x180003ab9\nmovaps  xmm0, xmm4                                                     ; +0x37d, 0x180003abd\nmovss   dword ptr [rdx+4], xmm2                                        ; +0x380, 0x180003ac0\nmovaps  xmm2, xmm3                                                     ; +0x385, 0x180003ac5\nmulss   xmm0, dword ptr [rcx]                                          ; +0x388, 0x180003ac8\nmulss   xmm1, dword ptr [r8]                                           ; +0x38c, 0x180003acc\nsubss   xmm1, xmm0                                                     ; +0x391, 0x180003ad1\nmovaps  xmm0, xmm4                                                     ; +0x395, 0x180003ad5\nmovss   dword ptr [rdx+8], xmm1                                        ; +0x398, 0x180003ad8\nmovaps  xmm1, xmm3                                                     ; +0x39d, 0x180003add\nmulss   xmm0, dword ptr [rcx+1000h]                                    ; +0x3a0, 0x180003ae0\nmulss   xmm2, dword ptr [r8+800h]                                      ; +0x3a8, 0x180003ae8\nsubss   xmm2, xmm0                                                     ; +0x3b1, 0x180003af1\nmovaps  xmm0, xmm4                                                     ; +0x3b5, 0x180003af5\nmovss   dword ptr [rdx+0Ch], xmm2                                      ; +0x3b8, 0x180003af8\nmovaps  xmm2, xmm3                                                     ; +0x3bd, 0x180003afd\nmulss   xmm0, dword ptr [rcx+2000h]                                    ; +0x3c0, 0x180003b00\nmulss   xmm1, dword ptr [r8+1000h]                                     ; +0x3c8, 0x180003b08\nsubss   xmm1, xmm0                                                     ; +0x3d1, 0x180003b11\nmovaps  xmm0, xmm4                                                     ; +0x3d5, 0x180003b15\nmovss   dword ptr [rdx+10h], xmm1                                      ; +0x3d8, 0x180003b18\nmovaps  xmm1, xmm3                                                     ; +0x3dd, 0x180003b1d\nmulss   xmm0, dword ptr [rcx+3000h]                                    ; +0x3e0, 0x180003b20\nmulss   xmm2, dword ptr [r8+1800h]                                     ; +0x3e8, 0x180003b28\nsubss   xmm2, xmm0                                                     ; +0x3f1, 0x180003b31\nmovaps  xmm0, xmm4                                                     ; +0x3f5, 0x180003b35\nmovss   dword ptr [rdx+14h], xmm2                                      ; +0x3f8, 0x180003b38\nmovaps  xmm2, xmm3                                                     ; +0x3fd, 0x180003b3d\nmulss   xmm0, dword ptr [rcx+4000h]                                    ; +0x400, 0x180003b40\nmulss   xmm1, dword ptr [r8+2000h]                                     ; +0x408, 0x180003b48\nsubss   xmm1, xmm0                                                     ; +0x411, 0x180003b51\nmovaps  xmm0, xmm4                                                     ; +0x415, 0x180003b55\nmovss   dword ptr [rdx+18h], xmm1                                      ; +0x418, 0x180003b58\nmulss   xmm2, dword ptr [r8+2800h]                                     ; +0x41d, 0x180003b5d\nadd     r8, 4000h                                                      ; +0x426, 0x180003b66\nmulss   xmm0, dword ptr [rcx+5000h]                                    ; +0x42d, 0x180003b6d\nadd     rcx, 8000h                                                     ; +0x435, 0x180003b75\nsubss   xmm2, xmm0                                                     ; +0x43c, 0x180003b7c\nmovss   dword ptr [rdx+1Ch], xmm2                                      ; +0x440, 0x180003b80\nadd     rdx, 20h ; ' '                                                 ; +0x445, 0x180003b85\nsub     r9d, 1                                                         ; +0x449, 0x180003b89\njnz     loc_180003A80                                                  ; +0x44d, 0x180003b8d\nmov     r8d, ebx                                                       ; +0x453, 0x180003b93\ntest    ebx, ebx                                                       ; +0x456, 0x180003b96\njz      short loc_180003BDD                                            ; +0x458, 0x180003b98\nmov     rcx, rax                                                       ; +0x45a, 0x180003b9a\nshl     rax, 0Bh                                                       ; +0x45d, 0x180003b9d\nshl     rcx, 0Ch                                                       ; +0x461, 0x180003ba1\nadd     rcx, r10                                                       ; +0x465, 0x180003ba5\nadd     rax, r11                                                       ; +0x468, 0x180003ba8\nnop     dword ptr [rax+rax+00h]                                        ; +0x46b, 0x180003bab\nmovaps  xmm1, xmm3                                                     ; +0x470, 0x180003bb0\nmovaps  xmm0, xmm4                                                     ; +0x473, 0x180003bb3\nmulss   xmm1, dword ptr [rax]                                          ; +0x476, 0x180003bb6\nadd     rax, 800h                                                      ; +0x47a, 0x180003bba\nmulss   xmm0, dword ptr [rcx]                                          ; +0x480, 0x180003bc0\nadd     rcx, 1000h                                                     ; +0x484, 0x180003bc4\nsubss   xmm1, xmm0                                                     ; +0x48b, 0x180003bcb\nmovss   dword ptr [rdx], xmm1                                          ; +0x48f, 0x180003bcf\nadd     rdx, 4                                                         ; +0x493, 0x180003bd3\nsub     r8d, 1                                                         ; +0x497, 0x180003bd7\njnz     short loc_180003BB0                                            ; +0x49b, 0x180003bdb\nadd     r11, 4                                                         ; +0x49d, 0x180003bdd\nsub     rdi, 1                                                         ; +0x4a1, 0x180003be1\njnz     loc_180003A40                                                  ; +0x4a5, 0x180003be5\nmov     eax, [rsp+18h+arg_50]                                          ; +0x4ab, 0x180003beb\nmov     r14, [rsp+18h+var_18]                                          ; +0x4af, 0x180003bef\nmov     rdi, [rsp+18h+var_10]                                          ; +0x4b3, 0x180003bf3\nmov     rsi, [rsp+18h+arg_10]                                          ; +0x4b8, 0x180003bf8\nmov     rbp, [rsp+18h+arg_8]                                           ; +0x4bd, 0x180003bfd\nmov     rbx, [rsp+18h+arg_0]                                           ; +0x4c2, 0x180003c02\ntest    eax, eax                                                       ; +0x4c7, 0x180003c07\njle     loc_180003D25                                                  ; +0x4c9, 0x180003c09\nmovss   xmm2, dword ptr cs:xmmword_180144610                           ; +0x4cf, 0x180003c0f\nmov     r11d, r15d                                                     ; +0x4d7, 0x180003c17\nsar     r11d, 3                                                        ; +0x4da, 0x180003c1a\nmov     r9d, eax                                                       ; +0x4de, 0x180003c1e\nand     r15d, 7                                                        ; +0x4e1, 0x180003c21\nnop     word ptr [rax+rax+00000000h]                                   ; +0x4e5, 0x180003c25\nsub     r10, 4                                                         ; +0x4f0, 0x180003c30\nmov     r8d, r11d                                                      ; +0x4f4, 0x180003c34\nxor     ecx, ecx                                                       ; +0x4f7, 0x180003c37\ntest    r11d, r11d                                                     ; +0x4f9, 0x180003c39\njz      loc_180003CE4                                                  ; +0x4fc, 0x180003c3c\nmov     ecx, r8d                                                       ; +0x502, 0x180003c42\nlea     rax, [r10+2000h]                                               ; +0x505, 0x180003c45\nshl     rcx, 3                                                         ; +0x50c, 0x180003c4c\nmovss   xmm0, dword ptr [rax-2000h]                                    ; +0x510, 0x180003c50\nlea     rax, [rax+8000h]                                               ; +0x518, 0x180003c58\nxorps   xmm0, xmm2                                                     ; +0x51f, 0x180003c5f\nmovss   dword ptr [rdx], xmm0                                          ; +0x522, 0x180003c62\nmovss   xmm1, dword ptr [rax-9000h]                                    ; +0x526, 0x180003c66\nxorps   xmm1, xmm2                                                     ; +0x52e, 0x180003c6e\nmovss   dword ptr [rdx+4], xmm1                                        ; +0x531, 0x180003c71\nmovss   xmm0, dword ptr [rax-8000h]                                    ; +0x536, 0x180003c76\nxorps   xmm0, xmm2                                                     ; +0x53e, 0x180003c7e\nmovss   dword ptr [rdx+8], xmm0                                        ; +0x541, 0x180003c81\nmovss   xmm1, dword ptr [rax-7000h]                                    ; +0x546, 0x180003c86\nxorps   xmm1, xmm2                                                     ; +0x54e, 0x180003c8e\nmovss   dword ptr [rdx+0Ch], xmm1                                      ; +0x551, 0x180003c91\nmovss   xmm0, dword ptr [rax-6000h]                                    ; +0x556, 0x180003c96\nxorps   xmm0, xmm2                                                     ; +0x55e, 0x180003c9e\nmovss   dword ptr [rdx+10h], xmm0                                      ; +0x561, 0x180003ca1\nmovss   xmm1, dword ptr [rax-5000h]                                    ; +0x566, 0x180003ca6\nxorps   xmm1, xmm2                                                     ; +0x56e, 0x180003cae\nmovss   dword ptr [rdx+14h], xmm1                                      ; +0x571, 0x180003cb1\nmovss   xmm0, dword ptr [rax-4000h]                                    ; +0x576, 0x180003cb6\nxorps   xmm0, xmm2                                                     ; +0x57e, 0x180003cbe\nmovss   dword ptr [rdx+18h], xmm0                                      ; +0x581, 0x180003cc1\nmovss   xmm1, dword ptr [rax-3000h]                                    ; +0x586, 0x180003cc6\nxorps   xmm1, xmm2                                                     ; +0x58e, 0x180003cce\nmovss   dword ptr [rdx+1Ch], xmm1                                      ; +0x591, 0x180003cd1\nadd     rdx, 20h ; ' '                                                 ; +0x596, 0x180003cd6\nsub     r8d, 1                                                         ; +0x59a, 0x180003cda\njnz     loc_180003C50                                                  ; +0x59e, 0x180003cde\nmov     eax, r15d                                                      ; +0x5a4, 0x180003ce4\ntest    r15d, r15d                                                     ; +0x5a7, 0x180003ce7\njz      short loc_180003D1B                                            ; +0x5aa, 0x180003cea\nshl     rcx, 0Ch                                                       ; +0x5ac, 0x180003cec\nadd     rcx, r10                                                       ; +0x5b0, 0x180003cf0\nnop     dword ptr [rax+00h]                                            ; +0x5b3, 0x180003cf3\nnop     word ptr [rax+rax+00000000h]                                   ; +0x5b7, 0x180003cf7\nmovss   xmm0, dword ptr [rcx]                                          ; +0x5c0, 0x180003d00\nlea     rcx, [rcx+1000h]                                               ; +0x5c4, 0x180003d04\nxorps   xmm0, xmm2                                                     ; +0x5cb, 0x180003d0b\nmovss   dword ptr [rdx], xmm0                                          ; +0x5ce, 0x180003d0e\nadd     rdx, 4                                                         ; +0x5d2, 0x180003d12\nsub     eax, 1                                                         ; +0x5d6, 0x180003d16\njnz     short loc_180003D00                                            ; +0x5d9, 0x180003d19\nsub     r9, 1                                                          ; +0x5db, 0x180003d1b\njnz     loc_180003C30                                                  ; +0x5df, 0x180003d1f\nadd     rsp, 10h                                                       ; +0x5e5, 0x180003d25\npop     r15                                                            ; +0x5e9, 0x180003d29\nretn                                                                   ; +0x5eb, 0x180003d2b", "xrefs": ["sub_180003D30 @ 0x180003ec8", "<???> @ 0x18017d624", "<???> @ 0x18017d634", "<???> @ 0x1801f61f8"], "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"}