Function at 0x1008a871
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0x14
mov eax, 0x100c573c
call fcn.100b710a
mov dword [ebp - 0x14], ecx
mov esi, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
imul esi, esi, 0x88
xor ebx, ebx
mov dword [edx], ebx
add esi, dword [ecx + 0x28]
mov dword [ebp - 4], ebx
mov eax, dword [esi + 0x44]
shr eax, 0x13
and al, 1
mov dword [ebp - 0x18], eax
jne 0x1008a8cb
mov eax, dword [esi + 0x38]
or eax, dword [esi + 0x3c]
jne 0x1008a8cb
cmp dword [esi + 0x1c], ebx
ja 0x1008a8cb
jb 0x1008a8b8
cmp dword [esi + 0x18], 0x3c
jae 0x1008a8cb
push edx
mov edx, dword [esi + 0x18]
lea ecx, [esi + 0x4c]
call fcn.10022fdc
xor eax, eax
jmp 0x1008aad7
cmp dword [esi + 0x1c], 0x80000000
jb 0x1008a8e3
ja 0x1008aad4
cmp dword [esi + 0x18], ebx
jae 0x1008aad4
mov dword [ebp + 8], ebx
mov ecx, dword [ecx + 0x78]
xor eax, eax
inc eax
shl eax, cl
xor edx, edx
mov byte [ebp - 4], 1
mov dword [ebp - 0x20], ecx
dec eax
add eax, dword [esi + 0x18]
adc edx, dword [esi + 0x1c]
call fcn.100b8c30
cmp byte [ebp - 0x18], 0
mov edi, edx
mov ebx, eax
mov dword [ebp - 0x1c], edi
je 0x1008a9f1
cmp ebx, ebx
jne 0x1008aad4
xor eax, eax
cmp eax, edi
jne 0x1008aad4
push 0x38
call fcn.10003e5c
mov edi, eax
xor eax, eax
pop ecx
test edi, edi
je 0x1008a94d
mov dword [edi + 4], eax
mov dword [edi], vtable.NArchive::NExt::CExtInStream.0
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], eax
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], eax
jmp 0x1008a94f
mov edi, eax
push edi
lea ecx, [ebp + 8]
call fcn.10044e22
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x78]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0x20], eax
mov eax, dword [esi + 0x1c]
mov dword [edi + 0x24], eax
push dword [ecx + 0x60]
lea ecx, [edi + 0x28]
call fcn.10044e22
mov ecx, dword [ebp - 0x14]
push 0xffffffffffffffff
lea eax, [edi + 0x2c]
push eax
push 0x3c
lea eax, [esi + 0x4c]
push eax
call fcn.10089aa4
mov esi, eax
xor eax, eax
test esi, esi
je 0x1008a9ab
mov byte [ebp - 4], al
mov eax, dword [ebp + 8]
test eax, eax
je 0x1008a9a4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, esi
jmp 0x1008aad7
mov edx, eax
lea esi, [edi + 0x2c]
cmp dword [edi + 0x30], eax
je 0x1008a9c7
mov ecx, dword [esi + 4]
mov eax, dword [esi]
add ecx, ecx
movzx edx, word [eax + ecx*8 - 0xc]
add edx, dword [eax + ecx*8 - 0x10]
xor eax, eax
cmp eax, dword [ebp - 0x1c]
ja 0x1008a9dc
jb 0x1008a9d2
cmp edx, ebx
jae 0x1008a9dc
sub ebx, edx
push ebx
mov ecx, esi
call fcn.100893d0
mov ecx, edi
call fcn.1008c377
mov esi, eax
test esi, esi
je 0x1008aaba
xor eax, eax
jmp 0x1008a994
mov eax, dword [esi + 0x44]
shr eax, 0x12
test al, 1
je 0x1008aa01
xor eax, eax
mov ecx, eax
jmp 0x1008aa07
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff7
xor edx, edx
inc edx
shl edx, cl
xor eax, eax
and eax, dword [esi + 0x3c]
dec edx
and edx, dword [esi + 0x38]
or edx, eax
jne 0x1008aad4
cmp ebx, ebx
jne 0x1008aad4
xor eax, eax
cmp eax, edi
jne 0x1008aad4
push 0x38
call fcn.10003e5c
mov edi, eax
xor eax, eax
pop ecx
test edi, edi
je 0x1008aa56
mov dword [edi + 4], eax
mov dword [edi], vtable.NArchive::NExt::CClusterInStream2.0
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], eax
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], eax
jmp 0x1008aa58
mov edi, eax
push edi
lea ecx, [ebp + 8]
call fcn.10044e22
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x78]
mov dword [edi + 0x1c], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0x20], eax
mov eax, dword [esi + 0x1c]
mov dword [edi + 0x24], eax
push dword [ecx + 0x60]
lea ecx, [edi + 0x28]
call fcn.10044e22
mov ecx, dword [ebp - 0x14]
lea eax, [edi + 0x2c]
push eax
push ebx
lea eax, [esi + 0x4c]
push eax
call fcn.10089d34
mov esi, eax
test esi, esi
je 0x1008aab3
mov ecx, dword [ebp + 8]
xor eax, eax
mov byte [ebp - 4], al
test ecx, ecx
je 0x1008a9a4
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
jmp 0x1008a9a4
mov ecx, edi
call fcn.1008aadf
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [ecx], eax
jmp 0x1008a8c4
xor eax, eax
inc eax
call fcn.100b706f
ret 8