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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55720b
mov eax, dword fs:[0]
push eax
sub esp, 0x2d8
mov eax, dword [0x5aa464]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2dc], ecx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x2c8], ebx
call fcn.0045a5f0
push eax
lea ecx, [ebp - 0x94]
call fcn.00453f60
mov dword [ebp - 4], 0
call fcn.0045a600
mov ecx, eax
call fcn.00454ba0
mov esi, dword [sym.imp.KERNEL32.dll_GetFileSize]
test al, al
je 0x4a4595
push ebx
lea ecx, [ebp - 0x94]
call fcn.00454370
push 0
push 0x80
push 3
push 0
push 1
push SysReAllocString
lea ecx, [ebp - 0x94]
call fcn.00454270
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x4a4519
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], eax
call fcn.004540b0
jmp 0x4a47c4
push 0
push ebx
call esi
mov esi, eax
test esi, esi
jne 0x4a453b
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xffffffff
call fcn.004540b0
jmp 0x4a47be
push esi
mov dword [ebp - 0x2cc], 0
call fcn.0050a58e
add esp, 4
mov edi, eax
lea eax, [ebp - 0x2cc]
push 0
push eax
push esi
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x2cc], esi
je 0x4a47a4
push edi
call fcn.0050a26a
add esp, 4
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xffffffff
call fcn.004540b0
jmp 0x4a47be
call fcn.0045a8c0
test al, al
jne 0x4a46b2
call fcn.0045a600
push eax
lea ecx, [ebp - 0x94]
call fcn.00454350
call fcn.0045a870
test al, al
je 0x4a45c3
call fcn.0045a610
jmp 0x4a45db
push 2
push 0
lea ecx, [ebp - 0x94]
call fcn.00454270
push eax
call fcn.004716a0
add esp, 0xc
mov ebx, eax
test ebx, ebx
jne 0x4a45f8
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xffffffff
call fcn.004540b0
jmp 0x4a47c4
lea eax, [ebp - 0x2c4]
push eax
lea eax, [ebp - 0x2d4]
push eax
push 1
push dword [ebp - 0x2c8]
push ebx
call fcn.00470fb0
add esp, 0x14
test eax, eax
je 0x4a4632
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xffffffff
call fcn.004540b0
jmp 0x4a47c4
mov esi, dword [ebp - 0x98]
test esi, esi
jne 0x4a4653
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xffffffff
call fcn.004540b0
jmp 0x4a47be
push esi
call fcn.0050a58e
push 3
push esi
mov edi, eax
push edi
push dword [ebp - 0x2d4]
push ebx
call fcn.00471b30
add esp, 0x18
test eax, eax
je 0x4a469a
cmp eax, 0x600
je 0x4a469a
push edi
call fcn.0050a26a
add esp, 4
call fcn.0045a870
test al, al
jne 0x4a457e
push ebx
call fcn.00470d90
jmp 0x4a457b
call fcn.0045a870
test al, al
jne 0x4a47a4
push ebx
call fcn.00470d90
jmp 0x4a47a1
call fcn.0045a600
push eax
lea ecx, [ebp - 0x94]
call fcn.00454350
call fcn.0045a870
test al, al
je 0x4a46d3
call fcn.0045a610
jmp 0x4a46eb
push 0
push 0
lea ecx, [ebp - 0x94]
call fcn.00454270
push eax
call fcn.00475b50
add esp, 0xc
mov ebx, eax
test ebx, ebx
jne 0x4a4708
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xffffffff
call fcn.004540b0
jmp 0x4a47c4
lea eax, [ebp - 0x2e4]
push eax
lea eax, [ebp - 0x2d8]
push eax
push dword [ebp - 0x2c8]
push ebx
call fcn.00475450
add esp, 0x10
test eax, eax
je 0x4a4740
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xffffffff
call fcn.004540b0
jmp 0x4a47c4
mov esi, dword [ebp - 0x2e4]
test esi, esi
je 0x4a457e
push esi
call fcn.0050a58e
mov edi, eax
push edi
push dword [ebp - 0x2d8]
push ebx
call fcn.00475dc0
add esp, 0x10
test eax, eax
je 0x4a4792
cmp eax, 0x600
je 0x4a4792
push edi
call fcn.0050a26a
add esp, 4
call fcn.0045a870
test al, al
jne 0x4a457e
push ebx
call fcn.00475360
jmp 0x4a457b
call fcn.0045a870
test al, al
jne 0x4a47a4
push ebx
call fcn.00475360
add esp, 4
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xffffffff
call fcn.004540b0
test edi, edi
jne 0x4a483f
mov esi, dword [sym.imp.KERNEL32.dll_GetFileSize]
push 0
push 0x80
push 3
push 0
push 1
push SysReAllocString
push dword [ebp - 0x2c8]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x4a483b
push 0
push ebx
call esi
mov esi, eax
test esi, esi
je 0x4a483b
push esi
mov dword [ebp - 0x2d0], 0
call fcn.0050a58e
add esp, 4
mov edi, eax
lea eax, [ebp - 0x2d0]
push 0
push eax
push esi
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x2d0], esi
je 0x4a4837
push edi
call fcn.0050a26a
add esp, 4
xor eax, eax
jmp 0x4a485b
test edi, edi
jne 0x4a483f
xor eax, eax
jmp 0x4a485b
mov ecx, dword [ebp - 0x2dc]
push esi
push edi
call fcn.004a4880
push 1
push edi
mov esi, eax
call fcn.00509f94
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00509f60
mov esp, ebp
pop ebp
ret 4