; ; __remainder_piby2d2f_forAsm from 0x180136ca0 to 0x180136dec (332 bytes) ; ; 2 xrefs: ; > cosf @ 0x18012b15a ; > @ 0x180203584 ; ; 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 ; lea r9, unk_180175690 ; +0x0, 0x180136ca0 movq r11, xmm0 ; +0x7, 0x180136ca7 mov rcx, r11 ; +0xc, 0x180136cac shr r11, 34h ; +0xf, 0x180136caf sub r11, 3FFh ; +0x13, 0x180136cb3 mov r10, r11 ; +0x1a, 0x180136cba shr r10, 3 ; +0x1d, 0x180136cbd sub r10, 86h ; +0x21, 0x180136cc1 neg r10 ; +0x28, 0x180136cc8 mov rax, [r9+r10] ; +0x2b, 0x180136ccb shl rcx, 0Ch ; +0x2f, 0x180136ccf shr rcx, 0Ch ; +0x33, 0x180136cd3 bts rcx, 34h ; '4' ; +0x37, 0x180136cd7 add r10, 8 ; +0x3c, 0x180136cdc movdqu xmm0, xmmword ptr [r9+r10] ; +0x40, 0x180136ce0 mul rcx ; +0x46, 0x180136ce6 mov r8, rax ; +0x49, 0x180136ce9 mov r10, rdx ; +0x4c, 0x180136cec movq rax, xmm0 ; +0x4f, 0x180136cef mul rcx ; +0x54, 0x180136cf4 and r11, 7 ; +0x57, 0x180136cf7 psrldq xmm0, 8 ; +0x5b, 0x180136cfb add rax, r10 ; +0x60, 0x180136d00 adc rdx, 0 ; +0x63, 0x180136d03 mov r9, rax ; +0x67, 0x180136d07 mov r10, rdx ; +0x6a, 0x180136d0a movq rax, xmm0 ; +0x6d, 0x180136d0d mul rcx ; +0x72, 0x180136d12 add r10, rax ; +0x75, 0x180136d15 mov rcx, 36h ; '6' ; +0x78, 0x180136d18 mov rax, r10 ; +0x7f, 0x180136d1f sub rcx, r11 ; +0x82, 0x180136d22 xor rdx, rdx ; +0x85, 0x180136d25 shr rax, cl ; +0x88, 0x180136d28 jnb short L__no_point_five_0 ; +0x8b, 0x180136d2b not r10 ; +0x8d, 0x180136d2d not r9 ; +0x90, 0x180136d30 not r8 ; +0x93, 0x180136d33 mov rdx, 8000000000000000h ; +0x96, 0x180136d36 adc rax, 0 ; +0xa0, 0x180136d40 and rax, 3 ; +0xa4, 0x180136d44 movq xmm1, rax ; +0xa8, 0x180136d48 mov rcx, r11 ; +0xad, 0x180136d4d add rcx, 0Ah ; +0xb0, 0x180136d50 shl r10, cl ; +0xb4, 0x180136d54 shr r10, cl ; +0xb7, 0x180136d57 sub rcx, 40h ; '@' ; +0xba, 0x180136d5a mov r11, rcx ; +0xbe, 0x180136d5e bsr rcx, r10 ; +0xc1, 0x180136d61 jnz short L__form_mantissa_0 ; +0xc5, 0x180136d65 mov r10, r9 ; +0xc7, 0x180136d67 mov r9, r8 ; +0xca, 0x180136d6a bsr rcx, r10 ; +0xcd, 0x180136d6d sub r11, 40h ; '@' ; +0xd1, 0x180136d71 nop word ptr [rax+rax+00000000h] ; +0xd5, 0x180136d75 add r11, rcx ; +0xe0, 0x180136d80 sub rcx, 34h ; '4' ; +0xe3, 0x180136d83 cmp rcx, 0 ; +0xe7, 0x180136d87 jl short L__hsb_below_52_0 ; +0xeb, 0x180136d8b jz short L__form_numbers_0 ; +0xed, 0x180136d8d mov r8, r10 ; +0xef, 0x180136d8f shr r10, cl ; +0xf2, 0x180136d92 jmp short L__form_numbers_0 ; +0xf5, 0x180136d95 align 20h ; +0xf7, 0x180136d97 neg rcx ; +0x100, 0x180136da0 mov rax, r9 ; +0x103, 0x180136da3 shl r10, cl ; +0x106, 0x180136da6 shl r9, cl ; +0x109, 0x180136da9 sub rcx, 40h ; '@' ; +0x10c, 0x180136dac neg rcx ; +0x110, 0x180136db0 shr rax, cl ; +0x113, 0x180136db3 or r10, rax ; +0x116, 0x180136db6 nop dword ptr [rax+00000000h] ; +0x119, 0x180136db9 add r11, 3FFh ; +0x120, 0x180136dc0 btr r10, 34h ; '4' ; +0x127, 0x180136dc7 mov rcx, r11 ; +0x12c, 0x180136dcc or r10, rdx ; +0x12f, 0x180136dcf shl rcx, 34h ; +0x132, 0x180136dd2 or r10, rcx ; +0x136, 0x180136dd6 movq xmm0, r10 ; +0x139, 0x180136dd9 movq rax, xmm1 ; +0x13e, 0x180136dde mulsd xmm0, cs:qword_180176010 ; +0x143, 0x180136de3 retn ; +0x14b, 0x180136deb