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

Disassembly:
push 0x73c
mov eax, 0x53ea69
call fcn.004d5b87
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x508]
call fcn.004848f1
xor edi, edi
lea ecx, [ebp - 0x508]
push edi
push edi
push esi
mov dword [ebp - 4], edi
call fcn.0048933e
lea eax, [ebp - 0x400]
push eax
lea ecx, [ebp - 0x19c]
call fcn.00482cfa
mov byte [ebp - 4], 1
mov esi, edi
mov ebx, edi
call fcn.004863cf
push eax
lea ecx, [ebp - 0x94]
call fcn.00482cfa
mov byte [ebp - 4], 2
call fcn.004863db
mov ecx, eax
call fcn.0048358a
test al, al
je 0x4a7332
lea eax, [ebp - 0x19c]
push eax
lea ecx, [ebp - 0x94]
call fcn.00482fe4
push edi
push 0x80
push 3
push edi
push 1
push accept
lea ecx, [ebp - 0x94]
call fcn.00482f38
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x73c], eax
cmp eax, 0xffffffff
jne 0x4a72dc
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 1
call fcn.00482e21
jmp 0x4a74c9
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
test ebx, ebx
je 0x4a72c8
push ebx
mov dword [ebp - 0x744], edi
call fcn.004d521a
pop ecx
push edi
mov esi, eax
lea eax, [ebp - 0x744]
push eax
push ebx
push esi
push dword [ebp - 0x73c]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0x73c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x744], ebx
je 0x4a74b2
push esi
call fcn.004d5223
pop ecx
mov esi, edi
jmp 0x4a72c8
call fcn.004863db
push eax
lea ecx, [ebp - 0x94]
call fcn.00482fe4
call fcn.00486789
test al, al
je 0x4a7359
call fcn.004863e1
mov dword [ebp - 0x73c], eax
jmp 0x4a73c8
call fcn.004863e7
push eax
lea ecx, [ebp - 0x220]
call fcn.00482cfa
push edi
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 3
call fcn.00482f38
push eax
call fcn.0048ba7b
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x740], eax
call fcn.00482f38
push eax
call fcn.0049cde0
mov dword [ebp - 0x73c], eax
mov eax, dword [ebp - 0x740]
pop ecx
pop ecx
test eax, eax
je 0x4a73b3
push eax
call fcn.004d5223
pop ecx
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 2
call fcn.00482e21
mov eax, dword [ebp - 0x73c]
test eax, eax
je 0x4a72c8
lea eax, [ebp - 0x19c]
mov dword [ebp - 0x748], edi
push eax
lea ecx, [ebp - 0x118]
call fcn.00482cfa
push 0x55bbec
push 0x54a8bc
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 4
call fcn.00483746
lea eax, [ebp - 0x738]
push eax
lea eax, [ebp - 0x748]
push eax
push 1
lea ecx, [ebp - 0x118]
call fcn.00482f38
push eax
push dword [ebp - 0x73c]
call fcn.0049c7ae
add esp, 0x14
test eax, eax
je 0x4a743f
lea ecx, [ebp - 0x118]
call fcn.00482e21
jmp 0x4a72c8
mov ebx, dword [ebp - 0x50c]
test ebx, ebx
je 0x4a742f
push ebx
call fcn.004d521a
push ebx
mov esi, eax
push esi
push dword [ebp - 0x748]
push dword [ebp - 0x73c]
call fcn.0049d21f
add esp, 0x14
test eax, eax
je 0x4a7492
cmp eax, 0x600
je 0x4a7492
push esi
call fcn.004d5223
pop ecx
mov esi, edi
call fcn.00486789
test al, al
jne 0x4a742f
push dword [ebp - 0x73c]
call fcn.0049c591
pop ecx
jmp 0x4a742f
call fcn.00486789
test al, al
jne 0x4a74a7
push dword [ebp - 0x73c]
call fcn.0049c591
pop ecx
lea ecx, [ebp - 0x118]
call fcn.00482e21
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 1
call fcn.00482e21
test esi, esi
jne 0x4a754a
push edi
push 0x80
push 3
push edi
push 1
push accept
lea ecx, [ebp - 0x19c]
call fcn.00482f38
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x73c], eax
cmp eax, 0xffffffff
je 0x4a7546
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
test ebx, ebx
je 0x4a7546
push ebx
mov dword [ebp - 0x740], edi
call fcn.004d521a
pop ecx
push edi
mov esi, eax
lea eax, [ebp - 0x740]
push eax
push ebx
push esi
push dword [ebp - 0x73c]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0x73c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x740], ebx
je 0x4a7546
push esi
call fcn.004d5223
pop ecx
mov esi, edi
test esi, esi
je 0x4a755c
push ebx
push esi
call fcn.004a71ad
push esi
mov edi, eax
call fcn.004d5223
add esp, 0xc
lea ecx, [ebp - 0x19c]
call fcn.00482e21
lea ecx, [ebp - 0x508]
call fcn.00484d46
mov eax, edi
call fcn.004d5b31
ret