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

Disassembly:
test r9d, r9d
jle 0x140151afe
mov r11, rsp
mov qword [r11 + 0x18], r8
push rbx
push rbp
sub rsp, 0x38
movsxd rbp, dword [rsp + 0xa0]
mov rbx, r8
mov r8d, dword [rsp + 0x90]
xorps xmm3, xmm3
mov r10, qword [rsp + 0x78]
mov qword [r11 + 8], rsi
mov qword [r11 - 0x18], rdi
mov qword [r11 - 0x20], r12
mov r12d, dword [rsp + 0x88]
movsxd rax, r9d
mov r9d, dword [rsp + 0x80]
mov qword [rsp], rax
mov qword [r11 - 0x28], r13
lea eax, [r12*8]
cdqe
shl rax, 2
sub rdx, rbx
mov qword [r11 - 0x30], r14
mov qword [rsp + 0x58], rdx
mov qword [r11 - 0x38], r15
mov qword [rsp + 8], rax
nop dword [rax + rax]
mov r11, qword [rdx + rbx]
mov r13, qword [rbx]
xor ebx, ebx
mov r15d, dword [rsp + 0x98]
mov rdi, qword [rsp + 0x70]
movsxd rsi, r15d
cmp rbx, rsi
jge 0x1401515f4
lea r14d, [r8 + r8*2]
nop word [rax + rax]
mov ecx, dword [rdi + rbx*4]
mov edx, ecx
sub edx, r14d
mov eax, edx
cmp edx, r9d
jb 0x140151418
test edx, edx
jns 0x140151408
add eax, r8d
js 0x140151403
cmp eax, r9d
jl 0x140151418
nop dword [rax]
sub eax, r8d
cmp eax, r9d
jge 0x140151410
movss xmm1, dword [r10]
cvtps2pd xmm1, xmm1
cdqe
mulsd xmm1, qword [r11 + rax*8]
lea eax, [rdx + r8]
addsd xmm1, xmm3
cmp eax, r9d
jb 0x140151458
test eax, eax
jns 0x140151445
nop dword [rax]
add eax, r8d
js 0x140151440
cmp eax, r9d
jl 0x140151458
nop word [rax + rax]
sub eax, r8d
cmp eax, r9d
jge 0x140151450
movss xmm0, dword [r10 + 4]
cdqe
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r11 + rax*8]
lea eax, [rdx + r8*2]
addsd xmm1, xmm0
cmp eax, r9d
jb 0x140151498
test eax, eax
jns 0x140151485
nop word [rax + rax]
add eax, r8d
js 0x140151480
cmp eax, r9d
jl 0x140151498
nop word [rax + rax]
sub eax, r8d
cmp eax, r9d
jge 0x140151490
movss xmm0, dword [r10 + 8]
cdqe
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r11 + rax*8]
addsd xmm1, xmm0
cmp ecx, r9d
jb 0x1401514c8
test ecx, ecx
jns 0x1401514bb
add ecx, r8d
js 0x1401514b6
cmp ecx, r9d
jl 0x1401514c8
sub ecx, r8d
cmp ecx, r9d
jge 0x1401514c0
movss xmm0, dword [r10 + 0xc]
movsxd rax, ecx
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r11 + rax*8]
lea eax, [rdx + r8*4]
addsd xmm1, xmm0
cmp eax, r9d
jb 0x140151508
test eax, eax
jns 0x1401514f5
nop dword [rax + rax]
add eax, r8d
js 0x1401514f0
cmp eax, r9d
jl 0x140151508
nop word [rax + rax]
sub eax, r8d
cmp eax, r9d
jge 0x140151500
movss xmm0, dword [r10 + 0x10]
lea ecx, [rdx + r8*4]
cvtps2pd xmm0, xmm0
cdqe
add ecx, r8d
mulsd xmm0, qword [r11 + rax*8]
addsd xmm1, xmm0
cmp ecx, r9d
jb 0x140151548
test ecx, ecx
jns 0x140151535
nop dword [rax]
add ecx, r8d
js 0x140151530
cmp ecx, r9d
jl 0x140151548
nop word [rax + rax]
sub ecx, r8d
cmp ecx, r9d
jge 0x140151540
movss xmm0, dword [r10 + 0x14]
movsxd rax, ecx
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r11 + rax*8]
lea eax, [r8 + r8*2]
lea ecx, [rdx + rax*2]
addsd xmm1, xmm0
cmp ecx, r9d
jb 0x140151588
test ecx, ecx
jns 0x140151575
nop
add ecx, r8d
js 0x140151570
cmp ecx, r9d
jl 0x140151588
nop word [rax + rax]
sub ecx, r8d
cmp ecx, r9d
jge 0x140151580
movss xmm0, dword [r10 + 0x18]
movsxd rax, ecx
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r11 + rax*8]
imul eax, r8d, 7
addsd xmm1, xmm0
add eax, edx
cmp eax, r9d
jb 0x1401515c8
test eax, eax
jns 0x1401515b5
nop dword [rax]
add eax, r8d
js 0x1401515b0
cmp eax, r9d
jl 0x1401515c8
nop word [rax + rax]
sub eax, r8d
cmp eax, r9d
jge 0x1401515c0
movss xmm0, dword [r10 + 0x1c]
add r10, 0x20
cvtps2pd xmm0, xmm0
cdqe
mulsd xmm0, qword [r11 + rax*8]
addsd xmm1, xmm0
movsd qword [r13 + rbx*8], xmm1
inc rbx
cmp rbx, rsi
jl 0x1401513f0
cmp r15d, r12d
je 0x140151ab7
cmp rbx, rbp
jge 0x140151aaf
mov rax, rbp
sub rax, rbx
cmp rax, 4
jl 0x1401519bc
lea r15, [rdi + 8]
movsxd rdi, dword [rsp + 0xa0]
sub rdi, rbx
lea rbp, [rbx*8 + 0x10]
sub rdi, 4
lea r15, [r15 + rbx*4]
shr rdi, 2
lea esi, [r8 + r8]
add rbp, r13
lea r14d, [r8 + r8*2]
inc rdi
lea r12d, [r8*4]
lea rbx, [rbx + rdi*4]
movsxd rdx, dword [r15 - 8]
movss xmm2, dword [r10 + 4]
mov eax, edx
movss xmm0, dword [r10]
sub eax, esi
movss xmm1, dword [r10 + 0xc]
cvtps2pd xmm0, xmm0
movsxd rcx, eax
mov eax, edx
sub eax, r14d
cvtps2pd xmm2, xmm2
cvtps2pd xmm1, xmm1
mulsd xmm2, qword [r11 + rcx*8]
movsxd rcx, eax
mov eax, edx
mulsd xmm1, qword [r11 + rdx*8]
sub eax, r8d
mulsd xmm0, qword [r11 + rcx*8]
movsxd rcx, eax
lea eax, [rdx + r8]
addsd xmm2, xmm0
movss xmm0, dword [r10 + 8]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r11 + rcx*8]
movsxd rcx, eax
lea eax, [rsi + rdx]
addsd xmm2, xmm0
movss xmm0, dword [r10 + 0x10]
cvtps2pd xmm0, xmm0
addsd xmm2, xmm1
mulsd xmm0, qword [r11 + rcx*8]
movsxd rcx, eax
lea eax, [r14 + rdx]
addsd xmm2, xmm0
movss xmm0, dword [r10 + 0x14]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r11 + rcx*8]
movsxd rcx, eax
lea eax, [r12 + rdx]
addsd xmm2, xmm0
movss xmm0, dword [r10 + 0x18]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r11 + rcx*8]
movsxd rcx, eax
addsd xmm2, xmm0
movss xmm0, dword [r10 + 0x1c]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r11 + rcx*8]
addsd xmm2, xmm0
movsd qword [rbp - 0x10], xmm2
movsxd rdx, dword [r15 - 4]
movss xmm2, dword [r10 + 0x24]
mov eax, edx
movss xmm0, dword [r10 + 0x20]
sub eax, esi
movss xmm1, dword [r10 + 0x2c]
movsxd rcx, eax
mov eax, edx
cvtps2pd xmm0, xmm0
sub eax, r14d
cvtps2pd xmm2, xmm2
cvtps2pd xmm1, xmm1
mulsd xmm2, qword [r11 + rcx*8]
movsxd rcx, eax
mov eax, edx
mulsd xmm1, qword [r11 + rdx*8]
sub eax, r8d
mulsd xmm0, qword [r11 + rcx*8]
movsxd rcx, eax
lea eax, [rdx + r8]
addsd xmm2, xmm0
movss xmm0, dword [r10 + 0x28]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r11 + rcx*8]
movsxd rcx, eax
addsd xmm2, xmm0
movss xmm0, dword [r10 + 0x30]
cvtps2pd xmm0, xmm0
addsd xmm2, xmm1
mulsd xmm0, qword [r11 + rcx*8]
addsd xmm2, xmm0
movss xmm0, dword [r10 + 0x34]
lea eax, [rsi + rdx]
cvtps2pd xmm0, xmm0
movsxd rcx, eax
lea eax, [r14 + rdx]
mulsd xmm0, qword [r11 + rcx*8]
movsxd rcx, eax
lea eax, [r12 + rdx]
addsd xmm2, xmm0
movss xmm0, dword [r10 + 0x38]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r11 + rcx*8]
movsxd rcx, eax
addsd xmm2, xmm0
movss xmm0, dword [r10 + 0x3c]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r11 + rcx*8]
addsd xmm2, xmm0
movsd qword [rbp - 8], xmm2
movsxd rdx, dword [r15]
movss xmm2, dword [r10 + 0x44]
mov eax, edx
movss xmm0, dword [r10 + 0x40]
sub eax, esi
movss xmm1, dword [r10 + 0x4c]
cvtps2pd xmm0, xmm0
movsxd rcx, eax
mov eax, edx
sub eax, r14d
cvtps2pd xmm2, xmm2
cvtps2pd xmm1, xmm1
mulsd xmm2, qword [r11 + rcx*8]
movsxd rcx, eax
mov eax, edx
mulsd xmm1, qword [r11 + rdx*8]
sub eax, r8d
mulsd xmm0, qword [r11 + rcx*8]
movsxd rcx, eax
lea eax, [rdx + r8]
addsd xmm2, xmm0
movss xmm0, dword [r10 + 0x48]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r11 + rcx*8]
movsxd rcx, eax
lea eax, [rsi + rdx]
addsd xmm2, xmm0
movss xmm0, dword [r10 + 0x50]
cvtps2pd xmm0, xmm0
addsd xmm2, xmm1
mulsd xmm0, qword [r11 + rcx*8]
movsxd rcx, eax
lea eax, [r14 + rdx]
addsd xmm2, xmm0
movss xmm0, dword [r10 + 0x54]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r11 + rcx*8]
movsxd rcx, eax
lea eax, [r12 + rdx]
addsd xmm2, xmm0
movss xmm0, dword [r10 + 0x58]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r11 + rcx*8]
movsxd rcx, eax
addsd xmm2, xmm0
movss xmm0, dword [r10 + 0x5c]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r11 + rcx*8]
addsd xmm2, xmm0
movsd qword [rbp], xmm2
movsxd rdx, dword [r15 + 4]
movss xmm2, dword [r10 + 0x64]
mov eax, edx
movss xmm0, dword [r10 + 0x60]
sub eax, esi
movsxd rcx, eax
mov eax, edx
cvtps2pd xmm2, xmm2
sub eax, r14d
cvtps2pd xmm0, xmm0
mulsd xmm2, qword [r11 + rcx*8]
movsxd rcx, eax
mulsd xmm0, qword [r11 + rcx*8]
mov eax, edx
sub eax, r8d
add r15, 0x10
movss xmm1, dword [r10 + 0x6c]
movsxd rcx, eax
lea eax, [rdx + r8]
cvtps2pd xmm1, xmm1
addsd xmm2, xmm0
movss xmm0, dword [r10 + 0x68]
mulsd xmm1, qword [r11 + rdx*8]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r11 + rcx*8]
movsxd rcx, eax
lea eax, [rsi + rdx]
addsd xmm2, xmm0
movss xmm0, dword [r10 + 0x70]
cvtps2pd xmm0, xmm0
addsd xmm2, xmm1
mulsd xmm0, qword [r11 + rcx*8]
movsxd rcx, eax
lea eax, [r14 + rdx]
addsd xmm2, xmm0
movss xmm0, dword [r10 + 0x74]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r11 + rcx*8]
movsxd rcx, eax
lea eax, [r12 + rdx]
addsd xmm2, xmm0
movss xmm0, dword [r10 + 0x78]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r11 + rcx*8]
movsxd rcx, eax
addsd xmm2, xmm0
movss xmm0, dword [r10 + 0x7c]
cvtps2pd xmm0, xmm0
sub r10, 0xffffffffffffff80
mulsd xmm0, qword [r11 + rcx*8]
addsd xmm2, xmm0
movsd qword [rbp + 8], xmm2
add rbp, 0x20
sub rdi, 1
jne 0x140151653
movsxd rbp, dword [rsp + 0xa0]
mov r12d, dword [rsp + 0x88]
cmp rbx, rbp
jge 0x140151aaf
mov r15, qword [rsp + 0x70]
lea edi, [r8 + r8]
lea esi, [r8 + r8*2]
lea r14d, [r8*4]
movsxd rdx, dword [r15 + rbx*4]
movss xmm2, dword [r10 + 4]
mov eax, edx
movss xmm0, dword [r10]
sub eax, edi
movss xmm1, dword [r10 + 0xc]
cvtps2pd xmm0, xmm0
movsxd rcx, eax
mov eax, edx
sub eax, esi
cvtps2pd xmm2, xmm2
cvtps2pd xmm1, xmm1
mulsd xmm2, qword [r11 + rcx*8]
movsxd rcx, eax
mov eax, edx
mulsd xmm1, qword [r11 + rdx*8]
sub eax, r8d
mulsd xmm0, qword [r11 + rcx*8]
movsxd rcx, eax
lea eax, [rdx + r8]
addsd xmm2, xmm0
movss xmm0, dword [r10 + 8]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r11 + rcx*8]
movsxd rcx, eax
lea eax, [rdi + rdx]
addsd xmm2, xmm0
movss xmm0, dword [r10 + 0x10]
cvtps2pd xmm0, xmm0
addsd xmm2, xmm1
mulsd xmm0, qword [r11 + rcx*8]
movsxd rcx, eax
lea eax, [rsi + rdx]
addsd xmm2, xmm0
movss xmm0, dword [r10 + 0x14]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r11 + rcx*8]
movsxd rcx, eax
lea eax, [r14 + rdx]
addsd xmm2, xmm0
movss xmm0, dword [r10 + 0x18]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r11 + rcx*8]
movsxd rcx, eax
addsd xmm2, xmm0
movss xmm0, dword [r10 + 0x1c]
cvtps2pd xmm0, xmm0
add r10, 0x20
mulsd xmm0, qword [r11 + rcx*8]
addsd xmm2, xmm0
movsd qword [r13 + rbx*8], xmm2
inc rbx
cmp rbx, rbp
jl 0x1401519d1
mov r15d, r12d
jmp 0x1401513d1
mov rbx, qword [rsp + 0x60]
sub r10, qword [rsp + 8]
add rbx, 8
sub qword [rsp], 1
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x60], rbx
jne 0x1401513c0
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 + 0x50]
add rsp, 0x38
pop rbp
pop rbx
ret