Function at 0x4db6d8
Capabilities:
Check if file exists
Get file size
Read file on windows

Disassembly:
push 0x3c8
mov eax, 0x554804
call fcn.00513ea1
mov ebx, dword [ebp + 8]
and dword [ebp - 0x3d0], 0
push 0x73
pop ecx
mov esi, str.ebsbJ5fRwEbQynygYTjBVZXxHTOSKJqOHC0hrPZeRbYs3PmrcYEky2KgOGLgMw3XAExeWAqh0COLV2AlHTGReUkXWW7xxamawTVL2XdhpcZ1hkwO00Kyu2ioYpJg8nJbCRqfWfo0lYTemkIggXjqcoClRdT7KWuZeaZkICzs1jWsnkjUW12KRM3lXLrqLvosa3Qx8pcEm1qB86IgSzBfBOfunbiwgAbS2ZpVqVRoUJempSqufCRRT0SU0loZ2BGATz9Umsuk0WdzV2aTmBXz0zWjOv837P1mXs4dPPhgBgfkWR4NdZ2rMT9VC6sFOzoKhcUXPlKuh6LocnXkYFneopk4h84XkYgWs6bLWKqFy7ILYSuAPna7HADT8rxKaIS2safcPUVp8pxZ3NNAzX4pSXC0K9efBAXfSynq6EZWlgkYkSpelCeg2AQLyaGVrEWLXtBiRETDthMFi
and dword [ebp - 4], 0
lea edi, [ebp - 0x304]
rep movsd dword es:[edi], dword [esi]
push 0x49
pop ecx
movsw word es:[edi], word [esi]
mov esi, str.xmT4uMVB9bXrwgpqv4lLnrsuzmGW6Y4OUcaHyNmID0hYo4AcxGXqStnlYJjH7fUJDEKzzciOAQFSnt8QFiRVERP1qltVUIGN4tSiNbodWsK3Mr69k43qVQearNjehPqQwjovh2yZlsIzLhZPdE3tLTzU2rnQh7BgwlwCb6DqUpdoDFwe851GShenrYQrnOv4jPAcQFOuUsu0D9An47FBnIizLv79bldKtUey1DPuRQT2goDaMsCdqyoZRzoxauKu5pNKMzcQuNiuveKPOCTQnyUqHuxjRm6OaP3
lea edi, [ebp - 0x134]
rep movsd dword es:[edi], dword [esi]
xor esi, esi
mov dword [ebp - 0x3c8], esi
mov dword [ebp - 0x3c4], esi
mov dword [ebp - 0x3c0], esi
lea eax, [ebp - 0x304]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x334]
call fcn.004057d0
lea eax, [ebp - 0x334]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x3c8]
call fcn.00408170
push esi
push 1
lea ecx, [ebp - 0x334]
mov byte [ebp - 4], 1
call fcn.004096c0
lea eax, [ebp - 0x134]
push eax
lea ecx, [ebp - 0x334]
call fcn.004057d0
lea eax, [ebp - 0x334]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x3c8]
call fcn.00408170
push esi
push 1
lea ecx, [ebp - 0x334]
mov byte [ebp - 4], 1
call fcn.004096c0
push esi
xor eax, eax
mov dword [ebp - 0x308], 7
push 0x656bb0
lea ecx, [ebp - 0x31c]
mov dword [ebp - 0x30c], esi
mov word [ebp - 0x31c], ax
call fcn.00402650
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 4
call fcn.004e7341
cmp dword [ebp + 0x20], 8
lea eax, [ebp + 0xc]
cmovae eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4db929
cmp dword [ebp + 0x20], 8
lea eax, [ebp + 0xc]
push esi
cmovae eax, dword [ebp + 0xc]
push 0x80
push 4
push esi
push 1
push connect
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x4db830
push 0x656bb0
mov ecx, ebx
call fcn.004024f0
jmp 0x4db937
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x3bc], eax
inc eax
push eax
mov dword [ebp - 0x3cc], eax
call fcn.004741dd
mov esi, eax
pop ecx
test esi, esi
jne 0x4db87d
push 0x656bb0
mov ecx, ebx
call fcn.004024f0
push esi
push 1
lea ecx, [ebp - 0x31c]
call fcn.00402590
lea ecx, [ebp - 0x3c8]
call fcn.0047920e
push esi
jmp 0x4db951
push dword [ebp - 0x3cc]
push 0
push esi
call fcn.004f0ae0
add esp, 0xc
lea eax, [ebp - 0x3d4]
push 0
push eax
push dword [ebp - 0x3bc]
push esi
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x3bc]
lea ecx, [ebp - 0x3b8]
push esi
call fcn.004e7d0d
push esi
call fcn.004741e6
pop ecx
lea eax, [ebp - 0x334]
push eax
lea ecx, [ebp - 0x3b8]
call fcn.004e755b
push eax
lea eax, [ebp - 0x34c]
mov byte [ebp - 4], 5
push eax
call fcn.004da339
pop ecx
pop ecx
xor esi, esi
mov byte [ebp - 4], 7
push esi
push 1
lea ecx, [ebp - 0x334]
call fcn.004096c0
cmp dword [ebp - 0x33c], esi
jbe 0x4db91b
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x34c]
push eax
lea ecx, [ebp - 0x31c]
call fcn.00402880
push esi
push 1
lea ecx, [ebp - 0x34c]
call fcn.00402590
lea eax, [ebp - 0x31c]
mov ecx, ebx
push eax
call fcn.00404610
push esi
push 1
lea ecx, [ebp - 0x31c]
call fcn.00402590
lea ecx, [ebp - 0x3c8]
call fcn.0047920e
push esi
push 1
lea ecx, [ebp + 0xc]
call fcn.00402590
mov eax, ebx
call fcn.00513e4b
ret