; ; _decomp from 0x180132e38 to 0x180132f66 (302 bytes) ; ; 2 xrefs: ; > ldexp @ 0x180127589 ; > _handle_exc @ 0x1801332c2 ; ; 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 ; movaps xmm1, xmm0 ; +0x0, 0x180132e38 movsd [rsp+arg_0], xmm0 ; +0x3, 0x180132e3b xorps xmm0, xmm0 ; +0x9, 0x180132e41 mov r10, rdx ; +0xc, 0x180132e44 ucomisd xmm1, xmm0 ; +0xf, 0x180132e47 jp short loc_180132E56 ; +0x13, 0x180132e4b jnz short loc_180132E56 ; +0x15, 0x180132e4d xor ecx, ecx ; +0x17, 0x180132e4f jmp loc_180132F62 ; +0x19, 0x180132e51 mov rax, [rsp+arg_0] ; +0x1e, 0x180132e56 mov ecx, 7FF0h ; +0x23, 0x180132e5b mov r8, rax ; +0x28, 0x180132e60 shr r8, 30h ; +0x2b, 0x180132e63 test cx, r8w ; +0x2f, 0x180132e67 jnz loc_180132F1E ; +0x33, 0x180132e6b mov edx, dword ptr [rsp+arg_0] ; +0x39, 0x180132e71 shr rax, 20h ; +0x3d, 0x180132e75 test eax, 0FFFFFh ; +0x41, 0x180132e79 jnz short loc_180132E88 ; +0x46, 0x180132e7e test edx, edx ; +0x48, 0x180132e80 jz loc_180132F1E ; +0x4a, 0x180132e82 xor r9d, r9d ; +0x50, 0x180132e88 mov ecx, 0FFFFFC03h ; +0x53, 0x180132e8b comisd xmm0, xmm1 ; +0x58, 0x180132e90 setnbe r9b ; +0x5c, 0x180132e94 test r8b, 10h ; +0x60, 0x180132e98 jnz short loc_180132EC2 ; +0x64, 0x180132e9c mov eax, dword ptr [rsp+arg_0+4] ; +0x66, 0x180132e9e add eax, eax ; +0x6a, 0x180132ea2 mov dword ptr [rsp+arg_0+4], eax ; +0x6c, 0x180132ea4 test edx, edx ; +0x70, 0x180132ea8 jns short loc_180132EB3 ; +0x72, 0x180132eaa or eax, 1 ; +0x74, 0x180132eac mov dword ptr [rsp+arg_0+4], eax ; +0x77, 0x180132eaf add edx, edx ; +0x7b, 0x180132eb3 dec ecx ; +0x7d, 0x180132eb5 test byte ptr [rsp+arg_0+6], 10h ; +0x7f, 0x180132eb7 jz short loc_180132EA2 ; +0x84, 0x180132ebc mov dword ptr [rsp+arg_0], edx ; +0x86, 0x180132ebe movzx eax, word ptr [rsp+arg_0+6] ; +0x8a, 0x180132ec2 mov edx, 0FFEFh ; +0x8f, 0x180132ec7 and ax, dx ; +0x94, 0x180132ecc mov word ptr [rsp+arg_0+6], ax ; +0x97, 0x180132ecf test r9d, r9d ; +0x9c, 0x180132ed4 jz short loc_180132EE6 ; +0x9f, 0x180132ed7 mov edx, 8000h ; +0xa1, 0x180132ed9 or ax, dx ; +0xa6, 0x180132ede mov word ptr [rsp+arg_0+6], ax ; +0xa9, 0x180132ee1 movsd xmm0, [rsp+arg_0] ; +0xae, 0x180132ee6 mov edx, 0BFEFh ; +0xb4, 0x180132eec movsd [rsp+arg_8], xmm0 ; +0xb9, 0x180132ef1 mov rax, [rsp+arg_8] ; +0xbf, 0x180132ef7 shr rax, 30h ; +0xc4, 0x180132efc and ax, dx ; +0xc8, 0x180132f00 movsd [rsp+arg_0], xmm0 ; +0xcb, 0x180132f03 mov edx, 3FE0h ; +0xd1, 0x180132f09 or ax, dx ; +0xd6, 0x180132f0e mov word ptr [rsp+arg_0+6], ax ; +0xd9, 0x180132f11 movsd xmm0, [rsp+arg_0] ; +0xde, 0x180132f16 jmp short loc_180132F62 ; +0xe4, 0x180132f1c movzx ecx, word ptr [rsp+arg_0+6] ; +0xe6, 0x180132f1e mov edx, 0BFEFh ; +0xeb, 0x180132f23 shr ecx, 4 ; +0xf0, 0x180132f28 movsd [rsp+arg_8], xmm1 ; +0xf3, 0x180132f2b and ecx, 7FFh ; +0xf9, 0x180132f31 movsd [rsp+arg_10], xmm1 ; +0xff, 0x180132f37 mov rax, [rsp+arg_10] ; +0x105, 0x180132f3d shr rax, 30h ; +0x10a, 0x180132f42 and ax, dx ; +0x10e, 0x180132f46 mov edx, 3FE0h ; +0x111, 0x180132f49 or ax, dx ; +0x116, 0x180132f4e mov word ptr [rsp+arg_8+6], ax ; +0x119, 0x180132f51 sub ecx, 3FEh ; +0x11e, 0x180132f56 movsd xmm0, [rsp+arg_8] ; +0x124, 0x180132f5c mov [r10], ecx ; +0x12a, 0x180132f62 retn ; +0x12d, 0x180132f65