; ; should_round_up from 0x180137ec8 to 0x180137fde (278 bytes) ; ; 3 xrefs: ; > fp_format_a @ 0x1801377c7 ; > @ 0x180203620 ; > @ 0x18020362c ; ; 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 rax, rsp ; +0x0, 0x180137ec8 mov [rax+8], rbx ; +0x3, 0x180137ecb mov [rax+10h], rbp ; +0x7, 0x180137ecf mov [rax+18h], rsi ; +0xb, 0x180137ed3 mov [rax+20h], rdi ; +0xf, 0x180137ed7 push r12 ; +0x13, 0x180137edb push r14 ; +0x15, 0x180137edd push r15 ; +0x17, 0x180137edf sub rsp, 20h ; +0x19, 0x180137ee1 mov rbx, [rcx] ; +0x1d, 0x180137ee5 mov r12, 0FFFFFFFFFFFFFh ; +0x20, 0x180137ee8 and rbx, rdx ; +0x2a, 0x180137ef2 movsx r14d, r8w ; +0x2d, 0x180137ef5 and rbx, r12 ; +0x31, 0x180137ef9 mov rdi, rcx ; +0x34, 0x180137efc mov ecx, r14d ; +0x37, 0x180137eff xor r15d, r15d ; +0x3a, 0x180137f02 shr rbx, cl ; +0x3d, 0x180137f05 mov rbp, rdx ; +0x40, 0x180137f08 test r9d, r9d ; +0x43, 0x180137f0b jnz short loc_180137F1C ; +0x46, 0x180137f0e cmp bx, 8 ; +0x48, 0x180137f10 setnb al ; +0x4c, 0x180137f14 jmp loc_180137FBF ; +0x4f, 0x180137f17 call fegetround ; +0x54, 0x180137f1c test eax, eax ; +0x59, 0x180137f21 jnz short loc_180137F97 ; +0x5b, 0x180137f23 mov r8, [rdi] ; +0x5d, 0x180137f25 mov ecx, r14d ; +0x60, 0x180137f28 mov rax, r8 ; +0x63, 0x180137f2b and rax, rbp ; +0x66, 0x180137f2e and rax, r12 ; +0x69, 0x180137f31 shr rax, cl ; +0x6c, 0x180137f34 cmp ax, 8 ; +0x6f, 0x180137f37 jbe short loc_180137F44 ; +0x73, 0x180137f3b mov edx, 1 ; +0x75, 0x180137f3d jmp short loc_180137F93 ; +0x7a, 0x180137f42 jnb short loc_180137F4B ; +0x7c, 0x180137f44 mov dl, r15b ; +0x7e, 0x180137f46 jmp short loc_180137F93 ; +0x81, 0x180137f49 mov edx, 1 ; +0x83, 0x180137f4b mov eax, edx ; +0x88, 0x180137f50 shl rax, cl ; +0x8a, 0x180137f52 sub rax, rdx ; +0x8d, 0x180137f55 and rax, r8 ; +0x90, 0x180137f58 test r12, rax ; +0x93, 0x180137f5b jnz short loc_180137F93 ; +0x96, 0x180137f5e cmp r14d, 30h ; '0' ; +0x98, 0x180137f60 jz short loc_180137F7F ; +0x9c, 0x180137f64 shr r8, 4 ; +0x9e, 0x180137f66 mov rax, 0FFFFFFFFFFFFh ; +0xa2, 0x180137f6a and r8, rbp ; +0xac, 0x180137f74 and r8, rax ; +0xaf, 0x180137f77 shr r8, cl ; +0xb2, 0x180137f7a jmp short loc_180137F90 ; +0xb5, 0x180137f7d mov rax, 7FF0000000000000h ; +0xb7, 0x180137f7f test rax, r8 ; +0xc1, 0x180137f89 setnz r8b ; +0xc4, 0x180137f8c and dl, r8b ; +0xc8, 0x180137f90 mov al, dl ; +0xcb, 0x180137f93 jmp short loc_180137FBF ; +0xcd, 0x180137f95 cmp eax, 200h ; +0xcf, 0x180137f97 jnz short loc_180137FAA ; +0xd4, 0x180137f9c test bx, bx ; +0xd6, 0x180137f9e jz short loc_180137F46 ; +0xd9, 0x180137fa1 cmp [rdi], r15 ; +0xdb, 0x180137fa3 jl short loc_180137F46 ; +0xde, 0x180137fa6 jmp short loc_180137F3D ; +0xe0, 0x180137fa8 cmp eax, 100h ; +0xe2, 0x180137faa jnz short loc_180137FBD ; +0xe7, 0x180137faf test bx, bx ; +0xe9, 0x180137fb1 jz short loc_180137F46 ; +0xec, 0x180137fb4 cmp [rdi], r15 ; +0xee, 0x180137fb6 jge short loc_180137F46 ; +0xf1, 0x180137fb9 jmp short loc_180137F3D ; +0xf3, 0x180137fbb xor al, al ; +0xf5, 0x180137fbd mov rbx, [rsp+38h+arg_0] ; +0xf7, 0x180137fbf mov rbp, [rsp+38h+arg_8] ; +0xfc, 0x180137fc4 mov rsi, [rsp+38h+arg_10] ; +0x101, 0x180137fc9 mov rdi, [rsp+38h+arg_18] ; +0x106, 0x180137fce add rsp, 20h ; +0x10b, 0x180137fd3 pop r15 ; +0x10f, 0x180137fd7 pop r14 ; +0x111, 0x180137fd9 pop r12 ; +0x113, 0x180137fdb retn ; +0x115, 0x180137fdd