Function at 0x42bfc0
Capabilities:
Get disk information

Disassembly:
sub esp, 0x25c
push ebx
push esi
mov esi, dword [esp + 0x268]
push edi
push ebp
push 0x42d898
push esi
call fcn.0042c800
add esp, 8
test eax, eax
je 0x42c002
mov eax, 2
pop ebp
pop edi
mov dword [0x432b90], eax
pop esi
mov dword [0x432b94], eax
mov eax, 0xffffffff
pop ebx
add esp, 0x25c
ret
cmp byte [esi + 1], 0x3a
jne 0x42c044
mov al, byte [esi]
test al, al
je 0x42c033
cmp byte [esi + 2], 0
jne 0x42c033
mov eax, 2
pop ebp
pop edi
mov dword [0x432b90], eax
pop esi
mov dword [0x432b94], eax
mov eax, 0xffffffff
pop ebx
add esp, 0x25c
ret
movsx eax, al
push eax
call fcn.0042c8e0
add esp, 4
lea ebx, [eax - 0x60]
jmp 0x42c04b
call fcn.0042c8a0
mov ebx, eax
lea eax, [esp + 0x28]
mov ebp, dword [sym.imp.KERNEL32.dll_FindFirstFileA]
push eax
push esi
call ebp
cmp eax, 0xffffffff
mov edi, eax
jne 0x42c122
push 0x42d894
push esi
call fcn.0042c800
add esp, 8
test eax, eax
je 0x42c103
lea eax, [esp + 0x168]
push 0x104
push esi
push eax
call fcn.0042c720
add esp, 0xc
mov ebp, eax
test ebp, ebp
je 0x42c103
mov edi, ebp
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 3
je 0x42c0b6
push ebp
call fcn.0042c360
add esp, 4
test eax, eax
je 0x42c103
push ebp
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
cmp eax, 1
jbe 0x42c103
xor eax, eax
mov ebp, dword [esp + 0x274]
mov dword [esp + 0x44], eax
push 0xffffffffffffffff
mov dword [esp + 0x4c], eax
push eax
mov byte [esp + 0x5c], al
push eax
mov dword [esp + 0x34], 0x10
push eax
push 1
push 1
push 0x7bc
call fcn.00426570
add esp, 0x1c
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x20], eax
jmp 0x42c2aa
mov eax, 2
pop ebp
pop edi
mov dword [0x432b90], eax
pop esi
mov dword [0x432b94], eax
mov eax, 0xffffffff
pop ebx
add esp, 0x25c
ret
lea eax, [esp + 0x20]
lea ecx, [esp + 0x3c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
test eax, eax
je 0x42c335
lea eax, [esp + 0x10]
lea ecx, [esp + 0x20]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
test eax, eax
je 0x42c335
mov ebp, dword [esp + 0x274]
push 0xffffffffffffffff
mov eax, dword [esp + 0x20]
and eax, 0xffff
push eax
xor eax, eax
mov ax, word [esp + 0x22]
push eax
mov eax, dword [esp + 0x24]
and eax, 0xffff
push eax
xor eax, eax
mov ax, word [esp + 0x26]
push eax
xor eax, eax
mov ax, word [esp + 0x26]
push eax
mov eax, dword [esp + 0x28]
and eax, 0xffff
push eax
call fcn.00426570
add esp, 0x1c
mov dword [ebp + 0x1c], eax
cmp dword [esp + 0x34], 0
jne 0x42c1aa
cmp dword [esp + 0x38], 0
je 0x42c21a
lea eax, [esp + 0x20]
lea ecx, [esp + 0x34]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
test eax, eax
je 0x42c30f
lea eax, [esp + 0x10]
lea ecx, [esp + 0x20]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
test eax, eax
je 0x42c30f
mov eax, dword [esp + 0x1c]
push 0xffffffffffffffff
and eax, 0xffff
push eax
xor eax, eax
mov ax, word [esp + 0x22]
push eax
mov eax, dword [esp + 0x24]
and eax, 0xffff
push eax
xor eax, eax
mov ax, word [esp + 0x26]
push eax
xor eax, eax
mov ax, word [esp + 0x26]
push eax
mov eax, dword [esp + 0x28]
and eax, 0xffff
push eax
call fcn.00426570
add esp, 0x1c
cmp dword [esp + 0x2c], 0
mov dword [ebp + 0x18], eax
jne 0x42c230
cmp dword [esp + 0x30], 0
jne 0x42c230
mov eax, dword [ebp + 0x1c]
jmp 0x42c2a0
lea eax, [esp + 0x20]
lea ecx, [esp + 0x2c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
test eax, eax
je 0x42c2e9
lea eax, [esp + 0x10]
lea ecx, [esp + 0x20]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
test eax, eax
je 0x42c2e9
mov eax, dword [esp + 0x1c]
push 0xffffffffffffffff
and eax, 0xffff
push eax
xor eax, eax
mov ax, word [esp + 0x22]
push eax
mov eax, dword [esp + 0x24]
and eax, 0xffff
push eax
xor eax, eax
mov ax, word [esp + 0x26]
push eax
xor eax, eax
mov ax, word [esp + 0x26]
push eax
mov eax, dword [esp + 0x28]
and eax, 0xffff
push eax
call fcn.00426570
add esp, 0x1c
push edi
mov dword [ebp + 0x20], eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [esp + 0x28]
push esi
push eax
call fcn.0042bee0
mov word [ebp + 6], ax
add esp, 8
mov word [ebp + 8], 1
mov eax, dword [esp + 0x48]
dec ebx
mov dword [ebp + 0x14], eax
mov dword [ebp], ebx
xor eax, eax
mov dword [ebp + 0x10], ebx
mov word [ebp + 4], ax
mov word [ebp + 0xc], ax
mov word [ebp + 0xa], ax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x25c
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00427fd0
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x25c
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00427fd0
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x25c
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00427fd0
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x25c
ret