Function at 0x461fc0
Capabilities:
Get disk information
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x68
push ebx
push esi
push edi
call fcn.0041db05
lea eax, [esp + 0x78]
push eax
call fcn.0043f2e0
mov esi, dword [esp + 0x7c]
add esp, 4
push 0x2c
push esi
call dword [sym.imp.SHLWAPI.dll_StrChrW]
xor edi, edi
cmp eax, edi
mov byte [esp + 0x78], 0
je 0x462044
mov word [eax], di
lea ecx, [esp + 0x10]
add eax, 2
push ecx
mov dword [esp + 0x14], eax
call fcn.0043f2e0
mov edx, dword [esp + 0x14]
xor eax, eax
mov ax, word [edx]
add esp, 4
and eax, 0xffdf
cmp eax, 0x52
jne 0x462021
mov byte [esp + 0x78], 2
jmp 0x462044
lea ecx, [esp + 0xc]
push ecx
lea edx, [esp + 0x14]
push edx
mov dword [esp + 0x14], edi
call fcn.00449a90
mov eax, dword [esp + 0x14]
add esp, 8
cmp eax, edi
je 0x462044
mov byte [esp + 0x78], 1
mov ax, word [esi]
xor ebx, ebx
cmp ax, 0x43
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], edi
mov ecx, 0x2d
jne 0x46206c
cmp word [esi + 2], cx
jne 0x46206c
mov dword [esp + 0x10], 1
jmp 0x462090
cmp ax, 0x55
jne 0x462082
cmp word [esi + 2], cx
jne 0x462082
mov dword [esp + 0xc], 1
jmp 0x462090
cmp ax, di
je 0x462090
cmp word [esi + 2], 0x3a
jne 0x462090
mov ebx, eax
cmp bx, di
mov eax, dword [0x4f4bd0]
mov ecx, dword [0x4f4bd4]
mov edx, dword [0x4f4bd8]
mov dword [esp + 0x30], eax
mov eax, dword [0x4f4bdc]
mov dword [esp + 0x34], ecx
mov ecx, dword [0x4f4be0]
mov dword [esp + 0x38], edx
mov edx, dword [0x4f0594]
mov dword [esp + 0x3c], eax
mov eax, dword [0x4f0598]
mov dword [esp + 0x40], ecx
mov ecx, dword [0x4f059c]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
je 0x46214d
movsx dx, bl
lea eax, [esp + 0x18]
push eax
mov word [esp + 0x1c], bx
mov word [esp + 0x3c], dx
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
lea ecx, [esp + 0x30]
push edi
push ecx
mov esi, eax
call fcn.00448290
add esp, 8
cmp esi, 5
jne 0x46213b
mov cl, byte [esp + 0x78]
cmp cl, 2
jne 0x46211e
cmp eax, 7
je 0x46213b
xor edx, edx
cmp cl, 1
setne dl
push edx
push ebx
call fcn.00454450
add esp, 8
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x68
ret 4
mov esi, ebx
call fcn.00461f30
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x68
ret 4
cmp word [esp + 0x10], di
jne 0x462164
cmp word [esp + 0xc], di
je 0x462306
mov byte [esp + 0x78], 0
push ebp
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov ebp, dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x5d], eax
mov dword [esp + 0x61], eax
mov dword [esp + 0x65], eax
mov dword [esp + 0x69], eax
mov dword [esp + 0x6d], eax
mov dword [esp + 0x71], eax
mov byte [esp + 0x5c], 0
mov byte [esp + 0x75], al
xor bl, bl
lea ebx, [ebx]
mov eax, dword [esp + 0x18]
mov edx, 1
mov ecx, edi
shl edx, cl
test eax, edx
je 0x4622a9
mov eax, dword [0x4f4bd8]
mov ecx, dword [0x4f4bd0]
mov edx, dword [0x4f4bd4]
mov dword [esp + 0x50], eax
mov eax, dword [0x4f0594]
mov dword [esp + 0x28], eax
movsx ax, bl
mov dword [esp + 0x48], ecx
mov ecx, dword [0x4f4bdc]
mov dword [esp + 0x4c], edx
mov edx, dword [0x4f4be0]
mov dword [esp + 0x54], ecx
mov ecx, dword [0x4f0598]
add eax, 0x41
mov word [esp + 0x50], ax
mov word [esp + 0x28], ax
mov dword [esp + 0x58], edx
mov edx, dword [0x4f059c]
lea eax, [esp + 0x28]
push eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
call ebp
cmp bl, 2
mov esi, eax
jge 0x46222b
cmp esi, 2
je 0x4622a9
cmp word [esp + 0x10], 0
je 0x46223f
cmp esi, 5
jne 0x462244
cmp byte [esp + 0x7c], 2
jmp 0x46224c
cmp esi, 5
je 0x46224e
cmp esi, 2
je 0x46224e
cmp esi, 3
jne 0x4622a9
cmp word [esp + 0x14], 0
je 0x46225b
cmp esi, 5
jne 0x4622a9
lea ecx, [esp + 0x48]
push 0
push ecx
call fcn.00448290
add esp, 8
cmp word [esp + 0x10], 0
je 0x462288
cmp eax, 7
jne 0x4622a9
cmp esi, 5
jne 0x462283
cmp byte [esp + 0x7c], 2
jne 0x4622a9
mov byte [esp + edi + 0x5c], 0x45
cmp word [esp + 0x14], 0
je 0x4622a9
cmp esi, 5
jne 0x4622a9
cmp byte [esp + 0x7c], 2
jne 0x4622a3
cmp eax, 7
mov al, 0x45
je 0x4622a5
mov al, 0x43
mov byte [esp + edi + 0x5c], al
inc bl
inc edi
cmp bl, 0x1a
jl 0x4621a0
xor bl, bl
lea edi, [esp + 0x5c]
pop ebp
lea esp, [esp]
mov al, byte [edi]
cmp al, 0x43
jne 0x4622ee
mov cl, byte [esp + 0x78]
movsx dx, bl
xor eax, eax
add edx, 0x41
cmp cl, 1
setne al
mov word [esp + 0x38], dx
mov ecx, dword [esp + 0x38]
push eax
push ecx
call fcn.00454450
add esp, 8
jmp 0x4622fe
cmp al, 0x45
jne 0x4622fe
movsx si, bl
add esi, 0x41
call fcn.00461f30
inc bl
inc edi
cmp bl, 0x1a
jl 0x4622c0
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x68
ret 4