; ; log from 0x18012f320 to 0x18012f84b (1323 bytes) ; ; 1 xrefs: ; > @ 0x180202da4 ; ; 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, 58h ; +0x0, 0x18012f320 movdqa [rsp+58h+var_38], xmm6 ; +0x4, 0x18012f324 cmp cs:dword_1801F4D54, 0 ; +0xa, 0x18012f32a jnz Llog_fma3 ; +0x11, 0x18012f331 movdqa xmm3, xmm0 ; +0x17, 0x18012f337 movapd xmm4, xmm0 ; +0x1b, 0x18012f33b psrlq xmm3, 34h ; '4' ; +0x1f, 0x18012f33f movq rax, xmm0 ; +0x24, 0x18012f344 psubq xmm3, cs:xmmword_180172000 ; +0x29, 0x18012f349 mov rcx, rax ; +0x31, 0x18012f351 btr rcx, 3Fh ; '?' ; +0x34, 0x18012f354 cmp rcx, qword ptr cs:xmmword_180171FB0 ; +0x39, 0x18012f359 jnb __x_is_inf_or_nan_0 ; +0x40, 0x18012f360 movdqa xmm2, xmm0 ; +0x46, 0x18012f366 cvtdq2pd xmm6, xmm3 ; +0x4a, 0x18012f36a pand xmm2, cs:xmmword_180171FF0 ; +0x4e, 0x18012f36e subsd xmm4, qword ptr cs:xmmword_180172050 ; +0x56, 0x18012f376 comisd xmm6, cs:qword_180172100 ; +0x5e, 0x18012f37e jz __denormal_adjust_0 ; +0x66, 0x18012f386 andpd xmm4, cs:xmmword_180172130 ; +0x6c, 0x18012f38c mov r9, rax ; +0x74, 0x18012f394 and rax, qword ptr cs:xmmword_180172020 ; +0x77, 0x18012f397 and r9, qword ptr cs:xmmword_180172030 ; +0x7e, 0x18012f39e shl r9, 1 ; +0x85, 0x18012f3a5 add rax, r9 ; +0x88, 0x18012f3a8 movq xmm1, rax ; +0x8b, 0x18012f3ab comisd xmm4, cs:qword_180172120 ; +0x90, 0x18012f3b0 jb __near_one_0 ; +0x98, 0x18012f3b8 shr rax, 2Ch ; +0x9e, 0x18012f3be por xmm2, cs:xmmword_180172080 ; +0xa2, 0x18012f3c2 por xmm1, cs:xmmword_180172080 ; +0xaa, 0x18012f3ca lea r9, dbl_180173C60 ; +0xb2, 0x18012f3d2 xorpd xmm5, xmm5 ; +0xb9, 0x18012f3d9 comisd xmm0, xmm5 ; +0xbd, 0x18012f3dd jbe __x_is_zero_or_neg_0 ; +0xc1, 0x18012f3e1 subsd xmm1, xmm2 ; +0xc7, 0x18012f3e7 mulsd xmm1, qword ptr [r9+rax*8] ; +0xcb, 0x18012f3eb movapd xmm2, xmm1 ; +0xd1, 0x18012f3f1 movapd xmm0, xmm1 ; +0xd5, 0x18012f3f5 lea r9, dbl_180176260 ; +0xd9, 0x18012f3f9 movsd xmm3, cs:qword_1801720F0 ; +0xe0, 0x18012f400 movsd xmm1, cs:qword_1801720C0 ; +0xe8, 0x18012f408 mulsd xmm3, xmm2 ; +0xf0, 0x18012f410 mulsd xmm1, xmm2 ; +0xf4, 0x18012f414 mulsd xmm0, xmm2 ; +0xf8, 0x18012f418 movapd xmm4, xmm0 ; +0xfc, 0x18012f41c addsd xmm3, cs:qword_1801720E0 ; +0x100, 0x18012f420 addsd xmm1, cs:qword_1801720B0 ; +0x108, 0x18012f428 mulsd xmm4, xmm0 ; +0x110, 0x18012f430 mulsd xmm3, xmm2 ; +0x114, 0x18012f434 mulsd xmm1, xmm0 ; +0x118, 0x18012f438 addsd xmm3, cs:qword_1801720D0 ; +0x11c, 0x18012f43c addsd xmm1, xmm2 ; +0x124, 0x18012f444 mulsd xmm3, xmm4 ; +0x128, 0x18012f448 addsd xmm1, xmm3 ; +0x12c, 0x18012f44c movsd xmm5, cs:qword_180172190 ; +0x130, 0x18012f450 mulsd xmm5, xmm6 ; +0x138, 0x18012f458 subsd xmm5, xmm1 ; +0x13c, 0x18012f45c movsd xmm0, qword ptr [r9+rax*8] ; +0x140, 0x18012f460 lea rdx, dbl_180176A70 ; +0x146, 0x18012f466 movsd xmm2, qword ptr [rdx+rax*8] ; +0x14d, 0x18012f46d addsd xmm2, xmm5 ; +0x152, 0x18012f472 movsd xmm4, cs:qword_180172180 ; +0x156, 0x18012f476 mulsd xmm4, xmm6 ; +0x15e, 0x18012f47e addsd xmm0, xmm4 ; +0x162, 0x18012f482 addsd xmm0, xmm2 ; +0x166, 0x18012f486 movdqa xmm6, [rsp+58h+var_38] ; +0x16a, 0x18012f48a add rsp, 58h ; +0x170, 0x18012f490 retn ; +0x174, 0x18012f494 align 20h ; +0x175, 0x18012f495 movsd xmm2, cs:qword_180172040 ; +0x180, 0x18012f4a0 subsd xmm0, qword ptr cs:xmmword_180172050 ; +0x188, 0x18012f4a8 addsd xmm2, xmm0 ; +0x190, 0x18012f4b0 movsd xmm1, xmm0 ; +0x194, 0x18012f4b4 divsd xmm1, xmm2 ; +0x198, 0x18012f4b8 movsd xmm4, cs:qword_180172150 ; +0x19c, 0x18012f4bc movsd xmm5, cs:qword_180172170 ; +0x1a4, 0x18012f4c4 movsd xmm6, xmm0 ; +0x1ac, 0x18012f4cc mulsd xmm6, xmm1 ; +0x1b0, 0x18012f4d0 addsd xmm1, xmm1 ; +0x1b4, 0x18012f4d4 movsd xmm2, xmm1 ; +0x1b8, 0x18012f4d8 mulsd xmm2, xmm1 ; +0x1bc, 0x18012f4dc mulsd xmm4, xmm2 ; +0x1c0, 0x18012f4e0 mulsd xmm5, xmm2 ; +0x1c4, 0x18012f4e4 addsd xmm4, cs:qword_180172140 ; +0x1c8, 0x18012f4e8 addsd xmm5, cs:qword_180172160 ; +0x1d0, 0x18012f4f0 mulsd xmm2, xmm1 ; +0x1d8, 0x18012f4f8 mulsd xmm4, xmm2 ; +0x1dc, 0x18012f4fc mulsd xmm2, xmm2 ; +0x1e0, 0x18012f500 mulsd xmm2, xmm1 ; +0x1e4, 0x18012f504 mulsd xmm5, xmm2 ; +0x1e8, 0x18012f508 addsd xmm4, xmm5 ; +0x1ec, 0x18012f50c subsd xmm4, xmm6 ; +0x1f0, 0x18012f510 addsd xmm0, xmm4 ; +0x1f4, 0x18012f514 movdqa xmm6, [rsp+58h+var_38] ; +0x1f8, 0x18012f518 add rsp, 58h ; +0x1fe, 0x18012f51e retn ; +0x202, 0x18012f522 align 10h ; +0x203, 0x18012f523 por xmm2, cs:xmmword_180172050 ; +0x210, 0x18012f530 subsd xmm2, qword ptr cs:xmmword_180172050 ; +0x218, 0x18012f538 movsd xmm5, xmm2 ; +0x220, 0x18012f540 pand xmm2, cs:xmmword_180171FF0 ; +0x224, 0x18012f544 movq rax, xmm2 ; +0x22c, 0x18012f54c psrlq xmm5, 34h ; '4' ; +0x231, 0x18012f551 psubd xmm5, cs:xmmword_180172110 ; +0x236, 0x18012f556 cvtdq2pd xmm6, xmm5 ; +0x23e, 0x18012f55e jmp __continue_common_0 ; +0x242, 0x18012f562 align 10h ; +0x247, 0x18012f567 jnz short __x_is_neg_0 ; +0x250, 0x18012f570 movsd xmm1, cs:qword_180171FA0 ; +0x252, 0x18012f572 mov r8d, cs:dword_1801721A0 ; +0x25a, 0x18012f57a call _log_special ; +0x261, 0x18012f581 jmp short __finish_0 ; +0x266, 0x18012f586 align 10h ; +0x268, 0x18012f588 movsd xmm1, cs:qword_180171FC0 ; +0x270, 0x18012f590 mov r8d, cs:dword_1801721A4 ; +0x278, 0x18012f598 call _log_special ; +0x27f, 0x18012f59f jmp short __finish_0 ; +0x284, 0x18012f5a4 align 10h ; +0x286, 0x18012f5a6 cmp rax, qword ptr cs:xmmword_180171FB0 ; +0x290, 0x18012f5b0 jz short __finish_0 ; +0x297, 0x18012f5b7 cmp rax, cs:qword_180171FA0 ; +0x299, 0x18012f5b9 jz short __x_is_neg_0 ; +0x2a0, 0x18012f5c0 or rax, cs:qword_180171FD0 ; +0x2a2, 0x18012f5c2 movq xmm0, rax ; +0x2a9, 0x18012f5c9 xchg ax, ax ; +0x2ae, 0x18012f5ce movdqa xmm6, [rsp+58h+var_38] ; +0x2b0, 0x18012f5d0 add rsp, 58h ; +0x2b6, 0x18012f5d6 retn ; +0x2ba, 0x18012f5da align 20h ; +0x2bb, 0x18012f5db xor rax, rax ; +0x2c0, 0x18012f5e0 vpsrlq xmm3, xmm0, 34h ; '4' ; +0x2c3, 0x18012f5e3 vmovq rax, xmm0 ; +0x2c8, 0x18012f5e8 vpsubq xmm3, xmm3, cs:xmmword_180172000 ; +0x2cd, 0x18012f5ed vcvtdq2pd xmm6, xmm3 ; +0x2d5, 0x18012f5f5 vpand xmm5, xmm0, cs:xmmword_180171FB0 ; +0x2d9, 0x18012f5f9 vcomisd xmm5, qword ptr cs:xmmword_180171FB0 ; +0x2e1, 0x18012f601 jz Llog_fma3_x_is_inf_or_nan ; +0x2e9, 0x18012f609 vpxor xmm5, xmm5, xmm5 ; +0x2ef, 0x18012f60f vcomisd xmm0, xmm5 ; +0x2f3, 0x18012f613 jbe Llog_fma3_x_is_zero_or_neg ; +0x2f7, 0x18012f617 vpand xmm2, xmm0, cs:xmmword_180171FF0 ; +0x2fd, 0x18012f61d vsubsd xmm4, xmm0, qword ptr cs:xmmword_180172050 ; +0x305, 0x18012f625 vcomisd xmm6, cs:qword_180172100 ; +0x30d, 0x18012f62d jz Llog_fma3_denormal_adjust ; +0x315, 0x18012f635 vpand xmm1, xmm0, cs:xmmword_180172020 ; +0x31b, 0x18012f63b vpand xmm3, xmm0, cs:xmmword_180172030 ; +0x323, 0x18012f643 vpsllq xmm3, xmm3, 1 ; +0x32b, 0x18012f64b vpaddq xmm1, xmm3, xmm1 ; +0x330, 0x18012f650 vmovq rax, xmm1 ; +0x334, 0x18012f654 vpand xmm4, xmm4, cs:xmmword_180172130 ; +0x339, 0x18012f659 vcomisd xmm4, cs:qword_180172120 ; +0x341, 0x18012f661 jb Llog_fma3_near_one ; +0x349, 0x18012f669 shr rax, 2Ch ; +0x34f, 0x18012f66f vpor xmm2, xmm2, cs:xmmword_180172080 ; +0x353, 0x18012f673 vpor xmm1, xmm1, cs:xmmword_180172080 ; +0x35b, 0x18012f67b lea r9, dbl_180173C60 ; +0x363, 0x18012f683 vsubsd xmm1, xmm1, xmm2 ; +0x36a, 0x18012f68a vmulsd xmm1, xmm1, qword ptr [r9+rax*8] ; +0x36e, 0x18012f68e lea r9, dbl_180176260 ; +0x374, 0x18012f694 vmulsd xmm0, xmm1, xmm1 ; +0x37b, 0x18012f69b vmovsd xmm3, cs:qword_1801720F0 ; +0x37f, 0x18012f69f vmovsd xmm5, cs:qword_1801720C0 ; +0x387, 0x18012f6a7 vfmadd213sd xmm3, xmm1, cs:qword_1801720E0 ; +0x38f, 0x18012f6af vfmadd213sd xmm5, xmm1, cs:qword_1801720B0 ; +0x398, 0x18012f6b8 vmovsd xmm4, xmm0, xmm0 ; +0x3a1, 0x18012f6c1 vfmadd213sd xmm3, xmm1, cs:qword_1801720D0 ; +0x3a5, 0x18012f6c5 vmulsd xmm4, xmm0, xmm0 ; +0x3ae, 0x18012f6ce vfmadd231sd xmm1, xmm5, xmm0 ; +0x3b2, 0x18012f6d2 vfmadd231sd xmm1, xmm3, xmm4 ; +0x3b7, 0x18012f6d7 vmovsd xmm5, cs:qword_180172190 ; +0x3bc, 0x18012f6dc vfmsub213sd xmm5, xmm6, xmm1 ; +0x3c4, 0x18012f6e4 vmovsd xmm0, qword ptr [r9+rax*8] ; +0x3c9, 0x18012f6e9 lea rdx, dbl_180176A70 ; +0x3cf, 0x18012f6ef vmovsd xmm1, qword ptr [rdx+rax*8] ; +0x3d6, 0x18012f6f6 vaddsd xmm1, xmm1, xmm5 ; +0x3db, 0x18012f6fb vfmadd231sd xmm0, xmm6, cs:qword_180172180 ; +0x3df, 0x18012f6ff vaddsd xmm0, xmm0, xmm1 ; +0x3e8, 0x18012f708 vmovdqa xmm6, [rsp+58h+var_38] ; +0x3ec, 0x18012f70c add rsp, 58h ; +0x3f2, 0x18012f712 retn ; +0x3f6, 0x18012f716 align 20h ; +0x3f7, 0x18012f717 vmovsd xmm3, cs:qword_180172040 ; +0x400, 0x18012f720 vsubsd xmm0, xmm0, qword ptr cs:xmmword_180172050 ; +0x408, 0x18012f728 vaddsd xmm3, xmm3, xmm0 ; +0x410, 0x18012f730 vdivsd xmm1, xmm0, xmm3 ; +0x414, 0x18012f734 vmovsd xmm4, cs:qword_180172150 ; +0x418, 0x18012f738 vmovsd xmm5, cs:qword_180172170 ; +0x420, 0x18012f740 vmulsd xmm3, xmm0, xmm1 ; +0x428, 0x18012f748 vaddsd xmm1, xmm1, xmm1 ; +0x42c, 0x18012f74c vmulsd xmm2, xmm1, xmm1 ; +0x430, 0x18012f750 vfmadd213sd xmm4, xmm2, cs:qword_180172140 ; +0x434, 0x18012f754 vfmadd213sd xmm5, xmm2, cs:qword_180172160 ; +0x43d, 0x18012f75d vmulsd xmm2, xmm2, xmm1 ; +0x446, 0x18012f766 vmulsd xmm4, xmm4, xmm2 ; +0x44a, 0x18012f76a vmulsd xmm2, xmm2, xmm2 ; +0x44e, 0x18012f76e vmulsd xmm2, xmm2, xmm1 ; +0x452, 0x18012f772 vfmadd231sd xmm4, xmm5, xmm2 ; +0x456, 0x18012f776 vsubsd xmm4, xmm4, xmm3 ; +0x45b, 0x18012f77b vaddsd xmm0, xmm0, xmm4 ; +0x45f, 0x18012f77f vmovdqa xmm6, [rsp+58h+var_38] ; +0x463, 0x18012f783 add rsp, 58h ; +0x469, 0x18012f789 retn ; +0x46d, 0x18012f78d vpor xmm2, xmm2, cs:xmmword_180172050 ; +0x46e, 0x18012f78e vsubsd xmm2, xmm2, qword ptr cs:xmmword_180172050 ; +0x476, 0x18012f796 vpsrlq xmm5, xmm2, 34h ; '4' ; +0x47e, 0x18012f79e vpand xmm2, xmm2, cs:xmmword_180171FF0 ; +0x483, 0x18012f7a3 vmovapd xmm0, xmm2 ; +0x48b, 0x18012f7ab vpsubd xmm5, xmm5, cs:xmmword_180172110 ; +0x48f, 0x18012f7af vcvtdq2pd xmm6, xmm5 ; +0x497, 0x18012f7b7 jmp Llog_fma3_continue_common ; +0x49b, 0x18012f7bb jnz short Llog_fma3_x_is_neg ; +0x4a0, 0x18012f7c0 vmovsd xmm1, cs:qword_180171FA0 ; +0x4a2, 0x18012f7c2 mov r8d, cs:dword_1801721A0 ; +0x4aa, 0x18012f7ca call _log_special ; +0x4b1, 0x18012f7d1 vmovdqa xmm6, [rsp+58h+var_38] ; +0x4b6, 0x18012f7d6 add rsp, 58h ; +0x4bc, 0x18012f7dc retn ; +0x4c0, 0x18012f7e0 align 10h ; +0x4c1, 0x18012f7e1 vmovsd xmm1, cs:qword_180171FC0 ; +0x4d0, 0x18012f7f0 mov r8d, cs:dword_1801721A4 ; +0x4d8, 0x18012f7f8 call _log_special ; +0x4df, 0x18012f7ff vmovdqa xmm6, [rsp+58h+var_38] ; +0x4e4, 0x18012f804 add rsp, 58h ; +0x4ea, 0x18012f80a retn ; +0x4ee, 0x18012f80e align 10h ; +0x4ef, 0x18012f80f cmp rax, qword ptr cs:xmmword_180171FB0 ; +0x4f0, 0x18012f810 jz short Llog_fma3_finish ; +0x4f7, 0x18012f817 cmp rax, cs:qword_180171FA0 ; +0x4f9, 0x18012f819 jz short Llog_fma3_x_is_neg ; +0x500, 0x18012f820 or rax, cs:qword_180171FD0 ; +0x502, 0x18012f822 vmovq xmm1, rax ; +0x509, 0x18012f829 mov r8d, cs:dword_1801721A8 ; +0x50e, 0x18012f82e call _log_special ; +0x515, 0x18012f835 nop word ptr [rax+rax+00h] ; +0x51a, 0x18012f83a vmovdqa xmm6, [rsp+58h+var_38] ; +0x520, 0x18012f840 add rsp, 58h ; +0x526, 0x18012f846 retn ; +0x52a, 0x18012f84a