; ; _get_osfhandle from 0x180136270 to 0x1801362e5 (117 bytes) ; ; 8 xrefs: ; > _close_nolock @ 0x180138c2b ; > _close_nolock @ 0x180138c61 ; > _close_nolock @ 0x180138c6e ; > _close_nolock @ 0x180138c7a ; > stream_is_at_end_of_file_nolock @ 0x18013f69c ; > __crt_seh_guarded_call::operator @ 0x18013f90a ; > common_lseek_nolock<__int64> @ 0x180141fe6 ; > @ 0x1802034e8 ; ; 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 ; sub rsp, 28h ; +0x0, 0x180136270 cmp ecx, 0FFFFFFFEh ; +0x4, 0x180136274 jnz short loc_18013628E ; +0x7, 0x180136277 call __doserrno ; +0x9, 0x180136279 and dword ptr [rax], 0 ; +0xe, 0x18013627e call _errno ; +0x11, 0x180136281 mov dword ptr [rax], 9 ; +0x16, 0x180136286 jmp short loc_1801362DC ; +0x1c, 0x18013628c test ecx, ecx ; +0x1e, 0x18013628e js short loc_1801362C4 ; +0x20, 0x180136290 cmp ecx, cs:dword_1801F5560 ; +0x22, 0x180136292 jnb short loc_1801362C4 ; +0x28, 0x180136298 movsxd rcx, ecx ; +0x2a, 0x18013629a lea r8, qword_1801F5160 ; +0x2d, 0x18013629d mov rax, rcx ; +0x34, 0x1801362a4 and ecx, 3Fh ; +0x37, 0x1801362a7 sar rax, 6 ; +0x3a, 0x1801362aa lea rdx, [rcx+rcx*8] ; +0x3e, 0x1801362ae mov rax, [r8+rax*8] ; +0x42, 0x1801362b2 test byte ptr [rax+rdx*8+38h], 1 ; +0x46, 0x1801362b6 jz short loc_1801362C4 ; +0x4b, 0x1801362bb mov rax, [rax+rdx*8+28h] ; +0x4d, 0x1801362bd jmp short loc_1801362E0 ; +0x52, 0x1801362c2 call __doserrno ; +0x54, 0x1801362c4 and dword ptr [rax], 0 ; +0x59, 0x1801362c9 call _errno ; +0x5c, 0x1801362cc mov dword ptr [rax], 9 ; +0x61, 0x1801362d1 call _invalid_parameter_noinfo ; +0x67, 0x1801362d7 or rax, 0FFFFFFFFFFFFFFFFh ; +0x6c, 0x1801362dc add rsp, 28h ; +0x70, 0x1801362e0 retn ; +0x74, 0x1801362e4