Function at 0x414cf0
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49da96
mov eax, dword fs:[0]
push eax
sub esp, 0x1c8
mov eax, dword [0x4c9230]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x144], 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x140]
call fcn.004019c0
mov dword [ebp - 4], 0
push 0x5c
push 0x2f
lea ecx, [ebp - 0x140]
call fcn.00419320
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 0
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x178], ecx
mov edx, dword [ebp - 0x178]
mov dword [edx], 0
mov dword [edx + 4], 0
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x17c], eax
mov ecx, dword [ebp - 0x17c]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x140]
mov dword [ebp - 0x180], edx
lea eax, [ebp - 0x13c]
push eax
mov ecx, dword [ebp - 0x180]
push ecx
call fcn.004328be
sub eax, 1
neg eax
sbb eax, eax
add eax, 1
mov dword [ebp - 0x144], eax
jne 0x414fe9
lea ecx, [ebp - 0x140]
call fcn.004194c0
mov dword [ebp - 0x148], 0
mov edx, dword [ebp - 0x140]
mov eax, dword [edx - 0xc]
mov dword [ebp - 0x18c], eax
cmp dword [ebp - 0x18c], 2
jne 0x414e3d
mov ecx, 0x4a6240
test ecx, ecx
jne 0x414e13
mov dword [ebp - 0x190], 0
jmp 0x414e26
push 0x4a6240
call fcn.00469b80
add esp, 4
mov dword [ebp - 0x190], eax
mov edx, dword [ebp - 0x190]
push edx
push 0x4a6240
lea ecx, [ebp - 0x140]
call fcn.00419760
mov eax, dword [ebp - 0x140]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x194], ecx
cmp dword [ebp - 0x194], 3
jne 0x414f63
mov edx, 1
test edx, edx
jl 0x414e7a
mov eax, dword [ebp - 0x140]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x198], ecx
cmp dword [ebp - 0x198], 1
jge 0x414e84
push 0x80070057
call fcn.004019a0
mov edx, dword [ebp - 0x140]
mov al, byte [edx + 1]
mov byte [ebp - 0x199], al
movsx ecx, byte [ebp - 0x199]
cmp ecx, 0x3a
jne 0x414f63
mov edx, 2
test edx, edx
jl 0x414ec4
mov eax, dword [ebp - 0x140]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x1a0], ecx
cmp dword [ebp - 0x1a0], 2
jge 0x414ece
push 0x80070057
call fcn.004019a0
mov edx, dword [ebp - 0x140]
mov al, byte [edx + 2]
mov byte [ebp - 0x1a1], al
movsx ecx, byte [ebp - 0x1a1]
cmp ecx, 0x5c
jne 0x414f63
push 0x4a624c
lea ecx, [ebp - 0x14c]
call fcn.004019c0
mov byte [ebp - 4], 1
xor edx, edx
jl 0x414f19
mov eax, dword [ebp - 0x140]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x1b0], ecx
cmp dword [ebp - 0x1b0], 0
jge 0x414f23
push 0x80070057
call fcn.004019a0
mov edx, dword [ebp - 0x140]
mov al, byte [edx]
mov byte [ebp - 0x1b1], al
push 0
movzx ecx, byte [ebp - 0x1b1]
push ecx
lea ecx, [ebp - 0x14c]
call fcn.00419450
test eax, eax
jl 0x414f54
mov dword [ebp - 0x148], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14c]
call fcn.00401d60
cmp dword [ebp - 0x148], 0
je 0x414fe9
push 2
lea edx, [ebp - 0x154]
push edx
lea ecx, [ebp - 0x140]
call fcn.00412b90
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x1c8], eax
mov ecx, dword [ebp - 0x1c8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
mov dword [ebp - 0x150], eax
mov edx, dword [ebp - 0x150]
mov dword [ebp - 0x1d4], edx
cmp dword [ebp - 0x1d4], 0
jbe 0x414fd4
cmp dword [ebp - 0x1d4], 4
jbe 0x414fc8
cmp dword [ebp - 0x1d4], 6
je 0x414fc8
jmp 0x414fd4
mov dword [ebp - 0x144], 1
jmp 0x414fde
mov dword [ebp - 0x144], 0
lea ecx, [ebp - 0x154]
call fcn.00401d60
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x158], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x140]
call fcn.00401d60
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046a109
mov esp, ebp
pop ebp
ret