Function at 0x418534
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xb
push 0
push 0
dec ecx
jne 0x41853c
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.0040358c
xor eax, eax
push ebp
push 0x419227
push dword fs:[eax]
mov dword fs:[eax], esp
push dword [ebp - 4]
push 0x41923c
push 0x419248
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.0040345c
mov eax, dword [ebp - 0xc]
call fcn.0040359c
push eax
call sub.kernel32.dll_GetDriveTypeA
add eax, 0xfffffffe
sub eax, 3
jb 0x418595
sub eax, 1
jne 0x41920c
push dword [ebp - 4]
push dword [0x41ed68]
push dword [0x41ed78]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.0040345c
mov eax, dword [ebp - 0x10]
lea edx, [ebp - 8]
call fcn.00404a14
mov eax, dword [ebp - 8]
call fcn.00404f6c
test al, al
jne 0x418602
push 1
push 0x96
push 0x7a120
push dword [ebp - 4]
push dword [0x41ed68]
push dword [0x41ed74]
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.0040345c
mov eax, dword [ebp - 0x14]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00404ec0
mov byte [0x41ebb7], al
push dword [ebp - 4]
push dword [0x41ed68]
push dword [0x41ed74]
lea eax, [ebp - 8]
mov edx, 3
call fcn.0040345c
mov eax, 0x41eb74
mov edx, 0x419254
call fcn.0040326c
push 1
push 0x96
push 0x7a120
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [0x41eb4c]
call fcn.00404ec0
test al, al
mov eax, dword [ebp - 8]
call fcn.00406258
mov byte [0x41ebb7], al
push dword [ebp - 4]
push dword [0x41ed68]
push dword [0x41ed80]
lea eax, [ebp - 8]
mov edx, 3
call fcn.0040345c
mov eax, dword [ebp - 8]
call fcn.00404f6c
test al, al
jne 0x4186b9
push 1
push 0x96
push 0x7a120
push dword [ebp - 4]
push dword [0x41ed68]
push dword [0x41ed7c]
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.0040345c
mov eax, dword [ebp - 0x18]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00404ec0
mov byte [0x41ebb7], al
push dword [ebp - 4]
push dword [0x41ed68]
push dword [0x41ed7c]
lea eax, [ebp - 8]
mov edx, 3
call fcn.0040345c
mov eax, 0x41eb74
mov edx, 0x4192c8
call fcn.0040326c
push 1
push 0x96
push 0x7a120
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [0x41eb4c]
call fcn.00404ec0
test al, al
mov eax, dword [ebp - 8]
call fcn.00406258
mov byte [0x41ebb7], al
mov eax, 0x41eb74
mov edx, 0x419380
call fcn.0040326c
push dword [ebp - 4]
push dword [0x41ed68]
push dword [0x41ed04]
lea eax, [ebp - 8]
mov edx, 3
call fcn.0040345c
mov eax, dword [ebp - 8]
call fcn.00404f6c
test al, al
jne 0x4188c2
push 1
push 0x96
push 0x7a120
lea eax, [ebp - 0x1c]
mov ecx, dword [0x41ed04]
mov edx, dword [0x41eb40]
call fcn.004033e8
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov edx, dword [ebp - 8]
call fcn.00404ec0
test al, al
je 0x418787
mov eax, dword [ebp - 8]
call fcn.00406258
mov byte [0x41ebb7], al
push dword [ebp - 4]
push dword [0x41ed68]
push dword [0x41ed08]
lea eax, [ebp - 8]
mov edx, 3
call fcn.0040345c
mov eax, 0x41eb74
mov edx, 0x4193f8
call fcn.0040326c
push 1
push 0x96
push 0x7a120
lea eax, [ebp - 0x20]
mov ecx, dword [0x41ed08]
mov edx, dword [0x41eb40]
call fcn.004033e8
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov edx, dword [ebp - 8]
call fcn.00404ec0
test al, al
je 0x4187f0
mov eax, dword [ebp - 8]
call fcn.00406258
mov byte [0x41ebb7], al
push dword [ebp - 4]
push dword [0x41ed68]
push dword [0x41ed0c]
lea eax, [ebp - 8]
mov edx, 3
call fcn.0040345c
push 1
push 0x96
push 0x7a120
lea eax, [ebp - 0x24]
mov ecx, dword [0x41ed0c]
mov edx, dword [0x41eb40]
call fcn.004033e8
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov edx, dword [ebp - 8]
call fcn.00404ec0
test al, al
je 0x41884a
mov eax, dword [ebp - 8]
call fcn.00406258
mov byte [0x41ebb7], al
mov eax, 0x41eb74
mov edx, 0x419488
call fcn.0040326c
push dword [ebp - 4]
push dword [0x41ed68]
push dword [0x41ed10]
lea eax, [ebp - 8]
mov edx, 3
call fcn.0040345c
push 1
push 0x96
push 0x7a120
lea eax, [ebp - 0x28]
mov ecx, dword [0x41ed10]
mov edx, dword [0x41eb40]
call fcn.004033e8
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov edx, dword [ebp - 8]
call fcn.00404ec0
test al, al
je 0x4188b3
mov eax, dword [ebp - 8]
call fcn.00406258
mov byte [0x41ebb7], al
mov eax, 0x41eb74
mov edx, 0x419504
call fcn.0040326c
mov eax, 0x41eb74
mov edx, 0x4195b4
call fcn.0040326c
push dword [ebp - 4]
push 0x41923c
push dword [0x41ed6c]
push dword [0x41ed84]
push dword [0x41ed78]
lea eax, [ebp - 0x2c]
mov edx, 5
call fcn.0040345c
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 8]
call fcn.00404a14
mov eax, 0x41eb74
mov edx, 0x419668
call fcn.0040326c
mov edx, dword [ebp - 8]
mov eax, dword [0x41eb40]
call fcn.00403634
test eax, eax
jne 0x418c99
mov eax, dword [ebp - 8]
call fcn.00404f6c
test al, al
jne 0x418973
push 1
push 0x96
push 0x7a120
push dword [ebp - 4]
push 0x41923c
push dword [0x41ed6c]
push dword [0x41ed84]
push dword [0x41ed74]
lea eax, [ebp - 0x30]
mov edx, 5
call fcn.0040345c
mov eax, dword [ebp - 0x30]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00404ec0
push dword [ebp - 4]
push 0x41923c
push dword [0x41ed6c]
push dword [0x41ed84]
push dword [0x41ed74]
lea eax, [ebp - 8]
mov edx, 5
call fcn.0040345c
push 1
push 0x96
push 0x7a120
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [0x41eb4c]
call fcn.00404ec0
test al, al
je 0x4189c6
mov eax, dword [ebp - 8]
call fcn.00406258
mov byte [0x41ebb7], al
mov eax, 0x41eb74
mov edx, 0x4196c4
call fcn.0040326c
push dword [ebp - 4]
push 0x41923c
push dword [0x41ed6c]
push dword [0x41ed84]
push dword [0x41ed80]
lea eax, [ebp - 8]
mov edx, 5
call fcn.0040345c
mov eax, 0x41eb74
mov edx, 0x41978c
call fcn.0040326c
mov eax, dword [ebp - 8]
call fcn.00404f6c
test al, al
jne 0x418a57
push 1
push 0x96
push 0x7a120
push dword [ebp - 4]
push 0x41923c
push dword [0x41ed6c]
push dword [0x41ed84]
push dword [0x41ed7c]
lea eax, [ebp - 0x34]
mov edx, 5
call fcn.0040345c
mov eax, dword [ebp - 0x34]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00404ec0
push 1
push 0x96
push 0x7a120
push dword [ebp - 4]
push 0x41923c
push dword [0x41ed6c]
push dword [0x41ed84]
push dword [0x41ed7c]
lea eax, [ebp - 0x38]
mov edx, 5
call fcn.0040345c
mov edx, dword [ebp - 0x38]
mov cl, 1
mov eax, dword [0x41eb4c]
call fcn.00404ec0
test al, al
je 0x418ad1
push dword [ebp - 4]
push 0x41923c
push dword [0x41ed6c]
push dword [0x41ed84]
push dword [0x41ed7c]
lea eax, [ebp - 0x3c]
mov edx, 5
call fcn.0040345c
mov eax, dword [ebp - 0x3c]
call fcn.00406258
mov byte [0x41ebb7], al
mov eax, 0x41eb74
mov edx, 0x419850
call fcn.0040326c
push dword [ebp - 4]
push 0x41923c
push dword [0x41ed6c]
push dword [0x41ed04]
lea eax, [ebp - 8]
mov edx, 4
call fcn.0040345c
mov eax, dword [ebp - 8]
call fcn.00404f6c
test al, al
jne 0x418c8a
push 1
push 0x96
push 0x7a120
lea eax, [ebp - 0x40]
mov ecx, dword [0x41ed04]
mov edx, dword [0x41eb40]
call fcn.004033e8
mov eax, dword [ebp - 0x40]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00404ec0
test al, al
je 0x418b4f
mov eax, dword [ebp - 8]
call fcn.00406258
mov byte [0x41ebb7], al
push dword [ebp - 4]
push 0x41923c
push dword [0x41ed6c]
push dword [0x41ed08]
lea eax, [ebp - 8]
mov edx, 4
call fcn.0040345c
mov eax, 0x41eb74
mov edx, 0x419878
call fcn.0040326c
push 1
push 0x96
push 0x7a120
lea eax, [ebp - 0x44]
mov ecx, dword [0x41ed08]
mov edx, dword [0x41eb40]
call fcn.004033e8
mov eax, dword [ebp - 0x44]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00404ec0
test al, al
je 0x418bbd
mov eax, dword [ebp - 8]
call fcn.00406258
mov byte [0x41ebb7], al
mov eax, 0x41eb74
mov edx, 0x4198a8
call fcn.0040326c
push dword [ebp - 4]
push 0x41923c
push dword [0x41ed6c]
push dword [0x41ed04]
lea eax, [ebp - 8]
mov edx, 4
call fcn.0040345c
push 1
push 0x96
push 0x7a120
lea eax, [ebp - 0x48]
mov ecx, dword [0x41ed0c]
mov edx, dword [0x41eb40]
call fcn.004033e8
mov eax, dword [ebp - 0x48]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00404ec0
test al, al
je 0x418c2b
mov eax, dword [ebp - 8]
call fcn.00406258
mov byte [0x41ebb7], al
push dword [ebp - 4]
push 0x41923c
push dword [0x41ed6c]
push dword [0x41ed08]
lea eax, [ebp - 8]
mov edx, 4
call fcn.0040345c
push 1
push 0x96
push 0x7a120
lea eax, [ebp - 0x4c]
mov ecx, dword [0x41ed10]
mov edx, dword [0x41eb40]
call fcn.004033e8
mov eax, dword [ebp - 0x4c]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00404ec0
test al, al
je 0x418c8a
mov eax, dword [ebp - 8]
call fcn.00406258
mov byte [0x41ebb7], al
mov eax, 0x41eb74
mov edx, 0x419928
call fcn.0040326c
push dword [ebp - 4]
push dword [0x41ed68]
push dword [0x41ed84]
push dword [0x41ed78]
lea eax, [ebp - 0x50]
mov edx, 4
call fcn.0040345c
mov eax, dword [ebp - 0x50]
lea edx, [ebp - 8]
call fcn.00404a14
mov eax, 0x41eb74
mov edx, 0x4199e0
call fcn.0040326c
mov edx, dword [ebp - 8]
mov eax, dword [0x41eb40]
call fcn.00403634
test eax, eax
jne 0x418e4d
mov eax, dword [ebp - 8]
call fcn.00404f6c
test al, al
jne 0x418d36
push 1
push 0x96
push 0x7a120
push dword [ebp - 4]
push dword [0x41ed68]
push dword [0x41ed84]
push dword [0x41ed74]
lea eax, [ebp - 0x54]
mov edx, 4
call fcn.0040345c
mov eax, dword [ebp - 0x54]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00404ec0
mov byte [0x41ebb7], al
push dword [ebp - 4]
push dword [0x41ed68]
push dword [0x41ed84]
push dword [0x41ed74]
lea eax, [ebp - 8]
mov edx, 4
call fcn.0040345c
push 1
push 0x96
push 0x7a120
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [0x41eb4c]
call fcn.00404ec0
test al, al
je 0x418d84
mov eax, dword [ebp - 8]
call fcn.00406258
mov byte [0x41ebb7], al
mov eax, 0x41eb74
mov edx, 0x4198a8
call fcn.0040326c
push dword [ebp - 4]
push dword [0x41ed68]
push dword [0x41ed84]
push dword [0x41ed80]
lea eax, [ebp - 8]
mov edx, 4
call fcn.0040345c
mov eax, dword [ebp - 8]
call fcn.00404f6c
test al, al
jne 0x418dfc
push 1
push 0x96
push 0x7a120
push dword [ebp - 4]
push dword [0x41ed68]
push dword [0x41ed84]
push dword [0x41ed7c]
lea eax, [ebp - 0x58]
mov edx, 4
call fcn.0040345c
mov eax, dword [ebp - 0x58]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00404ec0
mov eax, 0x41eb74
mov edx, 0x4199fc
call fcn.0040326c
push dword [ebp - 4]
push dword [0x41ed68]
push dword [0x41ed84]
push dword [0x41ed7c]
lea eax, [ebp - 8]
mov edx, 4
call fcn.0040345c
push 1
push 0x96
push 0x7a120
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [0x41eb4c]
call fcn.00404ec0
mov byte [0x41ebb7], al
push dword [ebp - 4]
push dword [0x41ed88]
push 0x419a24
push dword [0x41ed64]
push dword [0x41eda4]
push dword [0x41ed8c]
lea eax, [ebp - 8]
mov edx, 6
call fcn.0040345c
push 1
push 0x96
push 0x7a120
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [0x41eb4c]
call fcn.00404ec0
test al, al
je 0x418ea6
mov eax, dword [ebp - 8]
call fcn.00406258
mov byte [0x41ebb7], al
mov eax, 0x41eb74
mov edx, 0x419a30
call fcn.0040326c
push dword [ebp - 4]
push dword [0x41ed88]
push dword [0x41eda4]
push dword [0x41ed8c]
lea eax, [ebp - 8]
mov edx, 4
call fcn.0040345c
push 1
push 0x96
push 0x7a120
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [0x41eb4c]
call fcn.00404ec0
test al, al
je 0x418f03
mov eax, dword [ebp - 8]
call fcn.00406258
mov byte [0x41ebb7], al
push dword [ebp - 4]
push dword [0x41ed88]
push 0x419a24
push dword [0x41ed64]
push dword [0x41eda8]
push dword [0x41ed8c]
lea eax, [ebp - 8]
mov edx, 6
call fcn.0040345c
push 1
push 0x96
push 0x7a120
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [0x41eb4c]
call fcn.00404ec0
test al, al
je 0x418f5c
mov eax, dword [ebp - 8]
call fcn.00406258
mov byte [0x41ebb7], al
mov eax, 0x41eb74
mov edx, 0x419a84
call fcn.0040326c
push dword [ebp - 4]
push dword [0x41ed88]
push dword [0x41eda8]
push dword [0x41ed8c]
lea eax, [ebp - 8]
mov edx, 4
call fcn.0040345c
push 1
push 0x96
push 0x7a120
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [0x41eb4c]
call fcn.00404ec0
test al, al
je 0x418fb9
mov eax, dword [ebp - 8]
call fcn.00406258
mov byte [0x41ebb7], al
push dword [ebp - 4]
push dword [0x41ed88]
push dword [0x41ed70]
push dword [0x41eda4]
push dword [0x41ed8c]
lea eax, [ebp - 8]
mov edx, 5
call fcn.0040345c
push 1
push 0x96
push 0x7a120
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [0x41eb4c]
call fcn.00404ec0
test al, al
je 0x41900d
mov eax, dword [ebp - 8]
call fcn.00406258
mov byte [0x41ebb7], al
push dword [ebp - 4]
push dword [0x41ed88]
push dword [0x41eda4]
push dword [0x41ed8c]
lea eax, [ebp - 8]
mov edx, 4
call fcn.0040345c
push 1
push 0x96
push 0x7a120
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [0x41eb4c]
call fcn.00404ec0
test al, al
je 0x41905b
mov eax, dword [ebp - 8]
call fcn.00406258
mov byte [0x41ebb7], al
push dword [ebp - 4]
push dword [0x41ed88]
push dword [0x41ed70]
push dword [0x41eda8]
push dword [0x41ed8c]
lea eax, [ebp - 8]
mov edx, 5
call fcn.0040345c
mov eax, 0x41eb74
mov edx, 0x419b14
call fcn.0040326c
push 1
push 0x96
push 0x7a120
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [0x41eb4c]
call fcn.00404ec0
test al, al
je 0x4190be
mov eax, dword [ebp - 8]
call fcn.00406258
mov byte [0x41ebb7], al
mov eax, 0x41eb74
mov edx, 0x419b80
call fcn.0040326c
push dword [ebp - 4]
push dword [0x41ed88]
push dword [0x41eda8]
push dword [0x41ed8c]
lea eax, [ebp - 8]
mov edx, 4
call fcn.0040345c
mov eax, 0x41eb74
mov edx, 0x419c14
call fcn.0040326c
push 1
push 0x96
push 0x7a120
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [0x41eb4c]
call fcn.00404ec0
test al, al
mov eax, dword [ebp - 8]
call fcn.00406258
mov byte [0x41ebb7], al
mov eax, 0x41eb74
mov edx, 0x419cec
call fcn.0040326c
push dword [ebp - 4]
push 0x41923c
push 0x419248
push dword [0x41ed64]
push dword [0x41eda4]
push dword [0x41ed8c]
lea eax, [ebp - 8]
mov edx, 6
call fcn.0040345c
mov eax, 0x41eb74
mov edx, 0x419d8c
call fcn.0040326c
push 1
push 0x96
push 0x7a120
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [0x41eb4c]
call fcn.00404ec0
mov eax, dword [ebp - 8]
call fcn.00406258
mov byte [0x41ebb7], al
push dword [ebp - 4]
push 0x41923c
push 0x419248
push dword [0x41ed64]
push dword [0x41eda8]
push dword [0x41ed8c]
lea eax, [ebp - 8]
mov edx, 6
call fcn.0040345c
mov eax, 0x41eb74
mov edx, 0x419e34
call fcn.0040326c
push 1
push 0x96
push 0x7a120
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [0x41eb4c]
call fcn.00404ec0
mov eax, dword [ebp - 8]
call fcn.00406258
mov byte [0x41ebb7], al
mov eax, 0x41eb74
mov edx, 0x419ec4
call fcn.0040326c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41922e
lea eax, [ebp - 0x58]
mov edx, 0x16
call fcn.0040323c
ret