Function at 0x40ead8
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xb
push 0
push 0
dec ecx
jne 0x40eae0
push ebx
push esi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00403a94
mov ebx, 0x415ae8
mov esi, 0x415b5b
xor eax, eax
push ebp
push 0x40f5a4
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x415b14
mov edx, 0x40f5bc
call fcn.00403780
lea eax, [ebp - 0xc]
mov ecx, 0x40f624
mov edx, dword [ebp - 4]
call fcn.004038f0
mov eax, dword [ebp - 0xc]
call fcn.00403aa4
push eax
call sub.kernel32.dll_GetDriveTypeA
add eax, 0xfffffffe
sub eax, 3
jb 0x40eb4a
sub eax, 1
jne 0x40f589
push dword [ebp - 4]
push 0x40f630
push 0x40f644
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00403964
mov eax, dword [ebp - 0x10]
lea edx, [ebp - 8]
call fcn.004054a4
mov eax, dword [ebp - 8]
call fcn.00405900
test al, al
jne 0x40ebb0
push 1
push 0x96
push 0x222e1
push dword [ebp - 4]
push 0x40f630
push 0x40f658
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.00403964
mov eax, dword [ebp - 0x14]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.0040586c
mov byte [esi], al
push dword [ebp - 4]
push 0x40f630
push 0x40f658
lea eax, [ebp - 8]
mov edx, 3
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.0040586c
test al, al
mov eax, dword [ebp - 8]
call fcn.00406738
mov byte [esi], al
push dword [ebp - 4]
push 0x40f630
push 0x40f66c
lea eax, [ebp - 8]
mov edx, 3
call fcn.00403964
mov eax, dword [ebp - 8]
call fcn.00405900
test al, al
jne 0x40ec49
push 1
push 0x96
push 0x222e1
push dword [ebp - 4]
push 0x40f630
push 0x40f684
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00403964
mov eax, dword [ebp - 0x18]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.0040586c
mov byte [esi], al
push dword [ebp - 4]
push 0x40f630
push 0x40f684
lea eax, [ebp - 8]
mov edx, 3
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.0040586c
test al, al
mov eax, dword [ebp - 8]
call fcn.00406738
mov byte [esi], al
mov eax, 0x415b14
mov edx, 0x40f698
call fcn.00403780
push dword [ebp - 4]
push 0x40f630
push 0x40f700
lea eax, [ebp - 8]
mov edx, 3
call fcn.00403964
mov eax, dword [ebp - 8]
call fcn.00405900
test al, al
jne 0x40edf6
push 1
push 0x96
push 0x222e1
mov ecx, 0x40f700
lea eax, [ebp - 0x1c]
mov edx, dword [0x415adc]
call fcn.004038f0
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov edx, dword [ebp - 8]
call fcn.0040586c
test al, al
je 0x40ecfa
mov eax, dword [ebp - 8]
call fcn.00406738
mov byte [esi], al
push dword [ebp - 4]
push 0x40f630
push 0x40f714
lea eax, [ebp - 8]
mov edx, 3
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov ecx, 0x40f714
lea eax, [ebp - 0x20]
mov edx, dword [0x415adc]
call fcn.004038f0
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov edx, dword [ebp - 8]
call fcn.0040586c
test al, al
je 0x40ed4e
mov eax, dword [ebp - 8]
call fcn.00406738
mov byte [esi], al
push dword [ebp - 4]
push 0x40f630
push 0x40f728
lea eax, [ebp - 8]
mov edx, 3
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov ecx, 0x40f728
lea eax, [ebp - 0x24]
mov edx, dword [0x415adc]
call fcn.004038f0
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov edx, dword [ebp - 8]
call fcn.0040586c
test al, al
je 0x40eda2
mov eax, dword [ebp - 8]
call fcn.00406738
mov byte [esi], al
push dword [ebp - 4]
push 0x40f630
push 0x40f73c
lea eax, [ebp - 8]
mov edx, 3
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov ecx, 0x40f73c
lea eax, [ebp - 0x28]
mov edx, dword [0x415adc]
call fcn.004038f0
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov edx, dword [ebp - 8]
call fcn.0040586c
test al, al
je 0x40edf6
mov eax, dword [ebp - 8]
call fcn.00406738
mov byte [esi], al
mov eax, 0x415b14
mov edx, 0x40f750
call fcn.00403780
push dword [ebp - 4]
push 0x40f7b8
push 0x40f7c4
push 0x40f7d4
push 0x40f644
lea eax, [ebp - 0x2c]
mov edx, 5
call fcn.00403964
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 8]
call fcn.004054a4
mov edx, dword [ebp - 8]
mov eax, dword [0x415adc]
call fcn.00403b8c
test eax, eax
jne 0x40f12b
mov eax, dword [ebp - 8]
call fcn.00405900
test al, al
jne 0x40ee92
push 1
push 0x96
push 0x222e1
push dword [ebp - 4]
push 0x40f7b8
push 0x40f7c4
push 0x40f7d4
push 0x40f658
lea eax, [ebp - 0x30]
mov edx, 5
call fcn.00403964
mov eax, dword [ebp - 0x30]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.0040586c
push dword [ebp - 4]
push 0x40f7b8
push 0x40f7c4
push 0x40f7d4
push 0x40f658
lea eax, [ebp - 8]
mov edx, 5
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.0040586c
test al, al
je 0x40eedc
mov eax, dword [ebp - 8]
call fcn.00406738
mov byte [esi], al
push dword [ebp - 4]
push 0x40f7b8
push 0x40f7c4
push 0x40f7d4
push 0x40f66c
lea eax, [ebp - 8]
mov edx, 5
call fcn.00403964
mov eax, dword [ebp - 8]
call fcn.00405900
test al, al
jne 0x40ef49
push 1
push 0x96
push 0x222e1
push dword [ebp - 4]
push 0x40f7b8
push 0x40f7c4
push 0x40f7d4
push 0x40f684
lea eax, [ebp - 0x34]
mov edx, 5
call fcn.00403964
mov eax, dword [ebp - 0x34]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.0040586c
push 1
push 0x96
push 0x222e1
push dword [ebp - 4]
push 0x40f7b8
push 0x40f7c4
push 0x40f7d4
push 0x40f684
lea eax, [ebp - 0x38]
mov edx, 5
call fcn.00403964
mov edx, dword [ebp - 0x38]
mov cl, 1
mov eax, dword [ebx]
call fcn.0040586c
test al, al
je 0x40efb7
push dword [ebp - 4]
push 0x40f7b8
push 0x40f7c4
push 0x40f7d4
push 0x40f684
lea eax, [ebp - 0x3c]
mov edx, 5
call fcn.00403964
mov eax, dword [ebp - 0x3c]
call fcn.00406738
mov byte [esi], al
push dword [ebp - 4]
push 0x40f7b8
push 0x40f7c4
push 0x40f700
lea eax, [ebp - 8]
mov edx, 4
call fcn.00403964
mov eax, dword [ebp - 8]
call fcn.00405900
test al, al
jne 0x40f12b
push 1
push 0x96
push 0x222e1
mov ecx, 0x40f700
lea eax, [ebp - 0x40]
mov edx, dword [0x415adc]
call fcn.004038f0
mov eax, dword [ebp - 0x40]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.0040586c
test al, al
je 0x40f020
mov eax, dword [ebp - 8]
call fcn.00406738
mov byte [esi], al
push dword [ebp - 4]
push 0x40f7b8
push 0x40f7c4
push 0x40f714
lea eax, [ebp - 8]
mov edx, 4
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov ecx, 0x40f714
lea eax, [ebp - 0x44]
mov edx, dword [0x415adc]
call fcn.004038f0
mov eax, dword [ebp - 0x44]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.0040586c
test al, al
je 0x40f079
mov eax, dword [ebp - 8]
call fcn.00406738
mov byte [esi], al
push dword [ebp - 4]
push 0x40f7b8
push 0x40f7c4
push 0x40f700
lea eax, [ebp - 8]
mov edx, 4
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov ecx, 0x40f728
lea eax, [ebp - 0x48]
mov edx, dword [0x415adc]
call fcn.004038f0
mov eax, dword [ebp - 0x48]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.0040586c
test al, al
je 0x40f0d2
mov eax, dword [ebp - 8]
call fcn.00406738
mov byte [esi], al
push dword [ebp - 4]
push 0x40f7b8
push 0x40f7c4
push 0x40f714
lea eax, [ebp - 8]
mov edx, 4
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov ecx, 0x40f73c
lea eax, [ebp - 0x4c]
mov edx, dword [0x415adc]
call fcn.004038f0
mov eax, dword [ebp - 0x4c]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.0040586c
test al, al
je 0x40f12b
mov eax, dword [ebp - 8]
call fcn.00406738
mov byte [esi], al
mov eax, 0x415b14
mov edx, 0x40f7e8
call fcn.00403780
push dword [ebp - 4]
push 0x40f630
push 0x40f7d4
push 0x40f644
lea eax, [ebp - 0x50]
mov edx, 4
call fcn.00403964
mov eax, dword [ebp - 0x50]
lea edx, [ebp - 8]
call fcn.004054a4
mov edx, dword [ebp - 8]
mov eax, dword [0x415adc]
call fcn.00403b8c
test eax, eax
jne 0x40f2a0
mov eax, dword [ebp - 8]
call fcn.00405900
test al, al
jne 0x40f1bf
push 1
push 0x96
push 0x222e1
push dword [ebp - 4]
push 0x40f630
push 0x40f7d4
push 0x40f658
lea eax, [ebp - 0x54]
mov edx, 4
call fcn.00403964
mov eax, dword [ebp - 0x54]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.0040586c
mov byte [esi], al
push dword [ebp - 4]
push 0x40f630
push 0x40f7d4
push 0x40f658
lea eax, [ebp - 8]
mov edx, 4
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.0040586c
test al, al
je 0x40f204
mov eax, dword [ebp - 8]
call fcn.00406738
mov byte [esi], al
push dword [ebp - 4]
push 0x40f630
push 0x40f7d4
push 0x40f66c
lea eax, [ebp - 8]
mov edx, 4
call fcn.00403964
mov eax, dword [ebp - 8]
call fcn.00405900
test al, al
jne 0x40f267
push 1
push 0x96
push 0x222e1
push dword [ebp - 4]
push 0x40f630
push 0x40f7d4
push 0x40f684
lea eax, [ebp - 0x58]
mov edx, 4
call fcn.00403964
mov eax, dword [ebp - 0x58]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.0040586c
push dword [ebp - 4]
push 0x40f630
push 0x40f7d4
push 0x40f684
lea eax, [ebp - 8]
mov edx, 4
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.0040586c
mov byte [esi], al
push dword [ebp - 4]
push 0x40f848
push 0x40f874
push 0x40f880
push dword [0x415b18]
push 0x40f890
lea eax, [ebp - 8]
mov edx, 6
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.0040586c
test al, al
je 0x40f2f0
mov eax, dword [ebp - 8]
call fcn.00406738
mov byte [esi], al
push dword [ebp - 4]
push 0x40f848
push dword [0x415b18]
push 0x40f890
lea eax, [ebp - 8]
mov edx, 4
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.0040586c
test al, al
je 0x40f336
mov eax, dword [ebp - 8]
call fcn.00406738
mov byte [esi], al
push dword [ebp - 4]
push 0x40f848
push 0x40f874
push 0x40f880
push dword [0x415b1c]
push 0x40f890
lea eax, [ebp - 8]
mov edx, 6
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.0040586c
test al, al
je 0x40f386
mov eax, dword [ebp - 8]
call fcn.00406738
mov byte [esi], al
push dword [ebp - 4]
push 0x40f848
push dword [0x415b1c]
push 0x40f890
lea eax, [ebp - 8]
mov edx, 4
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.0040586c
test al, al
je 0x40f3cc
mov eax, dword [ebp - 8]
call fcn.00406738
mov byte [esi], al
push dword [ebp - 4]
push 0x40f848
push 0x40f8b0
push dword [0x415b18]
push 0x40f890
lea eax, [ebp - 8]
mov edx, 5
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.0040586c
test al, al
je 0x40f417
mov eax, dword [ebp - 8]
call fcn.00406738
mov byte [esi], al
push dword [ebp - 4]
push 0x40f848
push dword [0x415b18]
push 0x40f890
lea eax, [ebp - 8]
mov edx, 4
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.0040586c
test al, al
je 0x40f45d
mov eax, dword [ebp - 8]
call fcn.00406738
mov byte [esi], al
push dword [ebp - 4]
push 0x40f848
push 0x40f8b0
push dword [0x415b1c]
push 0x40f890
lea eax, [ebp - 8]
mov edx, 5
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.0040586c
test al, al
je 0x40f4a8
mov eax, dword [ebp - 8]
call fcn.00406738
mov byte [esi], al
push dword [ebp - 4]
push 0x40f848
push dword [0x415b1c]
push 0x40f890
lea eax, [ebp - 8]
mov edx, 4
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.0040586c
test al, al
mov eax, dword [ebp - 8]
call fcn.00406738
mov byte [esi], al
mov eax, 0x415b14
mov edx, 0x40f8c0
call fcn.00403780
push dword [ebp - 4]
push 0x40f624
push 0x40f880
push dword [0x415b18]
push 0x40f890
lea eax, [ebp - 8]
mov edx, 5
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.0040586c
mov eax, dword [ebp - 8]
call fcn.00406738
mov byte [esi], al
push dword [ebp - 4]
push 0x40f624
push 0x40f880
push dword [0x415b1c]
push 0x40f890
lea eax, [ebp - 8]
mov edx, 5
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.0040586c
mov eax, dword [ebp - 8]
call fcn.00406738
mov byte [esi], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40f5ab
lea eax, [ebp - 0x58]
mov edx, 0x16
call fcn.00403750
ret