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

Disassembly:
test r9d, r9d
jle 0x18016d36c
mov r11, rsp
mov qword [r11 + 0x18], r8
mov qword [r11 + 8], rcx
push rbx
push rbp
push r13
sub rsp, 0x30
mov r13, qword [rsp + 0x70]
mov rbx, r8
movsxd rbp, dword [rsp + 0xa0]
mov r8d, dword [rsp + 0x90]
mov r10, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x88]
movsxd rax, r9d
mov r9d, dword [rsp + 0x80]
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x88]
mov qword [r11 + 0x20], rsi
mov qword [r11 - 0x20], rdi
mov qword [r11 - 0x28], r12
lea eax, [rax*4]
mov qword [r11 - 0x30], r14
cdqe
shl rax, 2
sub rdx, rbx
mov qword [r11 - 0x38], r15
mov qword [rsp + 0x58], rdx
mov qword [rsp], rax
mov r11, qword [rdx + rbx]
xor r15d, r15d
mov r12, qword [rbx]
mov r14d, dword [rsp + 0x98]
nop word [rax + rax]
movsxd rax, r14d
cmp r15, rax
jge 0x18016d0c8
mov rsi, r13
lea rbx, [r12 + r15*4]
sub rsi, r12
mov rdi, rax
sub rdi, r15
mov r15, rax
nop
mov ecx, dword [rbx + rsi]
mov edx, ecx
sub edx, r8d
mov eax, edx
cmp edx, r9d
jb 0x18016cff8
test edx, edx
jns 0x18016cfe8
add eax, r8d
js 0x18016cfe3
cmp eax, r9d
jl 0x18016cff8
nop dword [rax]
sub eax, r8d
cmp eax, r9d
jge 0x18016cff0
cdqe
movss xmm1, dword [r11 + rax*4]
mulss xmm1, dword [r10]
cmp ecx, r9d
jb 0x18016d028
test ecx, ecx
jns 0x18016d015
nop
add ecx, r8d
js 0x18016d010
cmp ecx, r9d
jl 0x18016d028
nop word [rax + rax]
sub ecx, r8d
cmp ecx, r9d
jge 0x18016d020
movsxd rax, ecx
movss xmm0, dword [r11 + rax*4]
lea eax, [rdx + r8*2]
mulss xmm0, dword [r10 + 4]
addss xmm1, xmm0
cmp eax, r9d
jb 0x18016d05a
test eax, eax
jns 0x18016d04d
add eax, r8d
js 0x18016d048
cmp eax, r9d
jl 0x18016d05a
sub eax, r8d
cmp eax, r9d
jge 0x18016d052
cdqe
lea ecx, [rdx + r8*2]
add ecx, r8d
movss xmm0, dword [r11 + rax*4]
mulss xmm0, dword [r10 + 8]
addss xmm1, xmm0
cmp ecx, r9d
jb 0x18016d098
test ecx, ecx
jns 0x18016d085
nop dword [rax]
add ecx, r8d
js 0x18016d080
cmp ecx, r9d
jl 0x18016d098
nop word [rax + rax]
sub ecx, r8d
cmp ecx, r9d
jge 0x18016d090
movsxd rax, ecx
movss xmm0, dword [r11 + rax*4]
mulss xmm0, dword [r10 + 0xc]
add r10, 0x10
addss xmm0, xmm1
movss dword [rbx], xmm0
add rbx, 4
sub rdi, 1
jne 0x18016cfd0
mov ecx, dword [rsp + 0x88]
cmp r14d, ecx
je 0x18016d328
cmp r15, rbp
jge 0x18016d320
mov rax, rbp
sub rax, r15
cmp rax, 4
jl 0x18016d293
lea rsi, [r15 + 1]
mov rbx, rbp
sub rbx, r15
lea r14d, [r8 + r8]
sub rbx, 4
lea rsi, [r12 + rsi*4]
mov rdi, r13
shr rbx, 2
sub rdi, r12
inc rbx
lea r15, [r15 + rbx*4]
movsxd rdx, dword [rsi + rdi - 4]
mov eax, edx
sub eax, r8d
cdqe
movss xmm1, dword [r11 + rdx*4]
mulss xmm1, dword [r10 + 4]
movss xmm0, dword [r11 + rax*4]
lea eax, [rdx + r8]
mulss xmm0, dword [r10]
movsxd rcx, eax
lea eax, [r14 + rdx]
addss xmm1, xmm0
movss xmm0, dword [r11 + rcx*4]
mulss xmm0, dword [r10 + 8]
movsxd rcx, eax
addss xmm1, xmm0
movss xmm0, dword [r11 + rcx*4]
mulss xmm0, dword [r10 + 0xc]
addss xmm1, xmm0
movss dword [rsi - 4], xmm1
movsxd rdx, dword [rsi + rdi]
mov eax, edx
sub eax, r8d
cdqe
movss xmm0, dword [r11 + rdx*4]
mulss xmm0, dword [r10 + 0x14]
movss xmm1, dword [r11 + rax*4]
lea eax, [rdx + r8]
mulss xmm1, dword [r10 + 0x10]
movsxd rcx, eax
lea eax, [r14 + rdx]
addss xmm1, xmm0
movss xmm0, dword [r11 + rcx*4]
mulss xmm0, dword [r10 + 0x18]
movsxd rcx, eax
addss xmm1, xmm0
movss xmm0, dword [r11 + rcx*4]
mulss xmm0, dword [r10 + 0x1c]
addss xmm1, xmm0
movss dword [rsi], xmm1
movsxd rdx, dword [rsi + rdi + 4]
mov eax, edx
sub eax, r8d
cdqe
movss xmm0, dword [r11 + rdx*4]
mulss xmm0, dword [r10 + 0x24]
movss xmm1, dword [r11 + rax*4]
lea eax, [rdx + r8]
mulss xmm1, dword [r10 + 0x20]
movsxd rcx, eax
lea eax, [r14 + rdx]
addss xmm1, xmm0
movss xmm0, dword [r11 + rcx*4]
mulss xmm0, dword [r10 + 0x28]
movsxd rcx, eax
addss xmm1, xmm0
movss xmm0, dword [r11 + rcx*4]
mulss xmm0, dword [r10 + 0x2c]
addss xmm1, xmm0
movss dword [rsi + 4], xmm1
movsxd rdx, dword [rsi + rdi + 8]
mov eax, edx
sub eax, r8d
cdqe
movss xmm0, dword [r11 + rdx*4]
mulss xmm0, dword [r10 + 0x34]
movss xmm1, dword [r11 + rax*4]
lea eax, [rdx + r8]
mulss xmm1, dword [r10 + 0x30]
movsxd rcx, eax
lea eax, [r14 + rdx]
addss xmm1, xmm0
movss xmm0, dword [r11 + rcx*4]
mulss xmm0, dword [r10 + 0x38]
movsxd rcx, eax
addss xmm1, xmm0
movss xmm0, dword [r11 + rcx*4]
mulss xmm0, dword [r10 + 0x3c]
add r10, 0x40
addss xmm1, xmm0
movss dword [rsi + 8], xmm1
add rsi, 0x10
sub rbx, 1
jne 0x18016d111
mov ecx, dword [rsp + 0x88]
cmp r15, rbp
jge 0x18016d320
mov rsi, r13
lea rbx, [r12 + r15*4]
sub rsi, r12
lea r14d, [r8 + r8]
mov rdi, rbp
sub rdi, r15
mov r15, rbp
movsxd rdx, dword [rbx + rsi]
mov eax, edx
sub eax, r8d
cdqe
movss xmm1, dword [r11 + rdx*4]
mulss xmm1, dword [r10 + 4]
movss xmm0, dword [r11 + rax*4]
lea eax, [rdx + r8]
mulss xmm0, dword [r10]
movsxd rcx, eax
lea eax, [r14 + rdx]
addss xmm1, xmm0
movss xmm0, dword [r11 + rcx*4]
mulss xmm0, dword [r10 + 8]
movsxd rcx, eax
addss xmm1, xmm0
movss xmm0, dword [r11 + rcx*4]
mulss xmm0, dword [r10 + 0xc]
add r10, 0x10
addss xmm1, xmm0
movss dword [rbx], xmm1
add rbx, 4
sub rdi, 1
jne 0x18016d2b3
mov ecx, dword [rsp + 0x88]
mov r14d, ecx
jmp 0x18016cfb0
mov rbx, qword [rsp + 0x60]
sub r10, qword [rsp]
add rbx, 8
sub qword [rsp + 0x50], 1
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x60], rbx
jne 0x18016cf94
mov r15, qword [rsp + 0x10]
mov r14, qword [rsp + 0x18]
mov r12, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x68]
add rsp, 0x30
pop r13
pop rbp
pop rbx
ret