; ; asinf from 0x180130b90 to 0x180130d7a (490 bytes) ; ; 2 xrefs: ; > sub_1800F9FF0 @ 0x1800fa8c0 ; > @ 0x180202e94 ; ; 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, 0x180130b90 movaps [rsp+68h+var_18], xmm6 ; +0x4, 0x180130b94 xorps xmm5, xmm5 ; +0x9, 0x180130b99 movaps xmm6, xmm0 ; +0xc, 0x180130b9c movss [rsp+68h+arg_8], xmm6 ; +0xf, 0x180130b9f mov ecx, [rsp+68h+arg_8] ; +0x15, 0x180130ba5 mov eax, ecx ; +0x19, 0x180130ba9 shr eax, 17h ; +0x1b, 0x180130bab movzx edx, al ; +0x1e, 0x180130bae mov eax, ecx ; +0x21, 0x180130bb1 btr eax, 1Fh ; +0x23, 0x180130bb3 cmp eax, 7F800000h ; +0x27, 0x180130bb7 jbe short loc_180130BCC ; +0x2c, 0x180130bbc movaps xmm6, [rsp+68h+var_18] ; +0x2e, 0x180130bbe add rsp, 68h ; +0x33, 0x180130bc3 jmp _handle_nanf ; +0x37, 0x180130bc7 cmp edx, 71h ; 'q' ; +0x3c, 0x180130bcc jb short loc_180130BFE ; +0x3f, 0x180130bcf cmp edx, 7Fh ; +0x41, 0x180130bd1 jb short loc_180130C52 ; +0x44, 0x180130bd4 ucomiss xmm6, cs:dword_180145744 ; +0x46, 0x180130bd6 jp short loc_180130BEB ; +0x4d, 0x180130bdd jnz short loc_180130BEB ; +0x4f, 0x180130bdf movss xmm6, cs:dword_180166F14 ; +0x51, 0x180130be1 jmp short loc_180130BFE ; +0x59, 0x180130be9 ucomiss xmm6, cs:X ; +0x5b, 0x180130beb jp short loc_180130C10 ; +0x62, 0x180130bf2 jnz short loc_180130C10 ; +0x64, 0x180130bf4 movss xmm6, cs:dword_180168E90 ; +0x66, 0x180130bf6 mov ecx, 20h ; ' ' ; +0x6e, 0x180130bfe call _set_statfp ; +0x73, 0x180130c03 movaps xmm0, xmm6 ; +0x78, 0x180130c08 jmp loc_180130D70 ; +0x7b, 0x180130c0b mov r9d, 1 ; +0x80, 0x180130c10 lea rcx, aAsinf ; +0x86, 0x180130c16 mov [rsp+68h+var_28], r9d ; +0x8d, 0x180130c1d mov r8d, 0FFC00000h ; +0x92, 0x180130c22 movss [rsp+68h+var_30], xmm5 ; +0x98, 0x180130c28 movss [rsp+68h+var_38], xmm6 ; +0x9e, 0x180130c2e mov [rsp+68h+var_40], 21h ; '!' ; +0xa4, 0x180130c34 lea edx, [r9+0Dh] ; +0xac, 0x180130c3c mov [rsp+68h+var_48], 8 ; +0xb0, 0x180130c40 call _handle_errorf ; +0xb8, 0x180130c48 jmp loc_180130D70 ; +0xbd, 0x180130c4d test ecx, ecx ; +0xc2, 0x180130c52 jns short loc_180130C5D ; +0xc4, 0x180130c54 xorps xmm6, cs:xmmword_180144610 ; +0xc6, 0x180130c56 cmp edx, 7Eh ; '~' ; +0xcd, 0x180130c5d jb short loc_180130C8E ; +0xd0, 0x180130c60 movss xmm1, cs:dword_180145744 ; +0xd2, 0x180130c62 subss xmm1, xmm6 ; +0xda, 0x180130c6a mulss xmm1, cs:dword_18014573C ; +0xde, 0x180130c6e movss [rsp+68h+arg_0], xmm1 ; +0xe6, 0x180130c76 movss xmm0, [rsp+68h+arg_0] ; +0xec, 0x180130c7c movaps xmm5, xmm0 ; +0xf2, 0x180130c82 sqrtss xmm5, xmm0 ; +0xf5, 0x180130c85 movaps xmm6, xmm5 ; +0xf9, 0x180130c89 jmp short loc_180130C9B ; +0xfc, 0x180130c8c movaps xmm1, xmm6 ; +0xfe, 0x180130c8e mulss xmm1, xmm6 ; +0x101, 0x180130c91 movss [rsp+68h+arg_0], xmm1 ; +0x105, 0x180130c95 movss xmm4, cs:dword_180170C60 ; +0x10b, 0x180130c9b movaps xmm0, xmm1 ; +0x113, 0x180130ca3 mulss xmm0, cs:dword_180170C30 ; +0x116, 0x180130ca6 subss xmm4, xmm0 ; +0x11e, 0x180130cae movss xmm0, cs:dword_180170C4C ; +0x122, 0x180130cb2 mulss xmm4, xmm1 ; +0x12a, 0x180130cba subss xmm4, cs:dword_180170C40 ; +0x12e, 0x180130cbe mulss xmm4, xmm1 ; +0x136, 0x180130cc6 addss xmm4, cs:dword_180170C44 ; +0x13a, 0x180130cca mulss xmm4, xmm1 ; +0x142, 0x180130cd2 mulss xmm1, cs:dword_180170C48 ; +0x146, 0x180130cd6 subss xmm0, xmm1 ; +0x14e, 0x180130cde divss xmm4, xmm0 ; +0x152, 0x180130ce2 jb short loc_180130D5A ; +0x156, 0x180130ce6 movss [rsp+68h+arg_8], xmm5 ; +0x158, 0x180130ce8 mov eax, [rsp+68h+arg_8] ; +0x15e, 0x180130cee and eax, 0FFFF0000h ; +0x162, 0x180130cf2 mov [rsp+68h+arg_8], eax ; +0x167, 0x180130cf7 movss xmm3, [rsp+68h+arg_8] ; +0x16b, 0x180130cfb movss xmm2, [rsp+68h+arg_0] ; +0x171, 0x180130d01 movaps xmm0, xmm3 ; +0x177, 0x180130d07 mulss xmm0, xmm3 ; +0x17a, 0x180130d0a movaps xmm1, xmm3 ; +0x17e, 0x180130d0e mulss xmm3, cs:flt_180145750 ; +0x181, 0x180130d11 addss xmm1, xmm5 ; +0x189, 0x180130d19 subss xmm2, xmm0 ; +0x18d, 0x180130d1d movss xmm0, cs:dword_180172C7C ; +0x191, 0x180130d21 addss xmm5, xmm5 ; +0x199, 0x180130d29 divss xmm2, xmm1 ; +0x19d, 0x180130d2d mulss xmm5, xmm4 ; +0x1a1, 0x180130d31 movss xmm4, cs:dword_180172C80 ; +0x1a5, 0x180130d35 addss xmm2, xmm2 ; +0x1ad, 0x180130d3d subss xmm0, xmm2 ; +0x1b1, 0x180130d41 subss xmm5, xmm0 ; +0x1b5, 0x180130d45 movaps xmm0, xmm4 ; +0x1b9, 0x180130d49 subss xmm0, xmm3 ; +0x1bc, 0x180130d4c subss xmm5, xmm0 ; +0x1c0, 0x180130d50 subss xmm4, xmm5 ; +0x1c4, 0x180130d54 jmp short loc_180130D62 ; +0x1c8, 0x180130d58 mulss xmm4, xmm6 ; +0x1ca, 0x180130d5a addss xmm4, xmm6 ; +0x1ce, 0x180130d5e test ecx, ecx ; +0x1d2, 0x180130d62 jns short loc_180130D6D ; +0x1d4, 0x180130d64 xorps xmm4, cs:xmmword_180144610 ; +0x1d6, 0x180130d66 movaps xmm0, xmm4 ; +0x1dd, 0x180130d6d movaps xmm6, [rsp+68h+var_18] ; +0x1e0, 0x180130d70 add rsp, 68h ; +0x1e5, 0x180130d75 retn ; +0x1e9, 0x180130d79