{"type": "func", "start": 6443638448, "end": 6443640858, "name": "_sse2_cosf4", "pseudocode": "// \n// _sse2_cosf4 from 0x180121eb0 to 0x18012281a (2410 bytes)\n// \n// 2 xrefs:\n// > __vdecl_cosf4 @ 0x1801202cd\n// > <???> @ 0x1802025c4\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// local variable allocation has failed, the output may be wrong!\n__m128 __fastcall _sse2_cosf4(double a1, __int64 a2, __int64 a3)\n{\n  void *v3; // r9\n  int v4; // r10d\n  _OWORD *v5; // r13\n  __m128 v6; // xmm3\n  __m128 v7; // xmm4\n  __m128 v8; // xmm2\n  __m128 v9; // xmm1\n  __m128 v10; // xmm10\n  __m128 v11; // xmm8\n  __m128 v12; // xmm13\n  __m128 v13; // xmm11\n  __m128 v14; // xmm13\n  __m128 v15; // xmm10\n  __int64 v17; // rbx\n  int v18; // esi\n  __m128i v19; // xmm11\n  __m128i v20; // xmm14\n  unsigned int v21; // edx\n  unsigned int v22; // eax\n  unsigned int v23; // r8d\n  unsigned int v24; // ecx\n  __m128i v25; // xmm9\n  __m128i v26; // xmm8\n  __m128i v27; // xmm4\n  __m128i v28; // xmm7\n  __m128i v29; // xmm12\n  __m128i v30; // xmm8\n  __m128i v31; // xmm12\n  __m128i v32; // xmm14\n  __m128i v33; // xmm15\n  __m128i v34; // xmm10\n  __m128i v35; // xmm13\n  __m128i v36; // xmm0\n  __m128i v37; // xmm8\n  __m128i v38; // xmm9\n  __m128i v39; // xmm5\n  __m128i v40; // xmm12\n  __m128i v41; // xmm2\n  __m128i v42; // xmm4\n  __m128i v43; // xmm1\n  __m128i v44; // xmm11\n  __m128i v45; // xmm2\n  __m128i v46; // xmm3\n  __m128i v47; // xmm6\n  __m128i v48; // xmm0\n  __m128i v49; // xmm13\n  __m128i v50; // xmm3\n  __m128i v51; // xmm5\n  __m128i v52; // xmm1\n  __m128i v53; // xmm4\n  __m128i v54; // xmm13\n  __m128i v55; // xmm5\n  __m128 v56; // xmm2\n  __m128 v57; // xmm15\n  __m128 v58; // xmm10\n  __m128 v59; // xmm5\n  __m128 v60; // xmm3\n  __m128 v61; // xmm1\n  __m128 v62; // xmm12\n  __m128 v63; // xmm2\n  __m128 v64; // xmm15\n  __m128 v65; // xmm8\n  __m128 v66; // xmm2\n  __m128 v67; // xmm15\n  __m128 v68; // xmm6\n  __m128 v69; // xmm9\n  __m128 v70; // xmm10\n  __m128 v71; // xmm6\n  __m128 v72; // xmm8\n  __m128 v73; // xmm11\n  __m128 v74; // xmm7\n  __m128 v75; // xmm12\n  __m128 v76; // xmm8\n  __m128i v77; // xmm3\n  unsigned int v78; // edx\n  __m128 v79; // xmm12\n  unsigned int v80; // ecx\n  unsigned int v81; // eax\n  __m128 v82; // xmm11\n  __m128 v83; // xmm10\n  __m128 v84; // xmm13\n  __m128 v85; // xmm5\n  __m128 v86; // xmm3\n  __m128 v87; // xmm7\n  __m128 v88; // xmm2\n  __m128 v89; // xmm10\n  __m128 v90; // xmm15\n  __m128 v91; // [rsp+20h] [rbp-1D8h]\n  __m128 v92; // [rsp+30h] [rbp-1C8h]\n  __m128 v93; // [rsp+40h] [rbp-1B8h]\n  __m128i v94; // [rsp+50h] [rbp-1A8h] BYREF\n  __m128i v95; // [rsp+60h] [rbp-198h]\n  __m128i v96[2]; // [rsp+70h] [rbp-188h] BYREF\n  __m128i v97; // [rsp+90h] [rbp-168h] BYREF\n  __m128i v98[4]; // [rsp+A0h] [rbp-158h] BYREF\n  _BYTE v99[81]; // [rsp+EFh] [rbp-109h] BYREF\n  unsigned __int64 v100; // [rsp+1E8h] [rbp-10h]\n\n  v3 = &unk_180206700;\n  v4 = 0;\n  v5 = (_OWORD *)((unsigned __int64)v99 & 0xFFFFFFFFFFFFFFC0uLL);\n  v6 = _mm_and_ps((__m128)xmmword_180208300, *(__m128 *)&a1);\n  v7 = _mm_add_ps(v6, (__m128)xmmword_1802088C0);\n  v8 = _mm_cmpnle_ps(v6, (__m128)xmmword_180208340);\n  v9 = _mm_cmpeq_ps((__m128)xmmword_1802088C0, v7);\n  v10 = _mm_add_ps(_mm_mul_ps((__m128)xmmword_180208840, v7), (__m128)xmmword_180208880);\n  v11 = _mm_sub_ps(_mm_sub_ps(v10, (__m128)xmmword_180208880), (__m128)xmmword_180208900);\n  v100 = (unsigned __int64)v99 & 0xFFFFFFFFFFFFFFC0uLL;\n  v12 = _mm_sub_ps(\n          _mm_sub_ps(\n            _mm_sub_ps(\n              _mm_sub_ps(v6, _mm_mul_ps((__m128)xmmword_1802084C0, v11)),\n              _mm_mul_ps((__m128)xmmword_180208500, v11)),\n            _mm_mul_ps((__m128)xmmword_180208540, v11)),\n          _mm_mul_ps((__m128)xmmword_180208580, v11));\n  v13 = _mm_mul_ps(v12, v12);\n  v14 = (__m128)_mm_xor_si128((__m128i)v12, _mm_slli_epi32((__m128i)v10, 0x1Fu));\n  v15 = _mm_or_ps(\n          _mm_andnot_ps(\n            v9,\n            _mm_add_ps(\n              v14,\n              _mm_mul_ps(\n                _mm_add_ps(\n                  _mm_mul_ps(\n                    _mm_add_ps(\n                      _mm_mul_ps(_mm_add_ps(_mm_mul_ps((__m128)xmmword_180208740, v13), (__m128)xmmword_180208700), v13),\n                      (__m128)xmmword_1802086C0),\n                    v13),\n                  (__m128)xmmword_180208680),\n                _mm_mul_ps(v13, v14)))),\n          _mm_and_ps((__m128)xmmword_180208940, v9));\n  if ( _mm_movemask_ps(v8) )\n  {\n    v19 = _mm_srli_epi32(_mm_and_si128(_mm_shuffle_epi32(_mm_cvtsi32_si128(0x7F800000u), 0), *(__m128i *)&a1), 0x17u);\n    v20 = _mm_slli_epi32(_mm_add_epi32(_mm_slli_epi32(v19, 1u), v19), 2u);\n    v4 = _mm_movemask_ps(_mm_cmpeq_ps(_mm_and_ps(v6, (__m128)xmmword_180208380), (__m128)xmmword_180208380));\n    v93 = v15;\n    v21 = _mm_cvtsi128_si32(_mm_shuffle_epi32(v20, 2));\n    v22 = _mm_cvtsi128_si32(_mm_shuffle_epi32(v20, 3));\n    v23 = _mm_cvtsi128_si32(v20);\n    v24 = _mm_cvtsi128_si32(_mm_shuffle_epi32(v20, 1));\n    v92 = v8;\n    v25 = _mm_unpacklo_epi64(\n            _mm_unpacklo_epi32(\n              _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180206700 + v23 + 4)),\n              _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180206700 + v24 + 4))),\n            _mm_unpacklo_epi32(\n              _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180206700 + v21 + 4)),\n              _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180206700 + v22 + 4))));\n    v3 = &unk_180207300;\n    v91 = *(__m128 *)&a1;\n    v26 = _mm_unpacklo_epi64(\n            _mm_unpacklo_epi32(\n              _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180206700 + v23)),\n              _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180206700 + v24))),\n            _mm_unpacklo_epi32(\n              _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180206700 + v21)),\n              _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180206700 + v22))));\n    v27 = _mm_unpacklo_epi64(\n            _mm_unpacklo_epi32(\n              _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180206700 + v23 + 8)),\n              _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180206700 + v24 + 8))),\n            _mm_unpacklo_epi32(\n              _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180206700 + v21 + 8)),\n              _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180206700 + v22 + 8))));\n    v28 = _mm_shuffle_epi32(_mm_cvtsi32_si128(0xFFFFu), 0);\n    v29 = _mm_srli_epi32(v26, 0x10u);\n    v30 = _mm_and_si128(v26, v28);\n    v94 = v29;\n    v31 = _mm_add_epi32(\n            _mm_and_si128(_mm_shuffle_epi32(_mm_cvtsi32_si128(0x7FFFFFu), 0), *(__m128i *)&a1),\n            _mm_shuffle_epi32(_mm_cvtsi32_si128(0x800000u), 0));\n    v32 = _mm_and_si128(v31, v28);\n    v33 = _mm_srli_epi64(v30, 0x20u);\n    v34 = _mm_srli_epi64(v32, 0x20u);\n    v35 = _mm_mul_epu32(v32, v30);\n    v36 = _mm_srli_epi32(v25, 0x10u);\n    v95 = v30;\n    v37 = _mm_loadu_si128((const __m128i *)&xmmword_180204100);\n    v38 = _mm_and_si128(v25, v28);\n    v98[0] = _mm_or_si128(_mm_and_si128(v35, v37), _mm_slli_epi64(_mm_mul_epu32(v34, v33), 0x20u));\n    v96[0] = v36;\n    v39 = _mm_srli_epi64(v38, 0x20u);\n    v97 = _mm_srli_epi64(v36, 0x20u);\n    v40 = _mm_srli_epi32(v31, 0x10u);\n    v41 = v27;\n    v42 = _mm_and_si128(v27, v28);\n    v43 = _mm_or_si128(_mm_and_si128(_mm_mul_epu32(v32, v38), v37), _mm_slli_epi64(_mm_mul_epu32(v34, v39), 0x20u));\n    v44 = _mm_srli_epi64(v40, 0x20u);\n    v45 = _mm_srli_epi32(v41, 0x10u);\n    v96[1] = v33;\n    v46 = _mm_srli_epi64(v45, 0x20u);\n    v47 = _mm_or_si128(_mm_and_si128(_mm_mul_epu32(v32, v36), v37), _mm_slli_epi64(_mm_mul_epu32(v34, v97), 0x20u));\n    v48 = _mm_add_epi32(\n            _mm_srli_epi32(\n              _mm_or_si128(\n                _mm_and_si128(_mm_mul_epu32(v40, v42), v37),\n                _mm_slli_epi64(_mm_mul_epu32(_mm_srli_epi64(v42, 0x20u), v44), 0x20u)),\n              0x10u),\n            _mm_add_epi32(\n              _mm_and_si128(v43, v28),\n              _mm_add_epi32(\n                _mm_or_si128(\n                  _mm_and_si128(_mm_mul_epu32(v40, v45), v37),\n                  _mm_slli_epi64(_mm_mul_epu32(v44, v46), 0x20u)),\n                _mm_srli_epi32(\n                  _mm_or_si128(\n                    _mm_and_si128(_mm_mul_epu32(v45, v32), v37),\n                    _mm_slli_epi64(_mm_mul_epu32(v46, v34), 0x20u)),\n                  0x10u))));\n    v49 = _mm_add_epi32(\n            _mm_srli_epi32(v48, 0x10u),\n            _mm_add_epi32(\n              _mm_and_si128(v47, v28),\n              _mm_add_epi32(\n                _mm_or_si128(\n                  _mm_and_si128(_mm_mul_epu32(v38, v40), v37),\n                  _mm_slli_epi64(_mm_mul_epu32(v39, v44), 0x20u)),\n                _mm_srli_epi32(v43, 0x10u))));\n    v50 = _mm_loadu_si128(&v94);\n    v51 = _mm_loadu_si128(v98);\n    v52 = _mm_add_epi32(\n            _mm_srli_epi32(v49, 0x10u),\n            _mm_add_epi32(\n              _mm_and_si128(v51, v28),\n              _mm_add_epi32(\n                _mm_or_si128(\n                  _mm_and_si128(_mm_mul_epu32(_mm_loadu_si128(v96), v40), v37),\n                  _mm_slli_epi64(_mm_mul_epu32(_mm_loadu_si128(&v97), v44), 0x20u)),\n                _mm_srli_epi32(v47, 0x10u))));\n    v53 = _mm_add_epi32(\n            _mm_slli_epi32(\n              _mm_add_epi32(\n                _mm_srli_epi32(v52, 0x10u),\n                _mm_add_epi32(\n                  _mm_and_si128(\n                    _mm_or_si128(\n                      _mm_and_si128(_mm_mul_epu32(v32, v50), v37),\n                      _mm_slli_epi64(_mm_mul_epu32(v34, _mm_srli_epi64(v50, 0x20u)), 0x20u)),\n                    v28),\n                  _mm_add_epi32(\n                    _mm_or_si128(\n                      _mm_and_si128(_mm_mul_epu32(v40, v95), v37),\n                      _mm_slli_epi64(_mm_mul_epu32(v44, v33), 0x20u)),\n                    _mm_srli_epi32(v51, 0x10u)))),\n              0x10u),\n            _mm_and_si128(v52, v28));\n    v54 = _mm_add_epi32(_mm_slli_epi32(v49, 0x10u), _mm_and_si128(v48, v28));\n    *(__m128 *)&a1 = v91;\n    v55 = _mm_and_si128(_mm_shuffle_epi32(_mm_cvtsi32_si128(0x80000000), 0), (__m128i)v91);\n    v56 = (__m128)_mm_or_si128(\n                    _mm_srli_epi32(v53, 9u),\n                    _mm_xor_si128(_mm_shuffle_epi32(_mm_cvtsi32_si128(0x3F800000u), 0), v55));\n    v57 = (__m128)_mm_shuffle_epi32(_mm_cvtsi32_si128(0x47400000u), 0);\n    v58 = (__m128)_mm_xor_si128(_mm_shuffle_epi32(_mm_cvtsi32_si128(0x28800000u), 0), v55);\n    v59 = (__m128)_mm_xor_si128(v55, _mm_shuffle_epi32(_mm_cvtsi32_si128(0x34000000u), 0));\n    v60 = _mm_add_ps(v56, v57);\n    v61 = _mm_sub_ps(\n            (__m128)_mm_or_si128(\n                      _mm_or_si128(\n                        _mm_slli_epi32(_mm_and_si128(_mm_shuffle_epi32(_mm_cvtsi32_si128(0x1FFu), 0), v53), 0xEu),\n                        _mm_srli_epi32(v54, 0x12u)),\n                      (__m128i)v59),\n            v59);\n    v62 = (__m128)_mm_shuffle_epi32(_mm_cvtsi32_si128(0xB795777A), 0);\n    v63 = _mm_sub_ps(v56, _mm_sub_ps(v60, v57));\n    v64 = _mm_add_ps(v63, v61);\n    v65 = _mm_and_ps((__m128)_mm_shuffle_epi32(_mm_cvtsi32_si128(0xFFFFF000), 0), v64);\n    v66 = _mm_sub_ps(v63, v64);\n    v67 = _mm_sub_ps(v64, v65);\n    v68 = (__m128)_mm_shuffle_epi32(_mm_cvtsi32_si128(0x40C91000u), 0);\n    v69 = _mm_add_ps(\n            _mm_sub_ps(\n              (__m128)_mm_or_si128(\n                        _mm_slli_epi32(_mm_and_si128(_mm_shuffle_epi32(_mm_cvtsi32_si128(0x3FFFFu), 0), v54), 5u),\n                        (__m128i)v58),\n              v58),\n            _mm_add_ps(v61, v66));\n    v70 = _mm_mul_ps(v68, v65);\n    v71 = _mm_add_ps(\n            _mm_add_ps(_mm_mul_ps(v68, v67), _mm_mul_ps(v65, v62)),\n            _mm_add_ps(\n              _mm_mul_ps((__m128)_mm_shuffle_epi32(_mm_cvtsi32_si128(0x40C90FDBu), 0), v69),\n              _mm_mul_ps(v62, v67)));\n    v72 = _mm_and_ps((__m128)_mm_shuffle_epi32(_mm_cvtsi32_si128(0x7FFFFFFFu), 0), v91);\n    v73 = (__m128)_mm_shuffle_epi32(_mm_cvtsi32_si128(0x35800000u), 0);\n    v74 = _mm_add_ps(v71, v70);\n    v75 = _mm_cmplt_ps(v73, v72);\n    v76 = _mm_or_ps(_mm_and_ps(_mm_cmple_ps(v72, v73), v91), _mm_and_ps(v74, v75));\n    v77 = _mm_slli_epi32(_mm_and_si128((__m128i)v60, _mm_shuffle_epi32(_mm_cvtsi32_si128(0xFFu), 0)), 4u);\n    v78 = _mm_cvtsi128_si32(v77);\n    v79 = _mm_and_ps(v75, _mm_add_ps(v71, _mm_sub_ps(v70, v74)));\n    v80 = _mm_cvtsi128_si32(_mm_shuffle_epi32(v77, 2));\n    a3 = (unsigned int)_mm_cvtsi128_si32(_mm_shuffle_epi32(v77, 3));\n    v81 = _mm_cvtsi128_si32(_mm_shuffle_epi32(v77, 1));\n    v82 = _mm_mul_ps(v76, v76);\n    v83 = (__m128)_mm_unpacklo_epi64(\n                    _mm_unpacklo_epi32(\n                      _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180207300 + v78)),\n                      _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180207300 + v81))),\n                    _mm_unpacklo_epi32(\n                      _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180207300 + v80)),\n                      _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180207300 + (unsigned int)a3))));\n    v84 = (__m128)_mm_unpacklo_epi64(\n                    _mm_unpacklo_epi32(\n                      _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180207300 + v78 + 12)),\n                      _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180207300 + v81 + 12))),\n                    _mm_unpacklo_epi32(\n                      _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180207300 + v80 + 12)),\n                      _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180207300 + (unsigned int)a3 + 12))));\n    v85 = _mm_mul_ps(v76, v84);\n    v86 = _mm_mul_ps(v76, v83);\n    v87 = (__m128)_mm_unpacklo_pd(\n                    (__m128d)_mm_unpacklo_epi32(\n                               _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180207300 + v78 + 4)),\n                               _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180207300 + v81 + 4))),\n                    (__m128d)_mm_unpacklo_epi32(\n                               _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180207300 + v80 + 4)),\n                               _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180207300 + (unsigned int)a3 + 4))));\n    v88 = _mm_add_ps(v87, v85);\n    v89 = _mm_sub_ps(_mm_add_ps(v83, v84), _mm_mul_ps(v76, v87));\n    v90 = _mm_add_ps(v88, v86);\n    v15 = _mm_or_ps(\n            _mm_andnot_ps(v92, v93),\n            _mm_and_ps(\n              _mm_add_ps(\n                v90,\n                _mm_add_ps(\n                  _mm_add_ps(\n                    _mm_add_ps(\n                      (__m128)_mm_unpacklo_epi64(\n                                _mm_unpacklo_epi32(\n                                  _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180207300 + v78 + 8)),\n                                  _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180207300 + v81 + 8))),\n                                _mm_unpacklo_epi32(\n                                  _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180207300 + v80 + 8)),\n                                  _mm_cvtsi32_si128(*(_DWORD *)((char *)&unk_180207300 + (unsigned int)a3 + 8)))),\n                      _mm_mul_ps(v79, v89)),\n                    _mm_mul_ps(\n                      v87,\n                      _mm_mul_ps(v82, _mm_add_ps(_mm_mul_ps((__m128)xmmword_180208480, v82), (__m128)xmmword_180208440)))),\n                  _mm_add_ps(\n                    _mm_add_ps(_mm_add_ps(v85, _mm_sub_ps(v87, v88)), _mm_add_ps(v86, _mm_sub_ps(v88, v90))),\n                    _mm_mul_ps(\n                      _mm_mul_ps(\n                        _mm_mul_ps(\n                          _mm_add_ps(_mm_mul_ps((__m128)xmmword_180208400, v82), (__m128)xmmword_1802083C0),\n                          v82),\n                        v76),\n                      v89)))),\n              v92));\n  }\n  if ( v4 )\n  {\n    *v5 = *(_OWORD *)&a1;\n    *(__m128 *)(((unsigned __int64)v99 & 0xFFFFFFFFFFFFFFC0uLL) + 0x40) = v15;\n    v17 = 0;\n    v18 = v4;\n    do\n    {\n      if ( _bittest(&v18, v17) )\n        _common_scos_cout_rare((char *)v5 + 4 * v17, (char *)v5 + 4 * v17 + 64, a3, v3);\n      v17 = (unsigned int)(v17 + 1);\n    }\n    while ( (int)v17 < 4 );\n    return *(__m128 *)(((unsigned __int64)v99 & 0xFFFFFFFFFFFFFFC0uLL) + 0x40);\n  }\n  return v15;\n}", "assembly": "; \n; _sse2_cosf4 from 0x180121eb0 to 0x18012281a (2410 bytes)\n; \n; 2 xrefs:\n; > __vdecl_cosf4 @ 0x1801202cd\n; > <???> @ 0x1802025c4\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\nsub     rsp, 1F8h                                                      ; +0x0, 0x180121eb0\nlea     r9, unk_180206700                                              ; +0x7, 0x180121eb7\nmovaps  [rsp+1F8h+var_98], xmm15                                       ; +0xe, 0x180121ebe\nxor     r10d, r10d                                                     ; +0x17, 0x180121ec7\nmovaps  [rsp+1F8h+var_88], xmm14                                       ; +0x1a, 0x180121eca\nmovaps  [rsp+1F8h+var_B8], xmm13                                       ; +0x23, 0x180121ed3\nmovaps  [rsp+1F8h+var_78], xmm12                                       ; +0x2c, 0x180121edc\nmovaps  [rsp+1F8h+var_58], xmm11                                       ; +0x35, 0x180121ee5\nmovaps  [rsp+1F8h+var_28], xmm10                                       ; +0x3e, 0x180121eee\nmovaps  [rsp+1F8h+var_A8], xmm9                                        ; +0x47, 0x180121ef7\nmovaps  [rsp+1F8h+var_38], xmm8                                        ; +0x50, 0x180121f00\nmovaps  [rsp+1F8h+var_48], xmm7                                        ; +0x59, 0x180121f09\nmovaps  [rsp+1F8h+var_68], xmm6                                        ; +0x61, 0x180121f11\nmov     [rsp+1F8h+var_18], r13                                         ; +0x69, 0x180121f19\nlea     r13, [rsp+1F8h+var_109]                                        ; +0x71, 0x180121f21\nmovups  xmm3, cs:xmmword_180208300                                     ; +0x79, 0x180121f29\nand     r13, 0FFFFFFFFFFFFFFC0h                                        ; +0x80, 0x180121f30\nandps   xmm3, xmm0                                                     ; +0x84, 0x180121f34\nmovups  xmm1, cs:xmmword_1802088C0                                     ; +0x87, 0x180121f37\nmovaps  xmm4, xmm3                                                     ; +0x8e, 0x180121f3e\nmovups  xmm8, cs:xmmword_180208840                                     ; +0x91, 0x180121f41\nmovaps  xmm13, xmm3                                                    ; +0x99, 0x180121f49\nmovups  xmm5, cs:xmmword_180208880                                     ; +0x9d, 0x180121f4d\nmovaps  xmm2, xmm3                                                     ; +0xa4, 0x180121f54\nmovups  xmm6, cs:xmmword_180208500                                     ; +0xa7, 0x180121f57\naddps   xmm4, xmm1                                                     ; +0xae, 0x180121f5e\ncmpnleps xmm2, cs:xmmword_180208340                                    ; +0xb1, 0x180121f61\nmulps   xmm8, xmm4                                                     ; +0xb9, 0x180121f69\ncmpeqps xmm1, xmm4                                                     ; +0xbd, 0x180121f6d\nmovmskps eax, xmm2                                                     ; +0xc1, 0x180121f71\naddps   xmm8, xmm5                                                     ; +0xc4, 0x180121f74\nmovaps  xmm10, xmm8                                                    ; +0xc8, 0x180121f78\nsubps   xmm8, xmm5                                                     ; +0xcc, 0x180121f7c\nmovups  xmm4, cs:xmmword_1802084C0                                     ; +0xd0, 0x180121f80\npslld   xmm10, 1Fh                                                     ; +0xd7, 0x180121f87\nmovups  xmm7, cs:xmmword_180208540                                     ; +0xdd, 0x180121f8d\nmovups  xmm9, cs:xmmword_180208580                                     ; +0xe4, 0x180121f94\nmovups  xmm12, cs:xmmword_180208740                                    ; +0xec, 0x180121f9c\nmovups  xmm14, cs:xmmword_180208940                                    ; +0xf4, 0x180121fa4\nandps   xmm14, xmm1                                                    ; +0xfc, 0x180121fac\nsubps   xmm8, cs:xmmword_180208900                                     ; +0x100, 0x180121fb0\nmulps   xmm4, xmm8                                                     ; +0x108, 0x180121fb8\nmulps   xmm6, xmm8                                                     ; +0x10c, 0x180121fbc\nmulps   xmm7, xmm8                                                     ; +0x110, 0x180121fc0\nsubps   xmm13, xmm4                                                    ; +0x114, 0x180121fc4\nmulps   xmm9, xmm8                                                     ; +0x118, 0x180121fc8\nsubps   xmm13, xmm6                                                    ; +0x11c, 0x180121fcc\nmov     [rsp+1F8h+var_10], r13                                         ; +0x120, 0x180121fd0\nsubps   xmm13, xmm7                                                    ; +0x128, 0x180121fd8\nsubps   xmm13, xmm9                                                    ; +0x12c, 0x180121fdc\nmovaps  xmm11, xmm13                                                   ; +0x130, 0x180121fe0\nmulps   xmm11, xmm13                                                   ; +0x134, 0x180121fe4\npxor    xmm13, xmm10                                                   ; +0x138, 0x180121fe8\nmulps   xmm12, xmm11                                                   ; +0x13d, 0x180121fed\nmovaps  xmm10, xmm1                                                    ; +0x141, 0x180121ff1\naddps   xmm12, cs:xmmword_180208700                                    ; +0x145, 0x180121ff5\nmulps   xmm12, xmm11                                                   ; +0x14d, 0x180121ffd\naddps   xmm12, cs:xmmword_1802086C0                                    ; +0x151, 0x180122001\nmulps   xmm12, xmm11                                                   ; +0x159, 0x180122009\nmulps   xmm11, xmm13                                                   ; +0x15d, 0x18012200d\naddps   xmm12, cs:xmmword_180208680                                    ; +0x161, 0x180122011\nmulps   xmm12, xmm11                                                   ; +0x169, 0x180122019\naddps   xmm13, xmm12                                                   ; +0x16d, 0x18012201d\nandnps  xmm10, xmm13                                                   ; +0x171, 0x180122021\norps    xmm10, xmm14                                                   ; +0x175, 0x180122025\ntest    eax, eax                                                       ; +0x179, 0x180122029\njnz     loc_1801220F0                                                  ; +0x17b, 0x18012202b\ntest    r10d, r10d                                                     ; +0x181, 0x180122031\njnz     short loc_1801220A2                                            ; +0x184, 0x180122034\nmovups  xmm6, [rsp+1F8h+var_68]                                        ; +0x186, 0x180122036\nmovaps  xmm0, xmm10                                                    ; +0x18e, 0x18012203e\nmovups  xmm7, [rsp+1F8h+var_48]                                        ; +0x192, 0x180122042\nmovups  xmm8, [rsp+1F8h+var_38]                                        ; +0x19a, 0x18012204a\nmovups  xmm9, [rsp+1F8h+var_A8]                                        ; +0x1a3, 0x180122053\nmovups  xmm10, [rsp+1F8h+var_28]                                       ; +0x1ac, 0x18012205c\nmovups  xmm11, [rsp+1F8h+var_58]                                       ; +0x1b5, 0x180122065\nmovups  xmm12, [rsp+1F8h+var_78]                                       ; +0x1be, 0x18012206e\nmovups  xmm13, [rsp+1F8h+var_B8]                                       ; +0x1c7, 0x180122077\nmovups  xmm14, [rsp+1F8h+var_88]                                       ; +0x1d0, 0x180122080\nmovups  xmm15, [rsp+1F8h+var_98]                                       ; +0x1d9, 0x180122089\nmov     r13, [rsp+1F8h+var_18]                                         ; +0x1e2, 0x180122092\nadd     rsp, 1F8h                                                      ; +0x1ea, 0x18012209a\nretn                                                                   ; +0x1f1, 0x1801220a1\nmovups  xmmword ptr [r13+0], xmm0                                      ; +0x1f2, 0x1801220a2\nmovups  xmmword ptr [r13+40h], xmm10                                   ; +0x1f7, 0x1801220a7\njz      short loc_180122036                                            ; +0x1fc, 0x1801220ac\nxor     eax, eax                                                       ; +0x1fe, 0x1801220ae\nmov     qword ptr [rsp+1F8h+var_1D8+8], rbx                            ; +0x200, 0x1801220b0\nmov     ebx, eax                                                       ; +0x205, 0x1801220b5\nmov     qword ptr [rsp+1F8h+var_1D8], rsi                              ; +0x207, 0x1801220b7\nmov     esi, r10d                                                      ; +0x20c, 0x1801220bc\nbt      esi, ebx                                                       ; +0x20f, 0x1801220bf\njb      short loc_1801220DF                                            ; +0x212, 0x1801220c2\ninc     ebx                                                            ; +0x214, 0x1801220c4\ncmp     ebx, 4                                                         ; +0x216, 0x1801220c6\njl      short loc_1801220BF                                            ; +0x219, 0x1801220c9\nmov     rbx, qword ptr [rsp+1F8h+var_1D8+8]                            ; +0x21b, 0x1801220cb\nmov     rsi, qword ptr [rsp+1F8h+var_1D8]                              ; +0x220, 0x1801220d0\nmovups  xmm10, xmmword ptr [r13+40h]                                   ; +0x225, 0x1801220d5\njmp     loc_180122036                                                  ; +0x22a, 0x1801220da\nlea     rcx, [r13+rbx*4+0]                                             ; +0x22f, 0x1801220df\nlea     rdx, [r13+rbx*4+40h]                                           ; +0x234, 0x1801220e4\ncall    __common_scos_cout_rare                                        ; +0x239, 0x1801220e9\njmp     short loc_1801220C4                                            ; +0x23e, 0x1801220ee\nmov     r11d, 7F800000h                                                ; +0x240, 0x1801220f0\nmovups  xmm15, cs:xmmword_180208380                                    ; +0x246, 0x1801220f6\nandps   xmm3, xmm15                                                    ; +0x24e, 0x1801220fe\ncmpeqps xmm3, xmm15                                                    ; +0x252, 0x180122102\nmovd    xmm12, r11d                                                    ; +0x257, 0x180122107\nmov     r11d, 7FFFFFh                                                  ; +0x25c, 0x18012210c\npshufd  xmm11, xmm12, 0                                                ; +0x262, 0x180122112\npand    xmm11, xmm0                                                    ; +0x268, 0x180122118\npsrld   xmm11, 17h                                                     ; +0x26d, 0x18012211d\nmovdqa  xmm14, xmm11                                                   ; +0x273, 0x180122123\npslld   xmm14, 1                                                       ; +0x278, 0x180122128\npaddd   xmm14, xmm11                                                   ; +0x27e, 0x18012212e\nmovd    xmm11, r11d                                                    ; +0x283, 0x180122133\npslld   xmm14, 2                                                       ; +0x288, 0x180122138\nmov     r11d, 47400000h                                                ; +0x28e, 0x18012213e\nmovmskps r10d, xmm3                                                    ; +0x294, 0x180122144\npshufd  xmm7, xmm14, 2                                                 ; +0x298, 0x180122148\npshufd  xmm3, xmm14, 3                                                 ; +0x29e, 0x18012214e\nmovups  [rsp+1F8h+var_1B8], xmm10                                      ; +0x2a4, 0x180122154\npshufd  xmm10, xmm14, 1                                                ; +0x2aa, 0x18012215a\nmovd    edx, xmm7                                                      ; +0x2b0, 0x180122160\nmovd    eax, xmm3                                                      ; +0x2b4, 0x180122164\nmovd    r8d, xmm14                                                     ; +0x2b8, 0x180122168\nmovd    ecx, xmm10                                                     ; +0x2bd, 0x18012216d\nmovups  [rsp+1F8h+var_1C8], xmm2                                       ; +0x2c2, 0x180122172\nmovd    xmm2, dword ptr [r9+rdx]                                       ; +0x2c7, 0x180122177\nmovd    xmm9, dword ptr [r9+rax]                                       ; +0x2cd, 0x18012217d\nmovd    xmm5, dword ptr [r9+rax+4]                                     ; +0x2d3, 0x180122183\npunpckldq xmm2, xmm9                                                   ; +0x2da, 0x18012218a\nmovd    xmm9, dword ptr [r9+r8+4]                                      ; +0x2df, 0x18012218f\nmovd    xmm4, dword ptr [r9+rcx+4]                                     ; +0x2e6, 0x180122196\nmovd    xmm15, dword ptr [r9+rdx+4]                                    ; +0x2ed, 0x18012219d\nmovd    xmm12, dword ptr [r9+rdx+8]                                    ; +0x2f4, 0x1801221a4\nmov     edx, 800000h                                                   ; +0x2fb, 0x1801221ab\npunpckldq xmm9, xmm4                                                   ; +0x300, 0x1801221b0\npunpckldq xmm15, xmm5                                                  ; +0x305, 0x1801221b5\npunpcklqdq xmm9, xmm15                                                 ; +0x30a, 0x1801221ba\nmovd    xmm15, dword ptr [r9+rax+8]                                    ; +0x30f, 0x1801221bf\nmov     eax, 0FFFFh                                                    ; +0x316, 0x1801221c6\nmovd    xmm8, dword ptr [r9+r8]                                        ; +0x31b, 0x1801221cb\nmovd    xmm6, dword ptr [r9+rcx]                                       ; +0x321, 0x1801221d1\npshufd  xmm14, xmm11, 0                                                ; +0x327, 0x1801221d7\nmovd    xmm1, dword ptr [r9+rcx+8]                                     ; +0x32d, 0x1801221dd\npand    xmm14, xmm0                                                    ; +0x334, 0x1801221e4\npunpckldq xmm8, xmm6                                                   ; +0x339, 0x1801221e9\nmov     ecx, 80000000h                                                 ; +0x33e, 0x1801221ee\nmovd    xmm4, dword ptr [r9+r8+8]                                      ; +0x343, 0x1801221f3\nlea     r9, unk_180207300                                              ; +0x34a, 0x1801221fa\nmov     r8d, 3F800000h                                                 ; +0x351, 0x180122201\nmovups  [rsp+1F8h+var_1D8], xmm0                                       ; +0x357, 0x180122207\nmovd    xmm0, edx                                                      ; +0x35c, 0x18012220c\npunpcklqdq xmm8, xmm2                                                  ; +0x360, 0x180122210\nmov     edx, 28800000h                                                 ; +0x365, 0x180122215\npunpckldq xmm4, xmm1                                                   ; +0x36a, 0x18012221a\npunpckldq xmm12, xmm15                                                 ; +0x36e, 0x18012221e\nmovd    xmm15, eax                                                     ; +0x373, 0x180122223\npshufd  xmm0, xmm0, 0                                                  ; +0x378, 0x180122228\nmov     eax, 3FFFFh                                                    ; +0x37d, 0x18012222d\npunpcklqdq xmm4, xmm12                                                 ; +0x382, 0x180122232\nmovdqa  xmm12, xmm8                                                    ; +0x387, 0x180122237\npshufd  xmm7, xmm15, 0                                                 ; +0x38c, 0x18012223c\npaddd   xmm14, xmm0                                                    ; +0x392, 0x180122242\npsrld   xmm12, 10h                                                     ; +0x397, 0x180122247\npand    xmm8, xmm7                                                     ; +0x39d, 0x18012224d\nmovdqu  [rsp+1F8h+var_1A8], xmm12                                      ; +0x3a2, 0x180122252\nmovdqa  xmm12, xmm14                                                   ; +0x3a9, 0x180122259\npand    xmm14, xmm7                                                    ; +0x3ae, 0x18012225e\nmovdqa  xmm15, xmm8                                                    ; +0x3b3, 0x180122263\nmovdqa  xmm10, xmm14                                                   ; +0x3b8, 0x180122268\npsrlq   xmm15, 20h ; ' '                                               ; +0x3bd, 0x18012226d\npsrlq   xmm10, 20h ; ' '                                               ; +0x3c3, 0x180122273\nmovdqa  xmm13, xmm14                                                   ; +0x3c9, 0x180122279\nmovdqa  xmm6, xmm10                                                    ; +0x3ce, 0x18012227e\nmovdqa  xmm0, xmm9                                                     ; +0x3d3, 0x180122283\npmuludq xmm13, xmm8                                                    ; +0x3d8, 0x180122288\npsrld   xmm0, 10h                                                      ; +0x3dd, 0x18012228d\npmuludq xmm6, xmm15                                                    ; +0x3e2, 0x180122292\nmovdqu  [rsp+1F8h+var_198], xmm8                                       ; +0x3e7, 0x180122297\npsllq   xmm6, 20h ; ' '                                                ; +0x3ee, 0x18012229e\nmovdqu  xmm8, cs:xmmword_180204100                                     ; +0x3f3, 0x1801222a3\npand    xmm9, xmm7                                                     ; +0x3fc, 0x1801222ac\npand    xmm13, xmm8                                                    ; +0x401, 0x1801222b1\nmovdqa  xmm1, xmm0                                                     ; +0x406, 0x1801222b6\npor     xmm13, xmm6                                                    ; +0x40a, 0x1801222ba\npsrlq   xmm1, 20h ; ' '                                                ; +0x40f, 0x1801222bf\nmovdqu  [rsp+1F8h+var_158], xmm13                                      ; +0x414, 0x1801222c4\nmovdqa  xmm5, xmm9                                                     ; +0x41e, 0x1801222ce\nmovdqa  xmm6, xmm14                                                    ; +0x423, 0x1801222d3\nmovdqa  xmm13, xmm10                                                   ; +0x428, 0x1801222d8\nmovdqu  [rsp+1F8h+var_188], xmm0                                       ; +0x42d, 0x1801222dd\npsrlq   xmm5, 20h ; ' '                                                ; +0x433, 0x1801222e3\nmovdqu  [rsp+1F8h+var_168], xmm1                                       ; +0x438, 0x1801222e8\npsrld   xmm12, 10h                                                     ; +0x441, 0x1801222f1\npmuludq xmm6, xmm0                                                     ; +0x447, 0x1801222f7\nmovdqa  xmm0, xmm10                                                    ; +0x44b, 0x1801222fb\npmuludq xmm13, xmm1                                                    ; +0x450, 0x180122300\npmuludq xmm0, xmm5                                                     ; +0x455, 0x180122305\nmovdqa  xmm1, xmm14                                                    ; +0x459, 0x180122309\npsllq   xmm0, 20h ; ' '                                                ; +0x45e, 0x18012230e\npmuludq xmm1, xmm9                                                     ; +0x463, 0x180122313\nmovdqa  xmm2, xmm4                                                     ; +0x468, 0x180122318\npmuludq xmm9, xmm12                                                    ; +0x46c, 0x18012231c\npand    xmm1, xmm8                                                     ; +0x471, 0x180122321\npand    xmm4, xmm7                                                     ; +0x476, 0x180122326\nmovdqa  xmm11, xmm12                                                   ; +0x47a, 0x18012232a\npor     xmm1, xmm0                                                     ; +0x47f, 0x18012232f\nmovdqa  xmm0, xmm12                                                    ; +0x483, 0x180122333\npsrlq   xmm11, 20h ; ' '                                               ; +0x488, 0x180122338\npmuludq xmm0, xmm4                                                     ; +0x48e, 0x18012233e\npsrlq   xmm4, 20h ; ' '                                                ; +0x492, 0x180122342\npmuludq xmm4, xmm11                                                    ; +0x497, 0x180122347\npmuludq xmm5, xmm11                                                    ; +0x49c, 0x18012234c\npsrld   xmm2, 10h                                                      ; +0x4a1, 0x180122351\npand    xmm0, xmm8                                                     ; +0x4a6, 0x180122356\nmovdqa  xmm3, xmm2                                                     ; +0x4ab, 0x18012235b\npsllq   xmm4, 20h ; ' '                                                ; +0x4af, 0x18012235f\nmovdqu  [rsp+1F8h+var_178], xmm15                                      ; +0x4b4, 0x180122364\npsrlq   xmm3, 20h ; ' '                                                ; +0x4be, 0x18012236e\npor     xmm0, xmm4                                                     ; +0x4c3, 0x180122373\nmovdqa  xmm4, xmm12                                                    ; +0x4c7, 0x180122377\nmovdqa  xmm15, xmm11                                                   ; +0x4cc, 0x18012237c\npand    xmm6, xmm8                                                     ; +0x4d1, 0x180122381\npmuludq xmm4, xmm2                                                     ; +0x4d6, 0x180122386\npsllq   xmm13, 20h ; ' '                                               ; +0x4da, 0x18012238a\npmuludq xmm15, xmm3                                                    ; +0x4e0, 0x180122390\npmuludq xmm2, xmm14                                                    ; +0x4e5, 0x180122395\npmuludq xmm3, xmm10                                                    ; +0x4ea, 0x18012239a\npand    xmm2, xmm8                                                     ; +0x4ef, 0x18012239f\npsllq   xmm3, 20h ; ' '                                                ; +0x4f4, 0x1801223a4\npand    xmm4, xmm8                                                     ; +0x4f9, 0x1801223a9\npsllq   xmm15, 20h ; ' '                                               ; +0x4fe, 0x1801223ae\npor     xmm2, xmm3                                                     ; +0x504, 0x1801223b4\npor     xmm6, xmm13                                                    ; +0x508, 0x1801223b8\nmovdqa  xmm13, xmm1                                                    ; +0x50d, 0x1801223bd\npor     xmm4, xmm15                                                    ; +0x512, 0x1801223c2\npsrld   xmm2, 10h                                                      ; +0x517, 0x1801223c7\npand    xmm13, xmm7                                                    ; +0x51c, 0x1801223cc\npaddd   xmm4, xmm2                                                     ; +0x521, 0x1801223d1\npand    xmm9, xmm8                                                     ; +0x525, 0x1801223d5\npsllq   xmm5, 20h ; ' '                                                ; +0x52a, 0x1801223da\npsrld   xmm0, 10h                                                      ; +0x52f, 0x1801223df\npaddd   xmm13, xmm4                                                    ; +0x534, 0x1801223e4\nmovdqa  xmm3, xmm6                                                     ; +0x539, 0x1801223e9\npor     xmm9, xmm5                                                     ; +0x53d, 0x1801223ed\npsrld   xmm1, 10h                                                      ; +0x542, 0x1801223f2\npaddd   xmm0, xmm13                                                    ; +0x547, 0x1801223f7\npand    xmm3, xmm7                                                     ; +0x54c, 0x1801223fc\npaddd   xmm9, xmm1                                                     ; +0x550, 0x180122400\nmovdqa  xmm13, xmm0                                                    ; +0x555, 0x180122405\nmovdqu  xmm2, [rsp+1F8h+var_188]                                       ; +0x55a, 0x18012240a\npaddd   xmm3, xmm9                                                     ; +0x560, 0x180122410\nmovdqu  xmm9, [rsp+1F8h+var_168]                                       ; +0x565, 0x180122415\npsrld   xmm13, 10h                                                     ; +0x56f, 0x18012241f\npmuludq xmm2, xmm12                                                    ; +0x575, 0x180122425\npaddd   xmm13, xmm3                                                    ; +0x57a, 0x18012242a\npmuludq xmm9, xmm11                                                    ; +0x57f, 0x18012242f\npmuludq xmm12, [rsp+1F8h+var_198]                                      ; +0x584, 0x180122434\npmuludq xmm11, [rsp+1F8h+var_178]                                      ; +0x58b, 0x18012243b\nmovdqu  xmm3, [rsp+1F8h+var_1A8]                                       ; +0x595, 0x180122445\npand    xmm2, xmm8                                                     ; +0x59b, 0x18012244b\npmuludq xmm14, xmm3                                                    ; +0x5a0, 0x180122450\npsrlq   xmm3, 20h ; ' '                                                ; +0x5a5, 0x180122455\npmuludq xmm10, xmm3                                                    ; +0x5aa, 0x18012245a\nmovdqu  xmm5, [rsp+1F8h+var_158]                                       ; +0x5af, 0x18012245f\npsllq   xmm9, 20h ; ' '                                                ; +0x5b8, 0x180122468\nmovdqa  xmm15, xmm5                                                    ; +0x5be, 0x18012246e\npor     xmm2, xmm9                                                     ; +0x5c3, 0x180122473\npsrld   xmm6, 10h                                                      ; +0x5c8, 0x180122478\nmovdqa  xmm1, xmm13                                                    ; +0x5cd, 0x18012247d\npand    xmm15, xmm7                                                    ; +0x5d2, 0x180122482\npaddd   xmm2, xmm6                                                     ; +0x5d7, 0x180122487\npsrld   xmm1, 10h                                                      ; +0x5db, 0x18012248b\npaddd   xmm15, xmm2                                                    ; +0x5e0, 0x180122490\npand    xmm14, xmm8                                                    ; +0x5e5, 0x180122495\npsllq   xmm10, 20h ; ' '                                               ; +0x5ea, 0x18012249a\npand    xmm12, xmm8                                                    ; +0x5f0, 0x1801224a0\npsllq   xmm11, 20h ; ' '                                               ; +0x5f5, 0x1801224a5\npaddd   xmm1, xmm15                                                    ; +0x5fb, 0x1801224ab\npor     xmm14, xmm10                                                   ; +0x600, 0x1801224b0\npor     xmm12, xmm11                                                   ; +0x605, 0x1801224b5\npsrld   xmm5, 10h                                                      ; +0x60a, 0x1801224ba\nmovdqa  xmm4, xmm1                                                     ; +0x60f, 0x1801224bf\npand    xmm14, xmm7                                                    ; +0x613, 0x1801224c3\npaddd   xmm12, xmm5                                                    ; +0x618, 0x1801224c8\npsrld   xmm4, 10h                                                      ; +0x61d, 0x1801224cd\npaddd   xmm14, xmm12                                                   ; +0x622, 0x1801224d2\npand    xmm1, xmm7                                                     ; +0x627, 0x1801224d7\npaddd   xmm4, xmm14                                                    ; +0x62b, 0x1801224db\npslld   xmm13, 10h                                                     ; +0x630, 0x1801224e0\npslld   xmm4, 10h                                                      ; +0x636, 0x1801224e6\npand    xmm0, xmm7                                                     ; +0x63b, 0x1801224eb\nmovd    xmm8, ecx                                                      ; +0x63f, 0x1801224ef\npaddd   xmm4, xmm1                                                     ; +0x644, 0x1801224f4\npshufd  xmm5, xmm8, 0                                                  ; +0x648, 0x1801224f8\npaddd   xmm13, xmm0                                                    ; +0x64e, 0x1801224fe\nmovups  xmm0, [rsp+1F8h+var_1D8]                                       ; +0x653, 0x180122503\nmovd    xmm10, r8d                                                     ; +0x658, 0x180122508\npshufd  xmm7, xmm10, 0                                                 ; +0x65d, 0x18012250d\npand    xmm5, xmm0                                                     ; +0x663, 0x180122513\nmovdqa  xmm2, xmm4                                                     ; +0x667, 0x180122517\npxor    xmm7, xmm5                                                     ; +0x66b, 0x18012251b\npsrld   xmm2, 9                                                        ; +0x66f, 0x18012251f\nmovd    xmm14, r11d                                                    ; +0x674, 0x180122524\npor     xmm2, xmm7                                                     ; +0x679, 0x180122529\nmov     r8d, 1FFh                                                      ; +0x67d, 0x18012252d\npshufd  xmm15, xmm14, 0                                                ; +0x683, 0x180122533\nmovdqa  xmm3, xmm2                                                     ; +0x689, 0x180122539\nmov     ecx, 34000000h                                                 ; +0x68d, 0x18012253d\nmovd    xmm11, eax                                                     ; +0x692, 0x180122542\npshufd  xmm9, xmm11, 0                                                 ; +0x697, 0x180122547\nmovd    xmm12, edx                                                     ; +0x69d, 0x18012254d\nmovd    xmm6, r8d                                                      ; +0x6a2, 0x180122552\npand    xmm9, xmm13                                                    ; +0x6a7, 0x180122557\npshufd  xmm1, xmm6, 0                                                  ; +0x6ac, 0x18012255c\npsrld   xmm13, 12h                                                     ; +0x6b1, 0x180122561\nmovd    xmm7, ecx                                                      ; +0x6b7, 0x180122567\npand    xmm1, xmm4                                                     ; +0x6bb, 0x18012256b\npshufd  xmm10, xmm12, 0                                                ; +0x6bf, 0x18012256f\npslld   xmm1, 0Eh                                                      ; +0x6c5, 0x180122575\npshufd  xmm14, xmm7, 0                                                 ; +0x6ca, 0x18012257a\npxor    xmm10, xmm5                                                    ; +0x6d0, 0x180122580\npxor    xmm5, xmm14                                                    ; +0x6d5, 0x180122585\npor     xmm1, xmm13                                                    ; +0x6da, 0x18012258a\npor     xmm1, xmm5                                                     ; +0x6df, 0x18012258f\nmov     ecx, 0FFFFF000h                                                ; +0x6e3, 0x180122593\npslld   xmm9, 5                                                        ; +0x6e8, 0x180122598\nmov     edx, 40C91000h                                                 ; +0x6ee, 0x18012259e\npor     xmm9, xmm10                                                    ; +0x6f3, 0x1801225a3\nmov     r11d, 40C90FDBh                                                ; +0x6f8, 0x1801225a8\nmov     eax, 0B795777Ah                                                ; +0x6fe, 0x1801225ae\nmov     r8d, 7FFFFFFFh                                                 ; +0x703, 0x1801225b3\naddps   xmm3, xmm15                                                    ; +0x709, 0x1801225b9\nsubps   xmm1, xmm5                                                     ; +0x70d, 0x1801225bd\nsubps   xmm9, xmm10                                                    ; +0x710, 0x1801225c0\nmovaps  xmm8, xmm3                                                     ; +0x714, 0x1801225c4\nmovd    xmm5, ecx                                                      ; +0x718, 0x1801225c8\nmovd    xmm13, r11d                                                    ; +0x71c, 0x1801225cc\nmovd    xmm4, eax                                                      ; +0x721, 0x1801225d1\npshufd  xmm11, xmm13, 0                                                ; +0x725, 0x1801225d5\nsubps   xmm8, xmm15                                                    ; +0x72b, 0x1801225db\npshufd  xmm12, xmm4, 0                                                 ; +0x72f, 0x1801225df\nsubps   xmm2, xmm8                                                     ; +0x735, 0x1801225e5\nmovaps  xmm15, xmm2                                                    ; +0x739, 0x1801225e9\nmov     r11d, 35800000h                                                ; +0x73d, 0x1801225ed\npshufd  xmm8, xmm5, 0                                                  ; +0x743, 0x1801225f3\naddps   xmm15, xmm1                                                    ; +0x749, 0x1801225f9\nandps   xmm8, xmm15                                                    ; +0x74d, 0x1801225fd\nsubps   xmm2, xmm15                                                    ; +0x751, 0x180122601\nsubps   xmm15, xmm8                                                    ; +0x755, 0x180122605\naddps   xmm1, xmm2                                                     ; +0x759, 0x180122609\nmovd    xmm2, edx                                                      ; +0x75c, 0x18012260c\nmov     edx, 0FFh                                                      ; +0x760, 0x180122610\npshufd  xmm6, xmm2, 0                                                  ; +0x765, 0x180122615\naddps   xmm9, xmm1                                                     ; +0x76a, 0x18012261a\nmovdqa  xmm10, xmm6                                                    ; +0x76e, 0x18012261e\nmulps   xmm10, xmm8                                                    ; +0x773, 0x180122623\nmulps   xmm6, xmm15                                                    ; +0x777, 0x180122627\nmulps   xmm8, xmm12                                                    ; +0x77b, 0x18012262b\nmulps   xmm11, xmm9                                                    ; +0x77f, 0x18012262f\nmulps   xmm12, xmm15                                                   ; +0x783, 0x180122633\naddps   xmm6, xmm8                                                     ; +0x787, 0x180122637\naddps   xmm11, xmm12                                                   ; +0x78b, 0x18012263b\nmovd    xmm9, r8d                                                      ; +0x78f, 0x18012263f\nmovd    xmm15, r11d                                                    ; +0x794, 0x180122644\npshufd  xmm8, xmm9, 0                                                  ; +0x799, 0x180122649\naddps   xmm6, xmm11                                                    ; +0x79f, 0x18012264f\nmovaps  xmm7, xmm6                                                     ; +0x7a3, 0x180122653\nandps   xmm8, xmm0                                                     ; +0x7a6, 0x180122656\npshufd  xmm11, xmm15, 0                                                ; +0x7aa, 0x18012265a\naddps   xmm7, xmm10                                                    ; +0x7b0, 0x180122660\nmovdqa  xmm12, xmm11                                                   ; +0x7b4, 0x180122664\nsubps   xmm10, xmm7                                                    ; +0x7b9, 0x180122669\ncmpltps xmm12, xmm8                                                    ; +0x7bd, 0x18012266d\ncmpleps xmm8, xmm11                                                    ; +0x7c2, 0x180122672\naddps   xmm6, xmm10                                                    ; +0x7c7, 0x180122677\nmovd    xmm10, edx                                                     ; +0x7cb, 0x18012267b\nandps   xmm8, xmm0                                                     ; +0x7d0, 0x180122680\npshufd  xmm14, xmm10, 0                                                ; +0x7d4, 0x180122684\nandps   xmm7, xmm12                                                    ; +0x7da, 0x18012268a\npand    xmm3, xmm14                                                    ; +0x7de, 0x18012268e\norps    xmm8, xmm7                                                     ; +0x7e3, 0x180122693\npslld   xmm3, 4                                                        ; +0x7e7, 0x180122697\nmovaps  xmm11, xmm8                                                    ; +0x7ec, 0x18012269c\nmovd    edx, xmm3                                                      ; +0x7f0, 0x1801226a0\nandps   xmm12, xmm6                                                    ; +0x7f4, 0x1801226a4\npshufd  xmm13, xmm3, 1                                                 ; +0x7f8, 0x1801226a8\npshufd  xmm1, xmm3, 2                                                  ; +0x7fe, 0x1801226ae\npshufd  xmm3, xmm3, 3                                                  ; +0x803, 0x1801226b3\nmovd    ecx, xmm1                                                      ; +0x808, 0x1801226b8\nmovd    r8d, xmm3                                                      ; +0x80c, 0x1801226bc\nmovd    eax, xmm13                                                     ; +0x811, 0x1801226c1\nmovd    xmm5, dword ptr [r9+rcx+8]                                     ; +0x816, 0x1801226c6\nmovd    xmm4, dword ptr [r9+r8+8]                                      ; +0x81d, 0x1801226cd\nmulps   xmm11, xmm8                                                    ; +0x824, 0x1801226d4\nmovd    xmm7, dword ptr [r9+r8]                                        ; +0x828, 0x1801226d8\nmovd    xmm10, dword ptr [r9+rdx]                                      ; +0x82e, 0x1801226de\nmovd    xmm15, dword ptr [r9+rax]                                      ; +0x834, 0x1801226e4\nmovd    xmm14, dword ptr [r9+rcx]                                      ; +0x83a, 0x1801226ea\npunpckldq xmm5, xmm4                                                   ; +0x840, 0x1801226f0\nmovups  xmm4, cs:xmmword_180208400                                     ; +0x844, 0x1801226f4\npunpckldq xmm10, xmm15                                                 ; +0x84b, 0x1801226fb\npunpckldq xmm14, xmm7                                                  ; +0x850, 0x180122700\nmovd    xmm7, dword ptr [r9+rdx+4]                                     ; +0x855, 0x180122705\nmovd    xmm13, dword ptr [r9+rax+4]                                    ; +0x85c, 0x18012270c\nmulps   xmm4, xmm11                                                    ; +0x863, 0x180122713\nmovd    xmm3, dword ptr [r9+rax+8]                                     ; +0x867, 0x180122717\nmovd    xmm6, dword ptr [r9+rax+0Ch]                                   ; +0x86e, 0x18012271e\npunpcklqdq xmm10, xmm14                                                ; +0x875, 0x180122725\naddps   xmm4, cs:xmmword_1802083C0                                     ; +0x87a, 0x18012272a\npunpckldq xmm7, xmm13                                                  ; +0x881, 0x180122731\nmovd    xmm14, dword ptr [r9+rdx+8]                                    ; +0x886, 0x180122736\nmovd    xmm13, dword ptr [r9+rdx+0Ch]                                  ; +0x88d, 0x18012273d\nmovd    xmm15, dword ptr [r9+rcx+0Ch]                                  ; +0x894, 0x180122744\nmovd    xmm9, dword ptr [r9+r8+0Ch]                                    ; +0x89b, 0x18012274b\npunpckldq xmm14, xmm3                                                  ; +0x8a2, 0x180122752\nmovaps  xmm3, xmm8                                                     ; +0x8a7, 0x180122757\npunpckldq xmm13, xmm6                                                  ; +0x8ab, 0x18012275b\npunpckldq xmm15, xmm9                                                  ; +0x8b0, 0x180122760\npunpcklqdq xmm14, xmm5                                                 ; +0x8b5, 0x180122765\nmovaps  xmm5, xmm8                                                     ; +0x8ba, 0x18012276a\npunpcklqdq xmm13, xmm15                                                ; +0x8be, 0x18012276e\nmulps   xmm5, xmm13                                                    ; +0x8c3, 0x180122773\nmulps   xmm3, xmm10                                                    ; +0x8c7, 0x180122777\naddps   xmm10, xmm13                                                   ; +0x8cb, 0x18012277b\nmulps   xmm4, xmm11                                                    ; +0x8cf, 0x18012277f\nmovd    xmm1, dword ptr [r9+r8+4]                                      ; +0x8d3, 0x180122783\nmovd    xmm2, dword ptr [r9+rcx+4]                                     ; +0x8da, 0x18012278a\npunpckldq xmm2, xmm1                                                   ; +0x8e1, 0x180122791\nunpcklpd xmm7, xmm2                                                    ; +0x8e5, 0x180122795\nmovaps  xmm2, xmm7                                                     ; +0x8e9, 0x180122799\nmovaps  xmm1, xmm7                                                     ; +0x8ec, 0x18012279c\nmovups  xmm13, cs:xmmword_180208480                                    ; +0x8ef, 0x18012279f\naddps   xmm2, xmm5                                                     ; +0x8f7, 0x1801227a7\nmulps   xmm4, xmm8                                                     ; +0x8fa, 0x1801227aa\nmulps   xmm13, xmm11                                                   ; +0x8fe, 0x1801227ae\nmulps   xmm8, xmm7                                                     ; +0x902, 0x1801227b2\nsubps   xmm1, xmm2                                                     ; +0x906, 0x1801227b6\naddps   xmm13, cs:xmmword_180208440                                    ; +0x909, 0x1801227b9\nsubps   xmm10, xmm8                                                    ; +0x911, 0x1801227c1\naddps   xmm5, xmm1                                                     ; +0x915, 0x1801227c5\nmulps   xmm11, xmm13                                                   ; +0x918, 0x1801227c8\nmulps   xmm12, xmm10                                                   ; +0x91c, 0x1801227cc\nmulps   xmm4, xmm10                                                    ; +0x920, 0x1801227d0\nmulps   xmm7, xmm11                                                    ; +0x924, 0x1801227d4\naddps   xmm14, xmm12                                                   ; +0x928, 0x1801227d8\nmovaps  xmm15, xmm2                                                    ; +0x92c, 0x1801227dc\naddps   xmm14, xmm7                                                    ; +0x930, 0x1801227e0\naddps   xmm15, xmm3                                                    ; +0x934, 0x1801227e4\nmovups  xmm8, [rsp+1F8h+var_1C8]                                       ; +0x938, 0x1801227e8\nsubps   xmm2, xmm15                                                    ; +0x93e, 0x1801227ee\nmovaps  xmm10, xmm8                                                    ; +0x942, 0x1801227f2\naddps   xmm3, xmm2                                                     ; +0x946, 0x1801227f6\nandnps  xmm10, [rsp+1F8h+var_1B8]                                      ; +0x949, 0x1801227f9\naddps   xmm5, xmm3                                                     ; +0x94f, 0x1801227ff\naddps   xmm5, xmm4                                                     ; +0x952, 0x180122802\naddps   xmm14, xmm5                                                    ; +0x955, 0x180122805\naddps   xmm15, xmm14                                                   ; +0x959, 0x180122809\nandps   xmm15, xmm8                                                    ; +0x95d, 0x18012280d\norps    xmm10, xmm15                                                   ; +0x961, 0x180122811\njmp     loc_180122031                                                  ; +0x965, 0x180122815", "xrefs": ["__vdecl_cosf4 @ 0x1801202cd", "<???> @ 0x1802025c4"], "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"}