; ; is_usable_drive_or_unc_root from 0x180129748 to 0x180129851 (265 bytes) ; ; 2 xrefs: ; > common_stat<_stat64i32> @ 0x180129190 ; > @ 0x180202ab0 ; ; 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_8], rbx ; +0x0, 0x180129748 mov [rsp+arg_10], rbp ; +0x5, 0x18012974d push rsi ; +0xa, 0x180129752 push rdi ; +0xb, 0x180129753 push r14 ; +0xc, 0x180129754 sub rsp, 240h ; +0xe, 0x180129756 mov rax, cs:__security_cookie ; +0x15, 0x18012975d xor rax, rsp ; +0x1c, 0x180129764 mov [rsp+258h+var_28], rax ; +0x1f, 0x180129767 lea rdx, Control ; +0x27, 0x18012976f mov rsi, rcx ; +0x2e, 0x180129776 call wcspbrk ; +0x31, 0x180129779 xor r14d, r14d ; +0x36, 0x18012977e test rax, rax ; +0x39, 0x180129781 jz loc_180129829 ; +0x3c, 0x180129784 mov rbx, r14 ; +0x42, 0x18012978a call _errno ; +0x45, 0x18012978d mov ebp, [rax] ; +0x4a, 0x180129792 call _errno ; +0x4c, 0x180129794 mov r8d, 104h; BufferCount ; +0x51, 0x180129799 lea rcx, [rsp+258h+Buffer]; Buffer ; +0x57, 0x18012979f mov rdx, rsi; Path ; +0x5c, 0x1801297a4 mov [rax], r14d ; +0x5f, 0x1801297a7 call _wfullpath ; +0x62, 0x1801297aa mov rdi, rax ; +0x67, 0x1801297af test rax, rax ; +0x6a, 0x1801297b2 jz short loc_1801297C0 ; +0x6d, 0x1801297b5 call _errno ; +0x6f, 0x1801297b7 mov [rax], ebp ; +0x74, 0x1801297bc jmp short loc_1801297E4 ; +0x76, 0x1801297be call _errno ; +0x78, 0x1801297c0 cmp dword ptr [rax], 22h ; '"' ; +0x7d, 0x1801297c5 jnz short loc_18012981B ; +0x80, 0x1801297c8 call _errno ; +0x82, 0x1801297ca xor r8d, r8d; BufferCount ; +0x87, 0x1801297cf mov rdx, rsi; Path ; +0x8a, 0x1801297d2 xor ecx, ecx; Buffer ; +0x8d, 0x1801297d5 mov [rax], ebp ; +0x8f, 0x1801297d7 call _wfullpath ; +0x91, 0x1801297d9 mov rbx, rax ; +0x96, 0x1801297de mov rdi, rax ; +0x99, 0x1801297e1 test rdi, rdi ; +0x9c, 0x1801297e4 jz short loc_18012981B ; +0x9f, 0x1801297e7 or rax, 0FFFFFFFFFFFFFFFFh ; +0xa1, 0x1801297e9 inc rax ; +0xa5, 0x1801297ed cmp [rdi+rax*2], r14w ; +0xa8, 0x1801297f0 jnz short loc_1801297ED ; +0xad, 0x1801297f5 cmp rax, 3 ; +0xaf, 0x1801297f7 jz short loc_180129809 ; +0xb3, 0x1801297fb mov rcx, rdi; wchar_t * ; +0xb5, 0x1801297fd call ?is_root_unc_name@@YA_NQEB_W@Z ; +0xb8, 0x180129800 test al, al ; +0xbd, 0x180129805 jz short loc_18012981B ; +0xbf, 0x180129807 mov rcx, rsi; lpRootPathName ; +0xc1, 0x180129809 call cs:GetDriveTypeW ; +0xc4, 0x18012980c mov edi, 1 ; +0xca, 0x180129812 cmp eax, edi ; +0xcf, 0x180129817 ja short loc_18012981E ; +0xd1, 0x180129819 mov dil, r14b ; +0xd3, 0x18012981b mov rcx, rbx; Block ; +0xd6, 0x18012981e call free ; +0xd9, 0x180129821 mov al, dil ; +0xde, 0x180129826 mov rcx, [rsp+258h+var_28] ; +0xe1, 0x180129829 xor rcx, rsp; StackCookie ; +0xe9, 0x180129831 call __security_check_cookie ; +0xec, 0x180129834 lea r11, [rsp+258h+var_18] ; +0xf1, 0x180129839 mov rbx, [r11+28h] ; +0xf9, 0x180129841 mov rbp, [r11+30h] ; +0xfd, 0x180129845 mov rsp, r11 ; +0x101, 0x180129849 pop r14 ; +0x104, 0x18012984c pop rdi ; +0x106, 0x18012984e pop rsi ; +0x107, 0x18012984f retn ; +0x108, 0x180129850