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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x63c
mov eax, dword [0x10067bf0]
xor eax, ebp
mov dword [ebp - 0x28], eax
mov dword [ebp - 4], 0x195d3b7f
mov dword [ebp - 0x434], 0x2a6e4c80
mov dword [ebp - 8], 0x37bf15d9
mov dword [ebp - 0x18], 0xc40826ae
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x42c], 1
mov dword [ebp - 0x14], 0
push 0
push 0x80
push 3
push 0
push 1
push closesocket
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jbe 0x10010f89
cmp dword [ebp - 0x20], 0xffffffff
jne 0x10011085
mov ecx, dword [ebp + 8]
push ecx
call fcn.1003e420
add esp, 4
cmp eax, 1
jbe 0x10011085
mov edx, dword [ebp + 8]
movsx eax, byte [edx + 1]
cmp eax, 0x3a
je 0x10011085
push 0x10120550
lea ecx, [ebp - 0x638]
push ecx
call fcn.1003fd60
add esp, 8
push 0x10059628
lea edx, [ebp - 0x638]
push edx
call fcn.1003fd70
add esp, 8
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x638]
push ecx
call fcn.1003fd70
add esp, 8
push 0
push 0x80
push 3
push 0
push 1
push closesocket
lea edx, [ebp - 0x638]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jbe 0x10011017
cmp dword [ebp - 0x20], 0xffffffff
jne 0x10011085
push 0x10120750
lea eax, [ebp - 0x638]
push eax
call fcn.1003fd60
add esp, 8
push 0x1005962c
lea ecx, [ebp - 0x638]
push ecx
call fcn.1003fd70
add esp, 8
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x638]
push eax
call fcn.1003fd70
add esp, 8
push 0
push 0x80
push 3
push 0
push 1
push closesocket
lea ecx, [ebp - 0x638]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jbe 0x10011080
cmp dword [ebp - 0x20], 0xffffffff
jne 0x10011085
jmp 0x1001125f
push 0
mov edx, dword [ebp - 0x20]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x42c], 0
jbe 0x100111eb
mov dword [ebp - 0x42c], 0
push 0x400
push 0
lea eax, [ebp - 0x428]
push eax
call fcn.1003e4c0
add esp, 0xc
push 0
lea ecx, [ebp - 0x42c]
push ecx
push 0x400
lea edx, [ebp - 0x428]
push edx
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x42c]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x24], 0
jne 0x100110fa
jmp 0x100111eb
mov dword [ebp - 0x63c], 0
jmp 0x10011115
mov edx, dword [ebp - 0x63c]
add edx, 1
mov dword [ebp - 0x63c], edx
mov eax, dword [ebp - 0x63c]
cmp eax, dword [ebp - 0x42c]
jae 0x100111e6
cmp dword [ebp - 0x63c], 0x400
jge 0x100111e6
mov ecx, dword [ebp - 0x63c]
movzx edx, byte [ebp + ecx - 0x428]
add edx, dword [ebp - 4]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x434]
add eax, dword [ebp - 4]
mov dword [ebp - 0x434], eax
mov ecx, dword [ebp - 0x63c]
movzx edx, byte [ebp + ecx - 0x428]
mov eax, dword [ebp - 0x434]
sub eax, edx
mov dword [ebp - 0x434], eax
mov ecx, dword [ebp - 8]
add ecx, dword [ebp - 0x434]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x63c]
movzx eax, byte [ebp + edx - 0x428]
shl eax, 4
mov ecx, dword [ebp - 0x63c]
movzx edx, byte [ebp + ecx - 0x428]
sar edx, 4
or eax, edx
add eax, dword [ebp - 8]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 8]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x63c]
movzx edx, byte [ebp + ecx - 0x428]
shl edx, 4
mov eax, dword [ebp - 0x63c]
movzx ecx, byte [ebp + eax - 0x428]
sar ecx, 4
or edx, ecx
mov eax, dword [ebp - 0x18]
sub eax, edx
mov dword [ebp - 0x18], eax
jmp 0x10011106
jmp 0x10011094
mov ecx, dword [ebp - 0x20]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x434]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
shl eax, 8
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 4]
shl ecx, 8
shr ecx, 8
or ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
shl ecx, 8
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 8]
shl edx, 8
shr edx, 8
or edx, dword [ebp - 0x10]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x430], eax
mov ecx, dword [ebp - 0x430]
push ecx
mov edx, dword [ebp - 0x1c]
push edx
push str._08x_08x
mov eax, dword [ebp + 0xc]
push eax
call fcn.1003e91e
add esp, 0x10
mov ecx, dword [ebp - 0x28]
xor ecx, ebp
call fcn.1003e4ab
mov esp, ebp
pop ebp
ret