Function at 0x4d1454
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 0x4d1758
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0xb], 0
lea edx, [ebp - 4]
mov eax, ebx
call fcn.00463248
lea eax, [ebp - 4]
call fcn.004cafb4
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.00463280
mov eax, dword [ebp - 4]
test eax, eax
je 0x4d14ab
sub eax, 4
mov eax, dword [eax]
cmp eax, 0xf0
jle 0x4d14d1
push 0
push 1
push 1
mov eax, dword [0x51fe7c]
mov eax, dword [eax + 0xb4]
mov cl, 2
xor edx, edx
call fcn.004e9828
jmp 0x4d1730
mov eax, dword [ebp - 4]
test eax, eax
je 0x4d14dd
sub eax, 4
mov eax, dword [eax]
cmp eax, 2
jl 0x4d14ee
mov eax, dword [ebp - 4]
cmp word [eax], 0x5c
sete al
jmp 0x4d14f0
xor eax, eax
test al, al
je 0x4d1501
mov eax, dword [ebp - 4]
cmp word [eax + 2], 0x5c
sete al
jmp 0x4d1503
xor eax, eax
mov ebx, eax
test bl, bl
je 0x4d152b
cmp byte [ebp - 9], 0
jne 0x4d152b
push 0
push 1
push 1
mov eax, dword [0x51fe7c]
mov eax, dword [eax + 0x6c]
mov cl, 2
xor edx, edx
call fcn.004e9828
jmp 0x4d1730
test bl, bl
jne 0x4d15d6
cmp byte [ebp - 0xa], 0
jne 0x4d1540
mov edx, 4
jmp 0x4d1545
mov edx, 3
mov eax, dword [ebp - 4]
test eax, eax
je 0x4d1551
sub eax, 4
mov eax, dword [eax]
cmp edx, eax
jle 0x4d1559
mov al, 1
jmp 0x4d158d
mov eax, dword [ebp - 4]
movzx edx, word [eax]
mov eax, edx
mov ecx, edx
add ecx, 0xffffff9f
sub cx, 0x1a
jae 0x4d1572
mov eax, edx
and ax, 0xffdf
mov esi, 0x4d176c
cmp ax, 0x100
jae 0x4d1585
movzx eax, al
bt dword [esi], eax
jb 0x4d1589
xor eax, eax
jmp 0x4d158b
mov al, 1
xor al, 1
test al, al
je 0x4d1595
mov al, 1
jmp 0x4d15a0
mov eax, dword [ebp - 4]
cmp word [eax + 2], 0x3a
setne al
test al, al
je 0x4d15a8
mov al, 1
jmp 0x4d15b3
mov eax, dword [ebp - 4]
cmp word [eax + 4], 0x5c
setne al
test al, al
je 0x4d160a
push 0
push 1
push 1
mov eax, dword [0x51fe7c]
mov eax, dword [eax + 0x19c]
mov cl, 2
xor edx, edx
call fcn.004e9828
jmp 0x4d1730
mov eax, dword [ebp - 4]
lea esi, [eax + 4]
mov dx, 0x5c
mov eax, esi
call fcn.00487418
cmp esi, eax
jb 0x4d160a
push 0
push 1
push 1
mov eax, dword [0x51fe7c]
mov eax, dword [eax + 0x19c]
mov cl, 2
xor edx, edx
call fcn.004e9828
jmp 0x4d1730
mov eax, dword [ebp - 4]
call fcn.004cb0fc
test al, al
jne 0x4d162e
mov eax, dword [ebp - 4]
call fcn.004cb124
test al, al
jne 0x4d162e
mov eax, dword [ebp - 4]
call fcn.004cb164
test al, al
je 0x4d164d
push 0
push 1
push 1
mov eax, dword [0x51fe7c]
mov eax, dword [eax + 0x18c]
mov cl, 2
xor edx, edx
call fcn.004e9828
jmp 0x4d1730
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, 0x4d1798
call fcn.00487290
test eax, eax
je 0x4d16a5
push 0
push 1
push 1
lea edx, [ebp - 0x18]
mov eax, 0x4d1798
call fcn.004cb1e8
mov edx, dword [ebp - 0x18]
lea ecx, [ebp - 0x14]
mov al, 7
call fcn.0048ad9c
mov eax, dword [ebp - 0x14]
mov cl, 2
xor edx, edx
call fcn.004e9828
jmp 0x4d1730
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.004871b4
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x1c]
call fcn.00486cb0
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 8]
call fcn.004874a4
mov eax, dword [ebp - 8]
call fcn.004d13e8
mov eax, dword [ebp - 8]
call fcn.00487588
test al, al
jne 0x4d16f6
push 0
push 1
push 1
mov eax, dword [0x51fe7c]
mov eax, dword [eax + 0x190]
mov cl, 2
xor edx, edx
call fcn.004e9828
jmp 0x4d1730
test bl, bl
jne 0x4d172c
cmp byte [ebp + 8], 0
jne 0x4d172c
mov eax, dword [ebp - 8]
call fcn.004064d4
push eax
call sub.kernel32.dll_GetDriveTypeW
cmp eax, 4
jne 0x4d172c
push 0
push 1
push 1
mov eax, dword [0x51fe7c]
mov eax, dword [eax + 0x68]
mov cl, 2
xor edx, edx
call fcn.004e9828
jmp 0x4d1730
mov byte [ebp - 0xb], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d175f
lea eax, [ebp - 0x20]
mov edx, 5
call fcn.00406440
lea eax, [ebp - 8]
mov edx, 2
call fcn.00406440
ret