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

Disassembly:
push 0x18
mov eax, 0x100d6ff6
call fcn.100c75c5
mov dword [ebp - 0x14], ecx
imul edi, dword [ebp + 8], 0x88
xor esi, esi
mov edx, dword [ebp + 0xc]
mov dword [ebp - 4], esi
mov dword [edx], esi
add edi, dword [ecx + 0x28]
mov eax, dword [edi + 0x44]
shr eax, 0x13
and al, 1
mov dword [ebp - 0x20], eax
jne 0x10045faa
mov eax, dword [edi + 0x38]
or eax, dword [edi + 0x3c]
jne 0x10045faa
cmp dword [edi + 0x1c], esi
ja 0x10045faa
jb 0x10045f97
cmp dword [edi + 0x18], 0x3c
jae 0x10045faa
push edx
mov edx, dword [edi + 0x18]
lea ecx, [edi + 0x4c]
call fcn.100a63f4
xor eax, eax
jmp 0x100461a7
cmp dword [edi + 0x1c], 0x80000000
jb 0x10045fc2
ja 0x10045fba
cmp dword [edi + 0x18], esi
jb 0x10045fc2
xor eax, eax
inc eax
jmp 0x100461a7
mov dword [ebp + 8], esi
mov ecx, dword [ecx + 0x78]
xor eax, eax
inc eax
mov byte [ebp - 4], 1
shl eax, cl
xor edx, edx
dec eax
mov dword [ebp - 0x24], ecx
add eax, dword [edi + 0x18]
adc edx, dword [edi + 0x1c]
call fcn.100c70d0
cmp byte [ebp - 0x20], 0
mov dword [ebp - 0x18], eax
mov eax, edx
mov dword [ebp - 0x1c], eax
je 0x100460cc
cmp esi, eax
jne 0x100460c7
push 0x38
call fcn.100c7442
mov ebx, eax
pop ecx
test ebx, ebx
je 0x10046021
mov dword [ebx + 4], esi
mov dword [ebx], vtable.NArchive::NExt::CExtInStream.0
mov dword [ebx + 0x28], esi
mov dword [ebx + 0x2c], esi
mov dword [ebx + 0x30], esi
mov dword [ebx + 0x34], esi
jmp 0x10046023
mov ebx, esi
push ebx
lea ecx, [ebp + 8]
call fcn.1001c69c
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x78]
mov dword [ebx + 0x18], eax
mov eax, dword [edi + 0x18]
mov dword [ebx + 0x20], eax
mov eax, dword [edi + 0x1c]
mov dword [ebx + 0x24], eax
push dword [ecx + 0x60]
lea ecx, [ebx + 0x28]
call fcn.1001c69c
mov ecx, dword [ebp - 0x14]
lea eax, [ebx + 0x2c]
push 0xffffffffffffffff
push eax
push 0x3c
lea eax, [edi + 0x4c]
push eax
call fcn.10045964
mov edi, eax
test edi, edi
je 0x1004607e
mov byte [ebp - 4], 3
mov eax, dword [ebp + 8]
test eax, eax
je 0x10046077
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, edi
jmp 0x100461a7
lea edi, [ebx + 0x2c]
mov edx, esi
cmp dword [ebx + 0x30], esi
je 0x10046098
mov ecx, dword [edi + 4]
mov eax, dword [edi]
add ecx, ecx
movzx edx, word [eax + ecx*8 - 0xc]
add edx, dword [eax + ecx*8 - 0x10]
cmp esi, dword [ebp - 0x1c]
ja 0x100460b0
mov eax, dword [ebp - 0x18]
jb 0x100460a6
cmp edx, eax
jae 0x100460b0
sub eax, edx
mov ecx, edi
push eax
call fcn.100456ff
mov ecx, ebx
call fcn.10047aaa
mov edi, eax
test edi, edi
je 0x1004618b
mov byte [ebp - 4], 4
jmp 0x1004606a
jmp 0x10045fba
mov eax, dword [edi + 0x44]
shr eax, 0x12
test al, 1
mov eax, dword [ebp - 0x24]
push 0
pop ecx
lea eax, [eax - 9]
cmove ecx, eax
xor edx, edx
inc edx
xor eax, eax
and eax, dword [edi + 0x3c]
shl edx, cl
dec edx
and edx, dword [edi + 0x38]
or edx, eax
je 0x100460f7
jmp 0x10045fba
cmp esi, dword [ebp - 0x1c]
jne 0x100461a2
push 0x38
call fcn.100c7442
mov ebx, eax
pop ecx
test ebx, ebx
je 0x10046125
mov dword [ebx + 4], esi
mov dword [ebx], vtable.NArchive::NExt::CClusterInStream2.0
mov dword [ebx + 0x28], esi
mov dword [ebx + 0x2c], esi
mov dword [ebx + 0x30], esi
mov dword [ebx + 0x34], esi
jmp 0x10046127
mov ebx, esi
push ebx
lea ecx, [ebp + 8]
call fcn.1001c69c
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x78]
mov dword [ebx + 0x1c], eax
mov eax, dword [edi + 0x18]
mov dword [ebx + 0x20], eax
mov eax, dword [edi + 0x1c]
mov dword [ebx + 0x24], eax
push dword [ecx + 0x60]
lea ecx, [ebx + 0x28]
call fcn.1001c69c
mov ecx, dword [ebp - 0x14]
lea eax, [ebx + 0x2c]
push eax
mov eax, dword [ebp - 0x18]
push eax
lea eax, [edi + 0x4c]
push eax
call fcn.10045c00
mov edi, eax
test edi, edi
je 0x10046184
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 7
test ecx, ecx
je 0x10046077
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
jmp 0x10046077
mov ecx, ebx
call fcn.100461af
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [ecx], eax
jmp 0x100461a5
xor esi, esi
inc esi
mov eax, esi
call fcn.100c7523
ret 8