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

Disassembly:
mov dword [rsp + 0x18], r8d
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xf8
mov r15d, dword [rdx + 0x54]
mov rsi, rdx
mov edx, dword [rdx + 0x54]
mov r14, rcx
inc edx
movaps xmmword [rsp + 0xb0], xmm9
movaps xmmword [rsp + 0xa0], xmm10
mov ecx, dword [rsi + 0x58]
mov r12d, r8d
mov dword [rsi + 0x54], edx
cmp edx, ecx
jbe 0x18010ef20
mov eax, edx
shr eax, 2
add eax, edx
test ecx, ecx
lea rcx, [rsi + 0x48]
cmovne edx, eax
call fcn.1801552f0
mov rdx, qword [rsi + 0x48]
test rdx, rdx
je 0x18010ef43
mov ecx, dword [rsi + 0x50]
mov eax, dword [rsi + 0x54]
mov r8d, ecx
dec eax
imul ecx, eax
add rcx, rdx
lea rdx, [rbp + 0x77]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [r14 + 8]
mov rcx, qword [rax + 0x20]
mov edi, dword [rcx + r12*4]
mov dword [rbp + 0x77], edi
cmp edi, r12d
je 0x18010efbc
nop word [rax + rax]
mov edx, dword [rsi + 0x54]
mov ecx, dword [rsi + 0x58]
inc edx
mov dword [rsi + 0x54], edx
cmp edx, ecx
jbe 0x18010ef84
mov eax, edx
shr eax, 2
add eax, edx
test ecx, ecx
lea rcx, [rsi + 0x48]
cmovne edx, eax
call fcn.1801552f0
mov rdx, qword [rsi + 0x48]
test rdx, rdx
je 0x18010efa7
mov ecx, dword [rsi + 0x50]
mov eax, dword [rsi + 0x54]
mov r8d, ecx
dec eax
imul ecx, eax
add rcx, rdx
lea rdx, [rbp + 0x77]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [r14 + 8]
mov edx, edi
mov rcx, qword [rax + 0x20]
mov edi, dword [rcx + rdx*4]
mov dword [rbp + 0x77], edi
cmp edi, r12d
jne 0x18010ef60
mov ebx, dword [rsi + 0x54]
xorps xmm0, xmm0
movss xmm10, dword [0x180170dd0]
xorps xmm1, xmm1
movaps xmmword [rsp + 0xe0], xmm6
xorps xmm9, xmm9
movaps xmmword [rsp + 0xd0], xmm7
movaps xmmword [rsp + 0xc0], xmm8
mov dword [rbp - 0x79], 0
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
test r15d, r15d
jne 0x18010f125
mov rdx, qword [r14]
lea rcx, [r12*2]
add rcx, r12
mov rax, qword [rdx + 0x98]
movsd xmm0, qword [rax + rcx*4]
mov edi, dword [rax + rcx*4 + 8]
mov rax, qword [rdx + 0x30]
lea edx, [r12 + r12*2]
movsd qword [rsp + 0x58], xmm0
mov r10, qword [rax + 0x58]
mov r8, qword [rax + 0x40]
lea eax, [rdx + 1]
mov eax, dword [r8 + rax*4]
mov ecx, dword [r8 + rdx*4]
lea r9, [rax + rax*2]
lea rax, [rcx + rcx*2]
movss xmm7, dword [r10 + rax*4]
movss xmm6, dword [r10 + rax*4 + 4]
subss xmm7, dword [r10 + r9*4]
subss xmm6, dword [r10 + r9*4 + 4]
movss xmm8, dword [r10 + rax*4 + 8]
subss xmm8, dword [r10 + r9*4 + 8]
movaps xmm0, xmm7
mulss xmm0, xmm7
movaps xmm2, xmm6
mulss xmm2, xmm6
movaps xmm1, xmm8
mulss xmm1, xmm8
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
ucomiss xmm0, xmm2
ja 0x18010f0a4
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x18010f0ac
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm1, xmm10
divss xmm1, xmm0
mulss xmm6, xmm1
mulss xmm8, xmm1
mulss xmm7, xmm1
movaps xmm0, xmm6
movaps xmm2, xmm8
movd xmm1, edi
mulss xmm2, dword [rbp - 0x7d]
movss dword [rsp + 0x44], xmm6
mulss xmm6, dword [rsp + 0x58]
mulss xmm0, xmm1
movss dword [rsp + 0x40], xmm7
movss dword [rsp + 0x48], xmm8
mulss xmm8, dword [rsp + 0x58]
subss xmm2, xmm0
movss dword [rsp + 0x4c], xmm2
movaps xmm2, xmm7
mulss xmm7, dword [rbp - 0x7d]
mulss xmm2, xmm1
subss xmm6, xmm7
subss xmm2, xmm8
movss dword [rsp + 0x54], xmm6
movss dword [rsp + 0x50], xmm2
jmp 0x18010f24d
lea r8, [rsp + 0x40]
mov rdx, rsi
mov rcx, r14
call fcn.180117fe0
test al, al
je 0x18010f22d
mov rax, qword [r14]
lea rdx, [r12*2]
movss xmm4, dword [rbp - 0x7d]
add rdx, r12
movss xmm3, dword [rsp + 0x58]
movaps xmm2, xmm4
movss xmm5, dword [rbp - 0x79]
movaps xmm0, xmm3
mov rcx, qword [rax + 0x98]
movaps xmm1, xmm5
mulss xmm2, dword [rcx + rdx*4 + 4]
mulss xmm0, dword [rcx + rdx*4]
mulss xmm1, dword [rcx + rdx*4 + 8]
addss xmm2, xmm0
addss xmm2, xmm1
comiss xmm9, xmm2
jbe 0x18010f1ab
movss xmm0, dword [0x180171710]
xorps xmm3, xmm0
xorps xmm4, xmm0
xorps xmm5, xmm0
movss dword [rsp + 0x58], xmm3
movss dword [rbp - 0x7d], xmm4
movss dword [rbp - 0x79], xmm5
mov rdx, rsi
mov rcx, r14
call fcn.180146d60
cmp r15d, ebx
jae 0x18010f1ec
mov r9d, ebx
lea r8, [r15*4]
sub r9d, r15d
nop dword [rax]
mov rax, qword [rsi + 0x48]
lea r8, [r8 + 4]
mov rcx, qword [r14 + 0x30]
mov edx, dword [rax + r8 - 4]
mov eax, dword [rsi]
mov dword [rcx + rdx*4], eax
sub r9, 1
jne 0x18010f1d0
mov rdx, rsi
mov rcx, r14
call fcn.180136630
test al, al
jne 0x18010f24a
cmp r15d, ebx
jae 0x18010f22d
sub ebx, r15d
lea rdx, [r15*4]
mov r8d, ebx
nop
mov rax, qword [rsi + 0x48]
lea rdx, [rdx + 4]
mov ecx, dword [rax + rdx - 4]
mov rax, qword [r14 + 0x30]
mov dword [rax + rcx*4], 0xffffffff
sub r8, 1
jne 0x18010f210
cmp r15d, dword [rsi + 0x58]
lea rcx, [rsi + 0x48]
mov dword [rcx + 0xc], r15d
jbe 0x18010f243
mov edx, r15d
call fcn.1801552f0
xor al, al
jmp 0x18010f7f5
mov edi, dword [rbp - 0x79]
movups xmm0, xmmword [rsp + 0x40]
mov ecx, r12d
movups xmm1, xmmword [rsp + 0x50]
movups xmmword [rsi + 4], xmm0
movss xmm0, dword [rsi + 0x28]
movups xmmword [rsi + 0x14], xmm1
mov dword [rsi + 0x24], edi
mov rax, qword [r14]
mov rdx, qword [rax + 0x68]
mov rax, qword [r14 + 8]
mov r8, qword [rax + 0x20]
nop dword [rax]
mov eax, ecx
mov ecx, dword [r8 + rax*4]
addss xmm0, dword [rdx + rax*4]
cmp ecx, r12d
jne 0x18010f280
mov r8d, r12d
movss dword [rsi + 0x28], xmm0
mov rdx, rsi
mov rcx, r14
call fcn.1801171e0
movss dword [rsi + 0x2c], xmm0
cmp r15d, ebx
jae 0x18010f340
mov eax, ebx
lea rdi, [r15*4]
sub eax, r15d
mov r15d, eax
mov rax, qword [rsi + 0x48]
mov rcx, qword [r14 + 0x30]
mov r8d, dword [rdi + rax]
mov eax, dword [rsi]
mov r9d, r8d
shr r9, 5
mov dword [rcx + r8*4], eax
mov ecx, r8d
mov rax, qword [r14]
and ecx, 0x1f
dec dword [r14 + 0x28]
mov rdx, qword [rax + 0xb8]
mov eax, 1
shl eax, cl
or dword [rdx + r9*4], eax
lea rdx, [rsp + 0x20]
mov rax, qword [r14]
mov rcx, qword [rax + 0x30]
call fcn.1801198d0
add rdi, 4
movss xmm0, dword [rax]
addss xmm0, dword [rsi + 0x30]
movss dword [rsi + 0x30], xmm0
movss xmm1, dword [rax + 4]
addss xmm1, dword [rsi + 0x34]
movss dword [rsi + 0x34], xmm1
movss xmm0, dword [rax + 8]
addss xmm0, dword [rsi + 0x38]
movss dword [rsi + 0x38], xmm0
sub r15, 1
jne 0x18010f2c1
mov eax, dword [rsi + 0x54]
xorps xmm0, xmm0
movaps xmm4, xmm10
cvtsi2ss xmm0, rax
divss xmm4, xmm0
movaps xmm0, xmm4
movaps xmm1, xmm4
mulss xmm0, dword [rsi + 0x30]
movss dword [rsi + 0x3c], xmm0
mulss xmm1, dword [rsi + 0x34]
movss dword [rsi + 0x40], xmm1
mulss xmm4, dword [rsi + 0x38]
movss dword [rsi + 0x44], xmm4
mov dword [rsi + 0x8c], 0
test ebx, ebx
je 0x18010f7f3
movaps xmmword [rsp + 0x90], xmm11
xor ecx, ecx
movss xmm11, dword [0x180174f64]
movaps xmmword [rsp + 0x80], xmm12
movss xmm12, dword [0x180174f70]
movaps xmmword [rsp + 0x70], xmm13
movss xmm13, dword [0x180174e28]
mov qword [rbp + 0x7f], rcx
mov qword [rsp + 0x20], rbx
nop word [rax + rax]
mov rax, qword [rsi + 0x48]
mov ecx, dword [rcx + rax]
xor eax, eax
mov dword [rbp + 0x77], eax
lea ecx, [rcx + rcx*2]
mov dword [rbp + 0x67], ecx
mov r8, qword [r14]
lea edx, [rcx + rax]
mov rax, qword [r8 + 0x30]
mov rcx, qword [rax + 0x108]
mov r9d, dword [rcx + rdx*4]
cmp r9d, 0xffffffff
je 0x18010f7af
mov r8, qword [r8 + 0xb8]
mov eax, 0xaaaaaaab
mul r9d
mov edi, edx
shr edi, 1
mov r9d, edi
mov ecx, edi
shr r9, 5
and ecx, 0x1f
mov eax, dword [r8 + r9*4]
bt eax, ecx
jb 0x18010f7af
mov rax, qword [r14 + 8]
mov edx, dword [rsi + 0x6c]
mov rcx, qword [rax + 0x38]
mov r9d, dword [rcx + rdi*4]
xor ecx, ecx
test edx, edx
je 0x18010f456
mov r8, qword [rsi + 0x60]
cmp dword [r8 + rcx*4], r9d
je 0x18010f7af
inc ecx
cmp ecx, edx
jb 0x18010f446
mov rax, qword [r14]
mov ecx, edi
movss xmm6, dword [rsi + 0x28]
mov rdx, qword [rax + 0x68]
mov rax, qword [r14 + 8]
mov r8, qword [rax + 0x20]
nop dword [rax]
mov eax, ecx
mov ecx, dword [r8 + rax*4]
addss xmm6, dword [rdx + rax*4]
cmp ecx, edi
jne 0x18010f470
mov r8d, edi
mov rdx, rsi
mov rcx, r14
call fcn.1801171e0
mov rbx, qword [r14]
movaps xmm8, xmm0
movss xmm1, dword [rbx + 8]
comiss xmm1, xmm9
jbe 0x18010f4a8
comiss xmm6, xmm1
ja 0x18010f7af
movss xmm1, dword [rbx + 0xc]
comiss xmm1, xmm9
jbe 0x18010f4bd
comiss xmm8, xmm1
ja 0x18010f7af
mov rax, qword [rbx + 0x98]
lea rcx, [rdi + rdi*2]
movaps xmm7, xmm10
movsd xmm0, qword [rax + rcx*4]
movaps xmm1, xmm0
mulss xmm0, dword [rsi + 0x1c]
shufps xmm1, xmm1, 0x55
mulss xmm1, dword [rsi + 0x20]
addss xmm1, xmm0
movss xmm0, dword [rax + rcx*4 + 8]
mulss xmm0, dword [rsi + 0x24]
addss xmm1, xmm0
subss xmm7, xmm1
minss xmm7, xmm10
comiss xmm7, xmm13
jae 0x18010f7af
mulss xmm7, dword [rbx + 0x10]
mov r8d, edi
mov rdx, rsi
mov rcx, r14
addss xmm7, xmm9
call fcn.18011cd30
movss xmm2, dword [rbx + 0x1c]
comiss xmm2, xmm11
jb 0x18010f535
comiss xmm0, xmm9
ja 0x18010f7af
movss xmm1, dword [rsi + 0x2c]
mov r11d, edi
mov rdx, qword [r14 + 8]
mulss xmm8, xmm8
mulss xmm1, xmm1
mov rax, qword [rdx + 0x38]
mov r13, qword [rdx + 0x20]
divss xmm8, xmm6
mov r12d, dword [rax + rdi*4]
mov rax, qword [rbx + 0x30]
mov r15, qword [rax + 0x108]
divss xmm1, dword [rsi + 0x28]
mulss xmm2, xmm0
movaps xmm6, xmm9
divss xmm1, xmm8
addss xmm2, xmm7
movaps xmm8, xmm10
subss xmm8, xmm1
movaps xmm7, xmm9
mulss xmm8, dword [rbx + 0x14]
mov rbx, qword [rbx + 0x50]
addss xmm8, xmm2
nop dword [rax + rax]
xor r8d, r8d
lea r10d, [r11 + r11*2]
nop word [rax + rax]
lea eax, [r8 + r10]
mov edx, dword [r15 + rax*4]
movss xmm0, dword [rbx + rax*4]
cmp edx, 0xffffffff
jne 0x18010f5c8
addss xmm6, xmm0
jmp 0x18010f5f4
mov rcx, qword [r14 + 8]
mov eax, 0xaaaaaaab
mul edx
mov rax, qword [rcx + 0x38]
shr edx, 1
cmp dword [rax + rdx*4], r12d
je 0x18010f5f4
mov rcx, qword [r14 + 0x30]
mov eax, dword [rsi]
cmp dword [rcx + rdx*4], eax
je 0x18010f5f0
addss xmm6, xmm0
jmp 0x18010f5f4
addss xmm7, xmm0
cmp r8d, 3
jae 0x18010f601
inc r8d
cmp r8d, 3
jne 0x18010f5b0
mov eax, r11d
mov r11d, dword [r13 + rax*4]
cmp r11d, edi
jne 0x18010f5a0
mov rbx, qword [r14]
mov r8d, edi
mov rdx, rsi
mov rcx, r14
call fcn.18011db30
movaps xmm1, xmm6
movaps xmm2, xmm0
mulss xmm2, dword [rbx + 0x20]
subss xmm1, xmm7
addss xmm7, xmm6
divss xmm1, xmm7
minss xmm1, xmm9
mulss xmm1, dword [rbx + 0x18]
addss xmm1, xmm8
addss xmm2, xmm1
comiss xmm12, xmm2
jbe 0x18010f7af
mov ecx, dword [rsi + 0x8c]
lea rbx, [rsi + 0x80]
movss dword [rbp + 0x6f], xmm2
mov dword [rbp + 0x73], edi
test ecx, ecx
je 0x18010f76a
mov eax, dword [rbx + 0xc]
mov rdx, qword [rbx]
dec eax
movss xmm0, dword [rdx + rax*8]
comiss xmm0, xmm2
ja 0x18010f76a
xor ebx, ebx
test ecx, ecx
je 0x18010f69c
nop
comiss xmm2, dword [rdx + rbx*8]
ja 0x18010f69c
inc ebx
cmp ebx, ecx
jb 0x18010f690
lea rdi, [rsi + 0x80]
mov edx, dword [rdi + 0xc]
mov ecx, dword [rdi + 0x10]
inc edx
mov dword [rdi + 0xc], edx
cmp edx, ecx
jbe 0x18010f6c6
mov eax, edx
shr eax, 2
add eax, edx
test ecx, ecx
mov rcx, rdi
cmovne edx, eax
call fcn.1801552f0
mov r9, qword [rdi]
test r9, r9
je 0x18010f6fb
mov edx, dword [rdi + 0xc]
lea eax, [rdx - 1]
cmp ebx, eax
jae 0x18010f6fb
mov ecx, dword [rdi + 8]
lea eax, [rbx + 1]
sub edx, ebx
lea r8d, [rdx - 1]
mov edx, ecx
imul r8d, ecx
imul edx, ebx
imul ecx, eax
add rdx, r9
add rcx, r9
call sub.VCRUNTIME140.dll_memmove
mov rdx, qword [rdi]
test rdx, rdx
je 0x18010f71a
mov eax, dword [rdi + 8]
mov r8d, eax
imul eax, ebx
mov ecx, eax
add rcx, rdx
lea rdx, [rbp + 0x6f]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rsi + 0x78]
cmp dword [rsi + 0x8c], eax
jbe 0x18010f7af
mov rcx, qword [rsi + 0x80]
test rcx, rcx
je 0x18010f7af
mov eax, dword [rsi + 0x8c]
cmp eax, 1
jbe 0x18010f756
mov edx, dword [rsi + 0x88]
lea r8d, [rax - 1]
imul r8d, edx
add rdx, rcx
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [rsi + 0x8c]
test eax, eax
je 0x18010f7af
dec eax
mov dword [rsi + 0x8c], eax
jmp 0x18010f7af
mov edx, dword [rbx + 0xc]
mov ecx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0xc], edx
cmp edx, ecx
jbe 0x18010f78d
mov eax, edx
shr eax, 2
add eax, edx
test ecx, ecx
mov rcx, rbx
cmovne edx, eax
call fcn.1801552f0
mov rdx, qword [rbx]
test rdx, rdx
je 0x18010f7af
mov ecx, dword [rbx + 8]
mov eax, dword [rbx + 0xc]
mov r8d, ecx
dec eax
imul ecx, eax
add rcx, rdx
lea rdx, [rbp + 0x6f]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rbp + 0x77]
mov ecx, dword [rbp + 0x67]
inc eax
mov dword [rbp + 0x77], eax
cmp eax, 3
jb 0x18010f3e2
mov rcx, qword [rbp + 0x7f]
add rcx, 4
sub qword [rsp + 0x20], 1
mov qword [rbp + 0x7f], rcx
jne 0x18010f3d0
movaps xmm13, xmmword [rsp + 0x70]
movaps xmm12, xmmword [rsp + 0x80]
movaps xmm11, xmmword [rsp + 0x90]
mov al, 1
movaps xmm8, xmmword [rsp + 0xc0]
lea r11, [rsp + 0xf8]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm6, xmmword [rsp + 0xe0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret