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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x8710a9
sub esp, 0x60
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x2c], 0x18
lea eax, [0x9b28cc]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x78]
mov dword [esp + 0x48], eax
lea eax, [0x996442]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], 0x1d
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
lea eax, [esp + 0x2c]
mov dword [esp], eax
call fcn.0042c560
test eax, eax
jne 0x871082
mov eax, dword [esp + 0x64]
movzx ebx, byte [eax + 0xf0]
test bl, bl
je 0x87103d
mov ebx, dword [eax + 0xf4]
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x68]
jmp 0x870ef3
mov ebx, dword [esp + 0x74]
add ebx, ecx
mov dword [esp + 0x74], ebx
sub edx, ecx
mov esi, dword [esp + 0x70]
sub esi, ecx
mov ebx, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ecx, esi
mov ebp, dword [esp + 0x68]
lea edi, [ebp + ecx]
mov ecx, dword [esp + 0x64]
mov esi, ebx
mov ebp, edx
mov ebx, eax
mov eax, ecx
test ebp, ebp
jle 0x871023
mov dword [esp + 0x68], edi
mov dword [esp + 0x70], esi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], ebx
mov ecx, ebx
mov ebx, dword [eax + 0x20]
mov edx, edi
mov edi, dword [ebx + 0x14]
cmp dword [ebx + 0xc], edi
je 0x870fe4
mov ebx, dword [eax + 0x20]
mov edi, dword [ebx + 0x14]
mov eax, dword [ebx + 0xc]
sub eax, edi
cmp ebp, eax
jle 0x870fdd
cmp eax, esi
ja 0x87109f
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], eax
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
call fcn.0063d8c0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x870fcb
mov ebx, dword [esp + 0x64]
mov ebp, dword [ebx + 0x20]
mov esi, dword [ebx + 0xcc]
mov edx, dword [ebx + 0xd4]
mov ecx, dword [ebp + 0x14]
cmp ecx, edx
ja 0x87109a
mov eax, dword [esp + 0x24]
cmp eax, ecx
ja 0x871095
mov ebx, dword [esp + 0x1c]
mov dword [esp], ebx
sub edx, eax
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, eax
add edx, esi
mov dword [esp + 4], edx
sub ecx, eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
call fcn.0086aad0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
cmp ecx, edx
jbe 0x870ec0
jmp 0x87108c
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
nop
call fcn.0042cca0
add esp, 0x60
ret
mov eax, ebp
jmp 0x870f31
mov dword [esp], ebx
call fcn.0063d6d0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
test ecx, ecx
jne 0x871019
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x68]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x70]
jmp 0x870f1e
nop
call fcn.0042cca0
add esp, 0x60
ret
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
nop
call fcn.0042cca0
add esp, 0x60
ret
mov eax, dword [eax + 0x20]
mov dword [esp], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc], eax
call fcn.0063d8c0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
nop
call fcn.0042cca0
add esp, 0x60
ret
nop
call fcn.0042cca0
add esp, 0x60
ret
mov eax, ecx
mov ecx, edx
call fcn.004570c0
call fcn.004570c0
call fcn.004570a0
mov ecx, eax
mov edx, esi
call fcn.004570a0
nop
call fcn.004557a0
jmp fcn.00870e10