Function at 0x662702
Capabilities:
Get disk information
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
mov dword [ebp - 0x50], ecx
push 0x8000
call fcn.0067cb4a
add esp, 4
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x14], eax
push 0x8000
push 0
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00642ec0
add esp, 0xc
mov dword [ebp - 0x10], 0
mov byte [ebp - 0xc], 0
xor edx, edx
mov dword [ebp - 0xb], edx
mov dword [ebp - 7], edx
mov byte [ebp - 3], dl
mov dword [ebp - 0x1c], 0
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], 0
jmp 0x66276c
mov eax, dword [ebp - 0x18]
add eax, 1
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xa
jge 0x662881
mov dword [ebp - 0x24], 0
jmp 0x662788
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 0x1a
jge 0x66279c
mov edx, dword [ebp - 0x24]
push edx
mov ecx, dword [ebp - 0x50]
call fcn.00662460
jmp 0x66277f
mov dword [ebp - 0x24], 0
jmp 0x6627ae
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x1a
jge 0x66286c
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
shr edx, cl
and edx, 1
test edx, edx
jne 0x6627c9
jmp 0x6627a5
mov eax, dword [ebp - 0x24]
add eax, 0x41
movsx ecx, al
push ecx
push 0x6e2f5c
lea edx, [ebp - 0xc]
push edx
call fcn.00642944
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
cmp eax, 5
je 0x6627f5
jmp 0x6627a5
mov ecx, dword [ebp - 0x18]
push ecx
mov ecx, dword [ebp - 0x50]
call fcn.00662f3e
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x28]
push edx
lea eax, [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x50]
call fcn.006623e1
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jne 0x66281f
jmp 0x6627a5
push 0
lea ecx, [ebp - 0x10]
push ecx
push 0x8000
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x66284b
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x6627a5
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x1c]
imul ecx, ecx, 0x30
mov edx, dword [ebp - 0x2c]
mov dword [eax + ecx + 0x1c], edx
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x6627a5
mov ecx, dword [ebp - 0x50]
call fcn.00662dc0
cmp dword [ebp - 0x1c], 0
je 0x66287c
jmp 0x662881
jmp 0x662763
cmp dword [ebp - 0x1c], 0
jne 0x662987
mov dword [ebp - 0x30], 0
jmp 0x66289d
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x30], 0x1a
jge 0x6628b1
mov edx, dword [ebp - 0x30]
push edx
mov ecx, dword [ebp - 0x50]
call fcn.00662460
jmp 0x662894
mov dword [ebp - 0x18], 0
jmp 0x6628c3
mov eax, dword [ebp - 0x18]
add eax, 1
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xa
jge 0x662987
mov dword [ebp - 0x30], 0
jmp 0x6628df
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x30], 0x1a
jge 0x662972
mov edx, dword [ebp - 0x18]
push edx
mov ecx, dword [ebp - 0x50]
call fcn.00662f3e
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x30]
push eax
push 0x6e2f60
lea ecx, [ebp - 0xc]
push ecx
call fcn.00642944
add esp, 0xc
mov edx, dword [ebp - 0x34]
push edx
lea eax, [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x50]
call fcn.006623e1
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x662928
jmp 0x6628d6
push 0
lea ecx, [ebp - 0x10]
push ecx
push 0x8000
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x662951
mov ecx, dword [ebp - 0x38]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x6628d6
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x1c]
imul ecx, ecx, 0x30
mov edx, dword [ebp - 0x38]
mov dword [eax + ecx + 0x1c], edx
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x6628d6
mov ecx, dword [ebp - 0x50]
call fcn.00662dc0
cmp dword [ebp - 0x1c], 0
je 0x662982
jmp 0x662987
jmp 0x6628ba
cmp dword [ebp - 0x1c], 0
jne 0x662a8d
mov dword [ebp - 0x3c], 0
jmp 0x6629a3
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x3c], 0x1a
jge 0x6629b7
mov edx, dword [ebp - 0x3c]
push edx
mov ecx, dword [ebp - 0x50]
call fcn.00662460
jmp 0x66299a
mov dword [ebp - 0x18], 0
jmp 0x6629c9
mov eax, dword [ebp - 0x18]
add eax, 1
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xa
jge 0x662a8d
mov dword [ebp - 0x3c], 0
jmp 0x6629e5
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x3c], 0x1a
jge 0x662a78
mov edx, dword [ebp - 0x18]
push edx
mov ecx, dword [ebp - 0x50]
call fcn.00662f3e
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x3c]
push eax
push 0x6e2f68
lea ecx, [ebp - 0xc]
push ecx
call fcn.00642944
add esp, 0xc
mov edx, dword [ebp - 0x40]
push edx
lea eax, [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x50]
call fcn.006623e1
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x662a2e
jmp 0x6629dc
push 0
lea ecx, [ebp - 0x10]
push ecx
push 0x8000
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x662a57
mov ecx, dword [ebp - 0x44]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x6629dc
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x1c]
imul ecx, ecx, 0x30
mov edx, dword [ebp - 0x44]
mov dword [eax + ecx + 0x1c], edx
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x6629dc
mov ecx, dword [ebp - 0x50]
call fcn.00662dc0
cmp dword [ebp - 0x1c], 0
je 0x662a88
jmp 0x662a8d
jmp 0x6629c0
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 8]
mov al, byte [ebp - 0x1c]
mov byte [edx], al
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x4c]
push edx
call fcn.0067cb73
add esp, 4
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 8]
xor edx, edx
mov dl, byte [ecx]
test edx, edx
jne 0x662abc
xor eax, eax
jmp 0x662ac1
mov eax, 1
mov esp, ebp
pop ebp
ret