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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x45c
mov eax, dword [0x101e9008]
xor eax, ebp
mov dword [ebp - 4], eax
push 0
push 0x80
push 3
push 0
push 1
push bind
mov ecx, dword [ebp + 8]
call fcn.1001a810
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x424], eax
cmp dword [ebp - 0x424], 0xffffffff
jne 0x1002883a
xor eax, eax
jmp 0x10028aca
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x424]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x440], edx
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 0
jg 0x10028892
jl 0x10028874
cmp dword [ebp - 0x440], 0x1fffcc
ja 0x10028892
mov ecx, dword [ebp - 0x424]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp + 8]
push edx
call fcn.100285a0
add esp, 4
jmp 0x10028aca
push 0
push 0x64
mov eax, dword [ebp - 0x43c]
push eax
mov ecx, dword [ebp - 0x440]
push ecx
call fcn.10177860
mov dword [ebp - 0x45c], eax
mov dword [ebp - 0x458], edx
mov dword [ebp - 0x444], 0x51eb
push 0x101825f5
push 0x1fffcc
call fcn.1005396e
add esp, 8
mov dword [ebp - 0x44c], eax
mov edx, dword [ebp - 0x44c]
mov dword [ebp - 0x428], edx
cmp dword [ebp - 0x428], 0
jne 0x100288f3
xor eax, eax
jmp 0x10028aca
mov dword [ebp - 0x430], 0
call fcn.10026dc0
mov dword [ebp - 0x450], eax
lea eax, [ebp - 0x420]
push eax
mov ecx, dword [ebp - 0x450]
call fcn.1002be90
xorps xmm0, xmm0
movlpd qword [ebp - 0x438], xmm0
mov dword [ebp - 0x42c], 0
jmp 0x10028940
mov ecx, dword [ebp - 0x42c]
add ecx, 1
mov dword [ebp - 0x42c], ecx
cmp dword [ebp - 0x42c], 0x64
jge 0x10028a71
cmp dword [ebp - 0x42c], 0x63
jne 0x1002899d
xor edx, edx
mov eax, dword [ebp - 0x440]
sub eax, dword [ebp - 0x444]
mov ecx, dword [ebp - 0x43c]
sbb ecx, edx
sub eax, 1
sbb ecx, 0
mov dword [ebp - 0x438], eax
mov dword [ebp - 0x434], ecx
push 0
push 0
mov edx, dword [ebp - 0x434]
push edx
mov eax, dword [ebp - 0x438]
push eax
mov ecx, dword [ebp - 0x424]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov dword [ebp - 8], 0
push 0
lea edx, [ebp - 8]
push edx
mov eax, dword [ebp - 0x444]
push eax
mov ecx, dword [ebp - 0x428]
push ecx
mov edx, dword [ebp - 0x424]
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x100289ce
jmp 0x10028a71
cmp dword [ebp - 0x430], 0
jne 0x100289f9
lea eax, [ebp - 0x420]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0x428]
push edx
call fcn.1002beb0
add esp, 0xc
mov dword [ebp - 0x430], eax
jmp 0x10028a20
mov eax, dword [ebp - 0x430]
push eax
lea ecx, [ebp - 0x420]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0x428]
push eax
call fcn.1002bf20
add esp, 0x10
mov dword [ebp - 0x430], eax
cmp dword [ebp - 0x42c], 0x63
je 0x10028a6c
mov ecx, dword [ebp - 0x438]
add ecx, dword [ebp - 0x45c]
mov edx, dword [ebp - 0x434]
adc edx, dword [ebp - 0x458]
mov dword [ebp - 0x438], ecx
mov dword [ebp - 0x434], edx
push 0
push 0
mov eax, dword [ebp - 0x434]
push eax
mov ecx, dword [ebp - 0x438]
push ecx
mov edx, dword [ebp - 0x424]
push edx
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
jmp 0x10028931
mov eax, dword [ebp - 0x424]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x428]
mov dword [ebp - 0x448], ecx
mov edx, dword [ebp - 0x448]
push edx
call fcn.1005320b
add esp, 4
cmp dword [ebp - 0x448], 0
jne 0x10028aae
mov dword [ebp - 0x454], 0
jmp 0x10028ac4
mov dword [ebp - 0x428], 0x8123
mov eax, dword [ebp - 0x428]
mov dword [ebp - 0x454], eax
mov eax, dword [ebp - 0x430]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100531cc
mov esp, ebp
pop ebp
ret