; ; powf from 0x180127c80 to 0x180128b46 (3782 bytes) ; ; 81 xrefs: ; > sub_18001CFD0 @ 0x18001f628 ; > sub_18001CFD0 @ 0x18001f6e3 ; > sub_180021100 @ 0x18002170d ; > sub_1800228C0 @ 0x180022b27 ; > sub_1800228C0 @ 0x180022ee2 ; > sub_1800252C0 @ 0x180025741 ; > sub_1800258D0 @ 0x180025caa ; > sub_18002D350 @ 0x18002d5c0 ; > sub_180032180 @ 0x180032280 ; > sub_180032180 @ 0x18003230b ; > sub_180032180 @ 0x18003275b ; > sub_180032180 @ 0x18003278a ; > sub_180032180 @ 0x180032794 ; > sub_180040AD0 @ 0x180040c16 ; > sub_1800500F0 @ 0x180050119 ; > sub_1800501A0 @ 0x180050362 ; > sub_1800564A0 @ 0x180056570 ; > sub_1800564A0 @ 0x1800566e6 ; > sub_1800564A0 @ 0x180056780 ; > sub_1800564A0 @ 0x180056cb9 ; > sub_1800564A0 @ 0x180056ec9 ; > sub_180066D40 @ 0x180066e33 ; > sub_180066D40 @ 0x180066e69 ; > sub_180067510 @ 0x1800675a4 ; > sub_180067510 @ 0x1800675e7 ; > sub_180068510 @ 0x180068553 ; > sub_180068700 @ 0x180068739 ; > sub_180070690 @ 0x1800706df ; > sub_180070690 @ 0x180070717 ; > sub_1800740F0 @ 0x180074130 ; > sub_180076390 @ 0x180076453 ; > sub_1800767F0 @ 0x1800768b1 ; > sub_1800896E0 @ 0x1800897f1 ; > sub_1800896E0 @ 0x180089829 ; > sub_1800899C0 @ 0x180089a2b ; > sub_180089AE0 @ 0x180089b4d ; > sub_18008AB50 @ 0x18008ac34 ; > sub_18008AD00 @ 0x18008ad5d ; > sub_18008AD00 @ 0x18008ada0 ; > sub_18008AD00 @ 0x18008addc ; > sub_18008B040 @ 0x18008b109 ; > sub_18008B040 @ 0x18008b14a ; > sub_18008B040 @ 0x18008b186 ; > sub_18008CEE0 @ 0x18008cf71 ; > sub_18008CEE0 @ 0x18008cfea ; > sub_18008CEE0 @ 0x18008d05c ; > sub_1800DBE80 @ 0x1800dbf26 ; > sub_1800EB320 @ 0x1800eb637 ; > sub_1800ECDE0 @ 0x1800ece39 ; > sub_1800ED160 @ 0x1800ed201 ; > sub_1800ED160 @ 0x1800ed308 ; > sub_1800ED3F0 @ 0x1800ed46b ; > sub_1800ED6C0 @ 0x1800ed707 ; > sub_1800F0120 @ 0x1800f0559 ; > sub_1800F05D0 @ 0x1800f0a37 ; > sub_1800F0AC0 @ 0x1800f1009 ; > sub_1800F10D0 @ 0x1800f1626 ; > sub_1800F1710 @ 0x1800f1807 ; > sub_1800F1890 @ 0x1800f19a3 ; > sub_1800F1A40 @ 0x1800f1b85 ; > sub_1800F1C50 @ 0x1800f1dbc ; > sub_1800F5A00 @ 0x1800f5b58 ; > sub_1800F5A00 @ 0x1800f5b76 ; > sub_1800F5FF0 @ 0x1800f603b ; > sub_1800F5FF0 @ 0x1800f6079 ; > sub_180107D30 @ 0x180107dba ; > sub_180107D30 @ 0x180107dfe ; > sub_180107D30 @ 0x180107e44 ; > sub_180107D30 @ 0x180107e8a ; > sub_180107D30 @ 0x180107ed0 ; > sub_180107D30 @ 0x180107f16 ; > sub_180107D30 @ 0x180107f5c ; > sub_180107D30 @ 0x180107fa2 ; > sub_180108CC0 @ 0x180108cf7 ; > sub_180109080 @ 0x1801090d8 ; > sub_180109370 @ 0x180109435 ; > sub_180109990 @ 0x180109bc6 ; > sub_18010DF80 @ 0x18010e0e8 ; > sub_18010DF80 @ 0x18010e19c ; > sub_18010DF80 @ 0x18010e253 ; > @ 0x180202a14 ; ; 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 ; sub rsp, 68h ; +0x0, 0x180127c80 movdqa [rsp+68h+var_48], xmm6 ; +0x4, 0x180127c84 movdqa [rsp+68h+var_38], xmm7 ; +0xa, 0x180127c8a cmp cs:dword_1801F4D54, 0 ; +0x10, 0x180127c90 jnz Lpowf_fma3 ; +0x17, 0x180127c97 punpckldq xmm1, xmm0 ; +0x1d, 0x180127c9d pxor xmm5, xmm5 ; +0x21, 0x180127ca1 movd eax, xmm1 ; +0x25, 0x180127ca5 movd ecx, xmm0 ; +0x29, 0x180127ca9 mov r9d, ecx ; +0x2d, 0x180127cad btr eax, 1Fh ; +0x30, 0x180127cb0 btr ecx, 1Fh ; +0x34, 0x180127cb4 cmp eax, 7F800000h ; +0x38, 0x180127cb8 jnb L__y_is_inf_or_nan ; +0x3d, 0x180127cbd cmp eax, 3F800000h ; +0x43, 0x180127cc3 jle L__check_if_y_is_zero_or_pos_one ; +0x48, 0x180127cc8 cmp ecx, 7F800000h ; +0x4e, 0x180127cce jnb L__x_is_inf_or_nan ; +0x54, 0x180127cd4 cvtps2pd xmm0, xmm1 ; +0x5a, 0x180127cda cmp r9d, 3F880000h ; +0x5d, 0x180127cdd jl L__x_is_neg_or_zero_or_near_one ; +0x64, 0x180127ce4 pshufd xmm2, xmm0, 0EEh ; +0x6a, 0x180127cea pand xmm2, cs:xmmword_180170E90 ; +0x6f, 0x180127cef movq rcx, xmm2 ; +0x77, 0x180127cf7 shr rcx, 2Ch ; +0x7c, 0x180127cfc adc ecx, 0 ; +0x80, 0x180127d00 mov eax, ecx ; +0x83, 0x180127d03 or ecx, 3FE00h ; +0x85, 0x180127d05 shl rcx, 2Ch ; +0x8b, 0x180127d0b movq xmm1, rcx ; +0x8f, 0x180127d0f por xmm2, cs:xmmword_180170E70 ; +0x94, 0x180127d14 pshufd xmm3, xmm2, 0EEh ; +0x9c, 0x180127d1c psrlq xmm3, 34h ; '4' ; +0xa1, 0x180127d21 psubq xmm3, cs:xmmword_180170E80 ; +0xa6, 0x180127d26 cvtdq2pd xmm3, xmm3 ; +0xae, 0x180127d2e lea rcx, dbl_180173C60 ; +0xb2, 0x180127d32 subsd xmm1, xmm2 ; +0xb9, 0x180127d39 mulsd xmm1, qword ptr [rcx+rax*8] ; +0xbd, 0x180127d3d movapd xmm2, xmm1 ; +0xc2, 0x180127d42 movsd xmm4, cs:qword_180170DD4 ; +0xc6, 0x180127d46 mulsd xmm4, xmm1 ; +0xce, 0x180127d4e mulsd xmm1, xmm2 ; +0xd2, 0x180127d52 addsd xmm4, qword ptr cs:xmmword_180170E70 ; +0xd6, 0x180127d56 mulsd xmm1, xmm4 ; +0xde, 0x180127d5e addsd xmm1, xmm2 ; +0xe2, 0x180127d62 mulsd xmm3, cs:qword_180170DDC ; +0xe6, 0x180127d66 lea rcx, dbl_180170EA0 ; +0xee, 0x180127d6e addsd xmm3, qword ptr [rcx+rax*8] ; +0xf5, 0x180127d75 subsd xmm3, xmm1 ; +0xfa, 0x180127d7a mulsd xmm0, xmm3 ; +0xfe, 0x180127d7e ucomisd xmm0, cs:qword_180170DE4 ; +0x102, 0x180127d82 ja L__z_is_inf ; +0x10a, 0x180127d8a ucomisd xmm0, cs:qword_180170DEC ; +0x110, 0x180127d90 jbe L__z_is_zero ; +0x118, 0x180127d98 movapd xmm3, xmm0 ; +0x11e, 0x180127d9e mulpd xmm3, cs:xmmword_180170E60 ; +0x122, 0x180127da2 cvtpd2dq xmm4, xmm3 ; +0x12a, 0x180127daa cvtdq2pd xmm2, xmm4 ; +0x12e, 0x180127dae mulsd xmm2, cs:qword_180170DF4 ; +0x132, 0x180127db2 movd ecx, xmm4 ; +0x13a, 0x180127dba subsd xmm0, xmm2 ; +0x13e, 0x180127dbe movapd xmm1, xmm0 ; +0x142, 0x180127dc2 movsd xmm3, cs:qword_180170DFC ; +0x146, 0x180127dc6 mulsd xmm3, xmm0 ; +0x14e, 0x180127dce mulsd xmm0, xmm1 ; +0x152, 0x180127dd2 addsd xmm3, qword ptr cs:xmmword_180170E70 ; +0x156, 0x180127dd6 mulsd xmm0, xmm3 ; +0x15e, 0x180127dde addsd xmm0, xmm1 ; +0x162, 0x180127de2 mov rax, 3Fh ; '?' ; +0x166, 0x180127de6 and eax, ecx ; +0x16d, 0x180127ded lea rcx, dbl_180173A60 ; +0x16f, 0x180127def mulsd xmm0, qword ptr [rcx+rax*8] ; +0x176, 0x180127df6 addsd xmm0, qword ptr [rcx+rax*8] ; +0x17b, 0x180127dfb psrad xmm4, 6 ; +0x180, 0x180127e00 psllq xmm4, 34h ; '4' ; +0x185, 0x180127e05 paddq xmm4, xmm0 ; +0x18a, 0x180127e0a cvtsd2ss xmm0, xmm4 ; +0x18e, 0x180127e0e orps xmm0, xmm5 ; +0x192, 0x180127e12 movdqa xmm7, [rsp+68h+var_38] ; +0x195, 0x180127e15 movdqa xmm6, [rsp+68h+var_48] ; +0x19b, 0x180127e1b add rsp, 68h ; +0x1a1, 0x180127e21 retn ; +0x1a5, 0x180127e25 align 10h ; +0x1a6, 0x180127e26 cmp r9d, 0 ; +0x1b0, 0x180127e30 jg short L__x_near_one ; +0x1b4, 0x180127e34 cmp ecx, 0 ; +0x1b6, 0x180127e36 jz L__x_is_zero ; +0x1b9, 0x180127e39 and eax, 7F800000h ; +0x1bf, 0x180127e3f cmp eax, 4B000000h ; +0x1c4, 0x180127e44 jg short L__x_near_one ; +0x1c9, 0x180127e49 stmxcsr [rsp+68h+var_28] ; +0x1cb, 0x180127e4b mov edx, [rsp+68h+var_28] ; +0x1d0, 0x180127e50 or edx, 1F80h ; +0x1d4, 0x180127e54 mov [rsp+68h+var_18], edx ; +0x1da, 0x180127e5a ldmxcsr [rsp+68h+var_18] ; +0x1de, 0x180127e5e cvtss2si edx, xmm1 ; +0x1e3, 0x180127e63 cvtsi2ss xmm2, edx ; +0x1e7, 0x180127e67 ldmxcsr [rsp+68h+var_28] ; +0x1eb, 0x180127e6b ucomiss xmm2, xmm1 ; +0x1f0, 0x180127e70 jnz L__return_qnan ; +0x1f3, 0x180127e73 rcr edx, 1 ; +0x1f9, 0x180127e79 jnb short L__x_near_one ; +0x1fb, 0x180127e7b movss xmm5, cs:dword_180170E1C ; +0x1fd, 0x180127e7d pshufd xmm3, xmm0, 0EEh ; +0x205, 0x180127e85 subsd xmm3, cs:qword_180170E0C ; +0x20a, 0x180127e8a movq rdx, xmm3 ; +0x212, 0x180127e92 btr rdx, 3Fh ; '?' ; +0x217, 0x180127e97 cmp rdx, cs:qword_180170E04 ; +0x21c, 0x180127e9c jnb L__compute_logx ; +0x223, 0x180127ea3 movapd xmm7, cs:xmmword_180170E30 ; +0x229, 0x180127ea9 movapd xmm1, xmm3 ; +0x231, 0x180127eb1 movapd xmm6, xmm3 ; +0x235, 0x180127eb5 addsd xmm1, cs:qword_180170E14 ; +0x239, 0x180127eb9 divsd xmm6, xmm1 ; +0x241, 0x180127ec1 movapd xmm2, xmm6 ; +0x245, 0x180127ec5 mulsd xmm6, xmm3 ; +0x249, 0x180127ec9 addsd xmm2, xmm2 ; +0x24d, 0x180127ecd movapd xmm1, xmm2 ; +0x251, 0x180127ed1 mulsd xmm1, xmm2 ; +0x255, 0x180127ed5 pshufd xmm4, xmm1, 44h ; 'D' ; +0x259, 0x180127ed9 mulpd xmm4, xmm7 ; +0x25e, 0x180127ede mulsd xmm2, xmm1 ; +0x262, 0x180127ee2 addpd xmm4, cs:xmmword_180170E40 ; +0x266, 0x180127ee6 mulsd xmm1, xmm1 ; +0x26e, 0x180127eee mulsd xmm1, xmm2 ; +0x272, 0x180127ef2 unpcklpd xmm2, xmm1 ; +0x276, 0x180127ef6 mulpd xmm2, xmm4 ; +0x27a, 0x180127efa pshufd xmm1, xmm2, 0EEh ; +0x27e, 0x180127efe addsd xmm2, xmm1 ; +0x283, 0x180127f03 subsd xmm2, xmm6 ; +0x287, 0x180127f07 addsd xmm3, xmm2 ; +0x28b, 0x180127f0b jmp L__return_from_near_one ; +0x28f, 0x180127f0f align 20h ; +0x294, 0x180127f14 mov r8d, eax ; +0x2a0, 0x180127f20 movd edx, xmm1 ; +0x2a3, 0x180127f23 mov eax, 0 ; +0x2a7, 0x180127f27 mov r10d, 0 ; +0x2ac, 0x180127f2c mov ecx, 7F800000h ; +0x2b2, 0x180127f32 cmp edx, 0 ; +0x2b7, 0x180127f37 cmovl edx, ecx ; +0x2ba, 0x180127f3a cmovl r10d, ecx ; +0x2bd, 0x180127f3d cmovg edx, eax ; +0x2c1, 0x180127f41 mov ecx, 80000000h ; +0x2c4, 0x180127f44 and r8d, 7F800000h ; +0x2c9, 0x180127f49 cmp r8d, 4B000000h ; +0x2d0, 0x180127f50 cmovg ecx, eax ; +0x2d7, 0x180127f57 jg short L__or_sign_and_retvalue_and_ret1 ; +0x2da, 0x180127f5a stmxcsr [rsp+68h+var_28] ; +0x2dc, 0x180127f5c mov r8d, [rsp+68h+var_28] ; +0x2e1, 0x180127f61 or r8d, 1F80h ; +0x2e6, 0x180127f66 mov [rsp+68h+var_18], r8d ; +0x2ed, 0x180127f6d ldmxcsr [rsp+68h+var_18] ; +0x2f2, 0x180127f72 cvtss2si r8d, xmm1 ; +0x2f7, 0x180127f77 cvtsi2ss xmm2, r8d ; +0x2fc, 0x180127f7c ldmxcsr [rsp+68h+var_28] ; +0x301, 0x180127f81 ucomiss xmm2, xmm1 ; +0x306, 0x180127f86 cmovnz ecx, eax ; +0x309, 0x180127f89 jnz short L__or_sign_and_retvalue_and_ret1 ; +0x30c, 0x180127f8c rcr r8d, 1 ; +0x30e, 0x180127f8e cmovnb ecx, eax ; +0x311, 0x180127f91 jnb short L__or_sign_and_retvalue_and_ret1 ; +0x314, 0x180127f94 mov ecx, r9d ; +0x316, 0x180127f96 and ecx, 80000000h ; +0x319, 0x180127f99 or ecx, edx ; +0x31f, 0x180127f9f movd xmm0, ecx ; +0x321, 0x180127fa1 cmp r10d, 0 ; +0x325, 0x180127fa5 jz short L__return ; +0x329, 0x180127fa9 mov r9d, cs:dword_180170DB4 ; +0x32b, 0x180127fab movdqa xmm2, xmm0 ; +0x332, 0x180127fb2 call _powf_special ; +0x336, 0x180127fb6 movdqa xmm7, [rsp+68h+var_38] ; +0x33b, 0x180127fbb movdqa xmm6, [rsp+68h+var_48] ; +0x341, 0x180127fc1 add rsp, 68h ; +0x347, 0x180127fc7 retn ; +0x34b, 0x180127fcb align 10h ; +0x34c, 0x180127fcc cmp eax, 0 ; +0x350, 0x180127fd0 jz L__return_pos_one ; +0x353, 0x180127fd3 movd ecx, xmm0 ; +0x359, 0x180127fd9 movd edx, xmm1 ; +0x35d, 0x180127fdd cmp ecx, 7F800000h ; +0x361, 0x180127fe1 jz short L__x_is_pos_inf ; +0x367, 0x180127fe7 cmp ecx, 0FF800000h ; +0x369, 0x180127fe9 jz short L__x_is_neg_inf ; +0x36f, 0x180127fef jmp L__return_x_nan ; +0x371, 0x180127ff1 align 20h ; +0x376, 0x180127ff6 cmp edx, 0 ; +0x380, 0x180128000 jl L__return_pos_zero ; +0x383, 0x180128003 jmp L__return_pos_inf ; +0x389, 0x180128009 align 10h ; +0x38e, 0x18012800e mov r8d, eax ; +0x390, 0x180128010 mov eax, 0 ; +0x393, 0x180128013 mov ecx, 7F800000h ; +0x398, 0x180128018 cmp edx, 0 ; +0x39d, 0x18012801d cmovl edx, eax ; +0x3a0, 0x180128020 cmovg edx, ecx ; +0x3a3, 0x180128023 mov ecx, 80000000h ; +0x3a6, 0x180128026 and r8d, 7F800000h ; +0x3ab, 0x18012802b cmp r8d, 4B000000h ; +0x3b2, 0x180128032 cmovg ecx, eax ; +0x3b9, 0x180128039 jg short L__or_sign_and_retvalue_and_ret ; +0x3bc, 0x18012803c stmxcsr [rsp+68h+var_28] ; +0x3be, 0x18012803e mov r8d, [rsp+68h+var_28] ; +0x3c3, 0x180128043 or r8d, 1F80h ; +0x3c8, 0x180128048 mov [rsp+68h+var_18], r8d ; +0x3cf, 0x18012804f ldmxcsr [rsp+68h+var_18] ; +0x3d4, 0x180128054 cvtss2si r8d, xmm1 ; +0x3d9, 0x180128059 cvtsi2ss xmm2, r8d ; +0x3de, 0x18012805e ldmxcsr [rsp+68h+var_28] ; +0x3e3, 0x180128063 ucomiss xmm2, xmm1 ; +0x3e8, 0x180128068 cmovnz ecx, eax ; +0x3eb, 0x18012806b jnz short L__or_sign_and_retvalue_and_ret ; +0x3ee, 0x18012806e rcr r8d, 1 ; +0x3f0, 0x180128070 cmovnb ecx, eax ; +0x3f3, 0x180128073 or ecx, edx ; +0x3f6, 0x180128076 movd xmm0, ecx ; +0x3f8, 0x180128078 movdqa xmm7, [rsp+68h+var_38] ; +0x3fc, 0x18012807c movdqa xmm6, [rsp+68h+var_48] ; +0x402, 0x180128082 add rsp, 68h ; +0x408, 0x180128088 retn ; +0x40c, 0x18012808c align 10h ; +0x40d, 0x18012808d ja L__y_is_nan ; +0x410, 0x180128090 cmp ecx, 7F800000h ; +0x416, 0x180128096 ja L__return_x_nan ; +0x41c, 0x18012809c cmp ecx, 3F800000h ; +0x422, 0x1801280a2 jz L__return_abs_x_is_one_y_is_pninf ; +0x428, 0x1801280a8 movd eax, xmm1 ; +0x42e, 0x1801280ae bt eax, 1Fh ; +0x432, 0x1801280b2 jb short L__y_is_neg_inf ; +0x436, 0x1801280b6 cmp ecx, 3F800000h ; +0x438, 0x1801280b8 jb L__return_pos_zero ; +0x43e, 0x1801280be jmp L__return_pos_inf ; +0x444, 0x1801280c4 align 10h ; +0x449, 0x1801280c9 mov edx, 1 ; +0x450, 0x1801280d0 mov eax, 0 ; +0x455, 0x1801280d5 mov r8d, 7F800000h ; +0x45a, 0x1801280da cmp ecx, 0 ; +0x460, 0x1801280e0 jz L__return_pos_inf ; +0x463, 0x1801280e3 cmovnz edx, eax ; +0x469, 0x1801280e9 cmp ecx, 3F800000h ; +0x46c, 0x1801280ec cmovb eax, r8d ; +0x472, 0x1801280f2 movd xmm0, eax ; +0x476, 0x1801280f6 cmp edx, 0 ; +0x47a, 0x1801280fa jz short L__return1 ; +0x47d, 0x1801280fd movdqa xmm2, xmm0 ; +0x47f, 0x1801280ff mov r9d, cs:dword_180170DB4 ; +0x483, 0x180128103 call _powf_special ; +0x48a, 0x18012810a movdqa xmm7, [rsp+68h+var_38] ; +0x48f, 0x18012810f movdqa xmm6, [rsp+68h+var_48] ; +0x495, 0x180128115 add rsp, 68h ; +0x49b, 0x18012811b retn ; +0x49f, 0x18012811f cmp ecx, 7F800000h ; +0x4a0, 0x180128120 ja L__x_is_nan_y_is_nan ; +0x4a6, 0x180128126 cmp r9d, 3F800000h ; +0x4ac, 0x18012812c jz L__x_is_one_y_is_nan ; +0x4b3, 0x180128133 jmp L__return_y_nan ; +0x4b9, 0x180128139 align 20h ; +0x4be, 0x18012813e cmp eax, 0 ; +0x4c0, 0x180128140 jz short L__y_is_zero_check_x_nan ; +0x4c3, 0x180128143 movd edx, xmm1 ; +0x4c5, 0x180128145 cmp edx, 3F800000h ; +0x4c9, 0x180128149 jnz L__y_is_not_zero_or_pos_one ; +0x4cf, 0x18012814f movd r9d, xmm0 ; +0x4d5, 0x180128155 and r9d, 7FFFFFFFh ; +0x4da, 0x18012815a cmp r9d, 7F800000h ; +0x4e1, 0x180128161 ja short L__x_is_NaN_y_is_one_return_NaN ; +0x4e8, 0x180128168 movdqa xmm7, [rsp+68h+var_38] ; +0x4ea, 0x18012816a movdqa xmm6, [rsp+68h+var_48] ; +0x4f0, 0x180128170 add rsp, 68h ; +0x4f6, 0x180128176 retn ; +0x4fa, 0x18012817a movd edx, xmm0 ; +0x4fb, 0x18012817b or edx, 400000h ; +0x4ff, 0x18012817f movd xmm2, edx ; +0x505, 0x180128185 mov r9d, cs:dword_180170DB8 ; +0x509, 0x180128189 call _powf_special ; +0x510, 0x180128190 movdqa xmm7, [rsp+68h+var_38] ; +0x515, 0x180128195 movdqa xmm6, [rsp+68h+var_48] ; +0x51b, 0x18012819b add rsp, 68h ; +0x521, 0x1801281a1 retn ; +0x525, 0x1801281a5 align 10h ; +0x526, 0x1801281a6 cmp ecx, 7F800000h ; +0x530, 0x1801281b0 jbe short L__return_pos_one ; +0x536, 0x1801281b6 cmp ecx, 7FC00000h ; +0x538, 0x1801281b8 jnb short L__return_pos_one ; +0x53e, 0x1801281be mov edx, ecx ; +0x540, 0x1801281c0 or edx, 400000h ; +0x542, 0x1801281c2 movd xmm2, edx ; +0x548, 0x1801281c8 mov r9d, cs:dword_180170DB8 ; +0x54c, 0x1801281cc call _powf_special ; +0x553, 0x1801281d3 movdqa xmm7, [rsp+68h+var_38] ; +0x558, 0x1801281d8 movdqa xmm6, [rsp+68h+var_48] ; +0x55e, 0x1801281de add rsp, 68h ; +0x564, 0x1801281e4 retn ; +0x568, 0x1801281e8 align 10h ; +0x569, 0x1801281e9 cmp eax, 7FC00000h ; +0x570, 0x1801281f0 jnb short L__return_pos_one ; +0x575, 0x1801281f5 mov edx, 3F800000h ; +0x577, 0x1801281f7 movd xmm2, edx ; +0x57c, 0x1801281fc mov r9d, cs:dword_180170DBC ; +0x580, 0x180128200 call _powf_special ; +0x587, 0x180128207 movdqa xmm7, [rsp+68h+var_38] ; +0x58c, 0x18012820c movdqa xmm6, [rsp+68h+var_48] ; +0x592, 0x180128212 add rsp, 68h ; +0x598, 0x180128218 retn ; +0x59c, 0x18012821c align 20h ; +0x59d, 0x18012821d mov edx, 3F800000h ; +0x5a0, 0x180128220 movd xmm0, edx ; +0x5a5, 0x180128225 movdqa xmm7, [rsp+68h+var_38] ; +0x5a9, 0x180128229 movdqa xmm6, [rsp+68h+var_48] ; +0x5af, 0x18012822f add rsp, 68h ; +0x5b5, 0x180128235 retn ; +0x5b9, 0x180128239 align 20h ; +0x5ba, 0x18012823a mov edx, 3F800000h ; +0x5c0, 0x180128240 movd xmm0, edx ; +0x5c5, 0x180128245 movdqa xmm7, [rsp+68h+var_38] ; +0x5c9, 0x180128249 movdqa xmm6, [rsp+68h+var_48] ; +0x5cf, 0x18012824f add rsp, 68h ; +0x5d5, 0x180128255 retn ; +0x5d9, 0x180128259 align 20h ; +0x5da, 0x18012825a pxor xmm0, xmm0 ; +0x5e0, 0x180128260 movdqa xmm7, [rsp+68h+var_38] ; +0x5e4, 0x180128264 movdqa xmm6, [rsp+68h+var_48] ; +0x5ea, 0x18012826a add rsp, 68h ; +0x5f0, 0x180128270 retn ; +0x5f4, 0x180128274 align 20h ; +0x5f5, 0x180128275 mov edx, 7F800000h ; +0x600, 0x180128280 movd xmm0, edx ; +0x605, 0x180128285 movdqa xmm7, [rsp+68h+var_38] ; +0x609, 0x180128289 movdqa xmm6, [rsp+68h+var_48] ; +0x60f, 0x18012828f add rsp, 68h ; +0x615, 0x180128295 retn ; +0x619, 0x180128299 align 20h ; +0x61a, 0x18012829a movd ecx, xmm0 ; +0x620, 0x1801282a0 or ecx, 400000h ; +0x624, 0x1801282a4 movd xmm2, ecx ; +0x62a, 0x1801282aa mov r9d, cs:dword_180170DB8 ; +0x62e, 0x1801282ae call _powf_special ; +0x635, 0x1801282b5 movdqa xmm7, [rsp+68h+var_38] ; +0x63a, 0x1801282ba movdqa xmm6, [rsp+68h+var_48] ; +0x640, 0x1801282c0 add rsp, 68h ; +0x646, 0x1801282c6 retn ; +0x64a, 0x1801282ca align 10h ; +0x64b, 0x1801282cb movd eax, xmm1 ; +0x650, 0x1801282d0 or eax, 400000h ; +0x654, 0x1801282d4 movd xmm2, eax ; +0x659, 0x1801282d9 mov r9d, cs:dword_180170DBC ; +0x65d, 0x1801282dd call _powf_special ; +0x664, 0x1801282e4 movdqa xmm7, [rsp+68h+var_38] ; +0x669, 0x1801282e9 movdqa xmm6, [rsp+68h+var_48] ; +0x66f, 0x1801282ef add rsp, 68h ; +0x675, 0x1801282f5 retn ; +0x679, 0x1801282f9 align 20h ; +0x67a, 0x1801282fa cmp r9d, 0FFC00000h ; +0x680, 0x180128300 jz short Lpowf__x_is_nan_y_is_nan_return_y ; +0x687, 0x180128307 movd ecx, xmm0 ; +0x689, 0x180128309 or ecx, 400000h ; +0x68d, 0x18012830d movd xmm2, ecx ; +0x693, 0x180128313 mov r9d, cs:dword_180170DC0 ; +0x697, 0x180128317 call _powf_special ; +0x69e, 0x18012831e movdqa xmm7, [rsp+68h+var_38] ; +0x6a3, 0x180128323 movdqa xmm6, [rsp+68h+var_48] ; +0x6a9, 0x180128329 add rsp, 68h ; +0x6af, 0x18012832f retn ; +0x6b3, 0x180128333 movd eax, xmm1 ; +0x6b4, 0x180128334 or eax, 400000h ; +0x6b8, 0x180128338 movd xmm2, eax ; +0x6bd, 0x18012833d mov r9d, cs:dword_180170DC0 ; +0x6c1, 0x180128341 call _powf_special ; +0x6c8, 0x180128348 movdqa xmm7, [rsp+68h+var_38] ; +0x6cd, 0x18012834d movdqa xmm6, [rsp+68h+var_48] ; +0x6d3, 0x180128353 add rsp, 68h ; +0x6d9, 0x180128359 retn ; +0x6dd, 0x18012835d align 20h ; +0x6de, 0x18012835e pxor xmm2, xmm2 ; +0x6e0, 0x180128360 orps xmm2, xmm5 ; +0x6e4, 0x180128364 mov r9d, cs:dword_180170DC8 ; +0x6e7, 0x180128367 call _powf_special ; +0x6ee, 0x18012836e movdqa xmm7, [rsp+68h+var_38] ; +0x6f3, 0x180128373 movdqa xmm6, [rsp+68h+var_48] ; +0x6f9, 0x180128379 add rsp, 68h ; +0x6ff, 0x18012837f retn ; +0x703, 0x180128383 align 10h ; +0x704, 0x180128384 mov edx, 7F800000h ; +0x710, 0x180128390 movd xmm2, edx ; +0x715, 0x180128395 orps xmm2, xmm5 ; +0x719, 0x180128399 mov r9d, cs:dword_180170DD0 ; +0x71c, 0x18012839c call _powf_special ; +0x723, 0x1801283a3 movdqa xmm7, [rsp+68h+var_38] ; +0x728, 0x1801283a8 movdqa xmm6, [rsp+68h+var_48] ; +0x72e, 0x1801283ae add rsp, 68h ; +0x734, 0x1801283b4 retn ; +0x738, 0x1801283b8 align 20h ; +0x739, 0x1801283b9 mov edx, 0FFC00000h ; +0x740, 0x1801283c0 movd xmm2, edx ; +0x745, 0x1801283c5 mov r9d, cs:dword_180170DC4 ; +0x749, 0x1801283c9 call _powf_special ; +0x750, 0x1801283d0 movdqa xmm7, [rsp+68h+var_38] ; +0x755, 0x1801283d5 movdqa xmm6, [rsp+68h+var_48] ; +0x75b, 0x1801283db add rsp, 68h ; +0x761, 0x1801283e1 retn ; +0x765, 0x1801283e5 vpunpckldq xmm1, xmm1, xmm0 ; +0x766, 0x1801283e6 vpxor xmm5, xmm5, xmm5 ; +0x76a, 0x1801283ea vmovd eax, xmm1 ; +0x76e, 0x1801283ee vmovd ecx, xmm0 ; +0x772, 0x1801283f2 mov r9d, ecx ; +0x776, 0x1801283f6 and eax, 7FFFFFFFh ; +0x779, 0x1801283f9 and ecx, 7FFFFFFFh ; +0x77e, 0x1801283fe cmp eax, 7F800000h ; +0x784, 0x180128404 jnb Lpowf_fma3_y_is_inf_or_nan ; +0x789, 0x180128409 cmp eax, 3F800000h ; +0x78f, 0x18012840f jle Lpowf_fma3_check_if_y_is_zero_or_pos_one ; +0x794, 0x180128414 cmp ecx, 7F800000h ; +0x79a, 0x18012841a jnb Lpowf_fma3_x_is_inf_or_nan ; +0x7a0, 0x180128420 vcvtps2pd xmm0, xmm1 ; +0x7a6, 0x180128426 cmp r9d, 3F880000h ; +0x7aa, 0x18012842a jl Lpowf_fma3_x_is_neg_or_zero_or_near_one ; +0x7b1, 0x180128431 vpshufd xmm2, xmm0, 0EEh ; +0x7b7, 0x180128437 vpand xmm2, xmm2, cs:xmmword_180170E90 ; +0x7bc, 0x18012843c vmovq rcx, xmm2 ; +0x7c4, 0x180128444 shr rcx, 2Ch ; +0x7c9, 0x180128449 adc ecx, 0 ; +0x7cd, 0x18012844d mov eax, ecx ; +0x7d0, 0x180128450 or ecx, 3FE00h ; +0x7d2, 0x180128452 shl rcx, 2Ch ; +0x7d8, 0x180128458 vmovq xmm1, rcx ; +0x7dc, 0x18012845c vpor xmm2, xmm2, cs:xmmword_180170E70 ; +0x7e1, 0x180128461 vpshufd xmm3, xmm2, 0EEh ; +0x7e9, 0x180128469 vpsrlq xmm3, xmm3, 34h ; '4' ; +0x7ee, 0x18012846e vpsubq xmm3, xmm3, cs:xmmword_180170E80 ; +0x7f3, 0x180128473 vcvtdq2pd xmm3, xmm3 ; +0x7fb, 0x18012847b lea rcx, dbl_180173C60 ; +0x7ff, 0x18012847f vsubsd xmm1, xmm1, xmm2 ; +0x806, 0x180128486 vmulsd xmm1, xmm1, qword ptr [rcx+rax*8] ; +0x80a, 0x18012848a vmovapd xmm2, xmm1 ; +0x80f, 0x18012848f vmovsd xmm4, cs:qword_180170DD4 ; +0x813, 0x180128493 vfmadd213sd xmm4, xmm1, qword ptr cs:xmmword_180170E70 ; +0x81b, 0x18012849b vfmadd213sd xmm4, xmm1, cs:qword_180170E0C ; +0x824, 0x1801284a4 vmulsd xmm1, xmm1, xmm4 ; +0x82d, 0x1801284ad vmulsd xmm3, xmm3, cs:qword_180170DDC ; +0x831, 0x1801284b1 lea rcx, dbl_180170EA0 ; +0x839, 0x1801284b9 vaddsd xmm3, xmm3, qword ptr [rcx+rax*8] ; +0x840, 0x1801284c0 vsubsd xmm3, xmm3, xmm1 ; +0x845, 0x1801284c5 vmulsd xmm0, xmm0, xmm3 ; +0x849, 0x1801284c9 vucomisd xmm0, cs:qword_180170DE4 ; +0x84d, 0x1801284cd ja Lpowf_fma3_z_is_inf ; +0x855, 0x1801284d5 vucomisd xmm0, cs:qword_180170DEC ; +0x85b, 0x1801284db jbe Lpowf_fma3_z_is_zero ; +0x863, 0x1801284e3 vmulpd xmm3, xmm0, cs:xmmword_180170E60 ; +0x869, 0x1801284e9 vcvtpd2dq xmm4, xmm3 ; +0x871, 0x1801284f1 vcvtdq2pd xmm2, xmm4 ; +0x875, 0x1801284f5 vmovd ecx, xmm4 ; +0x879, 0x1801284f9 vfnmadd231sd xmm0, xmm2, cs:qword_180170DF4 ; +0x87d, 0x1801284fd vmovapd xmm1, xmm0 ; +0x886, 0x180128506 vmovsd xmm3, cs:qword_180170DFC ; +0x88a, 0x18012850a vfmadd213sd xmm3, xmm0, qword ptr cs:xmmword_180170E70 ; +0x892, 0x180128512 vfmadd213sd xmm3, xmm0, cs:qword_180170E0C ; +0x89b, 0x18012851b vmulsd xmm0, xmm0, xmm3 ; +0x8a4, 0x180128524 mov rax, 3Fh ; '?' ; +0x8a8, 0x180128528 and eax, ecx ; +0x8af, 0x18012852f lea rcx, dbl_180173A60 ; +0x8b1, 0x180128531 vmovsd xmm3, qword ptr [rcx+rax*8] ; +0x8b8, 0x180128538 vfmadd213sd xmm0, xmm3, xmm3 ; +0x8bd, 0x18012853d nop word ptr [rax+rax+00000000h] ; +0x8c2, 0x180128542 vpsrad xmm4, xmm4, 6 ; +0x8d0, 0x180128550 vpsllq xmm4, xmm4, 34h ; '4' ; +0x8d5, 0x180128555 vpaddq xmm4, xmm4, xmm0 ; +0x8da, 0x18012855a vcvtsd2ss xmm0, xmm0, xmm4 ; +0x8de, 0x18012855e vorps xmm0, xmm0, xmm5 ; +0x8e2, 0x180128562 vmovdqa xmm7, [rsp+68h+var_38] ; +0x8e6, 0x180128566 vmovdqa xmm6, [rsp+68h+var_48] ; +0x8ec, 0x18012856c add rsp, 68h ; +0x8f2, 0x180128572 retn ; +0x8f6, 0x180128576 align 20h ; +0x8f7, 0x180128577 cmp r9d, 0 ; +0x900, 0x180128580 jg short Lpowf_fma3_x_near_one ; +0x904, 0x180128584 cmp ecx, 0 ; +0x906, 0x180128586 jz Lpowf_fma3_x_is_zero ; +0x909, 0x180128589 and eax, 7F800000h ; +0x90f, 0x18012858f cmp eax, 4B000000h ; +0x914, 0x180128594 jg short Lpowf_fma3_x_near_one ; +0x919, 0x180128599 vstmxcsr [rsp+68h+var_28] ; +0x91b, 0x18012859b mov edx, [rsp+68h+var_28] ; +0x921, 0x1801285a1 or edx, 1F80h ; +0x925, 0x1801285a5 mov [rsp+68h+var_18], edx ; +0x92b, 0x1801285ab vldmxcsr [rsp+68h+var_18] ; +0x92f, 0x1801285af vcvtss2si edx, xmm1 ; +0x935, 0x1801285b5 vcvtsi2ss xmm2, xmm2, edx ; +0x939, 0x1801285b9 vldmxcsr [rsp+68h+var_28] ; +0x93d, 0x1801285bd vucomiss xmm2, xmm1 ; +0x943, 0x1801285c3 jnz Lpowf_fma3_return_qnan ; +0x947, 0x1801285c7 rcr edx, 1 ; +0x94d, 0x1801285cd jnb short Lpowf_fma3_x_near_one ; +0x94f, 0x1801285cf vmovss xmm5, cs:dword_180170E1C ; +0x951, 0x1801285d1 vpshufd xmm3, xmm0, 0EEh ; +0x959, 0x1801285d9 vsubsd xmm3, xmm3, cs:qword_180170E0C ; +0x95e, 0x1801285de vmovq rdx, xmm3 ; +0x966, 0x1801285e6 btr rdx, 3Fh ; '?' ; +0x96b, 0x1801285eb cmp rdx, cs:qword_180170E04 ; +0x970, 0x1801285f0 jnb Lpowf_fma3_compute_logx ; +0x977, 0x1801285f7 vpshufd xmm5, xmm5, 44h ; 'D' ; +0x97d, 0x1801285fd vmovapd xmm1, xmm3 ; +0x982, 0x180128602 vmovsd xmm5, xmm5, xmm3 ; +0x986, 0x180128606 vaddsd xmm1, xmm1, cs:qword_180170E14 ; +0x98a, 0x18012860a vdivsd xmm5, xmm5, xmm1 ; +0x992, 0x180128612 vmovapd xmm2, xmm5 ; +0x996, 0x180128616 vmulsd xmm5, xmm5, xmm3 ; +0x99a, 0x18012861a vaddsd xmm2, xmm2, xmm2 ; +0x99e, 0x18012861e vmovapd xmm1, xmm2 ; +0x9a2, 0x180128622 vmulsd xmm1, xmm1, xmm2 ; +0x9a6, 0x180128626 vpshufd xmm4, xmm1, 44h ; 'D' ; +0x9aa, 0x18012862a vmulpd xmm4, xmm4, cs:xmmword_180170E30 ; +0x9af, 0x18012862f vmulsd xmm2, xmm2, xmm1 ; +0x9b7, 0x180128637 vaddpd xmm4, xmm4, cs:xmmword_180170E40 ; +0x9bb, 0x18012863b vmulsd xmm1, xmm1, xmm1 ; +0x9c3, 0x180128643 vmulsd xmm1, xmm1, xmm2 ; +0x9c7, 0x180128647 vunpcklpd xmm2, xmm2, xmm1 ; +0x9cb, 0x18012864b vmulpd xmm2, xmm2, xmm4 ; +0x9cf, 0x18012864f vpshufd xmm1, xmm2, 0EEh ; +0x9d3, 0x180128653 vaddsd xmm2, xmm1, xmm2 ; +0x9d8, 0x180128658 vsubsd xmm2, xmm2, xmm5 ; +0x9dc, 0x18012865c vpshufd xmm5, xmm5, 0EEh ; +0x9e0, 0x180128660 vaddsd xmm3, xmm3, xmm2 ; +0x9e5, 0x180128665 jmp L__return_from_near_one ; +0x9e9, 0x180128669 align 10h ; +0x9ee, 0x18012866e mov r8d, eax ; +0x9f0, 0x180128670 vmovd edx, xmm1 ; +0x9f3, 0x180128673 mov eax, 0 ; +0x9f7, 0x180128677 mov r10d, 0 ; +0x9fc, 0x18012867c mov ecx, 7F800000h ; +0xa02, 0x180128682 cmp edx, 0 ; +0xa07, 0x180128687 cmovl edx, ecx ; +0xa0a, 0x18012868a cmovl r10d, ecx ; +0xa0d, 0x18012868d cmovg edx, eax ; +0xa11, 0x180128691 mov ecx, 80000000h ; +0xa14, 0x180128694 and r8d, 7F800000h ; +0xa19, 0x180128699 cmp r8d, 4B000000h ; +0xa20, 0x1801286a0 cmovg ecx, eax ; +0xa27, 0x1801286a7 jg short Lpowf_fma3_or_sign_and_retvalue_and_ret1 ; +0xa2a, 0x1801286aa vstmxcsr [rsp+68h+var_28] ; +0xa2c, 0x1801286ac mov r8d, [rsp+68h+var_28] ; +0xa32, 0x1801286b2 or r8d, 1F80h ; +0xa37, 0x1801286b7 mov [rsp+68h+var_18], r8d ; +0xa3e, 0x1801286be vldmxcsr [rsp+68h+var_18] ; +0xa43, 0x1801286c3 vcvtss2si r8d, xmm1 ; +0xa49, 0x1801286c9 vcvtsi2ss xmm2, xmm2, r8d ; +0xa4d, 0x1801286cd vldmxcsr [rsp+68h+var_28] ; +0xa52, 0x1801286d2 vucomiss xmm2, xmm1 ; +0xa58, 0x1801286d8 cmovnz ecx, eax ; +0xa5c, 0x1801286dc jnz short Lpowf_fma3_or_sign_and_retvalue_and_ret1 ; +0xa5f, 0x1801286df rcr r8d, 1 ; +0xa61, 0x1801286e1 cmovnb ecx, eax ; +0xa64, 0x1801286e4 jnb short Lpowf_fma3_or_sign_and_retvalue_and_ret1 ; +0xa67, 0x1801286e7 mov ecx, r9d ; +0xa69, 0x1801286e9 and ecx, 80000000h ; +0xa6c, 0x1801286ec or ecx, edx ; +0xa72, 0x1801286f2 vmovd xmm0, ecx ; +0xa74, 0x1801286f4 cmp r10d, 0 ; +0xa78, 0x1801286f8 jz L__return ; +0xa7c, 0x1801286fc mov r9d, cs:dword_180170DB4 ; +0xa82, 0x180128702 vmovdqa xmm2, xmm0 ; +0xa89, 0x180128709 call _powf_special ; +0xa8d, 0x18012870d vmovdqa xmm7, [rsp+68h+var_38] ; +0xa92, 0x180128712 vmovdqa xmm6, [rsp+68h+var_48] ; +0xa98, 0x180128718 add rsp, 68h ; +0xa9e, 0x18012871e retn ; +0xaa2, 0x180128722 align 10h ; +0xaa3, 0x180128723 cmp eax, 0 ; +0xab0, 0x180128730 jz Lpowf_fma3_return_pos_one ; +0xab3, 0x180128733 vmovd ecx, xmm0 ; +0xab9, 0x180128739 vmovd edx, xmm1 ; +0xabd, 0x18012873d cmp ecx, 7F800000h ; +0xac1, 0x180128741 jz short Lpowf_fma3_x_is_pos_inf ; +0xac7, 0x180128747 cmp ecx, 0FF800000h ; +0xac9, 0x180128749 jz short Lpowf_fma3_x_is_neg_inf ; +0xacf, 0x18012874f jmp Lpowf_fma3_return_x_nan ; +0xad1, 0x180128751 align 20h ; +0xad6, 0x180128756 cmp edx, 0 ; +0xae0, 0x180128760 jl Lpowf_fma3_return_pos_zero ; +0xae3, 0x180128763 jmp Lpowf_fma3_return_pos_inf ; +0xae9, 0x180128769 align 10h ; +0xaee, 0x18012876e mov r8d, eax ; +0xaf0, 0x180128770 mov eax, 0 ; +0xaf3, 0x180128773 mov ecx, 7F800000h ; +0xaf8, 0x180128778 cmp edx, 0 ; +0xafd, 0x18012877d cmovl edx, eax ; +0xb00, 0x180128780 cmovg edx, ecx ; +0xb03, 0x180128783 mov ecx, 80000000h ; +0xb06, 0x180128786 and r8d, 7F800000h ; +0xb0b, 0x18012878b cmp r8d, 4B000000h ; +0xb12, 0x180128792 cmovg ecx, eax ; +0xb19, 0x180128799 jg short Lpowf_fma3_or_sign_and_retvalue_and_ret ; +0xb1c, 0x18012879c vstmxcsr [rsp+68h+var_28] ; +0xb1e, 0x18012879e mov r8d, [rsp+68h+var_28] ; +0xb24, 0x1801287a4 or r8d, 1F80h ; +0xb29, 0x1801287a9 mov [rsp+68h+var_18], r8d ; +0xb30, 0x1801287b0 vldmxcsr [rsp+68h+var_18] ; +0xb35, 0x1801287b5 vcvtss2si r8d, xmm1 ; +0xb3b, 0x1801287bb vcvtsi2ss xmm2, xmm2, r8d ; +0xb3f, 0x1801287bf vldmxcsr [rsp+68h+var_28] ; +0xb44, 0x1801287c4 vucomiss xmm2, xmm1 ; +0xb4a, 0x1801287ca cmovnz ecx, eax ; +0xb4e, 0x1801287ce jnz short Lpowf_fma3_or_sign_and_retvalue_and_ret ; +0xb51, 0x1801287d1 rcr r8d, 1 ; +0xb53, 0x1801287d3 cmovnb ecx, eax ; +0xb56, 0x1801287d6 or ecx, edx ; +0xb59, 0x1801287d9 vmovd xmm0, ecx ; +0xb5b, 0x1801287db vmovdqa xmm7, [rsp+68h+var_38] ; +0xb5f, 0x1801287df vmovdqa xmm6, [rsp+68h+var_48] ; +0xb65, 0x1801287e5 add rsp, 68h ; +0xb6b, 0x1801287eb retn ; +0xb6f, 0x1801287ef ja short Lpowf_fma3_y_is_nan ; +0xb70, 0x1801287f0 cmp ecx, 7F800000h ; +0xb72, 0x1801287f2 ja Lpowf_fma3_return_x_nan ; +0xb78, 0x1801287f8 cmp ecx, 3F800000h ; +0xb7e, 0x1801287fe jz Lpowf_fma3_return_abs_x_is_one_y_is_pninf ; +0xb84, 0x180128804 vmovd eax, xmm1 ; +0xb8a, 0x18012880a bt eax, 1Fh ; +0xb8e, 0x18012880e jb short Lpowf_fma3_y_is_neg_inf ; +0xb92, 0x180128812 cmp ecx, 3F800000h ; +0xb94, 0x180128814 jb Lpowf_fma3_return_pos_zero ; +0xb9a, 0x18012881a jmp Lpowf_fma3_return_pos_inf ; +0xba0, 0x180128820 align 10h ; +0xba5, 0x180128825 mov eax, 0 ; +0xbb0, 0x180128830 mov r8d, 7F800000h ; +0xbb5, 0x180128835 cmp ecx, 3F800000h ; +0xbbb, 0x18012883b cmovb eax, r8d ; +0xbc1, 0x180128841 vmovd xmm0, eax ; +0xbc5, 0x180128845 vmovdqa xmm7, [rsp+68h+var_38] ; +0xbc9, 0x180128849 vmovdqa xmm6, [rsp+68h+var_48] ; +0xbcf, 0x18012884f add rsp, 68h ; +0xbd5, 0x180128855 retn ; +0xbd9, 0x180128859 align 20h ; +0xbda, 0x18012885a cmp ecx, 7F800000h ; +0xbe0, 0x180128860 ja Lpowf_fma3_x_is_nan_y_is_nan ; +0xbe6, 0x180128866 cmp r9d, 3F800000h ; +0xbec, 0x18012886c jz Lpowf_fma3_x_is_one_y_is_nan ; +0xbf3, 0x180128873 vmovdqa xmm0, xmm1 ; +0xbf9, 0x180128879 jmp Lpowf_fma3_return_y_nan ; +0xbfd, 0x18012887d align 10h ; +0xc02, 0x180128882 cmp eax, 0 ; +0xc10, 0x180128890 jz short Lpowf_fma3_y_is_zero_check_x_nan ; +0xc13, 0x180128893 vmovd edx, xmm1 ; +0xc15, 0x180128895 cmp edx, 3F800000h ; +0xc19, 0x180128899 jnz Lpowf_fma3_y_is_not_zero_or_pos_one ; +0xc1f, 0x18012889f cmp ecx, 7F800000h ; +0xc25, 0x1801288a5 ja short Lpowf_fma3_x_is_NaN_y_is_one_return_NaN ; +0xc2b, 0x1801288ab vmovdqa xmm7, [rsp+68h+var_38] ; +0xc2d, 0x1801288ad vmovdqa xmm6, [rsp+68h+var_48] ; +0xc33, 0x1801288b3 add rsp, 68h ; +0xc39, 0x1801288b9 retn ; +0xc3d, 0x1801288bd vmovd edx, xmm0 ; +0xc3e, 0x1801288be or edx, 400000h ; +0xc42, 0x1801288c2 vmovd xmm2, edx ; +0xc48, 0x1801288c8 mov r9d, cs:dword_180170DB8 ; +0xc4c, 0x1801288cc call _powf_special ; +0xc53, 0x1801288d3 movdqa xmm7, [rsp+68h+var_38] ; +0xc58, 0x1801288d8 movdqa xmm6, [rsp+68h+var_48] ; +0xc5e, 0x1801288de add rsp, 68h ; +0xc64, 0x1801288e4 retn ; +0xc68, 0x1801288e8 align 10h ; +0xc69, 0x1801288e9 cmp ecx, 7F800000h ; +0xc70, 0x1801288f0 jbe short Lpowf_fma3_return_pos_one ; +0xc76, 0x1801288f6 cmp ecx, 7FC00000h ; +0xc78, 0x1801288f8 jnb short Lpowf_fma3_return_pos_one ; +0xc7e, 0x1801288fe mov edx, ecx ; +0xc80, 0x180128900 or edx, 400000h ; +0xc82, 0x180128902 vmovd xmm2, edx ; +0xc88, 0x180128908 mov r9d, cs:dword_180170DB8 ; +0xc8c, 0x18012890c call _powf_special ; +0xc93, 0x180128913 vmovdqa xmm7, [rsp+68h+var_38] ; +0xc98, 0x180128918 vmovdqa xmm6, [rsp+68h+var_48] ; +0xc9e, 0x18012891e add rsp, 68h ; +0xca4, 0x180128924 retn ; +0xca8, 0x180128928 align 10h ; +0xca9, 0x180128929 cmp eax, 7FC00000h ; +0xcb0, 0x180128930 jnb short Lpowf_fma3_return_pos_one ; +0xcb5, 0x180128935 mov edx, 3F800000h ; +0xcb7, 0x180128937 vmovd xmm2, edx ; +0xcbc, 0x18012893c mov r9d, cs:dword_180170DBC ; +0xcc0, 0x180128940 call _powf_special ; +0xcc7, 0x180128947 vmovdqa xmm7, [rsp+68h+var_38] ; +0xccc, 0x18012894c vmovdqa xmm6, [rsp+68h+var_48] ; +0xcd2, 0x180128952 add rsp, 68h ; +0xcd8, 0x180128958 retn ; +0xcdc, 0x18012895c align 20h ; +0xcdd, 0x18012895d mov edx, 3F800000h ; +0xce0, 0x180128960 vmovd xmm0, edx ; +0xce5, 0x180128965 vmovdqa xmm7, [rsp+68h+var_38] ; +0xce9, 0x180128969 vmovdqa xmm6, [rsp+68h+var_48] ; +0xcef, 0x18012896f add rsp, 68h ; +0xcf5, 0x180128975 retn ; +0xcf9, 0x180128979 align 20h ; +0xcfa, 0x18012897a mov edx, 3F800000h ; +0xd00, 0x180128980 vmovd xmm0, edx ; +0xd05, 0x180128985 vmovdqa xmm7, [rsp+68h+var_38] ; +0xd09, 0x180128989 vmovdqa xmm6, [rsp+68h+var_48] ; +0xd0f, 0x18012898f add rsp, 68h ; +0xd15, 0x180128995 retn ; +0xd19, 0x180128999 align 20h ; +0xd1a, 0x18012899a vpxor xmm0, xmm0, xmm0 ; +0xd20, 0x1801289a0 vmovdqa xmm7, [rsp+68h+var_38] ; +0xd24, 0x1801289a4 vmovdqa xmm6, [rsp+68h+var_48] ; +0xd2a, 0x1801289aa add rsp, 68h ; +0xd30, 0x1801289b0 retn ; +0xd34, 0x1801289b4 align 20h ; +0xd35, 0x1801289b5 mov edx, 7F800000h ; +0xd40, 0x1801289c0 vmovd xmm0, edx ; +0xd45, 0x1801289c5 vmovdqa xmm7, [rsp+68h+var_38] ; +0xd49, 0x1801289c9 vmovdqa xmm6, [rsp+68h+var_48] ; +0xd4f, 0x1801289cf add rsp, 68h ; +0xd55, 0x1801289d5 retn ; +0xd59, 0x1801289d9 align 20h ; +0xd5a, 0x1801289da vaddss xmm0, xmm0, xmm0 ; +0xd60, 0x1801289e0 vmovdqa xmm7, [rsp+68h+var_38] ; +0xd64, 0x1801289e4 vmovdqa xmm6, [rsp+68h+var_48] ; +0xd6a, 0x1801289ea add rsp, 68h ; +0xd70, 0x1801289f0 retn ; +0xd74, 0x1801289f4 align 20h ; +0xd75, 0x1801289f5 vmovd ecx, xmm0 ; +0xd80, 0x180128a00 or ecx, 400000h ; +0xd84, 0x180128a04 vmovd xmm2, ecx ; +0xd8a, 0x180128a0a mov r9d, cs:dword_180170DB8 ; +0xd8e, 0x180128a0e call _powf_special ; +0xd95, 0x180128a15 vmovdqa xmm7, [rsp+68h+var_38] ; +0xd9a, 0x180128a1a vmovdqa xmm6, [rsp+68h+var_48] ; +0xda0, 0x180128a20 add rsp, 68h ; +0xda6, 0x180128a26 retn ; +0xdaa, 0x180128a2a align 10h ; +0xdab, 0x180128a2b vmovd eax, xmm1 ; +0xdb0, 0x180128a30 or eax, 400000h ; +0xdb4, 0x180128a34 vmovd xmm2, eax ; +0xdb9, 0x180128a39 mov r9d, cs:dword_180170DBC ; +0xdbd, 0x180128a3d call _powf_special ; +0xdc4, 0x180128a44 vmovdqa xmm7, [rsp+68h+var_38] ; +0xdc9, 0x180128a49 vmovdqa xmm6, [rsp+68h+var_48] ; +0xdcf, 0x180128a4f add rsp, 68h ; +0xdd5, 0x180128a55 retn ; +0xdd9, 0x180128a59 align 20h ; +0xdda, 0x180128a5a cmp r9d, 0FFC00000h ; +0xde0, 0x180128a60 jz short Lpowf_fma3_x_is_nan_y_is_nan_return_y ; +0xde7, 0x180128a67 vmovd ecx, xmm0 ; +0xde9, 0x180128a69 or ecx, 400000h ; +0xded, 0x180128a6d vmovd xmm2, ecx ; +0xdf3, 0x180128a73 mov r9d, cs:dword_180170DC0 ; +0xdf7, 0x180128a77 call _powf_special ; +0xdfe, 0x180128a7e vmovdqa xmm7, [rsp+68h+var_38] ; +0xe03, 0x180128a83 vmovdqa xmm6, [rsp+68h+var_48] ; +0xe09, 0x180128a89 add rsp, 68h ; +0xe0f, 0x180128a8f retn ; +0xe13, 0x180128a93 vmovd eax, xmm1 ; +0xe14, 0x180128a94 or eax, 400000h ; +0xe18, 0x180128a98 vmovd xmm2, eax ; +0xe1d, 0x180128a9d mov r9d, cs:dword_180170DC0 ; +0xe21, 0x180128aa1 call _powf_special ; +0xe28, 0x180128aa8 vmovdqa xmm7, [rsp+68h+var_38] ; +0xe2d, 0x180128aad vmovdqa xmm6, [rsp+68h+var_48] ; +0xe33, 0x180128ab3 add rsp, 68h ; +0xe39, 0x180128ab9 retn ; +0xe3d, 0x180128abd align 20h ; +0xe3e, 0x180128abe vpxor xmm2, xmm2, xmm2 ; +0xe40, 0x180128ac0 vorps xmm2, xmm2, xmm5 ; +0xe44, 0x180128ac4 mov r9d, cs:dword_180170DC8 ; +0xe48, 0x180128ac8 call _powf_special ; +0xe4f, 0x180128acf vmovdqa xmm7, [rsp+68h+var_38] ; +0xe54, 0x180128ad4 vmovdqa xmm6, [rsp+68h+var_48] ; +0xe5a, 0x180128ada add rsp, 68h ; +0xe60, 0x180128ae0 retn ; +0xe64, 0x180128ae4 align 10h ; +0xe65, 0x180128ae5 mov edx, 7F800000h ; +0xe70, 0x180128af0 vmovd xmm2, edx ; +0xe75, 0x180128af5 vorps xmm2, xmm2, xmm5 ; +0xe79, 0x180128af9 mov r9d, cs:dword_180170DD0 ; +0xe7d, 0x180128afd call _powf_special ; +0xe84, 0x180128b04 vmovdqa xmm7, [rsp+68h+var_38] ; +0xe89, 0x180128b09 vmovdqa xmm6, [rsp+68h+var_48] ; +0xe8f, 0x180128b0f add rsp, 68h ; +0xe95, 0x180128b15 retn ; +0xe99, 0x180128b19 align 20h ; +0xe9a, 0x180128b1a mov edx, 0FFC00000h ; +0xea0, 0x180128b20 vmovd xmm2, edx ; +0xea5, 0x180128b25 mov r9d, cs:dword_180170DC4 ; +0xea9, 0x180128b29 call _powf_special ; +0xeb0, 0x180128b30 vmovdqa xmm7, [rsp+68h+var_38] ; +0xeb5, 0x180128b35 vmovdqa xmm6, [rsp+68h+var_48] ; +0xebb, 0x180128b3b add rsp, 68h ; +0xec1, 0x180128b41 retn ; +0xec5, 0x180128b45