Function at 0x100f8a60
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 0x100f8c6e
cmp byte [esi + 0x5c], 0x72
jne 0x100f8c6e
mov ecx, dword [esi + 0x38]
cmp ecx, 0xfffffffd
je 0x100f8c65
cmp ecx, 0xffffffff
je 0x100f8c65
push 1
pop edi
cmp ecx, edi
jne 0x100f8aa6
xor eax, eax
jmp 0x100f8c71
mov ecx, dword [ebp + 0x10]
mov dword [ebp + 8], eax
cmp ecx, ebx
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], ecx
je 0x100f8ae4
cmp dword [esi + 0x6c], 0xffffffff
je 0x100f8ae4
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 0x100f8ae4
mov dword [esi + 0x38], edi
mov eax, edi
jmp 0x100f8c71
cmp dword [esi + 0x10], ebx
je 0x100f8c36
cmp dword [esi + 0x58], ebx
jne 0x100f8bcf
cmp dword [esi + 4], ebx
jne 0x100f8b3a
cmp dword [esi + 0x3c], ebx
jne 0x100f8b3a
call fcn.10107e51
mov dword [eax], ebx
push dword [esi + 0x40]
push 0x4000
push 1
pop edi
push edi
push dword [esi + 0x44]
call fcn.101034cc
add esp, 0x10
cmp eax, ebx
mov dword [esi + 4], eax
jne 0x100f8b35
mov eax, dword [esi + 0x40]
mov dword [esi + 0x3c], edi
test byte [eax + 0xc], 0x20
jne 0x100f8c32
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.100faf90
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 0x100f8bc0
mov eax, dword [esi + 0xc]
sub eax, dword [ebp + 0xc]
push eax
push dword [ebp + 0xc]
push dword [esi + 0x4c]
call fcn.100fc5e4
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0xc]
push esi
mov dword [ebp + 0xc], eax
call fcn.100f9145
add esp, 0x10
cmp eax, dword [esi + 0x4c]
je 0x100f8b95
mov dword [esi + 0x38], 0xfffffffd
jmp 0x100f8bc0
push esi
call fcn.100f9145
push esi
call fcn.100f880c
cmp dword [esi + 0x38], ebx
pop ecx
pop ecx
jne 0x100f8c36
push esi
call fcn.100fae22
push ebx
push ebx
push ebx
call fcn.100fc5e4
add esp, 0x10
mov dword [esi + 0x4c], eax
cmp dword [esi + 0x38], ebx
jne 0x100f8c36
cmp dword [esi + 0x3c], ebx
jne 0x100f8c36
jmp 0x100f8ae4
mov edi, dword [esi + 4]
mov eax, dword [esi + 0x10]
cmp edi, eax
jbe 0x100f8bdb
mov edi, eax
cmp edi, ebx
jbe 0x100f8bfe
push edi
push dword [esi]
push dword [esi + 0xc]
call fcn.10102a40
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 0x100f8c19
push dword [esi + 0x40]
push eax
push 1
push dword [ebp + 8]
call fcn.101034cc
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 0x100f8c71
mov dword [esi + 0x3c], 1
jmp 0x100f8c71
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.100fc5e4
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x4c], eax
mov eax, dword [ebp + 0x10]
add esp, 0xc
cmp eax, ecx
jne 0x100f8c6a
mov esi, dword [esi + 0x38]
cmp esi, 0xfffffffd
je 0x100f8c65
cmp esi, 0xffffffff
jne 0x100f8c6a
or eax, 0xffffffff
jmp 0x100f8c71
sub eax, ecx
jmp 0x100f8c71
push 0xfffffffffffffffe
pop eax
pop edi
pop esi
pop ebx
pop ebp
ret