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

Disassembly:
test r9d, r9d
jle 0x18016bdbd
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push r13
sub rsp, 0x38
movsxd r13, dword [rsp + 0xa0]
mov rbx, r8
mov r8d, dword [rsp + 0x90]
mov r11, rdx
mov rdx, qword [rsp + 0x70]
mov r10, qword [rsp + 0x78]
mov qword [rsp + 0x68], rbp
movsxd rax, r9d
mov r9d, dword [rsp + 0x80]
mov qword [rsp], rax
mov eax, dword [rsp + 0x88]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r12
lea eax, [rax*8]
mov qword [rsp + 0x18], r14
cdqe
shl rax, 2
sub r11, rbx
mov qword [rsp + 0x10], r15
mov qword [rsp + 0x58], r11
mov qword [rsp + 8], rax
nop dword [rax + rax]
mov rcx, qword [rbx]
xor r12d, r12d
mov r11, qword [r11 + rbx]
mov r15d, dword [rsp + 0x98]
mov qword [rsp + 0x50], rcx
nop word [rax + rax]
movsxd rax, r15d
cmp r12, rax
jge 0x18016b830
mov rbp, rdx
lea rdi, [rcx + r12*4]
sub rbp, rcx
lea r14d, [r8 + r8*2]
mov rsi, rax
sub rsi, r12
mov r12, rax
mov edx, dword [rdi + rbp]
mov ebx, edx
sub ebx, r14d
mov eax, ebx
cmp ebx, r9d
jb 0x18016b648
test ebx, ebx
jns 0x18016b63b
add eax, r8d
js 0x18016b636
cmp eax, r9d
jl 0x18016b648
sub eax, r8d
cmp eax, r9d
jge 0x18016b640
cdqe
movzx ecx, word [r11 + rax*2]
lea eax, [rbx + r8]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [r10]
cmp eax, r9d
jb 0x18016b67a
test eax, eax
jns 0x18016b66d
add eax, r8d
js 0x18016b668
cmp eax, r9d
jl 0x18016b67a
sub eax, r8d
cmp eax, r9d
jge 0x18016b672
cdqe
movzx ecx, word [r11 + rax*2]
lea eax, [rbx + r8*2]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 4]
addss xmm1, xmm0
cmp eax, r9d
jb 0x18016b6b8
test eax, eax
jns 0x18016b6a5
nop
add eax, r8d
js 0x18016b6a0
cmp eax, r9d
jl 0x18016b6b8
nop word [rax + rax]
sub eax, r8d
cmp eax, r9d
jge 0x18016b6b0
cdqe
movzx ecx, word [r11 + rax*2]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 8]
addss xmm1, xmm0
cmp edx, r9d
jb 0x18016b6f8
test edx, edx
jns 0x18016b6e5
nop dword [rax]
add edx, r8d
js 0x18016b6e0
cmp edx, r9d
jl 0x18016b6f8
nop word [rax + rax]
sub edx, r8d
cmp edx, r9d
jge 0x18016b6f0
movsxd rax, edx
movzx ecx, word [r11 + rax*2]
lea eax, [rbx + r8*4]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 0xc]
addss xmm1, xmm0
cmp eax, r9d
jb 0x18016b738
test eax, eax
jns 0x18016b725
nop
add eax, r8d
js 0x18016b720
cmp eax, r9d
jl 0x18016b738
nop word [rax + rax]
sub eax, r8d
cmp eax, r9d
jge 0x18016b730
cdqe
movzx ecx, word [r11 + rax*2]
movd xmm0, ecx
lea ecx, [rbx + r8*4]
cvtdq2ps xmm0, xmm0
add ecx, r8d
mulss xmm0, dword [r10 + 0x10]
addss xmm1, xmm0
cmp ecx, r9d
jb 0x18016b778
test ecx, ecx
jns 0x18016b765
add ecx, r8d
js 0x18016b760
cmp ecx, r9d
jl 0x18016b778
nop word [rax + rax]
sub ecx, r8d
cmp ecx, r9d
jge 0x18016b770
movsxd rax, ecx
movzx ecx, word [r11 + rax*2]
lea eax, [r8 + r8*2]
movd xmm0, ecx
lea ecx, [rbx + rax*2]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 0x14]
addss xmm1, xmm0
cmp ecx, r9d
jb 0x18016b7b8
test ecx, ecx
jns 0x18016b7a6
add ecx, r8d
js 0x18016b7a1
cmp ecx, r9d
jl 0x18016b7b8
nop dword [rax + rax]
sub ecx, r8d
cmp ecx, r9d
jge 0x18016b7b0
movsxd rax, ecx
movzx ecx, word [r11 + rax*2]
imul eax, r8d, 7
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
add eax, ebx
mulss xmm0, dword [r10 + 0x18]
addss xmm1, xmm0
cmp eax, r9d
jb 0x18016b7f8
test eax, eax
jns 0x18016b7e5
add eax, r8d
js 0x18016b7e0
cmp eax, r9d
jl 0x18016b7f8
nop word [rax + rax]
sub eax, r8d
cmp eax, r9d
jge 0x18016b7f0
cdqe
movzx ecx, word [r11 + rax*2]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 0x1c]
add r10, 0x20
addss xmm0, xmm1
movss dword [rdi], xmm0
add rdi, 4
sub rsi, 1
jne 0x18016b623
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x70]
cmp r15d, dword [rsp + 0x88]
je 0x18016bd75
cmp r12, r13
jge 0x18016bd5e
mov rax, r13
sub rax, r12
cmp rax, 4
jl 0x18016bc37
lea rsi, [r12 + 1]
mov rbx, r13
sub rbx, r12
lea r14d, [r8 + r8]
sub rbx, 4
lea r15d, [r8 + r8*2]
mov rdi, rdx
shr rbx, 2
sub rdi, rcx
lea ebp, [r8*4]
inc rbx
lea rsi, [rcx + rsi*4]
lea r12, [r12 + rbx*4]
nop dword [rax + rax]
movsxd rdx, dword [rdi + rsi - 4]
mov eax, edx
sub eax, r14d
cdqe
movzx ecx, word [r11 + rax*2]
mov eax, edx
sub eax, r15d
cdqe
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movzx ecx, word [r11 + rax*2]
mov eax, edx
sub eax, r8d
cdqe
movd xmm0, ecx
mulss xmm1, dword [r10 + 4]
movzx ecx, word [r11 + rax*2]
lea eax, [rdx + r8]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10]
addss xmm1, xmm0
movd xmm0, ecx
movzx ecx, word [r11 + rdx*2]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 8]
addss xmm1, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movsxd rcx, eax
movzx eax, word [r11 + rcx*2]
mulss xmm0, dword [r10 + 0xc]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
lea eax, [r14 + rdx]
movsxd rcx, eax
mulss xmm0, dword [r10 + 0x10]
movzx eax, word [r11 + rcx*2]
addss xmm1, xmm0
movd xmm0, eax
lea eax, [r15 + rdx]
cvtdq2ps xmm0, xmm0
movsxd rcx, eax
movzx eax, word [r11 + rcx*2]
mulss xmm0, dword [r10 + 0x14]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
lea eax, [rdx + rbp]
movsxd rcx, eax
mulss xmm0, dword [r10 + 0x18]
movzx eax, word [r11 + rcx*2]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 0x1c]
addss xmm1, xmm0
movss dword [rsi - 4], xmm1
movsxd rdx, dword [rdi + rsi]
mov eax, edx
sub eax, r14d
cdqe
movzx ecx, word [r11 + rax*2]
mov eax, edx
sub eax, r15d
cdqe
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movzx ecx, word [r11 + rax*2]
mov eax, edx
sub eax, r8d
cdqe
movd xmm0, ecx
mulss xmm1, dword [r10 + 0x24]
movzx ecx, word [r11 + rax*2]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 0x20]
addss xmm1, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 0x28]
addss xmm1, xmm0
movzx ecx, word [r11 + rdx*2]
lea eax, [rdx + r8]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movsxd rcx, eax
movzx eax, word [r11 + rcx*2]
mulss xmm0, dword [r10 + 0x2c]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
lea eax, [r14 + rdx]
movsxd rcx, eax
mulss xmm0, dword [r10 + 0x30]
movzx eax, word [r11 + rcx*2]
addss xmm1, xmm0
movd xmm0, eax
lea eax, [r15 + rdx]
cvtdq2ps xmm0, xmm0
movsxd rcx, eax
movzx eax, word [r11 + rcx*2]
mulss xmm0, dword [r10 + 0x34]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
lea eax, [rdx + rbp]
movsxd rcx, eax
mulss xmm0, dword [r10 + 0x38]
movzx eax, word [r11 + rcx*2]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 0x3c]
addss xmm1, xmm0
movss dword [rsi], xmm1
movsxd rdx, dword [rsi + rdi + 4]
mov eax, edx
sub eax, r14d
cdqe
movzx ecx, word [r11 + rax*2]
mov eax, edx
sub eax, r15d
cdqe
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movzx ecx, word [r11 + rax*2]
mov eax, edx
sub eax, r8d
cdqe
movd xmm0, ecx
mulss xmm1, dword [r10 + 0x44]
movzx ecx, word [r11 + rax*2]
lea eax, [rdx + r8]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 0x40]
addss xmm1, xmm0
movd xmm0, ecx
movzx ecx, word [r11 + rdx*2]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 0x48]
addss xmm1, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movsxd rcx, eax
movzx eax, word [r11 + rcx*2]
mulss xmm0, dword [r10 + 0x4c]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
lea eax, [r14 + rdx]
movsxd rcx, eax
mulss xmm0, dword [r10 + 0x50]
movzx eax, word [r11 + rcx*2]
addss xmm1, xmm0
movd xmm0, eax
lea eax, [r15 + rdx]
cvtdq2ps xmm0, xmm0
movsxd rcx, eax
movzx eax, word [r11 + rcx*2]
mulss xmm0, dword [r10 + 0x54]
addss xmm1, xmm0
movd xmm0, eax
lea eax, [rdx + rbp]
cvtdq2ps xmm0, xmm0
movsxd rcx, eax
movzx eax, word [r11 + rcx*2]
mulss xmm0, dword [r10 + 0x58]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 0x5c]
addss xmm1, xmm0
movss dword [rsi + 4], xmm1
movsxd rdx, dword [rsi + rdi + 8]
mov eax, edx
sub eax, r14d
cdqe
movzx ecx, word [r11 + rax*2]
mov eax, edx
sub eax, r15d
cdqe
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movzx ecx, word [r11 + rax*2]
mov eax, edx
sub eax, r8d
cdqe
movd xmm0, ecx
mulss xmm1, dword [r10 + 0x64]
movzx ecx, word [r11 + rax*2]
lea eax, [rdx + r8]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 0x60]
addss xmm1, xmm0
movd xmm0, ecx
movzx ecx, word [r11 + rdx*2]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 0x68]
addss xmm1, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movsxd rcx, eax
movzx eax, word [r11 + rcx*2]
mulss xmm0, dword [r10 + 0x6c]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
lea eax, [r14 + rdx]
movsxd rcx, eax
mulss xmm0, dword [r10 + 0x70]
movzx eax, word [r11 + rcx*2]
addss xmm1, xmm0
movd xmm0, eax
lea eax, [r15 + rdx]
cvtdq2ps xmm0, xmm0
movsxd rcx, eax
movzx eax, word [r11 + rcx*2]
mulss xmm0, dword [r10 + 0x74]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
lea eax, [rdx + rbp]
movsxd rcx, eax
mulss xmm0, dword [r10 + 0x78]
movzx eax, word [r11 + rcx*2]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 0x7c]
sub r10, 0xffffffffffffff80
addss xmm1, xmm0
movss dword [rsi + 8], xmm1
add rsi, 0x10
sub rbx, 1
jne 0x18016b890
cmp r12, r13
jge 0x18016bd5e
mov rax, qword [rsp + 0x50]
lea esi, [r8 + r8]
mov rbp, qword [rsp + 0x70]
lea r14d, [r8 + r8*2]
sub rbp, rax
lea r15d, [r8*4]
mov rdi, r13
lea rbx, [rax + r12*4]
sub rdi, r12
mov r12, r13
movsxd rdx, dword [rbx + rbp]
mov eax, edx
sub eax, esi
cdqe
movzx ecx, word [r11 + rax*2]
mov eax, edx
sub eax, r14d
cdqe
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movzx ecx, word [r11 + rax*2]
mov eax, edx
sub eax, r8d
cdqe
movd xmm0, ecx
mulss xmm1, dword [r10 + 4]
movzx ecx, word [r11 + rax*2]
lea eax, [rdx + r8]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10]
addss xmm1, xmm0
movd xmm0, ecx
movzx ecx, word [r11 + rdx*2]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 8]
addss xmm1, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movsxd rcx, eax
movzx eax, word [r11 + rcx*2]
mulss xmm0, dword [r10 + 0xc]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
lea eax, [rsi + rdx]
movsxd rcx, eax
mulss xmm0, dword [r10 + 0x10]
movzx eax, word [r11 + rcx*2]
addss xmm1, xmm0
movd xmm0, eax
lea eax, [r14 + rdx]
cvtdq2ps xmm0, xmm0
movsxd rcx, eax
movzx eax, word [r11 + rcx*2]
mulss xmm0, dword [r10 + 0x14]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
lea eax, [r15 + rdx]
movsxd rcx, eax
mulss xmm0, dword [r10 + 0x18]
movzx eax, word [r11 + rcx*2]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 0x1c]
add r10, 0x20
addss xmm1, xmm0
movss dword [rbx], xmm1
add rbx, 4
sub rdi, 1
jne 0x18016bc6a
mov r15d, dword [rsp + 0x88]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x70]
jmp 0x18016b600
mov rbx, qword [rsp + 0x60]
sub r10, qword [rsp + 8]
add rbx, 8
sub qword [rsp], 1
mov r11, qword [rsp + 0x58]
mov qword [rsp + 0x60], rbx
jne 0x18016b5e0
mov r15, qword [rsp + 0x10]
mov r14, qword [rsp + 0x18]
mov r12, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x68]
add rsp, 0x38
pop r13
pop rbx
ret