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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x86aabf
sub esp, 0x50
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x1c], 0x18
lea eax, [0x9b28cc]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x7c]
mov dword [esp + 0x38], eax
lea eax, [0x99565c]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 0x1c
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
lea eax, [esp + 0x1c]
mov dword [esp], eax
call fcn.0042c560
test eax, eax
jne 0x86aa8c
movzx eax, byte [esp + 0x54]
test al, al
je 0x86aa85
mov eax, 0xffffff80
movzx ecx, byte [esp + 0x55]
test cl, cl
je 0x86a7c2
or eax, 0x40
movzx ecx, byte [esp + 0x56]
test cl, cl
je 0x86a7ce
or eax, 0x20
movzx ecx, byte [esp + 0x57]
test cl, cl
je 0x86a7da
or eax, 0x10
or eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x6c]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.0063dad0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
test eax, eax
jne 0x86aa7b
movzx eax, byte [esp + 0x64]
test al, al
je 0x86aa74
mov eax, 0xffffff80
mov ecx, dword [esp + 0x60]
test ecx, ecx
sete cl
setg dl
mov ebx, dword [esp + 0x5c]
cmp ebx, 0xffff
xchg ebp, ebx
seta bl
xchg ebp, ebx
and ebp, ecx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x86aa3c
or eax, 0x7f
mov ecx, dword [esp + 0x6c]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.0063dad0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
test ecx, ecx
jne 0x86aa32
mov ebx, dword [esp + 0x60]
test ebx, ebx
xchg ebp, ebx
setg bl
xchg ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
mov edi, dword [esp + 0x5c]
cmp edi, 0xffff
mov eax, ebx
seta bl
and ebx, esi
or ebx, ebp
test bl, bl
je 0x86a9c0
nop
mov ecx, dword [esp + 0x74]
cmp ecx, 7
jbe 0x86aab4
mov edx, eax
shr eax, 0x18
mov ebx, dword [esp + 0x70]
mov byte [ebx], al
mov eax, edx
shr edx, 0x10
mov byte [ebx + 1], dl
mov edx, eax
shr eax, 8
mov byte [ebx + 2], al
mov byte [ebx + 3], dl
mov eax, edi
shr edi, 0x18
mov ebp, edx
shl edx, 8
or edx, edi
mov byte [ebx + 4], dl
mov edx, eax
shr eax, 0x10
mov esi, ebp
shl ebp, 0x10
or ebp, eax
xchg ebp, eax
mov byte [ebx + 5], al
xchg ebp, eax
mov eax, edx
shr edx, 8
shl esi, 0x18
or esi, edx
xchg esi, eax
mov byte [ebx + 6], al
xchg esi, eax
mov byte [ebx + 7], al
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x78]
mov dword [esp + 0xc], edx
call fcn.0063d8c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x7c]
test edx, edx
jne 0x86a9b6
movzx edx, byte [esp + 0x64]
test dl, dl
je 0x86a98f
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x74]
cmp ecx, 3
jbe 0x86aa96
mov eax, dword [esp + 0x70]
mov dword [eax], edx
mov ecx, dword [esp + 0x6c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0x78]
mov dword [esp + 0xc], eax
call fcn.0063d8c0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
test ecx, ecx
jne 0x86a9ac
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
nop
call fcn.0042cca0
add esp, 0x50
ret
nop
call fcn.0042cca0
add esp, 0x50
ret
nop
call fcn.0042cca0
add esp, 0x50
ret
cmp edi, 0x7d
seta bl
and ebx, esi
or ebx, ebp
test bl, bl
je 0x86a930
nop
mov ecx, dword [esp + 0x74]
cmp ecx, 1
jbe 0x86aaaa
mov eax, edi
shr di, 8
mov ebx, dword [esp + 0x70]
xchg edi, eax
mov byte [ebx], al
xchg edi, eax
mov byte [ebx + 1], al
mov edx, dword [esp + 0x78]
cmp edx, 2
jb 0x86aaa0
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], 2
mov dword [esp + 0xc], edx
call fcn.0063d8c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
jmp 0x86a930
nop
call fcn.0042cca0
add esp, 0x50
ret
cmp ebx, 0x7d
xchg ebp, ebx
seta bl
xchg ebp, ebx
and ebp, ecx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x86aa58
or eax, 0x7e
jmp 0x86a849
test ebx, ebx
xchg ebp, ebx
setae bl
xchg ebp, ebx
and ecx, ebp
or ecx, edx
test cl, cl
je 0x86a849
or eax, ebx
jmp 0x86a849
xor eax, eax
jmp 0x86a81b
nop
call fcn.0042cca0
add esp, 0x50
ret
xor eax, eax
jmp 0x86a7b6
nop
call fcn.0042cca0
add esp, 0x50
ret
mov eax, 3
call fcn.00457060
mov ecx, 2
call fcn.004570a0
mov eax, 1
call fcn.00457060
mov eax, 7
call fcn.00457060
nop
call fcn.004557a0
jmp fcn.0086a720