Function at 0x4852e0
Capabilities:
Get disk information

Disassembly:
sub esp, 0x254
push ebx
push esi
push edi
push ebp
mov esi, dword [esp + 0x268]
push 0x4a22cc
push esi
call fcn.00401060
add esp, 8
or eax, eax
je 0x485329
call fcn.0047f070
mov dword [eax], 2
call fcn.0047f080
mov dword [eax], 2
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x254
ret
cmp byte [esi + 1], 0x3a
jne 0x485372
mov al, byte [esi]
or al, al
je 0x485361
cmp byte [esi + 2], 0
jne 0x485361
call fcn.0047f070
mov dword [eax], 2
call fcn.0047f080
mov dword [eax], 2
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x254
ret
movsx eax, al
push eax
call fcn.00480ab0
add esp, 4
lea ebx, [eax - 0x60]
jmp 0x485379
call fcn.00485d90
mov ebx, eax
lea eax, [esp + 0x124]
push eax
push esi
call sub.KERNEL32.dll_FindFirstFileA
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x485457
push 0x4a22d0
push esi
call fcn.00401060
add esp, 8
or eax, eax
je 0x485431
push 0x104
lea eax, [esp + 0x24]
push esi
push eax
call fcn.00485a50
add esp, 0xc
mov edx, eax
or edx, edx
je 0x485431
mov edi, edx
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 3
jne 0x485431
push edx
call sub.KERNEL32.dll_GetDriveTypeA
cmp eax, 1
jbe 0x485431
mov dword [esp + 0x124], 0x10
mov dword [esp + 0x140], 0
mov dword [esp + 0x144], 0
mov byte [esp + 0x150], 0
mov edi, dword [esp + 0x26c]
push 0
push 0
push 0
push 1
push 1
push 0x50
call fcn.004837f0
add esp, 0x18
mov dword [edi + 0x1c], eax
mov dword [edi + 0x18], eax
mov dword [edi + 0x20], eax
jmp 0x48558c
call fcn.0047f070
mov dword [eax], 2
call fcn.0047f080
mov dword [eax], 2
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x254
ret
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x13c]
push eax
call sub.KERNEL32.dll_FileTimeToSystemTime
mov edi, dword [esp + 0x26c]
mov eax, dword [esp + 0x1c]
and eax, 0xffff
push eax
xor eax, eax
mov ax, word [esp + 0x1e]
push eax
mov eax, dword [esp + 0x20]
and eax, 0xffff
push eax
xor eax, eax
mov ax, word [esp + 0x22]
push eax
xor eax, eax
mov ax, word [esp + 0x22]
push eax
mov eax, dword [esp + 0x24]
and eax, 0xffff
push eax
call fcn.004837f0
add esp, 0x18
mov dword [edi + 0x1c], eax
cmp dword [esp + 0x130], 0
jne 0x4854c7
cmp dword [esp + 0x134], 0
jne 0x4854c7
jmp 0x485517
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x134]
push eax
call sub.KERNEL32.dll_FileTimeToSystemTime
mov eax, dword [esp + 0x1c]
and eax, 0xffff
push eax
xor eax, eax
mov ax, word [esp + 0x1e]
push eax
mov eax, dword [esp + 0x20]
and eax, 0xffff
push eax
xor eax, eax
mov ax, word [esp + 0x22]
push eax
xor eax, eax
mov ax, word [esp + 0x22]
push eax
mov eax, dword [esp + 0x24]
and eax, 0xffff
push eax
call fcn.004837f0
add esp, 0x18
mov dword [edi + 0x18], eax
cmp dword [esp + 0x128], 0
jne 0x485533
cmp dword [esp + 0x12c], 0
jne 0x485533
mov eax, dword [edi + 0x1c]
jmp 0x485583
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x12c]
push eax
call sub.KERNEL32.dll_FileTimeToSystemTime
mov eax, dword [esp + 0x1c]
and eax, 0xffff
push eax
xor eax, eax
mov ax, word [esp + 0x1e]
push eax
mov eax, dword [esp + 0x20]
and eax, 0xffff
push eax
xor eax, eax
mov ax, word [esp + 0x22]
push eax
xor eax, eax
mov ax, word [esp + 0x22]
push eax
mov eax, dword [esp + 0x24]
and eax, 0xffff
push eax
call fcn.004837f0
add esp, 0x18
mov dword [edi + 0x20], eax
push ebp
call sub.KERNEL32.dll_FindClose
mov eax, dword [esp + 0x124]
push esi
push eax
call fcn.00485200
add esp, 8
mov word [edi + 6], ax
mov word [edi + 8], 1
mov eax, dword [esp + 0x144]
mov dword [edi + 0x14], eax
dec ebx
mov word [edi + 4], 0
mov word [edi + 0xc], 0
mov word [edi + 0xa], 0
mov dword [edi], ebx
sub eax, eax
mov dword [edi + 0x10], ebx
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x254
ret