; ; _ctrlfp from 0x180133858 to 0x1801338d4 (124 bytes) ; ; 11 xrefs: ; > ldexp @ 0x18012750a ; > ldexp @ 0x180127553 ; > _except2 @ 0x18013312b ; > _umatherr @ 0x1801337fb ; > _umatherr @ 0x18013381d ; > _call_matherr @ 0x180133947 ; > _handle_error @ 0x180133a67 ; > _handle_error @ 0x180133b26 ; > _handle_errorf @ 0x180133b8f ; > _handle_errorf @ 0x180133c5a ; > @ 0x18020317c ; ; 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 ; mov [rsp+arg_10], rbx ; +0x0, 0x180133858 mov [rsp+arg_18], rsi ; +0x5, 0x18013385d push rdi ; +0xa, 0x180133862 sub rsp, 20h ; +0xb, 0x180133863 mov rbx, rdx ; +0xf, 0x180133867 mov rdi, rcx ; +0x12, 0x18013386a call _get_fpsr ; +0x15, 0x18013386d mov esi, eax ; +0x1a, 0x180133872 mov [rsp+28h+arg_8], eax ; +0x1c, 0x180133874 mov ecx, ebx ; +0x20, 0x180133878 not ecx ; +0x22, 0x18013387a or ecx, 0FFFF807Fh ; +0x24, 0x18013387c and ecx, eax ; +0x2a, 0x180133882 and edi, ebx ; +0x2c, 0x180133884 or ecx, edi ; +0x2e, 0x180133886 mov [rsp+28h+arg_0], ecx ; +0x30, 0x180133888 cmp cs:byte_1801B1864, 0 ; +0x34, 0x18013388c jz short loc_1801338BA ; +0x3b, 0x180133893 test cl, 40h ; +0x3d, 0x180133895 jz short loc_1801338BA ; +0x40, 0x180133898 call _set_fpsr ; +0x42, 0x18013389a jmp short loc_1801338C2 ; +0x47, 0x18013389f mov cs:byte_1801B1864, 0 ; +0x49, 0x1801338a1 mov ecx, [rsp+28h+arg_0] ; +0x50, 0x1801338a8 and ecx, 0FFFFFFBFh ; +0x54, 0x1801338ac call _set_fpsr ; +0x57, 0x1801338af mov esi, [rsp+28h+arg_8] ; +0x5c, 0x1801338b4 jmp short loc_1801338C2 ; +0x60, 0x1801338b8 and ecx, 0FFFFFFBFh ; +0x62, 0x1801338ba call _set_fpsr ; +0x65, 0x1801338bd mov eax, esi ; +0x6a, 0x1801338c2 mov rbx, [rsp+28h+arg_10] ; +0x6c, 0x1801338c4 mov rsi, [rsp+28h+arg_18] ; +0x71, 0x1801338c9 add rsp, 20h ; +0x76, 0x1801338ce pop rdi ; +0x7a, 0x1801338d2 retn ; +0x7b, 0x1801338d3