; ; __FrameHandler3::StateFromIp from 0x18012591c to 0x180125982 (102 bytes) ; ; 4 xrefs: ; > __FrameHandler3::GetCurrentState @ 0x180125895 ; > __FrameHandler3::StateFromControlPc @ 0x180125917 ; > __InternalCxxFrameHandler<__FrameHandler3> @ 0x1801265f0 ; > @ 0x1802028a0 ; ; 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 ; push rbx ; +0x0, 0x18012591c sub rsp, 20h ; +0x2, 0x18012591e mov rbx, r8 ; +0x6, 0x180125922 test rcx, rcx ; +0x9, 0x180125925 jz short loc_18012597C ; +0xc, 0x180125928 movsxd r11, dword ptr [rcx+18h] ; +0xe, 0x18012592a mov r10, [rdx+8] ; +0x12, 0x18012592e lea rax, [r11+r10] ; +0x16, 0x180125932 test rax, rax ; +0x1a, 0x180125936 jz short loc_18012597C ; +0x1d, 0x180125939 mov r8d, [rcx+14h] ; +0x1f, 0x18012593b xor r9d, r9d ; +0x23, 0x18012593f test r8d, r8d ; +0x26, 0x180125942 jz short loc_180125977 ; +0x29, 0x180125945 lea rcx, [r11+r9*8] ; +0x2b, 0x180125947 movsxd rdx, dword ptr [rcx+r10] ; +0x2f, 0x18012594b add rdx, r10 ; +0x33, 0x18012594f cmp rbx, rdx ; +0x36, 0x180125952 jb short loc_18012595F ; +0x39, 0x180125955 inc r9d ; +0x3b, 0x180125957 cmp r9d, r8d ; +0x3e, 0x18012595a jb short loc_180125947 ; +0x41, 0x18012595d test r9d, r9d ; +0x43, 0x18012595f jz short loc_180125977 ; +0x46, 0x180125962 lea ecx, [r9-1] ; +0x48, 0x180125964 lea rax, [r11+rcx*8] ; +0x4c, 0x180125968 mov eax, [rax+r10+4] ; +0x50, 0x18012596c add rsp, 20h ; +0x55, 0x180125971 pop rbx ; +0x59, 0x180125975 retn ; +0x5a, 0x180125976 or eax, 0FFFFFFFFh ; +0x5b, 0x180125977 jmp short loc_180125971 ; +0x5e, 0x18012597a call abort ; +0x60, 0x18012597c db 0CCh ; +0x65, 0x180125981