Function at 0x101494e0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc
mov eax, dword [ebp + 0x10]
mov dword [esp], ecx
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
test eax, eax
jg 0x1014950f
jl 0x10149502
test esi, esi
jne 0x1014950f
xor eax, eax
xor edx, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [ecx + 0x38], 0
mov edi, esi
je 0x101495d6
mov dword [esp + 0x10], eax
nop
call fcn.10065580
mov ecx, edx
mov esi, eax
mov dword [esp + 0x14], ecx
test ecx, ecx
jl 0x10149578
jg 0x10149537
test esi, esi
je 0x10149578
mov eax, dword [esp + 0x10]
cmp eax, ecx
jg 0x1014954b
jl 0x10149545
cmp edi, esi
jae 0x1014954b
mov esi, edi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xc]
push esi
mov eax, dword [eax + 0x1c]
push dword [eax]
push ebx
call fcn.101d2370
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov edx, dword [esp + 0x10]
sub edi, esi
sbb edx, dword [esp + 0x14]
mov eax, dword [ecx + 0x2c]
sub dword [eax], esi
mov eax, dword [ecx + 0x1c]
add dword [eax], esi
jmp 0x101495a9
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x1024852c]
mov ecx, dword [esp + 0xc]
call esi
mov edx, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x101495c1
mov ecx, dword [esp + 0xc]
add edi, 0xffffffff
mov byte [ebx], al
mov esi, 1
adc edx, 0xffffffff
add ebx, esi
mov dword [esp + 0x10], edx
test edx, edx
jg 0x10149520
jl 0x101495c1
test edi, edi
jne 0x10149520
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
sub eax, edi
sbb ecx, edx
mov edx, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
test eax, eax
je 0x10149623
mov eax, dword [ecx + 0x2c]
lea edx, [ecx + 0x2c]
mov dword [esp + 0x10], edx
mov eax, dword [eax]
test eax, eax
je 0x1014962a
mov edi, dword [ebp + 0xc]
cmp eax, edi
cmovb esi, eax
push esi
push dword [esp + 0x18]
push ebx
call fcn.101d2370
mov eax, dword [esp + 0x1c]
add ebx, esi
mov ecx, dword [esp + 0x18]
sub edi, esi
add esp, 0xc
mov eax, dword [eax]
sub dword [eax], esi
mov eax, dword [ecx + 0x1c]
add dword [eax], esi
mov esi, dword [ebp + 0xc]
jmp 0x1014962a
lea eax, [ecx + 0x2c]
mov dword [esp + 0x10], eax
cmp dword [ecx + 0x4c], 0
je 0x101496af
mov edx, dword [ecx + 0xc]
lea eax, [ecx + 0x3c]
mov dword [esp + 0x14], edx
cmp dword [edx], eax
jne 0x10149661
mov edx, dword [ecx + 0x54]
mov eax, dword [esp + 0x14]
mov ecx, dword [ecx + 0x50]
sub edx, ecx
mov dword [eax], ecx
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x1c]
mov dword [eax], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax]
mov dword [eax], edx
cmp edi, 0xfff
jbe 0x10149696
nop dword [eax]
push dword [ecx + 0x4c]
push 0xfff
push 1
push ebx
call fcn.101ead90
add esp, 0x10
add ebx, eax
sub edi, eax
cmp eax, 0xfff
jne 0x101496af
mov ecx, dword [esp + 0xc]
cmp edi, eax
ja 0x10149670
test edi, edi
je 0x101496af
mov eax, dword [esp + 0xc]
push dword [eax + 0x4c]
push edi
push 1
push ebx
call fcn.101ead90
add esp, 0x10
sub edi, eax
mov edx, dword [ebp + 0x10]
sub esi, edi
pop edi
mov eax, esi
sbb edx, 0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc