Function at 0x4627b8
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xb
push 0
push 0
dec ecx
jne 0x4627c0
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404a14
xor eax, eax
push ebp
push 0x463591
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4671a8]
mov edx, 0x4635a4
call fcn.004045b8
lea eax, [ebp - 0xc]
mov ecx, 0x463610
mov edx, dword [ebp - 4]
call fcn.00404870
mov eax, dword [ebp - 0xc]
call fcn.00404a24
push eax
call sub.kernel32.dll_GetDriveTypeA
add eax, 0xfffffffe
sub eax, 3
jb 0x46281e
sub eax, 1
jne 0x463576
push dword [ebp - 4]
mov eax, dword [0x4670e8]
push dword [eax]
mov eax, dword [0x4670b0]
push dword [eax]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.004048e4
mov eax, dword [ebp - 0x10]
lea edx, [ebp - 8]
call fcn.00407a50
mov eax, dword [ebp - 8]
call fcn.00407f1c
test al, al
jne 0x462892
push 1
push 0x96
push 0x7a120
push dword [ebp - 4]
mov eax, dword [0x4670e8]
push dword [eax]
mov eax, dword [0x4671b8]
push dword [eax]
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.004048e4
mov eax, dword [ebp - 0x14]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00407e84
mov edx, dword [0x46707c]
mov byte [edx], al
push dword [ebp - 4]
mov eax, dword [0x4670e8]
push dword [eax]
mov eax, dword [0x4671b8]
push dword [eax]
lea eax, [ebp - 8]
mov edx, 3
call fcn.004048e4
mov eax, dword [0x4671a8]
mov edx, 0x46361c
call fcn.004045b8
push 1
push 0x96
push 0x7a120
mov eax, dword [0x4671ec]
mov eax, dword [eax]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00407e84
test al, al
mov eax, dword [ebp - 8]
call fcn.0040907c
mov edx, dword [0x46707c]
mov byte [edx], al
mov eax, dword [0x4671a8]
mov edx, 0x4636e8
call fcn.004045b8
push dword [ebp - 4]
mov eax, dword [0x4670e8]
push dword [eax]
mov eax, dword [0x467008]
push dword [eax]
lea eax, [ebp - 8]
mov edx, 3
call fcn.004048e4
mov eax, dword [ebp - 8]
call fcn.00407f1c
test al, al
jne 0x462966
push 1
push 0x96
push 0x7a120
push dword [ebp - 4]
mov eax, dword [0x4670e8]
push dword [eax]
mov eax, dword [0x4670f8]
push dword [eax]
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.004048e4
mov eax, dword [ebp - 0x18]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00407e84
mov edx, dword [0x46707c]
mov byte [edx], al
push dword [ebp - 4]
mov eax, dword [0x4670e8]
push dword [eax]
mov eax, dword [0x4670f8]
push dword [eax]
lea eax, [ebp - 8]
mov edx, 3
call fcn.004048e4
mov eax, dword [0x4671a8]
mov edx, 0x463768
call fcn.004045b8
push 1
push 0x96
push 0x7a120
mov eax, dword [0x4671ec]
mov eax, dword [eax]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00407e84
test al, al
mov eax, dword [ebp - 8]
call fcn.0040907c
mov edx, dword [0x46707c]
mov byte [edx], al
push dword [ebp - 4]
mov eax, dword [0x4670e8]
push dword [eax]
mov eax, dword [0x466fcc]
push dword [eax]
lea eax, [ebp - 8]
mov edx, 3
call fcn.004048e4
mov eax, dword [ebp - 8]
call fcn.00407f1c
test al, al
jne 0x462b8b
push 1
push 0x96
push 0x7a120
mov ecx, dword [0x466fcc]
mov ecx, dword [ecx]
mov edx, dword [0x467324]
mov edx, dword [edx]
lea eax, [ebp - 0x1c]
call fcn.00404870
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov edx, dword [ebp - 8]
call fcn.00407e84
test al, al
je 0x462a35
mov eax, dword [ebp - 8]
call fcn.0040907c
mov edx, dword [0x46707c]
mov byte [edx], al
push dword [ebp - 4]
mov eax, dword [0x4670e8]
push dword [eax]
mov eax, dword [0x466fe0]
push dword [eax]
lea eax, [ebp - 8]
mov edx, 3
call fcn.004048e4
mov eax, dword [0x4671a8]
mov edx, 0x46380c
call fcn.004045b8
push 1
push 0x96
push 0x7a120
mov ecx, dword [0x466fe0]
mov ecx, dword [ecx]
mov edx, dword [0x467324]
mov edx, dword [edx]
lea eax, [ebp - 0x20]
call fcn.00404870
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov edx, dword [ebp - 8]
call fcn.00407e84
test al, al
je 0x462aa7
mov eax, dword [ebp - 8]
call fcn.0040907c
mov edx, dword [0x46707c]
mov byte [edx], al
push dword [ebp - 4]
mov eax, dword [0x4670e8]
push dword [eax]
mov eax, dword [0x467018]
push dword [eax]
lea eax, [ebp - 8]
mov edx, 3
call fcn.004048e4
push 1
push 0x96
push 0x7a120
mov ecx, dword [0x467018]
mov ecx, dword [ecx]
mov edx, dword [0x467324]
mov edx, dword [edx]
lea eax, [ebp - 0x24]
call fcn.00404870
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov edx, dword [ebp - 8]
call fcn.00407e84
test al, al
je 0x462b0a
mov eax, dword [ebp - 8]
call fcn.0040907c
mov edx, dword [0x46707c]
mov byte [edx], al
mov eax, dword [0x4671a8]
mov edx, 0x4638cc
call fcn.004045b8
push dword [ebp - 4]
mov eax, dword [0x4670e8]
push dword [eax]
mov eax, dword [0x46704c]
push dword [eax]
lea eax, [ebp - 8]
mov edx, 3
call fcn.004048e4
push 1
push 0x96
push 0x7a120
mov ecx, dword [0x46704c]
mov ecx, dword [ecx]
mov edx, dword [0x467324]
mov edx, dword [edx]
lea eax, [ebp - 0x28]
call fcn.00404870
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov edx, dword [ebp - 8]
call fcn.00407e84
test al, al
je 0x462b7c
mov eax, dword [ebp - 8]
call fcn.0040907c
mov edx, dword [0x46707c]
mov byte [edx], al
mov eax, dword [0x4671a8]
mov edx, 0x463994
call fcn.004045b8
mov eax, dword [0x4671a8]
mov edx, 0x463a68
call fcn.004045b8
push dword [ebp - 4]
push 0x463b1c
mov eax, dword [0x4672f0]
push dword [eax]
mov eax, dword [0x4672b4]
push dword [eax]
mov eax, dword [0x4670b0]
push dword [eax]
lea eax, [ebp - 0x2c]
mov edx, 5
call fcn.004048e4
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 8]
call fcn.00407a50
mov eax, dword [0x4671a8]
invalid
sub byte [ebx], bh