; ; _sse2_powf4 from 0x180122fc0 to 0x180123ad1 (2833 bytes) ; ; 2 xrefs: ; > _sse2_powf4 @ 0x1801202e0 ; > @ 0x1802025dc ; ; This function is hookable on this platform! ; ; Using BromaIDA 8.0.0 @ https:;github.com/Stazzical/BromaIDA ; Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https:;github.com/geode-sdk/bindings ; push rbx ; +0x0, 0x180122fc0 push rsi ; +0x1, 0x180122fc1 push rdi ; +0x2, 0x180122fc2 push r12 ; +0x3, 0x180122fc3 push r13 ; +0x5, 0x180122fc5 push r14 ; +0x7, 0x180122fc7 push r15 ; +0x9, 0x180122fc9 sub rsp, 0F0h ; +0xb, 0x180122fcb movaps [rsp+128h+var_68], xmm6 ; +0x12, 0x180122fd2 movaps [rsp+128h+var_78], xmm7 ; +0x1a, 0x180122fda pxor xmm6, xmm6 ; +0x22, 0x180122fe2 movdqa xmm7, cs:xmmword_180204200 ; +0x26, 0x180122fe6 movdqa xmm2, cs:xmmword_180204250 ; +0x2e, 0x180122fee movdqa xmm3, xmm1 ; +0x36, 0x180122ff6 movdqa xmm4, cs:xmmword_180204240 ; +0x3a, 0x180122ffa movdqa xmm5, cs:xmmword_1802042A0 ; +0x42, 0x180123002 movdqa [rsp+128h+var_58], xmm1 ; +0x4a, 0x18012300a pand xmm7, xmm1 ; +0x53, 0x180123013 pcmpgtd xmm1, xmm6 ; +0x57, 0x180123017 pcmpgtd xmm3, cs:xmmword_180204220 ; +0x5b, 0x18012301b cmpnltps xmm7, cs:xmmword_180204200 ; +0x63, 0x180123023 pand xmm4, xmm0 ; +0x6b, 0x18012302b pcmpeqd xmm6, xmm0 ; +0x6f, 0x18012302f pandn xmm3, xmm1 ; +0x73, 0x180123033 paddd xmm2, xmm4 ; +0x77, 0x180123037 movdqa xmm1, xmm5 ; +0x7b, 0x18012303b pand xmm6, xmm3 ; +0x7f, 0x18012303f movdqa xmm3, cs:xmmword_180204210 ; +0x83, 0x180123043 pand xmm2, cs:xmmword_180204260 ; +0x8b, 0x18012304b pcmpgtd xmm3, xmm0 ; +0x93, 0x180123053 pmovmskb edx, xmm6 ; +0x97, 0x180123057 pxor xmm6, cs:xmmword_1802043B0 ; +0x9b, 0x18012305b pxor xmm1, xmm2 ; +0xa3, 0x180123063 psrld xmm2, 17h ; +0xa7, 0x180123067 por xmm4, xmm1 ; +0xac, 0x18012306c movdqa xmm1, xmm0 ; +0xb0, 0x180123070 pmovmskb eax, xmm7 ; +0xb4, 0x180123074 pxor xmm7, xmm7 ; +0xb8, 0x180123078 movdqa [rsp+128h+var_108], xmm6 ; +0xbc, 0x18012307c pand xmm6, cs:xmmword_1802042A0 ; +0xc2, 0x180123082 xor edx, 0FFFFh ; +0xca, 0x18012308a jz _2TAG_PACKET_6_0_6 ; +0xd0, 0x180123090 pslld xmm1, 1 ; +0xd6, 0x180123096 movdqa [rsp+128h+var_48], xmm0 ; +0xdb, 0x18012309b pcmpgtd xmm0, cs:xmmword_180204220 ; +0xe4, 0x1801230a4 psrld xmm1, 18h ; +0xec, 0x1801230ac addps xmm5, xmm4 ; +0xf1, 0x1801230b1 psubd xmm1, cs:xmmword_180204230 ; +0xf4, 0x1801230b4 movdqa [rsp+128h+var_F8], xmm6 ; +0xfc, 0x1801230bc pxor xmm6, xmm6 ; +0x102, 0x1801230c2 pand xmm1, [rsp+128h+var_108] ; +0x106, 0x1801230c6 por xmm0, xmm3 ; +0x10c, 0x1801230cc unpcklps xmm6, xmm4 ; +0x110, 0x1801230d0 paddd xmm1, xmm2 ; +0x113, 0x1801230d3 pmovmskb ecx, xmm0 ; +0x117, 0x1801230d7 and ecx, edx ; +0x11b, 0x1801230db jnz _2TAG_PACKET_7_0_6 ; +0x11d, 0x1801230dd rcpps xmm5, xmm5 ; +0x123, 0x1801230e3 unpckhps xmm7, xmm4 ; +0x126, 0x1801230e6 movdqa xmm2, cs:xmmword_180204270 ; +0x129, 0x1801230e9 cvtps2pd xmm0, xmm5 ; +0x131, 0x1801230f1 psrlq xmm6, 4 ; +0x134, 0x1801230f4 movapd xmm3, cs:xmmword_1802042B0 ; +0x139, 0x1801230f9 psrlq xmm7, 4 ; +0x141, 0x180123101 paddd xmm6, xmm2 ; +0x146, 0x180123106 shufps xmm5, xmm5, 0EEh ; +0x14a, 0x18012310a paddd xmm7, xmm2 ; +0x14e, 0x18012310e movapd xmm4, xmm3 ; +0x152, 0x180123112 movapd xmm2, xmm6 ; +0x156, 0x180123116 mulpd xmm6, xmm0 ; +0x15a, 0x18012311a subpd xmm3, xmm2 ; +0x15e, 0x18012311e subpd xmm6, xmm4 ; +0x162, 0x180123122 cvtps2pd xmm5, xmm5 ; +0x166, 0x180123126 subpd xmm4, xmm7 ; +0x169, 0x180123129 mulpd xmm0, xmm6 ; +0x16d, 0x18012312d movapd xmm6, xmm7 ; +0x171, 0x180123131 mulpd xmm2, xmm0 ; +0x175, 0x180123135 mulpd xmm3, xmm0 ; +0x179, 0x180123139 mulpd xmm7, xmm5 ; +0x17d, 0x18012313d addpd xmm2, cs:xmmword_1802042B0 ; +0x181, 0x180123141 mulpd xmm2, xmm3 ; +0x189, 0x180123149 subpd xmm7, cs:xmmword_1802042B0 ; +0x18d, 0x18012314d movapd xmm3, xmm2 ; +0x195, 0x180123155 mulpd xmm7, xmm5 ; +0x199, 0x180123159 movapd xmm0, cs:xmmword_1802042F0 ; +0x19d, 0x18012315d mulpd xmm2, xmm2 ; +0x1a5, 0x180123165 mulpd xmm6, xmm7 ; +0x1a9, 0x180123169 mulpd xmm4, xmm7 ; +0x1ad, 0x18012316d addpd xmm6, cs:xmmword_1802042B0 ; +0x1b1, 0x180123171 movapd xmm5, xmm0 ; +0x1b9, 0x180123179 mulpd xmm6, xmm4 ; +0x1bd, 0x18012317d movdqa xmm7, xmm1 ; +0x1c1, 0x180123181 mulpd xmm0, xmm2 ; +0x1c5, 0x180123185 movapd xmm4, xmm6 ; +0x1c9, 0x180123189 cvtdq2pd xmm1, xmm1 ; +0x1cd, 0x18012318d mulpd xmm6, xmm6 ; +0x1d1, 0x180123191 addpd xmm0, cs:xmmword_1802042E0 ; +0x1d5, 0x180123195 pshufd xmm7, xmm7, 0EEh ; +0x1dd, 0x18012319d mulpd xmm5, xmm6 ; +0x1e2, 0x1801231a2 mulpd xmm0, xmm2 ; +0x1e6, 0x1801231a6 addpd xmm5, cs:xmmword_1802042E0 ; +0x1ea, 0x1801231aa mulpd xmm3, cs:xmmword_180204300 ; +0x1f2, 0x1801231b2 addpd xmm0, cs:xmmword_1802042D0 ; +0x1fa, 0x1801231ba cvtdq2pd xmm7, xmm7 ; +0x202, 0x1801231c2 mulpd xmm5, xmm6 ; +0x206, 0x1801231c6 mulpd xmm0, xmm2 ; +0x20a, 0x1801231ca mulpd xmm4, cs:xmmword_180204300 ; +0x20e, 0x1801231ce addpd xmm5, cs:xmmword_1802042D0 ; +0x216, 0x1801231d6 addpd xmm0, cs:xmmword_1802042C0 ; +0x21e, 0x1801231de mulpd xmm5, xmm6 ; +0x226, 0x1801231e6 mulpd xmm0, xmm2 ; +0x22a, 0x1801231ea cvtps2pd xmm2, qword ptr [rsp+128h+var_58] ; +0x22e, 0x1801231ee addpd xmm5, cs:xmmword_1802042C0 ; +0x236, 0x1801231f6 addpd xmm0, cs:xmmword_1802042B0 ; +0x23e, 0x1801231fe mulpd xmm5, xmm6 ; +0x246, 0x180123206 cvtps2pd xmm6, qword ptr [rsp+128h+var_58+8] ; +0x24a, 0x18012320a mulpd xmm3, xmm0 ; +0x252, 0x180123212 addpd xmm5, cs:xmmword_1802042B0 ; +0x256, 0x180123216 addpd xmm3, xmm1 ; +0x25e, 0x18012321e mulpd xmm5, xmm4 ; +0x262, 0x180123222 mulpd xmm3, xmm2 ; +0x266, 0x180123226 addpd xmm5, xmm7 ; +0x26a, 0x18012322a mulpd xmm5, xmm6 ; +0x26e, 0x18012322e movapd [rsp+128h+var_98], xmm3 ; +0x272, 0x180123232 movapd [rsp+128h+var_88], xmm5 ; +0x27b, 0x18012323b or eax, ecx ; +0x284, 0x180123244 jnz _2TAG_PACKET_9_0_6 ; +0x286, 0x180123246 movapd xmm0, cs:xmmword_180204310 ; +0x28c, 0x18012324c movaps xmm7, xmm3 ; +0x294, 0x180123254 movapd xmm4, xmm0 ; +0x297, 0x180123257 movdqa xmm2, cs:xmmword_180204330 ; +0x29b, 0x18012325b addpd xmm0, xmm3 ; +0x2a3, 0x180123263 movapd xmm1, xmm4 ; +0x2a7, 0x180123267 subpd xmm4, xmm0 ; +0x2ab, 0x18012326b shufps xmm7, xmm5, 0DDh ; +0x2af, 0x18012326f addpd xmm3, xmm4 ; +0x2b3, 0x180123273 pand xmm7, cs:xmmword_180204290 ; +0x2b7, 0x180123277 movapd xmm6, xmm1 ; +0x2bf, 0x18012327f pcmpgtd xmm7, cs:xmmword_180204320 ; +0x2c3, 0x180123283 paddd xmm0, xmm2 ; +0x2cb, 0x18012328b pmovmskb eax, xmm7 ; +0x2cf, 0x18012328f addpd xmm1, xmm5 ; +0x2d3, 0x180123293 movapd xmm7, cs:xmmword_180204340 ; +0x2d7, 0x180123297 subpd xmm6, xmm1 ; +0x2df, 0x18012329f movapd xmm4, cs:xmmword_180204350 ; +0x2e3, 0x1801232a3 addpd xmm5, xmm6 ; +0x2eb, 0x1801232ab addpd xmm7, xmm3 ; +0x2ef, 0x1801232af paddd xmm1, xmm2 ; +0x2f3, 0x1801232b3 movapd xmm6, xmm5 ; +0x2f7, 0x1801232b7 mulpd xmm7, xmm3 ; +0x2fb, 0x1801232bb addpd xmm5, xmm4 ; +0x2ff, 0x1801232bf addpd xmm4, xmm3 ; +0x303, 0x1801232c3 addpd xmm7, cs:xmmword_180204360 ; +0x307, 0x1801232c7 movapd xmm2, xmm6 ; +0x30f, 0x1801232cf mulpd xmm5, xmm6 ; +0x313, 0x1801232d3 mulpd xmm4, xmm3 ; +0x317, 0x1801232d7 addpd xmm2, cs:xmmword_180204340 ; +0x31b, 0x1801232db psllq xmm0, 34h ; '4' ; +0x323, 0x1801232e3 addpd xmm5, cs:xmmword_180204370 ; +0x328, 0x1801232e8 addpd xmm4, cs:xmmword_180204370 ; +0x330, 0x1801232f0 mulpd xmm2, xmm6 ; +0x338, 0x1801232f8 mulpd xmm7, xmm4 ; +0x33c, 0x1801232fc addpd xmm2, cs:xmmword_180204360 ; +0x340, 0x180123300 movapd xmm4, xmm3 ; +0x348, 0x180123308 mulpd xmm5, xmm2 ; +0x34c, 0x18012330c addpd xmm3, cs:xmmword_180204380 ; +0x350, 0x180123310 psllq xmm1, 34h ; '4' ; +0x358, 0x180123318 movapd xmm2, cs:xmmword_180204380 ; +0x35d, 0x18012331d mulpd xmm3, xmm4 ; +0x365, 0x180123325 addpd xmm2, xmm6 ; +0x369, 0x180123329 addpd xmm3, cs:xmmword_180204390 ; +0x36d, 0x18012332d mulpd xmm2, xmm6 ; +0x375, 0x180123335 por xmm0, cs:xmmword_1802043A0 ; +0x379, 0x180123339 mulpd xmm7, xmm3 ; +0x381, 0x180123341 addpd xmm2, cs:xmmword_180204390 ; +0x385, 0x180123345 movdqa xmm6, cs:xmmword_1802043A0 ; +0x38d, 0x18012334d mulpd xmm0, xmm7 ; +0x395, 0x180123355 por xmm6, xmm1 ; +0x399, 0x180123359 mulpd xmm5, xmm2 ; +0x39d, 0x18012335d cvtpd2ps xmm0, xmm0 ; +0x3a1, 0x180123361 mulpd xmm5, xmm6 ; +0x3a5, 0x180123365 cvtpd2ps xmm5, xmm5 ; +0x3a9, 0x180123369 shufps xmm0, xmm5, 44h ; 'D' ; +0x3ad, 0x18012336d pand xmm0, [rsp+128h+var_108] ; +0x3b1, 0x180123371 test eax, eax ; +0x3b7, 0x180123377 jnz short _2TAG_PACKET_11_0_6 ; +0x3b9, 0x180123379 jmp _2TAG_PACKET_12_0_6 ; +0x3bb, 0x18012337b movaps xmm4, [rsp+128h+var_98] ; +0x3c0, 0x180123380 movaps xmm5, [rsp+128h+var_88] ; +0x3c8, 0x180123388 movdqa xmm7, cs:xmmword_1802043B0 ; +0x3d0, 0x180123390 movdqa xmm1, cs:xmmword_180204320 ; +0x3d8, 0x180123398 movaps xmm2, xmm4 ; +0x3e0, 0x1801233a0 shufps xmm4, xmm5, 0DDh ; +0x3e3, 0x1801233a3 pxor xmm6, xmm6 ; +0x3e7, 0x1801233a7 pcmpeqd xmm7, xmm4 ; +0x3eb, 0x1801233ab pcmpgtd xmm6, xmm4 ; +0x3ef, 0x1801233af pand xmm4, cs:xmmword_180204290 ; +0x3f3, 0x1801233b3 shufps xmm2, xmm5, 88h ; +0x3fb, 0x1801233bb pcmpgtd xmm4, xmm1 ; +0x3ff, 0x1801233bf movdqa xmm3, xmm7 ; +0x403, 0x1801233c3 pxor xmm7, xmm4 ; +0x407, 0x1801233c7 pandn xmm4, xmm0 ; +0x40b, 0x1801233cb pandn xmm6, xmm7 ; +0x40f, 0x1801233cf movdqa xmm0, cs:xmmword_180204200 ; +0x413, 0x1801233d3 pand xmm2, xmm3 ; +0x41b, 0x1801233db pand xmm0, xmm6 ; +0x41f, 0x1801233df por xmm2, xmm4 ; +0x423, 0x1801233e3 por xmm0, xmm2 ; +0x427, 0x1801233e7 pand xmm0, [rsp+128h+var_108] ; +0x42b, 0x1801233eb jmp _2TAG_PACKET_12_0_6 ; +0x431, 0x1801233f1 movaps xmm7, [rsp+128h+var_108] ; +0x436, 0x1801233f6 movaps xmm3, [rsp+128h+var_108] ; +0x43b, 0x1801233fb movaps xmm2, [rsp+128h+var_108] ; +0x440, 0x180123400 pand xmm3, [rsp+128h+var_58] ; +0x445, 0x180123405 pandn xmm2, cs:xmmword_1802042A0 ; +0x44e, 0x18012340e pand xmm7, [rsp+128h+var_48] ; +0x456, 0x180123416 por xmm3, xmm2 ; +0x45f, 0x18012341f por xmm2, xmm7 ; +0x463, 0x180123423 movaps xmm0, xmm2 ; +0x467, 0x180123427 movaps [rsp+128h+var_58], xmm3 ; +0x46a, 0x18012342a movdqa xmm3, cs:xmmword_180204210 ; +0x472, 0x180123432 pcmpgtd xmm0, cs:xmmword_180204220 ; +0x47a, 0x18012343a pcmpgtd xmm3, xmm2 ; +0x482, 0x180123442 movaps [rsp+128h+var_48], xmm2 ; +0x486, 0x180123446 por xmm0, xmm3 ; +0x48e, 0x18012344e movapd xmm7, cs:xmmword_180204210 ; +0x492, 0x180123452 pand xmm2, cs:xmmword_180204290 ; +0x49a, 0x18012345a pcmpgtd xmm7, xmm2 ; +0x4a2, 0x180123462 movaps xmm2, xmm7 ; +0x4a6, 0x180123466 pxor xmm7, xmm7 ; +0x4a9, 0x180123469 pand xmm3, xmm2 ; +0x4ad, 0x18012346d pmovmskb ecx, xmm3 ; +0x4b1, 0x180123471 test ecx, ecx ; +0x4b5, 0x180123475 jz _2TAG_PACKET_13_0_6 ; +0x4b7, 0x180123477 movaps xmm6, [rsp+128h+var_48] ; +0x4bd, 0x18012347d pand xmm6, cs:xmmword_180204290 ; +0x4c5, 0x180123485 movaps xmm1, cs:xmmword_1802042A0 ; +0x4cd, 0x18012348d movaps xmm5, xmm1 ; +0x4d4, 0x180123494 pxor xmm0, xmm3 ; +0x4d7, 0x180123497 movaps xmm2, cs:xmmword_180204250 ; +0x4db, 0x18012349b pand xmm1, xmm3 ; +0x4e2, 0x1801234a2 por xmm6, xmm1 ; +0x4e6, 0x1801234a6 pand xmm3, cs:xmmword_180204280 ; +0x4ea, 0x1801234aa subps xmm6, xmm1 ; +0x4f2, 0x1801234b2 paddd xmm3, xmm5 ; +0x4f5, 0x1801234b5 movdqa xmm4, xmm6 ; +0x4f9, 0x1801234b9 movaps xmm1, xmm5 ; +0x4fd, 0x1801234bd pand xmm4, cs:xmmword_180204240 ; +0x500, 0x1801234c0 psrld xmm3, 17h ; +0x508, 0x1801234c8 paddd xmm2, xmm4 ; +0x50d, 0x1801234cd pslld xmm6, 1 ; +0x511, 0x1801234d1 pand xmm2, cs:xmmword_180204260 ; +0x516, 0x1801234d6 pxor xmm1, xmm2 ; +0x51e, 0x1801234de psrld xmm2, 17h ; +0x522, 0x1801234e2 por xmm4, xmm1 ; +0x527, 0x1801234e7 movdqa xmm0, [rsp+128h+var_48] ; +0x52b, 0x1801234eb movdqa xmm1, [rsp+128h+var_48] ; +0x534, 0x1801234f4 pcmpgtd xmm0, xmm7 ; +0x53d, 0x1801234fd pcmpgtd xmm1, cs:xmmword_180204220 ; +0x541, 0x180123501 pxor xmm0, cs:xmmword_1802043B0 ; +0x549, 0x180123509 por xmm0, xmm1 ; +0x551, 0x180123511 pmovmskb ecx, xmm0 ; +0x555, 0x180123515 movdqa xmm1, xmm6 ; +0x559, 0x180123519 psrld xmm1, 18h ; +0x55d, 0x18012351d pxor xmm6, xmm6 ; +0x562, 0x180123522 addps xmm5, xmm4 ; +0x566, 0x180123526 psubd xmm1, xmm3 ; +0x569, 0x180123529 unpcklps xmm6, xmm4 ; +0x56d, 0x18012352d paddd xmm1, xmm2 ; +0x570, 0x180123530 jmp _2TAG_PACKET_8_0_6 ; +0x574, 0x180123534 pxor xmm6, xmm6 ; +0x579, 0x180123539 pmovmskb ecx, xmm0 ; +0x57d, 0x18012353d unpcklps xmm6, xmm4 ; +0x581, 0x180123541 jmp _2TAG_PACKET_8_0_6 ; +0x584, 0x180123544 movapd [rsp+128h+var_98], xmm3 ; +0x589, 0x180123549 movapd [rsp+128h+var_88], xmm5 ; +0x592, 0x180123552 mov [rsp+128h+var_A0], ecx ; +0x59b, 0x18012355b mov r12d, [rsp+128h+var_A0] ; +0x5a2, 0x180123562 lea rdi, [rsp+128h+var_98] ; +0x5aa, 0x18012356a xor esi, esi ; +0x5b2, 0x180123572 mov r13d, dword ptr [rsp+rsi*4+128h+var_48] ; +0x5b4, 0x180123574 mov r14d, r13d ; +0x5bc, 0x18012357c mov ebx, dword ptr [rsp+rsi*4+128h+var_58] ; +0x5bf, 0x18012357f mov r15d, ebx ; +0x5c6, 0x180123586 and r14d, 7FFFFFFFh ; +0x5c9, 0x180123589 and r15d, 7FFFFFFFh ; +0x5d0, 0x180123590 jnz short loc_1801235AB ; +0x5d7, 0x180123597 mov dword ptr [rdi+4], 0FFFFFFFFh ; +0x5d9, 0x180123599 mov dword ptr [rdi], 3F800000h ; +0x5e0, 0x1801235a0 jmp loc_180123A6C ; +0x5e6, 0x1801235a6 cmp r14d, 7F800000h ; +0x5eb, 0x1801235ab ja short loc_1801235BD ; +0x5f2, 0x1801235b2 cmp r15d, 7F800000h ; +0x5f4, 0x1801235b4 jbe short loc_1801235DB ; +0x5fb, 0x1801235bb mov eax, 7FFFFFFFh ; +0x5fd, 0x1801235bd cmp r13d, 3F800000h ; +0x602, 0x1801235c2 mov dword ptr [rdi+4], 0FFFFFFFFh ; +0x609, 0x1801235c9 cmovz eax, r13d ; +0x610, 0x1801235d0 mov [rdi], eax ; +0x614, 0x1801235d4 jmp loc_180123A6C ; +0x616, 0x1801235d6 test r12d, 1 ; +0x61b, 0x1801235db jz loc_180123A05 ; +0x622, 0x1801235e2 test r14d, r14d ; +0x628, 0x1801235e8 jz loc_180123940 ; +0x62b, 0x1801235eb cmp r14d, 7F800000h ; +0x631, 0x1801235f1 jz loc_18012389A ; +0x638, 0x1801235f8 mov [rsp+128h+var_A8], ebx ; +0x63e, 0x1801235fe mov edx, [rsp+128h+var_A8] ; +0x645, 0x180123605 pxor xmm0, xmm0 ; +0x64c, 0x18012360c mov eax, edx ; +0x650, 0x180123610 and edx, 7F800000h ; +0x652, 0x180123612 and eax, 7FFFFFFFh ; +0x658, 0x180123618 cmp edx, 4A800000h ; +0x65d, 0x18012361d ja short _2TAG_PACKET_0_0_1_15 ; +0x663, 0x180123623 movd xmm0, eax ; +0x665, 0x180123625 pxor xmm2, xmm2 ; +0x669, 0x180123629 mov eax, 4B000000h ; +0x66d, 0x18012362d movd xmm1, eax ; +0x672, 0x180123632 subps xmm2, xmm0 ; +0x676, 0x180123636 addss xmm0, xmm1 ; +0x679, 0x180123639 movd eax, xmm0 ; +0x67d, 0x18012363d subss xmm1, xmm0 ; +0x681, 0x180123641 cmpeqss xmm1, xmm2 ; +0x685, 0x180123645 movmskps edx, xmm1 ; +0x68a, 0x18012364a test edx, 1 ; +0x68d, 0x18012364d jnz short _2TAG_PACKET_1_0_1_15 ; +0x693, 0x180123653 xor eax, eax ; +0x695, 0x180123655 jmp short _2TAG_PACKET_3_0_1_15 ; +0x697, 0x180123657 and eax, 1 ; +0x699, 0x180123659 add eax, 1 ; +0x69c, 0x18012365c shl eax, 1Eh ; +0x69f, 0x18012365f jmp short _2TAG_PACKET_3_0_1_15 ; +0x6a2, 0x180123662 cmp edx, 7F800000h ; +0x6a4, 0x180123664 jnb short _2TAG_PACKET_2_0_1_15 ; +0x6aa, 0x18012366a cmp edx, 4B000000h ; +0x6ac, 0x18012366c jz short _2TAG_PACKET_1_0_1_15 ; +0x6b2, 0x180123672 mov eax, 40000000h ; +0x6b4, 0x180123674 mov [rsp+128h+var_A4], eax ; +0x6b9, 0x180123679 mov edx, [rsp+128h+var_A4] ; +0x6c0, 0x180123680 test edx, edx ; +0x6c7, 0x180123687 jz loc_180123888 ; +0x6c9, 0x180123689 mov ecx, [rdi+4] ; +0x6cf, 0x18012368f mov eax, ecx ; +0x6d2, 0x180123692 and eax, 7FFFFFFFh ; +0x6d4, 0x180123694 cmp eax, 40862000h ; +0x6d9, 0x180123699 jb short loc_1801236BA ; +0x6de, 0x18012369e and ecx, 80000000h ; +0x6e0, 0x1801236a0 mov eax, 80000000h ; +0x6e6, 0x1801236a6 shr ecx, 1Ch ; +0x6eb, 0x1801236ab shr eax, cl ; +0x6ee, 0x1801236ae add eax, 0FF800000h ; +0x6f0, 0x1801236b0 jmp loc_180123879 ; +0x6f5, 0x1801236b5 mov [rsp+128h+var_C8], rdi ; +0x6fa, 0x1801236ba mov [rsp+128h+var_C0], rdi ; +0x6ff, 0x1801236bf mov rax, [rsp+128h+var_C0] ; +0x704, 0x1801236c4 movsd xmm3, qword ptr [rax] ; +0x709, 0x1801236c9 unpcklpd xmm3, xmm3 ; +0x70d, 0x1801236cd movaps xmm5, xmm3 ; +0x711, 0x1801236d1 movaps [rsp+128h+var_E8], xmm3 ; +0x714, 0x1801236d4 movaps [rsp+128h+var_D8], xmm3 ; +0x719, 0x1801236d9 movapd xmm0, cs:xmmword_180204310 ; +0x71e, 0x1801236de movaps xmm7, xmm3 ; +0x726, 0x1801236e6 movapd xmm4, xmm0 ; +0x729, 0x1801236e9 movdqa xmm2, cs:xmmword_180204330 ; +0x72d, 0x1801236ed addpd xmm0, xmm3 ; +0x735, 0x1801236f5 movapd xmm1, xmm4 ; +0x739, 0x1801236f9 subpd xmm4, xmm0 ; +0x73d, 0x1801236fd shufps xmm7, xmm5, 0DDh ; +0x741, 0x180123701 addpd xmm3, xmm4 ; +0x745, 0x180123705 pand xmm7, cs:xmmword_180204290 ; +0x749, 0x180123709 movapd xmm6, xmm1 ; +0x751, 0x180123711 pcmpgtd xmm7, cs:xmmword_180204320 ; +0x755, 0x180123715 paddd xmm0, xmm2 ; +0x75d, 0x18012371d pmovmskb eax, xmm7 ; +0x761, 0x180123721 addpd xmm1, xmm5 ; +0x765, 0x180123725 movapd xmm7, cs:xmmword_180204340 ; +0x769, 0x180123729 subpd xmm6, xmm1 ; +0x771, 0x180123731 movapd xmm4, cs:xmmword_180204350 ; +0x775, 0x180123735 addpd xmm5, xmm6 ; +0x77d, 0x18012373d addpd xmm7, xmm3 ; +0x781, 0x180123741 paddd xmm1, xmm2 ; +0x785, 0x180123745 movapd xmm6, xmm5 ; +0x789, 0x180123749 mulpd xmm7, xmm3 ; +0x78d, 0x18012374d addpd xmm5, xmm4 ; +0x791, 0x180123751 addpd xmm4, xmm3 ; +0x795, 0x180123755 addpd xmm7, cs:xmmword_180204360 ; +0x799, 0x180123759 movapd xmm2, xmm6 ; +0x7a1, 0x180123761 mulpd xmm5, xmm6 ; +0x7a5, 0x180123765 mulpd xmm4, xmm3 ; +0x7a9, 0x180123769 addpd xmm2, cs:xmmword_180204340 ; +0x7ad, 0x18012376d psllq xmm0, 34h ; '4' ; +0x7b5, 0x180123775 addpd xmm5, cs:xmmword_180204370 ; +0x7ba, 0x18012377a addpd xmm4, cs:xmmword_180204370 ; +0x7c2, 0x180123782 mulpd xmm2, xmm6 ; +0x7ca, 0x18012378a mulpd xmm7, xmm4 ; +0x7ce, 0x18012378e addpd xmm2, cs:xmmword_180204360 ; +0x7d2, 0x180123792 movapd xmm4, xmm3 ; +0x7da, 0x18012379a mulpd xmm5, xmm2 ; +0x7de, 0x18012379e addpd xmm4, cs:xmmword_180204380 ; +0x7e2, 0x1801237a2 psllq xmm1, 34h ; '4' ; +0x7ea, 0x1801237aa movapd xmm2, cs:xmmword_180204380 ; +0x7ef, 0x1801237af mulpd xmm4, xmm3 ; +0x7f7, 0x1801237b7 addpd xmm2, xmm6 ; +0x7fb, 0x1801237bb addpd xmm4, cs:xmmword_180204390 ; +0x7ff, 0x1801237bf mulpd xmm2, xmm6 ; +0x807, 0x1801237c7 por xmm0, cs:xmmword_1802043A0 ; +0x80b, 0x1801237cb mulpd xmm7, xmm4 ; +0x813, 0x1801237d3 addpd xmm2, cs:xmmword_180204390 ; +0x817, 0x1801237d7 movdqa xmm6, cs:xmmword_1802043A0 ; +0x81f, 0x1801237df mulpd xmm0, xmm7 ; +0x827, 0x1801237e7 por xmm6, xmm1 ; +0x82b, 0x1801237eb mulpd xmm5, xmm2 ; +0x82f, 0x1801237ef cvtpd2ps xmm0, xmm0 ; +0x833, 0x1801237f3 mulpd xmm5, xmm6 ; +0x837, 0x1801237f7 cvtpd2ps xmm5, xmm5 ; +0x83b, 0x1801237fb test eax, eax ; +0x83f, 0x1801237ff shufps xmm0, xmm5, 44h ; 'D' ; +0x841, 0x180123801 jnz short _2TAG_PACKET_4_0_4_14 ; +0x845, 0x180123805 jmp short _2TAG_PACKET_5_0_4_14 ; +0x847, 0x180123807 movaps xmm3, [rsp+128h+var_E8] ; +0x849, 0x180123809 movaps xmm5, [rsp+128h+var_D8] ; +0x84e, 0x18012380e movdqa xmm7, cs:xmmword_1802043B0 ; +0x853, 0x180123813 movdqa xmm1, cs:xmmword_180204320 ; +0x85b, 0x18012381b movaps xmm2, xmm3 ; +0x863, 0x180123823 shufps xmm3, xmm5, 0DDh ; +0x866, 0x180123826 pxor xmm6, xmm6 ; +0x86a, 0x18012382a pcmpeqd xmm7, xmm3 ; +0x86e, 0x18012382e pcmpgtd xmm6, xmm3 ; +0x872, 0x180123832 pand xmm3, cs:xmmword_180204290 ; +0x876, 0x180123836 shufps xmm2, xmm5, 88h ; +0x87e, 0x18012383e pcmpgtd xmm3, xmm1 ; +0x882, 0x180123842 movdqa xmm4, xmm7 ; +0x886, 0x180123846 pxor xmm7, xmm3 ; +0x88a, 0x18012384a pandn xmm3, xmm0 ; +0x88e, 0x18012384e pandn xmm6, xmm7 ; +0x892, 0x180123852 movdqa xmm0, cs:xmmword_180204200 ; +0x896, 0x180123856 pand xmm2, xmm4 ; +0x89e, 0x18012385e pand xmm0, xmm6 ; +0x8a2, 0x180123862 por xmm2, xmm3 ; +0x8a6, 0x180123866 por xmm0, xmm2 ; +0x8aa, 0x18012386a mov rax, [rsp+128h+var_C8] ; +0x8ae, 0x18012386e movss dword ptr [rax], xmm0 ; +0x8b3, 0x180123873 mov eax, [rdi] ; +0x8b7, 0x180123877 and edx, 80000000h ; +0x8b9, 0x180123879 or eax, edx ; +0x8bf, 0x18012387f mov [rdi], eax ; +0x8c1, 0x180123881 jmp loc_1801239FE ; +0x8c3, 0x180123883 cmp r15d, 7F800000h ; +0x8c8, 0x180123888 jb loc_180123ABF ; +0x8cf, 0x18012388f jmp loc_1801239FE ; +0x8d5, 0x180123895 mov [rsp+128h+var_B0], ebx ; +0x8da, 0x18012389a mov edx, [rsp+128h+var_B0] ; +0x8de, 0x18012389e pxor xmm0, xmm0 ; +0x8e2, 0x1801238a2 mov eax, edx ; +0x8e6, 0x1801238a6 and edx, 7F800000h ; +0x8e8, 0x1801238a8 and eax, 7FFFFFFFh ; +0x8ee, 0x1801238ae cmp edx, 4A800000h ; +0x8f3, 0x1801238b3 ja short _2TAG_PACKET_0_0_1_13 ; +0x8f9, 0x1801238b9 movd xmm0, eax ; +0x8fb, 0x1801238bb pxor xmm2, xmm2 ; +0x8ff, 0x1801238bf mov eax, 4B000000h ; +0x903, 0x1801238c3 movd xmm1, eax ; +0x908, 0x1801238c8 subps xmm2, xmm0 ; +0x90c, 0x1801238cc addss xmm0, xmm1 ; +0x90f, 0x1801238cf movd eax, xmm0 ; +0x913, 0x1801238d3 subss xmm1, xmm0 ; +0x917, 0x1801238d7 cmpeqss xmm1, xmm2 ; +0x91b, 0x1801238db movmskps edx, xmm1 ; +0x920, 0x1801238e0 test edx, 1 ; +0x923, 0x1801238e3 jnz short _2TAG_PACKET_1_0_1_13 ; +0x929, 0x1801238e9 xor eax, eax ; +0x92b, 0x1801238eb jmp short _2TAG_PACKET_3_0_1_13 ; +0x92d, 0x1801238ed and eax, 1 ; +0x92f, 0x1801238ef add eax, 1 ; +0x932, 0x1801238f2 shl eax, 1Eh ; +0x935, 0x1801238f5 jmp short _2TAG_PACKET_3_0_1_13 ; +0x938, 0x1801238f8 cmp edx, 7F800000h ; +0x93a, 0x1801238fa jnb short _2TAG_PACKET_2_0_1_13 ; +0x940, 0x180123900 cmp edx, 4B000000h ; +0x942, 0x180123902 jz short _2TAG_PACKET_1_0_1_13 ; +0x948, 0x180123908 mov eax, 40000000h ; +0x94a, 0x18012390a mov [rsp+128h+var_AC], eax ; +0x94f, 0x18012390f mov ecx, ebx ; +0x953, 0x180123913 mov eax, 80000000h ; +0x955, 0x180123915 and ecx, 80000000h ; +0x95a, 0x18012391a shr ecx, 1Ch ; +0x960, 0x180123920 mov edx, [rsp+128h+var_AC] ; +0x963, 0x180123923 shr eax, cl ; +0x967, 0x180123927 and edx, 80000000h ; +0x969, 0x180123929 and edx, r13d ; +0x96f, 0x18012392f add eax, 0FF800000h ; +0x972, 0x180123932 or edx, eax ; +0x977, 0x180123937 mov [rdi], edx ; +0x979, 0x180123939 jmp loc_1801239FE ; +0x97b, 0x18012393b mov r8d, ebx ; +0x980, 0x180123940 mov [rsp+128h+var_B8], ebx ; +0x983, 0x180123943 and r8d, 80000000h ; +0x987, 0x180123947 mov edx, [rsp+128h+var_B8] ; +0x98e, 0x18012394e pxor xmm0, xmm0 ; +0x992, 0x180123952 mov eax, edx ; +0x996, 0x180123956 and edx, 7F800000h ; +0x998, 0x180123958 and eax, 7FFFFFFFh ; +0x99e, 0x18012395e cmp edx, 4A800000h ; +0x9a3, 0x180123963 ja short _2TAG_PACKET_0_0_1_12 ; +0x9a9, 0x180123969 movd xmm0, eax ; +0x9ab, 0x18012396b pxor xmm2, xmm2 ; +0x9af, 0x18012396f mov eax, 4B000000h ; +0x9b3, 0x180123973 movd xmm1, eax ; +0x9b8, 0x180123978 subps xmm2, xmm0 ; +0x9bc, 0x18012397c addss xmm0, xmm1 ; +0x9bf, 0x18012397f movd eax, xmm0 ; +0x9c3, 0x180123983 subss xmm1, xmm0 ; +0x9c7, 0x180123987 cmpeqss xmm1, xmm2 ; +0x9cb, 0x18012398b movmskps edx, xmm1 ; +0x9d0, 0x180123990 test edx, 1 ; +0x9d3, 0x180123993 jnz short _2TAG_PACKET_1_0_1_12 ; +0x9d9, 0x180123999 xor eax, eax ; +0x9db, 0x18012399b jmp short _2TAG_PACKET_3_0_1_12 ; +0x9dd, 0x18012399d and eax, 1 ; +0x9df, 0x18012399f add eax, 1 ; +0x9e2, 0x1801239a2 shl eax, 1Eh ; +0x9e5, 0x1801239a5 jmp short _2TAG_PACKET_3_0_1_12 ; +0x9e8, 0x1801239a8 cmp edx, 7F800000h ; +0x9ea, 0x1801239aa jnb short _2TAG_PACKET_2_0_1_12 ; +0x9f0, 0x1801239b0 cmp edx, 4B000000h ; +0x9f2, 0x1801239b2 jz short _2TAG_PACKET_1_0_1_12 ; +0x9f8, 0x1801239b8 mov eax, 40000000h ; +0x9fa, 0x1801239ba mov [rsp+128h+var_B4], eax ; +0x9ff, 0x1801239bf mov ecx, r8d ; +0xa03, 0x1801239c3 mov eax, r13d ; +0xa06, 0x1801239c6 shr ecx, 1Ch ; +0xa09, 0x1801239c9 mov r9d, 800000h ; +0xa0c, 0x1801239cc and eax, 80000000h ; +0xa12, 0x1801239d2 xor edx, edx ; +0xa17, 0x1801239d7 test [rsp+128h+var_B4], 80000000h ; +0xa19, 0x1801239d9 cmovnz edx, eax ; +0xa21, 0x1801239e1 shl r9d, cl ; +0xa24, 0x1801239e4 add r9d, 0FF800000h ; +0xa27, 0x1801239e7 or r9d, edx ; +0xa2e, 0x1801239ee mov [rdi], r9d ; +0xa31, 0x1801239f1 test r8d, r8d ; +0xa34, 0x1801239f4 jz short loc_1801239FE ; +0xa37, 0x1801239f7 call _raise_zerodivide ; +0xa39, 0x1801239f9 mov dword ptr [rdi+4], 0FFFFFFFFh ; +0xa3e, 0x1801239fe cmp r13d, 3F800000h ; +0xa45, 0x180123a05 jnz short loc_180123A1E ; +0xa4c, 0x180123a0c mov eax, 3F800000h ; +0xa4e, 0x180123a0e mov dword ptr [rdi+4], 0FFFFFFFFh ; +0xa53, 0x180123a13 mov [rdi], eax ; +0xa5a, 0x180123a1a jmp short loc_180123A6C ; +0xa5c, 0x180123a1c cmp r15d, 7F800000h ; +0xa5e, 0x180123a1e jnz short loc_180123A6C ; +0xa65, 0x180123a25 mov dword ptr [rdi+4], 0FFFFFFFFh ; +0xa67, 0x180123a27 cmp r14d, 3F800000h ; +0xa6e, 0x180123a2e jnz short loc_180123A40 ; +0xa75, 0x180123a35 mov eax, 3F800000h ; +0xa77, 0x180123a37 mov [rdi], eax ; +0xa7c, 0x180123a3c jmp short loc_180123A6C ; +0xa7e, 0x180123a3e cmp r14d, 7F800000h ; +0xa80, 0x180123a40 jnb short loc_180123A6C ; +0xa87, 0x180123a47 cmp r14d, 3F800000h ; +0xa89, 0x180123a49 mov r14d, 0 ; +0xa90, 0x180123a50 setnbe r14b ; +0xa96, 0x180123a56 mov eax, 7F800000h ; +0xa9a, 0x180123a5a xor edx, edx ; +0xa9f, 0x180123a5f shr ebx, 1Fh ; +0xaa1, 0x180123a61 cmp ebx, r14d ; +0xaa4, 0x180123a64 cmovnz edx, eax ; +0xaa7, 0x180123a67 mov [rdi], edx ; +0xaaa, 0x180123a6a inc rsi ; +0xaac, 0x180123a6c add rdi, 8 ; +0xaaf, 0x180123a6f sar r12d, 4 ; +0xab3, 0x180123a73 cmp rsi, 4 ; +0xab7, 0x180123a77 jl loc_180123574 ; +0xabb, 0x180123a7b movapd xmm3, [rsp+128h+var_98] ; +0xac1, 0x180123a81 movapd xmm5, [rsp+128h+var_88] ; +0xaca, 0x180123a8a jmp _2TAG_PACKET_10_0_6 ; +0xad3, 0x180123a93 pxor xmm0, xmm0 ; +0xad8, 0x180123a98 movups xmm6, [rsp+128h+var_68] ; +0xadc, 0x180123a9c movups xmm7, [rsp+128h+var_78] ; +0xae4, 0x180123aa4 add rsp, 0F0h ; +0xaec, 0x180123aac pop r15 ; +0xaf3, 0x180123ab3 pop r14 ; +0xaf5, 0x180123ab5 pop r13 ; +0xaf7, 0x180123ab7 pop r12 ; +0xaf9, 0x180123ab9 pop rdi ; +0xafb, 0x180123abb pop rsi ; +0xafc, 0x180123abc pop rbx ; +0xafd, 0x180123abd retn ; +0xafe, 0x180123abe mov eax, 7FFFFFFFh ; +0xaff, 0x180123abf mov [rdi], eax ; +0xb04, 0x180123ac4 call _raise_invalid ; +0xb06, 0x180123ac6 nop ; +0xb0b, 0x180123acb jmp loc_1801239FE ; +0xb0c, 0x180123acc