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

Disassembly:
push 0x73c
mov eax, 0x486a38
call fcn.0041ca69
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x508]
call fcn.004363d3
xor ebx, ebx
push ebx
push ebx
push esi
lea ecx, [ebp - 0x508]
mov dword [ebp - 4], ebx
call fcn.00436443
lea eax, [ebp - 0x400]
push eax
lea ecx, [ebp - 0x19c]
call fcn.0043162b
mov byte [ebp - 4], 1
mov dword [ebp - 0x73c], ebx
xor esi, esi
call fcn.004345b2
push eax
lea ecx, [ebp - 0x94]
call fcn.0043162b
mov byte [ebp - 4], 2
call fcn.004345b8
mov ecx, eax
call fcn.00431314
test al, al
je 0x4510c4
lea eax, [ebp - 0x19c]
push eax
lea ecx, [ebp - 0x94]
call fcn.00431393
push ebx
push 0x80
push 3
push ebx
push 1
push SysReAllocString
lea ecx, [ebp - 0x94]
call fcn.0043133d
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x45106b
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 1
call fcn.004311e9
jmp 0x45124e
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
cmp esi, ebx
je 0x451057
push esi
mov dword [ebp - 0x744], ebx
call fcn.00482b18
pop ecx
push ebx
lea ecx, [ebp - 0x744]
push ecx
push esi
push eax
push edi
mov dword [ebp - 0x73c], eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x744], esi
je 0x451237
push dword [ebp - 0x73c]
call fcn.0041a6e5
pop ecx
mov dword [ebp - 0x73c], ebx
jmp 0x451057
call fcn.004345b8
push eax
lea ecx, [ebp - 0x94]
call fcn.00431393
call fcn.004345c4
test al, al
je 0x4510e7
call fcn.004345ca
mov edi, eax
jmp 0x45114c
call fcn.004345be
push eax
lea ecx, [ebp - 0x220]
call fcn.0043162b
push ebx
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 3
call fcn.0043133d
push eax
call fcn.0044f074
pop ecx
pop ecx
mov edi, eax
push edi
lea ecx, [ebp - 0x94]
call fcn.0043133d
push eax
call fcn.0045a47c
pop ecx
pop ecx
mov dword [ebp - 0x740], eax
cmp edi, ebx
je 0x451137
push edi
call fcn.0041a6e5
pop ecx
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 2
call fcn.004311e9
mov edi, dword [ebp - 0x740]
cmp edi, ebx
je 0x451057
lea eax, [ebp - 0x19c]
push eax
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x748], ebx
call fcn.0043162b
push 0x4a1b00
push 0x4a1578
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 4
call fcn.004317fd
lea eax, [ebp - 0x738]
push eax
lea eax, [ebp - 0x748]
push eax
push 1
lea ecx, [ebp - 0x118]
call fcn.0043133d
push eax
push edi
call fcn.004589f6
add esp, 0x14
test eax, eax
je 0x4511c2
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 2
call fcn.004311e9
jmp 0x451057
mov esi, dword [ebp - 0x50c]
cmp esi, ebx
je 0x4511ae
push esi
call fcn.00482b18
push esi
push eax
push dword [ebp - 0x748]
mov dword [ebp - 0x73c], eax
push edi
call fcn.0045a4e3
add esp, 0x14
cmp eax, ebx
je 0x451218
cmp eax, 0x600
je 0x451218
push dword [ebp - 0x73c]
call fcn.0041a6e5
pop ecx
mov dword [ebp - 0x73c], ebx
call fcn.004345c4
test al, al
jne 0x4511ae
push edi
call fcn.0045a4fe
pop ecx
jmp 0x4511ae
call fcn.004345c4
test al, al
jne 0x451228
push edi
call fcn.0045a4fe
pop ecx
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 2
call fcn.004311e9
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 1
call fcn.004311e9
cmp dword [ebp - 0x73c], ebx
jne 0x4512ca
push ebx
push 0x80
push 3
push ebx
push 1
push SysReAllocString
lea ecx, [ebp - 0x19c]
call fcn.0043133d
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x4512ca
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
cmp esi, ebx
je 0x4512ca
push esi
mov dword [ebp - 0x740], ebx
call fcn.00482b18
pop ecx
push ebx
lea ecx, [ebp - 0x740]
push ecx
push esi
push eax
push edi
mov dword [ebp - 0x73c], eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x740], esi
je 0x4512ca
push dword [ebp - 0x73c]
call fcn.0041a6e5
pop ecx
mov dword [ebp - 0x73c], ebx
xor edi, edi
cmp dword [ebp - 0x73c], ebx
je 0x4512f0
push esi
push dword [ebp - 0x73c]
call fcn.0044fd0d
push dword [ebp - 0x73c]
mov edi, eax
call fcn.0041a6e5
add esp, 0xc
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], bl
call fcn.004311e9
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x508]
call fcn.0043247a
mov eax, edi
call fcn.0041cab3
ret