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

Disassembly:
push 0x9c
mov eax, 0x485c10
call fcn.0045e53f
mov edx, ecx
mov dword [ebp - 0x9c], edx
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x98], edi
call fcn.0041b057
xor esi, esi
lea eax, [edx + 4]
mov dword [ebp - 4], esi
cmp dword [eax + 0x10], esi
je 0x410167
push eax
lea ecx, [ebp - 0x28]
call fcn.0041e1ec
push dword [ebp + 0xc]
lea ecx, [ebp - 0x2c]
call fcn.0041bf74
lea eax, [ebp - 0x2c]
mov ecx, edi
push eax
call fcn.0041b6c8
jmp 0x410386
lea ecx, [ebp - 0x48]
call fcn.0040ffba
push esi
push 0x80
push 3
push esi
mov byte [ebp - 4], 1
lea eax, [ebp - 0x44]
cmp dword [ebp - 0x30], 8
push 1
cmovae eax, dword [ebp - 0x44]
push connect
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x410374
lea eax, [ebp - 0xa8]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x4101be
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x410374
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x98], eax
cmp ecx, esi
jg 0x4101b2
jl 0x4101b2
cmp eax, esi
jbe 0x4101b2
cmp ecx, esi
jl 0x4101e7
jg 0x4101b2
cmp eax, 0x7f8
jae 0x4101b2
push 0x800
call fcn.0045dbe2
mov esi, eax
mov dword [esp], 0x800
push 0
push esi
mov dword [ebp - 0x94], esi
call fcn.0045fe50
and dword [ebp - 0x90], 0
lea eax, [ebp - 0x90]
add esp, 0xc
push 0
push eax
push dword [ebp - 0x98]
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push ebx
mov esi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
je 0x410367
cmp dword [ebp - 0x90], 0
jbe 0x410367
mov esi, dword [ebp - 0x94]
lea ecx, [ebp - 0x80]
lea eax, [esi + 2]
push eax
call fcn.0041b66b
push esi
call fcn.0045db9f
xor eax, eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x64]
mov dword [esp], 0x49c924
call fcn.0041b66b
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x80]
call fcn.0041d7f3
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 3
call fcn.0041baf2
mov eax, dword [ebp - 0x88]
sub eax, dword [ebp - 0x8c]
push 0x1c
cdq
pop ecx
idiv ecx
cmp eax, 2
jb 0x41034a
push dword [ebp - 0x8c]
lea ecx, [ebp - 0x64]
call fcn.0041b6c8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x8c]
lea ecx, [ecx + 0x1c]
call fcn.0041bf61
cmp dword [ebp - 0x50], 0xa
mov esi, eax
jle 0x410342
test esi, esi
je 0x410342
mov ebx, dword [ebp - 0x9c]
lea ecx, [ebx + 4]
cmp dword [ecx + 0x10], 0
jne 0x410342
lea eax, [ebp - 0x60]
push eax
call fcn.0041e1ec
push dword [ebp + 0xc]
lea ecx, [ebp - 0x64]
mov dword [ebx + 0x1c], esi
call fcn.0041bf74
lea eax, [ebp - 0x64]
mov ecx, edi
push eax
call fcn.0041b6c8
lea ecx, [ebp - 0x64]
call fcn.0041baf2
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 6
call fcn.00404329
lea ecx, [ebp - 0x80]
call fcn.0041baf2
jmp 0x41037e
lea ecx, [ebp - 0x64]
call fcn.0041baf2
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 7
call fcn.00404329
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 1
call fcn.0041baf2
jmp 0x410374
mov esi, dword [ebp - 0x94]
push esi
call fcn.0045db9f
pop ecx
mov dl, byte [ebp + 0xc]
mov ecx, edi
call fcn.00410398
lea ecx, [ebp - 0x48]
call fcn.0041baf2
lea ecx, [ebp - 0x2c]
call fcn.0041baf2
mov eax, edi
call fcn.0045e4e9
ret 8