Function at 0x48d5c4
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff80
push ebx
push esi
xor edx, edx
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 8], edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x48d80d
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x14]
mov eax, dword [0x4ccacc]
call fcn.004066f0
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov ecx, dword [eax]
call dword [ecx + 0x34]
call sub.KERNEL32.DLL_GetLogicalDrives
mov dword [ebp - 0x10], eax
xor esi, esi
mov eax, esi
cmp eax, 0x1f
ja 0x48d626
bt dword [ebp - 0x10], eax
jae 0x48d7ce
lea eax, [ebp - 0x18]
mov edx, esi
add dl, 0x41
call fcn.00403ff8
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 8]
mov ecx, 0x48d824
call fcn.0040411c
mov eax, dword [ebp - 8]
call fcn.00404294
push eax
call sub.KERNEL32.DLL_GetDriveTypeA
mov ebx, eax
xor eax, eax
mov al, bl
cmp eax, 6
ja case.default.0x48d666
jmp dword [eax*4 + 0x48d66d]
lea edx, [ebp - 0xc]
mov eax, dword [0x4cc594]
call fcn.004066f0
jmp case.default.0x48d666
lea edx, [ebp - 0xc]
mov eax, dword [0x4cc658]
call fcn.004066f0
jmp case.default.0x48d666
lea edx, [ebp - 0xc]
mov eax, dword [0x4cc720]
call fcn.004066f0
jmp case.default.0x48d666
lea edx, [ebp - 0xc]
mov eax, dword [0x4cc3e0]
call fcn.004066f0
jmp case.default.0x48d666
lea edx, [ebp - 0xc]
mov eax, dword [0x4cc958]
call fcn.004066f0
jmp case.default.0x48d666
lea edx, [ebp - 0xc]
mov eax, dword [0x4cc3d0]
call fcn.004066f0
jmp case.default.0x48d666
lea edx, [ebp - 0xc]
mov eax, dword [0x4cc768]
call fcn.004066f0
cmp bl, 3
jne 0x48d78a
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x38], 0xb
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x34], eax
mov byte [ebp - 0x30], 0xb
mov ebx, esi
inc ebx
mov eax, ebx
call fcn.00409bfc
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
fild qword [ebp - 0x44]
fmul dword [0x48d828]
fstp xword [ebp - 0x50]
wait
lea eax, [ebp - 0x50]
mov dword [ebp - 0x2c], eax
mov byte [ebp - 0x28], 3
mov eax, ebx
call fcn.00409bc8
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
fild qword [ebp - 0x58]
fmul dword [0x48d828]
fstp xword [ebp - 0x64]
wait
lea eax, [ebp - 0x64]
mov dword [ebp - 0x24], eax
mov byte [ebp - 0x20], 3
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0x68]
mov eax, dword [0x4cc8d0]
call fcn.004066f0
mov eax, dword [ebp - 0x68]
mov ecx, 3
pop edx
call fcn.0040a3e8
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov ecx, dword [eax]
call dword [ecx + 0x34]
jmp 0x48d7ce
lea eax, [ebp - 0x6c]
push eax
lea edx, [ebp - 0x70]
mov eax, dword [0x4cc92c]
call fcn.004066f0
mov eax, dword [ebp - 0x70]
push eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x80], eax
mov byte [ebp - 0x7c], 0xb
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x78], eax
mov byte [ebp - 0x74], 0xb
lea edx, [ebp - 0x80]
mov ecx, 1
pop eax
call fcn.0040a3e8
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov ecx, dword [eax]
call dword [ecx + 0x34]
inc esi
cmp esi, 0x1a
jne 0x48d61b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x48d814
lea eax, [ebp - 0x70]
mov edx, 3
call fcn.00403e74
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.00403e74
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.00403e74
ret