Function at 0x47f05f
Capabilities:
Get disk information

Disassembly:
push dword [0x9b3e20]
call fcn.00512dcd
lea eax, [0x9add9c]
push eax
call fcn.00559740
push 0x100
call fcn.005584b0
mov dword [0x9ad428], eax
push dword [0x9ad428]
push 0x100
call sub.KERNEL32.dll_GetLogicalDriveStringsW
mov dword [0x9ae51c], eax
mov ebx, dword [0x9ae51c]
add ebx, ebx
mov dword [0x9ae51c], ebx
mov ebx, dword [0x9ae51c]
dec ebx
mov dword [0x9ae51c], ebx
mov edx, 0x6fb198
lea ecx, [0x9aca40]
call fcn.0051f008
mov dword [0x9ac534], 0
jmp 0x47f0d1
mov eax, dword [0x9ae51c]
cmp eax, dword [0x9ac534]
jl 0x47f184
mov ebx, dword [0x9ad428]
add ebx, dword [0x9ac534]
push ebx
pop eax
call fcn.0051f580
mov dword [0x9ac4a0], eax
mov edx, 0x6fb198
lea ecx, [0x9acf24]
call fcn.0051f008
mov ebx, dword [0x9ac4a0]
and ebx, ebx
je 0x47f178
push dword [0x9b3e20]
push dword [0x9b3e20]
push dword [0x9ac4a0]
call fcn.005574d0
lea eax, [0x9acf24]
push eax
call fcn.00559740
mov ebx, dword [0x9ac4a0]
cmp ebx, 0x5c
je 0x47f178
mov edx, dword [0x9aca40]
push dword [0x9b3e20]
push edx
call fcn.005597c0
push dword [0x9b3e20]
push dword [0x9b3e20]
push dword [0x9ac4a0]
call fcn.005574d0
pop eax
lea eax, [0x9aca40]
push eax
call fcn.00559740
inc dword [0x9ac534]
jno 0x47f0d1
push dword [0x9ad428]
call fcn.005585f0
push dword [0x9b3e20]
push dword [0x9b3e20]
push dword [0x9aca40]
call fcn.00556580
lea eax, [0x9ae49c]
push eax
call fcn.00559740
push dword [0x9ae49c]
mov edx, dword [0x9ada58]
pop ecx
call fcn.0051f5d0
je 0x47f1c7
ret
push 0xe6
call fcn.00509fe3
mov edx, dword [0x9ae49c]
push dword [0x9b3e20]
push edx
call fcn.005597c0
lea eax, [0x9ada58]
push eax
call fcn.00559740
push dword [0x9ae49c]
call fcn.005565a0
mov dword [0x9ae51c], eax
mov edx, 0x6fb198
lea ecx, [0x9ac12c]
call fcn.0051f008
mov dword [0x9abd50], 0
mov dword [0x9ac534], 1
jmp 0x47f225
mov eax, dword [0x9ae51c]
cmp eax, dword [0x9ac534]
jl 0x47f489
push dword [0x9b3e20]
push dword [0x9b3e20]
push 2
push dword [0x9ac534]
push dword [0x9ae49c]
call fcn.00556cd0
lea eax, [0x9aca40]
push eax
call fcn.00559740
mov eax, dword [0x9aca40]
push eax
call sub.KERNEL32.dll_GetDriveTypeW
mov dword [0x9acf48], eax
mov edx, 0x6fb198
lea ecx, [0x9ac12c]
call fcn.0051f008
mov edx, 0x6fb198
lea ecx, [0x9ac97c]
call fcn.0051f008
push dword [0x9acf48]
xor ebx, ebx
cmp ebx, dword [esp]
jne 0x47f2b6
mov edx, str.Unknown_drive_type
lea ecx, [0x9ac97c]
call fcn.0051f008
jmp 0x47f35f
mov ebx, 1
cmp ebx, dword [esp]
jne 0x47f2d5
mov edx, str.No_root_directory
lea ecx, [0x9ac97c]
call fcn.0051f008
jmp 0x47f35f
mov ebx, 2
cmp ebx, dword [esp]
jne 0x47f2f1
mov edx, str.Removable_drive
lea ecx, [0x9ac97c]
call fcn.0051f008
jmp 0x47f35f
mov ebx, 3
cmp ebx, dword [esp]
jne 0x47f30d
mov edx, str.Fixed_hard_drive
lea ecx, [0x9ac97c]
call fcn.0051f008
jmp 0x47f35f
mov ebx, 4
cmp ebx, dword [esp]
jne 0x47f329
mov edx, str.Network_drive
lea ecx, [0x9ac97c]
call fcn.0051f008
jmp 0x47f35f
mov ebx, 5
cmp ebx, dword [esp]
jne 0x47f345
mov edx, str.CD_or_DVD_drive
lea ecx, [0x9ac97c]
call fcn.0051f008
jmp 0x47f35f
mov ebx, 6
cmp ebx, dword [esp]
jne 0x47f35f
mov edx, str.RAMdisk
lea ecx, [0x9ac97c]
call fcn.0051f008
pop eax
mov edx, dword [0x9ac97c]
xor ecx, ecx
call fcn.0051f5d0
jne 0x47f47c
push dword [0x9b3e20]
push dword [0x9aca40]
call fcn.004dc38c
lea eax, [0x9ab868]
push eax
call fcn.00559740
push dword [0x9b3e20]
push dword [0x9aca40]
call fcn.004be236
lea eax, [0x9ac9f0]
push eax
call fcn.00559740
mov eax, dword [0x9aca40]
push eax
call sub.KERNEL32.dll_GetDriveTypeW
mov dword [0x9acf48], eax
mov ebx, dword [0x9acf48]
cmp ebx, 4
jne 0x47f3e6
mov edx, dword [0x9ac9f0]
push dword [0x9b3e20]
push edx
call fcn.005597c0
lea eax, [0x9ab868]
push eax
call fcn.00559740
mov edx, dword [0x9aca40]
push dword [0x9b3e20]
push edx
call fcn.005597c0
mov edx, dword [0x9ac234]
push edx
call fcn.005597c0
mov edx, dword [0x9ab868]
push edx
call fcn.005597c0
mov edx, dword [0x9ac234]
push edx
call fcn.005597c0
mov edx, dword [0x9ac97c]
push edx
call fcn.005597c0
lea eax, [0x9ac12c]
push eax
call fcn.00559740
push 0
push 0xffffffff
push dword [0x9ac12c]
push 0xe6
call fcn.004f21c4
push dword [0x9ac068]
push dword [0x9ac7fc]
push 0
push dword [0x9abd50]
push 0xe6
call fcn.004e3fcf
mov ebx, dword [0x9abd50]
inc ebx
mov dword [0x9abd50], ebx
add dword [0x9ac534], 2
jno 0x47f225
mov edx, dword [0x9ae4f0]
xor ecx, ecx
call fcn.0051f5d0
jne 0x47f512
push dword [0x9b3e20]
push 0
push 0xffffffff
push dword [0x9b3e20]
mov edx, str.OneDrive_n
push edx
call fcn.005597c0
mov edx, dword [0x9ae4f0]
push edx
call fcn.005597c0
mov edx, str._nOneDrive
push edx
call fcn.005597c0
add dword [0x9b3e20], 2
push 0xe6
mov edx, dword [0x9a36fc]
add dword [esp + 4], edx
call fcn.004f21c4
pop dword [0x9b3e20]
push dword [0x9ac068]
push dword [0x9ac7fc]
push 0
push dword [0x9abd50]
push 0xe6
call fcn.004e3fcf
mov edx, dword [0x9abf10]
xor ecx, ecx
call fcn.0051f5d0
jne 0x47f59b
push dword [0x9b3e20]
push 0
push 0xffffffff
push dword [0x9b3e20]
mov edx, str.Alternate_n
push edx
call fcn.005597c0
mov edx, dword [0x9abf10]
push edx
call fcn.005597c0
mov edx, str._nAlternate
push edx
call fcn.005597c0
add dword [0x9b3e20], 2
push 0xe6
mov edx, dword [0x9a36fc]
add dword [esp + 4], edx
call fcn.004f21c4
pop dword [0x9b3e20]
push dword [0x9ac068]
push dword [0x9ac7fc]
push 0
push dword [0x9abd50]
push 0xe6
call fcn.004e3fcf
push 0xe6
call fcn.0051da17
mov ebx, eax
dec ebx
mov dword [0x9ac568], ebx
mov dword [0x9ac5a0], 0
jmp 0x47f5ba
mov eax, dword [0x9ac568]
cmp eax, dword [0x9ac5a0]
jl 0x47f63a
push 0
push dword [0x9ac5a0]
push 0xe6
call fcn.00532654
push dword [0x9b3e20]
push 0
push dword [0x9ac5a0]
push 0xe6
call fcn.005071cf
lea eax, [0x9ac12c]
push eax
call fcn.00559740
push 1
push dword [0x9ac12c]
push dword [0x9ad7b0]
call fcn.00556310
and eax, eax
je 0x47f632
push 1
push dword [0x9ac5a0]
push 0xe6
call fcn.00532654
inc dword [0x9ac5a0]
jno 0x47f5ba
ret