Function at 0x4dc9a0
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push ebx
push esi
mov byte [ebp - 0xa], cl
mov byte [ebp - 9], dl
mov ebx, eax
xor eax, eax
push ebp
push 0x4dcca4
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0xb], 0
lea edx, [ebp - 4]
mov eax, ebx
call fcn.0046f910
lea eax, [ebp - 4]
call fcn.004d6500
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0046f948
mov eax, dword [ebp - 4]
test eax, eax
je 0x4dc9f7
sub eax, 4
mov eax, dword [eax]
cmp eax, 0xf0
jle 0x4dca1d
push 0
push 1
push 1
mov eax, dword [0x557e7c]
mov eax, dword [eax + 0xb4]
mov cl, 2
xor edx, edx
call fcn.004f4d74
jmp 0x4dcc7c
mov eax, dword [ebp - 4]
test eax, eax
je 0x4dca29
sub eax, 4
mov eax, dword [eax]
cmp eax, 2
jl 0x4dca3a
mov eax, dword [ebp - 4]
cmp word [eax], 0x5c
sete al
jmp 0x4dca3c
xor eax, eax
test al, al
je 0x4dca4d
mov eax, dword [ebp - 4]
cmp word [eax + 2], 0x5c
sete al
jmp 0x4dca4f
xor eax, eax
mov ebx, eax
test bl, bl
je 0x4dca77
cmp byte [ebp - 9], 0
jne 0x4dca77
push 0
push 1
push 1
mov eax, dword [0x557e7c]
mov eax, dword [eax + 0x6c]
mov cl, 2
xor edx, edx
call fcn.004f4d74
jmp 0x4dcc7c
test bl, bl
jne 0x4dcb22
cmp byte [ebp - 0xa], 0
jne 0x4dca8c
mov edx, 4
jmp 0x4dca91
mov edx, 3
mov eax, dword [ebp - 4]
test eax, eax
je 0x4dca9d
sub eax, 4
mov eax, dword [eax]
cmp edx, eax
jle 0x4dcaa5
mov al, 1
jmp 0x4dcad9
mov eax, dword [ebp - 4]
movzx edx, word [eax]
mov eax, edx
mov ecx, edx
add ecx, 0xffffff9f
sub cx, 0x1a
jae 0x4dcabe
mov eax, edx
and ax, 0xffdf
mov esi, 0x4dccb8
cmp ax, 0x100
jae 0x4dcad1
movzx eax, al
bt dword [esi], eax
jb 0x4dcad5
xor eax, eax
jmp 0x4dcad7
mov al, 1
xor al, 1
test al, al
je 0x4dcae1
mov al, 1
jmp 0x4dcaec
mov eax, dword [ebp - 4]
cmp word [eax + 2], 0x3a
setne al
test al, al
je 0x4dcaf4
mov al, 1
jmp 0x4dcaff
mov eax, dword [ebp - 4]
cmp word [eax + 4], 0x5c
setne al
test al, al
je 0x4dcb56
push 0
push 1
push 1
mov eax, dword [0x557e7c]
mov eax, dword [eax + 0x19c]
mov cl, 2
xor edx, edx
call fcn.004f4d74
jmp 0x4dcc7c
mov eax, dword [ebp - 4]
lea esi, [eax + 4]
mov dx, 0x5c
mov eax, esi
call fcn.00493240
cmp esi, eax
jb 0x4dcb56
push 0
push 1
push 1
mov eax, dword [0x557e7c]
mov eax, dword [eax + 0x19c]
mov cl, 2
xor edx, edx
call fcn.004f4d74
jmp 0x4dcc7c
mov eax, dword [ebp - 4]
call fcn.004d6648
test al, al
jne 0x4dcb7a
mov eax, dword [ebp - 4]
call fcn.004d6670
test al, al
jne 0x4dcb7a
mov eax, dword [ebp - 4]
call fcn.004d66b0
test al, al
je 0x4dcb99
push 0
push 1
push 1
mov eax, dword [0x557e7c]
mov eax, dword [eax + 0x18c]
mov cl, 2
xor edx, edx
call fcn.004f4d74
jmp 0x4dcc7c
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x7fffffff
mov edx, 3
mov eax, dword [ebp - 4]
call fcn.00406bec
mov edx, dword [ebp - 0x10]
mov eax, 0x4dcce4
call fcn.004930b8
test eax, eax
je 0x4dcbf1
push 0
push 1
push 1
lea edx, [ebp - 0x18]
mov eax, 0x4dcce4
call fcn.004d6734
mov edx, dword [ebp - 0x18]
lea ecx, [ebp - 0x14]
mov al, 7
call fcn.00496dfc
mov eax, dword [ebp - 0x14]
mov cl, 2
xor edx, edx
call fcn.004f4d74
jmp 0x4dcc7c
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.00492fdc
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x1c]
call fcn.00492ad8
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 8]
call fcn.004932cc
mov eax, dword [ebp - 8]
call fcn.004dc934
mov eax, dword [ebp - 8]
call fcn.004933b0
test al, al
jne 0x4dcc42
push 0
push 1
push 1
mov eax, dword [0x557e7c]
mov eax, dword [eax + 0x190]
mov cl, 2
xor edx, edx
call fcn.004f4d74
jmp 0x4dcc7c
test bl, bl
jne 0x4dcc78
cmp byte [ebp + 8], 0
jne 0x4dcc78
mov eax, dword [ebp - 8]
call fcn.004064d4
push eax
call sub.kernel32.dll_GetDriveTypeW
cmp eax, 4
jne 0x4dcc78
push 0
push 1
push 1
mov eax, dword [0x557e7c]
mov eax, dword [eax + 0x68]
mov cl, 2
xor edx, edx
call fcn.004f4d74
jmp 0x4dcc7c
mov byte [ebp - 0xb], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4dccab
lea eax, [ebp - 0x20]
mov edx, 5
call fcn.00406440
lea eax, [ebp - 8]
mov edx, 2
call fcn.00406440
ret