{"type": "func", "start": 6442468640, "end": 6442471353, "name": "sub_180004520", "pseudocode": "// \n// sub_180004520 from 0x180004520 to 0x180004fb9 (2713 bytes)\n// \n// 5 xrefs:\n// > sub_180003D30 @ 0x180003ea2\n// > sub_180005520 @ 0x180005e6b\n// > <???> @ 0x18017d694\n// > <???> @ 0x18017d6f0\n// > <???> @ 0x1801f627c\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_180004520(\n        __int64 a1,\n        float *a2,\n        __int64 a3,\n        _OWORD *a4,\n        __int64 a5,\n        __int64 a6,\n        __int64 a7,\n        int a8,\n        int a9,\n        int a10,\n        int a11)\n{\n  _OWORD *v11; // rbp\n  __int64 v12; // r12\n  int v13; // r15d\n  float *v14; // r11\n  __int64 v15; // rbx\n  __int64 result; // rax\n  __int64 v17; // r10\n  char v18; // r9\n  int v19; // r13d\n  int v20; // ecx\n  __int64 v21; // r8\n  int v22; // edi\n  __m128 *v23; // r9\n  __m128 *v24; // rcx\n  __m128 v25; // xmm0\n  __int64 v26; // rax\n  __m128 v27; // xmm1\n  __m128 v28; // xmm4\n  __m128 v29; // xmm2\n  __m128 v30; // xmm3\n  __m128 v31; // xmm4\n  __m128 v32; // xmm3\n  __m128 v33; // xmm0\n  __m128 v34; // xmm2\n  int v35; // esi\n  __m128i *v36; // rdi\n  float *v37; // r9\n  __int64 v38; // rax\n  __m128i v39; // xmm2\n  int i; // r9d\n  int v41; // r8d\n  unsigned int *v42; // rcx\n  char v43; // r9\n  int v44; // ecx\n  int v45; // r8d\n  int v46; // r13d\n  __int64 v47; // r15\n  __m128 v48; // xmm6\n  __m128 v49; // xmm7\n  __int64 v50; // rsi\n  __m128 *v51; // r14\n  __m128 *v52; // r9\n  __m128 *v53; // rdi\n  __m128 v54; // xmm0\n  __m128 v55; // xmm1\n  __m128 v56; // xmm5\n  __m128 v57; // xmm2\n  __m128 v58; // xmm1\n  __m128 v59; // xmm0\n  __m128 v60; // xmm2\n  __m128 v61; // xmm5\n  __m128 v62; // xmm4\n  __m128 v63; // xmm3\n  __m128 v64; // xmm5\n  __m128 v65; // xmm1\n  __m128 v66; // xmm1\n  __m128 v67; // xmm2\n  __m128 v68; // xmm4\n  __m128 v69; // xmm0\n  __m128 v70; // xmm5\n  int v71; // r14d\n  __m128 *v72; // r9\n  __m128 *v73; // rdi\n  float *v74; // r8\n  __m128 v75; // xmm0\n  __m128 v76; // xmm2\n  __m128 v77; // xmm0\n  __m128i v78; // xmm2\n  int j; // r9d\n  float v80; // xmm2_4\n  float v81; // xmm3_4\n  int v82; // r8d\n  float *v83; // rcx\n  float v84; // xmm1_4\n  float v85; // xmm0_4\n  char v86; // r9\n  int v87; // r8d\n  int v88; // r13d\n  int v89; // eax\n  __int64 v90; // r15\n  __m128 v91; // xmm7\n  __m128 v92; // xmm8\n  __int64 v93; // r9\n  int v94; // ecx\n  __m128 v95; // xmm7\n  __m128 *v96; // r8\n  __m128 *v97; // rdi\n  __m128 *v98; // rsi\n  __m128 v99; // xmm0\n  __m128 v100; // xmm1\n  __m128 v101; // xmm2\n  __m128 v102; // xmm5\n  __m128 v103; // xmm6\n  __m128 v104; // xmm0\n  __m128 v105; // xmm3\n  __m128 v106; // xmm1\n  __m128 v107; // xmm4\n  __m128 v108; // xmm2\n  __m128 v109; // xmm1\n  __m128 v110; // xmm6\n  __m128 v111; // xmm0\n  __m128 v112; // xmm4\n  int v113; // r14d\n  __m128 *v114; // rdi\n  __m128 *v115; // rsi\n  float *v116; // r8\n  __m128 v117; // xmm0\n  __int64 v118; // rax\n  __m128 v119; // xmm1\n  __m128i v120; // xmm2\n  int v121; // r9d\n  __int64 v122; // r12\n  __int64 v123; // rbx\n  float v124; // xmm3_4\n  int v125; // r8d\n  float v126; // xmm2_4\n  float *v127; // rcx\n  float v128; // xmm1_4\n  float v129; // xmm0_4\n  int v130; // ebp\n  unsigned int v131; // r13d\n  __int64 v132; // r12\n  int v133; // r8d\n  __int64 v134; // rdi\n  __m128 *v135; // rcx\n  __m128 v136; // xmm4\n  __m128 v137; // xmm0\n  __m128 v138; // xmm3\n  __m128 v139; // xmm1\n  __m128 v140; // xmm3\n  __m128 v141; // xmm2\n  __m128 v142; // xmm4\n  __m128 v143; // xmm1\n  __m128 v144; // xmm0\n  __m128 v145; // xmm3\n  int v146; // ebx\n  float *v147; // r8\n  __m128 *v148; // r9\n  __m128 v149; // xmm2\n  __m128i v150; // xmm2\n  int v151; // esi\n  int v152; // ecx\n  float v153; // xmm0_4\n  __int64 v154; // [rsp+60h] [rbp-68h]\n  __int64 v155; // [rsp+60h] [rbp-68h]\n  int v156; // [rsp+D0h] [rbp+8h]\n  int v157; // [rsp+D0h] [rbp+8h]\n  int v158; // [rsp+F0h] [rbp+28h]\n  int v159; // [rsp+F0h] [rbp+28h]\n  int v160; // [rsp+F8h] [rbp+30h]\n\n  v11 = a4;\n  v12 = a3;\n  v13 = a7;\n  v14 = a2;\n  v15 = *(_QWORD *)(a1 + 16) + 4LL * (int)a5;\n  result = *(_QWORD *)(a1 + 8);\n  v17 = result + 4LL * (int)a6;\n  if ( (_DWORD)a7 == 1 )\n    return sub_180004FC0((_DWORD)a2, a3, (_DWORD)a4, v15, v17, a8, a9, a10, a11);\n  if ( (_DWORD)a7 == 2 )\n    return sub_180005220(\n             (_DWORD)a2,\n             a3,\n             (_DWORD)a4,\n             *(_DWORD *)(a1 + 16) + 4 * (int)a5,\n             v15 + 2048,\n             result + 4LL * (int)a6,\n             v17 + 4096,\n             a8,\n             a9,\n             a10,\n             a11);\n  v18 = a8;\n  v19 = a8 >> 2;\n  if ( a8 >> 2 )\n  {\n    v20 = a7 & 3;\n    result = 16LL * (_DWORD)a7;\n    do\n    {\n      v15 -= 16;\n      v21 = 0;\n      v22 = (int)a7 >> 2;\n      if ( (int)a7 >> 2 )\n      {\n        v23 = (__m128 *)&v14[3 * (int)a7];\n        v24 = (__m128 *)(v15 + 4096);\n        do\n        {\n          v25 = v24[-128];\n          v26 = v21 + (int)a7;\n          v21 += 4;\n          ++v23;\n          v27 = v24[128];\n          v28 = v24[-256];\n          v29 = *v24;\n          v24 += 512;\n          v30 = v28;\n          v31 = _mm_shuffle_ps(v28, v25, 238);\n          v32 = _mm_shuffle_ps(v30, v25, 68);\n          v33 = _mm_shuffle_ps(v29, v27, 68);\n          v34 = _mm_shuffle_ps(v29, v27, 238);\n          *(__m128 *)((char *)v23 - 12 * (int)a7 - 16) = _mm_shuffle_ps(v31, v34, 221);\n          *(__m128 *)&v14[v26] = _mm_shuffle_ps(v31, v34, 136);\n          *(__m128 *)((char *)v23 - 4 * (int)a7 - 16) = _mm_shuffle_ps(v32, v33, 221);\n          v23[-1] = _mm_shuffle_ps(v32, v33, 136);\n          --v22;\n        }\n        while ( v22 );\n        v20 = a7 & 3;\n        result = 16LL * (_DWORD)a7;\n      }\n      v35 = v20;\n      if ( v20 )\n      {\n        v36 = (__m128i *)(v15 + (v21 << 11));\n        v37 = &v14[2 * (int)a7 + (int)a7 + v21];\n        do\n        {\n          v38 = v21 + (int)a7;\n          ++v37;\n          ++v21;\n          v39 = *v36;\n          v36 += 128;\n          LODWORD(v37[-3 * (int)a7 - 1]) = _mm_srli_si128(v39, 12).m128i_u32[0];\n          LODWORD(v14[v38]) = _mm_srli_si128(v39, 8).m128i_u32[0];\n          LODWORD(v37[-(int)a7 - 1]) = _mm_srli_si128(v39, 4).m128i_u32[0];\n          *((_DWORD *)v37 - 1) = _mm_srli_si128(v39, 0).m128i_u32[0];\n          --v35;\n        }\n        while ( v35 );\n        v20 = a7 & 3;\n        result = 16LL * (_DWORD)a7;\n      }\n      v14 = (float *)((char *)v14 + result);\n      --v19;\n    }\n    while ( v19 );\n    v13 = a7;\n    v18 = a8;\n  }\n  for ( i = v18 & 3; i; --i )\n  {\n    v15 -= 4;\n    v41 = v13;\n    if ( v13 )\n    {\n      v42 = (unsigned int *)v15;\n      do\n      {\n        result = *v42;\n        v42 += 512;\n        *(_DWORD *)v14++ = result;\n        --v41;\n      }\n      while ( v41 );\n    }\n  }\n  v43 = a9;\n  v44 = a9 >> 2;\n  v158 = a9 >> 2;\n  if ( a9 >> 2 )\n  {\n    result = (unsigned int)(4 * v13);\n    v45 = v13 >> 2;\n    v46 = v13 & 3;\n    v47 = 4LL * (int)result;\n    v154 = v47;\n    v156 = v45;\n    v160 = v46;\n    do\n    {\n      v48 = *(__m128 *)(v12 - 16);\n      v12 -= 16;\n      v15 -= 16;\n      v49 = *(__m128 *)v11;\n      v50 = 0;\n      if ( v45 )\n      {\n        v51 = (__m128 *)&v14[3 * (int)a7];\n        v52 = (__m128 *)(v17 + 0x2000);\n        v53 = (__m128 *)(v15 + 4096);\n        do\n        {\n          v54 = v53[-256];\n          result = v50 + (int)a7;\n          v50 += 4;\n          v55 = v53[-128];\n          v56 = *v53;\n          v57 = v53[128];\n          v53 += 512;\n          v58 = _mm_mul_ps(v55, v48);\n          v59 = _mm_mul_ps(v54, v48);\n          v60 = _mm_mul_ps(v57, v48);\n          v61 = _mm_mul_ps(v56, v48);\n          v62 = _mm_add_ps(_mm_mul_ps(v52[-512], v49), _mm_shuffle_ps(v59, v59, 27));\n          v63 = _mm_add_ps(_mm_mul_ps(v52[-256], v49), _mm_shuffle_ps(v58, v58, 27));\n          v64 = _mm_add_ps(_mm_shuffle_ps(v61, v61, 27), _mm_mul_ps(v49, *v52));\n          v65 = v52[256];\n          v52 += 1024;\n          v66 = _mm_add_ps(_mm_mul_ps(v65, v49), _mm_shuffle_ps(v60, v60, 27));\n          v67 = _mm_shuffle_ps(v62, v63, 68);\n          v68 = _mm_shuffle_ps(v62, v63, 238);\n          v69 = _mm_shuffle_ps(v64, v66, 68);\n          v70 = _mm_shuffle_ps(v64, v66, 238);\n          *(__m128 *)((char *)v51 - 12 * (int)a7) = _mm_shuffle_ps(v67, v69, 136);\n          *(__m128 *)&v14[result] = _mm_shuffle_ps(v67, v69, 221);\n          *(__m128 *)((char *)v51 - 4 * (int)a7) = _mm_shuffle_ps(v68, v70, 136);\n          *v51++ = _mm_shuffle_ps(v68, v70, 221);\n          --v45;\n        }\n        while ( v45 );\n        v44 = v158;\n        v47 = v154;\n      }\n      v71 = v46;\n      if ( v46 )\n      {\n        v72 = (__m128 *)(v17 + (v50 << 12));\n        v73 = (__m128 *)(v15 + (v50 << 11));\n        v74 = &v14[2 * (int)a7 + (int)a7 + v50];\n        do\n        {\n          v75 = *v73;\n          result = v50 + (int)a7;\n          ++v50;\n          v73 += 128;\n          v76 = _mm_mul_ps(v48, v75);\n          v77 = *v72;\n          v72 += 256;\n          v78 = (__m128i)_mm_add_ps(_mm_shuffle_ps(v76, v76, 27), _mm_mul_ps(v77, v49));\n          LODWORD(v74[-3 * (int)a7]) = _mm_srli_si128(v78, 0).m128i_u32[0];\n          LODWORD(v14[result]) = _mm_srli_si128(v78, 4).m128i_u32[0];\n          LODWORD(v74[-(int)a7]) = _mm_srli_si128(v78, 8).m128i_u32[0];\n          *(_DWORD *)v74++ = _mm_srli_si128(v78, 12).m128i_u32[0];\n          --v71;\n        }\n        while ( v71 );\n        v44 = v158;\n        v46 = v160;\n      }\n      v45 = v156;\n      v14 = (float *)((char *)v14 + v47);\n      v17 += 16;\n      ++v11;\n      v158 = --v44;\n    }\n    while ( v44 );\n    v13 = a7;\n    v43 = a9;\n  }\n  for ( j = v43 & 3; j; --j )\n  {\n    v80 = *(float *)(v12 - 4);\n    v12 -= 4;\n    v81 = *(float *)v11;\n    v15 -= 4;\n    v82 = v13;\n    if ( v13 )\n    {\n      result = v17;\n      v83 = (float *)v15;\n      do\n      {\n        v84 = v81 * *(float *)result;\n        result += 4096;\n        v85 = v80 * *v83;\n        v83 += 512;\n        *v14++ = v84 + v85;\n        --v82;\n      }\n      while ( v82 );\n    }\n    v17 += 4;\n    v11 = (_OWORD *)((char *)v11 + 4);\n  }\n  v86 = a10;\n  v87 = a10 >> 2;\n  v159 = a10 >> 2;\n  if ( a10 >> 2 )\n  {\n    v88 = v13 & 3;\n    v89 = 4 * v13;\n    v157 = v88;\n    v90 = (unsigned int)(v13 >> 2);\n    result = 4LL * v89;\n    v155 = result;\n    do\n    {\n      v91 = *(__m128 *)(v12 - 16);\n      v12 -= 16;\n      v17 -= 16;\n      v92 = *(__m128 *)v11;\n      v93 = 0;\n      v94 = v90;\n      v95 = _mm_shuffle_ps(v91, v91, 27);\n      if ( (_DWORD)v90 )\n      {\n        v96 = (__m128 *)&v14[2 * (int)a7];\n        v97 = (__m128 *)(v17 + 0x2000);\n        v98 = (__m128 *)(v15 + 4096);\n        v93 = 4 * v90;\n        do\n        {\n          v99 = v97[-512];\n          v100 = v97[-256];\n          v101 = *v97;\n          v102 = v97[256];\n          v97 += 1024;\n          v103 = _mm_sub_ps(_mm_mul_ps(v98[-256], v95), _mm_mul_ps(_mm_shuffle_ps(v99, v99, 27), v92));\n          v104 = *v98;\n          v105 = _mm_sub_ps(_mm_mul_ps(v98[-128], v95), _mm_mul_ps(_mm_shuffle_ps(v100, v100, 27), v92));\n          v106 = v98[128];\n          v98 += 512;\n          v107 = _mm_sub_ps(_mm_mul_ps(v95, v104), _mm_mul_ps(_mm_shuffle_ps(v101, v101, 27), v92));\n          v108 = _mm_shuffle_ps(v103, v105, 68);\n          v109 = _mm_sub_ps(_mm_mul_ps(v106, v95), _mm_mul_ps(_mm_shuffle_ps(v102, v102, 27), v92));\n          v110 = _mm_shuffle_ps(v103, v105, 238);\n          v111 = _mm_shuffle_ps(v107, v109, 68);\n          v112 = _mm_shuffle_ps(v107, v109, 238);\n          *(__m128 *)((char *)v96 - 8 * (int)a7) = _mm_shuffle_ps(v108, v111, 136);\n          *(__m128 *)((char *)v96 - 4 * (int)a7) = _mm_shuffle_ps(v108, v111, 221);\n          *v96 = _mm_shuffle_ps(v110, v112, 136);\n          *(__m128 *)((char *)v96++ + 4 * (int)a7) = _mm_shuffle_ps(v110, v112, 221);\n          --v94;\n        }\n        while ( v94 );\n        v87 = v159;\n        result = v155;\n      }\n      v113 = v88;\n      if ( v88 )\n      {\n        v114 = (__m128 *)(v17 + (v93 << 12));\n        v115 = (__m128 *)(v15 + (v93 << 11));\n        v116 = &v14[2 * (int)a7 + (int)a7 + v93];\n        do\n        {\n          v117 = *v115;\n          v118 = v93 + (int)a7;\n          ++v93;\n          v119 = *v114;\n          v115 += 128;\n          v114 += 256;\n          v120 = (__m128i)_mm_sub_ps(_mm_mul_ps(v95, v117), _mm_mul_ps(_mm_shuffle_ps(v119, v119, 27), v92));\n          LODWORD(v116[-3 * (int)a7]) = _mm_srli_si128(v120, 0).m128i_u32[0];\n          LODWORD(v14[v118]) = _mm_srli_si128(v120, 4).m128i_u32[0];\n          LODWORD(v116[-(int)a7]) = _mm_srli_si128(v120, 8).m128i_u32[0];\n          *(_DWORD *)v116++ = _mm_srli_si128(v120, 12).m128i_u32[0];\n          --v113;\n        }\n        while ( v113 );\n        v87 = v159;\n        v88 = v157;\n        result = v155;\n      }\n      v14 = (float *)((char *)v14 + result);\n      v15 += 16;\n      ++v11;\n      v159 = --v87;\n    }\n    while ( v87 );\n    v13 = a7;\n    v86 = a10;\n  }\n  v121 = v86 & 3;\n  if ( v121 )\n  {\n    v122 = v12 - v17;\n    v123 = v15 - (_QWORD)v11;\n    do\n    {\n      v124 = *(float *)v11;\n      result = v17;\n      v17 -= 4;\n      v125 = v13;\n      v126 = *(float *)(result + v122 - 4);\n      if ( v13 )\n      {\n        result = v17;\n        v127 = (float *)((char *)v11 + v123);\n        do\n        {\n          v128 = v126 * *v127;\n          v127 += 512;\n          v129 = v124 * *(float *)result;\n          result += 4096;\n          *v14++ = v128 - v129;\n          --v125;\n        }\n        while ( v125 );\n      }\n      v11 = (_OWORD *)((char *)v11 + 4);\n      --v121;\n    }\n    while ( v121 );\n  }\n  v130 = a11 >> 2;\n  if ( a11 >> 2 )\n  {\n    result = (unsigned int)(4 * v13);\n    v131 = v13 >> 2;\n    v132 = 4LL * (int)result;\n    do\n    {\n      v17 -= 16;\n      v133 = v13 >> 2;\n      v134 = 0;\n      if ( v131 )\n      {\n        result = (__int64)&v14[2 * (int)a7];\n        v135 = (__m128 *)(v17 + 0x2000);\n        v134 = 4LL * v131;\n        do\n        {\n          result += 16;\n          v136 = _mm_mul_ps(v135[-512], (__m128)xmmword_180144650);\n          v137 = _mm_mul_ps(v135[-256], (__m128)xmmword_180144650);\n          v138 = *v135;\n          v139 = v135[256];\n          v135 += 1024;\n          v140 = _mm_mul_ps(v138, (__m128)xmmword_180144650);\n          v141 = _mm_shuffle_ps(v136, v137, 68);\n          v142 = _mm_shuffle_ps(v136, v137, 238);\n          v143 = _mm_mul_ps(v139, (__m128)xmmword_180144650);\n          v144 = _mm_shuffle_ps(v140, v143, 68);\n          v145 = _mm_shuffle_ps(v140, v143, 238);\n          *(__m128 *)(result - 8LL * (int)a7 - 16) = _mm_shuffle_ps(v142, v145, 221);\n          *(__m128 *)(result - 4LL * (int)a7 - 16) = _mm_shuffle_ps(v142, v145, 136);\n          *(__m128 *)(result - 16) = _mm_shuffle_ps(v141, v144, 221);\n          *(__m128 *)(result + 4LL * (int)a7 - 16) = _mm_shuffle_ps(v141, v144, 136);\n          --v133;\n        }\n        while ( v133 );\n      }\n      v146 = v13 & 3;\n      if ( (v13 & 3) != 0 )\n      {\n        v147 = &v14[2 * (int)a7 + v134];\n        v148 = (__m128 *)(v17 + (v134 << 12));\n        result = -(__int64)(int)a7;\n        do\n        {\n          ++v147;\n          v149 = *v148;\n          v148 += 256;\n          v150 = (__m128i)_mm_mul_ps(v149, (__m128)xmmword_180144650);\n          LODWORD(v147[-2 * (int)a7 - 1]) = _mm_srli_si128(v150, 12).m128i_u32[0];\n          LODWORD(v147[-(int)a7 - 1]) = _mm_srli_si128(v150, 8).m128i_u32[0];\n          *((_DWORD *)v147 - 1) = _mm_srli_si128(v150, 4).m128i_u32[0];\n          LODWORD(v147[(int)a7 - 1]) = _mm_srli_si128(v150, 0).m128i_u32[0];\n          --v146;\n        }\n        while ( v146 );\n      }\n      v14 = (float *)((char *)v14 + v132);\n      --v130;\n    }\n    while ( v130 );\n  }\n  v151 = a11 & 3;\n  if ( (a11 & 3) != 0 )\n  {\n    do\n    {\n      v17 -= 4;\n      v152 = v13;\n      if ( v13 )\n      {\n        result = v17;\n        do\n        {\n          v153 = *(float *)result;\n          result += 4096;\n          *v14++ = -v153;\n          --v152;\n        }\n        while ( v152 );\n      }\n      --v151;\n    }\n    while ( v151 );\n  }\n  return result;\n}", "assembly": "; \n; sub_180004520 from 0x180004520 to 0x180004fb9 (2713 bytes)\n; \n; 5 xrefs:\n; > sub_180003D30 @ 0x180003ea2\n; > sub_180005520 @ 0x180005e6b\n; > <???> @ 0x18017d694\n; > <???> @ 0x18017d6f0\n; > <???> @ 0x1801f627c\n; \n; This function is hookable on this platform!\n; \n; Using BromaIDA 8.0.0 @ https:;github.com/Stazzical/BromaIDA\n; Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https:;github.com/geode-sdk/bindings\n; \n\npush    rbx                                                            ; +0x0, 0x180004520\npush    rbp                                                            ; +0x2, 0x180004522\npush    r12                                                            ; +0x3, 0x180004523\npush    r15                                                            ; +0x5, 0x180004525\nsub     rsp, 0A8h                                                      ; +0x7, 0x180004527\nmovsxd  r10, dword ptr [rsp+0C8h+arg_20]                               ; +0xe, 0x18000452e\nmov     rbp, r9                                                        ; +0x16, 0x180004536\nmov     rax, [rcx+10h]                                                 ; +0x19, 0x180004539\nmov     r12, r8                                                        ; +0x1d, 0x18000453d\nmovsxd  r15, dword ptr [rsp+0C8h+arg_30]                               ; +0x20, 0x180004540\nmov     r11, rdx                                                       ; +0x28, 0x180004548\nlea     rbx, [rax+r10*4]                                               ; +0x2b, 0x18000454b\nmovsxd  r10, dword ptr [rsp+0C8h+arg_28]                               ; +0x2f, 0x18000454f\nmov     rax, [rcx+8]                                                   ; +0x37, 0x180004557\nlea     r10, [rax+r10*4]                                               ; +0x3b, 0x18000455b\ncmp     r15d, 1                                                        ; +0x3f, 0x18000455f\njnz     short loc_1800045B5                                            ; +0x43, 0x180004563\nmov     eax, [rsp+0C8h+arg_50]                                         ; +0x45, 0x180004565\nmov     r9, rbx                                                        ; +0x4c, 0x18000456c\nmov     [rsp+0C8h+var_88], eax                                         ; +0x4f, 0x18000456f\nmov     r8, rbp                                                        ; +0x53, 0x180004573\nmov     eax, [rsp+0C8h+arg_48]                                         ; +0x56, 0x180004576\nmov     rdx, r12                                                       ; +0x5d, 0x18000457d\nmov     [rsp+0C8h+var_90], eax                                         ; +0x60, 0x180004580\nmov     rcx, r11                                                       ; +0x64, 0x180004584\nmov     eax, [rsp+0C8h+arg_40]                                         ; +0x67, 0x180004587\nmov     [rsp+0C8h+var_98], eax                                         ; +0x6e, 0x18000458e\nmov     eax, [rsp+0C8h+arg_38]                                         ; +0x72, 0x180004592\nmov     [rsp+0C8h+var_A0], eax                                         ; +0x79, 0x180004599\nmov     [rsp+0C8h+var_A8], r10                                         ; +0x7d, 0x18000459d\ncall    sub_180004FC0                                                  ; +0x82, 0x1800045a2\nadd     rsp, 0A8h                                                      ; +0x87, 0x1800045a7\npop     r15                                                            ; +0x8e, 0x1800045ae\npop     r12                                                            ; +0x90, 0x1800045b0\npop     rbp                                                            ; +0x92, 0x1800045b2\npop     rbx                                                            ; +0x93, 0x1800045b3\nretn                                                                   ; +0x94, 0x1800045b4\ncmp     r15d, 2                                                        ; +0x95, 0x1800045b5\njnz     short loc_1800045FF                                            ; +0x99, 0x1800045b9\nlea     rcx, [r10+1000h]                                               ; +0x9b, 0x1800045bb\nlea     rdx, [rbx+800h]                                                ; +0xa2, 0x1800045c2\nmov     r9, rbx                                                        ; +0xa9, 0x1800045c9\nmov     r8, rbp                                                        ; +0xac, 0x1800045cc\nmov     [rsp+0C8h+arg_30], rcx                                         ; +0xaf, 0x1800045cf\nmov     rcx, r11                                                       ; +0xb7, 0x1800045d7\nmov     [rsp+0C8h+arg_28], r10                                         ; +0xba, 0x1800045da\nmov     [rsp+0C8h+arg_20], rdx                                         ; +0xc2, 0x1800045e2\nmov     rdx, r12                                                       ; +0xca, 0x1800045ea\nadd     rsp, 0A8h                                                      ; +0xcd, 0x1800045ed\npop     r15                                                            ; +0xd4, 0x1800045f4\npop     r12                                                            ; +0xd6, 0x1800045f6\npop     rbp                                                            ; +0xd8, 0x1800045f8\npop     rbx                                                            ; +0xd9, 0x1800045f9\njmp     sub_180005220                                                  ; +0xda, 0x1800045fa\nmov     r9d, [rsp+0C8h+arg_38]                                         ; +0xdf, 0x1800045ff\nmov     rdx, r15                                                       ; +0xe7, 0x180004607\nmov     [rsp+0C8h+arg_8], rsi                                          ; +0xea, 0x18000460a\nmov     [rsp+0C8h+arg_10], rdi                                         ; +0xf2, 0x180004612\nmov     [rsp+0C8h+arg_18], r13                                         ; +0xfa, 0x18000461a\nmov     r13d, r9d                                                      ; +0x102, 0x180004622\nsar     r13d, 2                                                        ; +0x105, 0x180004625\nmov     [rsp+0C8h+var_28], r14                                         ; +0x109, 0x180004629\ntest    r13d, r13d                                                     ; +0x111, 0x180004631\njz      loc_1800047D1                                                  ; +0x114, 0x180004634\nmov     eax, r15d                                                      ; +0x11a, 0x18000463a\nmov     ecx, r15d                                                      ; +0x11d, 0x18000463d\nsar     eax, 2                                                         ; +0x120, 0x180004640\nand     ecx, 3                                                         ; +0x123, 0x180004643\nmov     dword ptr [rsp+0C8h+arg_28], eax                               ; +0x126, 0x180004646\nlea     eax, ds:0[r15*4]                                               ; +0x12d, 0x18000464d\nmov     r15d, dword ptr [rsp+0C8h+arg_28]                              ; +0x135, 0x180004655\ncdqe                                                                   ; +0x13d, 0x18000465d\nshl     rax, 2                                                         ; +0x13f, 0x18000465f\nmov     [rsp+0C8h+arg_0], rax                                          ; +0x143, 0x180004663\nmov     dword ptr [rsp+0C8h+arg_20], ecx                               ; +0x14b, 0x18000466b\nsub     rbx, 10h                                                       ; +0x152, 0x180004672\nxor     r8d, r8d                                                       ; +0x156, 0x180004676\nmov     edi, r15d                                                      ; +0x159, 0x180004679\ntest    r15d, r15d                                                     ; +0x15c, 0x18000467c\njz      loc_180004721                                                  ; +0x15f, 0x18000467f\nmov     rsi, rdx                                                       ; +0x165, 0x180004685\nlea     rax, [rdx+rdx*2]                                               ; +0x168, 0x180004688\nneg     rsi                                                            ; +0x16c, 0x18000468c\nlea     r9, [r11+rax*4]                                                ; +0x16f, 0x18000468f\nimul    r14, rdx, -0Ch                                                 ; +0x173, 0x180004693\nlea     rcx, [rbx+1000h]                                               ; +0x177, 0x180004697\nxchg    ax, ax                                                         ; +0x17e, 0x18000469e\nmovups  xmm0, xmmword ptr [rcx-800h]                                   ; +0x180, 0x1800046a0\nlea     rax, [r8+rdx]                                                  ; +0x187, 0x1800046a7\nadd     r8, 4                                                          ; +0x18b, 0x1800046ab\nlea     r9, [r9+10h]                                                   ; +0x18f, 0x1800046af\nmovups  xmm1, xmmword ptr [rcx+800h]                                   ; +0x193, 0x1800046b3\nmovups  xmm4, xmmword ptr [rcx-1000h]                                  ; +0x19a, 0x1800046ba\nmovups  xmm2, xmmword ptr [rcx]                                        ; +0x1a1, 0x1800046c1\nlea     rcx, [rcx+2000h]                                               ; +0x1a4, 0x1800046c4\nmovaps  xmm3, xmm4                                                     ; +0x1ab, 0x1800046cb\nshufps  xmm4, xmm0, 0EEh                                               ; +0x1ae, 0x1800046ce\nshufps  xmm3, xmm0, 44h ; 'D'                                          ; +0x1b2, 0x1800046d2\nmovaps  xmm0, xmm2                                                     ; +0x1b6, 0x1800046d6\nshufps  xmm0, xmm1, 44h ; 'D'                                          ; +0x1b9, 0x1800046d9\nshufps  xmm2, xmm1, 0EEh                                               ; +0x1bd, 0x1800046dd\nmovaps  xmm1, xmm3                                                     ; +0x1c1, 0x1800046e1\nshufps  xmm1, xmm0, 88h                                                ; +0x1c4, 0x1800046e4\nshufps  xmm3, xmm0, 0DDh                                               ; +0x1c8, 0x1800046e8\nmovaps  xmm0, xmm4                                                     ; +0x1cc, 0x1800046ec\nshufps  xmm4, xmm2, 0DDh                                               ; +0x1cf, 0x1800046ef\nshufps  xmm0, xmm2, 88h                                                ; +0x1d3, 0x1800046f3\nmovups  xmmword ptr [r14+r9-10h], xmm4                                 ; +0x1d7, 0x1800046f7\nmovups  xmmword ptr [r11+rax*4], xmm0                                  ; +0x1dd, 0x1800046fd\nmovups  xmmword ptr [r9+rsi*4-10h], xmm3                               ; +0x1e2, 0x180004702\nmovups  xmmword ptr [r9-10h], xmm1                                     ; +0x1e8, 0x180004708\nsub     edi, 1                                                         ; +0x1ed, 0x18000470d\njnz     short loc_1800046A0                                            ; +0x1f0, 0x180004710\nmov     ecx, dword ptr [rsp+0C8h+arg_20]                               ; +0x1f2, 0x180004712\nmov     rax, [rsp+0C8h+arg_0]                                          ; +0x1f9, 0x180004719\nmov     esi, ecx                                                       ; +0x201, 0x180004721\ntest    ecx, ecx                                                       ; +0x203, 0x180004723\njz      loc_1800047B4                                                  ; +0x205, 0x180004725\nlea     rcx, [r8+rdx*2]                                                ; +0x20b, 0x18000472b\nmov     rdi, r8                                                        ; +0x20f, 0x18000472f\nadd     rcx, rdx                                                       ; +0x212, 0x180004732\nshl     rdi, 0Bh                                                       ; +0x215, 0x180004735\nadd     rdi, rbx                                                       ; +0x219, 0x180004739\nlea     r9, [r11+rcx*4]                                                ; +0x21c, 0x18000473c\nmov     rcx, rdx                                                       ; +0x220, 0x180004740\nneg     rcx                                                            ; +0x223, 0x180004743\nimul    r14, rdx, -0Ch                                                 ; +0x226, 0x180004746\nnop     word ptr [rax+rax+00h]                                         ; +0x22a, 0x18000474a\nlea     rax, [r8+rdx]                                                  ; +0x230, 0x180004750\nlea     r9, [r9+4]                                                     ; +0x234, 0x180004754\nlea     r8, [r8+1]                                                     ; +0x238, 0x180004758\nmovups  xmm2, xmmword ptr [rdi]                                        ; +0x23c, 0x18000475c\nlea     rdi, [rdi+800h]                                                ; +0x23f, 0x18000475f\nmovdqa  xmm0, xmm2                                                     ; +0x246, 0x180004766\nmovdqa  xmm1, xmm2                                                     ; +0x24a, 0x18000476a\npsrldq  xmm0, 0Ch                                                      ; +0x24e, 0x18000476e\nmovss   dword ptr [r9+r14-4], xmm0                                     ; +0x253, 0x180004773\nmovdqa  xmm0, xmm2                                                     ; +0x25a, 0x18000477a\npsrldq  xmm1, 8                                                        ; +0x25e, 0x18000477e\nmovss   dword ptr [r11+rax*4], xmm1                                    ; +0x263, 0x180004783\npsrldq  xmm0, 4                                                        ; +0x269, 0x180004789\nmovss   dword ptr [r9+rcx*4-4], xmm0                                   ; +0x26e, 0x18000478e\npsrldq  xmm2, 0                                                        ; +0x275, 0x180004795\nmovss   dword ptr [r9-4], xmm2                                         ; +0x27a, 0x18000479a\nsub     esi, 1                                                         ; +0x280, 0x1800047a0\njnz     short loc_180004750                                            ; +0x283, 0x1800047a3\nmov     ecx, dword ptr [rsp+0C8h+arg_20]                               ; +0x285, 0x1800047a5\nmov     rax, [rsp+0C8h+arg_0]                                          ; +0x28c, 0x1800047ac\nadd     r11, rax                                                       ; +0x294, 0x1800047b4\nsub     r13d, 1                                                        ; +0x297, 0x1800047b7\njnz     loc_180004672                                                  ; +0x29b, 0x1800047bb\nmov     r15d, dword ptr [rsp+0C8h+arg_30]                              ; +0x2a1, 0x1800047c1\nmov     r9d, [rsp+0C8h+arg_38]                                         ; +0x2a9, 0x1800047c9\nand     r9d, 3                                                         ; +0x2b1, 0x1800047d1\njz      short loc_18000480C                                            ; +0x2b5, 0x1800047d5\nnop     word ptr [rax+rax+00000000h]                                   ; +0x2b7, 0x1800047d7\nsub     rbx, 4                                                         ; +0x2c0, 0x1800047e0\nmov     r8d, r15d                                                      ; +0x2c4, 0x1800047e4\ntest    r15d, r15d                                                     ; +0x2c7, 0x1800047e7\njz      short loc_180004806                                            ; +0x2ca, 0x1800047ea\nmov     rcx, rbx                                                       ; +0x2cc, 0x1800047ec\nnop                                                                    ; +0x2cf, 0x1800047ef\nmov     eax, [rcx]                                                     ; +0x2d0, 0x1800047f0\nlea     rcx, [rcx+800h]                                                ; +0x2d2, 0x1800047f2\nmov     [r11], eax                                                     ; +0x2d9, 0x1800047f9\nadd     r11, 4                                                         ; +0x2dc, 0x1800047fc\nsub     r8d, 1                                                         ; +0x2e0, 0x180004800\njnz     short loc_1800047F0                                            ; +0x2e4, 0x180004804\nsub     r9d, 1                                                         ; +0x2e6, 0x180004806\njnz     short loc_1800047E0                                            ; +0x2ea, 0x18000480a\nmov     r9d, [rsp+0C8h+arg_40]                                         ; +0x2ec, 0x18000480c\nmov     ecx, r9d                                                       ; +0x2f4, 0x180004814\nsar     ecx, 2                                                         ; +0x2f7, 0x180004817\nmovaps  [rsp+0C8h+var_38], xmm6                                        ; +0x2fa, 0x18000481a\nmovaps  [rsp+0C8h+var_48], xmm7                                        ; +0x302, 0x180004822\nmov     dword ptr [rsp+0C8h+arg_20], ecx                               ; +0x30a, 0x18000482a\ntest    ecx, ecx                                                       ; +0x311, 0x180004831\njz      loc_180004A6F                                                  ; +0x313, 0x180004833\nmov     r8d, r15d                                                      ; +0x319, 0x180004839\nlea     eax, ds:0[r15*4]                                               ; +0x31c, 0x18000483c\nmov     r13d, r15d                                                     ; +0x324, 0x180004844\nsar     r8d, 2                                                         ; +0x327, 0x180004847\nand     r13d, 3                                                        ; +0x32b, 0x18000484b\nmovsxd  r15, eax                                                       ; +0x32f, 0x18000484f\nshl     r15, 2                                                         ; +0x332, 0x180004852\nmov     [rsp+0C8h+var_68], r15                                         ; +0x336, 0x180004856\nmov     dword ptr [rsp+0C8h+arg_0], r8d                                ; +0x33b, 0x18000485b\nmov     dword ptr [rsp+0C8h+arg_28], r13d                              ; +0x343, 0x180004863\nnop     dword ptr [rax+rax+00h]                                        ; +0x34b, 0x18000486b\nmovups  xmm6, xmmword ptr [r12-10h]                                    ; +0x350, 0x180004870\nsub     r12, 10h                                                       ; +0x356, 0x180004876\nsub     rbx, 10h                                                       ; +0x35a, 0x18000487a\nmovups  xmm7, xmmword ptr [rbp+0]                                      ; +0x35e, 0x18000487e\nxor     esi, esi                                                       ; +0x362, 0x180004882\ntest    r8d, r8d                                                       ; +0x364, 0x180004884\njz      loc_18000498A                                                  ; +0x367, 0x180004887\nmov     rcx, rdx                                                       ; +0x36d, 0x18000488d\nlea     rax, [rdx+rdx*2]                                               ; +0x370, 0x180004890\nneg     rcx                                                            ; +0x374, 0x180004894\nlea     r14, [r11+rax*4]                                               ; +0x377, 0x180004897\nimul    r15, rdx, -0Ch                                                 ; +0x37b, 0x18000489b\nlea     r9, [r10+2000h]                                                ; +0x37f, 0x18000489f\nlea     rdi, [rbx+1000h]                                               ; +0x386, 0x1800048a6\nnop     dword ptr [rax]                                                ; +0x38d, 0x1800048ad\nmovups  xmm0, xmmword ptr [rdi-1000h]                                  ; +0x390, 0x1800048b0\nlea     rax, [rsi+rdx]                                                 ; +0x397, 0x1800048b7\nadd     rsi, 4                                                         ; +0x39b, 0x1800048bb\nmovups  xmm1, xmmword ptr [rdi-800h]                                   ; +0x39f, 0x1800048bf\nmovups  xmm4, xmmword ptr [r9-2000h]                                   ; +0x3a6, 0x1800048c6\nmovups  xmm3, xmmword ptr [r9-1000h]                                   ; +0x3ae, 0x1800048ce\nmovups  xmm5, xmmword ptr [rdi]                                        ; +0x3b6, 0x1800048d6\nmovups  xmm2, xmmword ptr [rdi+800h]                                   ; +0x3b9, 0x1800048d9\nadd     rdi, 2000h                                                     ; +0x3c0, 0x1800048e0\nmulps   xmm1, xmm6                                                     ; +0x3c7, 0x1800048e7\nmulps   xmm0, xmm6                                                     ; +0x3ca, 0x1800048ea\nmulps   xmm2, xmm6                                                     ; +0x3cd, 0x1800048ed\nshufps  xmm1, xmm1, 1Bh                                                ; +0x3d0, 0x1800048f0\nshufps  xmm0, xmm0, 1Bh                                                ; +0x3d4, 0x1800048f4\nmulps   xmm4, xmm7                                                     ; +0x3d8, 0x1800048f8\nshufps  xmm2, xmm2, 1Bh                                                ; +0x3db, 0x1800048fb\nmulps   xmm5, xmm6                                                     ; +0x3df, 0x1800048ff\naddps   xmm4, xmm0                                                     ; +0x3e2, 0x180004902\nmulps   xmm3, xmm7                                                     ; +0x3e5, 0x180004905\nmovups  xmm0, xmmword ptr [r9]                                         ; +0x3e8, 0x180004908\nshufps  xmm5, xmm5, 1Bh                                                ; +0x3ec, 0x18000490c\naddps   xmm3, xmm1                                                     ; +0x3f0, 0x180004910\nmovaps  xmm1, xmm7                                                     ; +0x3f3, 0x180004913\nmulps   xmm1, xmm0                                                     ; +0x3f6, 0x180004916\naddps   xmm5, xmm1                                                     ; +0x3f9, 0x180004919\nmovups  xmm1, xmmword ptr [r9+1000h]                                   ; +0x3fc, 0x18000491c\nadd     r9, 4000h                                                      ; +0x404, 0x180004924\nmulps   xmm1, xmm7                                                     ; +0x40b, 0x18000492b\nmovaps  xmm0, xmm5                                                     ; +0x40e, 0x18000492e\naddps   xmm1, xmm2                                                     ; +0x411, 0x180004931\nmovaps  xmm2, xmm4                                                     ; +0x414, 0x180004934\nshufps  xmm2, xmm3, 44h ; 'D'                                          ; +0x417, 0x180004937\nshufps  xmm4, xmm3, 0EEh                                               ; +0x41b, 0x18000493b\nshufps  xmm0, xmm1, 44h ; 'D'                                          ; +0x41f, 0x18000493f\nshufps  xmm5, xmm1, 0EEh                                               ; +0x423, 0x180004943\nmovaps  xmm1, xmm2                                                     ; +0x427, 0x180004947\nshufps  xmm1, xmm0, 88h                                                ; +0x42a, 0x18000494a\nmovups  xmmword ptr [r15+r14], xmm1                                    ; +0x42e, 0x18000494e\nshufps  xmm2, xmm0, 0DDh                                               ; +0x433, 0x180004953\nmovaps  xmm0, xmm4                                                     ; +0x437, 0x180004957\nmovups  xmmword ptr [r11+rax*4], xmm2                                  ; +0x43a, 0x18000495a\nshufps  xmm0, xmm5, 88h                                                ; +0x43f, 0x18000495f\nmovups  xmmword ptr [r14+rcx*4], xmm0                                  ; +0x443, 0x180004963\nshufps  xmm4, xmm5, 0DDh                                               ; +0x448, 0x180004968\nmovups  xmmword ptr [r14], xmm4                                        ; +0x44c, 0x18000496c\nadd     r14, 10h                                                       ; +0x450, 0x180004970\nsub     r8d, 1                                                         ; +0x454, 0x180004974\njnz     loc_1800048B0                                                  ; +0x458, 0x180004978\nmov     ecx, dword ptr [rsp+0C8h+arg_20]                               ; +0x45e, 0x18000497e\nmov     r15, [rsp+0C8h+var_68]                                         ; +0x465, 0x180004985\nmov     r14d, r13d                                                     ; +0x46a, 0x18000498a\ntest    r13d, r13d                                                     ; +0x46d, 0x18000498d\njz      loc_180004A3C                                                  ; +0x470, 0x180004990\nlea     rcx, [rsi+rdx*2]                                               ; +0x476, 0x180004996\nmov     r9, rsi                                                        ; +0x47a, 0x18000499a\nadd     rcx, rdx                                                       ; +0x47d, 0x18000499d\nshl     r9, 0Ch                                                        ; +0x480, 0x1800049a0\nmov     rdi, rsi                                                       ; +0x484, 0x1800049a4\nadd     r9, r10                                                        ; +0x487, 0x1800049a7\nshl     rdi, 0Bh                                                       ; +0x48a, 0x1800049aa\nadd     rdi, rbx                                                       ; +0x48e, 0x1800049ae\nlea     r8, [r11+rcx*4]                                                ; +0x491, 0x1800049b1\nmov     rcx, rdx                                                       ; +0x495, 0x1800049b5\nneg     rcx                                                            ; +0x498, 0x1800049b8\nimul    r13, rdx, -0Ch                                                 ; +0x49b, 0x1800049bb\nnop                                                                    ; +0x49f, 0x1800049bf\nmovups  xmm0, xmmword ptr [rdi]                                        ; +0x4a0, 0x1800049c0\nlea     rax, [rsi+rdx]                                                 ; +0x4a3, 0x1800049c3\ninc     rsi                                                            ; +0x4a7, 0x1800049c7\nmovaps  xmm2, xmm6                                                     ; +0x4aa, 0x1800049ca\nadd     rdi, 800h                                                      ; +0x4ad, 0x1800049cd\nmulps   xmm2, xmm0                                                     ; +0x4b4, 0x1800049d4\nmovups  xmm0, xmmword ptr [r9]                                         ; +0x4b7, 0x1800049d7\nadd     r9, 1000h                                                      ; +0x4bb, 0x1800049db\nmulps   xmm0, xmm7                                                     ; +0x4c2, 0x1800049e2\nshufps  xmm2, xmm2, 1Bh                                                ; +0x4c5, 0x1800049e5\naddps   xmm2, xmm0                                                     ; +0x4c9, 0x1800049e9\nmovdqa  xmm0, xmm2                                                     ; +0x4cc, 0x1800049ec\nmovdqa  xmm1, xmm2                                                     ; +0x4d0, 0x1800049f0\npsrldq  xmm0, 0                                                        ; +0x4d4, 0x1800049f4\nmovss   dword ptr [r8+r13], xmm0                                       ; +0x4d9, 0x1800049f9\nmovdqa  xmm0, xmm2                                                     ; +0x4df, 0x1800049ff\npsrldq  xmm1, 4                                                        ; +0x4e3, 0x180004a03\nmovss   dword ptr [r11+rax*4], xmm1                                    ; +0x4e8, 0x180004a08\npsrldq  xmm0, 8                                                        ; +0x4ee, 0x180004a0e\nmovss   dword ptr [r8+rcx*4], xmm0                                     ; +0x4f3, 0x180004a13\npsrldq  xmm2, 0Ch                                                      ; +0x4f9, 0x180004a19\nmovss   dword ptr [r8], xmm2                                           ; +0x4fe, 0x180004a1e\nadd     r8, 4                                                          ; +0x503, 0x180004a23\nsub     r14d, 1                                                        ; +0x507, 0x180004a27\njnz     short loc_1800049C0                                            ; +0x50b, 0x180004a2b\nmov     ecx, dword ptr [rsp+0C8h+arg_20]                               ; +0x50d, 0x180004a2d\nmov     r13d, dword ptr [rsp+0C8h+arg_28]                              ; +0x514, 0x180004a34\nmov     r8d, dword ptr [rsp+0C8h+arg_0]                                ; +0x51c, 0x180004a3c\nadd     r11, r15                                                       ; +0x524, 0x180004a44\nadd     r10, 10h                                                       ; +0x527, 0x180004a47\nadd     rbp, 10h                                                       ; +0x52b, 0x180004a4b\nsub     ecx, 1                                                         ; +0x52f, 0x180004a4f\nmov     dword ptr [rsp+0C8h+arg_20], ecx                               ; +0x532, 0x180004a52\njnz     loc_180004870                                                  ; +0x539, 0x180004a59\nmov     r15d, dword ptr [rsp+0C8h+arg_30]                              ; +0x53f, 0x180004a5f\nmov     r9d, [rsp+0C8h+arg_40]                                         ; +0x547, 0x180004a67\nand     r9d, 3                                                         ; +0x54f, 0x180004a6f\njz      loc_180004AEC                                                  ; +0x553, 0x180004a73\nnop     dword ptr [rax+00000000h]                                      ; +0x559, 0x180004a79\nmovss   xmm2, dword ptr [r12-4]                                        ; +0x560, 0x180004a80\nsub     r12, 4                                                         ; +0x567, 0x180004a87\nmovss   xmm3, dword ptr [rbp+0]                                        ; +0x56b, 0x180004a8b\nsub     rbx, 4                                                         ; +0x570, 0x180004a90\nmov     r8d, r15d                                                      ; +0x574, 0x180004a94\ntest    r15d, r15d                                                     ; +0x577, 0x180004a97\njz      short loc_180004ADE                                            ; +0x57a, 0x180004a9a\nmov     rax, r10                                                       ; +0x57c, 0x180004a9c\nmov     rcx, rbx                                                       ; +0x57f, 0x180004a9f\nnop     dword ptr [rax+00h]                                            ; +0x582, 0x180004aa2\nnop     word ptr [rax+rax+00000000h]                                   ; +0x586, 0x180004aa6\nmovaps  xmm1, xmm3                                                     ; +0x590, 0x180004ab0\nmovaps  xmm0, xmm2                                                     ; +0x593, 0x180004ab3\nmulss   xmm1, dword ptr [rax]                                          ; +0x596, 0x180004ab6\nadd     rax, 1000h                                                     ; +0x59a, 0x180004aba\nmulss   xmm0, dword ptr [rcx]                                          ; +0x5a0, 0x180004ac0\nadd     rcx, 800h                                                      ; +0x5a4, 0x180004ac4\naddss   xmm1, xmm0                                                     ; +0x5ab, 0x180004acb\nmovss   dword ptr [r11], xmm1                                          ; +0x5af, 0x180004acf\nadd     r11, 4                                                         ; +0x5b4, 0x180004ad4\nsub     r8d, 1                                                         ; +0x5b8, 0x180004ad8\njnz     short loc_180004AB0                                            ; +0x5bc, 0x180004adc\nadd     r10, 4                                                         ; +0x5be, 0x180004ade\nadd     rbp, 4                                                         ; +0x5c2, 0x180004ae2\nsub     r9d, 1                                                         ; +0x5c6, 0x180004ae6\njnz     short loc_180004A80                                            ; +0x5ca, 0x180004aea\nmov     r9d, [rsp+0C8h+arg_48]                                         ; +0x5cc, 0x180004aec\nmov     r8d, r9d                                                       ; +0x5d4, 0x180004af4\nsar     r8d, 2                                                         ; +0x5d7, 0x180004af7\nmov     dword ptr [rsp+0C8h+arg_20], r8d                               ; +0x5db, 0x180004afb\ntest    r8d, r8d                                                       ; +0x5e3, 0x180004b03\njz      loc_180004D65                                                  ; +0x5e6, 0x180004b06\nmov     eax, r15d                                                      ; +0x5ec, 0x180004b0c\nmovaps  [rsp+0C8h+var_58], xmm8                                        ; +0x5ef, 0x180004b0f\nsar     eax, 2                                                         ; +0x5f5, 0x180004b15\nmov     r13d, r15d                                                     ; +0x5f8, 0x180004b18\nmov     dword ptr [rsp+0C8h+arg_28], eax                               ; +0x5fb, 0x180004b1b\nand     r13d, 3                                                        ; +0x602, 0x180004b22\nlea     eax, ds:0[r15*4]                                               ; +0x606, 0x180004b26\nmov     dword ptr [rsp+0C8h+arg_0], r13d                               ; +0x60e, 0x180004b2e\nmov     r15d, dword ptr [rsp+0C8h+arg_28]                              ; +0x616, 0x180004b36\ncdqe                                                                   ; +0x61e, 0x180004b3e\nshl     rax, 2                                                         ; +0x620, 0x180004b40\nmov     [rsp+0C8h+var_68], rax                                         ; +0x624, 0x180004b44\nnop     dword ptr [rax+00000000h]                                      ; +0x629, 0x180004b49\nmovups  xmm7, xmmword ptr [r12-10h]                                    ; +0x630, 0x180004b50\nsub     r12, 10h                                                       ; +0x636, 0x180004b56\nsub     r10, 10h                                                       ; +0x63a, 0x180004b5a\nmovups  xmm8, xmmword ptr [rbp+0]                                      ; +0x63e, 0x180004b5e\nxor     r9d, r9d                                                       ; +0x643, 0x180004b63\nmov     rcx, r15                                                       ; +0x646, 0x180004b66\nshufps  xmm7, xmm7, 1Bh                                                ; +0x649, 0x180004b69\ntest    r15d, r15d                                                     ; +0x64d, 0x180004b6d\njz      loc_180004C72                                                  ; +0x650, 0x180004b70\nmov     rax, rdx                                                       ; +0x656, 0x180004b76\nlea     r8, [r11+rdx*8]                                                ; +0x659, 0x180004b79\nmov     r14, rdx                                                       ; +0x65d, 0x180004b7d\nlea     rdi, [r10+2000h]                                               ; +0x660, 0x180004b80\nneg     rax                                                            ; +0x667, 0x180004b87\nlea     rsi, [rbx+1000h]                                               ; +0x66a, 0x180004b8a\nneg     r14                                                            ; +0x671, 0x180004b91\nmov     r9, rcx                                                        ; +0x674, 0x180004b94\nshl     r9, 2                                                          ; +0x677, 0x180004b97\nnop     dword ptr [rax+rax+00h]                                        ; +0x67b, 0x180004b9b\nmovups  xmm0, xmmword ptr [rdi-2000h]                                  ; +0x680, 0x180004ba0\nmovups  xmm1, xmmword ptr [rdi-1000h]                                  ; +0x687, 0x180004ba7\nmovups  xmm6, xmmword ptr [rsi-1000h]                                  ; +0x68e, 0x180004bae\nmovups  xmm3, xmmword ptr [rsi-800h]                                   ; +0x695, 0x180004bb5\nmovups  xmm2, xmmword ptr [rdi]                                        ; +0x69c, 0x180004bbc\nmovups  xmm5, xmmword ptr [rdi+1000h]                                  ; +0x69f, 0x180004bbf\nadd     rdi, 4000h                                                     ; +0x6a6, 0x180004bc6\nshufps  xmm0, xmm0, 1Bh                                                ; +0x6ad, 0x180004bcd\nmovaps  xmm4, xmm7                                                     ; +0x6b1, 0x180004bd1\nmulps   xmm0, xmm8                                                     ; +0x6b4, 0x180004bd4\nshufps  xmm1, xmm1, 1Bh                                                ; +0x6b8, 0x180004bd8\nmulps   xmm1, xmm8                                                     ; +0x6bc, 0x180004bdc\nshufps  xmm2, xmm2, 1Bh                                                ; +0x6c0, 0x180004be0\nmulps   xmm2, xmm8                                                     ; +0x6c4, 0x180004be4\nmulps   xmm6, xmm7                                                     ; +0x6c8, 0x180004be8\nmulps   xmm3, xmm7                                                     ; +0x6cb, 0x180004beb\nshufps  xmm5, xmm5, 1Bh                                                ; +0x6ce, 0x180004bee\nsubps   xmm6, xmm0                                                     ; +0x6d2, 0x180004bf2\nmulps   xmm5, xmm8                                                     ; +0x6d5, 0x180004bf5\nmovups  xmm0, xmmword ptr [rsi]                                        ; +0x6d9, 0x180004bf9\nsubps   xmm3, xmm1                                                     ; +0x6dc, 0x180004bfc\nmovups  xmm1, xmmword ptr [rsi+800h]                                   ; +0x6df, 0x180004bff\nadd     rsi, 2000h                                                     ; +0x6e6, 0x180004c06\nmulps   xmm4, xmm0                                                     ; +0x6ed, 0x180004c0d\nmulps   xmm1, xmm7                                                     ; +0x6f0, 0x180004c10\nsubps   xmm4, xmm2                                                     ; +0x6f3, 0x180004c13\nmovaps  xmm2, xmm6                                                     ; +0x6f6, 0x180004c16\nshufps  xmm2, xmm3, 44h ; 'D'                                          ; +0x6f9, 0x180004c19\nsubps   xmm1, xmm5                                                     ; +0x6fd, 0x180004c1d\nshufps  xmm6, xmm3, 0EEh                                               ; +0x700, 0x180004c20\nmovaps  xmm0, xmm4                                                     ; +0x704, 0x180004c24\nshufps  xmm0, xmm1, 44h ; 'D'                                          ; +0x707, 0x180004c27\nshufps  xmm4, xmm1, 0EEh                                               ; +0x70b, 0x180004c2b\nmovaps  xmm1, xmm2                                                     ; +0x70f, 0x180004c2f\nshufps  xmm1, xmm0, 88h                                                ; +0x712, 0x180004c32\nmovups  xmmword ptr [r8+r14*8], xmm1                                   ; +0x716, 0x180004c36\nshufps  xmm2, xmm0, 0DDh                                               ; +0x71b, 0x180004c3b\nmovaps  xmm0, xmm6                                                     ; +0x71f, 0x180004c3f\nmovups  xmmword ptr [r8+rax*4], xmm2                                   ; +0x722, 0x180004c42\nshufps  xmm0, xmm4, 88h                                                ; +0x727, 0x180004c47\nmovups  xmmword ptr [r8], xmm0                                         ; +0x72b, 0x180004c4b\nshufps  xmm6, xmm4, 0DDh                                               ; +0x72f, 0x180004c4f\nmovups  xmmword ptr [r8+rdx*4], xmm6                                   ; +0x733, 0x180004c53\nadd     r8, 10h                                                        ; +0x738, 0x180004c58\nsub     ecx, 1                                                         ; +0x73c, 0x180004c5c\njnz     loc_180004BA0                                                  ; +0x73f, 0x180004c5f\nmov     r8d, dword ptr [rsp+0C8h+arg_20]                               ; +0x745, 0x180004c65\nmov     rax, [rsp+0C8h+var_68]                                         ; +0x74d, 0x180004c6d\nmov     r14d, r13d                                                     ; +0x752, 0x180004c72\ntest    r13d, r13d                                                     ; +0x755, 0x180004c75\njz      loc_180004D32                                                  ; +0x758, 0x180004c78\nlea     rcx, [r9+rdx*2]                                                ; +0x75e, 0x180004c7e\nmov     rdi, r9                                                        ; +0x762, 0x180004c82\nadd     rcx, rdx                                                       ; +0x765, 0x180004c85\nshl     rdi, 0Ch                                                       ; +0x768, 0x180004c88\nmov     rsi, r9                                                        ; +0x76c, 0x180004c8c\nadd     rdi, r10                                                       ; +0x76f, 0x180004c8f\nshl     rsi, 0Bh                                                       ; +0x772, 0x180004c92\nadd     rsi, rbx                                                       ; +0x776, 0x180004c96\nlea     r8, [r11+rcx*4]                                                ; +0x779, 0x180004c99\nmov     rcx, rdx                                                       ; +0x77d, 0x180004c9d\nneg     rcx                                                            ; +0x780, 0x180004ca0\nimul    r13, rdx, -0Ch                                                 ; +0x783, 0x180004ca3\nnop     word ptr [rax+rax+00000000h]                                   ; +0x787, 0x180004ca7\nmovups  xmm0, xmmword ptr [rsi]                                        ; +0x790, 0x180004cb0\nlea     rax, [r9+rdx]                                                  ; +0x793, 0x180004cb3\ninc     r9                                                             ; +0x797, 0x180004cb7\nmovups  xmm1, xmmword ptr [rdi]                                        ; +0x79a, 0x180004cba\nadd     rsi, 800h                                                      ; +0x79d, 0x180004cbd\nadd     rdi, 1000h                                                     ; +0x7a4, 0x180004cc4\nmovaps  xmm2, xmm7                                                     ; +0x7ab, 0x180004ccb\nmulps   xmm2, xmm0                                                     ; +0x7ae, 0x180004cce\nshufps  xmm1, xmm1, 1Bh                                                ; +0x7b1, 0x180004cd1\nmulps   xmm1, xmm8                                                     ; +0x7b5, 0x180004cd5\nsubps   xmm2, xmm1                                                     ; +0x7b9, 0x180004cd9\nmovdqa  xmm0, xmm2                                                     ; +0x7bc, 0x180004cdc\nmovdqa  xmm1, xmm2                                                     ; +0x7c0, 0x180004ce0\npsrldq  xmm0, 0                                                        ; +0x7c4, 0x180004ce4\nmovss   dword ptr [r8+r13], xmm0                                       ; +0x7c9, 0x180004ce9\nmovdqa  xmm0, xmm2                                                     ; +0x7cf, 0x180004cef\npsrldq  xmm1, 4                                                        ; +0x7d3, 0x180004cf3\nmovss   dword ptr [r11+rax*4], xmm1                                    ; +0x7d8, 0x180004cf8\npsrldq  xmm0, 8                                                        ; +0x7de, 0x180004cfe\nmovss   dword ptr [r8+rcx*4], xmm0                                     ; +0x7e3, 0x180004d03\npsrldq  xmm2, 0Ch                                                      ; +0x7e9, 0x180004d09\nmovss   dword ptr [r8], xmm2                                           ; +0x7ee, 0x180004d0e\nadd     r8, 4                                                          ; +0x7f3, 0x180004d13\nsub     r14d, 1                                                        ; +0x7f7, 0x180004d17\njnz     short loc_180004CB0                                            ; +0x7fb, 0x180004d1b\nmov     r8d, dword ptr [rsp+0C8h+arg_20]                               ; +0x7fd, 0x180004d1d\nmov     r13d, dword ptr [rsp+0C8h+arg_0]                               ; +0x805, 0x180004d25\nmov     rax, [rsp+0C8h+var_68]                                         ; +0x80d, 0x180004d2d\nadd     r11, rax                                                       ; +0x812, 0x180004d32\nadd     rbx, 10h                                                       ; +0x815, 0x180004d35\nadd     rbp, 10h                                                       ; +0x819, 0x180004d39\nsub     r8d, 1                                                         ; +0x81d, 0x180004d3d\nmov     dword ptr [rsp+0C8h+arg_20], r8d                               ; +0x821, 0x180004d41\njnz     loc_180004B50                                                  ; +0x829, 0x180004d49\nmov     r15d, dword ptr [rsp+0C8h+arg_30]                              ; +0x82f, 0x180004d4f\nmov     r9d, [rsp+0C8h+arg_48]                                         ; +0x837, 0x180004d57\nmovaps  xmm8, [rsp+0C8h+var_58]                                        ; +0x83f, 0x180004d5f\nmovaps  xmm7, [rsp+0C8h+var_48]                                        ; +0x845, 0x180004d65\nmovaps  xmm6, [rsp+0C8h+var_38]                                        ; +0x84d, 0x180004d6d\nand     r9d, 3                                                         ; +0x855, 0x180004d75\njz      short loc_180004DDB                                            ; +0x859, 0x180004d79\nsub     r12, r10                                                       ; +0x85b, 0x180004d7b\nsub     rbx, rbp                                                       ; +0x85e, 0x180004d7e\nmovss   xmm3, dword ptr [rbp+0]                                        ; +0x861, 0x180004d81\nmov     rax, r10                                                       ; +0x866, 0x180004d86\nsub     r10, 4                                                         ; +0x869, 0x180004d89\nmov     r8d, r15d                                                      ; +0x86d, 0x180004d8d\nmovss   xmm2, dword ptr [rax+r12-4]                                    ; +0x870, 0x180004d90\ntest    r15d, r15d                                                     ; +0x877, 0x180004d97\njz      short loc_180004DD1                                            ; +0x87a, 0x180004d9a\nmov     rax, r10                                                       ; +0x87c, 0x180004d9c\nlea     rcx, [rbx+rbp]                                                 ; +0x87f, 0x180004d9f\nmovaps  xmm1, xmm2                                                     ; +0x883, 0x180004da3\nmovaps  xmm0, xmm3                                                     ; +0x886, 0x180004da6\nmulss   xmm1, dword ptr [rcx]                                          ; +0x889, 0x180004da9\nadd     rcx, 800h                                                      ; +0x88d, 0x180004dad\nmulss   xmm0, dword ptr [rax]                                          ; +0x894, 0x180004db4\nadd     rax, 1000h                                                     ; +0x898, 0x180004db8\nsubss   xmm1, xmm0                                                     ; +0x89e, 0x180004dbe\nmovss   dword ptr [r11], xmm1                                          ; +0x8a2, 0x180004dc2\nadd     r11, 4                                                         ; +0x8a7, 0x180004dc7\nsub     r8d, 1                                                         ; +0x8ab, 0x180004dcb\njnz     short loc_180004DA3                                            ; +0x8af, 0x180004dcf\nadd     rbp, 4                                                         ; +0x8b1, 0x180004dd1\nsub     r9d, 1                                                         ; +0x8b5, 0x180004dd5\njnz     short loc_180004D81                                            ; +0x8b9, 0x180004dd9\nmov     esi, [rsp+0C8h+arg_50]                                         ; +0x8bb, 0x180004ddb\nmov     ebp, esi                                                       ; +0x8c2, 0x180004de2\nsar     ebp, 2                                                         ; +0x8c4, 0x180004de4\ntest    ebp, ebp                                                       ; +0x8c7, 0x180004de7\njz      loc_180004F4E                                                  ; +0x8c9, 0x180004de9\nmovaps  xmm5, cs:xmmword_180144650                                     ; +0x8cf, 0x180004def\nlea     eax, ds:0[r15*4]                                               ; +0x8d6, 0x180004df6\nmov     r13d, r15d                                                     ; +0x8de, 0x180004dfe\nmovsxd  r12, eax                                                       ; +0x8e1, 0x180004e01\nmov     r14d, r15d                                                     ; +0x8e4, 0x180004e04\nsar     r13d, 2                                                        ; +0x8e7, 0x180004e07\nand     r14d, 3                                                        ; +0x8eb, 0x180004e0b\nshl     r12, 2                                                         ; +0x8ef, 0x180004e0f\nsub     r10, 10h                                                       ; +0x8f3, 0x180004e13\nmov     r8d, r13d                                                      ; +0x8f7, 0x180004e17\nxor     edi, edi                                                       ; +0x8fa, 0x180004e1a\ntest    r13d, r13d                                                     ; +0x8fc, 0x180004e1c\njz      loc_180004EB8                                                  ; +0x8ff, 0x180004e1f\nmov     r9, rdx                                                        ; +0x905, 0x180004e25\nlea     rax, [r11+rdx*8]                                               ; +0x908, 0x180004e28\nmov     rbx, rdx                                                       ; +0x90c, 0x180004e2c\nlea     rcx, [r10+2000h]                                               ; +0x90f, 0x180004e2f\nneg     r9                                                             ; +0x916, 0x180004e36\nneg     rbx                                                            ; +0x919, 0x180004e39\nmov     edi, r8d                                                       ; +0x91c, 0x180004e3c\nshl     rdi, 2                                                         ; +0x91f, 0x180004e3f\nlea     rax, [rax+10h]                                                 ; +0x923, 0x180004e43\nmovups  xmm4, xmmword ptr [rcx-2000h]                                  ; +0x927, 0x180004e47\nmovups  xmm0, xmmword ptr [rcx-1000h]                                  ; +0x92e, 0x180004e4e\nmulps   xmm4, xmm5                                                     ; +0x935, 0x180004e55\nmulps   xmm0, xmm5                                                     ; +0x938, 0x180004e58\nmovups  xmm3, xmmword ptr [rcx]                                        ; +0x93b, 0x180004e5b\nmovups  xmm1, xmmword ptr [rcx+1000h]                                  ; +0x93e, 0x180004e5e\nlea     rcx, [rcx+4000h]                                               ; +0x945, 0x180004e65\nmulps   xmm3, xmm5                                                     ; +0x94c, 0x180004e6c\nmovaps  xmm2, xmm4                                                     ; +0x94f, 0x180004e6f\nshufps  xmm2, xmm0, 44h ; 'D'                                          ; +0x952, 0x180004e72\nshufps  xmm4, xmm0, 0EEh                                               ; +0x956, 0x180004e76\nmulps   xmm1, xmm5                                                     ; +0x95a, 0x180004e7a\nmovaps  xmm0, xmm3                                                     ; +0x95d, 0x180004e7d\nshufps  xmm0, xmm1, 44h ; 'D'                                          ; +0x960, 0x180004e80\nshufps  xmm3, xmm1, 0EEh                                               ; +0x964, 0x180004e84\nmovaps  xmm1, xmm2                                                     ; +0x968, 0x180004e88\nshufps  xmm1, xmm0, 88h                                                ; +0x96b, 0x180004e8b\nshufps  xmm2, xmm0, 0DDh                                               ; +0x96f, 0x180004e8f\nmovaps  xmm0, xmm4                                                     ; +0x973, 0x180004e93\nshufps  xmm4, xmm3, 0DDh                                               ; +0x976, 0x180004e96\nshufps  xmm0, xmm3, 88h                                                ; +0x97a, 0x180004e9a\nmovups  xmmword ptr [rax+rbx*8-10h], xmm4                              ; +0x97e, 0x180004e9e\nmovups  xmmword ptr [rax+r9*4-10h], xmm0                               ; +0x983, 0x180004ea3\nmovups  xmmword ptr [rax-10h], xmm2                                    ; +0x989, 0x180004ea9\nmovups  xmmword ptr [rax+rdx*4-10h], xmm1                              ; +0x98d, 0x180004ead\nsub     r8d, 1                                                         ; +0x992, 0x180004eb2\njnz     short loc_180004E43                                            ; +0x996, 0x180004eb6\nmov     ebx, r14d                                                      ; +0x998, 0x180004eb8\ntest    r14d, r14d                                                     ; +0x99b, 0x180004ebb\njz      loc_180004F42                                                  ; +0x99e, 0x180004ebe\nlea     rcx, [rdx+rdx]                                                 ; +0x9a4, 0x180004ec4\nmov     r9, rdi                                                        ; +0x9a8, 0x180004ec8\nlea     rax, [rdi+rcx]                                                 ; +0x9ab, 0x180004ecb\nshl     r9, 0Ch                                                        ; +0x9af, 0x180004ecf\nlea     r8, [r11+rax*4]                                                ; +0x9b3, 0x180004ed3\nadd     r9, r10                                                        ; +0x9b7, 0x180004ed7\nmov     rax, rdx                                                       ; +0x9ba, 0x180004eda\nsub     rax, rcx                                                       ; +0x9bd, 0x180004edd\nmov     rcx, rdx                                                       ; +0x9c0, 0x180004ee0\nneg     rcx                                                            ; +0x9c3, 0x180004ee3\nnop     word ptr [rax+rax+00000000h]                                   ; +0x9c6, 0x180004ee6\nlea     r8, [r8+4]                                                     ; +0x9d0, 0x180004ef0\nmovups  xmm2, xmmword ptr [r9]                                         ; +0x9d4, 0x180004ef4\nlea     r9, [r9+1000h]                                                 ; +0x9d8, 0x180004ef8\nmulps   xmm2, xmm5                                                     ; +0x9df, 0x180004eff\nmovdqa  xmm0, xmm2                                                     ; +0x9e2, 0x180004f02\nmovdqa  xmm1, xmm2                                                     ; +0x9e6, 0x180004f06\npsrldq  xmm0, 0Ch                                                      ; +0x9ea, 0x180004f0a\nmovss   dword ptr [r8+rcx*8-4], xmm0                                   ; +0x9ef, 0x180004f0f\nmovdqa  xmm0, xmm2                                                     ; +0x9f6, 0x180004f16\npsrldq  xmm1, 8                                                        ; +0x9fa, 0x180004f1a\nmovss   dword ptr [r8+rax*4-4], xmm1                                   ; +0x9ff, 0x180004f1f\npsrldq  xmm0, 4                                                        ; +0xa06, 0x180004f26\nmovss   dword ptr [r8-4], xmm0                                         ; +0xa0b, 0x180004f2b\npsrldq  xmm2, 0                                                        ; +0xa11, 0x180004f31\nmovss   dword ptr [r8+rdx*4-4], xmm2                                   ; +0xa16, 0x180004f36\nsub     ebx, 1                                                         ; +0xa1d, 0x180004f3d\njnz     short loc_180004EF0                                            ; +0xa20, 0x180004f40\nadd     r11, r12                                                       ; +0xa22, 0x180004f42\nsub     ebp, 1                                                         ; +0xa25, 0x180004f45\njnz     loc_180004E13                                                  ; +0xa28, 0x180004f48\nmov     r14, [rsp+0C8h+var_28]                                         ; +0xa2e, 0x180004f4e\nmov     r13, [rsp+0C8h+arg_18]                                         ; +0xa36, 0x180004f56\nmov     rdi, [rsp+0C8h+arg_10]                                         ; +0xa3e, 0x180004f5e\nand     esi, 3                                                         ; +0xa46, 0x180004f66\njz      short loc_180004FA3                                            ; +0xa49, 0x180004f69\nmovss   xmm1, dword ptr cs:xmmword_180144610                           ; +0xa4b, 0x180004f6b\nsub     r10, 4                                                         ; +0xa53, 0x180004f73\nmov     ecx, r15d                                                      ; +0xa57, 0x180004f77\ntest    r15d, r15d                                                     ; +0xa5a, 0x180004f7a\njz      short loc_180004F9E                                            ; +0xa5d, 0x180004f7d\nmov     rax, r10                                                       ; +0xa5f, 0x180004f7f\nmovss   xmm0, dword ptr [rax]                                          ; +0xa62, 0x180004f82\nlea     rax, [rax+1000h]                                               ; +0xa66, 0x180004f86\nxorps   xmm0, xmm1                                                     ; +0xa6d, 0x180004f8d\nmovss   dword ptr [r11], xmm0                                          ; +0xa70, 0x180004f90\nadd     r11, 4                                                         ; +0xa75, 0x180004f95\nsub     ecx, 1                                                         ; +0xa79, 0x180004f99\njnz     short loc_180004F82                                            ; +0xa7c, 0x180004f9c\nsub     esi, 1                                                         ; +0xa7e, 0x180004f9e\njnz     short loc_180004F73                                            ; +0xa81, 0x180004fa1\nmov     rsi, [rsp+0C8h+arg_8]                                          ; +0xa83, 0x180004fa3\nadd     rsp, 0A8h                                                      ; +0xa8b, 0x180004fab\npop     r15                                                            ; +0xa92, 0x180004fb2\npop     r12                                                            ; +0xa94, 0x180004fb4\npop     rbp                                                            ; +0xa96, 0x180004fb6\npop     rbx                                                            ; +0xa97, 0x180004fb7\nretn                                                                   ; +0xa98, 0x180004fb8", "xrefs": ["sub_180003D30 @ 0x180003ea2", "sub_180005520 @ 0x180005e6b", "<???> @ 0x18017d694", "<???> @ 0x18017d6f0", "<???> @ 0x1801f627c"], "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"}