Function at 0x1013cad8
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
push edi
cmp esi, ebx
mov dword [ebp + 0xc], eax
je 0x1013cce6
cmp byte [esi + 0x5c], 0x72
jne 0x1013cce6
mov ecx, dword [esi + 0x38]
cmp ecx, 0xfffffffd
je 0x1013ccdd
cmp ecx, 0xffffffff
je 0x1013ccdd
push 1
pop edi
cmp ecx, edi
jne 0x1013cb1e
xor eax, eax
jmp 0x1013cce9
mov ecx, dword [ebp + 0x10]
mov dword [ebp + 8], eax
cmp ecx, ebx
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], ecx
je 0x1013cb5c
cmp dword [esi + 0x6c], 0xffffffff
je 0x1013cb5c
mov cl, byte [esi + 0x6c]
mov byte [eax], cl
or dword [esi + 0x6c], 0xffffffff
inc eax
inc dword [esi + 0xc]
dec dword [esi + 0x10]
inc dword [esi + 0x68]
cmp dword [esi + 0x70], ebx
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], eax
je 0x1013cb5c
mov dword [esi + 0x38], edi
mov eax, edi
jmp 0x1013cce9
cmp dword [esi + 0x10], ebx
je 0x1013ccae
cmp dword [esi + 0x58], ebx
jne 0x1013cc47
cmp dword [esi + 4], ebx
jne 0x1013cbb2
cmp dword [esi + 0x3c], ebx
jne 0x1013cbb2
call fcn.1014d0bf
mov dword [eax], ebx
push dword [esi + 0x40]
push 0x4000
push 1
pop edi
push edi
push dword [esi + 0x44]
call fcn.10147aa1
add esp, 0x10
cmp eax, ebx
mov dword [esi + 4], eax
jne 0x1013cbad
mov eax, dword [esi + 0x40]
mov dword [esi + 0x3c], edi
test byte [eax + 0xc], 0x20
jne 0x1013ccaa
mov eax, dword [esi + 0x44]
mov dword [esi], eax
mov eax, dword [esi + 4]
push ebx
add dword [esi + 0x64], eax
mov eax, dword [esi + 0x10]
add dword [esi + 0x68], eax
push esi
call fcn.1013f008
pop ecx
mov dword [esi + 0x38], eax
pop ecx
mov ecx, dword [esi + 4]
sub dword [esi + 0x64], ecx
mov ecx, dword [esi + 0x10]
sub dword [esi + 0x68], ecx
cmp eax, 1
jne 0x1013cc38
mov eax, dword [esi + 0xc]
sub eax, dword [ebp + 0xc]
push eax
push dword [ebp + 0xc]
push dword [esi + 0x4c]
call fcn.1014065c
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0xc]
push esi
mov dword [ebp + 0xc], eax
call fcn.1013d1bd
add esp, 0x10
cmp eax, dword [esi + 0x4c]
je 0x1013cc0d
mov dword [esi + 0x38], 0xfffffffd
jmp 0x1013cc38
push esi
call fcn.1013d1bd
push esi
call fcn.1013c884
cmp dword [esi + 0x38], ebx
pop ecx
pop ecx
jne 0x1013ccae
push esi
call fcn.1013ee9a
push ebx
push ebx
push ebx
call fcn.1014065c
add esp, 0x10
mov dword [esi + 0x4c], eax
cmp dword [esi + 0x38], ebx
jne 0x1013ccae
cmp dword [esi + 0x3c], ebx
jne 0x1013ccae
jmp 0x1013cb5c
mov edi, dword [esi + 4]
mov eax, dword [esi + 0x10]
cmp edi, eax
jbe 0x1013cc53
mov edi, eax
cmp edi, ebx
jbe 0x1013cc76
push edi
push dword [esi]
push dword [esi + 0xc]
call fcn.10147010
add dword [ebp + 8], edi
add dword [esi], edi
mov eax, dword [ebp + 8]
sub dword [esi + 0x10], edi
add esp, 0xc
sub dword [esi + 4], edi
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x10]
cmp eax, ebx
jbe 0x1013cc91
push dword [esi + 0x40]
push eax
push 1
push dword [ebp + 8]
call fcn.10147aa1
add esp, 0x10
sub dword [esi + 0x10], eax
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x10]
add dword [esi + 0x64], eax
add dword [esi + 0x68], eax
cmp eax, ebx
jne 0x1013cce9
mov dword [esi + 0x3c], 1
jmp 0x1013cce9
or dword [esi + 0x38], 0xffffffff
mov eax, dword [esi + 0xc]
sub eax, dword [ebp + 0xc]
push eax
push dword [ebp + 0xc]
push dword [esi + 0x4c]
call fcn.1014065c
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x4c], eax
mov eax, dword [ebp + 0x10]
add esp, 0xc
cmp eax, ecx
jne 0x1013cce2
mov esi, dword [esi + 0x38]
cmp esi, 0xfffffffd
je 0x1013ccdd
cmp esi, 0xffffffff
jne 0x1013cce2
or eax, 0xffffffff
jmp 0x1013cce9
sub eax, ecx
jmp 0x1013cce9
push 0xfffffffffffffffe
pop eax
pop edi
pop esi
pop ebx
pop ebp
ret