{"type": "func", "start": 6442844560, "end": 6442846944, "name": "__crtLCMapStringA", "pseudocode": "// \n// __crtLCMapStringA from 0x180060190 to 0x180060ae0 (2384 bytes)\n// \n// 3 xrefs:\n// > sub_18005B1E0 @ 0x18005b25e\n// > <???> @ 0x1801ac4f0\n// > <???> @ 0x1801f9138\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\nvoid __fastcall _crtLCMapStringA(__m128 *Src, __m128 *a2, unsigned int a3, float *a4, int a5, int a6, int a7)\n{\n  __m128 *v9; // rbx\n  __m128 *v10; // rdi\n  char v11; // r8\n  float v12; // xmm3_4\n  __m128 v13; // xmm4\n  unsigned int v14; // eax\n  __m128 v15; // xmm2\n  __m128 v16; // xmm2\n  signed __int64 v17; // rcx\n  __m128 v18; // xmm0\n  __m128 v19; // xmm1\n  int v20; // esi\n  signed __int64 v21; // rdi\n  float v22; // xmm1_4\n  signed __int64 v23; // rcx\n  __m128 v24; // xmm0\n  __m128 v25; // xmm1\n  int i; // esi\n  float v27; // xmm0_4\n  float v28; // xmm1_4\n  float v29; // xmm1_4\n  __m128 v30; // xmm3\n  __m128 v31; // xmm4\n  signed __int64 v32; // rbx\n  __m128 v33; // xmm1\n  __m128 *v34; // rax\n  signed __int64 v35; // rdi\n  __m128 v36; // xmm1\n  __int64 v37; // rax\n  int v38; // r11d\n  float *v39; // rdx\n  unsigned int v40; // eax\n  unsigned __int64 *v41; // rcx\n  __int64 v42; // r9\n  float v43; // xmm0_4\n  float v44; // xmm0_4\n  float v45; // xmm0_4\n  float v46; // xmm0_4\n  __int32 *v47; // rdx\n  float *v48; // rcx\n  __int64 v49; // r9\n  float v50; // xmm0_4\n  bool v51; // zf\n  size_t v52; // r8\n  int v53; // r11d\n  __int64 v54; // r14\n  __m128 *v55; // rdx\n  __m128 *v56; // r8\n  __m128 *v57; // r9\n  __int64 v58; // kr00_8\n  __int64 v59; // r9\n  __m128 *v60; // rdx\n  __m128 *v61; // r8\n  __int64 v62; // kr08_8\n  float v63; // xmm0_4\n  float v64; // xmm0_4\n  __int64 v65; // r9\n  __m128 *v66; // rdx\n  __m128 *v67; // r8\n  __int64 v68; // kr10_8\n  __m128 v69; // xmm0\n  __m128 v70; // xmm0\n  __m128 v71; // xmm0\n  __m128 v72; // xmm0\n  __m128 v73; // xmm0\n  __m128 v74; // xmm0\n  __m128 v75; // xmm0\n  float v76; // xmm0_4\n  float v77; // xmm0_4\n  float v78; // xmm0_4\n  float v79; // xmm0_4\n  __int64 v80; // r11\n  __m128 *v81; // rdx\n  __m128 *v82; // r8\n  __m128 *v83; // r9\n  __int64 v84; // kr18_8\n  __m128 v85; // xmm0\n  __m128 v86; // xmm0\n  __m128 v87; // xmm0\n  __m128 v88; // xmm0\n  __m128 v89; // xmm0\n  __m128 v90; // xmm0\n  __m128 v91; // [rsp+0h] [rbp-90h] BYREF\n  _BYTE v92[64]; // [rsp+10h] [rbp-80h] BYREF\n  __int64 v93; // [rsp+70h] [rbp-20h]\n\n  v9 = a2;\n  v10 = Src;\n  v11 = 1;\n  switch ( a6 )\n  {\n    case 2:\n      v12 = *a4;\n      v13 = (__m128)*((unsigned int *)a4 + 33);\n      v14 = a3 >> 2;\n      v15 = _mm_unpacklo_ps((__m128)*(unsigned int *)a4, v13);\n      v16 = _mm_movelh_ps(v15, v15);\n      if ( a7 )\n      {\n        if ( v14 )\n        {\n          v17 = (char *)Src - (char *)a2;\n          do\n          {\n            v18 = _mm_mul_ps(v16, *v10);\n            v10 += 2;\n            v19 = _mm_mul_ps(v16, *(__m128 *)((char *)v9 + v17 + 16));\n            *v9 = v18;\n            v9[1] = v19;\n            v9 += 2;\n            --v14;\n          }\n          while ( v14 );\n        }\n        v20 = a3 & 3;\n        if ( v20 )\n        {\n          v21 = (char *)v10 - (char *)v9;\n          do\n          {\n            v9 = (__m128 *)((char *)v9 + 8);\n            v22 = v13.m128_f32[0] * *(float *)((char *)&v9->m128_f32[-1] + v21);\n            v9[-1].m128_f32[2] = v12 * *(float *)((char *)&v9->m128_f32[-2] + v21);\n            v9[-1].m128_f32[3] = v22;\n            --v20;\n          }\n          while ( v20 );\n        }\n      }\n      else\n      {\n        if ( v14 )\n        {\n          v23 = (char *)Src - (char *)a2;\n          do\n          {\n            v24 = _mm_mul_ps(v16, *v10);\n            v10 += 2;\n            v25 = _mm_add_ps(_mm_mul_ps(v16, *(__m128 *)((char *)v9 + v23 + 16)), v9[1]);\n            *v9 = _mm_add_ps(v24, *v9);\n            v9[1] = v25;\n            v9 += 2;\n            --v14;\n          }\n          while ( v14 );\n        }\n        for ( i = a3 & 3; i; --i )\n        {\n          v27 = v12 * v10->m128_f32[0];\n          v28 = v13.m128_f32[0] * v10->m128_f32[1];\n          v10 = (__m128 *)((char *)v10 + 8);\n          v29 = v28 + v9->m128_f32[1];\n          v9->m128_f32[0] = v27 + v9->m128_f32[0];\n          v9->m128_f32[1] = v29;\n          v9 = (__m128 *)((char *)v9 + 8);\n        }\n      }\n      return;\n    case 6:\n      LODWORD(v93) = a5;\n      sub_18005FE80(Src, a2, a3, (__int64)a4, v93, 6, a7);\n      return;\n    case 8:\n      v30 = _mm_movelh_ps(\n              _mm_unpacklo_ps((__m128)*(unsigned int *)a4, (__m128)*((unsigned int *)a4 + 33)),\n              _mm_unpacklo_ps((__m128)*((unsigned int *)a4 + 66), (__m128)*((unsigned int *)a4 + 99)));\n      v31 = _mm_movelh_ps(\n              _mm_unpacklo_ps((__m128)*((unsigned int *)a4 + 132), (__m128)*((unsigned int *)a4 + 165)),\n              _mm_unpacklo_ps((__m128)*((unsigned int *)a4 + 198), (__m128)*((unsigned int *)a4 + 231)));\n      if ( a3 )\n      {\n        if ( a7 )\n        {\n          v32 = (char *)a2 - (char *)Src;\n          do\n          {\n            v10 += 2;\n            v33 = _mm_mul_ps(v31, v10[-1]);\n            *(__m128 *)((char *)v10 + v32 - 32) = _mm_mul_ps(v30, v10[-2]);\n            *(__m128 *)((char *)v10 + v32 - 16) = v33;\n            --a3;\n          }\n          while ( a3 );\n        }\n        else\n        {\n          v34 = a2 + 1;\n          v35 = (char *)Src - (char *)a2;\n          do\n          {\n            v36 = _mm_add_ps(_mm_mul_ps(v31, *(__m128 *)((char *)v34 + v35)), *v34);\n            v34[-1] = _mm_add_ps(_mm_mul_ps(v30, *(__m128 *)((char *)v34 + v35 - 16)), v34[-1]);\n            *v34 = v36;\n            v34 += 2;\n            --a3;\n          }\n          while ( a3 );\n        }\n      }\n      return;\n  }\n  v37 = v91.m128_u32[0];\n  v38 = 0;\n  if ( a6 < 4 )\n  {\n    if ( a6 <= 0 )\n      goto LABEL_46;\n    v37 = 0;\n    goto LABEL_42;\n  }\n  v39 = a4 + 66;\n  v40 = ((unsigned int)(a6 - 4) >> 2) + 1;\n  v41 = &v91.m128_u64[1];\n  v42 = v40;\n  v38 = 4 * v40;\n  v37 = 4LL * v40;\n  do\n  {\n    v43 = *(v39 - 66);\n    *((float *)v41 - 2) = v43;\n    if ( v43 != 1.0 )\n      v11 = 0;\n    v44 = *(v39 - 33);\n    *((float *)v41 - 1) = v44;\n    if ( v44 != 1.0 )\n      v11 = 0;\n    v45 = *v39;\n    *(float *)v41 = *v39;\n    if ( v45 != 1.0 )\n      v11 = 0;\n    v46 = v39[33];\n    *((float *)v41 + 1) = v46;\n    if ( v46 != 1.0 )\n      v11 = 0;\n    v39 += 132;\n    v41 += 2;\n    --v42;\n  }\n  while ( v42 );\n  if ( v38 < a6 )\n  {\nLABEL_42:\n    v47 = &v91.m128_i32[v37];\n    v48 = &a4[33 * v37];\n    v49 = (unsigned int)(a6 - v38);\n    do\n    {\n      v50 = *v48;\n      *v47 = *(_DWORD *)v48;\n      if ( v50 != 1.0 )\n        v11 = 0;\n      v48 += 33;\n      ++v47;\n      --v49;\n    }\n    while ( v49 );\n  }\nLABEL_46:\n  if ( a7 )\n  {\n    v51 = v11 == 0;\n    v52 = 4LL * a6 * a3;\n    if ( !v51 )\n    {\n      memmove(v9, v10, v52);\n      return;\n    }\n    v37 = (__int64)memset(v9, 0, v52);\n    v53 = a6 & 3;\n    goto LABEL_50;\n  }\n  v53 = a6 & 3;\n  if ( v11 )\n  {\n    if ( (a6 & 3) == 0 )\n    {\n      if ( a3 )\n      {\n        v65 = 4LL * a6;\n        do\n        {\n          v66 = v9;\n          v67 = v10;\n          v68 = v37;\n          v37 = (a6 >> 2) - 1;\n          switch ( a6 >> 2 )\n          {\n            case 1:\n              goto LABEL_85;\n            case 2:\n              goto LABEL_84;\n            case 3:\n              goto LABEL_83;\n            case 4:\n              goto LABEL_82;\n            case 5:\n              goto LABEL_81;\n            case 6:\n              goto LABEL_80;\n            case 7:\n              goto LABEL_79;\n            case 8:\n              v66 = v9 + 1;\n              v67 = v10 + 1;\n              *v9 = _mm_add_ps(*v10, *v9);\nLABEL_79:\n              *v66 = _mm_add_ps(*v66, *v67);\n              ++v66;\n              ++v67;\nLABEL_80:\n              *v66 = _mm_add_ps(*v66, *v67);\n              ++v66;\n              ++v67;\nLABEL_81:\n              *v66 = _mm_add_ps(*v66, *v67);\n              ++v66;\n              ++v67;\nLABEL_82:\n              *v66 = _mm_add_ps(*v66, *v67);\n              ++v66;\n              ++v67;\nLABEL_83:\n              *v66 = _mm_add_ps(*v66, *v67);\n              ++v66;\n              ++v67;\nLABEL_84:\n              *v66 = _mm_add_ps(*v66, *v67);\n              ++v66;\n              ++v67;\nLABEL_85:\n              *v66 = _mm_add_ps(*v66, *v67);\n              break;\n            default:\n              v37 = v68;\n              break;\n          }\n          v10 = (__m128 *)((char *)v10 + v65);\n          v9 = (__m128 *)((char *)v9 + v65);\n          --a3;\n        }\n        while ( a3 );\n      }\n      return;\n    }\n    if ( !a3 )\n      return;\n    v59 = 4LL * a6;\n    while ( 1 )\n    {\n      v60 = v9;\n      v61 = v10;\n      v62 = v37;\n      v37 = (a6 >> 2) - 1;\n      switch ( a6 >> 2 )\n      {\n        case 1:\n          goto LABEL_66;\n        case 2:\n          goto LABEL_65;\n        case 3:\n          goto LABEL_64;\n        case 4:\n          goto LABEL_63;\n        case 5:\n          goto LABEL_62;\n        case 6:\n          goto LABEL_61;\n        case 7:\n          goto LABEL_60;\n        case 8:\n          v60 = v9 + 1;\n          v61 = v10 + 1;\n          *v9 = _mm_add_ps(*v10, *v9);\nLABEL_60:\n          *v60 = _mm_add_ps(*v61, *v60);\n          ++v60;\n          ++v61;\nLABEL_61:\n          *v60 = _mm_add_ps(*v61, *v60);\n          ++v60;\n          ++v61;\nLABEL_62:\n          *v60 = _mm_add_ps(*v61, *v60);\n          ++v60;\n          ++v61;\nLABEL_63:\n          *v60 = _mm_add_ps(*v61, *v60);\n          ++v60;\n          ++v61;\nLABEL_64:\n          *v60 = _mm_add_ps(*v61, *v60);\n          ++v60;\n          ++v61;\nLABEL_65:\n          *v60 = _mm_add_ps(*v61, *v60);\n          ++v60;\n          ++v61;\nLABEL_66:\n          *v60 = _mm_add_ps(*v61, *v60);\n          ++v60;\n          ++v61;\n          break;\n        default:\n          v37 = v62;\n          break;\n      }\n      if ( v53 == 1 )\n        goto LABEL_72;\n      if ( v53 == 2 )\n        goto LABEL_71;\n      if ( v53 == 3 )\n        break;\nLABEL_73:\n      v10 = (__m128 *)((char *)v10 + v59);\n      v9 = (__m128 *)((char *)v9 + v59);\n      if ( !--a3 )\n        return;\n    }\n    v63 = v61->m128_f32[0];\n    v61 = (__m128 *)((char *)v61 + 4);\n    v60->m128_f32[0] = v63 + v60->m128_f32[0];\n    v60 = (__m128 *)((char *)v60 + 4);\nLABEL_71:\n    v64 = v61->m128_f32[0];\n    v61 = (__m128 *)((char *)v61 + 4);\n    v60->m128_f32[0] = v64 + v60->m128_f32[0];\n    v60 = (__m128 *)((char *)v60 + 4);\nLABEL_72:\n    v60->m128_f32[0] = v61->m128_f32[0] + v60->m128_f32[0];\n    goto LABEL_73;\n  }\nLABEL_50:\n  if ( v53 )\n  {\n    if ( !a3 )\n      return;\n    v54 = 4LL * a6;\n    while ( 1 )\n    {\n      v55 = v9;\n      v56 = v10;\n      v57 = &v91;\n      v58 = v37;\n      v37 = (a6 >> 2) - 1;\n      switch ( a6 >> 2 )\n      {\n        case 1:\n          goto LABEL_95;\n        case 2:\n          goto LABEL_94;\n        case 3:\n          goto LABEL_93;\n        case 4:\n          goto LABEL_92;\n        case 5:\n          goto LABEL_91;\n        case 6:\n          goto LABEL_90;\n        case 7:\n          goto LABEL_89;\n        case 8:\n          v55 = v9 + 1;\n          v56 = v10 + 1;\n          v57 = (__m128 *)v92;\n          *v9 = _mm_add_ps(_mm_mul_ps(*v10, v91), *v9);\nLABEL_89:\n          v69 = *v56++;\n          *v55 = _mm_add_ps(_mm_mul_ps(*v57, v69), *v55);\n          ++v55;\n          ++v57;\nLABEL_90:\n          v70 = *v56++;\n          *v55 = _mm_add_ps(_mm_mul_ps(*v57, v70), *v55);\n          ++v55;\n          ++v57;\nLABEL_91:\n          v71 = *v56++;\n          *v55 = _mm_add_ps(_mm_mul_ps(*v57, v71), *v55);\n          ++v55;\n          ++v57;\nLABEL_92:\n          v72 = *v56++;\n          *v55 = _mm_add_ps(_mm_mul_ps(*v57, v72), *v55);\n          ++v55;\n          ++v57;\nLABEL_93:\n          v73 = *v56++;\n          *v55 = _mm_add_ps(_mm_mul_ps(*v57, v73), *v55);\n          ++v55;\n          ++v57;\nLABEL_94:\n          v74 = *v56++;\n          *v55 = _mm_add_ps(_mm_mul_ps(*v57, v74), *v55);\n          ++v55;\n          ++v57;\nLABEL_95:\n          v75 = *v56++;\n          *v55 = _mm_add_ps(_mm_mul_ps(*v57, v75), *v55);\n          ++v55;\n          ++v57;\n          break;\n        default:\n          v37 = v58;\n          break;\n      }\n      if ( v53 == 1 )\n        goto LABEL_101;\n      if ( v53 == 2 )\n        goto LABEL_100;\n      if ( v53 == 3 )\n        break;\nLABEL_102:\n      v10 = (__m128 *)((char *)v10 + v54);\n      v9 = (__m128 *)((char *)v9 + v54);\n      if ( !--a3 )\n        return;\n    }\n    v76 = v57->m128_f32[0];\n    v57 = (__m128 *)((char *)v57 + 4);\n    v77 = v76 * v56->m128_f32[0];\n    v56 = (__m128 *)((char *)v56 + 4);\n    v55->m128_f32[0] = v77 + v55->m128_f32[0];\n    v55 = (__m128 *)((char *)v55 + 4);\nLABEL_100:\n    v78 = v57->m128_f32[0];\n    v57 = (__m128 *)((char *)v57 + 4);\n    v79 = v78 * v56->m128_f32[0];\n    v56 = (__m128 *)((char *)v56 + 4);\n    v55->m128_f32[0] = v79 + v55->m128_f32[0];\n    v55 = (__m128 *)((char *)v55 + 4);\nLABEL_101:\n    v55->m128_f32[0] = (float)(v57->m128_f32[0] * v56->m128_f32[0]) + v55->m128_f32[0];\n    goto LABEL_102;\n  }\n  if ( a3 )\n  {\n    v80 = 4LL * a6;\n    do\n    {\n      v81 = v9;\n      v82 = v10;\n      v83 = &v91;\n      v84 = v37;\n      v37 = (a6 >> 2) - 1;\n      switch ( a6 >> 2 )\n      {\n        case 1:\n          goto LABEL_114;\n        case 2:\n          goto LABEL_113;\n        case 3:\n          goto LABEL_112;\n        case 4:\n          goto LABEL_111;\n        case 5:\n          goto LABEL_110;\n        case 6:\n          goto LABEL_109;\n        case 7:\n          goto LABEL_108;\n        case 8:\n          v81 = v9 + 1;\n          v82 = v10 + 1;\n          v83 = (__m128 *)v92;\n          *v9 = _mm_add_ps(_mm_mul_ps(*v10, v91), *v9);\nLABEL_108:\n          v85 = _mm_mul_ps(*v83, *v82++);\n          *v81 = _mm_add_ps(v85, *v81);\n          ++v81;\n          ++v83;\nLABEL_109:\n          v86 = _mm_mul_ps(*v83, *v82++);\n          *v81 = _mm_add_ps(v86, *v81);\n          ++v81;\n          ++v83;\nLABEL_110:\n          v87 = _mm_mul_ps(*v83, *v82++);\n          *v81 = _mm_add_ps(v87, *v81);\n          ++v81;\n          ++v83;\nLABEL_111:\n          v88 = _mm_mul_ps(*v83, *v82++);\n          *v81 = _mm_add_ps(v88, *v81);\n          ++v81;\n          ++v83;\nLABEL_112:\n          v89 = _mm_mul_ps(*v83, *v82++);\n          *v81 = _mm_add_ps(v89, *v81);\n          ++v81;\n          ++v83;\nLABEL_113:\n          v90 = _mm_mul_ps(*v83, *v82++);\n          *v81 = _mm_add_ps(v90, *v81);\n          ++v81;\n          ++v83;\nLABEL_114:\n          *v81 = _mm_add_ps(_mm_mul_ps(*v83, *v82), *v81);\n          break;\n        default:\n          v37 = v84;\n          break;\n      }\n      v10 = (__m128 *)((char *)v10 + v80);\n      v9 = (__m128 *)((char *)v9 + v80);\n      --a3;\n    }\n    while ( a3 );\n  }\n}", "assembly": "; \n; __crtLCMapStringA from 0x180060190 to 0x180060ae0 (2384 bytes)\n; \n; 3 xrefs:\n; > sub_18005B1E0 @ 0x18005b25e\n; > <???> @ 0x1801ac4f0\n; > <???> @ 0x1801f9138\n; \n; This function is hookable on this platform!\n; \n; Using BromaIDA 8.0.0 @ https:;github.com/Stazzical/BromaIDA\n; Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https:;github.com/geode-sdk/bindings\n; \n\npush    rbp                                                            ; +0x0, 0x180060190\npush    r14                                                            ; +0x2, 0x180060192\npush    r15                                                            ; +0x4, 0x180060194\nsub     rsp, 50h                                                       ; +0x6, 0x180060196\nlea     rbp, [rsp+40h]                                                 ; +0xa, 0x18006019a\nmov     [rbp+20h+arg_0], rbx                                           ; +0xf, 0x18006019f\nmov     [rbp+20h+arg_8], rsi                                           ; +0x13, 0x1800601a3\nmov     [rbp+20h+arg_10], rdi                                          ; +0x17, 0x1800601a7\nmov     [rbp+20h+arg_18], r12                                          ; +0x1b, 0x1800601ab\nmov     rax, cs:__security_cookie                                      ; +0x1f, 0x1800601af\nxor     rax, rbp                                                       ; +0x26, 0x1800601b6\nmov     [rbp+20h+var_20], rax                                          ; +0x29, 0x1800601b9\nmovsxd  r14, [rbp+20h+arg_28]                                          ; +0x2d, 0x1800601bd\nmov     esi, r8d                                                       ; +0x31, 0x1800601c1\nmov     r15d, [rbp+20h+arg_30]                                         ; +0x34, 0x1800601c4\nmov     r10, r9                                                        ; +0x38, 0x1800601c8\nmov     rbx, rdx                                                       ; +0x3b, 0x1800601cb\nmov     rdi, rcx                                                       ; +0x3e, 0x1800601ce\nmov     r8b, 1                                                         ; +0x41, 0x1800601d1\ncmp     r14d, 2                                                        ; +0x44, 0x1800601d4\njnz     loc_1800602E3                                                  ; +0x48, 0x1800601d8\nmovss   xmm3, dword ptr [r9]                                           ; +0x4e, 0x1800601de\nmov     eax, esi                                                       ; +0x53, 0x1800601e3\nmovss   xmm4, dword ptr [r9+84h]                                       ; +0x55, 0x1800601e5\nmovaps  xmm2, xmm3                                                     ; +0x5e, 0x1800601ee\nshr     eax, 2                                                         ; +0x61, 0x1800601f1\nunpcklps xmm2, xmm4                                                    ; +0x64, 0x1800601f4\nmovlhps xmm2, xmm2                                                     ; +0x67, 0x1800601f7\ntest    r15d, r15d                                                     ; +0x6a, 0x1800601fa\njz      short loc_18006026A                                            ; +0x6d, 0x1800601fd\ntest    eax, eax                                                       ; +0x6f, 0x1800601ff\njz      short loc_180060232                                            ; +0x71, 0x180060201\nsub     rcx, rdx                                                       ; +0x73, 0x180060203\nnop     word ptr [rax+rax+00000000h]                                   ; +0x76, 0x180060206\nmovaps  xmm0, xmm2                                                     ; +0x80, 0x180060210\nmovaps  xmm1, xmm2                                                     ; +0x83, 0x180060213\nmulps   xmm0, xmmword ptr [rdi]                                        ; +0x86, 0x180060216\nadd     rdi, 20h ; ' '                                                 ; +0x89, 0x180060219\nmulps   xmm1, xmmword ptr [rcx+rbx+10h]                                ; +0x8d, 0x18006021d\nmovups  xmmword ptr [rbx], xmm0                                        ; +0x92, 0x180060222\nmovups  xmmword ptr [rbx+10h], xmm1                                    ; +0x95, 0x180060225\nadd     rbx, 20h ; ' '                                                 ; +0x99, 0x180060229\nsub     eax, 1                                                         ; +0x9d, 0x18006022d\njnz     short loc_180060210                                            ; +0xa0, 0x180060230\nand     esi, 3                                                         ; +0xa2, 0x180060232\njz      loc_180060A37                                                  ; +0xa5, 0x180060235\nsub     rdi, rbx                                                       ; +0xab, 0x18006023b\nxchg    ax, ax                                                         ; +0xae, 0x18006023e\nlea     rbx, [rbx+8]                                                   ; +0xb0, 0x180060240\nmovaps  xmm0, xmm3                                                     ; +0xb4, 0x180060244\nmulss   xmm0, dword ptr [rdi+rbx-8]                                    ; +0xb7, 0x180060247\nmovaps  xmm1, xmm4                                                     ; +0xbd, 0x18006024d\nmulss   xmm1, dword ptr [rdi+rbx-4]                                    ; +0xc0, 0x180060250\nmovss   dword ptr [rbx-8], xmm0                                        ; +0xc6, 0x180060256\nmovss   dword ptr [rbx-4], xmm1                                        ; +0xcb, 0x18006025b\nsub     esi, 1                                                         ; +0xd0, 0x180060260\njnz     short loc_180060240                                            ; +0xd3, 0x180060263\njmp     loc_180060A37                                                  ; +0xd5, 0x180060265\ntest    eax, eax                                                       ; +0xda, 0x18006026a\njz      short loc_18006029A                                            ; +0xdc, 0x18006026c\nsub     rcx, rbx                                                       ; +0xde, 0x18006026e\nmovaps  xmm0, xmm2                                                     ; +0xe1, 0x180060271\nmovaps  xmm1, xmm2                                                     ; +0xe4, 0x180060274\nmulps   xmm0, xmmword ptr [rdi]                                        ; +0xe7, 0x180060277\nadd     rdi, 20h ; ' '                                                 ; +0xea, 0x18006027a\nmulps   xmm1, xmmword ptr [rcx+rbx+10h]                                ; +0xee, 0x18006027e\naddps   xmm0, xmmword ptr [rbx]                                        ; +0xf3, 0x180060283\naddps   xmm1, xmmword ptr [rbx+10h]                                    ; +0xf6, 0x180060286\nmovups  xmmword ptr [rbx], xmm0                                        ; +0xfa, 0x18006028a\nmovups  xmmword ptr [rbx+10h], xmm1                                    ; +0xfd, 0x18006028d\nadd     rbx, 20h ; ' '                                                 ; +0x101, 0x180060291\nsub     eax, 1                                                         ; +0x105, 0x180060295\njnz     short loc_180060271                                            ; +0x108, 0x180060298\nand     esi, 3                                                         ; +0x10a, 0x18006029a\njz      loc_180060A37                                                  ; +0x10d, 0x18006029d\nnop     dword ptr [rax+00h]                                            ; +0x113, 0x1800602a3\nnop     word ptr [rax+rax+00000000h]                                   ; +0x117, 0x1800602a7\nmovaps  xmm0, xmm3                                                     ; +0x120, 0x1800602b0\nmovaps  xmm1, xmm4                                                     ; +0x123, 0x1800602b3\nmulss   xmm0, dword ptr [rdi]                                          ; +0x126, 0x1800602b6\nmulss   xmm1, dword ptr [rdi+4]                                        ; +0x12a, 0x1800602ba\nadd     rdi, 8                                                         ; +0x12f, 0x1800602bf\naddss   xmm0, dword ptr [rbx]                                          ; +0x133, 0x1800602c3\naddss   xmm1, dword ptr [rbx+4]                                        ; +0x137, 0x1800602c7\nmovss   dword ptr [rbx], xmm0                                          ; +0x13c, 0x1800602cc\nmovss   dword ptr [rbx+4], xmm1                                        ; +0x140, 0x1800602d0\nadd     rbx, 8                                                         ; +0x145, 0x1800602d5\nsub     esi, 1                                                         ; +0x149, 0x1800602d9\njnz     short loc_1800602B0                                            ; +0x14c, 0x1800602dc\njmp     loc_180060A37                                                  ; +0x14e, 0x1800602de\ncmp     r14d, 6                                                        ; +0x153, 0x1800602e3\njnz     short loc_180060307                                            ; +0x157, 0x1800602e7\nmov     eax, [rbp+20h+arg_20]                                          ; +0x159, 0x1800602e9\nmov     r8d, esi                                                       ; +0x15c, 0x1800602ec\nmov     [rsp+60h+var_30], r15d                                         ; +0x15f, 0x1800602ef\nmov     [rsp+60h+var_38], r14d                                         ; +0x164, 0x1800602f4\nmov     dword ptr [rsp+60h+var_40], eax                                ; +0x169, 0x1800602f9\ncall    sub_18005FE80                                                  ; +0x16d, 0x1800602fd\njmp     loc_180060A37                                                  ; +0x172, 0x180060302\ncmp     r14d, 8                                                        ; +0x177, 0x180060307\njnz     loc_1800603DB                                                  ; +0x17b, 0x18006030b\nmovss   xmm1, dword ptr [r9+18Ch]                                      ; +0x181, 0x180060311\nmovss   xmm0, dword ptr [r9+84h]                                       ; +0x18a, 0x18006031a\nmovss   xmm2, dword ptr [r9+108h]                                      ; +0x193, 0x180060323\nmovss   xmm3, dword ptr [r9]                                           ; +0x19c, 0x18006032c\nmovss   xmm4, dword ptr [r9+210h]                                      ; +0x1a1, 0x180060331\nunpcklps xmm2, xmm1                                                    ; +0x1aa, 0x18006033a\nmovss   xmm1, dword ptr [r9+39Ch]                                      ; +0x1ad, 0x18006033d\nunpcklps xmm3, xmm0                                                    ; +0x1b6, 0x180060346\nmovss   xmm0, dword ptr [r9+294h]                                      ; +0x1b9, 0x180060349\nmovlhps xmm3, xmm2                                                     ; +0x1c2, 0x180060352\nmovss   xmm2, dword ptr [r9+318h]                                      ; +0x1c5, 0x180060355\nunpcklps xmm2, xmm1                                                    ; +0x1ce, 0x18006035e\nunpcklps xmm4, xmm0                                                    ; +0x1d1, 0x180060361\nmovlhps xmm4, xmm2                                                     ; +0x1d4, 0x180060364\ntest    esi, esi                                                       ; +0x1d7, 0x180060367\njz      loc_180060A37                                                  ; +0x1d9, 0x180060369\ntest    r15d, r15d                                                     ; +0x1df, 0x18006036f\njz      short loc_1800603A6                                            ; +0x1e2, 0x180060372\nsub     rbx, rdi                                                       ; +0x1e4, 0x180060374\nnop     word ptr [rax+rax+00000000h]                                   ; +0x1e7, 0x180060377\nlea     rdi, [rdi+20h]                                                 ; +0x1f0, 0x180060380\nmovaps  xmm0, xmm3                                                     ; +0x1f4, 0x180060384\nmulps   xmm0, xmmword ptr [rdi-20h]                                    ; +0x1f7, 0x180060387\nmovaps  xmm1, xmm4                                                     ; +0x1fb, 0x18006038b\nmulps   xmm1, xmmword ptr [rdi-10h]                                    ; +0x1fe, 0x18006038e\nmovups  xmmword ptr [rbx+rdi-20h], xmm0                                ; +0x202, 0x180060392\nmovups  xmmword ptr [rbx+rdi-10h], xmm1                                ; +0x207, 0x180060397\nadd     esi, 0FFFFFFFFh                                                ; +0x20c, 0x18006039c\njnz     short loc_180060380                                            ; +0x20f, 0x18006039f\njmp     loc_180060A37                                                  ; +0x211, 0x1800603a1\nlea     rax, [rdx+10h]                                                 ; +0x216, 0x1800603a6\nsub     rdi, rbx                                                       ; +0x21a, 0x1800603aa\nnop     dword ptr [rax]                                                ; +0x21d, 0x1800603ad\nmovaps  xmm0, xmm3                                                     ; +0x220, 0x1800603b0\nmovaps  xmm1, xmm4                                                     ; +0x223, 0x1800603b3\nmulps   xmm0, xmmword ptr [rax+rdi-10h]                                ; +0x226, 0x1800603b6\nmulps   xmm1, xmmword ptr [rax+rdi]                                    ; +0x22b, 0x1800603bb\naddps   xmm0, xmmword ptr [rax-10h]                                    ; +0x22f, 0x1800603bf\naddps   xmm1, xmmword ptr [rax]                                        ; +0x233, 0x1800603c3\nmovups  xmmword ptr [rax-10h], xmm0                                    ; +0x236, 0x1800603c6\nmovups  xmmword ptr [rax], xmm1                                        ; +0x23a, 0x1800603ca\nadd     rax, 20h ; ' '                                                 ; +0x23d, 0x1800603cd\nadd     esi, 0FFFFFFFFh                                                ; +0x241, 0x1800603d1\njnz     short loc_1800603B0                                            ; +0x244, 0x1800603d4\njmp     loc_180060A37                                                  ; +0x246, 0x1800603d6\nmov     eax, [rsp+60h+var_60]                                          ; +0x24b, 0x1800603db\nsub     rsp, 90h                                                       ; +0x24e, 0x1800603de\nlea     r12, [rsp+0F0h+var_B0]                                         ; +0x255, 0x1800603e5\nmov     eax, [r12]                                                     ; +0x25a, 0x1800603ea\nmovss   xmm1, cs:dword_180145744                                       ; +0x25e, 0x1800603ee\nadd     r12, 0Fh                                                       ; +0x266, 0x1800603f6\nand     r12, 0FFFFFFFFFFFFFFF0h                                        ; +0x26a, 0x1800603fa\nxor     r11d, r11d                                                     ; +0x26e, 0x1800603fe\ncmp     r14d, 4                                                        ; +0x271, 0x180060401\njl      loc_1800604A7                                                  ; +0x275, 0x180060405\nlea     eax, [r14-4]                                                   ; +0x27b, 0x18006040b\nshr     eax, 2                                                         ; +0x27f, 0x18006040f\nlea     rdx, [r9+108h]                                                 ; +0x282, 0x180060412\ninc     eax                                                            ; +0x289, 0x180060419\nlea     rcx, [r12+8]                                                   ; +0x28b, 0x18006041b\nmov     r9d, eax                                                       ; +0x290, 0x180060420\nlea     r11d, ds:0[rax*4]                                              ; +0x293, 0x180060423\nlea     rax, ds:0[rax*4]                                               ; +0x29b, 0x18006042b\nnop     dword ptr [rax+00h]                                            ; +0x2a3, 0x180060433\nnop     word ptr [rax+rax+00000000h]                                   ; +0x2a7, 0x180060437\nmovss   xmm0, dword ptr [rdx-108h]                                     ; +0x2b0, 0x180060440\nucomiss xmm0, xmm1                                                     ; +0x2b8, 0x180060448\nmovss   dword ptr [rcx-8], xmm0                                        ; +0x2bb, 0x18006044b\njz      short loc_180060455                                            ; +0x2c0, 0x180060450\nxor     r8b, r8b                                                       ; +0x2c2, 0x180060452\nmovss   xmm0, dword ptr [rdx-84h]                                      ; +0x2c5, 0x180060455\nucomiss xmm0, xmm1                                                     ; +0x2cd, 0x18006045d\nmovss   dword ptr [rcx-4], xmm0                                        ; +0x2d0, 0x180060460\njz      short loc_18006046A                                            ; +0x2d5, 0x180060465\nxor     r8b, r8b                                                       ; +0x2d7, 0x180060467\nmovss   xmm0, dword ptr [rdx]                                          ; +0x2da, 0x18006046a\nucomiss xmm0, xmm1                                                     ; +0x2de, 0x18006046e\nmovss   dword ptr [rcx], xmm0                                          ; +0x2e1, 0x180060471\njz      short loc_18006047A                                            ; +0x2e5, 0x180060475\nxor     r8b, r8b                                                       ; +0x2e7, 0x180060477\nmovss   xmm0, dword ptr [rdx+84h]                                      ; +0x2ea, 0x18006047a\nucomiss xmm0, xmm1                                                     ; +0x2f2, 0x180060482\nmovss   dword ptr [rcx+4], xmm0                                        ; +0x2f5, 0x180060485\njz      short loc_18006048F                                            ; +0x2fa, 0x18006048a\nxor     r8b, r8b                                                       ; +0x2fc, 0x18006048c\nadd     rdx, 210h                                                      ; +0x2ff, 0x18006048f\nadd     rcx, 10h                                                       ; +0x306, 0x180060496\nsub     r9, 1                                                          ; +0x30a, 0x18006049a\njnz     short loc_180060440                                            ; +0x30e, 0x18006049e\ncmp     r11d, r14d                                                     ; +0x310, 0x1800604a0\njl      short loc_1800604AF                                            ; +0x313, 0x1800604a3\njmp     short loc_1800604E4                                            ; +0x315, 0x1800604a5\ntest    r14d, r14d                                                     ; +0x317, 0x1800604a7\njle     short loc_1800604E4                                            ; +0x31a, 0x1800604aa\nmov     rax, r11                                                       ; +0x31c, 0x1800604ac\nimul    rcx, rax, 84h                                                  ; +0x31f, 0x1800604af\nmov     r9d, r14d                                                      ; +0x326, 0x1800604b6\nlea     rdx, [r12+rax*4]                                               ; +0x329, 0x1800604b9\nadd     rcx, r10                                                       ; +0x32d, 0x1800604bd\nsub     r9d, r11d                                                      ; +0x330, 0x1800604c0\nmovss   xmm0, dword ptr [rcx]                                          ; +0x333, 0x1800604c3\nucomiss xmm0, xmm1                                                     ; +0x337, 0x1800604c7\nmovss   dword ptr [rdx], xmm0                                          ; +0x33a, 0x1800604ca\njz      short loc_1800604D3                                            ; +0x33e, 0x1800604ce\nxor     r8b, r8b                                                       ; +0x340, 0x1800604d0\nadd     rcx, 84h                                                       ; +0x343, 0x1800604d3\nadd     rdx, 4                                                         ; +0x34a, 0x1800604da\nsub     r9, 1                                                          ; +0x34e, 0x1800604de\njnz     short loc_1800604C3                                            ; +0x352, 0x1800604e2\ntest    r15d, r15d                                                     ; +0x354, 0x1800604e4\njz      short loc_180060563                                            ; +0x357, 0x1800604e7\nmov     ecx, esi                                                       ; +0x359, 0x1800604e9\nimul    ecx, r14d                                                      ; +0x35b, 0x1800604eb\nshl     rcx, 2                                                         ; +0x35f, 0x1800604ef\ntest    r8b, r8b                                                       ; +0x363, 0x1800604f3\nmov     r8, rcx; Size                                                  ; +0x366, 0x1800604f6\nmov     rcx, rbx; void *                                               ; +0x369, 0x1800604f9\njz      short loc_18006050B                                            ; +0x36c, 0x1800604fc\nmov     rdx, rdi; Src                                                  ; +0x36e, 0x1800604fe\ncall    memmove                                                        ; +0x371, 0x180060501\njmp     loc_180060A37                                                  ; +0x376, 0x180060506\nxor     edx, edx; Val                                                  ; +0x37b, 0x18006050b\ncall    memset                                                         ; +0x37d, 0x18006050d\nmov     r11d, r14d                                                     ; +0x382, 0x180060512\nand     r11d, 3                                                        ; +0x385, 0x180060515\ntest    r11d, r11d                                                     ; +0x389, 0x180060519\njz      loc_180060920                                                  ; +0x38c, 0x18006051c\ntest    esi, esi                                                       ; +0x392, 0x180060522\njz      loc_180060A37                                                  ; +0x394, 0x180060524\nmov     r15d, r14d                                                     ; +0x39a, 0x18006052a\nlea     r10, cs:180000000h                                             ; +0x39d, 0x18006052d\nsar     r15d, 2                                                        ; +0x3a4, 0x180060534\ndec     r15d                                                           ; +0x3a8, 0x180060538\nshl     r14, 2                                                         ; +0x3ab, 0x18006053b\nnop                                                                    ; +0x3af, 0x18006053f\nmov     rdx, rbx                                                       ; +0x3b0, 0x180060540\nmov     r8, rdi                                                        ; +0x3b3, 0x180060543\nmov     r9, r12                                                        ; +0x3b6, 0x180060546\ncmp     r15d, 7; switch 8 cases                                        ; +0x3b9, 0x180060549\nja      def_180060561; jumptable 0000000180060561 default case         ; +0x3bd, 0x18006054d\nmovsxd  rax, r15d                                                      ; +0x3c3, 0x180060553\nmov     ecx, ds:(jpt_180060561 - 180000000h)[r10+rax*4]                ; +0x3c6, 0x180060556\nadd     rcx, r10                                                       ; +0x3ce, 0x18006055e\njmp     rcx; switch jump                                               ; +0x3d1, 0x180060561\nmov     r11d, r14d                                                     ; +0x3d3, 0x180060563\nand     r11d, 3                                                        ; +0x3d6, 0x180060566\ntest    r8b, r8b                                                       ; +0x3da, 0x18006056a\njz      short loc_180060519                                            ; +0x3dd, 0x18006056d\ntest    r11d, r11d                                                     ; +0x3df, 0x18006056f\njz      loc_1800606C4                                                  ; +0x3e2, 0x180060572\ntest    esi, esi                                                       ; +0x3e8, 0x180060578\njz      loc_180060A37                                                  ; +0x3ea, 0x18006057a\nmov     r15d, r14d                                                     ; +0x3f0, 0x180060580\nlea     r10, cs:180000000h                                             ; +0x3f3, 0x180060583\nsar     r15d, 2                                                        ; +0x3fa, 0x18006058a\nmov     r9, r14                                                        ; +0x3fe, 0x18006058e\ndec     r15d                                                           ; +0x401, 0x180060591\nshl     r9, 2                                                          ; +0x404, 0x180060594\nnop     dword ptr [rax+rax+00000000h]                                  ; +0x408, 0x180060598\nmov     rdx, rbx                                                       ; +0x410, 0x1800605a0\nmov     r8, rdi                                                        ; +0x413, 0x1800605a3\ncmp     r15d, 7; switch 8 cases                                        ; +0x416, 0x1800605a6\nja      def_1800605BE; jumptable 00000001800605BE default case         ; +0x41a, 0x1800605aa\nmovsxd  rax, r15d                                                      ; +0x420, 0x1800605b0\nmov     ecx, ds:(jpt_1800605BE - 180000000h)[r10+rax*4]                ; +0x423, 0x1800605b3\nadd     rcx, r10                                                       ; +0x42b, 0x1800605bb\njmp     rcx; switch jump                                               ; +0x42e, 0x1800605be\nmovups  xmm1, xmmword ptr [rdi]; jumptable 00000001800605BE case 7     ; +0x430, 0x1800605c0\nlea     rdx, [rbx+10h]                                                 ; +0x433, 0x1800605c3\nmovups  xmm0, xmmword ptr [rbx]                                        ; +0x437, 0x1800605c7\nlea     r8, [rdi+10h]                                                  ; +0x43a, 0x1800605ca\naddps   xmm1, xmm0                                                     ; +0x43e, 0x1800605ce\nmovups  xmmword ptr [rbx], xmm1                                        ; +0x441, 0x1800605d1\nmovups  xmm1, xmmword ptr [r8]; jumptable 00000001800605BE case 6      ; +0x444, 0x1800605d4\nmovups  xmm0, xmmword ptr [rdx]                                        ; +0x448, 0x1800605d8\naddps   xmm1, xmm0                                                     ; +0x44b, 0x1800605db\nmovups  xmmword ptr [rdx], xmm1                                        ; +0x44e, 0x1800605de\nadd     rdx, 10h                                                       ; +0x451, 0x1800605e1\nadd     r8, 10h                                                        ; +0x455, 0x1800605e5\nmovups  xmm1, xmmword ptr [r8]; jumptable 00000001800605BE case 5      ; +0x459, 0x1800605e9\nmovups  xmm0, xmmword ptr [rdx]                                        ; +0x45d, 0x1800605ed\naddps   xmm1, xmm0                                                     ; +0x460, 0x1800605f0\nmovups  xmmword ptr [rdx], xmm1                                        ; +0x463, 0x1800605f3\nadd     rdx, 10h                                                       ; +0x466, 0x1800605f6\nadd     r8, 10h                                                        ; +0x46a, 0x1800605fa\nmovups  xmm1, xmmword ptr [r8]; jumptable 00000001800605BE case 4      ; +0x46e, 0x1800605fe\nmovups  xmm0, xmmword ptr [rdx]                                        ; +0x472, 0x180060602\naddps   xmm1, xmm0                                                     ; +0x475, 0x180060605\nmovups  xmmword ptr [rdx], xmm1                                        ; +0x478, 0x180060608\nadd     rdx, 10h                                                       ; +0x47b, 0x18006060b\nadd     r8, 10h                                                        ; +0x47f, 0x18006060f\nmovups  xmm1, xmmword ptr [r8]; jumptable 00000001800605BE case 3      ; +0x483, 0x180060613\nmovups  xmm0, xmmword ptr [rdx]                                        ; +0x487, 0x180060617\naddps   xmm1, xmm0                                                     ; +0x48a, 0x18006061a\nmovups  xmmword ptr [rdx], xmm1                                        ; +0x48d, 0x18006061d\nadd     rdx, 10h                                                       ; +0x490, 0x180060620\nadd     r8, 10h                                                        ; +0x494, 0x180060624\nmovups  xmm1, xmmword ptr [r8]; jumptable 00000001800605BE case 2      ; +0x498, 0x180060628\nmovups  xmm0, xmmword ptr [rdx]                                        ; +0x49c, 0x18006062c\naddps   xmm1, xmm0                                                     ; +0x49f, 0x18006062f\nmovups  xmmword ptr [rdx], xmm1                                        ; +0x4a2, 0x180060632\nadd     rdx, 10h                                                       ; +0x4a5, 0x180060635\nadd     r8, 10h                                                        ; +0x4a9, 0x180060639\nmovups  xmm1, xmmword ptr [r8]; jumptable 00000001800605BE case 1      ; +0x4ad, 0x18006063d\nmovups  xmm0, xmmword ptr [rdx]                                        ; +0x4b1, 0x180060641\naddps   xmm1, xmm0                                                     ; +0x4b4, 0x180060644\nmovups  xmmword ptr [rdx], xmm1                                        ; +0x4b7, 0x180060647\nadd     rdx, 10h                                                       ; +0x4ba, 0x18006064a\nadd     r8, 10h                                                        ; +0x4be, 0x18006064e\nmovups  xmm1, xmmword ptr [r8]; jumptable 00000001800605BE case 0      ; +0x4c2, 0x180060652\nmovups  xmm0, xmmword ptr [rdx]                                        ; +0x4c6, 0x180060656\naddps   xmm1, xmm0                                                     ; +0x4c9, 0x180060659\nmovups  xmmword ptr [rdx], xmm1                                        ; +0x4cc, 0x18006065c\nadd     rdx, 10h                                                       ; +0x4cf, 0x18006065f\nadd     r8, 10h                                                        ; +0x4d3, 0x180060663\nmov     ecx, r11d; jumptable 00000001800605BE default case             ; +0x4d7, 0x180060667\nsub     ecx, 1                                                         ; +0x4da, 0x18006066a\njz      short loc_1800606A3                                            ; +0x4dd, 0x18006066d\nsub     ecx, 1                                                         ; +0x4df, 0x18006066f\njz      short loc_18006068E                                            ; +0x4e2, 0x180060672\ncmp     ecx, 1                                                         ; +0x4e4, 0x180060674\njnz     short loc_1800606B0                                            ; +0x4e7, 0x180060677\nmovss   xmm0, dword ptr [r8]                                           ; +0x4e9, 0x180060679\nadd     r8, 4                                                          ; +0x4ee, 0x18006067e\naddss   xmm0, dword ptr [rdx]                                          ; +0x4f2, 0x180060682\nmovss   dword ptr [rdx], xmm0                                          ; +0x4f6, 0x180060686\nadd     rdx, 4                                                         ; +0x4fa, 0x18006068a\nmovss   xmm0, dword ptr [r8]                                           ; +0x4fe, 0x18006068e\nadd     r8, 4                                                          ; +0x503, 0x180060693\naddss   xmm0, dword ptr [rdx]                                          ; +0x507, 0x180060697\nmovss   dword ptr [rdx], xmm0                                          ; +0x50b, 0x18006069b\nadd     rdx, 4                                                         ; +0x50f, 0x18006069f\nmovss   xmm0, dword ptr [r8]                                           ; +0x513, 0x1800606a3\naddss   xmm0, dword ptr [rdx]                                          ; +0x518, 0x1800606a8\nmovss   dword ptr [rdx], xmm0                                          ; +0x51c, 0x1800606ac\nadd     rdi, r9                                                        ; +0x520, 0x1800606b0\nadd     rbx, r9                                                        ; +0x523, 0x1800606b3\nsub     esi, 1                                                         ; +0x526, 0x1800606b6\njnz     loc_1800605A0                                                  ; +0x529, 0x1800606b9\njmp     loc_180060A37                                                  ; +0x52f, 0x1800606bf\ntest    esi, esi                                                       ; +0x534, 0x1800606c4\njz      loc_180060A37                                                  ; +0x536, 0x1800606c6\nmov     r11d, r14d                                                     ; +0x53c, 0x1800606cc\nlea     r10, cs:180000000h                                             ; +0x53f, 0x1800606cf\nsar     r11d, 2                                                        ; +0x546, 0x1800606d6\nmov     r9, r14                                                        ; +0x54a, 0x1800606da\ndec     r11d                                                           ; +0x54d, 0x1800606dd\nshl     r9, 2                                                          ; +0x550, 0x1800606e0\nnop     dword ptr [rax+00h]                                            ; +0x554, 0x1800606e4\nnop     dword ptr [rax+rax+00000000h]                                  ; +0x558, 0x1800606e8\nmov     rdx, rbx                                                       ; +0x560, 0x1800606f0\nmov     r8, rdi                                                        ; +0x563, 0x1800606f3\ncmp     r11d, 7; switch 8 cases                                        ; +0x566, 0x1800606f6\nja      def_18006070E; jumptable 000000018006070E default case         ; +0x56a, 0x1800606fa\nmovsxd  rax, r11d                                                      ; +0x570, 0x180060700\nmov     ecx, ds:(jpt_18006070E - 180000000h)[r10+rax*4]                ; +0x573, 0x180060703\nadd     rcx, r10                                                       ; +0x57b, 0x18006070b\njmp     rcx; switch jump                                               ; +0x57e, 0x18006070e\nmovups  xmm0, xmmword ptr [rdi]; jumptable 000000018006070E case 7     ; +0x580, 0x180060710\nlea     rdx, [rbx+10h]                                                 ; +0x583, 0x180060713\naddps   xmm0, xmmword ptr [rbx]                                        ; +0x587, 0x180060717\nlea     r8, [rdi+10h]                                                  ; +0x58a, 0x18006071a\nmovups  xmmword ptr [rbx], xmm0                                        ; +0x58e, 0x18006071e\nmovups  xmm0, xmmword ptr [rdx]; jumptable 000000018006070E case 6     ; +0x591, 0x180060721\naddps   xmm0, xmmword ptr [r8]                                         ; +0x594, 0x180060724\nmovups  xmmword ptr [rdx], xmm0                                        ; +0x598, 0x180060728\nadd     rdx, 10h                                                       ; +0x59b, 0x18006072b\nadd     r8, 10h                                                        ; +0x59f, 0x18006072f\nmovups  xmm0, xmmword ptr [rdx]; jumptable 000000018006070E case 5     ; +0x5a3, 0x180060733\naddps   xmm0, xmmword ptr [r8]                                         ; +0x5a6, 0x180060736\nmovups  xmmword ptr [rdx], xmm0                                        ; +0x5aa, 0x18006073a\nadd     rdx, 10h                                                       ; +0x5ad, 0x18006073d\nadd     r8, 10h                                                        ; +0x5b1, 0x180060741\nmovups  xmm0, xmmword ptr [rdx]; jumptable 000000018006070E case 4     ; +0x5b5, 0x180060745\naddps   xmm0, xmmword ptr [r8]                                         ; +0x5b8, 0x180060748\nmovups  xmmword ptr [rdx], xmm0                                        ; +0x5bc, 0x18006074c\nadd     rdx, 10h                                                       ; +0x5bf, 0x18006074f\nadd     r8, 10h                                                        ; +0x5c3, 0x180060753\nmovups  xmm0, xmmword ptr [rdx]; jumptable 000000018006070E case 3     ; +0x5c7, 0x180060757\naddps   xmm0, xmmword ptr [r8]                                         ; +0x5ca, 0x18006075a\nmovups  xmmword ptr [rdx], xmm0                                        ; +0x5ce, 0x18006075e\nadd     rdx, 10h                                                       ; +0x5d1, 0x180060761\nadd     r8, 10h                                                        ; +0x5d5, 0x180060765\nmovups  xmm0, xmmword ptr [rdx]; jumptable 000000018006070E case 2     ; +0x5d9, 0x180060769\naddps   xmm0, xmmword ptr [r8]                                         ; +0x5dc, 0x18006076c\nmovups  xmmword ptr [rdx], xmm0                                        ; +0x5e0, 0x180060770\nadd     rdx, 10h                                                       ; +0x5e3, 0x180060773\nadd     r8, 10h                                                        ; +0x5e7, 0x180060777\nmovups  xmm0, xmmword ptr [rdx]; jumptable 000000018006070E case 1     ; +0x5eb, 0x18006077b\naddps   xmm0, xmmword ptr [r8]                                         ; +0x5ee, 0x18006077e\nmovups  xmmword ptr [rdx], xmm0                                        ; +0x5f2, 0x180060782\nadd     rdx, 10h                                                       ; +0x5f5, 0x180060785\nadd     r8, 10h                                                        ; +0x5f9, 0x180060789\nmovups  xmm0, xmmword ptr [rdx]; jumptable 000000018006070E case 0     ; +0x5fd, 0x18006078d\naddps   xmm0, xmmword ptr [r8]                                         ; +0x600, 0x180060790\nmovups  xmmword ptr [rdx], xmm0                                        ; +0x604, 0x180060794\nadd     rdi, r9; jumptable 000000018006070E default case               ; +0x607, 0x180060797\nadd     rbx, r9                                                        ; +0x60a, 0x18006079a\nsub     esi, 1                                                         ; +0x60d, 0x18006079d\njnz     loc_1800606F0                                                  ; +0x610, 0x1800607a0\njmp     loc_180060A37                                                  ; +0x616, 0x1800607a6\nmovups  xmm2, xmmword ptr [rdi]; jumptable 0000000180060561 case 7     ; +0x61b, 0x1800607ab\nlea     rdx, [rbx+10h]                                                 ; +0x61e, 0x1800607ae\nmovups  xmm0, xmmword ptr [r12]                                        ; +0x622, 0x1800607b2\nlea     r8, [rdi+10h]                                                  ; +0x627, 0x1800607b7\nmovups  xmm1, xmmword ptr [rbx]                                        ; +0x62b, 0x1800607bb\nlea     r9, [r12+10h]                                                  ; +0x62e, 0x1800607be\nmulps   xmm2, xmm0                                                     ; +0x633, 0x1800607c3\naddps   xmm2, xmm1                                                     ; +0x636, 0x1800607c6\nmovups  xmmword ptr [rbx], xmm2                                        ; +0x639, 0x1800607c9\nmovups  xmm2, xmmword ptr [r9]; jumptable 0000000180060561 case 6      ; +0x63c, 0x1800607cc\nmovups  xmm0, xmmword ptr [r8]                                         ; +0x640, 0x1800607d0\nadd     r8, 10h                                                        ; +0x644, 0x1800607d4\nmovups  xmm1, xmmword ptr [rdx]                                        ; +0x648, 0x1800607d8\nmulps   xmm2, xmm0                                                     ; +0x64b, 0x1800607db\naddps   xmm2, xmm1                                                     ; +0x64e, 0x1800607de\nmovups  xmmword ptr [rdx], xmm2                                        ; +0x651, 0x1800607e1\nadd     rdx, 10h                                                       ; +0x654, 0x1800607e4\nadd     r9, 10h                                                        ; +0x658, 0x1800607e8\nmovups  xmm2, xmmword ptr [r9]; jumptable 0000000180060561 case 5      ; +0x65c, 0x1800607ec\nmovups  xmm0, xmmword ptr [r8]                                         ; +0x660, 0x1800607f0\nadd     r8, 10h                                                        ; +0x664, 0x1800607f4\nmovups  xmm1, xmmword ptr [rdx]                                        ; +0x668, 0x1800607f8\nmulps   xmm2, xmm0                                                     ; +0x66b, 0x1800607fb\naddps   xmm2, xmm1                                                     ; +0x66e, 0x1800607fe\nmovups  xmmword ptr [rdx], xmm2                                        ; +0x671, 0x180060801\nadd     rdx, 10h                                                       ; +0x674, 0x180060804\nadd     r9, 10h                                                        ; +0x678, 0x180060808\nmovups  xmm2, xmmword ptr [r9]; jumptable 0000000180060561 case 4      ; +0x67c, 0x18006080c\nmovups  xmm0, xmmword ptr [r8]                                         ; +0x680, 0x180060810\nadd     r8, 10h                                                        ; +0x684, 0x180060814\nmovups  xmm1, xmmword ptr [rdx]                                        ; +0x688, 0x180060818\nmulps   xmm2, xmm0                                                     ; +0x68b, 0x18006081b\naddps   xmm2, xmm1                                                     ; +0x68e, 0x18006081e\nmovups  xmmword ptr [rdx], xmm2                                        ; +0x691, 0x180060821\nadd     rdx, 10h                                                       ; +0x694, 0x180060824\nadd     r9, 10h                                                        ; +0x698, 0x180060828\nmovups  xmm2, xmmword ptr [r9]; jumptable 0000000180060561 case 3      ; +0x69c, 0x18006082c\nmovups  xmm0, xmmword ptr [r8]                                         ; +0x6a0, 0x180060830\nadd     r8, 10h                                                        ; +0x6a4, 0x180060834\nmovups  xmm1, xmmword ptr [rdx]                                        ; +0x6a8, 0x180060838\nmulps   xmm2, xmm0                                                     ; +0x6ab, 0x18006083b\naddps   xmm2, xmm1                                                     ; +0x6ae, 0x18006083e\nmovups  xmmword ptr [rdx], xmm2                                        ; +0x6b1, 0x180060841\nadd     rdx, 10h                                                       ; +0x6b4, 0x180060844\nadd     r9, 10h                                                        ; +0x6b8, 0x180060848\nmovups  xmm2, xmmword ptr [r9]; jumptable 0000000180060561 case 2      ; +0x6bc, 0x18006084c\nmovups  xmm0, xmmword ptr [r8]                                         ; +0x6c0, 0x180060850\nadd     r8, 10h                                                        ; +0x6c4, 0x180060854\nmovups  xmm1, xmmword ptr [rdx]                                        ; +0x6c8, 0x180060858\nmulps   xmm2, xmm0                                                     ; +0x6cb, 0x18006085b\naddps   xmm2, xmm1                                                     ; +0x6ce, 0x18006085e\nmovups  xmmword ptr [rdx], xmm2                                        ; +0x6d1, 0x180060861\nadd     rdx, 10h                                                       ; +0x6d4, 0x180060864\nadd     r9, 10h                                                        ; +0x6d8, 0x180060868\nmovups  xmm2, xmmword ptr [r9]; jumptable 0000000180060561 case 1      ; +0x6dc, 0x18006086c\nmovups  xmm0, xmmword ptr [r8]                                         ; +0x6e0, 0x180060870\nadd     r8, 10h                                                        ; +0x6e4, 0x180060874\nmovups  xmm1, xmmword ptr [rdx]                                        ; +0x6e8, 0x180060878\nmulps   xmm2, xmm0                                                     ; +0x6eb, 0x18006087b\naddps   xmm2, xmm1                                                     ; +0x6ee, 0x18006087e\nmovups  xmmword ptr [rdx], xmm2                                        ; +0x6f1, 0x180060881\nadd     rdx, 10h                                                       ; +0x6f4, 0x180060884\nadd     r9, 10h                                                        ; +0x6f8, 0x180060888\nmovups  xmm2, xmmword ptr [r9]; jumptable 0000000180060561 case 0      ; +0x6fc, 0x18006088c\nmovups  xmm0, xmmword ptr [r8]                                         ; +0x700, 0x180060890\nadd     r8, 10h                                                        ; +0x704, 0x180060894\nmovups  xmm1, xmmword ptr [rdx]                                        ; +0x708, 0x180060898\nmulps   xmm2, xmm0                                                     ; +0x70b, 0x18006089b\naddps   xmm2, xmm1                                                     ; +0x70e, 0x18006089e\nmovups  xmmword ptr [rdx], xmm2                                        ; +0x711, 0x1800608a1\nadd     rdx, 10h                                                       ; +0x714, 0x1800608a4\nadd     r9, 10h                                                        ; +0x718, 0x1800608a8\nmov     ecx, r11d; jumptable 0000000180060561 default case             ; +0x71c, 0x1800608ac\nsub     ecx, 1                                                         ; +0x71f, 0x1800608af\njz      short loc_1800608FA                                            ; +0x722, 0x1800608b2\nsub     ecx, 1                                                         ; +0x724, 0x1800608b4\njz      short loc_1800608DC                                            ; +0x727, 0x1800608b7\ncmp     ecx, 1                                                         ; +0x729, 0x1800608b9\njnz     short loc_18006090C                                            ; +0x72c, 0x1800608bc\nmovss   xmm0, dword ptr [r9]                                           ; +0x72e, 0x1800608be\nadd     r9, 4                                                          ; +0x733, 0x1800608c3\nmulss   xmm0, dword ptr [r8]                                           ; +0x737, 0x1800608c7\nadd     r8, 4                                                          ; +0x73c, 0x1800608cc\naddss   xmm0, dword ptr [rdx]                                          ; +0x740, 0x1800608d0\nmovss   dword ptr [rdx], xmm0                                          ; +0x744, 0x1800608d4\nadd     rdx, 4                                                         ; +0x748, 0x1800608d8\nmovss   xmm0, dword ptr [r9]                                           ; +0x74c, 0x1800608dc\nadd     r9, 4                                                          ; +0x751, 0x1800608e1\nmulss   xmm0, dword ptr [r8]                                           ; +0x755, 0x1800608e5\nadd     r8, 4                                                          ; +0x75a, 0x1800608ea\naddss   xmm0, dword ptr [rdx]                                          ; +0x75e, 0x1800608ee\nmovss   dword ptr [rdx], xmm0                                          ; +0x762, 0x1800608f2\nadd     rdx, 4                                                         ; +0x766, 0x1800608f6\nmovss   xmm0, dword ptr [r9]                                           ; +0x76a, 0x1800608fa\nmulss   xmm0, dword ptr [r8]                                           ; +0x76f, 0x1800608ff\naddss   xmm0, dword ptr [rdx]                                          ; +0x774, 0x180060904\nmovss   dword ptr [rdx], xmm0                                          ; +0x778, 0x180060908\nadd     rdi, r14                                                       ; +0x77c, 0x18006090c\nadd     rbx, r14                                                       ; +0x77f, 0x18006090f\nsub     esi, 1                                                         ; +0x782, 0x180060912\njnz     loc_180060540                                                  ; +0x785, 0x180060915\njmp     loc_180060A37                                                  ; +0x78b, 0x18006091b\ntest    esi, esi                                                       ; +0x790, 0x180060920\njz      loc_180060A37                                                  ; +0x792, 0x180060922\nmov     r15d, r14d                                                     ; +0x798, 0x180060928\nlea     r10, cs:180000000h                                             ; +0x79b, 0x18006092b\nsar     r15d, 2                                                        ; +0x7a2, 0x180060932\nmov     r11, r14                                                       ; +0x7a6, 0x180060936\ndec     r15d                                                           ; +0x7a9, 0x180060939\nshl     r11, 2                                                         ; +0x7ac, 0x18006093c\nmov     rdx, rbx                                                       ; +0x7b0, 0x180060940\nmov     r8, rdi                                                        ; +0x7b3, 0x180060943\nmov     r9, r12                                                        ; +0x7b6, 0x180060946\ncmp     r15d, 7; switch 8 cases                                        ; +0x7b9, 0x180060949\nja      def_180060961; jumptable 0000000180060961 default case         ; +0x7bd, 0x18006094d\nmovsxd  rax, r15d                                                      ; +0x7c3, 0x180060953\nmov     ecx, ds:(jpt_180060961 - 180000000h)[r10+rax*4]                ; +0x7c6, 0x180060956\nadd     rcx, r10                                                       ; +0x7ce, 0x18006095e\njmp     rcx; switch jump                                               ; +0x7d1, 0x180060961\nmovups  xmm0, xmmword ptr [rdi]; jumptable 0000000180060961 case 7     ; +0x7d3, 0x180060963\nlea     rdx, [rbx+10h]                                                 ; +0x7d6, 0x180060966\nmulps   xmm0, xmmword ptr [r12]                                        ; +0x7da, 0x18006096a\nlea     r8, [rdi+10h]                                                  ; +0x7df, 0x18006096f\nlea     r9, [r12+10h]                                                  ; +0x7e3, 0x180060973\naddps   xmm0, xmmword ptr [rbx]                                        ; +0x7e8, 0x180060978\nmovups  xmmword ptr [rbx], xmm0                                        ; +0x7eb, 0x18006097b\nmovups  xmm0, xmmword ptr [r9]; jumptable 0000000180060961 case 6      ; +0x7ee, 0x18006097e\nmulps   xmm0, xmmword ptr [r8]                                         ; +0x7f2, 0x180060982\nadd     r8, 10h                                                        ; +0x7f6, 0x180060986\naddps   xmm0, xmmword ptr [rdx]                                        ; +0x7fa, 0x18006098a\nmovups  xmmword ptr [rdx], xmm0                                        ; +0x7fd, 0x18006098d\nadd     rdx, 10h                                                       ; +0x800, 0x180060990\nadd     r9, 10h                                                        ; +0x804, 0x180060994\nmovups  xmm0, xmmword ptr [r9]; jumptable 0000000180060961 case 5      ; +0x808, 0x180060998\nmulps   xmm0, xmmword ptr [r8]                                         ; +0x80c, 0x18006099c\nadd     r8, 10h                                                        ; +0x810, 0x1800609a0\naddps   xmm0, xmmword ptr [rdx]                                        ; +0x814, 0x1800609a4\nmovups  xmmword ptr [rdx], xmm0                                        ; +0x817, 0x1800609a7\nadd     rdx, 10h                                                       ; +0x81a, 0x1800609aa\nadd     r9, 10h                                                        ; +0x81e, 0x1800609ae\nmovups  xmm0, xmmword ptr [r9]; jumptable 0000000180060961 case 4      ; +0x822, 0x1800609b2\nmulps   xmm0, xmmword ptr [r8]                                         ; +0x826, 0x1800609b6\nadd     r8, 10h                                                        ; +0x82a, 0x1800609ba\naddps   xmm0, xmmword ptr [rdx]                                        ; +0x82e, 0x1800609be\nmovups  xmmword ptr [rdx], xmm0                                        ; +0x831, 0x1800609c1\nadd     rdx, 10h                                                       ; +0x834, 0x1800609c4\nadd     r9, 10h                                                        ; +0x838, 0x1800609c8\nmovups  xmm0, xmmword ptr [r9]; jumptable 0000000180060961 case 3      ; +0x83c, 0x1800609cc\nmulps   xmm0, xmmword ptr [r8]                                         ; +0x840, 0x1800609d0\nadd     r8, 10h                                                        ; +0x844, 0x1800609d4\naddps   xmm0, xmmword ptr [rdx]                                        ; +0x848, 0x1800609d8\nmovups  xmmword ptr [rdx], xmm0                                        ; +0x84b, 0x1800609db\nadd     rdx, 10h                                                       ; +0x84e, 0x1800609de\nadd     r9, 10h                                                        ; +0x852, 0x1800609e2\nmovups  xmm0, xmmword ptr [r9]; jumptable 0000000180060961 case 2      ; +0x856, 0x1800609e6\nmulps   xmm0, xmmword ptr [r8]                                         ; +0x85a, 0x1800609ea\nadd     r8, 10h                                                        ; +0x85e, 0x1800609ee\naddps   xmm0, xmmword ptr [rdx]                                        ; +0x862, 0x1800609f2\nmovups  xmmword ptr [rdx], xmm0                                        ; +0x865, 0x1800609f5\nadd     rdx, 10h                                                       ; +0x868, 0x1800609f8\nadd     r9, 10h                                                        ; +0x86c, 0x1800609fc\nmovups  xmm0, xmmword ptr [r9]; jumptable 0000000180060961 case 1      ; +0x870, 0x180060a00\nmulps   xmm0, xmmword ptr [r8]                                         ; +0x874, 0x180060a04\nadd     r8, 10h                                                        ; +0x878, 0x180060a08\naddps   xmm0, xmmword ptr [rdx]                                        ; +0x87c, 0x180060a0c\nmovups  xmmword ptr [rdx], xmm0                                        ; +0x87f, 0x180060a0f\nadd     rdx, 10h                                                       ; +0x882, 0x180060a12\nadd     r9, 10h                                                        ; +0x886, 0x180060a16\nmovups  xmm0, xmmword ptr [r9]; jumptable 0000000180060961 case 0      ; +0x88a, 0x180060a1a\nmulps   xmm0, xmmword ptr [r8]                                         ; +0x88e, 0x180060a1e\naddps   xmm0, xmmword ptr [rdx]                                        ; +0x892, 0x180060a22\nmovups  xmmword ptr [rdx], xmm0                                        ; +0x895, 0x180060a25\nadd     rdi, r11; jumptable 0000000180060961 default case              ; +0x898, 0x180060a28\nadd     rbx, r11                                                       ; +0x89b, 0x180060a2b\nsub     esi, 1                                                         ; +0x89e, 0x180060a2e\njnz     loc_180060940                                                  ; +0x8a1, 0x180060a31\nmov     rcx, [rbp+20h+var_20]                                          ; +0x8a7, 0x180060a37\nxor     rcx, rbp; StackCookie                                          ; +0x8ab, 0x180060a3b\ncall    __security_check_cookie                                        ; +0x8ae, 0x180060a3e\nmov     rbx, [rbp+20h+arg_0]                                           ; +0x8b3, 0x180060a43\nmov     rsi, [rbp+20h+arg_8]                                           ; +0x8b7, 0x180060a47\nmov     rdi, [rbp+20h+arg_10]                                          ; +0x8bb, 0x180060a4b\nmov     r12, [rbp+20h+arg_18]                                          ; +0x8bf, 0x180060a4f\nlea     rsp, [rbp+10h]                                                 ; +0x8c3, 0x180060a53\npop     r15                                                            ; +0x8c7, 0x180060a57\npop     r14                                                            ; +0x8c9, 0x180060a59\npop     rbp                                                            ; +0x8cb, 0x180060a5b\nretn                                                                   ; +0x8cc, 0x180060a5c\nalign 20h                                                              ; +0x8cd, 0x180060a5d\ndd offset loc_18006088C - 180000000h; jump table for switch statement  ; +0x8d0, 0x180060a60\ndd offset loc_180060652 - 180000000h; jump table for switch statement  ; +0x8f0, 0x180060a80\ndd offset loc_18006078D - 180000000h; jump table for switch statement  ; +0x910, 0x180060aa0\ndd offset loc_180060A1A - 180000000h; jump table for switch statement  ; +0x930, 0x180060ac0", "xrefs": ["sub_18005B1E0 @ 0x18005b25e", "<???> @ 0x1801ac4f0", "<???> @ 0x1801f9138"], "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"}