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

Disassembly:
test r9d, r9d
jle 0x18016dd65
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
sub rsp, 0x40
mov rcx, qword [rsp + 0x70]
mov r11, r8
movsxd rbp, dword [rsp + 0xa0]
mov r10, qword [rsp + 0x78]
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x38], rsi
movsxd rax, r9d
mov r9d, dword [rsp + 0x80]
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x88]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r13
lea eax, [rax*4]
mov qword [rsp + 0x18], r14
cdqe
shl rax, 2
sub rdx, r8
mov qword [rsp + 0x10], r15
mov r8d, dword [rsp + 0x90]
mov qword [rsp + 0x58], rdx
mov qword [rsp], rax
nop dword [rax + rax]
mov rbx, qword [rdx + r11]
xor r15d, r15d
mov r12, qword [r11]
mov r13d, dword [rsp + 0x98]
movsxd rax, r13d
cmp r15, rax
jge 0x18016da4b
mov r14, rcx
lea rdi, [r12 + r15*4]
sub r14, r12
mov rsi, rax
sub rsi, r15
mov r15, rax
nop dword [rax]
nop word [rax + rax]
mov edx, dword [r14 + rdi]
mov r11d, edx
sub r11d, r8d
mov eax, r11d
cmp r11d, r9d
jb 0x18016d969
test r11d, r11d
jns 0x18016d95c
add eax, r8d
js 0x18016d957
cmp eax, r9d
jl 0x18016d969
sub eax, r8d
cmp eax, r9d
jge 0x18016d961
cdqe
movzx ecx, word [rbx + rax*2]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [r10]
cmp edx, r9d
jb 0x18016d998
test edx, edx
jns 0x18016d989
add edx, r8d
js 0x18016d984
cmp edx, r9d
jl 0x18016d998
nop
sub edx, r8d
cmp edx, r9d
jge 0x18016d990
movsxd rax, edx
movzx ecx, word [rbx + rax*2]
lea eax, [r11 + r8*2]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 4]
addss xmm1, xmm0
cmp eax, r9d
jb 0x18016d9d8
test eax, eax
jns 0x18016d9c5
nop dword [rax]
add eax, r8d
js 0x18016d9c0
cmp eax, r9d
jl 0x18016d9d8
nop word [rax + rax]
sub eax, r8d
cmp eax, r9d
jge 0x18016d9d0
cdqe
movzx ecx, word [rbx + rax*2]
movd xmm0, ecx
lea ecx, [r11 + r8*2]
cvtdq2ps xmm0, xmm0
add ecx, r8d
mulss xmm0, dword [r10 + 8]
addss xmm1, xmm0
cmp ecx, r9d
jb 0x18016da18
test ecx, ecx
jns 0x18016da05
nop
add ecx, r8d
js 0x18016da00
cmp ecx, r9d
jl 0x18016da18
nop word [rax + rax]
sub ecx, r8d
cmp ecx, r9d
jge 0x18016da10
movsxd rax, ecx
movzx ecx, word [rbx + rax*2]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 0xc]
add r10, 0x10
addss xmm0, xmm1
movss dword [rdi], xmm0
add rdi, 4
sub rsi, 1
jne 0x18016d940
mov rcx, qword [rsp + 0x70]
cmp r13d, dword [rsp + 0x88]
je 0x18016dd1a
cmp r15, rbp
jge 0x18016dd08
mov rax, rbp
sub rax, r15
cmp rax, 4
jl 0x18016dc6b
lea rsi, [r15 + 1]
mov r11, rbp
sub r11, r15
lea r14d, [r8 + r8]
sub r11, 4
lea rsi, [r12 + rsi*4]
mov rdi, rcx
shr r11, 2
sub rdi, r12
inc r11
lea r15, [r15 + r11*4]
nop dword [rax]
movsxd rdx, dword [rsi + rdi - 4]
mov eax, edx
sub eax, r8d
cdqe
movzx ecx, word [rbx + rdx*2]
movd xmm1, ecx
movzx ecx, word [rbx + rax*2]
lea eax, [rdx + r8]
cvtdq2ps xmm1, xmm1
movd xmm0, ecx
mulss xmm1, dword [r10 + 4]
movsxd rcx, eax
cvtdq2ps xmm0, xmm0
movzx eax, word [rbx + rcx*2]
mulss xmm0, dword [r10]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
lea eax, [r14 + rdx]
movsxd rcx, eax
mulss xmm0, dword [r10 + 8]
movzx eax, word [rbx + rcx*2]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
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
movzx ecx, word [rbx + rax*2]
lea eax, [rdx + r8]
movd xmm1, ecx
movzx ecx, word [rbx + rdx*2]
cvtdq2ps xmm1, xmm1
movd xmm0, ecx
mulss xmm1, dword [r10 + 0x10]
movsxd rcx, eax
cvtdq2ps xmm0, xmm0
movzx eax, word [rbx + rcx*2]
mulss xmm0, dword [r10 + 0x14]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
lea eax, [r14 + rdx]
movsxd rcx, eax
mulss xmm0, dword [r10 + 0x18]
movzx eax, word [rbx + rcx*2]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
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
movzx ecx, word [rbx + rax*2]
lea eax, [rdx + r8]
movd xmm1, ecx
movzx ecx, word [rbx + rdx*2]
cvtdq2ps xmm1, xmm1
movd xmm0, ecx
mulss xmm1, dword [r10 + 0x20]
movsxd rcx, eax
cvtdq2ps xmm0, xmm0
movzx eax, word [rbx + rcx*2]
mulss xmm0, dword [r10 + 0x24]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
lea eax, [r14 + rdx]
movsxd rcx, eax
mulss xmm0, dword [r10 + 0x28]
movzx eax, word [rbx + rcx*2]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
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
movzx ecx, word [rbx + rax*2]
lea eax, [rdx + r8]
movd xmm1, ecx
movzx ecx, word [rbx + rdx*2]
cvtdq2ps xmm1, xmm1
movd xmm0, ecx
mulss xmm1, dword [r10 + 0x30]
movsxd rcx, eax
cvtdq2ps xmm0, xmm0
movzx eax, word [rbx + rcx*2]
mulss xmm0, dword [r10 + 0x34]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
lea eax, [r14 + rdx]
movsxd rcx, eax
mulss xmm0, dword [r10 + 0x38]
movzx eax, word [rbx + rcx*2]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 0x3c]
add r10, 0x40
addss xmm1, xmm0
movss dword [rsi + 8], xmm1
add rsi, 0x10
sub r11, 1
jne 0x18016daa0
cmp r15, rbp
jge 0x18016dd08
mov rsi, qword [rsp + 0x70]
lea r11, [r12 + r15*4]
sub rsi, r12
lea r14d, [r8 + r8]
mov rdi, rbp
sub rdi, r15
mov r15, rbp
movsxd rdx, dword [r11 + rsi]
mov eax, edx
sub eax, r8d
cdqe
movzx ecx, word [rbx + rdx*2]
movd xmm1, ecx
movzx ecx, word [rbx + rax*2]
lea eax, [rdx + r8]
cvtdq2ps xmm1, xmm1
movd xmm0, ecx
mulss xmm1, dword [r10 + 4]
movsxd rcx, eax
cvtdq2ps xmm0, xmm0
movzx eax, word [rbx + rcx*2]
mulss xmm0, dword [r10]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
lea eax, [r14 + rdx]
movsxd rcx, eax
mulss xmm0, dword [r10 + 8]
movzx eax, word [rbx + rcx*2]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 0xc]
add r10, 0x10
addss xmm1, xmm0
movss dword [r11], xmm1
add r11, 4
sub rdi, 1
jne 0x18016dc8d
mov r13d, dword [rsp + 0x88]
mov rcx, qword [rsp + 0x70]
jmp 0x18016d912
mov r11, qword [rsp + 0x60]
sub r10, qword [rsp]
add r11, 8
sub qword [rsp + 0x50], 1
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x60], r11
jne 0x18016d900
mov r15, qword [rsp + 0x10]
mov r14, qword [rsp + 0x18]
mov r13, qword [rsp + 0x20]
mov r12, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x68]
add rsp, 0x40
pop rbp
ret