Function at 0x4d1468
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 0x4d176c
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0xb], 0
lea edx, [ebp - 4]
mov eax, ebx
call fcn.0052c9e0
lea eax, [ebp - 4]
call fcn.004caedc
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0052ca18
mov eax, dword [ebp - 4]
test eax, eax
je 0x4d14bf
sub eax, 4
mov eax, dword [eax]
cmp eax, 0xf0
jle 0x4d14e5
push 0
push 1
push 1
mov eax, dword [0x55024c]
mov eax, dword [eax + 0xb4]
mov cl, 2
xor edx, edx
call fcn.004e7fe4
jmp 0x4d1744
mov eax, dword [ebp - 4]
test eax, eax
je 0x4d14f1
sub eax, 4
mov eax, dword [eax]
cmp eax, 2
jl 0x4d1502
mov eax, dword [ebp - 4]
cmp word [eax], 0x5c
sete al
jmp 0x4d1504
xor eax, eax
test al, al
je 0x4d1515
mov eax, dword [ebp - 4]
cmp word [eax + 2], 0x5c
sete al
jmp 0x4d1517
xor eax, eax
mov ebx, eax
test bl, bl
je 0x4d153f
cmp byte [ebp - 9], 0
jne 0x4d153f
push 0
push 1
push 1
mov eax, dword [0x55024c]
mov eax, dword [eax + 0x6c]
mov cl, 2
xor edx, edx
call fcn.004e7fe4
jmp 0x4d1744
test bl, bl
jne 0x4d15ea
cmp byte [ebp - 0xa], 0
jne 0x4d1554
mov edx, 4
jmp 0x4d1559
mov edx, 3
mov eax, dword [ebp - 4]
test eax, eax
je 0x4d1565
sub eax, 4
mov eax, dword [eax]
cmp edx, eax
jle 0x4d156d
mov al, 1
jmp 0x4d15a1
mov eax, dword [ebp - 4]
movzx edx, word [eax]
mov eax, edx
mov ecx, edx
add ecx, 0xffffff9f
sub cx, 0x1a
jae 0x4d1586
mov eax, edx
and ax, 0xffdf
mov esi, 0x4d1780
cmp ax, 0x100
jae 0x4d1599
movzx eax, al
bt dword [esi], eax
jb 0x4d159d
xor eax, eax
jmp 0x4d159f
mov al, 1
xor al, 1
test al, al
je 0x4d15a9
mov al, 1
jmp 0x4d15b4
mov eax, dword [ebp - 4]
cmp word [eax + 2], 0x3a
setne al
test al, al
je 0x4d15bc
mov al, 1
jmp 0x4d15c7
mov eax, dword [ebp - 4]
cmp word [eax + 4], 0x5c
setne al
test al, al
je 0x4d161e
push 0
push 1
push 1
mov eax, dword [0x55024c]
mov eax, dword [eax + 0x198]
mov cl, 2
xor edx, edx
call fcn.004e7fe4
jmp 0x4d1744
mov eax, dword [ebp - 4]
lea esi, [eax + 4]
mov dx, 0x5c
mov eax, esi
call fcn.00479234
cmp esi, eax
jb 0x4d161e
push 0
push 1
push 1
mov eax, dword [0x55024c]
mov eax, dword [eax + 0x198]
mov cl, 2
xor edx, edx
call fcn.004e7fe4
jmp 0x4d1744
mov eax, dword [ebp - 4]
call fcn.004cb024
test al, al
jne 0x4d1642
mov eax, dword [ebp - 4]
call fcn.004cb04c
test al, al
jne 0x4d1642
mov eax, dword [ebp - 4]
call fcn.004cb08c
test al, al
je 0x4d1661
push 0
push 1
push 1
mov eax, dword [0x55024c]
mov eax, dword [eax + 0x188]
mov cl, 2
xor edx, edx
call fcn.004e7fe4
jmp 0x4d1744
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x7fffffff
mov edx, 3
mov eax, dword [ebp - 4]
call fcn.00406da4
mov edx, dword [ebp - 0x10]
mov eax, 0x4d17ac
call fcn.004790ac
test eax, eax
je 0x4d16b9
push 0
push 1
push 1
lea edx, [ebp - 0x18]
mov eax, 0x4d17ac
call fcn.004cb110
mov edx, dword [ebp - 0x18]
lea ecx, [ebp - 0x14]
mov al, 7
call fcn.004b45dc
mov eax, dword [ebp - 0x14]
mov cl, 2
xor edx, edx
call fcn.004e7fe4
jmp 0x4d1744
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.00478fd0
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x1c]
call fcn.00478acc
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 8]
call fcn.004792c0
mov eax, dword [ebp - 8]
call fcn.004d13fc
mov eax, dword [ebp - 8]
call fcn.004793a4
test al, al
jne 0x4d170a
push 0
push 1
push 1
mov eax, dword [0x55024c]
mov eax, dword [eax + 0x18c]
mov cl, 2
xor edx, edx
call fcn.004e7fe4
jmp 0x4d1744
test bl, bl
jne 0x4d1740
cmp byte [ebp + 8], 0
jne 0x4d1740
mov eax, dword [ebp - 8]
call fcn.0040669c
push eax
call sub.kernel32.dll_GetDriveTypeW
cmp eax, 4
jne 0x4d1740
push 0
push 1
push 1
mov eax, dword [0x55024c]
mov eax, dword [eax + 0x68]
mov cl, 2
xor edx, edx
call fcn.004e7fe4
jmp 0x4d1744
mov byte [ebp - 0xb], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d1773
lea eax, [ebp - 0x20]
mov edx, 5
call fcn.00406608
lea eax, [ebp - 8]
mov edx, 2
call fcn.00406608
ret