Function at 0x4d4c70
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 0x4d4f74
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0xb], 0
lea edx, [ebp - 4]
mov eax, ebx
call fcn.00467a0c
lea eax, [ebp - 4]
call fcn.004ce7d0
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.00467a44
mov eax, dword [ebp - 4]
test eax, eax
je 0x4d4cc7
sub eax, 4
mov eax, dword [eax]
cmp eax, 0xf0
jle 0x4d4ced
push 0
push 1
push 1
mov eax, dword [0x540e7c]
mov eax, dword [eax + 0xb4]
mov cl, 2
xor edx, edx
call fcn.004ed044
jmp 0x4d4f4c
mov eax, dword [ebp - 4]
test eax, eax
je 0x4d4cf9
sub eax, 4
mov eax, dword [eax]
cmp eax, 2
jl 0x4d4d0a
mov eax, dword [ebp - 4]
cmp word [eax], 0x5c
sete al
jmp 0x4d4d0c
xor eax, eax
test al, al
je 0x4d4d1d
mov eax, dword [ebp - 4]
cmp word [eax + 2], 0x5c
sete al
jmp 0x4d4d1f
xor eax, eax
mov ebx, eax
test bl, bl
je 0x4d4d47
cmp byte [ebp - 9], 0
jne 0x4d4d47
push 0
push 1
push 1
mov eax, dword [0x540e7c]
mov eax, dword [eax + 0x6c]
mov cl, 2
xor edx, edx
call fcn.004ed044
jmp 0x4d4f4c
test bl, bl
jne 0x4d4df2
cmp byte [ebp - 0xa], 0
jne 0x4d4d5c
mov edx, 4
jmp 0x4d4d61
mov edx, 3
mov eax, dword [ebp - 4]
test eax, eax
je 0x4d4d6d
sub eax, 4
mov eax, dword [eax]
cmp edx, eax
jle 0x4d4d75
mov al, 1
jmp 0x4d4da9
mov eax, dword [ebp - 4]
movzx edx, word [eax]
mov eax, edx
mov ecx, edx
add ecx, 0xffffff9f
sub cx, 0x1a
jae 0x4d4d8e
mov eax, edx
and ax, 0xffdf
mov esi, 0x4d4f88
cmp ax, 0x100
jae 0x4d4da1
movzx eax, al
bt dword [esi], eax
jb 0x4d4da5
xor eax, eax
jmp 0x4d4da7
mov al, 1
xor al, 1
test al, al
je 0x4d4db1
mov al, 1
jmp 0x4d4dbc
mov eax, dword [ebp - 4]
cmp word [eax + 2], 0x3a
setne al
test al, al
je 0x4d4dc4
mov al, 1
jmp 0x4d4dcf
mov eax, dword [ebp - 4]
cmp word [eax + 4], 0x5c
setne al
test al, al
je 0x4d4e26
push 0
push 1
push 1
mov eax, dword [0x540e7c]
mov eax, dword [eax + 0x19c]
mov cl, 2
xor edx, edx
call fcn.004ed044
jmp 0x4d4f4c
mov eax, dword [ebp - 4]
lea esi, [eax + 4]
mov dx, 0x5c
mov eax, esi
call fcn.0048b33c
cmp esi, eax
jb 0x4d4e26
push 0
push 1
push 1
mov eax, dword [0x540e7c]
mov eax, dword [eax + 0x19c]
mov cl, 2
xor edx, edx
call fcn.004ed044
jmp 0x4d4f4c
mov eax, dword [ebp - 4]
call fcn.004ce918
test al, al
jne 0x4d4e4a
mov eax, dword [ebp - 4]
call fcn.004ce940
test al, al
jne 0x4d4e4a
mov eax, dword [ebp - 4]
call fcn.004ce980
test al, al
je 0x4d4e69
push 0
push 1
push 1
mov eax, dword [0x540e7c]
mov eax, dword [eax + 0x18c]
mov cl, 2
xor edx, edx
call fcn.004ed044
jmp 0x4d4f4c
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, 0x4d4fb4
call fcn.0048b1b4
test eax, eax
je 0x4d4ec1
push 0
push 1
push 1
lea edx, [ebp - 0x18]
mov eax, 0x4d4fb4
call fcn.004cea04
mov edx, dword [ebp - 0x18]
lea ecx, [ebp - 0x14]
mov al, 7
call fcn.0048f0cc
mov eax, dword [ebp - 0x14]
mov cl, 2
xor edx, edx
call fcn.004ed044
jmp 0x4d4f4c
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0048b0d8
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x1c]
call fcn.0048abd4
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 8]
call fcn.0048b3c8
mov eax, dword [ebp - 8]
call fcn.004d4c04
mov eax, dword [ebp - 8]
call fcn.0048b4ac
test al, al
jne 0x4d4f12
push 0
push 1
push 1
mov eax, dword [0x540e7c]
mov eax, dword [eax + 0x190]
mov cl, 2
xor edx, edx
call fcn.004ed044
jmp 0x4d4f4c
test bl, bl
jne 0x4d4f48
cmp byte [ebp + 8], 0
jne 0x4d4f48
mov eax, dword [ebp - 8]
call fcn.004064d4
push eax
call sub.kernel32.dll_GetDriveTypeW
cmp eax, 4
jne 0x4d4f48
push 0
push 1
push 1
mov eax, dword [0x540e7c]
mov eax, dword [eax + 0x68]
mov cl, 2
xor edx, edx
call fcn.004ed044
jmp 0x4d4f4c
mov byte [ebp - 0xb], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d4f7b
lea eax, [ebp - 0x20]
mov edx, 5
call fcn.00406440
lea eax, [ebp - 8]
mov edx, 2
call fcn.00406440
ret