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

Disassembly:
test r9d, r9d
jle 0x18016ccc3
mov r11, rsp
mov qword [r11 + 0x18], r8
mov qword [r11 + 8], rcx
push r13
push r15
sub rsp, 0x38
movsxd r13, dword [rsp + 0xa0]
mov r15, r8
mov r10, qword [rsp + 0x78]
mov qword [r11 + 0x20], rbx
mov qword [r11 - 0x18], rbp
movsxd rax, r9d
mov r9d, dword [rsp + 0x80]
mov qword [r11 - 0x20], rsi
mov qword [rsp + 0x50], rax
mov qword [r11 - 0x28], rdi
mov qword [r11 - 0x30], r12
mov r12, qword [rsp + 0x70]
mov qword [r11 - 0x38], r14
mov r14d, dword [rsp + 0x88]
lea eax, [r14*4]
cdqe
shl rax, 2
sub rdx, r8
mov qword [rsp], rax
mov r8d, dword [rsp + 0x90]
mov qword [rsp + 0x58], rdx
mov rbx, qword [rdx + r15]
xor r11d, r11d
mov rbp, qword [r15]
mov esi, dword [rsp + 0x98]
movsxd rdi, esi
cmp r11, rdi
jge 0x18016ca04
mov ecx, dword [r12 + r11*4]
mov edx, ecx
sub edx, r8d
mov eax, edx
cmp edx, r9d
jb 0x18016c928
test edx, edx
jns 0x18016c919
add eax, r8d
js 0x18016c914
cmp eax, r9d
jl 0x18016c928
nop
sub eax, r8d
cmp eax, r9d
jge 0x18016c920
movss xmm1, dword [r10]
cdqe
cvtps2pd xmm1, xmm1
mulsd xmm1, qword [rbx + rax*8]
cmp ecx, r9d
jb 0x18016c958
test ecx, ecx
jns 0x18016c945
add ecx, r8d
js 0x18016c940
cmp ecx, r9d
jl 0x18016c958
nop word [rax + rax]
sub ecx, r8d
cmp ecx, r9d
jge 0x18016c950
movss xmm0, dword [r10 + 4]
movsxd rax, ecx
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [rbx + rax*8]
lea eax, [rdx + r8*2]
addsd xmm1, xmm0
cmp eax, r9d
jb 0x18016c998
test eax, eax
jns 0x18016c985
nop word [rax + rax]
add eax, r8d
js 0x18016c980
cmp eax, r9d
jl 0x18016c998
nop word [rax + rax]
sub eax, r8d
cmp eax, r9d
jge 0x18016c990
movss xmm0, dword [r10 + 8]
lea ecx, [rdx + r8*2]
cvtps2pd xmm0, xmm0
cdqe
add ecx, r8d
mulsd xmm0, qword [rbx + rax*8]
addsd xmm1, xmm0
cmp ecx, r9d
jb 0x18016c9d8
test ecx, ecx
jns 0x18016c9c5
nop dword [rax]
add ecx, r8d
js 0x18016c9c0
cmp ecx, r9d
jl 0x18016c9d8
nop word [rax + rax]
sub ecx, r8d
cmp ecx, r9d
jge 0x18016c9d0
movss xmm0, dword [r10 + 0xc]
add r10, 0x10
cvtps2pd xmm0, xmm0
movsxd rax, ecx
mulsd xmm0, qword [rbx + rax*8]
addsd xmm1, xmm0
movsd qword [rbp + r11*8], xmm1
inc r11
cmp r11, rdi
jl 0x18016c900
cmp esi, r14d
je 0x18016cc7a
cmp r11, r13
jge 0x18016cc72
mov rax, r13
sub rax, r11
cmp rax, 4
jl 0x18016cbfa
lea rsi, [r11*8 + 0x10]
mov rdi, r13
sub rdi, r11
lea r14, [r12 + 8]
sub rdi, 4
lea r14, [r14 + r11*4]
shr rdi, 2
lea r15d, [r8 + r8]
add rsi, rbp
inc rdi
lea r11, [r11 + rdi*4]
movsxd rdx, dword [r14 - 8]
movss xmm1, dword [r10 + 4]
mov eax, edx
movss xmm0, dword [r10]
sub eax, r8d
cvtps2pd xmm0, xmm0
movsxd rcx, eax
lea eax, [rdx + r8]
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [rbx + rcx*8]
movsxd rcx, eax
lea eax, [r15 + rdx]
mulsd xmm1, qword [rbx + rdx*8]
addsd xmm1, xmm0
movss xmm0, dword [r10 + 8]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [rbx + rcx*8]
movsxd rcx, eax
addsd xmm1, xmm0
movss xmm0, dword [r10 + 0xc]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [rbx + rcx*8]
addsd xmm1, xmm0
movsd qword [rsi - 0x10], xmm1
movsxd rdx, dword [r14 - 4]
movss xmm1, dword [r10 + 0x10]
mov eax, edx
movss xmm0, dword [r10 + 0x14]
sub eax, r8d
cvtps2pd xmm0, xmm0
movsxd rcx, eax
lea eax, [rdx + r8]
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [rbx + rdx*8]
mulsd xmm1, qword [rbx + rcx*8]
movsxd rcx, eax
lea eax, [r15 + rdx]
addsd xmm1, xmm0
movss xmm0, dword [r10 + 0x18]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [rbx + rcx*8]
movsxd rcx, eax
addsd xmm1, xmm0
movss xmm0, dword [r10 + 0x1c]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [rbx + rcx*8]
addsd xmm1, xmm0
movsd qword [rsi - 8], xmm1
movsxd rdx, dword [r14]
movss xmm1, dword [r10 + 0x20]
mov eax, edx
movss xmm0, dword [r10 + 0x24]
sub eax, r8d
cvtps2pd xmm0, xmm0
movsxd rcx, eax
lea eax, [rdx + r8]
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [rbx + rdx*8]
mulsd xmm1, qword [rbx + rcx*8]
movsxd rcx, eax
lea eax, [r15 + rdx]
addsd xmm1, xmm0
movss xmm0, dword [r10 + 0x28]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [rbx + rcx*8]
movsxd rcx, eax
addsd xmm1, xmm0
movss xmm0, dword [r10 + 0x2c]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [rbx + rcx*8]
addsd xmm1, xmm0
movsd qword [rsi], xmm1
movsxd rdx, dword [r14 + 4]
movss xmm1, dword [r10 + 0x30]
mov eax, edx
movss xmm0, dword [r10 + 0x34]
sub eax, r8d
cvtps2pd xmm1, xmm1
movsxd rcx, eax
cvtps2pd xmm0, xmm0
mulsd xmm1, qword [rbx + rcx*8]
mulsd xmm0, qword [rbx + rdx*8]
lea eax, [rdx + r8]
movsxd rcx, eax
add r14, 0x10
lea eax, [r15 + rdx]
addsd xmm1, xmm0
movss xmm0, dword [r10 + 0x38]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [rbx + rcx*8]
movsxd rcx, eax
addsd xmm1, xmm0
movss xmm0, dword [r10 + 0x3c]
cvtps2pd xmm0, xmm0
add r10, 0x40
mulsd xmm0, qword [rbx + rcx*8]
addsd xmm1, xmm0
movsd qword [rsi + 8], xmm1
add rsi, 0x20
sub rdi, 1
jne 0x18016ca53
mov r14d, dword [rsp + 0x88]
cmp r11, r13
jge 0x18016cc72
lea edi, [r8 + r8]
movsxd rdx, dword [r12 + r11*4]
movss xmm1, dword [r10 + 4]
mov eax, edx
movss xmm0, dword [r10]
sub eax, r8d
cvtps2pd xmm0, xmm0
movsxd rcx, eax
lea eax, [rdx + r8]
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [rbx + rcx*8]
movsxd rcx, eax
lea eax, [rdi + rdx]
mulsd xmm1, qword [rbx + rdx*8]
addsd xmm1, xmm0
movss xmm0, dword [r10 + 8]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [rbx + rcx*8]
movsxd rcx, eax
addsd xmm1, xmm0
movss xmm0, dword [r10 + 0xc]
cvtps2pd xmm0, xmm0
add r10, 0x10
mulsd xmm0, qword [rbx + rcx*8]
addsd xmm1, xmm0
movsd qword [rbp + r11*8], xmm1
inc r11
cmp r11, r13
jl 0x18016cc03
mov esi, r14d
jmp 0x18016c8f4
mov r15, qword [rsp + 0x60]
sub r10, qword [rsp]
add r15, 8
sub qword [rsp + 0x50], 1
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x60], r15
jne 0x18016c8e3
mov r14, qword [rsp + 0x10]
mov r12, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x68]
add rsp, 0x38
pop r15
pop r13
ret