Function at 0x4642db
Capabilities:
Get disk information

Disassembly:
push 0x18
mov eax, 0x47197c
call fcn.004678e3
mov eax, ecx
mov dword [ebp - 0x24], eax
push eax
lea ecx, [ebp - 0x10]
call fcn.00437fc6
and dword [ebp - 4], 0
lea ecx, [ebp - 0x10]
mov eax, dword [0x4a1cc8]
push dword [eax - 0xc]
lea eax, [ebp - 0x20]
push eax
call fcn.00457d6c
push dword [0x4a1cc8]
mov ecx, eax
call fcn.004557e5
mov ecx, dword [ebp - 0x20]
mov ebx, eax
neg ebx
sbb bl, bl
lea ecx, [ecx - 0x10]
call fcn.0041db60
add bl, 1
je 0x46435c
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax - 0xc]
mov eax, dword [0x4a1cc8]
sub ecx, dword [eax - 0xc]
lea eax, [ebp - 0x20]
push ecx
push eax
lea ecx, [ebp - 0x10]
call fcn.0045aa03
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 1
call fcn.00438106
xor ebx, ebx
jmp 0x46438d
xor ebx, ebx
jmp 0x46439b
push ebx
lea ecx, [ebp - 0x10]
call fcn.004381bd
cmp ax, 0x2f
jne 0x4643a4
mov eax, dword [esi - 0xc]
lea ecx, [ebp - 0x10]
dec eax
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.0045aa03
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 2
call fcn.00438106
mov byte [ebp - 4], bl
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx - 0x10]
call fcn.0041db60
mov esi, dword [ebp - 0x10]
cmp dword [esi - 0xc], 0
jg 0x464360
push esi
call dword [sym.imp.api_ms_win_core_shlwapi_legacy_l1_1_0.dll_PathIsUNCW]
test eax, eax
jne 0x464519
push esi
call dword [sym.imp.api_ms_win_core_shlwapi_legacy_l1_1_0.dll_PathIsUNCServerW]
test eax, eax
jne 0x464519
push esi
call dword [sym.imp.api_ms_win_core_shlwapi_legacy_l1_1_0.dll_PathIsUNCServerShareW]
test eax, eax
jne 0x464519
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x18]
call fcn.00437fc6
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call fcn.0046454d
mov edi, dword [ebp - 0x18]
push edi
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetDriveTypeW]
cmp eax, 4
jne 0x464511
push 1
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x18]
call fcn.0045aa03
mov ecx, dword [eax]
mov edx, 0x404b74
call fcn.0045b443
mov byte [ebp - 4], 3
mov ebx, eax
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx - 0x10]
call fcn.0041db60
test ebx, ebx
jne 0x46445d
mov eax, dword [edi - 0xc]
lea ecx, [ebp - 0x18]
dec eax
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00457d6c
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.00438106
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.0041db60
mov edi, dword [ebp - 0x18]
jmp 0x4643fc
lea eax, [ebp - 0x1c]
xor ebx, ebx
push eax
push ebx
push edi
mov dword [ebp - 0x1c], ebx
call dword [sym.imp.MPR.dll_WNetGetConnectionW]
cmp eax, 0xea
jne 0x464511
lea ecx, [ebp - 0x14]
call fcn.00437ff1
mov byte [ebp - 4], 6
xor edx, edx
mov eax, dword [ebp - 0x1c]
inc edx
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax - 8]
sub edx, dword [eax - 4]
sub ecx, dword [ebp - 0x20]
or ecx, edx
jge 0x4644ad
push dword [ebp - 0x20]
lea ecx, [ebp - 0x14]
call fcn.00439c32
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x1c]
push ecx
push eax
push edi
call dword [sym.imp.MPR.dll_WNetGetConnectionW]
test eax, eax
jne 0x464509
push ecx
lea ecx, [ebp - 0x14]
call fcn.0046452f
push esi
call dword [sym.imp.api_ms_win_core_shlwapi_legacy_l1_1_0.dll_PathSkipRootW]
sub eax, esi
lea ecx, [ebp - 0x10]
sar eax, 1
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.0045869c
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x14]
push dword [eax]
call fcn.00464288
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx - 0x10]
call fcn.0041db60
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x14]
push eax
call fcn.00438106
mov bl, 1
lea ecx, [ebp - 0x14]
call fcn.0042b2c0
lea ecx, [ebp - 0x18]
call fcn.0042b2c0
lea ecx, [ebp - 0x10]
call fcn.0042b2c0
mov al, bl
call fcn.0046789f
ret