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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4b9afb
push eax
mov dword fs:[0], esp
sub esp, 0x10
push esi
mov esi, ecx
mov ecx, dword [0x653474]
call fcn.0041c970
test eax, eax
je 0x4793fe
xor eax, eax
pop esi
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
add esp, 0x1c
ret 4
push ebx
mov ebx, dword [esp + 0x28]
push ebp
push edi
xor edi, edi
push edi
push 0x80
push 3
push edi
push 3
push bind
push ebx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebp, eax
cmp ebp, 0xffffffff
mov dword [esp + 0x30], ebp
jne 0x479462
push ebx
push str.Cant_Find__s
push 0x65334c
call fcn.0040bb70
add esp, 0xc
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
add esp, 0x1c
ret 4
push edi
push ebp
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ecx, dword [0x653470]
push eax
push ebx
call fcn.00462c20
mov ebx, dword [sym.imp.KERNEL32.dll_ReadFile]
push edi
lea eax, [esp + 0x1c]
push eax
push 4
lea ecx, [esp + 0x1c]
push ecx
push ebp
mov dword [esp + 0x2c], edi
call ebx
push edi
lea edx, [esp + 0x1c]
push edx
push 4
lea eax, [esp + 0x20]
push eax
push ebp
call ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esi + 0x14], eax
shl eax, 5
mov edx, ecx
mov dword [esi + 0x1c], eax
lea eax, [ecx*4]
shl edx, 6
push eax
mov dword [esi + 0x10], ecx
mov dword [esi + 0x18], edx
call fcn.004a99f8
mov ecx, dword [esp + 0x14]
lea edx, [ecx*4]
push edx
mov dword [esi + 4], eax
call fcn.004a99f8
mov dword [esi + 8], eax
mov eax, dword [esp + 0x18]
lea ecx, [eax*4]
push ecx
call fcn.004a99f8
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jle 0x4795e2
jmp 0x479510
mov ebx, dword [esp + 0x14]
lea edx, [ebx + ebx*2]
lea eax, [edx*8 + 4]
push eax
call fcn.004a99f8
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x28], 0
je 0x479557
push fcn.004a5fa0
push 0x4a5fb0
push ebx
lea ebp, [eax + 4]
push 0x18
push ebp
mov dword [eax], ebx
call fcn.004aa135
mov eax, ebp
mov ebp, dword [esp + 0x30]
jmp 0x479559
xor eax, eax
mov ecx, dword [esi + 4]
mov dword [ecx + edi*4], eax
mov eax, dword [esp + 0x14]
lea edx, [eax + eax*4]
shl edx, 2
push edx
mov dword [esp + 0x2c], 0xffffffff
mov ebx, eax
call fcn.004a99f8
add esp, 4
test eax, eax
je 0x4795ad
dec ebx
js 0x4795af
lea ecx, [eax + 4]
lea edx, [ebx + 1]
lea esp, [esp]
xor ebx, ebx
mov dword [ecx + 4], ebx
mov dword [ecx], ebx
mov word [ecx - 4], bx
mov dword [ecx + 8], 0xffffff
mov byte [ecx + 0xc], bl
add ecx, 0x14
dec edx
jne 0x479590
jmp 0x4795af
xor eax, eax
mov ecx, dword [esi + 8]
mov dword [ecx + edi*4], eax
mov edx, dword [esp + 0x14]
lea eax, [edx*4]
push eax
call fcn.004a99f8
mov ecx, dword [esi + 0xc]
add esp, 4
mov dword [ecx + edi*4], eax
mov eax, dword [esp + 0x10]
inc edi
cmp edi, eax
jl 0x479510
mov ebx, dword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, dword [esi + 4]
push 0
lea edx, [esp + 0x1c]
push edx
mov edx, dword [ecx]
lea eax, [eax + eax*2]
shl eax, 3
push eax
push edx
push ebp
call ebx
mov eax, dword [esp + 0x10]
xor edi, edi
test eax, eax
jle 0x479628
mov edx, dword [esi + 4]
push 0
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x1c]
lea ecx, [eax + eax*2]
mov eax, dword [edx + edi*4]
shl ecx, 3
push ecx
push eax
push ebp
call ebx
mov eax, dword [esp + 0x10]
inc edi
cmp edi, eax
jl 0x479603
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x10]
xor ebx, ebx
test eax, eax
jle 0x4796a1
lea esp, [esp]
mov eax, dword [esp + 0x14]
xor ebp, ebp
test eax, eax
jle 0x479698
xor edi, edi
lea esp, [esp]
mov ecx, dword [esi + 4]
mov edx, dword [ecx + ebx*4]
mov al, byte [edx + edi + 0x10]
test al, al
je 0x47966e
movzx ax, al
push 0
dec eax
push eax
call fcn.004a5db0
add esp, 8
mov ecx, dword [esi + 4]
mov edx, dword [ecx + ebx*4]
mov al, byte [edx + edi + 7]
test al, al
je 0x47968c
movzx ax, al
push 1
dec eax
push eax
call fcn.004a5db0
add esp, 8
mov eax, dword [esp + 0x14]
inc ebp
add edi, 0x18
cmp ebp, eax
jl 0x479650
mov eax, dword [esp + 0x10]
inc ebx
cmp ebx, eax
jl 0x479640
mov ecx, dword [esp + 0x20]
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
mov dword fs:[0], ecx
add esp, 0x1c
ret 4