Function at 0x140052880
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 r12
sub rsp, 0x128
mov r12, r8
mov r9, rdx
mov rbp, rcx
test rcx, rcx
je 0x14005537e
test rdx, rdx
je 0x14005537e
test r8, r8
jne 0x1400528c8
add rsp, 0x128
pop r12
pop rbp
jmp fcn.14004e470
movzx eax, byte [rcx + 0x35]
mov qword [rsp + 0x120], rbx
mov qword [rsp + 0x118], rsi
mov qword [rsp + 0x110], rdi
mov qword [rsp + 0x108], r13
mov r13d, 0x20
mov qword [rsp + 0x100], r14
sub r13d, eax
mov qword [rsp + 0xf8], r15
xor r14d, r14d
movaps xmmword [rsp + 0xe0], xmm6
movss xmm6, dword [0x1400f66f8]
movaps xmmword [rsp + 0xd0], xmm7
movss xmm7, dword [0x1400f66fc]
movaps xmmword [rsp + 0xc0], xmm8
movsd xmm8, qword [0x1400f6728]
mov qword [rsp + 0xa0], r14
movaps xmmword [rsp + 0xb0], xmm9
mov dword [rsp + 0x158], r13d
mov edx, dword [rbp + 0x60]
test edx, edx
jne 0x14005299f
nop word [rax + rax]
movzx edx, byte [rbp + 0x35]
lea r8, [rbp + 0x48]
lea rcx, [rbp + 0x130]
call fcn.14004cc60
test eax, eax
je 0x14005531e
mov rcx, rbp
call fcn.14004da80
test eax, eax
je 0x140052992
cmp eax, 0xffffff9c
je 0x140052960
jmp 0x14005531e
mov r9, qword [rsp + 0x148]
jmp 0x140055315
movzx r8d, byte [rbp + 0x5a]
mov rsi, rdx
movsx rax, r8b
mov dword [rsp + 0x68], 0x4030201
mov dword [rsp + 0x6c], 0x8070605
mov word [rsp + 0x70], 0x202
mov byte [rsp + 0x72], 2
movzx ecx, byte [rsp + rax + 0x68]
movzx eax, word [rbp + 0x58]
sub eax, edx
mov dword [rsp + 0x78], ecx
cmp r9, rdx
cmovbe rsi, r9
mov qword [rsp + 0x58], rsi
cmp ecx, 2
jne 0x140055144
mov r14, qword [rbp + 0x70]
mov edx, r8d
mov r15, qword [rbp + 0x80]
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], r15
lea rdi, [r14 + rax*4]
mov qword [rsp + 0x40], rdi
lea rcx, [r15 + rax*4]
mov qword [rsp + 0x30], rcx
test r8b, r8b
je 0x140054821
sub edx, 8
je 0x140053e88
sub edx, 1
je 0x14005350f
cmp edx, 1
jne 0x140054821
cmp dword [0x140112664], 0
je 0x140052fc0
cmp byte [rbp + 0x35], 0x18
ja 0x140052fc0
movaps xmm5, xmmword [0x1400f6b00]
lea r9d, [r13 - 8]
mov r10, rsi
shr r10, 2
test r9d, r9d
jne 0x140052cfd
test r10, r10
je 0x140052b04
movdqa xmm4, xmmword [0x1400f6930]
mov r9, r15
sub r9, r14
mov rcx, r12
mov rdx, rdi
mov r8, r10
nop dword [rax + rax]
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 0x140052a90
lea r9, [r10*4]
cmp r9, rsi
jae 0x1400552ce
mov rax, rsi
sub r15, r14
sub rax, r9
cmp rax, 4
jb 0x140052c93
lea r10, [r9 + 1]
mov rbx, rsi
sub rbx, r9
lea r11, [r9 + 1]
sub rbx, 4
lea r10, [r12 + r10*8]
shr rbx, 2
lea r11, [rdi + r11*4]
inc rbx
lea r9, [r9 + rbx*4]
nop dword [rax]
movzx ecx, byte [rbp + 0x79]
mov r8d, dword [r15 + 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 + r15]
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 [r15 + 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 [r15 + 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 0x140052b50
cmp r9, rsi
jae 0x1400552ce
lea r10, [rdi + r9*4]
movzx ecx, byte [rbp + 0x79]
mov r8d, dword [r10 + r15]
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 [r12 + r9*8], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r12 + r9*8 + 4], xmm0
inc r9
cmp r9, rsi
jb 0x140052ca0
jmp 0x1400552ce
dec r9d
test r10, r10
je 0x140052d9e
movdqa xmm9, xmmword [0x1400f6930]
mov r11, r15
sub r11, r14
mov rcx, r12
mov rdx, rdi
mov r8, r10
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 0x140052d21
lea r10, [r10*4]
cmp r10, rsi
jae 0x1400552ce
mov rax, rsi
sub r15, r14
sub rax, r10
cmp rax, 4
jb 0x140052f50
lea rbx, [rdi + 4]
mov rdi, rsi
sub rdi, r10
lea r11, [r10 + 1]
sub rdi, 4
lea rbx, [rbx + r10*4]
shr rdi, 2
lea r11, [r12 + r11*8]
inc rdi
lea r10, [r10 + rdi*4]
nop word [rax + rax]
movzx ecx, byte [rbp + 0x79]
mov edx, dword [r15 + 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 [r15 + 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 [r15 + 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 [r15 + 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 0x140052df0
mov rdi, qword [rsp + 0x40]
cmp r10, rsi
jae 0x1400552ce
lea r11, [rdi + r10*4]
movzx ecx, byte [rbp + 0x79]
mov edx, dword [r15 + r11]
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 [r12 + r10*8], xmm0
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r12 + r10*8 + 4], xmm0
inc r10
cmp r10, rsi
jb 0x140052f5d
jmp 0x1400552ce
mov rdx, rsi
shr rdx, 2
mov qword [rsp + 0x28], rdx
test r13d, r13d
je 0x140053144
lea eax, [r13 - 1]
test rdx, rdx
je 0x1400532c5
lea r13, [r12 + 8]
mov qword [rsp + 0x30], rdx
sub r14, r15
lea r12, [rcx + 8]
mov r15d, eax
nop word [rax + rax]
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 [r14 + r12 - 8]
mov r8d, dword [r14 + r12 - 4]
mov r9d, dword [r12 + r14]
mov r10d, dword [r14 + r12 + 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 [r13 - 8], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r13 - 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 [r13], xmm0
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r13 + 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 [r13 + 8], xmm0
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r13 + 0xc], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r13 + 0x10], xmm0
movd xmm0, r10d
cvtdq2ps xmm0, xmm0
sub qword [rsp + 0x30], 1
lea r13, [r13 + 0x20]
mulss xmm0, xmm6
lea r12, [r12 + 0x10]
movss dword [r13 - 0xc], xmm0
jne 0x140053000
jmp 0x14005329c
test rdx, rdx
je 0x1400532c5
mov rax, r14
lea r13, [r12 + 8]
sub rax, r15
lea r12, [rcx + 8]
mov r15, rax
mov r14, 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 [r15 + r12 - 8]
mov r8d, dword [r15 + r12 - 4]
mov r9d, dword [r15 + r12]
mov r10d, dword [r15 + r12 + 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 [r13 - 8], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r13 - 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 [r13], xmm0
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r13 + 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 [r13 + 8], xmm0
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r13 + 0xc], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r13 + 0x10], xmm0
movd xmm0, r10d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r13 + 0x14], xmm0
lea r13, [r13 + 0x20]
lea r12, [r12 + 0x10]
sub r14, 1
jne 0x140053162
mov rdx, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x150]
mov r13d, dword [rsp + 0x158]
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
lea r9, [rdx*4]
cmp r9, rsi
jae 0x1400552ce
mov rax, rsi
sub rax, r9
cmp rax, 4
jb 0x140053497
lea r10, [r12 + 8]
mov rbx, rsi
sub rbx, r9
lea r11, [r9 + 1]
sub rbx, 4
lea r10, [r10 + r9*8]
mov r12, r15
shr rbx, 2
sub r12, r14
lea r11, [rdi + r11*4]
inc rbx
lea r9, [r9 + rbx*4]
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rbp + 0x79]
mov edx, dword [r12 + 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, r13d
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 + r12]
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, r13d
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 [r12 + 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, r13d
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 [r12 + 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, r13d
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 0x140053320
mov r12, qword [rsp + 0x150]
cmp r9, rsi
jae 0x1400552ce
lea r10, [rdi + r9*4]
sub r15, r14
movzx ecx, byte [rbp + 0x79]
mov edx, dword [r10 + r15]
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, r13d
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 [r12 + r9*8], xmm0
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r12 + r9*8 + 4], xmm0
inc r9
cmp r9, rsi
jb 0x1400534a7
jmp 0x1400552ce
cmp dword [0x140112664], 0
je 0x14005373a
cmp byte [rbp + 0x35], 0x18
ja 0x14005373a
movzx r11d, byte [rbp + 0x69]
mov r10, rsi
movzx ebx, byte [rbp + 0x79]
add r11d, 0xfffffff8
movaps xmm4, xmmword [0x1400f6b00]
add ebx, 0xfffffff8
add r11d, r13d
shr r10, 2
add ebx, r13d
sub r15, r14
test r10, r10
je 0x1400535aa
mov rax, r12
mov rcx, rdi
mov rdx, r10
nop dword [rax + rax]
movd xmm0, ebx
lea rax, [rax + 0x20]
movdqu xmm3, xmmword [rcx + r15]
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 0x140053560
lea r10, [r10*4]
cmp r10, rsi
jae 0x1400552d6
mov rax, rsi
sub rax, r10
cmp rax, 4
jb 0x1400536f0
lea r9, [rdi + 4]
mov rdi, rsi
sub rdi, r10
lea r8, [r10 + 1]
sub rdi, 4
lea r9, [r9 + r10*4]
shr rdi, 2
lea r8, [r12 + r8*8]
inc rdi
lea r10, [r10 + rdi*4]
mov edx, dword [r15 + r9 - 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 [r15 + r9 - 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 [r15 + r9 - 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 [r15 + r9 - 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 0x1400535f0
mov r9, qword [rsp + 0x148]
cmp r10, rsi
jae 0x1400552d6
mov rdi, qword [rsp + 0x40]
lea r8, [rdi + r10*4]
mov edx, dword [r15 + r8]
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 [r12 + r10*8 + 4], xmm1
movss dword [r12 + r10*8], xmm0
inc r10
cmp r10, rsi
jb 0x1400536f4
jmp 0x1400552d6
movzx eax, byte [rbp + 0x69]
mov rdx, rsi
movzx r9d, byte [rbp + 0x79]
add eax, r13d
shr rdx, 2
add r9d, r13d
xor r8d, r8d
mov qword [rsp + 0x38], rdx
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x28], r9d
cmp rdx, 4
jb 0x140053b97
mov r13d, dword [rsp + 0x20]
lea rax, [r12 + 8]
mov qword [rsp + 0x80], rax
mov rbp, r14
mov r12, qword [rsp + 0x80]
lea rax, [rdx - 4]
sub rbp, r15
shr rax, 2
add rcx, 8
mov qword [rsp + 0x60], rbp
inc rax
mov esi, r9d
mov qword [rsp + 0x90], rax
mov r15, rcx
mov r14, qword [rsp + 0x90]
lea rax, [rax*4]
mov qword [rsp + 0x98], rax
nop word [rax + rax]
mov r10d, dword [r15 - 8]
mov ecx, esi
mov r11d, dword [r15 - 4]
mov ebx, dword [r15]
mov edi, dword [r15 + 4]
mov eax, dword [r15 + rbp - 8]
mov edx, dword [r15 + rbp - 4]
mov r8d, dword [r15 + rbp]
mov r9d, dword [r15 + rbp + 4]
shl r10d, cl
shl r11d, cl
shl ebx, cl
shl edi, cl
mov ecx, r13d
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, esi
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 [r15 + rbp + 0xc]
mov r8d, dword [r15 + rbp + 0x10]
mov r9d, dword [r15 + rbp + 0x14]
mov eax, dword [r15 + rbp + 8]
shl r10d, cl
shl r11d, cl
shl ebx, cl
shl edi, cl
mov ecx, r13d
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, esi
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 + rbp + 0x1c]
mov r8d, dword [r15 + rbp + 0x20]
mov r9d, dword [r15 + rbp + 0x24]
mov eax, dword [r15 + rbp + 0x18]
shl r11d, cl
shl ebx, cl
shl edi, cl
shl r10d, cl
mov ecx, r13d
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, esi
mov ebx, dword [r15 + 0x30]
mov edi, dword [r15 + 0x34]
mov eax, dword [r15 + rbp + 0x28]
mov edx, dword [r15 + rbp + 0x2c]
mov r8d, dword [r15 + rbp + 0x30]
mov r9d, dword [r15 + rbp + 0x34]
lea r15, [r15 + 0x40]
shl r10d, cl
shl r11d, cl
shl ebx, cl
shl edi, cl
mov ecx, r13d
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 r14, 1
jne 0x1400537d0
mov rbp, qword [rsp + 0x140]
mov r14, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
mov r13d, dword [rsp + 0x158]
mov r12, qword [rsp + 0x150]
mov rsi, qword [rsp + 0x58]
mov r9d, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x98]
jmp 0x140053ba2
mov rax, r14
sub rax, r15
mov qword [rsp + 0x60], rax
cmp r8, rdx
jae 0x140053cee
mov esi, dword [rsp + 0x20]
add r12, 8
mov r13d, dword [rsp + 0x28]
mov rbp, r8
mov r15, qword [rsp + 0x60]
mov r14, rdx
shl rbp, 5
add rbp, r12
mov r12, r8
shl r12, 4
add r12, 8
add r12, rcx
sub r14, r8
mov r10d, dword [r12 - 8]
lea rbp, [rbp + 0x20]
mov r11d, dword [r12 - 4]
mov ecx, r13d
mov ebx, dword [r12]
mov edi, dword [r12 + 4]
mov eax, dword [r15 + r12 - 8]
mov edx, dword [r15 + r12 - 4]
mov r8d, dword [r15 + r12]
mov r9d, dword [r15 + r12 + 4]
lea r12, [r12 + 0x10]
shl r10d, cl
shl r11d, cl
shl ebx, cl
shl edi, cl
mov ecx, esi
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 [rbp - 0x24], xmm1
mulss xmm0, xmm6
movd xmm1, r11d
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x28], xmm0
mulss xmm1, xmm6
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x1c], xmm1
mulss xmm0, xmm6
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x20], xmm0
mulss xmm1, xmm6
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x14], xmm1
mulss xmm0, xmm6
movd xmm1, edi
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x18], xmm0
movd xmm0, r9d
mulss xmm1, xmm6
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0xc], xmm1
mulss xmm0, xmm6
movss dword [rbp - 0x10], xmm0
sub r14, 1
jne 0x140053bdb
mov rbp, qword [rsp + 0x140]
mov r14, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
mov r13d, dword [rsp + 0x158]
mov r12, qword [rsp + 0x150]
mov rsi, qword [rsp + 0x58]
mov r9d, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x38]
lea rbx, [rdx*4]
cmp rbx, rsi
jae 0x1400552ce
mov r8d, dword [rsp + 0x20]
mov rax, rsi
sub rax, rbx
sub r15, r14
cmp rax, 4
jb 0x140053e2f
mov r11, qword [rsp + 0x40]
lea r10, [rbx + 1]
add r11, 4
lea r10, [r12 + r10*8]
mov rdi, rsi
sub rdi, rbx
sub rdi, 4
shr rdi, 2
lea r11, [r11 + rbx*4]
inc rdi
lea rbx, [rbx + rdi*4]
mov edx, dword [r11 + r15 - 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 + r15 - 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 [r11 + r15 - 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 [r11 + r15 - 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 0x140053d41
cmp rbx, rsi
jae 0x1400552ce
mov rax, qword [rsp + 0x40]
lea r10, [rax + rbx*4]
mov edx, dword [r15 + r10]
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 [r12 + rbx*8 + 4], xmm1
movss dword [r12 + rbx*8], xmm0
inc rbx
cmp rbx, rsi
jb 0x140053e41
jmp 0x1400552ce
cmp dword [0x140112664], 0
je 0x1400540c4
cmp byte [rbp + 0x35], 0x18
ja 0x1400540c4
movzx r11d, byte [rbp + 0x69]
mov r10, rsi
movzx ebx, byte [rbp + 0x79]
add r11d, 0xfffffff8
movaps xmm4, xmmword [0x1400f6b00]
add ebx, 0xfffffff8
add r11d, r13d
shr r10, 2
add ebx, r13d
sub r14, r15
test r10, r10
je 0x140053f20
mov rax, r12
mov rdx, r10
movd xmm0, r11d
lea rax, [rax + 0x20]
movdqu xmm2, xmmword [r14 + 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 0x140053ed1
mov rcx, qword [rsp + 0x30]
lea r10, [r10*4]
cmp r10, rsi
jae 0x1400552d6
mov rax, rsi
sub rax, r10
cmp rax, 4
jb 0x140054073
lea r8, [r10 + 1]
mov rdi, rsi
sub rdi, r10
lea r9, [r10 + 1]
sub rdi, 4
lea r8, [r12 + r8*8]
shr rdi, 2
lea r9, [rcx + r9*4]
inc rdi
lea r10, [r10 + rdi*4]
nop word [rax + rax]
mov edx, dword [r14 + r9 - 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 + r14 - 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 [r14 + r9 - 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 [r14 + r9 - 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 0x140053f70
mov r9, qword [rsp + 0x148]
cmp r10, rsi
jae 0x1400552d6
mov rax, qword [rsp + 0x30]
lea r8, [rax + r10*4]
mov edx, dword [r14 + 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 [r12 + r10*8], xmm0
movss dword [r12 + r10*8 + 4], xmm1
inc r10
cmp r10, rsi
jb 0x14005407c
jmp 0x1400552d6
movzx r8d, byte [rbp + 0x69]
mov rcx, rsi
movzx eax, byte [rbp + 0x79]
add r8d, r13d
shr rcx, 2
add eax, r13d
xor edx, edx
mov qword [rsp + 0x60], rcx
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x28], eax
cmp rcx, 4
jb 0x140054512
mov esi, dword [rsp + 0x28]
lea rax, [r12 + 8]
mov qword [rsp + 0x90], rax
mov rbp, r15
mov r15, qword [rsp + 0x90]
lea rax, [rcx - 4]
sub rbp, r14
shr rax, 2
add rdi, 8
mov qword [rsp + 0x38], rbp
inc rax
mov r13d, r8d
mov qword [rsp + 0x98], rax
mov r14, rdi
mov r12, qword [rsp + 0x98]
lea rax, [rax*4]
mov qword [rsp + 0x80], rax
nop dword [rax]
mov r10d, dword [r14 - 8]
mov ecx, r13d
mov r11d, dword [r14 - 4]
mov ebx, dword [r14]
mov edi, dword [r14 + 4]
mov eax, dword [r14 + rbp - 8]
shl r10d, cl
shl r11d, cl
mov edx, r10d
shl ebx, cl
mov r8d, r11d
shl edi, cl
mov r9d, ebx
mov ecx, esi
movd xmm0, r10d
shl eax, cl
sub edx, eax
mov eax, dword [r14 + rbp - 4]
shl eax, cl
sub r8d, eax
mov eax, dword [r14 + rbp]
shl eax, cl
sub r9d, eax
movd xmm1, edx
mov eax, dword [r14 + rbp + 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, r13d
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 [r14 + 8]
mov r11d, dword [r14 + 0xc]
mov ebx, dword [r14 + 0x10]
mov edi, dword [r14 + 0x14]
mov eax, dword [r14 + rbp + 8]
shl r10d, cl
shl r11d, cl
mov edx, r10d
shl ebx, cl
mov r8d, r11d
shl edi, cl
mov r9d, ebx
mov ecx, esi
shl eax, cl
sub edx, eax
mov eax, dword [r14 + rbp + 0xc]
shl eax, cl
sub r8d, eax
mov eax, dword [r14 + rbp + 0x10]
shl eax, cl
sub r9d, eax
mov eax, dword [r14 + rbp + 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, r13d
cvtdq2ps xmm1, xmm1
movss dword [r15 + 0x30], xmm0
mulss xmm1, xmm6
movss dword [r15 + 0x34], xmm1
mov r10d, dword [r14 + 0x18]
mov r11d, dword [r14 + 0x1c]
mov ebx, dword [r14 + 0x20]
mov edi, dword [r14 + 0x24]
mov eax, dword [r14 + rbp + 0x18]
shl r10d, cl
shl r11d, cl
mov edx, r10d
shl ebx, cl
mov r8d, r11d
shl edi, cl
mov r9d, ebx
mov ecx, esi
movd xmm0, r10d
shl eax, cl
sub edx, eax
mov eax, dword [r14 + rbp + 0x1c]
cvtdq2ps xmm0, xmm0
shl eax, cl
sub r8d, eax
mov eax, dword [r14 + rbp + 0x20]
shl eax, cl
sub r9d, eax
mov eax, dword [r14 + rbp + 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 r14, [r14 + 0x40]
movd xmm0, edi
mulss xmm1, xmm6
cvtdq2ps xmm0, xmm0
movss dword [r15 - 0x34], xmm1
mulss xmm0, xmm6
movd xmm1, ecx
mov ecx, r13d
cvtdq2ps xmm1, xmm1
movss dword [r15 - 0x30], xmm0
mulss xmm1, xmm6
movss dword [r15 - 0x2c], xmm1
mov r10d, dword [r14 - 0x18]
mov r11d, dword [r14 - 0x14]
mov ebx, dword [r14 - 0x10]
mov edi, dword [r14 - 0xc]
mov eax, dword [r14 + rbp - 0x18]
shl r10d, cl
shl r11d, cl
mov edx, r10d
shl ebx, cl
mov r8d, r11d
shl edi, cl
mov r9d, ebx
mov ecx, esi
movd xmm0, r10d
shl eax, cl
cvtdq2ps xmm0, xmm0
sub edx, eax
mov eax, dword [r14 + rbp - 0x14]
shl eax, cl
sub r8d, eax
mov eax, dword [r14 + rbp - 0x10]
shl eax, cl
sub r9d, eax
movd xmm1, edx
mov eax, dword [r14 + rbp - 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 r12, 1
jne 0x140054150
mov rbp, qword [rsp + 0x140]
mov r14, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
mov r13d, dword [rsp + 0x158]
mov r12, qword [rsp + 0x150]
mov rsi, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x20]
mov rdi, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x80]
jmp 0x14005451d
mov rax, r15
sub rax, r14
mov qword [rsp + 0x38], rax
cmp rdx, rcx
jae 0x140054671
mov ebp, dword [rsp + 0x20]
add r12, 8
mov r13d, dword [rsp + 0x28]
mov rsi, rdx
mov r15, qword [rsp + 0x38]
mov r14, rcx
shl rsi, 5
add rsi, r12
mov r12, rdx
shl r12, 4
add r12, 8
add r12, rdi
sub r14, rdx
mov r10d, dword [r12 - 8]
lea rsi, [rsi + 0x20]
mov r11d, dword [r12 - 4]
mov ecx, ebp
mov ebx, dword [r12]
mov edi, dword [r12 + 4]
mov eax, dword [r15 + r12 - 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, r13d
movd xmm0, r10d
shl eax, cl
cvtdq2ps xmm0, xmm0
sub edx, eax
mov eax, dword [r15 + r12 - 0x14]
shl eax, cl
sub r8d, eax
mov eax, dword [r15 + r12 - 0x10]
shl eax, cl
sub r9d, eax
movd xmm1, edx
mov eax, dword [r15 + r12 - 0xc]
cvtdq2ps xmm1, xmm1
shl eax, cl
mov ecx, edi
sub ecx, eax
mulss xmm0, xmm6
mulss xmm1, xmm6
movss dword [rsi - 0x28], xmm0
movd xmm0, r11d
movss dword [rsi - 0x24], xmm1
movd xmm1, r8d
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [rsi - 0x1c], xmm1
movd xmm1, r9d
movss dword [rsi - 0x20], xmm0
movd xmm0, ebx
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [rsi - 0x14], xmm1
movd xmm1, ecx
movss dword [rsi - 0x18], xmm0
movd xmm0, edi
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [rsi - 0xc], xmm1
movss dword [rsi - 0x10], xmm0
sub r14, 1
jne 0x140054556
mov rbp, qword [rsp + 0x140]
mov r14, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
mov r13d, dword [rsp + 0x158]
mov r12, qword [rsp + 0x150]
mov rsi, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x60]
lea rbx, [rcx*4]
cmp rbx, rsi
jae 0x1400552ce
mov r9d, dword [rsp + 0x28]
mov rax, rsi
sub rax, rbx
sub r14, r15
cmp rax, 4
jb 0x1400547c6
mov r11, qword [rsp + 0x30]
lea r10, [rbx + 1]
add r11, 4
lea r10, [r12 + r10*8]
mov rdi, rsi
sub rdi, rbx
sub rdi, 4
shr rdi, 2
lea r11, [r11 + rbx*4]
inc rdi
lea rbx, [rbx + rdi*4]
nop dword [rax]
nop dword [rax + rax]
mov edx, dword [r14 + r11 - 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 [r14 + r11 - 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 [r14 + r11 - 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 0x1400546d0
cmp rbx, rsi
jae 0x1400552ce
mov rax, qword [rsp + 0x30]
lea r10, [rax + rbx*4]
mov edx, dword [r10 + r14]
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 [r12 + rbx*8], xmm0
movss dword [r12 + rbx*8 + 4], xmm1
inc rbx
cmp rbx, rsi
jb 0x1400547d8
jmp 0x1400552ce
cmp dword [0x140112664], 0
je 0x140054a49
cmp byte [rbp + 0x35], 0x18
ja 0x140054a49
movzx r10d, byte [rbp + 0x69]
mov r9, rsi
movzx r11d, byte [rbp + 0x79]
add r10d, 0xfffffff8
movaps xmm4, xmmword [0x1400f6b00]
add r11d, 0xfffffff8
add r10d, r13d
shr r9, 2
add r11d, r13d
sub r14, r15
test r9, r9
je 0x1400548bd
mov rax, r12
mov rdx, r9
nop dword [rax]
movd xmm0, r10d
lea rax, [rax + 0x20]
movdqu xmm1, xmmword [rcx + r14]
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 0x140054870
mov rcx, qword [rsp + 0x30]
lea r9, [r9*4]
cmp r9, rsi
jae 0x1400552ce
mov rax, rsi
sub rax, r9
cmp rax, 4
jb 0x1400549fb
lea rdx, [r9 + 1]
mov rbx, rsi
sub rbx, r9
lea r8, [r9 + 1]
sub rbx, 4
lea rdx, [rcx + rdx*4]
shr rbx, 2
lea r8, [r12 + r8*8]
inc rbx
lea r9, [r9 + rbx*4]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [r14 + rdx - 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 [r14 + 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 [r14 + rdx - 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 [r14 + rdx - 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 rbx, 1
jne 0x140054910
cmp r9, rsi
jae 0x1400552ce
mov rax, qword [rsp + 0x30]
lea rdx, [rax + r9*4]
mov eax, dword [rdx + r14]
lea rdx, [rdx + 4]
mov ecx, r10d
shl eax, cl
mov ecx, r11d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r12 + r9*8], xmm0
mov eax, dword [rdx - 4]
shl eax, cl
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [r12 + r9*8 + 4], xmm0
inc r9
cmp r9, rsi
jb 0x140054a04
jmp 0x1400552ce
movzx edx, byte [rbp + 0x69]
mov r9, rsi
movzx r8d, byte [rbp + 0x79]
add edx, r13d
shr r9, 2
add r8d, r13d
xor ecx, ecx
mov qword [rsp + 0x60], r9
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x28], r8d
cmp r9, 4
jb 0x140054e6b
lea rax, [r12 + 8]
mov rbp, r15
mov qword [rsp + 0x98], rax
lea rcx, [rdi + 8]
mov r12, qword [rsp + 0x98]
lea rax, [r9 - 4]
sub rbp, r14
shr rax, 2
inc rax
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x88], rax
mov esi, edx
mov r14, qword [rsp + 0x88]
mov r13d, r8d
mov r15, rcx
lea rax, [rax*4]
mov qword [rsp + 0x80], rax
mov r11d, dword [r15 - 4]
mov ecx, esi
mov ebx, dword [r15]
mov edi, dword [r15 + 4]
mov edx, dword [r15 + rbp - 8]
mov r8d, dword [r15 + rbp - 4]
mov r9d, dword [r15 + rbp]
mov r10d, dword [r15 + rbp + 4]
mov eax, dword [r15 - 8]
shl r11d, cl
shl ebx, cl
shl edi, cl
mov ecx, r13d
shl edx, cl
shl r8d, cl
shl r9d, cl
shl r10d, cl
mov ecx, esi
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 [r15 + rbp + 8]
mov r8d, dword [r15 + rbp + 0xc]
mov r9d, dword [r15 + rbp + 0x10]
mov r10d, dword [r15 + rbp + 0x14]
mov eax, dword [r15 + 8]
shl r11d, cl
shl ebx, cl
shl edi, cl
mov ecx, r13d
shl edx, cl
shl r8d, cl
shl r9d, cl
shl r10d, cl
mov ecx, esi
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 + rbp + 0x18]
mov r8d, dword [r15 + rbp + 0x1c]
mov r9d, dword [r15 + rbp + 0x20]
mov r10d, dword [r15 + rbp + 0x24]
mov eax, dword [r15 + 0x18]
shl r11d, cl
shl ebx, cl
shl edi, cl
mov ecx, r13d
shl edx, cl
shl r8d, cl
shl r9d, cl
shl r10d, cl
mov ecx, esi
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 + rbp + 0x28]
mov r8d, dword [r15 + rbp + 0x2c]
shl r11d, cl
shl ebx, cl
shl edi, cl
mov ecx, r13d
shl edx, cl
shl r8d, cl
mov r9d, dword [r15 + rbp + 0x30]
lea r12, [r12 + 0x80]
mov r10d, dword [r15 + rbp + 0x34]
mov eax, dword [r15 + 0x28]
lea r15, [r15 + 0x40]
shl r9d, cl
shl r10d, cl
mov ecx, esi
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 r14, 1
jne 0x140054ad0
mov rbp, qword [rsp + 0x140]
mov edx, ecx
mov rcx, qword [rsp + 0x80]
mov r14, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
mov r13d, dword [rsp + 0x158]
mov r12, qword [rsp + 0x150]
mov rsi, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x28]
mov rdi, qword [rsp + 0x40]
mov r9, qword [rsp + 0x60]
jmp 0x140054e76
mov rax, r15
sub rax, r14
mov qword [rsp + 0x38], rax
cmp rcx, r9
jae 0x140054fba
mov esi, dword [rsp + 0x20]
add r12, 8
mov r13d, dword [rsp + 0x28]
mov rbp, rcx
mov r15, qword [rsp + 0x38]
mov r14, r9
shl rbp, 5
add rbp, r12
mov r12, rcx
shl r12, 4
add r12, 8
add r12, rdi
sub r14, rcx
mov r11d, dword [r12 - 4]
lea rbp, [rbp + 0x20]
mov ebx, dword [r12]
mov ecx, esi
mov edi, dword [r12 + 4]
mov edx, dword [r12 + r15 - 8]
mov r8d, dword [r15 + r12 - 4]
mov r9d, dword [r12 + r15]
mov r10d, dword [r12 + r15 + 4]
mov eax, dword [r12 - 8]
lea r12, [r12 + 0x10]
shl r11d, cl
shl ebx, cl
shl edi, cl
mov ecx, r13d
shl edx, cl
shl r8d, cl
shl r9d, cl
shl r10d, cl
mov ecx, esi
shl eax, cl
movd xmm1, edx
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mulss xmm1, xmm6
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x24], xmm1
mulss xmm0, xmm6
movd xmm1, r8d
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x28], xmm0
mulss xmm1, xmm6
movd xmm0, r11d
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x1c], xmm1
mulss xmm0, xmm6
movd xmm1, r9d
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x20], xmm0
mulss xmm1, xmm6
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x14], xmm1
mulss xmm0, xmm6
movd xmm1, r10d
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x18], xmm0
movd xmm0, edi
mulss xmm1, xmm6
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0xc], xmm1
mulss xmm0, xmm6
movss dword [rbp - 0x10], xmm0
sub r14, 1
jne 0x140054eaf
mov rbp, qword [rsp + 0x140]
mov edx, ecx
mov r14, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
mov r13d, dword [rsp + 0x158]
mov r12, qword [rsp + 0x150]
mov rsi, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x28]
mov r9, qword [rsp + 0x60]
lea r11, [r9*4]
cmp r11, rsi
jae 0x1400552ce
mov rdi, qword [rsp + 0x30]
mov rax, rsi
sub rax, r11
sub r14, r15
cmp rax, 4
jb 0x1400550f2
lea r10, [r11 + 1]
mov rbx, rsi
sub rbx, r11
lea r9, [rdi + 4]
sub rbx, 4
lea r9, [r9 + r11*4]
shr rbx, 2
lea r10, [r12 + r10*8]
inc rbx
lea r11, [r11 + rbx*4]
nop dword [rax + rax]
mov eax, dword [r14 + r9 - 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 [r14 + 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 [r14 + r9 - 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 [r14 + r9 - 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 rbx, 1
jne 0x140055010
cmp r11, rsi
jae 0x1400552ce
lea r9, [rdi + r11*4]
mov eax, dword [r14 + 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 [r12 + r11*8], xmm0
mov eax, dword [r9 - 4]
shl eax, cl
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [r12 + r11*8 + 4], xmm0
inc r11
cmp r11, rsi
jb 0x1400550ff
jmp 0x1400552ce
xor r14d, r14d
test rsi, rsi
je 0x1400552d6
lea r10, [rax*4]
nop dword [rax + rax]
xor r15d, r15d
cmp ecx, 4
jb 0x140055260
lea eax, [rcx - 4]
mov r9d, ecx
imul r9, r14
shr eax, 2
lea r8, [rbp + 0x69]
add r9, 2
mov ebx, ecx
inc eax
mov r11d, eax
lea r9, [r12 + r9*4]
lea r15d, [rax*4]
lea rdi, [rax*4]
nop dword [rax]
mov rdx, qword [r8 + 7]
lea r9, [r9 + 0x10]
movzx ecx, byte [r8]
lea r8, [r8 + 0x40]
add ecx, r13d
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, r13d
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, r13d
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, r13d
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 0x1400551a0
mov ecx, dword [rsp + 0x78]
cmp r15d, ecx
jb 0x140055268
jmp 0x1400552be
test ecx, ecx
je 0x1400552be
xor edi, edi
mov ebx, ecx
imul rbx, r14
mov r11d, ecx
add rbx, rdi
shl rdi, 4
lea r8, [rdi + 0x69]
add r8, rbp
lea r9, [r12 + rbx*4]
sub r11d, r15d
mov rdx, qword [r8 + 7]
lea r9, [r9 + 4]
movzx ecx, byte [r8]
lea r8, [r8 + 0x10]
add ecx, r13d
mov eax, dword [rdx + r10]
shl eax, cl
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm8
cvtpd2ps xmm0, xmm0
movss dword [r9 - 4], xmm0
sub r11, 1
jne 0x140055284
mov ecx, dword [rsp + 0x78]
inc r14
add r10, 4
cmp r14, rsi
jb 0x140055160
mov r9, qword [rsp + 0x148]
mov r14, qword [rsp + 0xa0]
sub r9, rsi
mov ecx, dword [rsp + 0x78]
add r14, rsi
add qword [rbp + 0xe8], rsi
mov rdx, rsi
imul rdx, rcx
sub dword [rbp + 0x60], esi
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0x148], r9
lea r12, [r12 + rdx*4]
mov qword [rsp + 0x150], r12
test r9, r9
jne 0x140052953
movaps xmm9, xmmword [rsp + 0xb0]
mov rax, r14
mov r14, qword [rsp + 0x100]
movaps xmm8, xmmword [rsp + 0xc0]
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm6, xmmword [rsp + 0xe0]
mov r15, qword [rsp + 0xf8]
mov r13, qword [rsp + 0x108]
mov rdi, qword [rsp + 0x110]
mov rsi, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x120]
add rsp, 0x128
pop r12
pop rbp
ret
xor eax, eax
add rsp, 0x128
pop r12
pop rbp
ret