Function at 0x4858cf
Capabilities:
Get file size
Read file on windows

Disassembly:
push 0x2c8
mov eax, 0x5d6763
call fcn.00492e9f
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2cc], eax
call fcn.0045ee69
push eax
lea ecx, [ebp - 0x94]
call fcn.0045d21b
xor edi, edi
mov dword [ebp - 4], edi
call fcn.0045ee6f
mov ecx, eax
call fcn.0045d963
test al, al
je 0x4859b7
push dword [ebp - 0x2cc]
lea ecx, [ebp - 0x94]
call fcn.0045d44d
push edi
push 0x80
push 3
push edi
push 1
push SysReAllocString
lea ecx, [ebp - 0x94]
call fcn.0045d42d
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x2c8], eax
cmp eax, 0xffffffff
jne 0x485963
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
call fcn.0045d356
jmp 0x485aa9
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
test ebx, ebx
je 0x48594f
push ebx
mov dword [ebp - 0x2d0], edi
call fcn.004929da
pop ecx
push edi
mov esi, eax
lea eax, [ebp - 0x2d0]
push eax
push ebx
push esi
push dword [ebp - 0x2c8]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0x2c8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x2d0], ebx
je 0x485a96
push esi
call fcn.004929e3
pop ecx
jmp 0x48594f
call fcn.0045ee6f
push eax
lea ecx, [ebp - 0x94]
call fcn.0045d430
call fcn.0045ef32
test al, al
je 0x4859d8
call fcn.0045ee75
jmp 0x4859ef
push 2
push edi
lea ecx, [ebp - 0x94]
call fcn.0045d42d
push eax
call fcn.00473c3d
add esp, 0xc
mov dword [ebp - 0x2c8], eax
test eax, eax
je 0x48594f
lea ecx, [ebp - 0x2c4]
push ecx
lea ecx, [ebp - 0x2d4]
push ecx
push 1
push dword [ebp - 0x2cc]
push eax
call fcn.0047367e
add esp, 0x14
test eax, eax
jne 0x48594f
mov ebx, dword [ebp - 0x98]
test ebx, ebx
je 0x48594f
push ebx
call fcn.004929da
push 3
push ebx
mov esi, eax
push esi
push dword [ebp - 0x2d4]
push dword [ebp - 0x2c8]
call fcn.00473ffd
add esp, 0x18
test eax, eax
je 0x485a81
cmp eax, 0x600
je 0x485a81
push esi
call fcn.004929e3
pop ecx
call fcn.0045ef32
test al, al
jne 0x48594f
push dword [ebp - 0x2c8]
call fcn.004734d8
jmp 0x4859b4
call fcn.0045ef32
test al, al
jne 0x485a96
push dword [ebp - 0x2c8]
call fcn.004734d8
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
call fcn.0045d356
test esi, esi
jne 0x485b28
push edi
push 0x80
push 3
push edi
push 1
push SysReAllocString
push dword [ebp - 0x2cc]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x2cc], eax
cmp eax, 0xffffffff
je 0x485b24
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
test ebx, ebx
je 0x485b24
push ebx
mov dword [ebp - 0x2c8], edi
call fcn.004929da
pop ecx
push edi
mov esi, eax
lea eax, [ebp - 0x2c8]
push eax
push ebx
push esi
push dword [ebp - 0x2cc]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0x2cc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x2c8], ebx
je 0x485b20
push esi
call fcn.004929e3
pop ecx
mov esi, edi
test esi, esi
jne 0x485b28
xor eax, eax
jmp 0x485b63
push 0x10
call fcn.00492999
pop ecx
mov dword [ebp - 0x2cc], eax
mov dword [ebp - 4], 1
test eax, eax
je 0x485b4a
mov ecx, eax
call fcn.00405ae0
mov edi, eax
or dword [ebp - 4], 0xffffffff
mov ecx, edi
push ebx
push esi
call fcn.00405b90
push 1
push esi
call fcn.004929cc
pop ecx
pop ecx
mov eax, edi
call fcn.00492e49
ret 4