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

Disassembly:
test r9d, r9d
jle 0x18016d865
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 0x18016d54b
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 0x18016d469
test r11d, r11d
jns 0x18016d45c
add eax, r8d
js 0x18016d457
cmp eax, r9d
jl 0x18016d469
sub eax, r8d
cmp eax, r9d
jge 0x18016d461
cdqe
movsx ecx, word [rbx + rax*2]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [r10]
cmp edx, r9d
jb 0x18016d498
test edx, edx
jns 0x18016d489
add edx, r8d
js 0x18016d484
cmp edx, r9d
jl 0x18016d498
nop
sub edx, r8d
cmp edx, r9d
jge 0x18016d490
movsxd rax, edx
movsx 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 0x18016d4d8
test eax, eax
jns 0x18016d4c5
nop dword [rax]
add eax, r8d
js 0x18016d4c0
cmp eax, r9d
jl 0x18016d4d8
nop word [rax + rax]
sub eax, r8d
cmp eax, r9d
jge 0x18016d4d0
cdqe
movsx 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 0x18016d518
test ecx, ecx
jns 0x18016d505
nop
add ecx, r8d
js 0x18016d500
cmp ecx, r9d
jl 0x18016d518
nop word [rax + rax]
sub ecx, r8d
cmp ecx, r9d
jge 0x18016d510
movsxd rax, ecx
movsx 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 0x18016d440
mov rcx, qword [rsp + 0x70]
cmp r13d, dword [rsp + 0x88]
je 0x18016d81a
cmp r15, rbp
jge 0x18016d808
mov rax, rbp
sub rax, r15
cmp rax, 4
jl 0x18016d76b
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
movsx ecx, word [rbx + rdx*2]
movd xmm1, ecx
movsx 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
movsx 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]
movsx 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
movsx ecx, word [rbx + rax*2]
lea eax, [rdx + r8]
movd xmm1, ecx
movsx ecx, word [rbx + rdx*2]
cvtdq2ps xmm1, xmm1
movd xmm0, ecx
mulss xmm1, dword [r10 + 0x10]
movsxd rcx, eax
cvtdq2ps xmm0, xmm0
movsx 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]
movsx 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
movsx ecx, word [rbx + rax*2]
lea eax, [rdx + r8]
movd xmm1, ecx
movsx ecx, word [rbx + rdx*2]
cvtdq2ps xmm1, xmm1
movd xmm0, ecx
mulss xmm1, dword [r10 + 0x20]
movsxd rcx, eax
cvtdq2ps xmm0, xmm0
movsx 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]
movsx 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
movsx ecx, word [rbx + rax*2]
lea eax, [rdx + r8]
movd xmm1, ecx
movsx ecx, word [rbx + rdx*2]
cvtdq2ps xmm1, xmm1
movd xmm0, ecx
mulss xmm1, dword [r10 + 0x30]
movsxd rcx, eax
cvtdq2ps xmm0, xmm0
movsx 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]
movsx 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 0x18016d5a0
cmp r15, rbp
jge 0x18016d808
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
movsx ecx, word [rbx + rdx*2]
movd xmm1, ecx
movsx 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
movsx 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]
movsx 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 0x18016d78d
mov r13d, dword [rsp + 0x88]
mov rcx, qword [rsp + 0x70]
jmp 0x18016d412
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 0x18016d400
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