; ; sinf from 0x180129e40 to 0x18012a536 (1782 bytes) ; ; 29 xrefs: ; > sub_1800252C0 @ 0x1800256ec ; > sub_1800258D0 @ 0x180025d23 ; > sub_180032180 @ 0x1800323d6 ; > sub_180032180 @ 0x180032414 ; > sub_180032180 @ 0x1800324b9 ; > sub_180032180 @ 0x1800324ff ; > sub_180032180 @ 0x180032668 ; > sub_180053860 @ 0x180053a24 ; > sub_180053860 @ 0x180053a31 ; > sub_180075930 @ 0x180075a18 ; > sub_18008F230 @ 0x18008f2b3 ; > sub_18008F230 @ 0x18008f2f3 ; > sub_18008F230 @ 0x18008f32b ; > sub_18008F230 @ 0x18008f363 ; > sub_18008F230 @ 0x18008f39b ; > sub_18008F230 @ 0x18008f3d3 ; > sub_18008F230 @ 0x18008f40b ; > sub_18008F230 @ 0x18008f443 ; > sub_18008F230 @ 0x18008f47b ; > sub_18008F230 @ 0x18008f4b3 ; > sub_18008F230 @ 0x18008f4eb ; > sub_18008F230 @ 0x18008f523 ; > sub_18008F230 @ 0x18008f55b ; > sub_18008F230 @ 0x18008f593 ; > sub_18008F230 @ 0x18008f5cb ; > sub_18008F230 @ 0x18008f600 ; > sub_1800F9FF0 @ 0x1800fa89d ; > sub_1800F9FF0 @ 0x1800fa8b6 ; > @ 0x180202ad4 ; ; 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, 0x180129e40 cmp cs:dword_1801F4D54, 0 ; +0x4, 0x180129e44 jnz Lsinf_fma3 ; +0xb, 0x180129e4b xorpd xmm2, xmm2 ; +0x11, 0x180129e51 movd edx, xmm0 ; +0x15, 0x180129e55 mov eax, 7F800000h ; +0x19, 0x180129e59 mov r10d, eax ; +0x1e, 0x180129e5e and r10d, edx ; +0x21, 0x180129e61 cmp r10d, eax ; +0x24, 0x180129e64 jz Lsinf_sse2_naninf ; +0x27, 0x180129e67 movapd xmm3, xmm0 ; +0x2d, 0x180129e6d cvtss2sd xmm0, xmm0 ; +0x31, 0x180129e71 movq rdx, xmm0 ; +0x35, 0x180129e75 mov r10, rdx ; +0x3a, 0x180129e7a btr r10, 3Fh ; '?' ; +0x3d, 0x180129e7d mov r8d, 1 ; +0x42, 0x180129e82 mov rax, 3FE921FB54442D18h ; +0x48, 0x180129e88 cmp r10, rax ; +0x52, 0x180129e92 jg Lsinf_absx_gt_piby4 ; +0x55, 0x180129e95 mov rax, 3F80000000000000h ; +0x5b, 0x180129e9b cmp r10, rax ; +0x65, 0x180129ea5 jge short Lsinf_sse2_small ; +0x68, 0x180129ea8 mov rax, 3F20000000000000h ; +0x6a, 0x180129eaa cmp r10, rax ; +0x74, 0x180129eb4 jge short Lsinf_sse2_smaller ; +0x77, 0x180129eb7 movapd xmm0, xmm3 ; +0x79, 0x180129eb9 movss xmm1, xmm0 ; +0x7d, 0x180129ebd mulss xmm1, cs:dword_180171A30 ; +0x81, 0x180129ec1 addss xmm1, cs:dword_180171A38 ; +0x89, 0x180129ec9 add rsp, 68h ; +0x91, 0x180129ed1 retn ; +0x95, 0x180129ed5 align 20h ; +0x96, 0x180129ed6 movsd xmm2, xmm0 ; +0xa0, 0x180129ee0 movsd xmm4, cs:qword_180171980 ; +0xa4, 0x180129ee4 mulsd xmm2, xmm2 ; +0xac, 0x180129eec mulsd xmm2, xmm0 ; +0xb0, 0x180129ef0 mulsd xmm2, xmm4 ; +0xb4, 0x180129ef4 subsd xmm0, xmm2 ; +0xb8, 0x180129ef8 jmp Lsinf_sse2_cleanup ; +0xbc, 0x180129efc align 10h ; +0xc1, 0x180129f01 movsd xmm2, xmm0 ; +0xd0, 0x180129f10 mulsd xmm2, xmm0 ; +0xd4, 0x180129f14 movsd xmm1, cs:qword_180175688 ; +0xd8, 0x180129f18 mulsd xmm1, xmm2 ; +0xe0, 0x180129f20 movsd xmm4, xmm2 ; +0xe4, 0x180129f24 movsd xmm5, cs:qword_180175678 ; +0xe8, 0x180129f28 mulsd xmm4, xmm2 ; +0xf0, 0x180129f30 movsd xmm3, xmm0 ; +0xf4, 0x180129f34 mulsd xmm5, xmm2 ; +0xf8, 0x180129f38 mulsd xmm3, xmm2 ; +0xfc, 0x180129f3c addsd xmm1, cs:qword_180175680 ; +0x100, 0x180129f40 mulsd xmm1, xmm4 ; +0x108, 0x180129f48 addsd xmm5, cs:qword_180175670 ; +0x10c, 0x180129f4c addsd xmm1, xmm5 ; +0x114, 0x180129f54 mulsd xmm1, xmm3 ; +0x118, 0x180129f58 addsd xmm0, xmm1 ; +0x11c, 0x180129f5c jmp Lsinf_sse2_cleanup ; +0x120, 0x180129f60 align 10h ; +0x125, 0x180129f65 cmp rdx, r10 ; +0x130, 0x180129f70 mov r11d, 0 ; +0x133, 0x180129f73 jz short Lsinf_sse2_reduce_moderate ; +0x139, 0x180129f79 mov r11d, 1 ; +0x13b, 0x180129f7b subsd xmm2, xmm0 ; +0x141, 0x180129f81 movsd xmm0, xmm2 ; +0x145, 0x180129f85 cmp r10, cs:qword_180171A28 ; +0x149, 0x180129f89 jnb Lsinf_sse2_reduce_large ; +0x150, 0x180129f90 movsd xmm2, xmm0 ; +0x156, 0x180129f96 movsd xmm3, qword ptr cs:xmmword_180171960 ; +0x15a, 0x180129f9a movsd xmm4, xmm0 ; +0x162, 0x180129fa2 movsd xmm5, cs:qword_180171950 ; +0x166, 0x180129fa6 mulsd xmm2, xmm3 ; +0x16e, 0x180129fae mov r9, r10 ; +0x172, 0x180129fb2 shr r9, 34h ; +0x175, 0x180129fb5 addsd xmm2, xmm5 ; +0x179, 0x180129fb9 movsd xmm3, cs:qword_180171970 ; +0x17d, 0x180129fbd cvttpd2dq xmm0, xmm2 ; +0x185, 0x180129fc5 movsd xmm1, cs:qword_180171990 ; +0x189, 0x180129fc9 cvtdq2pd xmm2, xmm0 ; +0x191, 0x180129fd1 mulsd xmm3, xmm2 ; +0x195, 0x180129fd5 subsd xmm4, xmm3 ; +0x199, 0x180129fd9 mulsd xmm1, xmm2 ; +0x19d, 0x180129fdd movd eax, xmm0 ; +0x1a1, 0x180129fe1 movsd xmm0, xmm4 ; +0x1a5, 0x180129fe5 subsd xmm0, xmm1 ; +0x1a9, 0x180129fe9 movsd xmm3, cs:qword_1801719A0 ; +0x1ad, 0x180129fed movq rcx, xmm0 ; +0x1b5, 0x180129ff5 movsd xmm5, cs:qword_1801719B0 ; +0x1ba, 0x180129ffa shl rcx, 1 ; +0x1c2, 0x18012a002 shr rcx, 35h ; +0x1c5, 0x18012a005 sub r9, rcx ; +0x1c9, 0x18012a009 cmp r9, 0Fh ; +0x1cc, 0x18012a00c jle short Lsinf_sse2_expdiff_le_15 ; +0x1d0, 0x18012a010 movsd xmm1, xmm4 ; +0x1d2, 0x18012a012 mulsd xmm3, xmm2 ; +0x1d6, 0x18012a016 mulsd xmm5, xmm2 ; +0x1da, 0x18012a01a subsd xmm4, xmm3 ; +0x1de, 0x18012a01e subsd xmm1, xmm4 ; +0x1e2, 0x18012a022 subsd xmm1, xmm3 ; +0x1e6, 0x18012a026 subsd xmm5, xmm1 ; +0x1ea, 0x18012a02a movsd xmm0, xmm4 ; +0x1ee, 0x18012a02e movsd xmm1, xmm5 ; +0x1f2, 0x18012a032 subsd xmm0, xmm5 ; +0x1f6, 0x18012a036 cmp rcx, 3F2h ; +0x1fa, 0x18012a03a jge Lsinf_sse2_calc_sincosf_piby4 ; +0x201, 0x18012a041 cmp rcx, 3DEh ; +0x207, 0x18012a047 jle short Lsinf_sse2_r_very_small ; +0x20e, 0x18012a04e movsd xmm2, xmm0 ; +0x210, 0x18012a050 mulsd xmm2, xmm0 ; +0x214, 0x18012a054 and r8d, eax ; +0x218, 0x18012a058 jnz short Lsinf_sse2_small_calc_sin ; +0x21b, 0x18012a05b movsd xmm3, cs:qword_180171980 ; +0x21d, 0x18012a05d mulsd xmm3, xmm0 ; +0x225, 0x18012a065 mulsd xmm3, xmm2 ; +0x229, 0x18012a069 subsd xmm0, xmm3 ; +0x22d, 0x18012a06d jmp Lsinf_sse2_adjust_region ; +0x231, 0x18012a071 align 20h ; +0x236, 0x18012a076 movsd xmm0, qword ptr cs:xmmword_180171930 ; +0x240, 0x18012a080 mulsd xmm2, cs:qword_180171950 ; +0x248, 0x18012a088 subsd xmm0, xmm2 ; +0x250, 0x18012a090 jmp Lsinf_sse2_adjust_region ; +0x254, 0x18012a094 align 20h ; +0x259, 0x18012a099 and r8d, eax ; +0x260, 0x18012a0a0 jz Lsinf_sse2_adjust_region ; +0x263, 0x18012a0a3 movsd xmm0, qword ptr cs:xmmword_180171930 ; +0x269, 0x18012a0a9 jmp Lsinf_sse2_adjust_region ; +0x271, 0x18012a0b1 align 20h ; +0x276, 0x18012a0b6 mov qword ptr [rsp+68h+var_48], r11 ; +0x280, 0x18012a0c0 lea rdx, [rsp+68h+var_30] ; +0x285, 0x18012a0c5 lea r8, [rsp+68h+var_38] ; +0x28a, 0x18012a0ca movq rcx, xmm0 ; +0x28f, 0x18012a0cf call __remainder_piby2d2f_forC ; +0x294, 0x18012a0d4 mov r11, qword ptr [rsp+68h+var_48] ; +0x299, 0x18012a0d9 mov r8d, 1 ; +0x29e, 0x18012a0de movsd xmm1, [rsp+68h+var_30] ; +0x2a4, 0x18012a0e4 mov eax, [rsp+68h+var_38] ; +0x2aa, 0x18012a0ea movsd xmm2, xmm0 ; +0x2ae, 0x18012a0ee mulsd xmm2, xmm0 ; +0x2b2, 0x18012a0f2 and r8d, eax ; +0x2b6, 0x18012a0f6 jnz short Lsinf_sse2_do_cosf_calc ; +0x2b9, 0x18012a0f9 movsd xmm1, cs:qword_180175688 ; +0x2bb, 0x18012a0fb mulsd xmm1, xmm2 ; +0x2c3, 0x18012a103 movsd xmm4, xmm2 ; +0x2c7, 0x18012a107 mulsd xmm4, xmm2 ; +0x2cb, 0x18012a10b movsd xmm5, cs:qword_180175678 ; +0x2cf, 0x18012a10f mulsd xmm5, xmm2 ; +0x2d7, 0x18012a117 movsd xmm3, xmm0 ; +0x2db, 0x18012a11b mulsd xmm3, xmm2 ; +0x2df, 0x18012a11f addsd xmm1, cs:qword_180175680 ; +0x2e3, 0x18012a123 mulsd xmm1, xmm4 ; +0x2eb, 0x18012a12b addsd xmm5, cs:qword_180175670 ; +0x2ef, 0x18012a12f addsd xmm1, xmm5 ; +0x2f7, 0x18012a137 mulsd xmm1, xmm3 ; +0x2fb, 0x18012a13b addsd xmm0, xmm1 ; +0x2ff, 0x18012a13f jmp short Lsinf_sse2_adjust_region ; +0x303, 0x18012a143 align 10h ; +0x305, 0x18012a145 movsd xmm1, cs:qword_180175660 ; +0x310, 0x18012a150 movsd xmm4, xmm2 ; +0x318, 0x18012a158 mulsd xmm1, xmm2 ; +0x31c, 0x18012a15c movsd xmm3, cs:qword_180175650 ; +0x320, 0x18012a160 mulsd xmm4, xmm2 ; +0x328, 0x18012a168 movsd xmm0, cs:qword_180175640 ; +0x32c, 0x18012a16c mulsd xmm3, xmm2 ; +0x334, 0x18012a174 mulsd xmm0, xmm2 ; +0x338, 0x18012a178 addsd xmm1, cs:qword_180175658 ; +0x33c, 0x18012a17c mulsd xmm1, xmm4 ; +0x344, 0x18012a184 addsd xmm3, cs:qword_180175648 ; +0x348, 0x18012a188 addsd xmm1, xmm3 ; +0x350, 0x18012a190 mulsd xmm1, xmm4 ; +0x354, 0x18012a194 addsd xmm0, qword ptr cs:xmmword_180171930 ; +0x358, 0x18012a198 addsd xmm0, xmm1 ; +0x360, 0x18012a1a0 shr eax, 1 ; +0x364, 0x18012a1a4 mov ecx, eax ; +0x366, 0x18012a1a6 and eax, r11d ; +0x368, 0x18012a1a8 not ecx ; +0x36b, 0x18012a1ab not r11d ; +0x36d, 0x18012a1ad and ecx, r11d ; +0x370, 0x18012a1b0 or eax, ecx ; +0x373, 0x18012a1b3 and eax, 1 ; +0x375, 0x18012a1b5 jnz short Lsinf_sse2_cleanup ; +0x378, 0x18012a1b8 movsd xmm2, xmm0 ; +0x37a, 0x18012a1ba xorpd xmm0, xmm0 ; +0x37e, 0x18012a1be subsd xmm0, xmm2 ; +0x382, 0x18012a1c2 cvtsd2ss xmm0, xmm0 ; +0x386, 0x18012a1c6 add rsp, 68h ; +0x38a, 0x18012a1ca retn ; +0x38e, 0x18012a1ce align 10h ; +0x38f, 0x18012a1cf call _sinf_special ; +0x390, 0x18012a1d0 add rsp, 68h ; +0x395, 0x18012a1d5 retn ; +0x399, 0x18012a1d9 align 20h ; +0x39a, 0x18012a1da vmovd eax, xmm0 ; +0x3a0, 0x18012a1e0 mov r8d, cs:dword_1801719C0 ; +0x3a4, 0x18012a1e4 and eax, r8d ; +0x3ab, 0x18012a1eb cmp eax, r8d ; +0x3ae, 0x18012a1ee jz Lsinf_fma3_naninf ; +0x3b1, 0x18012a1f1 vcvtss2sd xmm5, xmm0, xmm0 ; +0x3b7, 0x18012a1f7 vmovq r9, xmm5 ; +0x3bb, 0x18012a1fb btr r9, 3Fh ; '?' ; +0x3c0, 0x18012a200 cmp r9, cs:qword_1801719F0 ; +0x3c5, 0x18012a205 jg Lsinf_fma3_range_reduce ; +0x3cc, 0x18012a20c cmp r9, cs:qword_180171A10 ; +0x3d2, 0x18012a212 jge short Lsinf_fma3_compute_sinf_piby_4 ; +0x3d9, 0x18012a219 cmp r9, cs:qword_180171A00 ; +0x3db, 0x18012a21b jge short Lsinf_fma3_compute_x_xxx_0_1666 ; +0x3e2, 0x18012a222 vmovapd xmm1, xmm0 ; +0x3e4, 0x18012a224 vmulss xmm1, xmm0, cs:dword_180171A30 ; +0x3e8, 0x18012a228 vaddss xmm1, xmm1, cs:dword_180171A38 ; +0x3f0, 0x18012a230 add rsp, 68h ; +0x3f8, 0x18012a238 retn ; +0x3fc, 0x18012a23c align 20h ; +0x3fd, 0x18012a23d vmulsd xmm1, xmm5, xmm5 ; +0x400, 0x18012a240 vmulsd xmm0, xmm1, xmm5 ; +0x404, 0x18012a244 vfnmadd132sd xmm0, xmm5, cs:qword_180171980 ; +0x408, 0x18012a248 jmp Lsinf_fma3_return_sinf_s ; +0x411, 0x18012a251 align 20h ; +0x416, 0x18012a256 vmovapd xmm0, xmm5 ; +0x420, 0x18012a260 vmovsd xmm1, cs:qword_180175680 ; +0x424, 0x18012a264 vmulsd xmm3, xmm0, xmm0 ; +0x42c, 0x18012a26c vfmadd231sd xmm1, xmm3, cs:qword_180175688 ; +0x430, 0x18012a270 vfmadd213sd xmm1, xmm3, cs:qword_180175678 ; +0x439, 0x18012a279 vfmadd213sd xmm1, xmm3, cs:qword_180175670 ; +0x442, 0x18012a282 vmulsd xmm3, xmm0, xmm3 ; +0x44b, 0x18012a28b vfmadd231sd xmm0, xmm1, xmm3 ; +0x44f, 0x18012a28f jmp Lsinf_fma3_return_sinf_s ; +0x454, 0x18012a294 align 20h ; +0x459, 0x18012a299 vmovq xmm0, r9 ; +0x460, 0x18012a2a0 cmp r9, cs:qword_180171A20 ; +0x465, 0x18012a2a5 jge short Lsinf_fma3_reduce_large ; +0x46c, 0x18012a2ac vandpd xmm1, xmm0, cs:xmmword_180171920 ; +0x46e, 0x18012a2ae vmovapd xmm2, cs:xmmword_180171960 ; +0x476, 0x18012a2b6 vfmadd213sd xmm2, xmm1, cs:qword_180171950 ; +0x47e, 0x18012a2be vcvttpd2dq xmm2, xmm2 ; +0x487, 0x18012a2c7 vpmovsxdq xmm1, xmm2 ; +0x48b, 0x18012a2cb vandpd xmm4, xmm1, cs:xmmword_180171940 ; +0x490, 0x18012a2d0 vshufps xmm1, xmm1, xmm1, 8 ; +0x498, 0x18012a2d8 vcvtdq2pd xmm1, xmm1 ; +0x49d, 0x18012a2dd vmovdqa xmm2, xmm0 ; +0x4a1, 0x18012a2e1 vfnmadd231sd xmm2, xmm1, cs:qword_180171970 ; +0x4a5, 0x18012a2e5 vmulsd xmm3, xmm1, cs:qword_180171990 ; +0x4ae, 0x18012a2ee vsubsd xmm0, xmm2, xmm3 ; +0x4b6, 0x18012a2f6 vsubsd xmm2, xmm2, xmm0 ; +0x4ba, 0x18012a2fa vsubsd xmm1, xmm2, xmm3 ; +0x4be, 0x18012a2fe jmp Lsinf_fma3_exit_s ; +0x4c2, 0x18012a302 align 10h ; +0x4c7, 0x18012a307 lea r9, unk_180175690 ; +0x4d0, 0x18012a310 vmovq r11, xmm0 ; +0x4d7, 0x18012a317 mov rcx, r11 ; +0x4dc, 0x18012a31c shr r11, 34h ; +0x4df, 0x18012a31f sub r11, 3FFh ; +0x4e3, 0x18012a323 mov r10, r11 ; +0x4ea, 0x18012a32a shr r10, 3 ; +0x4ed, 0x18012a32d sub r10, 86h ; +0x4f1, 0x18012a331 neg r10 ; +0x4f8, 0x18012a338 mov rax, [r9+r10] ; +0x4fb, 0x18012a33b shl rcx, 0Ch ; +0x4ff, 0x18012a33f shr rcx, 0Ch ; +0x503, 0x18012a343 bts rcx, 34h ; '4' ; +0x507, 0x18012a347 add r10, 8 ; +0x50c, 0x18012a34c vmovdqu xmm0, xmmword ptr [r9+r10] ; +0x510, 0x18012a350 mul rcx ; +0x516, 0x18012a356 mov r8, rax ; +0x519, 0x18012a359 mov r10, rdx ; +0x51c, 0x18012a35c vmovq rax, xmm0 ; +0x51f, 0x18012a35f mul rcx ; +0x524, 0x18012a364 and r11, 7 ; +0x527, 0x18012a367 psrldq xmm0, 8 ; +0x52b, 0x18012a36b add rax, r10 ; +0x530, 0x18012a370 adc rdx, 0 ; +0x533, 0x18012a373 mov r9, rax ; +0x537, 0x18012a377 mov r10, rdx ; +0x53a, 0x18012a37a vmovq rax, xmm0 ; +0x53d, 0x18012a37d mul rcx ; +0x542, 0x18012a382 add r10, rax ; +0x545, 0x18012a385 mov rcx, 36h ; '6' ; +0x548, 0x18012a388 mov rax, r10 ; +0x54f, 0x18012a38f sub rcx, r11 ; +0x552, 0x18012a392 xor rdx, rdx ; +0x555, 0x18012a395 shr rax, cl ; +0x558, 0x18012a398 jnb short Lsinf_fma3_no_point_five_f ; +0x55b, 0x18012a39b not r10 ; +0x55d, 0x18012a39d not r9 ; +0x560, 0x18012a3a0 not r8 ; +0x563, 0x18012a3a3 mov rdx, 8000000000000000h ; +0x566, 0x18012a3a6 adc rax, 0 ; +0x570, 0x18012a3b0 and rax, 3 ; +0x574, 0x18012a3b4 vmovd xmm4, eax ; +0x578, 0x18012a3b8 mov rcx, r11 ; +0x57c, 0x18012a3bc add rcx, 0Ah ; +0x57f, 0x18012a3bf shl r10, cl ; +0x583, 0x18012a3c3 shr r10, cl ; +0x586, 0x18012a3c6 sub rcx, 40h ; '@' ; +0x589, 0x18012a3c9 mov r11, rcx ; +0x58d, 0x18012a3cd bsr rcx, r10 ; +0x590, 0x18012a3d0 jnz short Lsinf_fma3_form_mantissa_f ; +0x594, 0x18012a3d4 mov r10, r9 ; +0x596, 0x18012a3d6 mov r9, r8 ; +0x599, 0x18012a3d9 mov r8, 0 ; +0x59c, 0x18012a3dc bsr rcx, r10 ; +0x5a3, 0x18012a3e3 sub r11, 40h ; '@' ; +0x5a7, 0x18012a3e7 add r11, rcx ; +0x5ab, 0x18012a3eb sub rcx, 34h ; '4' ; +0x5ae, 0x18012a3ee cmp rcx, 0 ; +0x5b2, 0x18012a3f2 jl short Lsinf_fma3_hsb_below_52_f ; +0x5b6, 0x18012a3f6 jz short Lsinf_fma3_form_numbers_f ; +0x5b8, 0x18012a3f8 mov r8, r10 ; +0x5ba, 0x18012a3fa shr r10, cl ; +0x5bd, 0x18012a3fd shr r9, cl ; +0x5c0, 0x18012a400 sub rcx, 40h ; '@' ; +0x5c3, 0x18012a403 neg rcx ; +0x5c7, 0x18012a407 shl r8, cl ; +0x5ca, 0x18012a40a or r9, r8 ; +0x5cd, 0x18012a40d jmp short Lsinf_fma3_form_numbers_f ; +0x5d0, 0x18012a410 align 20h ; +0x5d2, 0x18012a412 neg rcx ; +0x5e0, 0x18012a420 mov rax, r9 ; +0x5e3, 0x18012a423 shl r10, cl ; +0x5e6, 0x18012a426 shl r9, cl ; +0x5e9, 0x18012a429 sub rcx, 40h ; '@' ; +0x5ec, 0x18012a42c neg rcx ; +0x5f0, 0x18012a430 shr rax, cl ; +0x5f3, 0x18012a433 or r10, rax ; +0x5f6, 0x18012a436 shr r8, cl ; +0x5f9, 0x18012a439 or r9, r8 ; +0x5fc, 0x18012a43c nop ; +0x5ff, 0x18012a43f add r11, 3FFh ; +0x600, 0x18012a440 btr r10, 34h ; '4' ; +0x607, 0x18012a447 mov rcx, r11 ; +0x60c, 0x18012a44c or r10, rdx ; +0x60f, 0x18012a44f shl rcx, 34h ; +0x612, 0x18012a452 or r10, rcx ; +0x616, 0x18012a456 vmovq xmm0, r10 ; +0x619, 0x18012a459 vmulsd xmm0, xmm0, cs:qword_1801719E0 ; +0x61e, 0x18012a45e vmovq rax, xmm4 ; +0x626, 0x18012a466 and rax, 1 ; +0x62b, 0x18012a46b cmp rax, 1 ; +0x62f, 0x18012a46f jz short Lsinf_fma3_cos_piby4_compute ; +0x633, 0x18012a473 vmovsd xmm1, cs:qword_180175680 ; +0x635, 0x18012a475 vmulsd xmm3, xmm0, xmm0 ; +0x63d, 0x18012a47d vfmadd231sd xmm1, xmm3, cs:qword_180175688 ; +0x641, 0x18012a481 vfmadd213sd xmm1, xmm3, cs:qword_180175678 ; +0x64a, 0x18012a48a vfmadd213sd xmm1, xmm3, cs:qword_180175670 ; +0x653, 0x18012a493 vmulsd xmm3, xmm0, xmm3 ; +0x65c, 0x18012a49c vfmadd231sd xmm0, xmm1, xmm3 ; +0x660, 0x18012a4a0 jmp short Lsinf_fma3_exit_s_1 ; +0x665, 0x18012a4a5 align 10h ; +0x667, 0x18012a4a7 vmovapd xmm2, cs:xmmword_180171930 ; +0x670, 0x18012a4b0 vmulsd xmm3, xmm0, xmm0 ; +0x678, 0x18012a4b8 vfmadd231sd xmm2, xmm3, cs:qword_180175640 ; +0x67c, 0x18012a4bc vmovsd xmm1, cs:qword_180175658 ; +0x685, 0x18012a4c5 vfmadd231sd xmm1, xmm3, cs:qword_180175660 ; +0x68d, 0x18012a4cd vfmadd213sd xmm1, xmm3, cs:qword_180175650 ; +0x696, 0x18012a4d6 vfmadd213sd xmm1, xmm3, cs:qword_180175648 ; +0x69f, 0x18012a4df vmulsd xmm3, xmm3, xmm3 ; +0x6a8, 0x18012a4e8 vmovdqa xmm0, xmm2 ; +0x6ac, 0x18012a4ec vfmadd231sd xmm0, xmm1, xmm3 ; +0x6b0, 0x18012a4f0 vpcmpeqq xmm2, xmm4, cs:xmmword_1801719D0 ; +0x6b5, 0x18012a4f5 vpcmpeqq xmm3, xmm4, cs:xmmword_180171940 ; +0x6be, 0x18012a4fe vorpd xmm3, xmm2, xmm3 ; +0x6c7, 0x18012a507 vandnpd xmm3, xmm3, cs:xmmword_180171910 ; +0x6cb, 0x18012a50b vxorpd xmm0, xmm0, xmm3 ; +0x6d3, 0x18012a513 vandnpd xmm1, xmm5, cs:xmmword_180171910 ; +0x6d7, 0x18012a517 vxorpd xmm0, xmm1, xmm0 ; +0x6df, 0x18012a51f vcvtsd2ss xmm0, xmm0, xmm0 ; +0x6e3, 0x18012a523 add rsp, 68h ; +0x6e7, 0x18012a527 retn ; +0x6eb, 0x18012a52b call _sinf_special ; +0x6ec, 0x18012a52c add rsp, 68h ; +0x6f1, 0x18012a531 retn ; +0x6f5, 0x18012a535