Function at 0x412450
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xb
push 0
push 0
dec ecx
jne 0x412458
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00403b0c
mov ebx, 0x41bb14
mov esi, 0x41bae8
mov edi, 0x41bb5b
xor eax, eax
push ebp
push 0x412fbb
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, ebx
mov edx, 0x412fd4
call fcn.004037f8
lea eax, [ebp - 0xc]
mov ecx, 0x412fec
mov edx, dword [ebp - 4]
call fcn.00403968
mov eax, dword [ebp - 0xc]
call fcn.00403b1c
push eax
call sub.kernel32.dll_GetDriveTypeA
add eax, 0xfffffffe
sub eax, 3
jb 0x4124c5
sub eax, 1
jne 0x412fa0
push dword [ebp - 4]
push 0x412ff8
push 0x41300c
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.004039dc
mov eax, dword [ebp - 0x10]
lea edx, [ebp - 8]
call fcn.004054a8
mov eax, dword [ebp - 8]
call fcn.00405904
test al, al
jne 0x41252b
push 1
push 0x96
push 0x222e1
push dword [ebp - 4]
push 0x412ff8
push 0x413020
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.004039dc
mov eax, dword [ebp - 0x14]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00405870
mov byte [edi], al
push dword [ebp - 4]
push 0x412ff8
push 0x413020
lea eax, [ebp - 8]
mov edx, 3
call fcn.004039dc
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [esi]
call fcn.00405870
test al, al
mov eax, dword [ebp - 8]
call fcn.0040673c
mov byte [edi], al
mov eax, ebx
mov edx, 0x413034
call fcn.004037f8
push dword [ebp - 4]
push 0x412ff8
push 0x4130d8
lea eax, [ebp - 8]
mov edx, 3
call fcn.004039dc
mov eax, dword [ebp - 8]
call fcn.00405904
test al, al
jne 0x4125d0
push 1
push 0x96
push 0x222e1
push dword [ebp - 4]
push 0x412ff8
push 0x4130f0
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.004039dc
mov eax, dword [ebp - 0x18]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00405870
mov byte [edi], al
push dword [ebp - 4]
push 0x412ff8
push 0x4130f0
lea eax, [ebp - 8]
mov edx, 3
call fcn.004039dc
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [esi]
call fcn.00405870
test al, al
mov eax, dword [ebp - 8]
call fcn.0040673c
mov byte [edi], al
mov eax, ebx
mov edx, 0x413104
call fcn.004037f8
push dword [ebp - 4]
push 0x412ff8
push 0x4131c0
lea eax, [ebp - 8]
mov edx, 3
call fcn.004039dc
mov eax, dword [ebp - 8]
call fcn.00405904
test al, al
jne 0x412786
push 1
push 0x96
push 0x222e1
mov ecx, 0x4131c0
lea eax, [ebp - 0x1c]
mov edx, dword [0x41badc]
call fcn.00403968
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov edx, dword [ebp - 8]
call fcn.00405870
test al, al
je 0x41267e
mov eax, dword [ebp - 8]
call fcn.0040673c
mov byte [edi], al
push dword [ebp - 4]
push 0x412ff8
push 0x4131d4
lea eax, [ebp - 8]
mov edx, 3
call fcn.004039dc
push 1
push 0x96
push 0x222e1
mov ecx, 0x4131d4
lea eax, [ebp - 0x20]
mov edx, dword [0x41badc]
call fcn.00403968
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov edx, dword [ebp - 8]
call fcn.00405870
test al, al
je 0x4126d2
mov eax, dword [ebp - 8]
call fcn.0040673c
mov byte [edi], al
push dword [ebp - 4]
push 0x412ff8
push 0x4131e8
lea eax, [ebp - 8]
mov edx, 3
call fcn.004039dc
push 1
push 0x96
push 0x222e1
mov ecx, 0x4131e8
lea eax, [ebp - 0x24]
mov edx, dword [0x41badc]
call fcn.00403968
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov edx, dword [ebp - 8]
call fcn.00405870
test al, al
je 0x412726
mov eax, dword [ebp - 8]
call fcn.0040673c
mov byte [edi], al
mov eax, ebx
mov edx, 0x4131fc
call fcn.004037f8
push dword [ebp - 4]
push 0x412ff8
push 0x41328c
lea eax, [ebp - 8]
mov edx, 3
call fcn.004039dc
push 1
push 0x96
push 0x222e1
mov ecx, 0x41328c
lea eax, [ebp - 0x28]
mov edx, dword [0x41badc]
call fcn.00403968
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov edx, dword [ebp - 8]
call fcn.00405870
test al, al
je 0x412786
mov eax, dword [ebp - 8]
call fcn.0040673c
mov byte [edi], al
mov eax, ebx
mov edx, 0x4132a0
call fcn.004037f8
push dword [ebp - 4]
push 0x4132bc
push 0x4132c8
push 0x4132d8
push 0x41300c
lea eax, [ebp - 0x2c]
mov edx, 5
call fcn.004039dc
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 8]
call fcn.004054a8
mov edx, dword [ebp - 8]
mov eax, dword [0x41badc]
call fcn.00403c04
test eax, eax
jne 0x412adc
mov eax, dword [ebp - 8]
call fcn.00405904
test al, al
jne 0x41281f
push 1
push 0x96
push 0x222e1
push dword [ebp - 4]
push 0x4132bc
push 0x4132c8
push 0x4132d8
push 0x413020
lea eax, [ebp - 0x30]
mov edx, 5
call fcn.004039dc
mov eax, dword [ebp - 0x30]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00405870
push dword [ebp - 4]
push 0x4132bc
push 0x4132c8
push 0x4132d8
push 0x413020
lea eax, [ebp - 8]
mov edx, 5
call fcn.004039dc
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [esi]
call fcn.00405870
test al, al
je 0x412869
mov eax, dword [ebp - 8]
call fcn.0040673c
mov byte [edi], al
mov eax, ebx
mov edx, 0x4132ec
call fcn.004037f8
push dword [ebp - 4]
push 0x4132bc
push 0x4132c8
push 0x4132d8
push 0x4130d8
lea eax, [ebp - 8]
mov edx, 5
call fcn.004039dc
mov eax, dword [ebp - 8]
call fcn.00405904
test al, al
jne 0x4128e2
push 1
push 0x96
push 0x222e1
add bh, bh
jne fcn.004128b0