Function at 0x40418c
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff8b0
push ebx
push esi
push edi
mov eax, 0x48ec20
call fcn.0047eb88
mov word [ebp - 0x28], 8
lea eax, [ebp - 4]
mov edx, dword [ebp + 8]
call fcn.00488b78
inc dword [ebp - 0x1c]
mov eax, dword [eax]
call fcn.0041cb84
xor edx, edx
mov dl, al
cmp edx, 1
sbb ecx, ecx
neg ecx
push ecx
dec dword [ebp - 0x1c]
lea eax, [ebp - 4]
mov edx, 2
call fcn.00488c7c
pop ecx
test cl, cl
je 0x4041ef
xor eax, eax
mov edx, dword [ebp - 0x38]
mov dword fs:[0], edx
jmp 0x404431
mov word [ebp - 0x28], 0x20
lea eax, [ebp - 8]
mov edx, dword [ebp + 8]
call fcn.00488b78
inc dword [ebp - 0x1c]
mov ecx, dword [eax]
mov dl, 1
mov eax, dword [0x418e0c]
call fcn.004040c8
mov dword [ebp - 0x3c], eax
dec dword [ebp - 0x1c]
lea eax, [ebp - 8]
mov edx, 2
call fcn.00488c7c
mov word [ebp - 0x28], 0x14
mov word [ebp - 0x28], 0x2c
mov edx, 0x48e547
lea eax, [ebp - 0xc]
call fcn.00488b78
inc dword [ebp - 0x1c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x3c]
call fcn.00418ef8
xor ecx, ecx
mov cl, al
cmp ecx, 1
sbb eax, eax
neg eax
push eax
dec dword [ebp - 0x1c]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.00488c7c
pop ecx
test cl, cl
je 0x40427c
xor eax, eax
mov edx, dword [ebp - 0x38]
mov dword fs:[0], edx
jmp 0x404431
mov dl, 1
mov eax, dword [0x40c3c0]
call fcn.00404438
mov dword [ebp - 0x40], eax
mov word [ebp - 0x28], 0x14
mov word [ebp - 0x28], 0x38
mov edx, 0x48e54c
lea eax, [ebp - 0x10]
call fcn.00488b78
inc dword [ebp - 0x1c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov ebx, dword [eax]
call dword [ebx + 0x48]
dec dword [ebp - 0x1c]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.00488c7c
xor ecx, ecx
mov dword [ebp - 0x44], ecx
mov word [ebp - 0x28], 0x14
jmp 0x404404
mov esi, 0x48c395
lea edi, [ebp - 0x148]
mov ecx, 0x41
rep movsd dword es:[edi], dword [esi]
mov word [ebp - 0x28], 0x14
mov esi, 0x48c499
lea edi, [ebp - 0x24c]
mov ecx, 0x41
rep movsd dword es:[edi], dword [esi]
mov esi, 0x48c59d
lea edi, [ebp - 0x350]
mov ecx, 0x41
rep movsd dword es:[edi], dword [esi]
push 0x3d
push 2
lea eax, [ebp - 0x148]
push eax
mov word [ebp - 0x28], 0x44
push dword [ebp - 0x44]
push dword [ebp - 0x40]
lea eax, [ebp - 0x14]
call fcn.004019a4
push eax
inc dword [ebp - 0x1c]
call fcn.0040448c
add esp, 0xc
lea eax, [ebp - 0x14]
call fcn.004019d4
push eax
push 0x494c0c
call fcn.00406fbc
add esp, 0x14
dec dword [ebp - 0x1c]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00488c7c
push 0x3b
push 1
lea ecx, [ebp - 0x24c]
push ecx
lea eax, [ebp - 0x148]
push eax
push 0x494c0c
call fcn.00406fbc
add esp, 0x14
push 0x3b
push 2
lea edx, [ebp - 0x350]
push edx
lea ecx, [ebp - 0x148]
push ecx
push 0x494c0c
call fcn.00406fbc
add esp, 0x14
mov esi, 0x48c6a1
lea edi, [ebp - 0x750]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
mov word [ebp - 0x28], 0x14
push 0x400
lea eax, [ebp - 0x750]
push eax
lea edx, [ebp - 0x24c]
push edx
call sub.kernel32.dll_QueryDosDeviceA
push 0x19
push 0x48e551
lea ecx, [ebp - 0x750]
push ecx
call fcn.0047e9d0
add esp, 0xc
test eax, eax
je 0x404401
push 0
lea ecx, [ebp - 0x350]
lea edx, [ebp - 0x24c]
mov eax, dword [sym.Project1.exe__Form1]
call fcn.004039b8
inc dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, dword [ebp - 0x44]
jg 0x4042d4
mov eax, dword [ebp - 0x3c]
call fcn.0042e5f4
mov eax, dword [ebp - 0x40]
call fcn.0042e5f4
mov al, 1
mov edx, dword [ebp - 0x38]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret