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

Disassembly:
mov rax, rsp
mov byte [rax + 0x20], r9b
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb8
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movzx ebx, r9b
mov r11, rdx
mov r9, rcx
xor ebp, ebp
mov dword [rsp + 0x110], ebp
mov r10d, 0xffffffff
mov qword [rcx], 0xffffffffffffffff
mov dword [rcx + 8], r10d
test r8b, r8b
je 0x14008b62c
mov rax, qword [rcx + 0x10]
mov ecx, dword [rax + 0x17c]
add dword [rdx], ecx
mov rax, qword [r9 + 0x10]
mov ecx, dword [rax + 0x180]
add dword [rdx + 4], ecx
mov r13, qword [r9 + 0x10]
cmp dword [r13 + 0x10], ebp
jne 0x14008b63d
xor al, al
jmp 0x14008bc34
movsxd r14, dword [r13 + 0xa8]
test r14d, r14d
je 0x14008b6b0
mov rax, qword [r13 + 0xb8]
mov rdx, qword [rax + r14*8 - 8]
test rdx, rdx
je 0x14008b6b0
movsxd rax, dword [rdx + 0x18]
test eax, eax
js 0x14008b691
cmp eax, dword [r13 + 0xf0]
jge 0x14008b691
mov rcx, rax
add rcx, rcx
mov rax, qword [r13 + 0x100]
movups xmm0, xmmword [rax + rcx*8]
movups xmmword [rsp + 0x30], xmm0
mov ecx, dword [rdx + 0x1c]
mov dword [rsp + 0x30], ecx
add ecx, dword [rdx + 0x20]
mov dword [rsp + 0x38], ecx
jmp 0x14008b6b9
mov dword [rsp + 0x34], ebp
mov dword [rsp + 0x3c], ebp
mov ecx, dword [rdx + 0x1c]
mov dword [rsp + 0x30], ecx
add ecx, dword [rdx + 0x20]
mov dword [rsp + 0x38], ecx
jmp 0x14008b6b9
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov r12d, 0x30
mov rsi, r13
lea rax, [rsp + 0x30]
movups xmm1, xmmword [rax]
test r14d, r14d
jle 0x14008b730
mov rax, qword [r13 + 0xb8]
mov rdx, qword [rax]
test rdx, rdx
je 0x14008b730
movsxd rax, dword [rdx + 0x18]
test eax, eax
js 0x14008b717
cmp eax, dword [r13 + r12 + 0xc0]
jge 0x14008b717
mov rcx, rax
add rcx, rcx
mov rax, qword [r13 + r12 + 0xd0]
movups xmm0, xmmword [rax + rcx*8]
movups xmmword [rsp + 0x40], xmm0
mov ecx, dword [rdx + 0x1c]
mov dword [rsp + 0x40], ecx
add ecx, dword [rdx + 0x20]
mov dword [rsp + 0x48], ecx
jmp 0x14008b739
mov dword [rsp + 0x44], ebp
mov dword [rsp + 0x4c], ebp
mov ecx, dword [rdx + 0x1c]
mov dword [rsp + 0x40], ecx
add ecx, dword [rdx + 0x20]
mov dword [rsp + 0x48], ecx
jmp 0x14008b739
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
lea rax, [rsp + 0x40]
movups xmm2, xmmword [rax]
test bl, bl
je 0x14008b767
mov ecx, dword [r11 + 4]
movdqa xmm0, xmm1
psrldq xmm0, 0xc
movd eax, xmm0
cmp ecx, eax
jg 0x14008b79b
psrldq xmm2, 4
movd eax, xmm2
cmp ecx, eax
jl 0x14008b7b4
cmp byte [r13 + 0x264], bpl
jne 0x14008b7c3
mov ecx, dword [r11]
movdqa xmm0, xmm1
psrldq xmm0, 8
movd eax, xmm0
cmp ecx, eax
jle 0x14008b7a3
psrldq xmm1, 4
movd eax, xmm1
cmp dword [r11 + 4], eax
jl 0x14008b7a3
test bl, bl
je 0x14008bc32
mov rcx, r9
jmp 0x14008bc2b
cmp ecx, dword [r13 + 0x198]
jge 0x14008b7c3
test bl, bl
je 0x14008bc32
xor edx, edx
mov rcx, r9
call fcn.140089df0
jmp 0x14008bc32
mov dword [rsp + 0x50], 1
mov dword [rsp + 0x54], 1
mov rbx, qword [r11]
mov qword [rsp + 0x60], rbx
mov r15, rbx
shr r15, 0x20
mov qword [rsp + 0x68], r15
mov rdi, qword [rsp + 0x50]
shr rdi, 0x20
add edi, r15d
movsxd rax, dword [rsi + r12 + 0x78]
mov r9d, r10d
mov r8d, r10d
xor dl, dl
mov r10d, ebp
test eax, eax
jle 0x14008b8b7
mov r14, rax
mov rbx, rbp
mov r11, qword [rsi + r12 + 0x88]
nop dword [rax]
mov rax, qword [r11]
movsxd rcx, dword [rax + 0x18]
cmp ecx, r8d
je 0x14008b888
mov r8, rcx
test ecx, ecx
js 0x14008b84e
cmp ecx, dword [rsi + r12 + 0xc0]
jge 0x14008b84e
add rcx, rcx
mov rax, qword [rsi + r12 + 0xd0]
movups xmm0, xmmword [rax + rcx*8]
jmp 0x14008b851
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x80], xmm0
movq rax, xmm0
shr rax, 0x20
mov edx, r15d
cmp r15d, eax
cmovl edx, eax
psrldq xmm0, 8
movq rax, xmm0
shr rax, 0x20
mov ecx, edi
cmp eax, edi
cmovl ecx, eax
sub ecx, edx
test ecx, ecx
setg dl
test dl, dl
je 0x14008b897
cmp r9d, 0xffffffff
jne 0x14008b89d
mov r9d, r10d
jmp 0x14008b89d
cmp r9d, 0xffffffff
jne 0x14008b8b0
inc r10d
inc rbx
add r11, 8
cmp rbx, r14
jl 0x14008b820
mov r14d, dword [r13 + 0xa8]
lea eax, [r10 - 1]
mov edx, 0xffffffff
mov dword [rsp + 0x20], edx
mov r11, rbp
mov qword [rsp + 0x28], rbp
movss xmm6, dword [0x1401dbde0]
xor cl, cl
mov byte [rsp + 0x110], cl
mov edi, ebp
test r9d, r9d
cmovg edi, r9d
movsxd r15, edi
movsxd r10, eax
mov qword [rsp + 0x58], r10
cmp r15, r10
jg 0x14008bc0d
xorps xmm7, xmm7
nop dword [rax]
test edi, edi
js 0x14008b916
cmp edi, r14d
jge 0x14008b916
mov rax, qword [r13 + 0xb8]
mov rbx, qword [rax + r15*8]
jmp 0x14008b919
mov rbx, rbp
cmp byte [rsp + 0x120], bpl
jne 0x14008b936
cmp dword [rbx + 0x10], ebp
jl 0x14008ba75
cmp qword [rbx + 8], rbp
je 0x14008ba75
movsxd rax, dword [rbx + 0x18]
test eax, eax
js 0x14008b978
cmp eax, dword [rsi + r12 + 0xc0]
jge 0x14008b978
mov rcx, rax
add rcx, rcx
mov rax, qword [rsi + r12 + 0xd0]
movups xmm1, xmmword [rax + rcx*8]
movups xmmword [rsp + 0x70], xmm1
movdqa xmm0, xmm1
psrldq xmm0, 0xc
movd r14d, xmm0
psrldq xmm1, 4
movd esi, xmm1
jmp 0x14008b985
mov esi, ebp
mov dword [rsp + 0x74], ebp
mov r14d, ebp
mov dword [rsp + 0x7c], ebp
mov r8d, dword [rbx + 0x1c]
mov r9d, dword [rbx + 0x20]
add r9d, r8d
mov dword [rsp + 0x24], r9d
lea eax, [r14 + rsi]
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
mov rax, qword [rsp + 0x108]
sub ecx, dword [rax + 4]
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
mov rdx, qword [rsp + 0x108]
sub eax, dword [rdx]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm1
mulsd xmm0, xmm0
addsd xmm1, xmm0
ucomisd xmm1, xmm7
jp 0x14008b9e7
jne 0x14008b9e7
movaps xmm0, xmm7
jmp 0x14008ba11
xorps xmm0, xmm0
ucomisd xmm0, xmm1
ja 0x14008b9f6
sqrtpd xmm0, xmm1
jmp 0x14008ba11
movaps xmm0, xmm1
call fcn.140179e2c
mov r11, qword [rsp + 0x28]
mov r8d, dword [rbx + 0x1c]
mov r9d, dword [rsp + 0x24]
mov r10, qword [rsp + 0x58]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
test r11, r11
je 0x14008ba22
comiss xmm6, xmm1
jbe 0x14008ba66
mov edx, edi
mov dword [rsp + 0x20], edx
mov r11, rbx
mov qword [rsp + 0x28], rbx
movaps xmm6, xmm1
mov rbx, qword [rsp + 0x60]
cmp ebx, r8d
jl 0x14008ba5b
cmp ebx, r9d
jge 0x14008ba5b
mov rax, qword [rsp + 0x68]
cmp eax, esi
jl 0x14008ba5b
cmp eax, r14d
jge 0x14008ba5b
mov cl, 1
mov byte [rsp + 0x110], cl
jmp 0x14008ba72
xor cl, cl
mov byte [rsp + 0x110], cl
jmp 0x14008ba72
movzx ecx, byte [rsp + 0x110]
mov edx, dword [rsp + 0x20]
mov rsi, r13
inc edi
inc r15
cmp r15, r10
mov r14d, dword [r13 + 0xa8]
jle 0x14008b900
movzx r14d, byte [rsp + 0x118]
test r11, r11
je 0x14008bc16
test r14b, r14b
jne 0x14008baa9
test cl, cl
je 0x14008bc32
mov r10, qword [r11 + 8]
mov rdi, qword [rsp + 0x100]
mov dword [rdi + 8], edx
mov edx, ebp
movsxd rax, dword [r13 + 0x10]
test eax, eax
jle 0x14008bae7
mov r8, rax
mov rcx, rbp
mov rax, qword [r13 + 0x20]
nop dword [rax]
cmp qword [rax], r10
je 0x14008bbb4
inc edx
inc rcx
add rax, 8
cmp rcx, r8
jl 0x14008bad0
mov esi, 0xffffffff
mov edx, esi
mov dword [rdi], edx
mov eax, dword [r11 + 0x10]
mov dword [rdi + 4], eax
mov ecx, dword [r11 + 0x20]
mov eax, dword [r11 + 0x1c]
lea eax, [rcx + rax*2]
cdq
sub eax, edx
sar eax, 1
mov rdx, qword [rsp + 0x108]
cmp dword [rdx], eax
jle 0x14008bc1e
test ecx, ecx
jle 0x14008bc1e
cmp word [r11], 0xa
je 0x14008bc1e
movsxd rbx, dword [rsp + 0x20]
test ebx, ebx
js 0x14008bb86
lea edx, [rbx + 1]
movsxd r11, dword [r13 + 0xa8]
cmp edx, r11d
jge 0x14008bb86
movsxd rcx, edx
mov rax, qword [r13 + 0xb8]
lea r8, [rax + rcx*8]
mov rax, qword [r8]
cmp dword [rax + 0x20], ebp
jg 0x14008bb66
inc edx
inc rcx
add r8, 8
cmp rcx, r11
jl 0x14008bb50
cmp edx, r11d
jge 0x14008bb86
movsxd r9, edx
mov rdx, qword [r13 + 0xb8]
mov r8, qword [rdx + rbx*8]
mov rax, qword [rdx + r9*8]
mov edx, dword [rax + 0x18]
cmp dword [r8 + 0x18], edx
je 0x14008bbbe
mov rax, qword [r10]
lea rdx, [rsp + 0x100]
mov rcx, r10
call qword [rax + 0x20]
mov ebp, 1
mov rax, qword [rax]
mov ecx, dword [rax - 0x10]
dec ecx
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x10], ecx
jge 0x14008bbbe
movzx ebx, bpl
jmp 0x14008bbc0
mov esi, 0xffffffff
jmp 0x14008baee
xor bl, bl
test bpl, 1
je 0x14008bbf8
mov rdx, qword [rsp + 0x100]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14008bbf8
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14008bbee
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x14008bbf8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
test bl, bl
jne 0x14008bc1e
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rdi
call fcn.14008b190
jmp 0x14008bc1e
movzx r14d, byte [rsp + 0x118]
mov rdi, qword [rsp + 0x100]
test r14b, r14b
je 0x14008bc32
cmp dword [rdi], 0xffffffff
jne 0x14008bc32
mov rcx, rdi
xor edx, edx
call fcn.14008a480
mov al, 1
movaps xmm6, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0x90]
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret