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

Disassembly:
push ebp
sub esp, 0x2b4
lea ebp, [esp - 4]
mov eax, dword [0x4d4f10]
xor eax, ebp
mov dword [ebp + 0x2b4], eax
push 0x14
mov eax, 0x4aac12
call fcn.0047c56d
mov esi, dword [ebp + 0x2c0]
mov dword [ebp - 0x20], esi
call fcn.00446693
push eax
lea ecx, [ebp + 0x230]
call fcn.00445f63
xor edi, edi
mov dword [ebp - 4], edi
call fcn.00446699
mov ecx, eax
call fcn.00445cd6
test al, al
je 0x47488e
push esi
lea ecx, [ebp + 0x230]
call fcn.00445d66
push edi
push 0x80
push 3
push edi
push 1
push SysReAllocString
lea ecx, [ebp + 0x230]
call fcn.00446847
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x10], eax
cmp eax, 0xffffffff
jne 0x474849
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x230]
call fcn.00445bb1
jmp 0x474968
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
cmp esi, edi
je 0x474835
push esi
mov dword [ebp - 0x18], edi
call fcn.004451aa
pop ecx
push edi
mov ebx, eax
lea eax, [ebp - 0x18]
push eax
push esi
push ebx
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x18], esi
je 0x474955
push ebx
call fcn.0047b495
pop ecx
jmp 0x474835
call fcn.00446699
push eax
lea ecx, [ebp + 0x230]
call fcn.00445d4c
call fcn.0044669f
test al, al
je 0x4748af
call fcn.004466a5
jmp 0x4748c6
push 2
push edi
lea ecx, [ebp + 0x230]
call fcn.00446847
push eax
call fcn.00450c08
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp eax, edi
je 0x474835
lea eax, [ebp]
push eax
lea eax, [ebp - 0x1c]
push eax
push 1
push esi
push dword [ebp - 0x10]
call fcn.0044f306
add esp, 0x14
test eax, eax
jne 0x474835
mov esi, dword [ebp + 0x22c]
cmp esi, edi
je 0x474835
push esi
call fcn.004451aa
push 3
push esi
mov ebx, eax
push ebx
push dword [ebp - 0x1c]
push dword [ebp - 0x10]
call fcn.00450c65
add esp, 0x18
cmp eax, edi
je 0x474943
cmp eax, 0x600
je 0x474943
push ebx
call fcn.0047b495
pop ecx
call fcn.0044669f
test al, al
jne 0x474835
push dword [ebp - 0x10]
call fcn.00450c9f
jmp 0x47488b
call fcn.0044669f
test al, al
jne 0x474955
push dword [ebp - 0x10]
call fcn.00450c9f
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x230]
call fcn.00445bb1
cmp ebx, edi
jne 0x4749d2
push edi
push 0x80
push 3
push edi
push 1
push SysReAllocString
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x10], eax
cmp eax, 0xffffffff
je 0x4749ce
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
cmp esi, edi
je 0x4749ce
push esi
mov dword [ebp - 0x14], edi
call fcn.004451aa
pop ecx
push edi
mov ebx, eax
lea eax, [ebp - 0x14]
push eax
push esi
push ebx
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x14], esi
je 0x4749ca
push ebx
call fcn.0047b495
pop ecx
xor ebx, ebx
cmp ebx, edi
jne 0x4749d2
xor eax, eax
jmp 0x4749e6
push esi
push ebx
call fcn.00474631
push ebx
mov esi, eax
call fcn.0047afc0
add esp, 0xc
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 + 0x2b4]
xor ecx, ebp
call fcn.0047afcb
add ebp, 0x2b8
leave
ret