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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5404f3
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push esi
push edi
mov eax, dword [0x5bc684]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
or ebx, 0xffffffff
mov dword [ebp - 0x14], ebx
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
mov edi, dword [ebp + 8]
cmp edi, esi
je 0x491400
cmp byte [edi], 0
je 0x491400
mov ecx, 0x5c1f14
call fcn.00498030
mov dword [ebp - 4], esi
push 0x5c1f14
lea ecx, [ebp - 0x34]
call fcn.00498260
mov byte [ebp - 4], 1
jmp 0x491200
lea ecx, [ebp - 0x34]
call fcn.00498ec0
mov esi, eax
test esi, esi
je 0x49123e
mov edx, edi
mov ecx, esi
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x491232
test al, al
je 0x49122e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x491232
add ecx, 2
add edx, 2
test al, al
jne 0x491212
xor eax, eax
jmp 0x491237
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x491200
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], 0
jne 0x49135c
xor esi, esi
mov dword [ebp - 0x20], esi
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0x32
jge 0x49128b
cmp ebx, 0xffffffff
jne 0x491294
test esi, esi
jle 0x491265
push 0x14
call edi
inc esi
mov dword [ebp - 0x20], esi
push 0
push 0x80
push 4
push 0
push 1
push SysReAllocString
mov eax, dword [ebp + 8]
push eax
call fcn.0048fbc0
mov dword [ebp - 0x14], eax
mov ebx, eax
jmp 0x491253
cmp ebx, 0xffffffff
je 0x49135c
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
lea ebx, [esi + 1]
push ebx
call fcn.004fc6be
mov edi, eax
mov dword [ebp - 0x1c], edi
push ebx
push 0
push edi
call fcn.004ff6f0
add esp, 0x10
push 0
push 0
push 0
mov ebx, dword [ebp - 0x14]
push ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 0
lea ecx, [ebp - 0x24]
push ecx
push esi
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x49134b
push 0x10c
call fcn.00480850
add esp, 4
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x4912ff
mov ecx, eax
call fcn.004904f0
mov esi, eax
jmp 0x491301
xor esi, esi
mov byte [ebp - 4], 1
mov dword [ebp - 0x18], esi
push 0x103
mov edx, dword [ebp + 8]
push edx
push esi
call fcn.004ff0c0
add esp, 0xc
push edi
lea ecx, [esi + 0x104]
call fcn.004bfc00
push edi
lea ecx, [esi + 0x108]
call fcn.004bfc00
lea ecx, [esi + 0x108]
call fcn.004c00e0
push esi
mov ecx, 0x5c1f14
call fcn.00498400
mov ebx, dword [ebp - 0x14]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x14], 0xffffffff
mov ebx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.00498280
mov dword [ebp - 4], 0xffffffff
jmp 0x491392
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4913a9
push eax
call fcn.004fedfc
add esp, 4
mov dword [ebp - 4], 0xffffffff
jmp 0x4913d3
mov ecx, 0x5c1f14
call fcn.004980a0
cmp ebx, 0xffffffff
je 0x4913e9
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4