; ; get_drive_number_from_path from 0x180129640 to 0x1801296a3 (99 bytes) ; ; 3 xrefs: ; > common_stat<_stat64i32> @ 0x1801291cd ; > common_stat_handle_file_opened<_stat64i32> @ 0x180129277 ; > @ 0x180202aa4 ; ; 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, 0x180129640 sub rsp, 20h ; +0x2, 0x180129642 mov rbx, rdx ; +0x6, 0x180129646 xor edx, edx ; +0x9, 0x180129649 mov [rbx], edx ; +0xb, 0x18012964b movzx r8d, word ptr [rcx] ; +0xd, 0x18012964d lea eax, [r8-41h] ; +0x11, 0x180129651 cmp eax, 19h ; +0x15, 0x180129655 jbe short loc_180129663 ; +0x18, 0x180129658 lea eax, [r8-61h] ; +0x1a, 0x18012965a cmp eax, 19h ; +0x1e, 0x18012965e ja short loc_180129692 ; +0x21, 0x180129661 cmp word ptr [rcx+2], 3Ah ; ':' ; +0x23, 0x180129663 jnz short loc_180129692 ; +0x28, 0x180129668 cmp [rcx+4], dx ; +0x2a, 0x18012966a jnz short loc_18012967E ; +0x2e, 0x18012966e mov ecx, 2 ; +0x30, 0x180129670 call __acrt_errno_map_os_error ; +0x35, 0x180129675 xor al, al ; +0x3a, 0x18012967a jmp short loc_18012969D ; +0x3c, 0x18012967c lea eax, [r8-41h] ; +0x3e, 0x18012967e cmp eax, 19h ; +0x42, 0x180129682 lea ecx, [r8+20h] ; +0x45, 0x180129685 cmova ecx, r8d ; +0x49, 0x180129689 sub ecx, 60h ; '`' ; +0x4d, 0x18012968d jmp short loc_180129699 ; +0x50, 0x180129690 call _getdrive ; +0x52, 0x180129692 mov ecx, eax ; +0x57, 0x180129697 mov [rbx], ecx ; +0x59, 0x180129699 mov al, 1 ; +0x5b, 0x18012969b add rsp, 20h ; +0x5d, 0x18012969d pop rbx ; +0x61, 0x1801296a1 retn ; +0x62, 0x1801296a2