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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push r15
sub rsp, 0x118
mov r15, r8
mov r8, rdx
mov rbp, rcx
test rcx, rcx
je 0x18010a248
test rdx, rdx
je 0x18010a248
test r15, r15
jne 0x180107778
add rsp, 0x118
pop r15
pop rbp
jmp fcn.180103350
movzx eax, byte [rcx + 0x35]
mov qword [rsp + 0x110], rbx
mov qword [rsp + 0x108], rsi
mov qword [rsp + 0x100], rdi
mov qword [rsp + 0xf8], r12
mov qword [rsp + 0xf0], r13
mov qword [rsp + 0xe8], r14
mov r14d, 0x20
movaps xmmword [rsp + 0xd0], xmm6
sub r14d, eax
movss xmm6, dword [0x1802321b8]
xor esi, esi
movaps xmmword [rsp + 0xc0], xmm7
movss xmm7, dword [0x1802321bc]
movaps xmmword [rsp + 0xb0], xmm8
movsd xmm8, qword [0x180232248]
mov qword [rsp + 0x98], rsi
movaps xmmword [rsp + 0xa0], xmm9
mov dword [rsp + 0x148], r14d
mov ecx, dword [rbp + 0x60]
test ecx, ecx
jne 0x18010784f
nop dword [rax]
movzx edx, byte [rbp + 0x35]
lea r8, [rbp + 0x48]
lea rcx, [rbp + 0x130]
call fcn.180101b50
test eax, eax
je 0x18010a1e8
mov rcx, rbp
call fcn.180102960
test eax, eax
je 0x180107842
cmp eax, 0xffffff9c
je 0x180107810
jmp 0x18010a1e8
mov r8, qword [rsp + 0x138]
jmp 0x18010a1df
movzx edx, byte [rbp + 0x5a]
mov r12, rcx
movsx rax, dl
mov dword [rsp + 0x68], 0x4030201
mov dword [rsp + 0x6c], 0x8070605
mov word [rsp + 0x70], 0x202
mov byte [rsp + 0x72], 2
movzx edi, byte [rsp + rax + 0x68]
movzx eax, word [rbp + 0x58]
sub eax, ecx
mov dword [rsp + 0x90], edi
cmp r8, rcx
cmovbe r12, r8
mov qword [rsp + 0x50], r12
cmp edi, 2
jne 0x18010a01c
mov rsi, qword [rbp + 0x70]
lea rcx, [rax*4]
mov r13, qword [rbp + 0x80]
add rcx, r13
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x30], rcx
lea rdi, [rsi + rax*4]
mov qword [rsp + 0x40], rdi
test edx, edx
je 0x1801096fe
sub edx, 8
je 0x180108d62
sub edx, 1
je 0x1801083ef
cmp edx, 1
jne 0x1801096fe
cmp dword [0x180247a7c], 0
je 0x180107e9c
cmp byte [rbp + 0x35], 0x18
ja 0x180107e9c
movaps xmm5, xmmword [0x180232af0]
lea r9d, [r14 - 8]
mov r10, r12
shr r10, 2
test r9d, r9d
jne 0x180107bc5
test r10, r10
je 0x1801079bc
movdqa xmm4, xmmword [0x1802326c0]
mov r9, r13
sub r9, rsi
mov rcx, r15
mov rdx, rdi
mov r8, r10
movzx eax, byte [rbp + 0x79]
lea rcx, [rcx + 0x20]
movdqu xmm3, xmmword [r9 + rdx]
movdqu xmm1, xmmword [rdx]
lea rdx, [rdx + 0x10]
movd xmm0, eax
movzx eax, byte [rbp + 0x69]
pslld xmm3, xmm0
movd xmm0, eax
pslld xmm1, xmm0
movdqa xmm0, xmm4
pslld xmm1, 1
pand xmm0, xmm3
por xmm1, xmm0
movdqa xmm0, xmm3
paddd xmm0, xmm1
psubd xmm1, xmm3
psrad xmm0, 1
psrad xmm1, 1
cvtdq2ps xmm2, xmm0
cvtdq2ps xmm1, xmm1
mulps xmm2, xmm5
mulps xmm1, xmm5
movaps xmm0, xmm2
unpcklps xmm0, xmm1
unpckhps xmm2, xmm1
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm2
sub r8, 1
jne 0x180107940
mov r8, qword [rsp + 0x138]
lea r9, [r10*4]
cmp r9, r12
jae 0x18010a19f
mov rax, r12
sub rax, r9
cmp rax, 4
jb 0x180107b61
lea r11, [rdi + 4]
mov rbx, r12
sub rbx, r9
lea r10, [r9 + 1]
sub rbx, 4
lea r11, [r11 + r9*4]
mov rdi, r13
shr rbx, 2
sub rdi, rsi
lea r10, [r15 + r10*8]
inc rbx
lea r9, [r9 + rbx*4]
nop dword [rax + rax]
movzx ecx, byte [rbp + 0x79]
mov r8d, dword [rdi + r11 - 4]
mov edx, dword [r11 - 4]
shl r8d, cl
movzx ecx, byte [rbp + 0x69]
mov eax, r8d
shl edx, cl
and eax, 1
add edx, edx
or edx, eax
lea eax, [r8 + rdx]
sub edx, r8d
sar edx, 1
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r10 - 8], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r10 - 4], xmm0
movzx ecx, byte [rbp + 0x79]
mov r8d, dword [r11 + rdi]
mov edx, dword [r11]
shl r8d, cl
movzx ecx, byte [rbp + 0x69]
mov eax, r8d
shl edx, cl
and eax, 1
add edx, edx
or edx, eax
lea eax, [r8 + rdx]
sub edx, r8d
sar edx, 1
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r10], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r10 + 4], xmm0
movzx ecx, byte [rbp + 0x79]
mov r8d, dword [rdi + r11 + 4]
mov edx, dword [r11 + 4]
shl r8d, cl
movzx ecx, byte [rbp + 0x69]
mov eax, r8d
shl edx, cl
and eax, 1
add edx, edx
or edx, eax
lea eax, [r8 + rdx]
sub edx, r8d
sar edx, 1
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r10 + 8], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r10 + 0xc], xmm0
movzx ecx, byte [rbp + 0x79]
mov r8d, dword [rdi + r11 + 8]
mov edx, dword [r11 + 8]
shl r8d, cl
movzx ecx, byte [rbp + 0x69]
mov eax, r8d
shl edx, cl
and eax, 1
add edx, edx
or edx, eax
lea eax, [r8 + rdx]
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r10 + 0x10], xmm0
lea r10, [r10 + 0x20]
sub edx, r8d
lea r11, [r11 + 0x10]
sar edx, 1
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r10 - 0xc], xmm0
sub rbx, 1
jne 0x180107a10
cmp r9, r12
jae 0x18010a197
mov rdi, qword [rsp + 0x40]
lea r10, [rdi + r9*4]
sub r13, rsi
movzx ecx, byte [rbp + 0x79]
mov r8d, dword [r10 + r13]
mov edx, dword [r10]
lea r10, [r10 + 4]
shl r8d, cl
movzx ecx, byte [rbp + 0x69]
mov eax, r8d
shl edx, cl
and eax, 1
add edx, edx
or edx, eax
lea eax, [r8 + rdx]
sub edx, r8d
sar eax, 1
sar edx, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r15 + r9*8], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r15 + r9*8 + 4], xmm0
inc r9
cmp r9, r12
jb 0x180107b68
jmp 0x18010a197
dec r9d
test r10, r10
je 0x180107c75
movdqa xmm9, xmmword [0x1802326c0]
mov r11, r13
sub r11, rsi
mov rcx, r15
mov rdx, rdi
mov r8, r10
nop dword [rax]
movzx eax, byte [rbp + 0x79]
lea rcx, [rcx + 0x20]
movdqu xmm4, xmmword [r11 + rdx]
movdqu xmm3, xmmword [rdx]
lea rdx, [rdx + 0x10]
movd xmm0, eax
movzx eax, byte [rbp + 0x69]
pslld xmm4, xmm0
movdqa xmm1, xmm4
movd xmm0, eax
pslld xmm3, xmm0
movdqa xmm0, xmm9
pslld xmm3, 1
pand xmm0, xmm4
por xmm3, xmm0
movd xmm0, r9d
paddd xmm1, xmm3
psubd xmm3, xmm4
pslld xmm1, xmm0
movd xmm0, r9d
pslld xmm3, xmm0
cvtdq2ps xmm2, xmm1
cvtdq2ps xmm1, xmm3
mulps xmm2, xmm5
mulps xmm1, xmm5
movaps xmm0, xmm2
unpcklps xmm0, xmm1
unpckhps xmm2, xmm1
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm2
sub r8, 1
jne 0x180107bf0
mov r8, qword [rsp + 0x138]
lea r10, [r10*4]
cmp r10, r12
jae 0x18010a19f
mov rax, r12
sub rax, r10
cmp rax, 4
jb 0x180107e32
lea rbx, [rdi + 4]
mov r14, r13
lea r11, [r10 + 1]
mov rdi, r12
sub rdi, r10
lea rbx, [rbx + r10*4]
sub rdi, 4
lea r11, [r15 + r11*8]
shr rdi, 2
sub r14, rsi
inc rdi
lea r10, [r10 + rdi*4]
movzx ecx, byte [rbp + 0x79]
mov edx, dword [r14 + rbx - 4]
mov r8d, dword [rbx - 4]
shl edx, cl
movzx ecx, byte [rbp + 0x69]
mov eax, edx
shl r8d, cl
and eax, 1
add r8d, r8d
mov ecx, r9d
or r8d, eax
lea eax, [rdx + r8]
sub r8d, edx
shl r8d, cl
shl eax, cl
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r11 - 8], xmm0
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r11 - 4], xmm0
movzx ecx, byte [rbp + 0x79]
mov edx, dword [r14 + rbx]
mov r8d, dword [rbx]
shl edx, cl
movzx ecx, byte [rbp + 0x69]
mov eax, edx
shl r8d, cl
and eax, 1
add r8d, r8d
mov ecx, r9d
or r8d, eax
lea eax, [rdx + r8]
sub r8d, edx
shl r8d, cl
shl eax, cl
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r11], xmm0
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r11 + 4], xmm0
movzx ecx, byte [rbp + 0x79]
mov edx, dword [r14 + rbx + 4]
mov r8d, dword [rbx + 4]
shl edx, cl
movzx ecx, byte [rbp + 0x69]
mov eax, edx
shl r8d, cl
and eax, 1
add r8d, r8d
mov ecx, r9d
or r8d, eax
lea eax, [rdx + r8]
sub r8d, edx
shl eax, cl
shl r8d, cl
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r11 + 8], xmm0
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r11 + 0xc], xmm0
movzx ecx, byte [rbp + 0x79]
mov edx, dword [r14 + rbx + 8]
mov r8d, dword [rbx + 8]
shl edx, cl
movzx ecx, byte [rbp + 0x69]
mov eax, edx
shl r8d, cl
and eax, 1
add r8d, r8d
mov ecx, r9d
or r8d, eax
lea eax, [rdx + r8]
shl eax, cl
lea r11, [r11 + 0x20]
sub r8d, edx
lea rbx, [rbx + 0x10]
shl r8d, cl
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r11 - 0x10], xmm0
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r11 - 0xc], xmm0
sub rdi, 1
jne 0x180107cc1
mov r14d, dword [rsp + 0x148]
cmp r10, r12
jae 0x18010a197
mov rdi, qword [rsp + 0x40]
lea r11, [rdi + r10*4]
sub r13, rsi
movzx ecx, byte [rbp + 0x79]
mov edx, dword [r11 + r13]
mov r8d, dword [r11]
lea r11, [r11 + 4]
shl edx, cl
movzx ecx, byte [rbp + 0x69]
mov eax, edx
shl r8d, cl
and eax, 1
add r8d, r8d
mov ecx, r9d
or r8d, eax
lea eax, [rdx + r8]
sub r8d, edx
shl eax, cl
shl r8d, cl
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r15 + r10*8], xmm0
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r15 + r10*8 + 4], xmm0
inc r10
cmp r10, r12
jb 0x180107e39
jmp 0x18010a197
mov rdx, r12
shr rdx, 2
mov qword [rsp + 0x28], rdx
test r14d, r14d
je 0x180108027
lea eax, [r14 - 1]
test rdx, rdx
je 0x1801081ab
sub rsi, r13
mov qword [rsp + 0x30], rdx
lea r12, [r15 + 8]
mov r13, rsi
lea r14, [rcx + 8]
mov r15d, eax
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [rbp + 0x79]
mov r11d, dword [r14 - 8]
mov ebx, dword [r14 - 4]
mov edi, dword [r14]
mov esi, dword [r14 + 4]
mov edx, dword [r14 + r13 - 8]
mov r8d, dword [r14 + r13 - 4]
mov r9d, dword [r14 + r13]
mov r10d, dword [r14 + r13 + 4]
shl r11d, cl
shl ebx, cl
mov eax, r11d
and eax, 1
shl edi, cl
shl esi, cl
movzx ecx, byte [rbp + 0x69]
shl edx, cl
shl r8d, cl
add edx, edx
or edx, eax
shl r9d, cl
shl r10d, cl
add r8d, r8d
mov ecx, r15d
add r9d, r9d
add r10d, r10d
mov eax, ebx
and eax, 1
or r8d, eax
mov eax, edi
and eax, 1
or r9d, eax
mov eax, esi
and eax, 1
or r10d, eax
lea eax, [r11 + rdx]
shl eax, cl
sub edx, r11d
shl edx, cl
movd xmm0, eax
lea eax, [rbx + r8]
cvtdq2ps xmm0, xmm0
shl eax, cl
sub r8d, ebx
shl r8d, cl
mulss xmm0, xmm6
movss dword [r12 - 8], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r12 - 4], xmm0
movd xmm0, eax
lea eax, [rdi + r9]
cvtdq2ps xmm0, xmm0
shl eax, cl
sub r9d, edi
shl r9d, cl
mulss xmm0, xmm6
movss dword [r12], xmm0
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r12 + 4], xmm0
movd xmm0, eax
lea eax, [rsi + r10]
cvtdq2ps xmm0, xmm0
shl eax, cl
sub r10d, esi
shl r10d, cl
mulss xmm0, xmm6
movss dword [r12 + 8], xmm0
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r12 + 0xc], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r12 + 0x10], xmm0
movd xmm0, r10d
cvtdq2ps xmm0, xmm0
sub qword [rsp + 0x30], 1
lea r12, [r12 + 0x20]
mulss xmm0, xmm6
lea r14, [r14 + 0x10]
movss dword [r12 - 0xc], xmm0
jne 0x180107ee0
jmp 0x18010817a
test rdx, rdx
je 0x1801081ab
lea r14, [r15 + 8]
mov r15, rsi
sub r15, r13
lea r12, [rcx + 8]
mov r13, rdx
movzx ecx, byte [rbp + 0x79]
mov r11d, dword [r12 - 8]
mov ebx, dword [r12 - 4]
mov edi, dword [r12]
mov esi, dword [r12 + 4]
mov edx, dword [r12 + r15 - 8]
mov r8d, dword [r12 + r15 - 4]
mov r9d, dword [r15 + r12]
mov r10d, dword [r12 + r15 + 4]
shl r11d, cl
shl ebx, cl
mov eax, r11d
and eax, 1
shl edi, cl
shl esi, cl
movzx ecx, byte [rbp + 0x69]
shl edx, cl
shl r8d, cl
add edx, edx
or edx, eax
shl r9d, cl
add r8d, r8d
shl r10d, cl
add r9d, r9d
add r10d, r10d
mov eax, ebx
and eax, 1
or r8d, eax
mov eax, edi
and eax, 1
or r9d, eax
mov eax, esi
and eax, 1
or r10d, eax
lea eax, [r11 + rdx]
sar eax, 1
sub edx, r11d
sar edx, 1
movd xmm0, eax
lea eax, [rbx + r8]
cvtdq2ps xmm0, xmm0
sar eax, 1
sub r8d, ebx
sar r8d, 1
mulss xmm0, xmm6
movss dword [r14 - 8], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r14 - 4], xmm0
movd xmm0, eax
lea eax, [rdi + r9]
cvtdq2ps xmm0, xmm0
sar eax, 1
sub r9d, edi
sar r9d, 1
mulss xmm0, xmm6
movss dword [r14], xmm0
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r14 + 4], xmm0
movd xmm0, eax
lea eax, [rsi + r10]
cvtdq2ps xmm0, xmm0
sar eax, 1
sub r10d, esi
sar r10d, 1
mulss xmm0, xmm6
movss dword [r14 + 8], xmm0
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r14 + 0xc], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r14 + 0x10], xmm0
movd xmm0, r10d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r14 + 0x14], xmm0
lea r14, [r14 + 0x20]
lea r12, [r12 + 0x10]
sub r13, 1
jne 0x180108041
mov r8, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
mov r13, qword [rsp + 0x58]
mov r12, qword [rsp + 0x50]
mov r15, qword [rsp + 0x140]
mov r14d, dword [rsp + 0x148]
lea r9, [rdx*4]
cmp r9, r12
jae 0x18010a19f
mov rax, r12
sub rax, r9
cmp rax, 4
jb 0x180108380
lea r10, [r15 + 8]
mov rbx, r12
sub rbx, r9
lea r11, [r9 + 1]
sub rbx, 4
lea r10, [r10 + r9*8]
mov r15, r13
shr rbx, 2
sub r15, rsi
lea r11, [rdi + r11*4]
inc rbx
lea r9, [r9 + rbx*4]
nop word [rax + rax]
movzx ecx, byte [rbp + 0x79]
mov edx, dword [r15 + r11 - 4]
mov r8d, dword [r11 - 4]
shl edx, cl
movzx ecx, byte [rbp + 0x69]
mov eax, edx
shl r8d, cl
and eax, 1
add r8d, r8d
mov ecx, r14d
or r8d, eax
lea eax, [rdx + r8]
sub r8d, edx
sar r8d, 1
shl r8d, cl
sar eax, 1
shl eax, cl
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r10 - 8], xmm0
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r10 - 4], xmm0
movzx ecx, byte [rbp + 0x79]
mov edx, dword [r11 + r15]
mov r8d, dword [r11]
shl edx, cl
movzx ecx, byte [rbp + 0x69]
mov eax, edx
shl r8d, cl
and eax, 1
add r8d, r8d
mov ecx, r14d
or r8d, eax
lea eax, [rdx + r8]
sub r8d, edx
sar r8d, 1
shl r8d, cl
sar eax, 1
shl eax, cl
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r10], xmm0
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r10 + 4], xmm0
movzx ecx, byte [rbp + 0x79]
mov edx, dword [r15 + r11 + 4]
mov r8d, dword [r11 + 4]
shl edx, cl
movzx ecx, byte [rbp + 0x69]
mov eax, edx
shl r8d, cl
and eax, 1
add r8d, r8d
mov ecx, r14d
or r8d, eax
lea eax, [rdx + r8]
sub r8d, edx
sar r8d, 1
shl r8d, cl
sar eax, 1
shl eax, cl
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r10 + 8], xmm0
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r10 + 0xc], xmm0
movzx ecx, byte [rbp + 0x79]
mov edx, dword [r15 + r11 + 8]
mov r8d, dword [r11 + 8]
shl edx, cl
movzx ecx, byte [rbp + 0x69]
shl r8d, cl
add r8d, r8d
lea r10, [r10 + 0x20]
mov ecx, r14d
lea r11, [r11 + 0x10]
mov eax, edx
and eax, 1
or r8d, eax
lea eax, [rdx + r8]
sub r8d, edx
sar eax, 1
shl eax, cl
sar r8d, 1
shl r8d, cl
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r10 - 0x10], xmm0
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r10 - 0xc], xmm0
sub rbx, 1
jne 0x180108200
mov r15, qword [rsp + 0x140]
cmp r9, r12
jae 0x18010a197
lea r10, [rdi + r9*4]
sub r13, rsi
movzx ecx, byte [rbp + 0x79]
mov edx, dword [r10 + r13]
mov r8d, dword [r10]
lea r10, [r10 + 4]
shl edx, cl
movzx ecx, byte [rbp + 0x69]
mov eax, edx
shl r8d, cl
and eax, 1
add r8d, r8d
mov ecx, r14d
or r8d, eax
lea eax, [rdx + r8]
sub r8d, edx
sar eax, 1
shl eax, cl
sar r8d, 1
shl r8d, cl
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r15 + r9*8], xmm0
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r15 + r9*8 + 4], xmm0
inc r9
cmp r9, r12
jb 0x180108387
jmp 0x18010a197
cmp dword [0x180247a7c], 0
je 0x18010862d
cmp byte [rbp + 0x35], 0x18
ja 0x18010862d
movzx r11d, byte [rbp + 0x69]
lea ebx, [r14 - 8]
movzx eax, byte [rbp + 0x79]
add r11d, 0xfffffff8
movaps xmm4, xmmword [0x180232af0]
mov r10, r12
add r11d, r14d
shr r10, 2
add ebx, eax
test r10, r10
je 0x180108492
mov r8, r13
mov rax, r15
sub r8, rsi
mov rcx, rdi
mov rdx, r10
nop
movd xmm0, ebx
lea rax, [rax + 0x20]
movdqu xmm3, xmmword [r8 + rcx]
movdqu xmm1, xmmword [rcx]
lea rcx, [rcx + 0x10]
pslld xmm3, xmm0
movd xmm0, r11d
pslld xmm1, xmm0
paddd xmm1, xmm3
cvtdq2ps xmm2, xmm1
cvtdq2ps xmm1, xmm3
mulps xmm2, xmm4
mulps xmm1, xmm4
movaps xmm0, xmm2
unpcklps xmm0, xmm1
unpckhps xmm2, xmm1
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x10], xmm2
sub rdx, 1
jne 0x180108440
mov r8, qword [rsp + 0x138]
lea r10, [r10*4]
cmp r10, r12
jae 0x18010a19f
mov rax, r12
sub rax, r10
cmp rax, 4
jb 0x1801085e0
lea r9, [rdi + 4]
mov rbp, r13
lea r8, [r10 + 1]
mov rdi, r12
sub rdi, r10
lea r9, [r9 + r10*4]
sub rdi, 4
lea r8, [r15 + r8*8]
shr rdi, 2
sub rbp, rsi
inc rdi
lea r10, [r10 + rdi*4]
nop
mov edx, dword [r9 + rbp - 4]
lea r8, [r8 + 0x20]
mov eax, dword [r9 - 4]
lea r9, [r9 + 0x10]
mov ecx, ebx
shl edx, cl
mov ecx, r11d
shl eax, cl
mov ecx, ebx
add eax, edx
movd xmm1, edx
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm7
mulss xmm0, xmm7
movss dword [r8 - 0x24], xmm1
movss dword [r8 - 0x28], xmm0
mov edx, dword [r9 + rbp - 0x10]
mov eax, dword [r9 - 0x10]
shl edx, cl
mov ecx, r11d
shl eax, cl
mov ecx, ebx
add eax, edx
movd xmm1, edx
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm7
mulss xmm0, xmm7
movss dword [r8 - 0x1c], xmm1
movss dword [r8 - 0x20], xmm0
mov edx, dword [r9 + rbp - 0xc]
mov eax, dword [r9 - 0xc]
shl edx, cl
mov ecx, r11d
shl eax, cl
mov ecx, ebx
add eax, edx
movd xmm1, edx
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm7
mulss xmm0, xmm7
movss dword [r8 - 0x14], xmm1
movss dword [r8 - 0x18], xmm0
mov edx, dword [r9 + rbp - 8]
mov eax, dword [r9 - 8]
shl edx, cl
mov ecx, r11d
shl eax, cl
add eax, edx
movd xmm1, edx
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mulss xmm1, xmm7
cvtdq2ps xmm0, xmm0
movss dword [r8 - 0xc], xmm1
mulss xmm0, xmm7
movss dword [r8 - 0x10], xmm0
sub rdi, 1
jne 0x1801084e0
mov rbp, qword [rsp + 0x130]
cmp r10, r12
jae 0x18010a197
mov rdi, qword [rsp + 0x40]
lea r8, [rdi + r10*4]
sub r13, rsi
mov edx, dword [r8 + r13]
mov ecx, ebx
mov eax, dword [r8]
lea r8, [r8 + 4]
shl edx, cl
mov ecx, r11d
shl eax, cl
add eax, edx
movd xmm1, edx
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm7
mulss xmm0, xmm7
movss dword [r15 + r10*8 + 4], xmm1
movss dword [r15 + r10*8], xmm0
inc r10
cmp r10, r12
jb 0x1801085e7
jmp 0x18010a197
movzx eax, byte [rbp + 0x69]
mov rdx, r12
movzx r9d, byte [rbp + 0x79]
add eax, r14d
shr rdx, 2
add r9d, r14d
xor r8d, r8d
mov qword [rsp + 0x38], rdx
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x28], r9d
cmp rdx, 4
jb 0x180108a62
mov r14d, dword [rsp + 0x20]
lea rax, [rdx - 4]
shr rax, 2
lea r12, [r15 + 8]
sub rsi, r13
lea r15, [rcx + 8]
inc rax
mov ebp, r9d
mov qword [rsp + 0x80], rax
mov r13, qword [rsp + 0x80]
lea rax, [rax*4]
mov qword [rsp + 0x48], rax
nop dword [rax]
mov r10d, dword [r15 - 8]
mov ecx, ebp
mov r11d, dword [r15 - 4]
mov ebx, dword [r15]
mov edi, dword [r15 + 4]
mov eax, dword [r15 + rsi - 8]
mov edx, dword [r15 + rsi - 4]
mov r8d, dword [rsi + r15]
mov r9d, dword [r15 + rsi + 4]
shl r10d, cl
shl r11d, cl
shl ebx, cl
shl edi, cl
mov ecx, r14d
shl edx, cl
add edx, r11d
shl r8d, cl
shl eax, cl
add r8d, ebx
add eax, r10d
shl r9d, cl
add r9d, edi
movd xmm1, r10d
cvtdq2ps xmm1, xmm1
mov ecx, ebp
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r12 - 4], xmm1
movd xmm1, r11d
movss dword [r12 - 8], xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r12 + 4], xmm1
movd xmm1, ebx
movss dword [r12], xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r12 + 0xc], xmm1
movd xmm1, edi
movss dword [r12 + 8], xmm0
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm6
mulss xmm1, xmm6
movss dword [r12 + 0x10], xmm0
movss dword [r12 + 0x14], xmm1
mov r10d, dword [r15 + 8]
mov r11d, dword [r15 + 0xc]
mov ebx, dword [r15 + 0x10]
mov edi, dword [r15 + 0x14]
mov edx, dword [rsi + r15 + 0xc]
mov r8d, dword [rsi + r15 + 0x10]
mov r9d, dword [rsi + r15 + 0x14]
mov eax, dword [r15 + rsi + 8]
shl r10d, cl
shl r11d, cl
shl ebx, cl
shl edi, cl
mov ecx, r14d
shl edx, cl
shl r8d, cl
add edx, r11d
shl r9d, cl
add r8d, ebx
add r9d, edi
shl eax, cl
add eax, r10d
movd xmm1, r10d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r12 + 0x18], xmm0
cvtdq2ps xmm1, xmm1
mov ecx, ebp
movd xmm0, edx
mulss xmm1, xmm6
cvtdq2ps xmm0, xmm0
movss dword [r12 + 0x1c], xmm1
mulss xmm0, xmm6
movd xmm1, r11d
cvtdq2ps xmm1, xmm1
movss dword [r12 + 0x20], xmm0
mulss xmm1, xmm6
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
movss dword [r12 + 0x24], xmm1
mulss xmm0, xmm6
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
movss dword [r12 + 0x28], xmm0
mulss xmm1, xmm6
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
movss dword [r12 + 0x2c], xmm1
mulss xmm0, xmm6
movd xmm1, edi
cvtdq2ps xmm1, xmm1
movss dword [r12 + 0x30], xmm0
mulss xmm1, xmm6
movss dword [r12 + 0x34], xmm1
mov r10d, dword [r15 + 0x18]
mov r11d, dword [r15 + 0x1c]
mov ebx, dword [r15 + 0x20]
mov edi, dword [r15 + 0x24]
mov edx, dword [r15 + rsi + 0x1c]
mov r8d, dword [r15 + rsi + 0x20]
mov r9d, dword [r15 + rsi + 0x24]
mov eax, dword [r15 + rsi + 0x18]
shl r11d, cl
shl ebx, cl
shl edi, cl
shl r10d, cl
mov ecx, r14d
shl edx, cl
shl r8d, cl
add edx, r11d
shl r9d, cl
add r8d, ebx
add r9d, edi
shl eax, cl
add eax, r10d
movd xmm1, r10d
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r12 + 0x3c], xmm1
movd xmm1, r11d
movss dword [r12 + 0x38], xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r12 + 0x44], xmm1
movd xmm1, ebx
movss dword [r12 + 0x40], xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r12 + 0x4c], xmm1
movd xmm1, edi
movss dword [r12 + 0x48], xmm0
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm6
mulss xmm1, xmm6
movss dword [r12 + 0x50], xmm0
movss dword [r12 + 0x54], xmm1
mov r10d, dword [r15 + 0x28]
lea r12, [r12 + 0x80]
mov r11d, dword [r15 + 0x2c]
mov ecx, ebp
mov ebx, dword [r15 + 0x30]
mov edi, dword [r15 + 0x34]
mov eax, dword [r15 + rsi + 0x28]
mov edx, dword [r15 + rsi + 0x2c]
mov r8d, dword [r15 + rsi + 0x30]
mov r9d, dword [r15 + rsi + 0x34]
lea r15, [r15 + 0x40]
shl r10d, cl
shl r11d, cl
shl ebx, cl
shl edi, cl
mov ecx, r14d
shl eax, cl
add eax, r10d
shl edx, cl
add edx, r11d
shl r8d, cl
add r8d, ebx
movd xmm1, r10d
cvtdq2ps xmm1, xmm1
shl r9d, cl
add r9d, edi
movd xmm0, eax
mulss xmm1, xmm6
cvtdq2ps xmm0, xmm0
movss dword [r12 - 0x24], xmm1
mulss xmm0, xmm6
movd xmm1, r11d
cvtdq2ps xmm1, xmm1
movss dword [r12 - 0x28], xmm0
mulss xmm1, xmm6
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [r12 - 0x1c], xmm1
mulss xmm0, xmm6
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
movss dword [r12 - 0x20], xmm0
mulss xmm1, xmm6
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
movss dword [r12 - 0x14], xmm1
mulss xmm0, xmm6
movd xmm1, edi
cvtdq2ps xmm1, xmm1
movss dword [r12 - 0x18], xmm0
movd xmm0, r9d
mulss xmm1, xmm6
cvtdq2ps xmm0, xmm0
movss dword [r12 - 0xc], xmm1
mulss xmm0, xmm6
movss dword [r12 - 0x10], xmm0
sub r13, 1
jne 0x1801086a0
mov rbp, qword [rsp + 0x130]
mov r14d, dword [rsp + 0x148]
mov r15, qword [rsp + 0x140]
mov r12, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov r9d, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
cmp r8, rdx
jae 0x180108bb8
mov ebp, dword [rsp + 0x20]
lea r12, [r15 + 8]
mov r14d, dword [rsp + 0x28]
lea r15, [rcx + 8]
sub rsi, r13
mov rax, r8
shl rax, 5
mov r13, rdx
add r12, rax
mov rax, r8
shl rax, 4
add r15, rax
sub r13, r8
mov r10d, dword [r15 - 8]
lea r12, [r12 + 0x20]
mov r11d, dword [r15 - 4]
mov ecx, r14d
mov ebx, dword [r15]
mov edi, dword [r15 + 4]
mov eax, dword [r15 + rsi - 8]
mov edx, dword [r15 + rsi - 4]
mov r8d, dword [rsi + r15]
mov r9d, dword [r15 + rsi + 4]
lea r15, [r15 + 0x10]
shl r10d, cl
shl r11d, cl
shl ebx, cl
shl edi, cl
mov ecx, ebp
shl eax, cl
add eax, r10d
shl edx, cl
add edx, r11d
shl r8d, cl
add r8d, ebx
movd xmm1, r10d
cvtdq2ps xmm1, xmm1
shl r9d, cl
add r9d, edi
movd xmm0, eax
mulss xmm1, xmm6
cvtdq2ps xmm0, xmm0
movss dword [r12 - 0x24], xmm1
mulss xmm0, xmm6
movd xmm1, r11d
cvtdq2ps xmm1, xmm1
movss dword [r12 - 0x28], xmm0
mulss xmm1, xmm6
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [r12 - 0x1c], xmm1
mulss xmm0, xmm6
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
movss dword [r12 - 0x20], xmm0
mulss xmm1, xmm6
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
movss dword [r12 - 0x14], xmm1
mulss xmm0, xmm6
movd xmm1, edi
cvtdq2ps xmm1, xmm1
movss dword [r12 - 0x18], xmm0
movd xmm0, r9d
mulss xmm1, xmm6
cvtdq2ps xmm0, xmm0
movss dword [r12 - 0xc], xmm1
mulss xmm0, xmm6
movss dword [r12 - 0x10], xmm0
sub r13, 1
jne 0x180108a99
mov rbp, qword [rsp + 0x130]
mov r14d, dword [rsp + 0x148]
mov r15, qword [rsp + 0x140]
mov r12, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov r9d, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x38]
lea rbx, [rdx*4]
cmp rbx, r12
jae 0x18010a197
mov r8d, dword [rsp + 0x20]
mov rax, r12
sub rax, rbx
cmp rax, 4
jb 0x180108d0f
mov r11, qword [rsp + 0x40]
lea r10, [rbx + 1]
add r11, 4
lea r10, [r15 + r10*8]
mov rdi, r12
mov r14, r13
sub rdi, rbx
sub r14, rsi
sub rdi, 4
shr rdi, 2
lea r11, [r11 + rbx*4]
inc rdi
lea rbx, [rbx + rdi*4]
nop
mov edx, dword [r14 + r11 - 4]
lea r10, [r10 + 0x20]
mov eax, dword [r11 - 4]
lea r11, [r11 + 0x10]
mov ecx, r9d
shl edx, cl
mov ecx, r8d
shl eax, cl
mov ecx, r9d
add eax, edx
movd xmm1, edx
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r10 - 0x24], xmm1
movss dword [r10 - 0x28], xmm0
mov edx, dword [r11 + r14 - 0x10]
mov eax, dword [r11 - 0x10]
shl edx, cl
mov ecx, r8d
shl eax, cl
mov ecx, r9d
add eax, edx
movd xmm1, edx
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r10 - 0x1c], xmm1
movss dword [r10 - 0x20], xmm0
mov edx, dword [r14 + r11 - 0xc]
mov eax, dword [r11 - 0xc]
shl edx, cl
mov ecx, r8d
shl eax, cl
mov ecx, r9d
add eax, edx
movd xmm1, edx
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r10 - 0x14], xmm1
movss dword [r10 - 0x18], xmm0
mov edx, dword [r14 + r11 - 8]
mov eax, dword [r11 - 8]
shl edx, cl
mov ecx, r8d
shl eax, cl
add eax, edx
movd xmm1, edx
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mulss xmm1, xmm6
cvtdq2ps xmm0, xmm0
movss dword [r10 - 0xc], xmm1
mulss xmm0, xmm6
movss dword [r10 - 0x10], xmm0
sub rdi, 1
jne 0x180108c10
mov r14d, dword [rsp + 0x148]
cmp rbx, r12
jae 0x18010a197
mov rax, qword [rsp + 0x40]
sub r13, rsi
lea r10, [rax + rbx*4]
mov edx, dword [r10 + r13]
mov ecx, r9d
mov eax, dword [r10]
lea r10, [r10 + 4]
shl edx, cl
mov ecx, r8d
shl eax, cl
add eax, edx
movd xmm1, edx
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r15 + rbx*8 + 4], xmm1
movss dword [r15 + rbx*8], xmm0
inc rbx
cmp rbx, r12
jb 0x180108d1b
jmp 0x18010a197
cmp dword [0x180247a7c], 0
je 0x180108faa
cmp byte [rbp + 0x35], 0x18
ja 0x180108faa
movzx r11d, byte [rbp + 0x69]
lea ebx, [r14 - 8]
movzx eax, byte [rbp + 0x79]
add r11d, 0xfffffff8
movaps xmm4, xmmword [0x180232af0]
mov r10, r12
add r11d, r14d
shr r10, 2
add ebx, eax
test r10, r10
je 0x180108e07
mov r8, rsi
mov rax, r15
sub r8, r13
mov rdx, r10
nop
movd xmm0, r11d
lea rax, [rax + 0x20]
movdqu xmm2, xmmword [r8 + rcx]
movdqu xmm1, xmmword [rcx]
lea rcx, [rcx + 0x10]
pslld xmm2, xmm0
movd xmm0, ebx
cvtdq2ps xmm3, xmm2
pslld xmm1, xmm0
mulps xmm3, xmm4
psubd xmm2, xmm1
cvtdq2ps xmm2, xmm2
movaps xmm0, xmm3
mulps xmm2, xmm4
unpcklps xmm0, xmm2
unpckhps xmm3, xmm2
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x10], xmm3
sub rdx, 1
jne 0x180108db0
mov rcx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x138]
lea r10, [r10*4]
cmp r10, r12
jae 0x18010a19f
mov rax, r12
sub rax, r10
cmp rax, 4
jb 0x180108f56
lea r8, [r10 + 1]
mov rdi, r12
sub rdi, r10
lea r9, [r10 + 1]
sub rdi, 4
lea r8, [r15 + r8*8]
mov rbp, rsi
shr rdi, 2
sub rbp, r13
lea r9, [rcx + r9*4]
inc rdi
lea r10, [r10 + rdi*4]
mov edx, dword [r9 + rbp - 4]
lea r8, [r8 + 0x20]
mov eax, dword [r9 - 4]
lea r9, [r9 + 0x10]
mov ecx, r11d
shl edx, cl
mov ecx, ebx
shl eax, cl
mov ecx, edx
sub ecx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movd xmm1, ecx
mov ecx, r11d
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm7
mulss xmm1, xmm7
movss dword [r8 - 0x28], xmm0
movss dword [r8 - 0x24], xmm1
mov edx, dword [r9 + rbp - 0x10]
mov eax, dword [r9 - 0x10]
shl edx, cl
mov ecx, ebx
shl eax, cl
mov ecx, edx
sub ecx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movd xmm1, ecx
mov ecx, r11d
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm7
mulss xmm1, xmm7
movss dword [r8 - 0x20], xmm0
movss dword [r8 - 0x1c], xmm1
mov edx, dword [r9 + rbp - 0xc]
mov eax, dword [r9 - 0xc]
shl edx, cl
mov ecx, ebx
shl eax, cl
mov ecx, edx
sub ecx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movd xmm1, ecx
mov ecx, r11d
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm7
mulss xmm1, xmm7
movss dword [r8 - 0x18], xmm0
movss dword [r8 - 0x14], xmm1
mov edx, dword [r9 + rbp - 8]
mov eax, dword [r9 - 8]
shl edx, cl
mov ecx, ebx
shl eax, cl
mov ecx, edx
sub ecx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movd xmm1, ecx
mulss xmm0, xmm7
cvtdq2ps xmm1, xmm1
movss dword [r8 - 0x10], xmm0
mulss xmm1, xmm7
movss dword [r8 - 0xc], xmm1
sub rdi, 1
jne 0x180108e53
mov rbp, qword [rsp + 0x130]
cmp r10, r12
jae 0x18010a197
mov rax, qword [rsp + 0x30]
sub rsi, r13
lea r8, [rax + r10*4]
mov edx, dword [rsi + r8]
mov ecx, r11d
mov eax, dword [r8]
lea r8, [r8 + 4]
shl edx, cl
mov ecx, ebx
shl eax, cl
mov ecx, edx
sub ecx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm7
mulss xmm1, xmm7
movss dword [r15 + r10*8], xmm0
movss dword [r15 + r10*8 + 4], xmm1
inc r10
cmp r10, r12
jb 0x180108f62
jmp 0x18010a197
movzx r8d, byte [rbp + 0x69]
mov rdx, r12
movzx eax, byte [rbp + 0x79]
add r8d, r14d
shr rdx, 2
add eax, r14d
xor r9d, r9d
mov qword [rsp + 0x38], rdx
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x28], eax
cmp rdx, 4
jb 0x1801093e9
mov r12d, dword [rsp + 0x28]
lea rax, [r15 + 8]
mov qword [rsp + 0x80], rax
add rdi, 8
mov r15, qword [rsp + 0x80]
lea rax, [rdx - 4]
shr rax, 2
sub r13, rsi
inc rax
mov r14d, r8d
mov qword [rsp + 0x48], rax
mov rsi, rdi
mov rbp, qword [rsp + 0x48]
lea rax, [rax*4]
mov qword [rsp + 0x78], rax
nop dword [rax]
nop word [rax + rax]
mov r10d, dword [rsi - 8]
mov ecx, r14d
mov r11d, dword [rsi - 4]
mov ebx, dword [rsi]
mov edi, dword [rsi + 4]
mov eax, dword [rsi + r13 - 8]
shl r10d, cl
shl r11d, cl
mov edx, r10d
shl ebx, cl
mov r8d, r11d
shl edi, cl
mov r9d, ebx
mov ecx, r12d
movd xmm0, r10d
shl eax, cl
sub edx, eax
mov eax, dword [rsi + r13 - 4]
shl eax, cl
sub r8d, eax
mov eax, dword [rsi + r13]
shl eax, cl
sub r9d, eax
movd xmm1, edx
mov eax, dword [rsi + r13 + 4]
shl eax, cl
mov ecx, edi
cvtdq2ps xmm1, xmm1
sub ecx, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r15 - 4], xmm1
movd xmm1, r8d
movss dword [r15 - 8], xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, r11d
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r15 + 4], xmm1
movd xmm1, r9d
movss dword [r15], xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r15 + 0xc], xmm1
movd xmm1, ecx
mov ecx, r14d
movss dword [r15 + 8], xmm0
movd xmm0, edi
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r15 + 0x14], xmm1
movss dword [r15 + 0x10], xmm0
mov r10d, dword [rsi + 8]
mov r11d, dword [rsi + 0xc]
mov ebx, dword [rsi + 0x10]
mov edi, dword [rsi + 0x14]
mov eax, dword [rsi + r13 + 8]
shl r10d, cl
shl r11d, cl
mov edx, r10d
shl ebx, cl
mov r8d, r11d
shl edi, cl
mov r9d, ebx
mov ecx, r12d
shl eax, cl
sub edx, eax
mov eax, dword [rsi + r13 + 0xc]
shl eax, cl
sub r8d, eax
mov eax, dword [rsi + r13 + 0x10]
shl eax, cl
sub r9d, eax
mov eax, dword [rsi + r13 + 0x14]
shl eax, cl
mov ecx, edi
sub ecx, eax
movd xmm0, r10d
cvtdq2ps xmm0, xmm0
movd xmm1, edx
mulss xmm0, xmm6
cvtdq2ps xmm1, xmm1
movss dword [r15 + 0x18], xmm0
mulss xmm1, xmm6
movd xmm0, r11d
cvtdq2ps xmm0, xmm0
movss dword [r15 + 0x1c], xmm1
mulss xmm0, xmm6
movd xmm1, r8d
cvtdq2ps xmm1, xmm1
movss dword [r15 + 0x20], xmm0
mulss xmm1, xmm6
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
movss dword [r15 + 0x24], xmm1
mulss xmm0, xmm6
movd xmm1, r9d
cvtdq2ps xmm1, xmm1
movss dword [r15 + 0x28], xmm0
mulss xmm1, xmm6
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [r15 + 0x2c], xmm1
mulss xmm0, xmm6
movd xmm1, ecx
mov ecx, r14d
cvtdq2ps xmm1, xmm1
movss dword [r15 + 0x30], xmm0
mulss xmm1, xmm6
movss dword [r15 + 0x34], xmm1
mov r10d, dword [rsi + 0x18]
mov r11d, dword [rsi + 0x1c]
mov ebx, dword [rsi + 0x20]
mov edi, dword [rsi + 0x24]
mov eax, dword [rsi + r13 + 0x18]
shl r10d, cl
shl r11d, cl
mov edx, r10d
shl ebx, cl
mov r8d, r11d
shl edi, cl
mov r9d, ebx
mov ecx, r12d
movd xmm0, r10d
shl eax, cl
sub edx, eax
mov eax, dword [rsi + r13 + 0x1c]
cvtdq2ps xmm0, xmm0
shl eax, cl
sub r8d, eax
mov eax, dword [rsi + r13 + 0x20]
shl eax, cl
sub r9d, eax
mov eax, dword [rsi + r13 + 0x24]
movd xmm1, edx
mulss xmm0, xmm6
shl eax, cl
mov ecx, edi
cvtdq2ps xmm1, xmm1
sub ecx, eax
movss dword [r15 + 0x38], xmm0
mulss xmm1, xmm6
movd xmm0, r11d
cvtdq2ps xmm0, xmm0
movss dword [r15 + 0x3c], xmm1
mulss xmm0, xmm6
movd xmm1, r8d
cvtdq2ps xmm1, xmm1
movss dword [r15 + 0x40], xmm0
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r15 + 0x44], xmm1
movss dword [r15 + 0x48], xmm0
movd xmm1, r9d
lea r15, [r15 + 0x80]
cvtdq2ps xmm1, xmm1
lea rsi, [rsi + 0x40]
movd xmm0, edi
mulss xmm1, xmm6
cvtdq2ps xmm0, xmm0
movss dword [r15 - 0x34], xmm1
mulss xmm0, xmm6
movd xmm1, ecx
mov ecx, r14d
cvtdq2ps xmm1, xmm1
movss dword [r15 - 0x30], xmm0
mulss xmm1, xmm6
movss dword [r15 - 0x2c], xmm1
mov r10d, dword [rsi - 0x18]
mov r11d, dword [rsi - 0x14]
mov ebx, dword [rsi - 0x10]
mov edi, dword [rsi - 0xc]
mov eax, dword [rsi + r13 - 0x18]
shl r10d, cl
shl r11d, cl
mov edx, r10d
shl ebx, cl
mov r8d, r11d
shl edi, cl
mov r9d, ebx
mov ecx, r12d
movd xmm0, r10d
shl eax, cl
cvtdq2ps xmm0, xmm0
sub edx, eax
mov eax, dword [rsi + r13 - 0x14]
shl eax, cl
sub r8d, eax
mov eax, dword [rsi + r13 - 0x10]
shl eax, cl
sub r9d, eax
movd xmm1, edx
mov eax, dword [rsi + r13 - 0xc]
cvtdq2ps xmm1, xmm1
shl eax, cl
mov ecx, edi
sub ecx, eax
mulss xmm0, xmm6
mulss xmm1, xmm6
movss dword [r15 - 0x28], xmm0
movd xmm0, r11d
movss dword [r15 - 0x24], xmm1
movd xmm1, r8d
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r15 - 0x1c], xmm1
movd xmm1, r9d
movss dword [r15 - 0x20], xmm0
movd xmm0, ebx
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r15 - 0x14], xmm1
movd xmm1, ecx
movss dword [r15 - 0x18], xmm0
movd xmm0, edi
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r15 - 0xc], xmm1
movss dword [r15 - 0x10], xmm0
sub rbp, 1
jne 0x180109030
mov rbp, qword [rsp + 0x130]
mov r14d, dword [rsp + 0x148]
mov r15, qword [rsp + 0x140]
mov r12, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x20]
mov rdi, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
mov r9, qword [rsp + 0x78]
cmp r9, rdx
jae 0x18010954c
mov ebp, dword [rsp + 0x20]
lea rcx, [r15 + 8]
mov r14d, dword [rsp + 0x28]
mov rax, r9
shl rax, 5
mov r12, r9
add rcx, rax
shl r12, 4
mov rax, r13
add r12, 8
sub rax, rsi
add r12, rdi
mov r13, rdx
mov rsi, rax
sub r13, r9
mov r15, rcx
mov r10d, dword [r12 - 8]
lea r15, [r15 + 0x20]
mov r11d, dword [r12 - 4]
mov ecx, ebp
mov ebx, dword [r12]
mov edi, dword [r12 + 4]
mov eax, dword [r12 + rsi - 8]
lea r12, [r12 + 0x10]
shl r10d, cl
shl r11d, cl
mov edx, r10d
shl ebx, cl
mov r8d, r11d
shl edi, cl
mov r9d, ebx
mov ecx, r14d
movd xmm0, r10d
shl eax, cl
cvtdq2ps xmm0, xmm0
sub edx, eax
mov eax, dword [rsi + r12 - 0x14]
shl eax, cl
sub r8d, eax
mov eax, dword [rsi + r12 - 0x10]
shl eax, cl
sub r9d, eax
movd xmm1, edx
mov eax, dword [rsi + r12 - 0xc]
cvtdq2ps xmm1, xmm1
shl eax, cl
mov ecx, edi
sub ecx, eax
mulss xmm0, xmm6
mulss xmm1, xmm6
movss dword [r15 - 0x28], xmm0
movd xmm0, r11d
movss dword [r15 - 0x24], xmm1
movd xmm1, r8d
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r15 - 0x1c], xmm1
movd xmm1, r9d
movss dword [r15 - 0x20], xmm0
movd xmm0, ebx
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r15 - 0x14], xmm1
movd xmm1, ecx
movss dword [r15 - 0x18], xmm0
movd xmm0, edi
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r15 - 0xc], xmm1
movss dword [r15 - 0x10], xmm0
sub r13, 1
jne 0x180109429
mov rbp, qword [rsp + 0x130]
mov r14d, dword [rsp + 0x148]
mov r15, qword [rsp + 0x140]
mov r12, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x20]
mov rdx, qword [rsp + 0x38]
lea rbx, [rdx*4]
cmp rbx, r12
jae 0x18010a197
mov r9d, dword [rsp + 0x28]
mov rax, r12
sub rax, rbx
cmp rax, 4
jb 0x1801096a9
mov r11, qword [rsp + 0x30]
lea r10, [rbx + 1]
add r11, 4
lea r10, [r15 + r10*8]
mov rdi, r12
mov r14, rsi
sub rdi, rbx
sub r14, r13
sub rdi, 4
shr rdi, 2
lea r11, [r11 + rbx*4]
inc rdi
lea rbx, [rbx + rdi*4]
mov edx, dword [r11 + r14 - 4]
lea r10, [r10 + 0x20]
mov eax, dword [r11 - 4]
lea r11, [r11 + 0x10]
mov ecx, r8d
shl edx, cl
mov ecx, r9d
shl eax, cl
mov ecx, edx
sub ecx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movd xmm1, ecx
mov ecx, r8d
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm6
mulss xmm1, xmm6
movss dword [r10 - 0x28], xmm0
movss dword [r10 - 0x24], xmm1
mov edx, dword [r14 + r11 - 0x10]
mov eax, dword [r11 - 0x10]
shl edx, cl
mov ecx, r9d
shl eax, cl
mov ecx, edx
sub ecx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movd xmm1, ecx
mov ecx, r8d
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm6
mulss xmm1, xmm6
movss dword [r10 - 0x20], xmm0
movss dword [r10 - 0x1c], xmm1
mov edx, dword [r11 + r14 - 0xc]
mov eax, dword [r11 - 0xc]
shl edx, cl
mov ecx, r9d
shl eax, cl
mov ecx, edx
sub ecx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movd xmm1, ecx
mov ecx, r8d
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm6
mulss xmm1, xmm6
movss dword [r10 - 0x18], xmm0
movss dword [r10 - 0x14], xmm1
mov edx, dword [r11 + r14 - 8]
mov eax, dword [r11 - 8]
shl edx, cl
mov ecx, r9d
shl eax, cl
mov ecx, edx
sub ecx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movd xmm1, ecx
mulss xmm0, xmm6
cvtdq2ps xmm1, xmm1
movss dword [r10 - 0x10], xmm0
mulss xmm1, xmm6
movss dword [r10 - 0xc], xmm1
sub rdi, 1
jne 0x1801095a2
mov r14d, dword [rsp + 0x148]
cmp rbx, r12
jae 0x18010a197
mov rax, qword [rsp + 0x30]
sub rsi, r13
lea r10, [rax + rbx*4]
mov edx, dword [r10 + rsi]
mov ecx, r8d
mov eax, dword [r10]
lea r10, [r10 + 4]
shl edx, cl
mov ecx, r9d
shl eax, cl
mov ecx, edx
sub ecx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm6
mulss xmm1, xmm6
movss dword [r15 + rbx*8], xmm0
movss dword [r15 + rbx*8 + 4], xmm1
inc rbx
cmp rbx, r12
jb 0x1801096b5
jmp 0x18010a197
cmp dword [0x180247a7c], 0
je 0x180109928
cmp byte [rbp + 0x35], 0x18
ja 0x180109928
movzx r10d, byte [rbp + 0x69]
lea r11d, [r14 - 8]
movzx eax, byte [rbp + 0x79]
add r10d, 0xfffffff8
movaps xmm4, xmmword [0x180232af0]
mov r9, r12
add r10d, r14d
shr r9, 2
add r11d, eax
test r9, r9
je 0x1801097a5
mov r8, rsi
mov rax, r15
sub r8, r13
mov rdx, r9
nop dword [rax + rax]
movd xmm0, r10d
lea rax, [rax + 0x20]
movdqu xmm1, xmmword [rcx + r8]
lea rcx, [rcx + 0x10]
pslld xmm1, xmm0
movd xmm0, r11d
cvtdq2ps xmm3, xmm1
movdqu xmm1, xmmword [rcx - 0x10]
mulps xmm3, xmm4
pslld xmm1, xmm0
cvtdq2ps xmm2, xmm1
movaps xmm0, xmm3
mulps xmm2, xmm4
unpcklps xmm0, xmm2
unpckhps xmm3, xmm2
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x10], xmm3
sub rdx, 1
jne 0x180109750
mov rcx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x138]
lea r9, [r9*4]
cmp r9, r12
jae 0x18010a19f
mov rax, r12
sub rax, r9
cmp rax, 4
jb 0x1801098d8
lea rdx, [r9 + 1]
mov rdi, r12
sub rdi, r9
lea r8, [r9 + 1]
sub rdi, 4
lea rdx, [rcx + rdx*4]
mov rbx, rsi
shr rdi, 2
sub rbx, r13
lea r8, [r15 + r8*8]
inc rdi
lea r9, [r9 + rdi*4]
mov eax, dword [rdx + rbx - 4]
lea r8, [r8 + 0x20]
mov ecx, r10d
lea rdx, [rdx + 0x10]
shl eax, cl
mov ecx, r11d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r8 - 0x28], xmm0
mov eax, dword [rdx - 0x14]
shl eax, cl
mov ecx, r10d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r8 - 0x24], xmm0
mov eax, dword [rbx + rdx - 0x10]
shl eax, cl
mov ecx, r11d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r8 - 0x20], xmm0
mov eax, dword [rdx - 0x10]
shl eax, cl
mov ecx, r10d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r8 - 0x1c], xmm0
mov eax, dword [rdx + rbx - 0xc]
shl eax, cl
mov ecx, r11d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r8 - 0x18], xmm0
mov eax, dword [rdx - 0xc]
shl eax, cl
mov ecx, r10d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r8 - 0x14], xmm0
mov eax, dword [rdx + rbx - 8]
shl eax, cl
mov ecx, r11d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r8 - 0x10], xmm0
mov eax, dword [rdx - 8]
shl eax, cl
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r8 - 0xc], xmm0
sub rdi, 1
jne 0x1801097f1
cmp r9, r12
jae 0x18010a197
mov rax, qword [rsp + 0x30]
sub rsi, r13
lea rdx, [rax + r9*4]
mov eax, dword [rdx + rsi]
lea rdx, [rdx + 4]
mov ecx, r10d
shl eax, cl
mov ecx, r11d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r15 + r9*8], xmm0
mov eax, dword [rdx - 4]
shl eax, cl
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r15 + r9*8 + 4], xmm0
inc r9
cmp r9, r12
jb 0x1801098e4
jmp 0x18010a197
movzx edx, byte [rbp + 0x69]
mov rcx, r12
movzx r8d, byte [rbp + 0x79]
add edx, r14d
shr rcx, 2
add r8d, r14d
xor r9d, r9d
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x28], r8d
cmp rcx, 4
jb 0x180109d37
mov rax, r13
lea r12, [r15 + 8]
sub rax, rsi
lea r15, [rdi + 8]
mov qword [rsp + 0x78], rax
mov r14d, edx
mov rsi, qword [rsp + 0x78]
lea rax, [rcx - 4]
shr rax, 2
mov ebp, r8d
inc rax
mov qword [rsp + 0x88], rax
mov r13, qword [rsp + 0x88]
lea rax, [rax*4]
mov qword [rsp + 0x48], rax
nop
mov r11d, dword [r15 - 4]
mov ecx, r14d
mov ebx, dword [r15]
mov edi, dword [r15 + 4]
mov edx, dword [r15 + rsi - 8]
mov r8d, dword [rsi + r15 - 4]
mov r9d, dword [r15 + rsi]
mov r10d, dword [r15 + rsi + 4]
mov eax, dword [r15 - 8]
shl r11d, cl
shl ebx, cl
shl edi, cl
mov ecx, ebp
shl edx, cl
shl r8d, cl
shl r9d, cl
shl r10d, cl
mov ecx, r14d
shl eax, cl
movd xmm1, edx
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r12 - 4], xmm1
movd xmm1, r8d
movss dword [r12 - 8], xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, r11d
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r12 + 4], xmm1
movd xmm1, r9d
movss dword [r12], xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r12 + 0xc], xmm1
movd xmm1, r10d
movss dword [r12 + 8], xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r12 + 0x14], xmm1
movss dword [r12 + 0x10], xmm0
mov r11d, dword [r15 + 0xc]
mov ebx, dword [r15 + 0x10]
mov edi, dword [r15 + 0x14]
mov edx, dword [rsi + r15 + 8]
mov r8d, dword [r15 + rsi + 0xc]
mov r9d, dword [r15 + rsi + 0x10]
mov r10d, dword [r15 + rsi + 0x14]
mov eax, dword [r15 + 8]
shl r11d, cl
shl ebx, cl
shl edi, cl
mov ecx, ebp
shl edx, cl
shl r8d, cl
shl r9d, cl
shl r10d, cl
mov ecx, r14d
shl eax, cl
movd xmm1, edx
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r12 + 0x1c], xmm1
movss dword [r12 + 0x18], xmm0
movd xmm0, r11d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r12 + 0x20], xmm0
movd xmm1, r8d
cvtdq2ps xmm1, xmm1
movd xmm0, ebx
mulss xmm1, xmm6
cvtdq2ps xmm0, xmm0
movss dword [r12 + 0x24], xmm1
mulss xmm0, xmm6
movd xmm1, r9d
cvtdq2ps xmm1, xmm1
movss dword [r12 + 0x28], xmm0
mulss xmm1, xmm6
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [r12 + 0x2c], xmm1
mulss xmm0, xmm6
movd xmm1, r10d
cvtdq2ps xmm1, xmm1
movss dword [r12 + 0x30], xmm0
mulss xmm1, xmm6
movss dword [r12 + 0x34], xmm1
mov r11d, dword [r15 + 0x1c]
mov ebx, dword [r15 + 0x20]
mov edi, dword [r15 + 0x24]
mov edx, dword [r15 + rsi + 0x18]
mov r8d, dword [r15 + rsi + 0x1c]
mov r9d, dword [r15 + rsi + 0x20]
mov r10d, dword [r15 + rsi + 0x24]
mov eax, dword [r15 + 0x18]
shl r11d, cl
shl ebx, cl
shl edi, cl
mov ecx, ebp
shl edx, cl
shl r8d, cl
shl r9d, cl
shl r10d, cl
mov ecx, r14d
shl eax, cl
movd xmm1, edx
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r12 + 0x3c], xmm1
movd xmm1, r8d
movss dword [r12 + 0x38], xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, r11d
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r12 + 0x44], xmm1
movd xmm1, r9d
movss dword [r12 + 0x40], xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r12 + 0x4c], xmm1
movd xmm1, r10d
movss dword [r12 + 0x48], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm6
mulss xmm1, xmm6
movss dword [r12 + 0x50], xmm0
movss dword [r12 + 0x54], xmm1
mov r11d, dword [r15 + 0x2c]
mov ebx, dword [r15 + 0x30]
mov edi, dword [r15 + 0x34]
mov edx, dword [r15 + rsi + 0x28]
mov r8d, dword [r15 + rsi + 0x2c]
shl r11d, cl
shl ebx, cl
shl edi, cl
mov ecx, ebp
shl edx, cl
shl r8d, cl
mov r9d, dword [r15 + rsi + 0x30]
lea r12, [r12 + 0x80]
mov r10d, dword [r15 + rsi + 0x34]
mov eax, dword [r15 + 0x28]
lea r15, [r15 + 0x40]
shl r9d, cl
shl r10d, cl
mov ecx, r14d
shl eax, cl
movd xmm1, edx
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mulss xmm1, xmm6
cvtdq2ps xmm0, xmm0
movss dword [r12 - 0x24], xmm1
mulss xmm0, xmm6
movd xmm1, r8d
cvtdq2ps xmm1, xmm1
movss dword [r12 - 0x28], xmm0
mulss xmm1, xmm6
movd xmm0, r11d
cvtdq2ps xmm0, xmm0
movss dword [r12 - 0x1c], xmm1
mulss xmm0, xmm6
movd xmm1, r9d
cvtdq2ps xmm1, xmm1
movss dword [r12 - 0x20], xmm0
mulss xmm1, xmm6
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
movss dword [r12 - 0x14], xmm1
mulss xmm0, xmm6
movd xmm1, r10d
cvtdq2ps xmm1, xmm1
movss dword [r12 - 0x18], xmm0
movd xmm0, edi
mulss xmm1, xmm6
cvtdq2ps xmm0, xmm0
movss dword [r12 - 0xc], xmm1
mulss xmm0, xmm6
movss dword [r12 - 0x10], xmm0
sub r13, 1
jne 0x1801099a0
mov rbp, qword [rsp + 0x130]
mov edx, ecx
mov rcx, qword [rsp + 0x38]
mov r14d, dword [rsp + 0x148]
mov r15, qword [rsp + 0x140]
mov r12, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x28]
mov rdi, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
cmp r9, rcx
jae 0x180109e8c
mov r14d, dword [rsp + 0x20]
lea r12, [r15 + 8]
mov ebp, dword [rsp + 0x28]
mov rax, r9
shl rax, 5
mov r15, r9
shl r15, 4
add r12, rax
mov rax, r13
add r15, 8
sub rax, rsi
add r15, rdi
mov r13, rcx
mov rsi, rax
sub r13, r9
mov r11d, dword [r15 - 4]
lea r12, [r12 + 0x20]
mov ebx, dword [r15]
mov ecx, r14d
mov edi, dword [r15 + 4]
mov edx, dword [r15 + rsi - 8]
mov r8d, dword [rsi + r15 - 4]
mov r9d, dword [r15 + rsi]
mov r10d, dword [rsi + r15 + 4]
mov eax, dword [r15 - 8]
lea r15, [r15 + 0x10]
shl r11d, cl
shl ebx, cl
shl edi, cl
mov ecx, ebp
shl edx, cl
shl r8d, cl
shl r9d, cl
shl r10d, cl
mov ecx, r14d
shl eax, cl
movd xmm1, edx
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mulss xmm1, xmm6
cvtdq2ps xmm0, xmm0
movss dword [r12 - 0x24], xmm1
mulss xmm0, xmm6
movd xmm1, r8d
cvtdq2ps xmm1, xmm1
movss dword [r12 - 0x28], xmm0
mulss xmm1, xmm6
movd xmm0, r11d
cvtdq2ps xmm0, xmm0
movss dword [r12 - 0x1c], xmm1
mulss xmm0, xmm6
movd xmm1, r9d
cvtdq2ps xmm1, xmm1
movss dword [r12 - 0x20], xmm0
mulss xmm1, xmm6
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
movss dword [r12 - 0x14], xmm1
mulss xmm0, xmm6
movd xmm1, r10d
cvtdq2ps xmm1, xmm1
movss dword [r12 - 0x18], xmm0
movd xmm0, edi
mulss xmm1, xmm6
cvtdq2ps xmm0, xmm0
movss dword [r12 - 0xc], xmm1
mulss xmm0, xmm6
movss dword [r12 - 0x10], xmm0
sub r13, 1
jne 0x180109d74
mov rbp, qword [rsp + 0x130]
mov edx, ecx
mov rcx, qword [rsp + 0x38]
mov r14d, dword [rsp + 0x148]
mov r15, qword [rsp + 0x140]
mov r12, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x28]
lea r11, [rcx*4]
cmp r11, r12
jae 0x18010a197
mov rax, r12
sub rax, r11
cmp rax, 4
jb 0x180109fcb
mov r9, qword [rsp + 0x30]
lea r10, [r11 + 1]
add r9, 4
lea r10, [r15 + r10*8]
mov rdi, r12
mov rbx, rsi
sub rdi, r11
sub rbx, r13
sub rdi, 4
shr rdi, 2
lea r9, [r9 + r11*4]
inc rdi
lea r11, [r11 + rdi*4]
nop dword [rax]
mov eax, dword [r9 + rbx - 4]
lea r10, [r10 + 0x20]
mov ecx, edx
lea r9, [r9 + 0x10]
shl eax, cl
mov ecx, r8d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r10 - 0x28], xmm0
mov eax, dword [r9 - 0x14]
shl eax, cl
mov ecx, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r10 - 0x24], xmm0
mov eax, dword [rbx + r9 - 0x10]
shl eax, cl
mov ecx, r8d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r10 - 0x20], xmm0
mov eax, dword [r9 - 0x10]
shl eax, cl
mov ecx, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r10 - 0x1c], xmm0
mov eax, dword [r9 + rbx - 0xc]
shl eax, cl
mov ecx, r8d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r10 - 0x18], xmm0
mov eax, dword [r9 - 0xc]
shl eax, cl
mov ecx, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r10 - 0x14], xmm0
mov eax, dword [r9 + rbx - 8]
shl eax, cl
mov ecx, r8d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r10 - 0x10], xmm0
mov eax, dword [r9 - 8]
shl eax, cl
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r10 - 0xc], xmm0
sub rdi, 1
jne 0x180109ee0
cmp r11, r12
jae 0x18010a197
mov rax, qword [rsp + 0x30]
sub rsi, r13
lea r9, [rax + r11*4]
mov eax, dword [rsi + r9]
lea r9, [r9 + 4]
mov ecx, edx
shl eax, cl
mov ecx, r8d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r15 + r11*8], xmm0
mov eax, dword [r9 - 4]
shl eax, cl
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r15 + r11*8 + 4], xmm0
inc r11
cmp r11, r12
jb 0x180109fd7
jmp 0x18010a197
xor esi, esi
test r12, r12
je 0x18010a19f
lea r10, [rax*4]
nop
xor r13d, r13d
cmp edi, 4
jb 0x18010a12c
lea eax, [rdi - 4]
mov r9, rdi
imul r9, rsi
shr eax, 2
lea r8, [rbp + 0x69]
add r9, 2
inc eax
mov r11d, eax
lea r9, [r15 + r9*4]
lea r13d, [rax*4]
lea rbx, [rax*4]
nop word [rax + rax]
mov rdx, qword [r8 + 7]
lea r9, [r9 + 0x10]
movzx ecx, byte [r8]
lea r8, [r8 + 0x40]
add ecx, r14d
mov eax, dword [rdx + r10]
shl eax, cl
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm8
cvtpd2ps xmm0, xmm0
movss dword [r9 - 0x18], xmm0
mov rax, qword [r8 - 0x29]
movzx ecx, byte [r8 - 0x30]
add ecx, r14d
mov edx, dword [rax + r10]
shl edx, cl
movd xmm0, edx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm8
cvtpd2ps xmm0, xmm0
movss dword [r9 - 0x14], xmm0
mov rax, qword [r8 - 0x19]
movzx ecx, byte [r8 - 0x20]
add ecx, r14d
mov edx, dword [rax + r10]
shl edx, cl
movd xmm0, edx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm8
cvtpd2ps xmm0, xmm0
movss dword [r9 - 0x10], xmm0
mov rax, qword [r8 - 9]
movzx ecx, byte [r8 - 0x10]
add ecx, r14d
mov edx, dword [rax + r10]
shl edx, cl
movd xmm0, edx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm8
cvtpd2ps xmm0, xmm0
movss dword [r9 - 0xc], xmm0
sub r11, 1
jne 0x18010a070
cmp r13d, edi
jb 0x18010a132
jmp 0x18010a187
test edi, edi
je 0x18010a187
xor ebx, ebx
mov rax, rdi
lea r8, [rbp + 0x69]
imul rax, rsi
mov r11d, edi
add rax, rbx
shl rbx, 4
add r8, rbx
sub r11d, r13d
lea r9, [r15 + rax*4]
mov rax, qword [r8 + 7]
lea r9, [r9 + 4]
movzx ecx, byte [r8]
lea r8, [r8 + 0x10]
add ecx, r14d
mov edx, dword [rax + r10]
shl edx, cl
movd xmm0, edx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm8
cvtpd2ps xmm0, xmm0
movss dword [r9 - 4], xmm0
sub r11, 1
jne 0x18010a151
inc rsi
add r10, 4
cmp rsi, r12
jb 0x18010a030
mov r8, qword [rsp + 0x138]
mov rsi, qword [rsp + 0x98]
sub r8, r12
mov ecx, dword [rsp + 0x90]
add rsi, r12
add qword [rbp + 0xe8], r12
imul rcx, r12
sub dword [rbp + 0x60], r12d
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0x138], r8
lea r15, [r15 + rcx*4]
mov qword [rsp + 0x140], r15
test r8, r8
jne 0x180107802
movaps xmm9, xmmword [rsp + 0xa0]
mov rax, rsi
mov rsi, qword [rsp + 0x108]
movaps xmm8, xmmword [rsp + 0xb0]
movaps xmm7, xmmword [rsp + 0xc0]
movaps xmm6, xmmword [rsp + 0xd0]
mov r14, qword [rsp + 0xe8]
mov r13, qword [rsp + 0xf0]
mov r12, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0x100]
mov rbx, qword [rsp + 0x110]
add rsp, 0x118
pop r15
pop rbp
ret
xor eax, eax
add rsp, 0x118
pop r15
pop rbp
ret