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

Disassembly:
push 0x6a0
mov eax, 0x5294ed
call fcn.004ebc96
mov esi, ecx
lea ecx, [ebp - 0x47c]
call fcn.0043eb6b
xor ebx, ebx
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x47c]
push ebx
push ebx
push esi
call fcn.0043ebe8
push 0x84
lea eax, [ebp - 0x1a4]
push ebx
push eax
call fcn.004eddc0
add esp, 0xc
lea eax, [ebp - 0x374]
lea ecx, [ebp - 0x1a4]
push eax
call fcn.0044e850
mov byte [ebp - 4], 1
lea eax, [ebp - 0x9c]
push 0x84
push ebx
push eax
mov esi, ebx
mov edi, ebx
call fcn.004eddc0
add esp, 0xc
lea ecx, [ebp - 0x9c]
push 0x579018
call fcn.0044e850
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x9c]
mov eax, dword [0x578f90]
cmp word [eax], bx
jne 0x460218
push dword [ebp - 0x1a4]
call fcn.0044e8c3
push ebx
push 0x80
push 3
push ebx
push 1
push closesocket
push dword [ebp - 0x9c]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x4601d2
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x9c]
call fcn.0044e875
jmp 0x4602fa
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
test edi, edi
je 0x4601be
and dword [ebp - 0x14], 0
push edi
call fcn.004eb2d8
pop ecx
push 0
mov esi, eax
lea eax, [ebp - 0x14]
push eax
push edi
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x14], edi
je 0x4602e7
push esi
call fcn.004ead03
pop ecx
xor esi, esi
jmp 0x4601be
push eax
call fcn.0044e8c3
mov ebx, dword [0x57dc00]
test ebx, ebx
je 0x4601be
and dword [ebp - 0x14], 0
lea eax, [ebp - 0x120]
push 0x84
push 0
push eax
call fcn.004eddc0
add esp, 0xc
lea eax, [ebp - 0x1a4]
lea ecx, [ebp - 0x120]
push eax
call fcn.0044e850
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x120]
push 0x550df8
push 0x54b8c4
call fcn.0044ec52
mov edx, dword [ebp - 0x120]
lea eax, [ebp - 0x6ac]
push eax
lea eax, [ebp - 0x14]
push eax
push ecx
mov ecx, ebx
call fcn.0046a526
add esp, 0xc
test eax, eax
je 0x4602a1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x120]
call fcn.0044e875
jmp 0x4601be
mov edi, dword [ebp - 0x480]
test edi, edi
je 0x46028d
push edi
call fcn.004eb2d8
mov edx, dword [ebp - 0x14]
mov esi, eax
push edi
push esi
mov ecx, ebx
call fcn.0046a559
add esp, 0xc
test eax, eax
je 0x4602d8
cmp eax, 0x600
je 0x4602d8
push esi
call fcn.004ead03
pop ecx
xor esi, esi
jmp 0x46028d
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x120]
call fcn.0044e875
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x9c]
call fcn.0044e875
test esi, esi
jne 0x460360
push 0
push 0x80
push 3
push 0
push 1
push closesocket
push dword [ebp - 0x1a4]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x460360
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
test edi, edi
je 0x460360
and dword [ebp - 0x18], 0
push edi
call fcn.004eb2d8
pop ecx
push 0
mov esi, eax
lea eax, [ebp - 0x18]
push eax
push edi
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x18], edi
je 0x460360
push esi
call fcn.004ead03
xor ebx, ebx
jmp 0x460377
xor ebx, ebx
test esi, esi
je 0x460378
mov edx, edi
mov ecx, esi
call fcn.0046039e
push esi
mov ebx, eax
call fcn.004ead03
pop ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1a4]
call fcn.0044e875
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x47c]
call fcn.0043fb1c
mov eax, ebx
call fcn.004ebc45
ret