Function at 0x6624b6
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 8], 0
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], 0
jmp 0x6624e1
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xa
jge 0x662594
mov dword [ebp - 0x10], 0
jmp 0x6624fd
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0x1a
jge 0x66257f
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
shr edx, cl
and edx, 1
test edx, edx
jne 0x662514
jmp 0x6624f4
mov byte [ebp - 0x14], 0
xor eax, eax
mov word [ebp - 0x13], ax
mov ecx, dword [ebp - 0x10]
add ecx, 0x41
movsx edx, cl
push edx
push 0x6e2f58
lea eax, [ebp - 0x14]
push eax
call fcn.00642944
add esp, 0xc
lea ecx, [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
cmp eax, 5
je 0x66254a
jmp 0x6624f4
mov edx, dword [ebp - 4]
push edx
mov ecx, dword [ebp - 0x2c]
call fcn.00662f3e
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
push eax
push 0
mov ecx, dword [ebp - 0x10]
push ecx
mov ecx, dword [ebp - 0x2c]
call fcn.00662ac5
test eax, eax
jne 0x662571
jmp 0x6624f4
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
jmp 0x6624f4
mov ecx, dword [ebp - 0x2c]
call fcn.00662dc0
cmp dword [ebp - 8], 0
je 0x66258f
jmp 0x662594
jmp 0x6624d8
cmp dword [ebp - 8], 0
jne 0x662638
mov dword [ebp - 0x1c], 0
jmp 0x6625b0
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x1a
jge 0x6625c4
mov ecx, dword [ebp - 0x1c]
push ecx
mov ecx, dword [ebp - 0x2c]
call fcn.00662460
jmp 0x6625a7
mov dword [ebp - 4], 0
jmp 0x6625d6
mov edx, dword [ebp - 4]
add edx, 1
mov dword [ebp - 4], edx
cmp dword [ebp - 4], 0xa
jge 0x662638
mov dword [ebp - 0x1c], 0
jmp 0x6625ee
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x1a
jge 0x662626
mov ecx, dword [ebp - 4]
push ecx
mov ecx, dword [ebp - 0x2c]
call fcn.00662f3e
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x20]
push edx
push 1
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x2c]
call fcn.00662ac5
test eax, eax
jne 0x66261b
jmp 0x6625e5
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
jmp 0x6625e5
mov ecx, dword [ebp - 0x2c]
call fcn.00662dc0
cmp dword [ebp - 8], 0
je 0x662636
jmp 0x662638
jmp 0x6625cd
cmp dword [ebp - 8], 0
jne 0x6626dc
mov dword [ebp - 0x24], 0
jmp 0x662654
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0x1a
jge 0x662668
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x2c]
call fcn.00662460
jmp 0x66264b
mov dword [ebp - 4], 0
jmp 0x66267a
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], 0xa
jge 0x6626dc
mov dword [ebp - 0x24], 0
jmp 0x662692
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0x1a
jge 0x6626ca
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 0x2c]
call fcn.00662f3e
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
push ecx
push 2
mov edx, dword [ebp - 0x24]
push edx
mov ecx, dword [ebp - 0x2c]
call fcn.00662ac5
test eax, eax
jne 0x6626bf
jmp 0x662689
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
jmp 0x662689
mov ecx, dword [ebp - 0x2c]
call fcn.00662dc0
cmp dword [ebp - 8], 0
je 0x6626da
jmp 0x6626dc
jmp 0x662671
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 8]
mov al, byte [ebp - 8]
mov byte [edx], al
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 8]
xor eax, eax
mov al, byte [edx]
test eax, eax
jne 0x6626f9
xor eax, eax
jmp 0x6626fe
mov eax, 1
mov esp, ebp
pop ebp
ret