Function at 0x4fbcb0
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffdc
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0xc], ecx
mov esi, eax
xor eax, eax
push ebp
push 0x4fbf42
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x50f730], 0
jne 0x4fbf1f
mov byte [0x50f730], 1
call sub.kernel32.dll_GetLogicalDrives
mov dword [ebp - 0x14], eax
mov eax, dword [0x50f728]
cmp eax, dword [ebp - 0x14]
je 0x4fbf18
cmp dword [0x50f728], 0
je 0x4fbd12
mov eax, dword [esi + 0x2dc]
call fcn.0047d544
lea ecx, [ebp - 0xc]
lea edx, [ebp - 0x10]
mov eax, esi
call fcn.004fb720
cmp dword [ebp - 0xc], 0
je 0x4fbeb8
mov eax, dword [esi + 0x5a8]
mov eax, dword [eax + 0x208]
call fcn.0046b958
mov edx, dword [ebp - 0xc]
mov eax, dword [esi + 0x5a0]
call fcn.0047da28
xor edi, edi
mov ebx, 0x513520
mov eax, dword [ebx]
cmp eax, 0xffffff9d
je 0x4fbd65
mov ecx, eax
mov edx, edi
mov eax, dword [esi + 0x5a8]
call fcn.00479400
inc edi
add ebx, 4
cmp edi, 7
jne 0x4fbd4f
cmp dword [esi + 0x62c], 0
je 0x4fbdca
lea edx, [ebp - 0x1c]
mov eax, dword [esi + 0x62c]
call fcn.0040999c
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
call fcn.00408f68
lea eax, [ebp - 0x18]
mov edx, 0x4fbf58
call fcn.00403df8
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
call fcn.00403f00
jne 0x4fbdca
mov eax, dword [esi + 0x62c]
call fcn.004f6128
test al, al
je 0x4fbdca
mov edx, dword [esi + 0x62c]
mov eax, dword [esi + 0x5a8]
call fcn.00478848
mov eax, dword [esi + 0x5a8]
mov eax, dword [eax + 0x208]
call fcn.0046bb34
mov dl, 1
mov eax, dword [esi + 0x4f0]
call fcn.0047e864
mov edx, 0x4fbf64
mov eax, dword [esi + 0x4f8]
call fcn.00433e20
mov eax, dword [ebp - 0xc]
call fcn.004faa50
mov ebx, eax
shr ebx, 0xa
inc ebx
mov dword [ebp - 0x24], ebx
xor eax, eax
mov dword [ebp - 0x20], eax
fild qword [ebp - 0x24]
add esp, 0xfffffff4
fstp xword [esp]
wait
lea edx, [ebp - 0x1c]
mov eax, 0x4fbf80
call fcn.0040a8c4
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
mov edx, 0x4fbf94
call fcn.00403e3c
mov edx, dword [ebp - 0x18]
mov eax, dword [esi + 0x4f4]
call fcn.00433e20
cmp dword [0x50f728], 0
je 0x4fbe5a
mov eax, dword [esi + 0x5a0]
mov edx, dword [eax]
call dword [edx + 0xb4]
mov eax, esi
call fcn.004fb2c0
mov eax, dword [ebp - 0xc]
call fcn.004fbc44
mov ebx, eax
cmp ebx, dword [0x50f72c]
je 0x4fbf10
mov dword [0x50f72c], ebx
mov eax, dword [esi + 0x534]
mov bx, 0xffbb
call fcn.004030d0
test al, al
je 0x4fbe99
mov eax, esi
call fcn.00500a44
jmp 0x4fbf10
lea ecx, [ebp - 8]
mov edx, dword [esi + 0x2e0]
mov eax, esi
call fcn.004fa78c
push dword [ebp - 4]
push dword [ebp - 8]
mov eax, esi
call fcn.004fb19c
jmp 0x4fbf10
xor edi, edi
mov ebx, 0x513520
mov edx, edi
mov eax, dword [esi + 0x5a8]
call fcn.004793d0
mov dword [ebx], eax
inc edi
add ebx, 4
cmp edi, 7
jne 0x4fbebf
mov eax, esi
call fcn.004fbb94
mov edx, 0x4fbfac
mov eax, dword [esi + 0x4f8]
call fcn.00433e20
cmp dword [0x50f728], 0
jne 0x4fbf10
push 0x30
push 0x4fbfc4
push 0x4fbfd0
mov eax, esi
call fcn.00439b04
push eax
call sub.user32.dll_MessageBoxA_1
mov eax, dword [ebp - 0x14]
mov dword [0x50f728], eax
mov byte [0x50f730], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4fbf49
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.00403b98
lea eax, [ebp - 0xc]
call fcn.00403b74
ret