// File: /workspace/github_cpp_makefile_star2_O1/j-faria[P]kima/examples/trends/../../celerite/cpp/include/celerite/solver/cholesky.h
// Function: celerite::solver::CholeskySolver<double, -1>::solve(Eigen::Matrix<double, -1, -1, 0, -1, -1> const&) const
matrix_t solve (const Eigen::MatrixXd& b) const {
  if (b.rows() != this->N_) throw dimension_mismatch();
  if (!(this->computed_)) throw compute_exception();

  int nrhs = b.cols(), N = this->N_, J = J_;
  matrix_t x(N, nrhs);

  // Special case for jitter only.
  if (J == 0) {
    for (int k = 0; k < nrhs; ++k) {
      x.col(k) = b.col(k).array() / D_.array();
    }
    return x;
  }

  if (J < 16) {

#define FIXED_SIZE_HACKZ(SIZE_MACRO)                                          \
    Eigen::Matrix<T, SIZE_MACRO, 1> f(J);                                     \
    for (int k = 0; k < nrhs; ++k) {                                          \
      f.setZero();                                                            \
      x(0, k) = b(0, k);                                                      \
      for (int n = 1; n < N; ++n) {                                           \
        T xnm1 = x(n-1, k);                                                   \
        x(n, k) = b(n, k);                                                    \
        for (int j = 0; j < J; ++j) {                                         \
          T value = phi_(j, n-1) * (f(j) + W_(j, n-1) * xnm1);                \
          f(j) = value;                                                       \
          x(n, k) -= u_(j, n-1) * value;                                      \
        }                                                                     \
      }                                                                       \
      x.col(k).array() /= D_.array();                                         \
                                                                              \
      f.setZero();                                                            \
      for (int n = N-2; n >= 0; --n) {                                        \
        T xnp1 = x(n+1, k);                                                   \
        for (int j = 0; j < J; ++j) {                                         \
          T value = phi_(j, n) * (f(j) + u_(j, n) * xnp1);                    \
          f(j) = value;                                                       \
          x(n, k) -= W_(j, n) * value;                                        \
        }                                                                     \
      }                                                                       \
    }

    if (SIZE == Eigen::Dynamic) {
      switch (J) {
        case 1:  { FIXED_SIZE_HACKZ(1)  break; }
        case 2:  { FIXED_SIZE_HACKZ(2)  break; }
        case 3:  { FIXED_SIZE_HACKZ(3)  break; }
        case 4:  { FIXED_SIZE_HACKZ(4)  break; }
        case 5:  { FIXED_SIZE_HACKZ(5)  break; }
        case 6:  { FIXED_SIZE_HACKZ(6)  break; }
        case 7:  { FIXED_SIZE_HACKZ(7)  break; }
        case 8:  { FIXED_SIZE_HACKZ(8)  break; }
        case 9:  { FIXED_SIZE_HACKZ(9)  break; }
        case 10: { FIXED_SIZE_HACKZ(10) break; }
        case 11: { FIXED_SIZE_HACKZ(11) break; }
        case 12: { FIXED_SIZE_HACKZ(12) break; }
        case 13: { FIXED_SIZE_HACKZ(13) break; }
        case 14: { FIXED_SIZE_HACKZ(14) break; }
        case 15: { FIXED_SIZE_HACKZ(15) break; }
        case 16: { FIXED_SIZE_HACKZ(16) break; }
        default: FIXED_SIZE_HACKZ(Eigen::Dynamic)
      }
  } else {
    // The size was already specified at compile time.
    FIXED_SIZE_HACKZ(SIZE)
  }

#undef FIXED_SIZE_HACKZ

  } else {

    vector_j_t f(J);
    for (int k = 0; k < nrhs; ++k) {

      // Forward
      f.setZero();
      T value = b(0, k);
      x(0, k) = value;
      for (int n = 1; n < N; ++n) {
        f = phi_.col(n-1).asDiagonal() * (f + W_.col(n-1) * value);
        value = b(n, k) - u_.col(n-1).transpose().dot(f);
        x(n, k) = value;
      }
      x.col(k).array() /= D_.array();

      // Backward
      f.setZero();
      value = x(N-1, k);
      for (int n = N-2; n >= 0; --n) {
        f = phi_.col(n).asDiagonal() * (f + u_.col(n) * value);
        value = x(n, k) - W_.col(n).transpose().dot(f);
        x(n, k) = value;
      }
    }

  }

  return x;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x148, %rsp            # imm = 0x148
movslq 0xc(%rsi), %r13
cmpq %r13, 0x8(%rdx)
jne 0x32b92
cmpb $0x0, 0x8(%rsi)
je 0x32baf
movq %rdx, %r8
movq %rdi, %rbp
movq 0x10(%rdx), %rdi
movl 0x18(%rsi), %eax
movl %eax, 0x114(%rsp)
xorpd %xmm0, %xmm0
movupd %xmm0, (%rbp)
movq $0x0, 0x10(%rbp)
movslq %edi, %rcx
movq %rcx, %rax
orq %r13, %rax
js 0x32bd9
testl %r13d, %r13d
sete %al
testl %edi, %edi
sete %dl
orb %al, %dl
jne 0x2ccd4
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
xorl %edx, %edx
idivq %rcx
cmpq %r13, %rax
jl 0x32bf3
movq %rdi, 0x18(%rsp)
movq %rsi, 0x8(%rsp)
movq %r8, 0x68(%rsp)
movq %rcx, %rsi
imulq %r13, %rsi
movq %rbp, %rdi
movq %r13, %rdx
callq 0x18da4
movl 0x114(%rsp), %r14d
testq %r14, %r14
je 0x2d13d
cmpl $0xf, %r14d
movq %rbp, 0x48(%rsp)
movq %r13, 0x28(%rsp)
jg 0x2d2c3
leal -0x1(%r14), %eax
cmpl $0xf, %eax
ja 0x321c3
leaq 0x18612(%rip), %rcx     # 0x45340
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpl $0x0, 0x18(%rsp)
jle 0x2dc43
leal -0x2(%r13), %eax
movq %rax, 0x10(%rsp)
incq %rax
movq %rax, 0x50(%rsp)
movq 0x18(%rsp), %rax
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0x18(%rsp)
movq $0x0, 0x40(%rsp)
xorl %ebx, %ebx
movq 0x68(%rsp), %rax
movq 0x8(%rax), %rcx
movq %rcx, 0x30(%rsp)
testq %rcx, %rcx
jle 0x3276c
cmpq %rbx, 0x10(%rax)
jle 0x3276c
movq 0x8(%rbp), %rdi
testq %rdi, %rdi
jle 0x3278b
cmpq %rbx, 0x10(%rbp)
jle 0x3278b
movq 0x30(%rsp), %r11
imulq %rbx, %r11
shlq $0x3, %r11
movq 0x68(%rsp), %rax
addq (%rax), %r11
movq %rdi, %rax
movq %rbx, 0x20(%rsp)
imulq %rbx, %rax
movsd (%r11), %xmm0
movq (%rbp), %r8
leaq (%r8,%rax,8), %r10
movsd %xmm0, (%r8,%rax,8)
cmpl $0x2, %r13d
jl 0x2cf07
movq 0x8(%rsp), %rax
movq 0x40(%rax), %rbx
xorpd %xmm0, %xmm0
movl $0x1, %r15d
cmpq 0x30(%rsp), %r15
je 0x3276c
cmpq %rdi, %r15
je 0x3278b
movsd -0x8(%r10,%r15,8), %xmm1
movsd (%r11,%r15,8), %xmm2
movsd %xmm2, (%r10,%r15,8)
testl %r14d, %r14d
jle 0x2cef1
leaq -0x1(%r15), %r12
movq %rbx, %r13
imulq %r12, %r13
shlq $0x3, %r13
movq 0x8(%rsp), %rcx
addq 0x38(%rcx), %r13
movq 0x28(%rcx), %rbp
movq 0x58(%rcx), %rdx
movq %rdx, %rax
imulq %r12, %rax
shlq $0x3, %rax
addq 0x50(%rcx), %rax
imulq %rbp, %r12
shlq $0x3, %r12
addq 0x20(%rcx), %r12
movb $0x1, %sil
xorl %ecx, %ecx
cmpq %rcx, %rbx
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r15, 0x48(%r9)
jl 0x3276c
testb $0x1, %sil
je 0x32962
cmpq %rcx, %rdx
jle 0x3276c
movq 0x8(%rsp), %rsi
cmpq %r15, 0x60(%rsi)
jl 0x3276c
cmpq %rcx, %rbp
jle 0x3276c
movq 0x8(%rsp), %rsi
cmpq %r15, 0x30(%rsi)
jl 0x3276c
xorl %esi, %esi
movsd (%rax,%rcx,8), %xmm3
mulsd %xmm1, %xmm3
addsd %xmm3, %xmm0
mulsd (%r13,%rcx,8), %xmm0
movsd (%r12,%rcx,8), %xmm3
mulsd %xmm0, %xmm3
subsd %xmm3, %xmm2
movsd %xmm2, (%r10,%r15,8)
movl $0x1, %ecx
cmpl $0x1, %r14d
jg 0x2ce66
incq %r15
movq 0x28(%rsp), %r13
cmpq %r13, %r15
movq 0x48(%rsp), %rbp
jne 0x2cdf6
movq 0x20(%rsp), %rbx
cmpq %rbx, 0x10(%rbp)
jle 0x32aec
movq 0x8(%rsp), %rax
cmpq 0x70(%rax), %rdi
jne 0x32b3a
movq %rdi, %rdx
testb $0x7, %r10b
jne 0x2cf40
shrl $0x3, %r10d
andl $0x1, %r10d
cmpq %rdi, %r10
cmovgeq %rdi, %r10
movq %r10, %rdx
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
testq %rdx, %rdx
jle 0x2cf73
movq %rdi, %rcx
imulq 0x40(%rsp), %rcx
addq %r8, %rcx
xorl %esi, %esi
movsd (%rcx,%rsi,8), %xmm0
divsd (%rax,%rsi,8), %xmm0
movsd %xmm0, (%rcx,%rsi,8)
incq %rsi
cmpq %rsi, %rdx
jne 0x2cf5c
movq %rdi, %rsi
subq %rdx, %rsi
movq %rsi, %rcx
shrq $0x3f, %rcx
addq %rsi, %rcx
andq $-0x2, %rcx
addq %rdx, %rcx
cmpq $0x2, %rsi
jl 0x2cfb8
movq %rdi, %rsi
imulq 0x40(%rsp), %rsi
addq %r8, %rsi
movupd (%rax,%rdx,8), %xmm0
movapd (%rsi,%rdx,8), %xmm1
divpd %xmm0, %xmm1
movapd %xmm1, (%rsi,%rdx,8)
addq $0x2, %rdx
cmpq %rcx, %rdx
jl 0x2cf9c
cmpq %rdi, %rcx
jge 0x2cfe2
movq %rdi, %rdx
imulq 0x40(%rsp), %rdx
addq %rdx, %r8
movsd (%r8,%rcx,8), %xmm0
divsd (%rax,%rcx,8), %xmm0
movsd %xmm0, (%r8,%rcx,8)
incq %rcx
cmpq %rcx, %rdi
jne 0x2cfc9
cmpl $0x2, %r13d
jl 0x2d124
movq 0x8(%rbp), %rdi
movq %rdi, %r8
imulq %rbx, %r8
shlq $0x3, %r8
addq (%rbp), %r8
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r9
xorpd %xmm0, %xmm0
movq 0x10(%rsp), %r10
cmpq %rdi, 0x50(%rsp)
jge 0x3278b
cmpq %rbx, 0x10(%rbp)
jle 0x3278b
testl %r14d, %r14d
jle 0x2d10f
movsd 0x8(%r8,%r10,8), %xmm1
movq %r9, %r11
imulq %r10, %r11
shlq $0x3, %r11
movq 0x8(%rsp), %rcx
addq 0x38(%rcx), %r11
movq 0x28(%rcx), %rbx
movq %rbx, %r15
imulq %r10, %r15
shlq $0x3, %r15
addq 0x20(%rcx), %r15
movq 0x58(%rcx), %rax
movq %rax, %rdx
imulq %r10, %rdx
shlq $0x3, %rdx
addq 0x50(%rcx), %rdx
movb $0x1, %cl
xorl %r12d, %r12d
cmpq %r12, %r9
jle 0x3276c
movq 0x8(%rsp), %rsi
cmpq %r10, 0x48(%rsi)
jle 0x3276c
testb $0x1, %cl
je 0x32962
cmpq %r12, %rbx
jle 0x3276c
movq 0x8(%rsp), %rcx
cmpq %r10, 0x30(%rcx)
jle 0x3276c
cmpq %r12, %rax
jle 0x3276c
movq 0x8(%rsp), %rcx
cmpq %r10, 0x60(%rcx)
jle 0x3276c
cmpq %r10, %rdi
jle 0x3278b
movsd (%r15,%r12,8), %xmm2
mulsd %xmm1, %xmm2
addsd %xmm2, %xmm0
mulsd (%r11,%r12,8), %xmm0
xorl %ecx, %ecx
movsd (%r8,%r10,8), %xmm2
movsd (%rdx,%r12,8), %xmm3
mulsd %xmm0, %xmm3
subsd %xmm3, %xmm2
movsd %xmm2, (%r8,%r10,8)
movl $0x1, %r12d
cmpl $0x1, %r14d
jg 0x2d075
leaq -0x1(%r10), %rax
testq %r10, %r10
movq %rax, %r10
movq 0x20(%rsp), %rbx
jg 0x2d011
incq %rbx
addq $0x8, 0x40(%rsp)
cmpq 0x18(%rsp), %rbx
jne 0x2cd6d
jmp 0x2dc43
cmpl $0x0, 0x18(%rsp)
jle 0x2dc43
movq 0x18(%rsp), %rax
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0x18(%rsp)
xorl %eax, %eax
xorl %ecx, %ecx
movq 0x68(%rsp), %r9
movq (%r9), %rdx
movq 0x8(%r9), %rsi
testq %rdx, %rdx
sete %dil
testq %rsi, %rsi
setns %r8b
orb %dil, %r8b
je 0x327aa
cmpq %rcx, 0x10(%r9)
movq 0x8(%rsp), %rbx
jle 0x327c9
movq 0x70(%rbx), %r9
cmpq %r9, %rsi
jne 0x32b78
movq (%rbp), %rdi
movq 0x8(%rbp), %r8
testq %rdi, %rdi
sete %r10b
testq %r8, %r8
setns %r11b
orb %r10b, %r11b
je 0x32b06
cmpq %rcx, 0x10(%rbp)
jle 0x32aec
cmpq %r9, %r8
jne 0x32b59
movq %r8, %r9
imulq %rcx, %r9
leaq (%rdi,%r9,8), %r9
movq %r8, %r10
testb $0x7, %r9b
jne 0x2d1f2
shrl $0x3, %r9d
andl $0x1, %r9d
cmpq %r8, %r9
cmovgeq %r8, %r9
movq %r9, %r10
movq 0x68(%rbx), %r9
testq %r10, %r10
jle 0x2d22c
movq %rsi, %r11
imulq %rax, %r11
addq %rdx, %r11
movq %r8, %rbx
imulq %rax, %rbx
addq %rdi, %rbx
xorl %r14d, %r14d
movsd (%r11,%r14,8), %xmm0
divsd (%r9,%r14,8), %xmm0
movsd %xmm0, (%rbx,%r14,8)
incq %r14
cmpq %r14, %r10
jne 0x2d212
movq %r8, %rbx
subq %r10, %rbx
movq %rbx, %r11
shrq $0x3f, %r11
addq %rbx, %r11
andq $-0x2, %r11
addq %r10, %r11
cmpq $0x2, %rbx
jl 0x2d27c
movq %rsi, %rbx
imulq %rax, %rbx
addq %rdx, %rbx
movq %r8, %r14
imulq %rax, %r14
addq %rdi, %r14
movupd (%rbx,%r10,8), %xmm0
movupd (%r9,%r10,8), %xmm1
divpd %xmm1, %xmm0
movapd %xmm0, (%r14,%r10,8)
addq $0x2, %r10
cmpq %r11, %r10
jl 0x2d25d
cmpq %r8, %r11
jge 0x2d2ac
imulq %rax, %rsi
addq %rsi, %rdx
movq %r8, %rsi
imulq %rax, %rsi
addq %rsi, %rdi
movsd (%rdx,%r11,8), %xmm0
divsd (%r9,%r11,8), %xmm0
movsd %xmm0, (%rdi,%r11,8)
incq %r11
cmpq %r11, %r8
jne 0x2d292
incq %rcx
addq $0x8, %rax
cmpq 0x18(%rsp), %rcx
jne 0x2d15b
jmp 0x2dc43
xorpd %xmm0, %xmm0
movapd %xmm0, 0x80(%rsp)
cmpq %r14, 0x88(%rsp)
je 0x2d30d
movq 0x80(%rsp), %rdi
callq 0x64d0
leaq (,%r14,8), %rdi
callq 0x6520
testb $0xf, %al
jne 0x32a71
testq %rax, %rax
je 0x32c21
movq %rax, 0x80(%rsp)
movq %r14, 0x88(%rsp)
movq 0x18(%rsp), %rcx
testl %ecx, %ecx
movq 0x8(%rsp), %rax
jle 0x2dc36
leaq 0x20(%rax), %rdx
movq %rdx, 0x50(%rsp)
movq 0x28(%rsp), %rdx
leaq -0x1(%rdx), %rsi
movq %rsi, 0x58(%rsp)
addl $-0x2, %edx
movl %edx, 0x70(%rsp)
addq $0x50, %rax
movq %rax, 0x40(%rsp)
andl $0x7fffffff, %ecx       # imm = 0x7FFFFFFF
movq $0x0, 0x60(%rsp)
xorl %r15d, %r15d
movq %rcx, 0x18(%rsp)
movq 0x88(%rsp), %r14
testq %r14, %r14
js 0x32b20
movq 0x80(%rsp), %r13
movq %r14, %rbx
movabsq $0x7ffffffffffffffe, %rax # imm = 0x7FFFFFFFFFFFFFFE
andq %rax, %rbx
cmpq $0x2, %r14
jl 0x2d3ae
leaq -0x8(,%rbx,8), %rdx
andq $-0x10, %rdx
addq $0x10, %rdx
movq %r13, %rdi
xorl %esi, %esi
callq 0x6220
cmpq %r14, %rbx
jge 0x2d3d2
shlq $0x3, %r14
movq %r14, %rax
andq $-0x10, %rax
addq %rax, %r13
andl $0x8, %r14d
movq %r13, %rdi
xorl %esi, %esi
movq %r14, %rdx
callq 0x6220
movq 0x68(%rsp), %rdx
movq 0x8(%rdx), %rax
testq %rax, %rax
jle 0x3276c
cmpq %r15, 0x10(%rdx)
jle 0x3276c
movq 0x8(%rbp), %rcx
testq %rcx, %rcx
movq 0x8(%rsp), %r14
movq 0x28(%rsp), %rsi
jle 0x3278b
cmpq %r15, 0x10(%rbp)
jle 0x3278b
imulq %r15, %rax
imulq %r15, %rcx
movq (%rdx), %rdx
movsd (%rdx,%rax,8), %xmm3
movq (%rbp), %rax
movsd %xmm3, (%rax,%rcx,8)
cmpl $0x2, %esi
movq %r15, 0x20(%rsp)
jl 0x2d766
movl $0x1, %r13d
xorl %r9d, %r9d
movq 0x38(%r14), %rbx
movq 0x40(%r14), %r15
testq %rbx, %rbx
sete %al
testq %r15, %r15
setns %cl
orb %al, %cl
je 0x327aa
cmpq %r13, 0x48(%r14)
jl 0x327c9
movq 0x50(%r14), %r12
movq 0x58(%r14), %rbp
testq %r12, %r12
sete %al
testq %rbp, %rbp
setns %cl
orb %al, %cl
je 0x327aa
cmpq %r13, 0x60(%r14)
jl 0x327c9
testq %rbp, %rbp
js 0x329d6
movq 0x88(%rsp), %rax
cmpq %rbp, %rax
jne 0x329b7
cmpq %rbp, %r15
jne 0x32998
movq 0x80(%rsp), %r14
cmpq %r15, %rax
je 0x2d546
movapd %xmm3, 0x30(%rsp)
movq %r9, 0x10(%rsp)
testq %r15, %r15
js 0x32a52
movq %r14, %rdi
callq 0x64d0
testq %r15, %r15
je 0x2d529
movabsq $0x1fffffffffffffff, %rax # imm = 0x1FFFFFFFFFFFFFFF
cmpq %rax, %r15
ja 0x32a90
leaq (,%r15,8), %rdi
callq 0x6520
cmpq $0x1, %r15
setne %cl
testb $0xf, %al
setne %dl
testb %dl, %cl
jne 0x32a71
testq %rax, %rax
movq 0x10(%rsp), %r9
movapd 0x30(%rsp), %xmm3
jne 0x2d536
jmp 0x32a90
xorl %eax, %eax
movq 0x10(%rsp), %r9
movapd 0x30(%rsp), %xmm3
movq %rax, 0x80(%rsp)
movq %r15, 0x88(%rsp)
movq 0x88(%rsp), %rax
cmpq %r15, %rax
jne 0x32a14
movq 0x80(%rsp), %rcx
movq %rax, %rdx
shrq $0x3f, %rdx
addq %rax, %rdx
andq $-0x2, %rdx
cmpq $0x2, %rax
jl 0x2d5bf
movapd %xmm3, %xmm0
unpcklpd %xmm3, %xmm0            # xmm0 = xmm0[0],xmm3[0]
movq %r15, %rsi
imulq %r9, %rsi
addq %rbx, %rsi
movq %rbp, %rdi
imulq %r9, %rdi
addq %r12, %rdi
xorl %r8d, %r8d
movupd (%r14,%r8,8), %xmm1
movupd (%rdi,%r8,8), %xmm2
mulpd %xmm0, %xmm2
addpd %xmm1, %xmm2
movupd (%rsi,%r8,8), %xmm1
mulpd %xmm2, %xmm1
movapd %xmm1, (%rcx,%r8,8)
addq $0x2, %r8
cmpq %rdx, %r8
jl 0x2d592
cmpq %rax, %rdx
jge 0x2d5f4
imulq %r9, %rbp
addq %rbp, %r12
imulq %r9, %r15
addq %r15, %rbx
movsd (%r12,%rdx,8), %xmm0
mulsd %xmm3, %xmm0
addsd (%r14,%rdx,8), %xmm0
mulsd (%rbx,%rdx,8), %xmm0
movsd %xmm0, (%rcx,%rdx,8)
incq %rdx
cmpq %rdx, %rax
jne 0x2d5d2
movq 0x68(%rsp), %r8
movq 0x8(%r8), %rax
cmpq %r13, %rax
movq 0x20(%rsp), %r15
jle 0x3276c
cmpq %r15, 0x10(%r8)
jle 0x3276c
movq 0x8(%rsp), %r14
movq 0x20(%r14), %rdx
movq 0x28(%r14), %rcx
testq %rdx, %rdx
sete %sil
testq %rcx, %rcx
setns %dil
orb %sil, %dil
movq 0x48(%rsp), %rbp
je 0x327aa
cmpq %r13, 0x30(%r14)
jl 0x327c9
movq 0x88(%rsp), %rsi
cmpq %rsi, %rcx
jne 0x329f5
leaq -0x1(%r13), %rdi
imulq %r15, %rax
shlq $0x3, %rax
addq (%r8), %rax
movsd (%rax,%r13,8), %xmm3
movq %rcx, %rax
imulq %rdi, %rax
leaq (%rdx,%rax,8), %rax
movq %rax, 0x90(%rsp)
movq %rcx, 0x98(%rsp)
movq 0x50(%rsp), %rdx
movq %rdx, 0xa8(%rsp)
movq $0x0, 0xb0(%rsp)
movq %rdi, 0xb8(%rsp)
movq %rcx, 0xc0(%rsp)
leaq 0x80(%rsp), %rcx
movq %rcx, 0xc8(%rsp)
testq %rsi, %rsi
je 0x2d723
movapd %xmm3, 0x30(%rsp)
jle 0x32a33
movq %r9, %rbx
movq %rax, 0x128(%rsp)
movq 0xc0(%rsp), %rax
movq %rax, 0x138(%rsp)
movq 0x80(%rsp), %rax
movq %rax, 0x140(%rsp)
leaq 0x128(%rsp), %rdi
leaq 0x7f(%rsp), %rsi
leaq 0x90(%rsp), %rdx
callq 0x20880
movq %rbx, %r9
movapd 0x30(%rsp), %xmm3
jmp 0x2d727
xorpd %xmm0, %xmm0
movq 0x8(%rbp), %rax
cmpq %r13, %rax
jle 0x3278b
cmpq %r15, 0x10(%rbp)
jle 0x3278b
subsd %xmm0, %xmm3
imulq %r15, %rax
shlq $0x3, %rax
addq (%rbp), %rax
movsd %xmm3, (%rax,%r13,8)
incq %r13
addq $0x8, %r9
cmpq 0x28(%rsp), %r13
jne 0x2d43f
movq (%rbp), %rax
movq 0x8(%rbp), %rcx
testq %rax, %rax
sete %dl
testq %rcx, %rcx
setns %sil
orb %dl, %sil
je 0x32b06
cmpq %r15, 0x10(%rbp)
jle 0x32aec
cmpq 0x70(%r14), %rcx
jne 0x32b3a
movq %rcx, %rdx
imulq %r15, %rdx
leaq (%rax,%rdx,8), %rdx
movq %rcx, %rsi
testb $0x7, %dl
jne 0x2d7bb
shrl $0x3, %edx
andl $0x1, %edx
cmpq %rcx, %rdx
cmovgeq %rcx, %rdx
movq %rdx, %rsi
movq 0x68(%r14), %rdx
testq %rsi, %rsi
jle 0x2d7ed
movq %rcx, %rdi
imulq 0x60(%rsp), %rdi
addq %rax, %rdi
xorl %r8d, %r8d
movsd (%rdi,%r8,8), %xmm0
divsd (%rdx,%r8,8), %xmm0
movsd %xmm0, (%rdi,%r8,8)
incq %r8
cmpq %r8, %rsi
jne 0x2d7d3
movq %rcx, %r8
subq %rsi, %r8
movq %r8, %rdi
shrq $0x3f, %rdi
addq %r8, %rdi
andq $-0x2, %rdi
addq %rsi, %rdi
cmpq $0x2, %r8
jl 0x2d834
movq %rcx, %r8
imulq 0x60(%rsp), %r8
addq %rax, %r8
movupd (%rdx,%rsi,8), %xmm0
movapd (%r8,%rsi,8), %xmm1
divpd %xmm0, %xmm1
movapd %xmm1, (%r8,%rsi,8)
addq $0x2, %rsi
cmpq %rdi, %rsi
jl 0x2d816
cmpq %rcx, %rdi
jge 0x2d85c
movq %rcx, %rsi
imulq 0x60(%rsp), %rsi
addq %rsi, %rax
movsd (%rax,%rdi,8), %xmm0
divsd (%rdx,%rdi,8), %xmm0
movsd %xmm0, (%rax,%rdi,8)
incq %rdi
cmpq %rdi, %rcx
jne 0x2d845
movq 0x88(%rsp), %r14
testq %r14, %r14
js 0x32b20
movq 0x80(%rsp), %r13
movq %r14, %rbx
movabsq $0x7ffffffffffffffe, %rax # imm = 0x7FFFFFFFFFFFFFFE
andq %rax, %rbx
cmpq $0x2, %r14
jl 0x2d8a5
leaq -0x8(,%rbx,8), %rdx
andq $-0x10, %rdx
addq $0x10, %rdx
movq %r13, %rdi
xorl %esi, %esi
callq 0x6220
cmpq %r14, %rbx
jge 0x2d8c9
shlq $0x3, %r14
movq %r14, %rax
andq $-0x10, %rax
addq %rax, %r13
andl $0x8, %r14d
movq %r13, %rdi
xorl %esi, %esi
movq %r14, %rdx
callq 0x6220
movq 0x28(%rsp), %rcx
testl %ecx, %ecx
jle 0x3278b
movq 0x8(%rbp), %rax
cmpq 0x58(%rsp), %rax
jle 0x3278b
cmpq %r15, 0x10(%rbp)
jle 0x3278b
cmpl $0x2, %ecx
movq 0x8(%rsp), %r14
jl 0x2dc1f
imulq %r15, %rax
shlq $0x3, %rax
addq (%rbp), %rax
movq 0x28(%rsp), %rcx
movsd -0x8(%rax,%rcx,8), %xmm3
movl 0x70(%rsp), %eax
movq 0x38(%r14), %rbx
movq 0x40(%r14), %r15
testq %rbx, %rbx
sete %cl
testq %r15, %r15
setns %dl
orb %cl, %dl
je 0x327aa
movl %eax, %r13d
cmpq %r13, 0x48(%r14)
jle 0x327c9
movq 0x20(%r14), %r12
movq 0x28(%r14), %rbp
testq %r12, %r12
sete %al
testq %rbp, %rbp
setns %cl
orb %al, %cl
je 0x327aa
cmpq %r13, 0x30(%r14)
jle 0x327c9
testq %rbp, %rbp
js 0x329d6
movq 0x88(%rsp), %rax
cmpq %rbp, %rax
jne 0x329b7
cmpq %rbp, %r15
jne 0x32998
movq 0x80(%rsp), %r14
cmpq %r15, %rax
je 0x2da0f
movapd %xmm3, 0x30(%rsp)
testq %r15, %r15
js 0x32a52
movq %r14, %rdi
callq 0x64d0
testq %r15, %r15
je 0x2d9f7
movabsq $0x1fffffffffffffff, %rax # imm = 0x1FFFFFFFFFFFFFFF
cmpq %rax, %r15
ja 0x32abe
leaq (,%r15,8), %rdi
callq 0x6520
cmpq $0x1, %r15
setne %cl
testb $0xf, %al
setne %dl
testb %dl, %cl
jne 0x32a71
testq %rax, %rax
movapd 0x30(%rsp), %xmm3
jne 0x2d9ff
jmp 0x32abe
xorl %eax, %eax
movapd 0x30(%rsp), %xmm3
movq %rax, 0x80(%rsp)
movq %r15, 0x88(%rsp)
movq 0x88(%rsp), %rax
cmpq %r15, %rax
jne 0x32a14
movq 0x80(%rsp), %rcx
movq %rax, %rdx
shrq $0x3f, %rdx
addq %rax, %rdx
andq $-0x2, %rdx
cmpq $0x2, %rax
jl 0x2da8a
movapd %xmm3, %xmm0
unpcklpd %xmm3, %xmm0            # xmm0 = xmm0[0],xmm3[0]
movq %r15, %rsi
imulq %r13, %rsi
leaq (%rbx,%rsi,8), %rsi
movq %rbp, %rdi
imulq %r13, %rdi
leaq (%r12,%rdi,8), %rdi
xorl %r8d, %r8d
movupd (%r14,%r8,8), %xmm1
movupd (%rdi,%r8,8), %xmm2
mulpd %xmm0, %xmm2
addpd %xmm1, %xmm2
movupd (%rsi,%r8,8), %xmm1
mulpd %xmm2, %xmm1
movapd %xmm1, (%rcx,%r8,8)
addq $0x2, %r8
cmpq %rdx, %r8
jl 0x2da5d
cmpq %rax, %rdx
jge 0x2dac0
imulq %r13, %rbp
leaq (%r12,%rbp,8), %rsi
imulq %r13, %r15
leaq (%rbx,%r15,8), %rdi
movsd (%rsi,%rdx,8), %xmm0
mulsd %xmm3, %xmm0
addsd (%r14,%rdx,8), %xmm0
mulsd (%rdi,%rdx,8), %xmm0
movsd %xmm0, (%rcx,%rdx,8)
incq %rdx
cmpq %rdx, %rax
jne 0x2da9f
movq 0x48(%rsp), %rbp
movq 0x8(%rbp), %rax
cmpq %r13, %rax
movq 0x20(%rsp), %r15
jle 0x3278b
cmpq %r15, 0x10(%rbp)
jle 0x3278b
movq 0x8(%rsp), %r14
movq 0x50(%r14), %rdx
movq 0x58(%r14), %rcx
testq %rdx, %rdx
sete %sil
testq %rcx, %rcx
setns %dil
orb %sil, %dil
je 0x327aa
cmpq %r13, 0x60(%r14)
jle 0x327c9
movq 0x88(%rsp), %rsi
cmpq %rsi, %rcx
jne 0x329f5
imulq %r15, %rax
shlq $0x3, %rax
addq (%rbp), %rax
movsd (%rax,%r13,8), %xmm3
movq %rcx, %rax
imulq %r13, %rax
leaq (%rdx,%rax,8), %rax
movq %rax, 0x90(%rsp)
movq %rcx, 0x98(%rsp)
movq 0x40(%rsp), %rdx
movq %rdx, 0xa8(%rsp)
movq $0x0, 0xb0(%rsp)
movq %r13, 0xb8(%rsp)
movq %rcx, 0xc0(%rsp)
leaq 0x80(%rsp), %rcx
movq %rcx, 0xc8(%rsp)
testq %rsi, %rsi
je 0x2dbe1
movapd %xmm3, 0x30(%rsp)
jle 0x32a33
movq %rax, 0x128(%rsp)
movq 0xc0(%rsp), %rax
movq %rax, 0x138(%rsp)
movq 0x80(%rsp), %rax
movq %rax, 0x140(%rsp)
leaq 0x128(%rsp), %rdi
leaq 0x7f(%rsp), %rsi
leaq 0x90(%rsp), %rdx
callq 0x20880
movapd 0x30(%rsp), %xmm3
jmp 0x2dbe5
xorpd %xmm0, %xmm0
movq 0x8(%rbp), %rax
cmpq %r13, %rax
jle 0x3278b
cmpq %r15, 0x10(%rbp)
jle 0x3278b
imulq %r15, %rax
shlq $0x3, %rax
addq (%rbp), %rax
subsd %xmm0, %xmm3
movsd %xmm3, (%rax,%r13,8)
leal -0x1(%r13), %eax
testl %r13d, %r13d
jg 0x2d918
incq %r15
addq $0x8, 0x60(%rsp)
movq 0x18(%rsp), %rcx
cmpq %rcx, %r15
jne 0x2d365
movq 0x80(%rsp), %rdi
callq 0x64d0
movq %rbp, %rax
addq $0x148, %rsp            # imm = 0x148
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpl $0x0, 0x18(%rsp)
jle 0x2dc43
leal -0x2(%r13), %ecx
leaq 0x1(%rcx), %rax
movq %rax, 0x40(%rsp)
movq 0x18(%rsp), %rax
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0x18(%rsp)
movq %rcx, 0x58(%rsp)
leaq (,%rcx,8), %rax
movq %rax, 0x70(%rsp)
movq $0x0, 0x10(%rsp)
xorpd %xmm0, %xmm0
xorl %ecx, %ecx
movapd %xmm0, 0xf0(%rsp)
movapd %xmm0, 0xe0(%rsp)
movapd %xmm0, 0xd0(%rsp)
movapd %xmm0, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0x100(%rsp)
movq 0x68(%rsp), %rax
movq 0x8(%rax), %rdx
movq %rdx, 0x20(%rsp)
testq %rdx, %rdx
jle 0x3276c
cmpq %rcx, 0x10(%rax)
jle 0x3276c
movq 0x8(%rbp), %r8
testq %r8, %r8
jle 0x3278b
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
movq 0x20(%rsp), %rbx
imulq %rcx, %rbx
shlq $0x3, %rbx
movq 0x68(%rsp), %rax
addq (%rax), %rbx
movq %r8, %rax
movq %rcx, 0x30(%rsp)
imulq %rcx, %rax
movsd (%rbx), %xmm1
movq (%rbp), %rcx
leaq (%rcx,%rax,8), %r11
movq %rcx, 0x60(%rsp)
movsd %xmm1, (%rcx,%rax,8)
cmpl $0x2, %r13d
jl 0x2de8c
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r15
leaq (,%r15,8), %rax
movq %rax, 0x50(%rsp)
movl $0x1, %r13d
xorl %ebp, %ebp
xorl %eax, %eax
cmpq 0x20(%rsp), %r13
je 0x3276c
cmpq %r8, %r13
je 0x3278b
movsd -0x8(%r11,%r13,8), %xmm1
movsd (%rbx,%r13,8), %xmm2
movsd %xmm2, (%r11,%r13,8)
testl %r14d, %r14d
jle 0x2de75
movq 0x8(%rsp), %r9
movq 0x28(%r9), %r12
movq 0x58(%r9), %rdi
movq 0x38(%r9), %rcx
addq %rax, %rcx
movq %rdi, %rsi
imulq %rbp, %rsi
addq 0x50(%r9), %rsi
movq %r12, %rdx
imulq %rbp, %rdx
addq 0x20(%r9), %rdx
xorl %r10d, %r10d
cmpq %r10, %r15
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x48(%r9)
jl 0x3276c
cmpq $0xf, %r10
je 0x327e8
cmpq %r10, %rdi
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x60(%r9)
jl 0x3276c
movsd (%rsi,%r10,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%r10,8), %xmm2
mulsd (%rcx,%r10,8), %xmm2
movsd %xmm2, 0x90(%rsp,%r10,8)
cmpq %r10, %r12
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x30(%r9)
jl 0x3276c
movsd (%r11,%r13,8), %xmm3
mulsd (%rdx,%r10,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r11,%r13,8)
incq %r10
cmpq %r10, %r14
jne 0x2dddd
incq %r13
addq 0x50(%rsp), %rax
addq $0x8, %rbp
cmpq 0x28(%rsp), %r13
jne 0x2dd80
movq 0x48(%rsp), %rbp
movq 0x30(%rsp), %rax
cmpq %rax, 0x10(%rbp)
jle 0x32aec
movq 0x8(%rsp), %rax
cmpq 0x70(%rax), %r8
movq 0x28(%rsp), %rdi
jne 0x32b3a
movq %r8, %rcx
testb $0x7, %r11b
jne 0x2decf
shrl $0x3, %r11d
andl $0x1, %r11d
cmpq %r8, %r11
cmovgeq %r8, %r11
movq %r11, %rcx
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
testq %rcx, %rcx
movq 0x60(%rsp), %r9
jle 0x2df07
movq %r8, %rdx
imulq 0x10(%rsp), %rdx
addq %r9, %rdx
xorl %esi, %esi
movsd (%rdx,%rsi,8), %xmm1
divsd (%rax,%rsi,8), %xmm1
movsd %xmm1, (%rdx,%rsi,8)
incq %rsi
cmpq %rsi, %rcx
jne 0x2def0
movq %r8, %rsi
subq %rcx, %rsi
movq %rsi, %rdx
shrq $0x3f, %rdx
addq %rsi, %rdx
andq $-0x2, %rdx
addq %rcx, %rdx
cmpq $0x2, %rsi
jl 0x2df4c
movq %r8, %rsi
imulq 0x10(%rsp), %rsi
addq %r9, %rsi
movupd (%rax,%rcx,8), %xmm1
movapd (%rsi,%rcx,8), %xmm2
divpd %xmm1, %xmm2
movapd %xmm2, (%rsi,%rcx,8)
addq $0x2, %rcx
cmpq %rdx, %rcx
jl 0x2df30
cmpq %r8, %rdx
jge 0x2df76
movq %r8, %rcx
imulq 0x10(%rsp), %rcx
addq %rcx, %r9
movsd (%r9,%rdx,8), %xmm1
divsd (%rax,%rdx,8), %xmm1
movsd %xmm1, (%r9,%rdx,8)
incq %rdx
cmpq %rdx, %r8
jne 0x2df5d
movapd %xmm0, 0xf0(%rsp)
movapd %xmm0, 0xe0(%rsp)
movapd %xmm0, 0xd0(%rsp)
movapd %xmm0, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0x100(%rsp)
cmpl $0x2, %edi
jl 0x2e110
movq 0x8(%rbp), %r8
movq %r8, %r9
imulq 0x30(%rsp), %r9
shlq $0x3, %r9
addq (%rbp), %r9
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r10
movq 0x70(%rsp), %r15
movq %r15, %r11
imulq %r10, %r11
leaq (,%r10,8), %rbx
movq 0x58(%rsp), %rax
cmpq %r8, 0x40(%rsp)
jge 0x3278b
movq 0x30(%rsp), %rcx
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
testl %r14d, %r14d
jle 0x2e0f4
movsd 0x8(%r9,%rax,8), %xmm1
movq 0x8(%rsp), %rsi
movq 0x28(%rsi), %r12
movq 0x58(%rsi), %r13
movq 0x38(%rsi), %rbp
addq %r11, %rbp
movq %r12, %rdx
imulq %r15, %rdx
addq 0x20(%rsi), %rdx
movq %r13, %rcx
imulq %r15, %rcx
addq 0x50(%rsi), %rcx
xorl %esi, %esi
cmpq %rsi, %r10
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x48(%rdi)
jle 0x3276c
cmpq $0xf, %rsi
je 0x327e8
cmpq %rsi, %r12
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x30(%rdi)
jle 0x3276c
movsd (%rdx,%rsi,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%rsi,8), %xmm2
mulsd (%rbp,%rsi,8), %xmm2
movsd %xmm2, 0x90(%rsp,%rsi,8)
cmpq %rsi, %r13
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x60(%rdi)
jle 0x3276c
cmpq %rax, %r8
jle 0x3278b
movsd (%r9,%rax,8), %xmm3
mulsd (%rcx,%rsi,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r9,%rax,8)
incq %rsi
cmpq %rsi, %r14
jne 0x2e057
leaq -0x1(%rax), %rcx
subq %rbx, %r11
addq $-0x8, %r15
testq %rax, %rax
movq %rcx, %rax
movq 0x48(%rsp), %rbp
jg 0x2e001
movq 0x30(%rsp), %rcx
incq %rcx
addq $0x8, 0x10(%rsp)
cmpq 0x18(%rsp), %rcx
movq 0x28(%rsp), %r13
jne 0x2dc9c
jmp 0x2dc43
cmpl $0x0, 0x18(%rsp)
jle 0x2dc43
leal -0x2(%r13), %ecx
leaq 0x1(%rcx), %rax
movq %rax, 0x40(%rsp)
movq 0x18(%rsp), %rax
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0x18(%rsp)
movq %rcx, 0x58(%rsp)
leaq (,%rcx,8), %rax
movq %rax, 0x70(%rsp)
movq $0x0, 0x10(%rsp)
xorpd %xmm0, %xmm0
xorl %ecx, %ecx
movapd %xmm0, 0xe0(%rsp)
movapd %xmm0, 0xd0(%rsp)
movapd %xmm0, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movq 0x68(%rsp), %rax
movq 0x8(%rax), %rdx
movq %rdx, 0x20(%rsp)
testq %rdx, %rdx
jle 0x3276c
cmpq %rcx, 0x10(%rax)
jle 0x3276c
movq 0x8(%rbp), %r8
testq %r8, %r8
jle 0x3278b
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
movq 0x20(%rsp), %rbx
imulq %rcx, %rbx
shlq $0x3, %rbx
movq 0x68(%rsp), %rax
addq (%rax), %rbx
movq %r8, %rax
movq %rcx, 0x30(%rsp)
imulq %rcx, %rax
movsd (%rbx), %xmm1
movq (%rbp), %rcx
leaq (%rcx,%rax,8), %r11
movq %rcx, 0x60(%rsp)
movsd %xmm1, (%rcx,%rax,8)
cmpl $0x2, %r13d
jl 0x2e356
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r15
leaq (,%r15,8), %rax
movq %rax, 0x50(%rsp)
movl $0x1, %r13d
xorl %ebp, %ebp
xorl %eax, %eax
cmpq 0x20(%rsp), %r13
je 0x3276c
cmpq %r8, %r13
je 0x3278b
movsd -0x8(%r11,%r13,8), %xmm1
movsd (%rbx,%r13,8), %xmm2
movsd %xmm2, (%r11,%r13,8)
testl %r14d, %r14d
jle 0x2e33f
movq 0x8(%rsp), %r9
movq 0x28(%r9), %r12
movq 0x58(%r9), %rdi
movq 0x38(%r9), %rcx
addq %rax, %rcx
movq %rdi, %rsi
imulq %rbp, %rsi
addq 0x50(%r9), %rsi
movq %r12, %rdx
imulq %rbp, %rdx
addq 0x20(%r9), %rdx
xorl %r10d, %r10d
cmpq %r10, %r15
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x48(%r9)
jl 0x3276c
cmpq $0xc, %r10
je 0x32802
cmpq %r10, %rdi
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x60(%r9)
jl 0x3276c
movsd (%rsi,%r10,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%r10,8), %xmm2
mulsd (%rcx,%r10,8), %xmm2
movsd %xmm2, 0x90(%rsp,%r10,8)
cmpq %r10, %r12
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x30(%r9)
jl 0x3276c
movsd (%r11,%r13,8), %xmm3
mulsd (%rdx,%r10,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r11,%r13,8)
incq %r10
cmpq %r10, %r14
jne 0x2e2a7
incq %r13
addq 0x50(%rsp), %rax
addq $0x8, %rbp
cmpq 0x28(%rsp), %r13
jne 0x2e24a
movq 0x48(%rsp), %rbp
movq 0x30(%rsp), %rax
cmpq %rax, 0x10(%rbp)
jle 0x32aec
movq 0x8(%rsp), %rax
cmpq 0x70(%rax), %r8
movq 0x28(%rsp), %rdi
jne 0x32b3a
movq %r8, %rcx
testb $0x7, %r11b
jne 0x2e399
shrl $0x3, %r11d
andl $0x1, %r11d
cmpq %r8, %r11
cmovgeq %r8, %r11
movq %r11, %rcx
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
testq %rcx, %rcx
movq 0x60(%rsp), %r9
jle 0x2e3d1
movq %r8, %rdx
imulq 0x10(%rsp), %rdx
addq %r9, %rdx
xorl %esi, %esi
movsd (%rdx,%rsi,8), %xmm1
divsd (%rax,%rsi,8), %xmm1
movsd %xmm1, (%rdx,%rsi,8)
incq %rsi
cmpq %rsi, %rcx
jne 0x2e3ba
movq %r8, %rsi
subq %rcx, %rsi
movq %rsi, %rdx
shrq $0x3f, %rdx
addq %rsi, %rdx
andq $-0x2, %rdx
addq %rcx, %rdx
cmpq $0x2, %rsi
jl 0x2e416
movq %r8, %rsi
imulq 0x10(%rsp), %rsi
addq %r9, %rsi
movupd (%rax,%rcx,8), %xmm1
movapd (%rsi,%rcx,8), %xmm2
divpd %xmm1, %xmm2
movapd %xmm2, (%rsi,%rcx,8)
addq $0x2, %rcx
cmpq %rdx, %rcx
jl 0x2e3fa
cmpq %r8, %rdx
jge 0x2e440
movq %r8, %rcx
imulq 0x10(%rsp), %rcx
addq %rcx, %r9
movsd (%r9,%rdx,8), %xmm1
divsd (%rax,%rdx,8), %xmm1
movsd %xmm1, (%r9,%rdx,8)
incq %rdx
cmpq %rdx, %r8
jne 0x2e427
movapd %xmm0, 0xe0(%rsp)
movapd %xmm0, 0xd0(%rsp)
movapd %xmm0, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
cmpl $0x2, %edi
jl 0x2e5c5
movq 0x8(%rbp), %r8
movq %r8, %r9
imulq 0x30(%rsp), %r9
shlq $0x3, %r9
addq (%rbp), %r9
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r10
movq 0x70(%rsp), %r15
movq %r15, %r11
imulq %r10, %r11
leaq (,%r10,8), %rbx
movq 0x58(%rsp), %rax
cmpq %r8, 0x40(%rsp)
jge 0x3278b
movq 0x30(%rsp), %rcx
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
testl %r14d, %r14d
jle 0x2e5a9
movsd 0x8(%r9,%rax,8), %xmm1
movq 0x8(%rsp), %rsi
movq 0x28(%rsi), %r12
movq 0x58(%rsi), %r13
movq 0x38(%rsi), %rbp
addq %r11, %rbp
movq %r12, %rdx
imulq %r15, %rdx
addq 0x20(%rsi), %rdx
movq %r13, %rcx
imulq %r15, %rcx
addq 0x50(%rsi), %rcx
xorl %esi, %esi
cmpq %rsi, %r10
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x48(%rdi)
jle 0x3276c
cmpq $0xc, %rsi
je 0x32802
cmpq %rsi, %r12
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x30(%rdi)
jle 0x3276c
movsd (%rdx,%rsi,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%rsi,8), %xmm2
mulsd (%rbp,%rsi,8), %xmm2
movsd %xmm2, 0x90(%rsp,%rsi,8)
cmpq %rsi, %r13
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x60(%rdi)
jle 0x3276c
cmpq %rax, %r8
jle 0x3278b
movsd (%r9,%rax,8), %xmm3
mulsd (%rcx,%rsi,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r9,%rax,8)
incq %rsi
cmpq %rsi, %r14
jne 0x2e50c
leaq -0x1(%rax), %rcx
subq %rbx, %r11
addq $-0x8, %r15
testq %rax, %rax
movq %rcx, %rax
movq 0x48(%rsp), %rbp
jg 0x2e4b6
movq 0x30(%rsp), %rcx
incq %rcx
addq $0x8, 0x10(%rsp)
cmpq 0x18(%rsp), %rcx
movq 0x28(%rsp), %r13
jne 0x2e17b
jmp 0x2dc43
cmpl $0x0, 0x18(%rsp)
jle 0x2dc43
leal -0x2(%r13), %ecx
leaq 0x1(%rcx), %rax
movq %rax, 0x40(%rsp)
movq 0x18(%rsp), %rax
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0x18(%rsp)
movq %rcx, 0x58(%rsp)
leaq (,%rcx,8), %rax
movq %rax, 0x70(%rsp)
movq $0x0, 0x10(%rsp)
xorpd %xmm0, %xmm0
xorl %ecx, %ecx
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xb0(%rsp)
movq 0x68(%rsp), %rax
movq 0x8(%rax), %rdx
movq %rdx, 0x20(%rsp)
testq %rdx, %rdx
jle 0x3276c
cmpq %rcx, 0x10(%rax)
jle 0x3276c
movq 0x8(%rbp), %r8
testq %r8, %r8
jle 0x3278b
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
movq 0x20(%rsp), %rbx
imulq %rcx, %rbx
shlq $0x3, %rbx
movq 0x68(%rsp), %rax
addq (%rax), %rbx
movq %r8, %rax
movq %rcx, 0x30(%rsp)
imulq %rcx, %rax
movsd (%rbx), %xmm1
movq (%rbp), %rcx
leaq (%rcx,%rax,8), %r11
movq %rcx, 0x60(%rsp)
movsd %xmm1, (%rcx,%rax,8)
cmpl $0x2, %r13d
jl 0x2e7f3
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r15
leaq (,%r15,8), %rax
movq %rax, 0x50(%rsp)
movl $0x1, %r13d
xorl %ebp, %ebp
xorl %eax, %eax
cmpq 0x20(%rsp), %r13
je 0x3276c
cmpq %r8, %r13
je 0x3278b
movsd -0x8(%r11,%r13,8), %xmm1
movsd (%rbx,%r13,8), %xmm2
movsd %xmm2, (%r11,%r13,8)
testl %r14d, %r14d
jle 0x2e7dc
movq 0x8(%rsp), %r9
movq 0x28(%r9), %r12
movq 0x58(%r9), %rdi
movq 0x38(%r9), %rcx
addq %rax, %rcx
movq %rdi, %rsi
imulq %rbp, %rsi
addq 0x50(%r9), %rsi
movq %r12, %rdx
imulq %rbp, %rdx
addq 0x20(%r9), %rdx
xorl %r10d, %r10d
cmpq %r10, %r15
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x48(%r9)
jl 0x3276c
cmpq $0x5, %r10
je 0x3281c
cmpq %r10, %rdi
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x60(%r9)
jl 0x3276c
movsd (%rsi,%r10,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%r10,8), %xmm2
mulsd (%rcx,%r10,8), %xmm2
movsd %xmm2, 0x90(%rsp,%r10,8)
cmpq %r10, %r12
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x30(%r9)
jl 0x3276c
movsd (%r11,%r13,8), %xmm3
mulsd (%rdx,%r10,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r11,%r13,8)
incq %r10
cmpq %r10, %r14
jne 0x2e744
incq %r13
addq 0x50(%rsp), %rax
addq $0x8, %rbp
cmpq 0x28(%rsp), %r13
jne 0x2e6e7
movq 0x48(%rsp), %rbp
movq 0x30(%rsp), %rax
cmpq %rax, 0x10(%rbp)
jle 0x32aec
movq 0x8(%rsp), %rax
cmpq 0x70(%rax), %r8
movq 0x28(%rsp), %rdi
jne 0x32b3a
movq %r8, %rcx
testb $0x7, %r11b
jne 0x2e836
shrl $0x3, %r11d
andl $0x1, %r11d
cmpq %r8, %r11
cmovgeq %r8, %r11
movq %r11, %rcx
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
testq %rcx, %rcx
movq 0x60(%rsp), %r9
jle 0x2e86e
movq %r8, %rdx
imulq 0x10(%rsp), %rdx
addq %r9, %rdx
xorl %esi, %esi
movsd (%rdx,%rsi,8), %xmm1
divsd (%rax,%rsi,8), %xmm1
movsd %xmm1, (%rdx,%rsi,8)
incq %rsi
cmpq %rsi, %rcx
jne 0x2e857
movq %r8, %rsi
subq %rcx, %rsi
movq %rsi, %rdx
shrq $0x3f, %rdx
addq %rsi, %rdx
andq $-0x2, %rdx
addq %rcx, %rdx
cmpq $0x2, %rsi
jl 0x2e8b3
movq %r8, %rsi
imulq 0x10(%rsp), %rsi
addq %r9, %rsi
movupd (%rax,%rcx,8), %xmm1
movapd (%rsi,%rcx,8), %xmm2
divpd %xmm1, %xmm2
movapd %xmm2, (%rsi,%rcx,8)
addq $0x2, %rcx
cmpq %rdx, %rcx
jl 0x2e897
cmpq %r8, %rdx
jge 0x2e8dd
movq %r8, %rcx
imulq 0x10(%rsp), %rcx
addq %rcx, %r9
movsd (%r9,%rdx,8), %xmm1
divsd (%rax,%rdx,8), %xmm1
movsd %xmm1, (%r9,%rdx,8)
incq %rdx
cmpq %rdx, %r8
jne 0x2e8c4
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xb0(%rsp)
cmpl $0x2, %edi
jl 0x2ea4a
movq 0x8(%rbp), %r8
movq %r8, %r9
imulq 0x30(%rsp), %r9
shlq $0x3, %r9
addq (%rbp), %r9
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r10
movq 0x70(%rsp), %r15
movq %r15, %r11
imulq %r10, %r11
leaq (,%r10,8), %rbx
movq 0x58(%rsp), %rax
cmpq %r8, 0x40(%rsp)
jge 0x3278b
movq 0x30(%rsp), %rcx
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
testl %r14d, %r14d
jle 0x2ea2e
movsd 0x8(%r9,%rax,8), %xmm1
movq 0x8(%rsp), %rsi
movq 0x28(%rsi), %r12
movq 0x58(%rsi), %r13
movq 0x38(%rsi), %rbp
addq %r11, %rbp
movq %r12, %rdx
imulq %r15, %rdx
addq 0x20(%rsi), %rdx
movq %r13, %rcx
imulq %r15, %rcx
addq 0x50(%rsi), %rcx
xorl %esi, %esi
cmpq %rsi, %r10
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x48(%rdi)
jle 0x3276c
cmpq $0x5, %rsi
je 0x3281c
cmpq %rsi, %r12
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x30(%rdi)
jle 0x3276c
movsd (%rdx,%rsi,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%rsi,8), %xmm2
mulsd (%rbp,%rsi,8), %xmm2
movsd %xmm2, 0x90(%rsp,%rsi,8)
cmpq %rsi, %r13
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x60(%rdi)
jle 0x3276c
cmpq %rax, %r8
jle 0x3278b
movsd (%r9,%rax,8), %xmm3
mulsd (%rcx,%rsi,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r9,%rax,8)
incq %rsi
cmpq %rsi, %r14
jne 0x2e991
leaq -0x1(%rax), %rcx
subq %rbx, %r11
addq $-0x8, %r15
testq %rax, %rax
movq %rcx, %rax
movq 0x48(%rsp), %rbp
jg 0x2e93b
movq 0x30(%rsp), %rcx
incq %rcx
addq $0x8, 0x10(%rsp)
cmpq 0x18(%rsp), %rcx
movq 0x28(%rsp), %r13
jne 0x2e630
jmp 0x2dc43
cmpl $0x0, 0x18(%rsp)
jle 0x2dc43
leal -0x2(%r13), %ecx
leaq 0x1(%rcx), %rax
movq %rax, 0x40(%rsp)
movq 0x18(%rsp), %rax
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0x18(%rsp)
movq %rcx, 0x58(%rsp)
leaq (,%rcx,8), %rax
movq %rax, 0x70(%rsp)
movq $0x0, 0x10(%rsp)
xorpd %xmm0, %xmm0
xorl %ecx, %ecx
movapd %xmm0, 0xe0(%rsp)
movapd %xmm0, 0xd0(%rsp)
movapd %xmm0, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xf0(%rsp)
movq 0x68(%rsp), %rax
movq 0x8(%rax), %rdx
movq %rdx, 0x20(%rsp)
testq %rdx, %rdx
jle 0x3276c
cmpq %rcx, 0x10(%rax)
jle 0x3276c
movq 0x8(%rbp), %r8
testq %r8, %r8
jle 0x3278b
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
movq 0x20(%rsp), %rbx
imulq %rcx, %rbx
shlq $0x3, %rbx
movq 0x68(%rsp), %rax
addq (%rax), %rbx
movq %r8, %rax
movq %rcx, 0x30(%rsp)
imulq %rcx, %rax
movsd (%rbx), %xmm1
movq (%rbp), %rcx
leaq (%rcx,%rax,8), %r11
movq %rcx, 0x60(%rsp)
movsd %xmm1, (%rcx,%rax,8)
cmpl $0x2, %r13d
jl 0x2ec9c
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r15
leaq (,%r15,8), %rax
movq %rax, 0x50(%rsp)
movl $0x1, %r13d
xorl %ebp, %ebp
xorl %eax, %eax
cmpq 0x20(%rsp), %r13
je 0x3276c
cmpq %r8, %r13
je 0x3278b
movsd -0x8(%r11,%r13,8), %xmm1
movsd (%rbx,%r13,8), %xmm2
movsd %xmm2, (%r11,%r13,8)
testl %r14d, %r14d
jle 0x2ec85
movq 0x8(%rsp), %r9
movq 0x28(%r9), %r12
movq 0x58(%r9), %rdi
movq 0x38(%r9), %rcx
addq %rax, %rcx
movq %rdi, %rsi
imulq %rbp, %rsi
addq 0x50(%r9), %rsi
movq %r12, %rdx
imulq %rbp, %rdx
addq 0x20(%r9), %rdx
xorl %r10d, %r10d
cmpq %r10, %r15
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x48(%r9)
jl 0x3276c
cmpq $0xd, %r10
je 0x32836
cmpq %r10, %rdi
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x60(%r9)
jl 0x3276c
movsd (%rsi,%r10,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%r10,8), %xmm2
mulsd (%rcx,%r10,8), %xmm2
movsd %xmm2, 0x90(%rsp,%r10,8)
cmpq %r10, %r12
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x30(%r9)
jl 0x3276c
movsd (%r11,%r13,8), %xmm3
mulsd (%rdx,%r10,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r11,%r13,8)
incq %r10
cmpq %r10, %r14
jne 0x2ebed
incq %r13
addq 0x50(%rsp), %rax
addq $0x8, %rbp
cmpq 0x28(%rsp), %r13
jne 0x2eb90
movq 0x48(%rsp), %rbp
movq 0x30(%rsp), %rax
cmpq %rax, 0x10(%rbp)
jle 0x32aec
movq 0x8(%rsp), %rax
cmpq 0x70(%rax), %r8
movq 0x28(%rsp), %rdi
jne 0x32b3a
movq %r8, %rcx
testb $0x7, %r11b
jne 0x2ecdf
shrl $0x3, %r11d
andl $0x1, %r11d
cmpq %r8, %r11
cmovgeq %r8, %r11
movq %r11, %rcx
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
testq %rcx, %rcx
movq 0x60(%rsp), %r9
jle 0x2ed17
movq %r8, %rdx
imulq 0x10(%rsp), %rdx
addq %r9, %rdx
xorl %esi, %esi
movsd (%rdx,%rsi,8), %xmm1
divsd (%rax,%rsi,8), %xmm1
movsd %xmm1, (%rdx,%rsi,8)
incq %rsi
cmpq %rsi, %rcx
jne 0x2ed00
movq %r8, %rsi
subq %rcx, %rsi
movq %rsi, %rdx
shrq $0x3f, %rdx
addq %rsi, %rdx
andq $-0x2, %rdx
addq %rcx, %rdx
cmpq $0x2, %rsi
jl 0x2ed5c
movq %r8, %rsi
imulq 0x10(%rsp), %rsi
addq %r9, %rsi
movupd (%rax,%rcx,8), %xmm1
movapd (%rsi,%rcx,8), %xmm2
divpd %xmm1, %xmm2
movapd %xmm2, (%rsi,%rcx,8)
addq $0x2, %rcx
cmpq %rdx, %rcx
jl 0x2ed40
cmpq %r8, %rdx
jge 0x2ed86
movq %r8, %rcx
imulq 0x10(%rsp), %rcx
addq %rcx, %r9
movsd (%r9,%rdx,8), %xmm1
divsd (%rax,%rdx,8), %xmm1
movsd %xmm1, (%r9,%rdx,8)
incq %rdx
cmpq %rdx, %r8
jne 0x2ed6d
movapd %xmm0, 0xe0(%rsp)
movapd %xmm0, 0xd0(%rsp)
movapd %xmm0, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xf0(%rsp)
cmpl $0x2, %edi
jl 0x2ef17
movq 0x8(%rbp), %r8
movq %r8, %r9
imulq 0x30(%rsp), %r9
shlq $0x3, %r9
addq (%rbp), %r9
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r10
movq 0x70(%rsp), %r15
movq %r15, %r11
imulq %r10, %r11
leaq (,%r10,8), %rbx
movq 0x58(%rsp), %rax
cmpq %r8, 0x40(%rsp)
jge 0x3278b
movq 0x30(%rsp), %rcx
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
testl %r14d, %r14d
jle 0x2eefb
movsd 0x8(%r9,%rax,8), %xmm1
movq 0x8(%rsp), %rsi
movq 0x28(%rsi), %r12
movq 0x58(%rsi), %r13
movq 0x38(%rsi), %rbp
addq %r11, %rbp
movq %r12, %rdx
imulq %r15, %rdx
addq 0x20(%rsi), %rdx
movq %r13, %rcx
imulq %r15, %rcx
addq 0x50(%rsi), %rcx
xorl %esi, %esi
cmpq %rsi, %r10
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x48(%rdi)
jle 0x3276c
cmpq $0xd, %rsi
je 0x32836
cmpq %rsi, %r12
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x30(%rdi)
jle 0x3276c
movsd (%rdx,%rsi,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%rsi,8), %xmm2
mulsd (%rbp,%rsi,8), %xmm2
movsd %xmm2, 0x90(%rsp,%rsi,8)
cmpq %rsi, %r13
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x60(%rdi)
jle 0x3276c
cmpq %rax, %r8
jle 0x3278b
movsd (%r9,%rax,8), %xmm3
mulsd (%rcx,%rsi,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r9,%rax,8)
incq %rsi
cmpq %rsi, %r14
jne 0x2ee5e
leaq -0x1(%rax), %rcx
subq %rbx, %r11
addq $-0x8, %r15
testq %rax, %rax
movq %rcx, %rax
movq 0x48(%rsp), %rbp
jg 0x2ee08
movq 0x30(%rsp), %rcx
incq %rcx
addq $0x8, 0x10(%rsp)
cmpq 0x18(%rsp), %rcx
movq 0x28(%rsp), %r13
jne 0x2eab5
jmp 0x2dc43
cmpl $0x0, 0x18(%rsp)
jle 0x2dc43
leal -0x2(%r13), %ecx
leaq 0x1(%rcx), %rax
movq %rax, 0x40(%rsp)
movq 0x18(%rsp), %rax
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0x18(%rsp)
movq %rcx, 0x58(%rsp)
leaq (,%rcx,8), %rax
movq %rax, 0x70(%rsp)
movq $0x0, 0x10(%rsp)
xorpd %xmm0, %xmm0
xorl %ecx, %ecx
movapd %xmm0, 0xd0(%rsp)
movapd %xmm0, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movq 0x68(%rsp), %rax
movq 0x8(%rax), %rdx
movq %rdx, 0x20(%rsp)
testq %rdx, %rdx
jle 0x3276c
cmpq %rcx, 0x10(%rax)
jle 0x3276c
movq 0x8(%rbp), %r8
testq %r8, %r8
jle 0x3278b
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
movq 0x20(%rsp), %rbx
imulq %rcx, %rbx
shlq $0x3, %rbx
movq 0x68(%rsp), %rax
addq (%rax), %rbx
movq %r8, %rax
movq %rcx, 0x30(%rsp)
imulq %rcx, %rax
movsd (%rbx), %xmm1
movq (%rbp), %rcx
leaq (%rcx,%rax,8), %r11
movq %rcx, 0x60(%rsp)
movsd %xmm1, (%rcx,%rax,8)
cmpl $0x2, %r13d
jl 0x2f154
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r15
leaq (,%r15,8), %rax
movq %rax, 0x50(%rsp)
movl $0x1, %r13d
xorl %ebp, %ebp
xorl %eax, %eax
cmpq 0x20(%rsp), %r13
je 0x3276c
cmpq %r8, %r13
je 0x3278b
movsd -0x8(%r11,%r13,8), %xmm1
movsd (%rbx,%r13,8), %xmm2
movsd %xmm2, (%r11,%r13,8)
testl %r14d, %r14d
jle 0x2f13d
movq 0x8(%rsp), %r9
movq 0x28(%r9), %r12
movq 0x58(%r9), %rdi
movq 0x38(%r9), %rcx
addq %rax, %rcx
movq %rdi, %rsi
imulq %rbp, %rsi
addq 0x50(%r9), %rsi
movq %r12, %rdx
imulq %rbp, %rdx
addq 0x20(%r9), %rdx
xorl %r10d, %r10d
cmpq %r10, %r15
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x48(%r9)
jl 0x3276c
cmpq $0xa, %r10
je 0x32850
cmpq %r10, %rdi
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x60(%r9)
jl 0x3276c
movsd (%rsi,%r10,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%r10,8), %xmm2
mulsd (%rcx,%r10,8), %xmm2
movsd %xmm2, 0x90(%rsp,%r10,8)
cmpq %r10, %r12
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x30(%r9)
jl 0x3276c
movsd (%r11,%r13,8), %xmm3
mulsd (%rdx,%r10,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r11,%r13,8)
incq %r10
cmpq %r10, %r14
jne 0x2f0a5
incq %r13
addq 0x50(%rsp), %rax
addq $0x8, %rbp
cmpq 0x28(%rsp), %r13
jne 0x2f048
movq 0x48(%rsp), %rbp
movq 0x30(%rsp), %rax
cmpq %rax, 0x10(%rbp)
jle 0x32aec
movq 0x8(%rsp), %rax
cmpq 0x70(%rax), %r8
movq 0x28(%rsp), %rdi
jne 0x32b3a
movq %r8, %rcx
testb $0x7, %r11b
jne 0x2f197
shrl $0x3, %r11d
andl $0x1, %r11d
cmpq %r8, %r11
cmovgeq %r8, %r11
movq %r11, %rcx
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
testq %rcx, %rcx
movq 0x60(%rsp), %r9
jle 0x2f1cf
movq %r8, %rdx
imulq 0x10(%rsp), %rdx
addq %r9, %rdx
xorl %esi, %esi
movsd (%rdx,%rsi,8), %xmm1
divsd (%rax,%rsi,8), %xmm1
movsd %xmm1, (%rdx,%rsi,8)
incq %rsi
cmpq %rsi, %rcx
jne 0x2f1b8
movq %r8, %rsi
subq %rcx, %rsi
movq %rsi, %rdx
shrq $0x3f, %rdx
addq %rsi, %rdx
andq $-0x2, %rdx
addq %rcx, %rdx
cmpq $0x2, %rsi
jl 0x2f214
movq %r8, %rsi
imulq 0x10(%rsp), %rsi
addq %r9, %rsi
movupd (%rax,%rcx,8), %xmm1
movapd (%rsi,%rcx,8), %xmm2
divpd %xmm1, %xmm2
movapd %xmm2, (%rsi,%rcx,8)
addq $0x2, %rcx
cmpq %rdx, %rcx
jl 0x2f1f8
cmpq %r8, %rdx
jge 0x2f23e
movq %r8, %rcx
imulq 0x10(%rsp), %rcx
addq %rcx, %r9
movsd (%r9,%rdx,8), %xmm1
divsd (%rax,%rdx,8), %xmm1
movsd %xmm1, (%r9,%rdx,8)
incq %rdx
cmpq %rdx, %r8
jne 0x2f225
movapd %xmm0, 0xd0(%rsp)
movapd %xmm0, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
cmpl $0x2, %edi
jl 0x2f3ba
movq 0x8(%rbp), %r8
movq %r8, %r9
imulq 0x30(%rsp), %r9
shlq $0x3, %r9
addq (%rbp), %r9
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r10
movq 0x70(%rsp), %r15
movq %r15, %r11
imulq %r10, %r11
leaq (,%r10,8), %rbx
movq 0x58(%rsp), %rax
cmpq %r8, 0x40(%rsp)
jge 0x3278b
movq 0x30(%rsp), %rcx
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
testl %r14d, %r14d
jle 0x2f39e
movsd 0x8(%r9,%rax,8), %xmm1
movq 0x8(%rsp), %rsi
movq 0x28(%rsi), %r12
movq 0x58(%rsi), %r13
movq 0x38(%rsi), %rbp
addq %r11, %rbp
movq %r12, %rdx
imulq %r15, %rdx
addq 0x20(%rsi), %rdx
movq %r13, %rcx
imulq %r15, %rcx
addq 0x50(%rsi), %rcx
xorl %esi, %esi
cmpq %rsi, %r10
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x48(%rdi)
jle 0x3276c
cmpq $0xa, %rsi
je 0x32850
cmpq %rsi, %r12
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x30(%rdi)
jle 0x3276c
movsd (%rdx,%rsi,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%rsi,8), %xmm2
mulsd (%rbp,%rsi,8), %xmm2
movsd %xmm2, 0x90(%rsp,%rsi,8)
cmpq %rsi, %r13
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x60(%rdi)
jle 0x3276c
cmpq %rax, %r8
jle 0x3278b
movsd (%r9,%rax,8), %xmm3
mulsd (%rcx,%rsi,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r9,%rax,8)
incq %rsi
cmpq %rsi, %r14
jne 0x2f301
leaq -0x1(%rax), %rcx
subq %rbx, %r11
addq $-0x8, %r15
testq %rax, %rax
movq %rcx, %rax
movq 0x48(%rsp), %rbp
jg 0x2f2ab
movq 0x30(%rsp), %rcx
incq %rcx
addq $0x8, 0x10(%rsp)
cmpq 0x18(%rsp), %rcx
movq 0x28(%rsp), %r13
jne 0x2ef82
jmp 0x2dc43
cmpl $0x0, 0x18(%rsp)
jle 0x2dc43
leal -0x2(%r13), %ecx
leaq 0x1(%rcx), %rax
movq %rax, 0x40(%rsp)
movq 0x18(%rsp), %rax
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0x18(%rsp)
movq %rcx, 0x58(%rsp)
leaq (,%rcx,8), %rax
movq %rax, 0x70(%rsp)
movq $0x0, 0x10(%rsp)
xorpd %xmm0, %xmm0
xorl %ecx, %ecx
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xa0(%rsp)
movq 0x68(%rsp), %rax
movq 0x8(%rax), %rdx
movq %rdx, 0x20(%rsp)
testq %rdx, %rdx
jle 0x3276c
cmpq %rcx, 0x10(%rax)
jle 0x3276c
movq 0x8(%rbp), %r8
testq %r8, %r8
jle 0x3278b
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
movq 0x20(%rsp), %rbx
imulq %rcx, %rbx
shlq $0x3, %rbx
movq 0x68(%rsp), %rax
addq (%rax), %rbx
movq %r8, %rax
movq %rcx, 0x30(%rsp)
imulq %rcx, %rax
movsd (%rbx), %xmm1
movq (%rbp), %rcx
leaq (%rcx,%rax,8), %r11
movq %rcx, 0x60(%rsp)
movsd %xmm1, (%rcx,%rax,8)
cmpl $0x2, %r13d
jl 0x2f5df
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r15
leaq (,%r15,8), %rax
movq %rax, 0x50(%rsp)
movl $0x1, %r13d
xorl %ebp, %ebp
xorl %eax, %eax
cmpq 0x20(%rsp), %r13
je 0x3276c
cmpq %r8, %r13
je 0x3278b
movsd -0x8(%r11,%r13,8), %xmm1
movsd (%rbx,%r13,8), %xmm2
movsd %xmm2, (%r11,%r13,8)
testl %r14d, %r14d
jle 0x2f5c8
movq 0x8(%rsp), %r9
movq 0x28(%r9), %r12
movq 0x58(%r9), %rdi
movq 0x38(%r9), %rcx
addq %rax, %rcx
movq %rdi, %rsi
imulq %rbp, %rsi
addq 0x50(%r9), %rsi
movq %r12, %rdx
imulq %rbp, %rdx
addq 0x20(%r9), %rdx
xorl %r10d, %r10d
cmpq %r10, %r15
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x48(%r9)
jl 0x3276c
cmpq $0x3, %r10
je 0x3286a
cmpq %r10, %rdi
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x60(%r9)
jl 0x3276c
movsd (%rsi,%r10,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%r10,8), %xmm2
mulsd (%rcx,%r10,8), %xmm2
movsd %xmm2, 0x90(%rsp,%r10,8)
cmpq %r10, %r12
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x30(%r9)
jl 0x3276c
movsd (%r11,%r13,8), %xmm3
mulsd (%rdx,%r10,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r11,%r13,8)
incq %r10
cmpq %r10, %r14
jne 0x2f530
incq %r13
addq 0x50(%rsp), %rax
addq $0x8, %rbp
cmpq 0x28(%rsp), %r13
jne 0x2f4d3
movq 0x48(%rsp), %rbp
movq 0x30(%rsp), %rax
cmpq %rax, 0x10(%rbp)
jle 0x32aec
movq 0x8(%rsp), %rax
cmpq 0x70(%rax), %r8
movq 0x28(%rsp), %rdi
jne 0x32b3a
movq %r8, %rcx
testb $0x7, %r11b
jne 0x2f622
shrl $0x3, %r11d
andl $0x1, %r11d
cmpq %r8, %r11
cmovgeq %r8, %r11
movq %r11, %rcx
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
testq %rcx, %rcx
movq 0x60(%rsp), %r9
jle 0x2f65a
movq %r8, %rdx
imulq 0x10(%rsp), %rdx
addq %r9, %rdx
xorl %esi, %esi
movsd (%rdx,%rsi,8), %xmm1
divsd (%rax,%rsi,8), %xmm1
movsd %xmm1, (%rdx,%rsi,8)
incq %rsi
cmpq %rsi, %rcx
jne 0x2f643
movq %r8, %rsi
subq %rcx, %rsi
movq %rsi, %rdx
shrq $0x3f, %rdx
addq %rsi, %rdx
andq $-0x2, %rdx
addq %rcx, %rdx
cmpq $0x2, %rsi
jl 0x2f69f
movq %r8, %rsi
imulq 0x10(%rsp), %rsi
addq %r9, %rsi
movupd (%rax,%rcx,8), %xmm1
movapd (%rsi,%rcx,8), %xmm2
divpd %xmm1, %xmm2
movapd %xmm2, (%rsi,%rcx,8)
addq $0x2, %rcx
cmpq %rdx, %rcx
jl 0x2f683
cmpq %r8, %rdx
jge 0x2f6c9
movq %r8, %rcx
imulq 0x10(%rsp), %rcx
addq %rcx, %r9
movsd (%r9,%rdx,8), %xmm1
divsd (%rax,%rdx,8), %xmm1
movsd %xmm1, (%r9,%rdx,8)
incq %rdx
cmpq %rdx, %r8
jne 0x2f6b0
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xa0(%rsp)
cmpl $0x2, %edi
jl 0x2f82d
movq 0x8(%rbp), %r8
movq %r8, %r9
imulq 0x30(%rsp), %r9
shlq $0x3, %r9
addq (%rbp), %r9
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r10
movq 0x70(%rsp), %r15
movq %r15, %r11
imulq %r10, %r11
leaq (,%r10,8), %rbx
movq 0x58(%rsp), %rax
cmpq %r8, 0x40(%rsp)
jge 0x3278b
movq 0x30(%rsp), %rcx
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
testl %r14d, %r14d
jle 0x2f811
movsd 0x8(%r9,%rax,8), %xmm1
movq 0x8(%rsp), %rsi
movq 0x28(%rsi), %r12
movq 0x58(%rsi), %r13
movq 0x38(%rsi), %rbp
addq %r11, %rbp
movq %r12, %rdx
imulq %r15, %rdx
addq 0x20(%rsi), %rdx
movq %r13, %rcx
imulq %r15, %rcx
addq 0x50(%rsi), %rcx
xorl %esi, %esi
cmpq %rsi, %r10
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x48(%rdi)
jle 0x3276c
cmpq $0x3, %rsi
je 0x3286a
cmpq %rsi, %r12
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x30(%rdi)
jle 0x3276c
movsd (%rdx,%rsi,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%rsi,8), %xmm2
mulsd (%rbp,%rsi,8), %xmm2
movsd %xmm2, 0x90(%rsp,%rsi,8)
cmpq %rsi, %r13
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x60(%rdi)
jle 0x3276c
cmpq %rax, %r8
jle 0x3278b
movsd (%r9,%rax,8), %xmm3
mulsd (%rcx,%rsi,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r9,%rax,8)
incq %rsi
cmpq %rsi, %r14
jne 0x2f774
leaq -0x1(%rax), %rcx
subq %rbx, %r11
addq $-0x8, %r15
testq %rax, %rax
movq %rcx, %rax
movq 0x48(%rsp), %rbp
jg 0x2f71e
movq 0x30(%rsp), %rcx
incq %rcx
addq $0x8, 0x10(%rsp)
cmpq 0x18(%rsp), %rcx
movq 0x28(%rsp), %r13
jne 0x2f425
jmp 0x2dc43
cmpl $0x0, 0x18(%rsp)
jle 0x2dc43
leal -0x2(%r13), %ecx
leaq 0x1(%rcx), %rax
movq %rax, 0x40(%rsp)
movq 0x18(%rsp), %rax
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0x18(%rsp)
movq %rcx, 0x58(%rsp)
leaq (,%rcx,8), %rax
movq %rax, 0x70(%rsp)
movq $0x0, 0x10(%rsp)
xorpd %xmm0, %xmm0
xorl %ecx, %ecx
movapd %xmm0, 0x100(%rsp)
movapd %xmm0, 0xf0(%rsp)
movapd %xmm0, 0xe0(%rsp)
movapd %xmm0, 0xd0(%rsp)
movapd %xmm0, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movq 0x68(%rsp), %rax
movq 0x8(%rax), %rdx
movq %rdx, 0x20(%rsp)
testq %rdx, %rdx
jle 0x3276c
cmpq %rcx, 0x10(%rax)
jle 0x3276c
movq 0x8(%rbp), %r8
testq %r8, %r8
jle 0x3278b
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
movq 0x20(%rsp), %rbx
imulq %rcx, %rbx
shlq $0x3, %rbx
movq 0x68(%rsp), %rax
addq (%rax), %rbx
movq %r8, %rax
movq %rcx, 0x30(%rsp)
imulq %rcx, %rax
movsd (%rbx), %xmm1
movq (%rbp), %rcx
leaq (%rcx,%rax,8), %r11
movq %rcx, 0x60(%rsp)
movsd %xmm1, (%rcx,%rax,8)
cmpl $0x2, %r13d
jl 0x2fa85
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r15
leaq (,%r15,8), %rax
movq %rax, 0x50(%rsp)
movl $0x1, %r13d
xorl %ebp, %ebp
xorl %eax, %eax
cmpq 0x20(%rsp), %r13
je 0x3276c
cmpq %r8, %r13
je 0x3278b
movsd -0x8(%r11,%r13,8), %xmm1
movsd (%rbx,%r13,8), %xmm2
movsd %xmm2, (%r11,%r13,8)
testl %r14d, %r14d
jle 0x2fa6e
movq 0x8(%rsp), %r9
movq 0x28(%r9), %r12
movq 0x58(%r9), %rdi
movq 0x38(%r9), %rcx
addq %rax, %rcx
movq %rdi, %rsi
imulq %rbp, %rsi
addq 0x50(%r9), %rsi
movq %r12, %rdx
imulq %rbp, %rdx
addq 0x20(%r9), %rdx
xorl %r10d, %r10d
cmpq %r10, %r15
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x48(%r9)
jl 0x3276c
cmpq $0x10, %r10
je 0x32884
cmpq %r10, %rdi
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x60(%r9)
jl 0x3276c
movsd (%rsi,%r10,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%r10,8), %xmm2
mulsd (%rcx,%r10,8), %xmm2
movsd %xmm2, 0x90(%rsp,%r10,8)
cmpq %r10, %r12
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x30(%r9)
jl 0x3276c
movsd (%r11,%r13,8), %xmm3
mulsd (%rdx,%r10,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r11,%r13,8)
incq %r10
cmpq %r10, %r14
jne 0x2f9d6
incq %r13
addq 0x50(%rsp), %rax
addq $0x8, %rbp
cmpq 0x28(%rsp), %r13
jne 0x2f979
movq 0x48(%rsp), %rbp
movq 0x30(%rsp), %rax
cmpq %rax, 0x10(%rbp)
jle 0x32aec
movq 0x8(%rsp), %rax
cmpq 0x70(%rax), %r8
movq 0x28(%rsp), %rdi
jne 0x32b3a
movq %r8, %rcx
testb $0x7, %r11b
jne 0x2fac8
shrl $0x3, %r11d
andl $0x1, %r11d
cmpq %r8, %r11
cmovgeq %r8, %r11
movq %r11, %rcx
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
testq %rcx, %rcx
movq 0x60(%rsp), %r9
jle 0x2fb00
movq %r8, %rdx
imulq 0x10(%rsp), %rdx
addq %r9, %rdx
xorl %esi, %esi
movsd (%rdx,%rsi,8), %xmm1
divsd (%rax,%rsi,8), %xmm1
movsd %xmm1, (%rdx,%rsi,8)
incq %rsi
cmpq %rsi, %rcx
jne 0x2fae9
movq %r8, %rsi
subq %rcx, %rsi
movq %rsi, %rdx
shrq $0x3f, %rdx
addq %rsi, %rdx
andq $-0x2, %rdx
addq %rcx, %rdx
cmpq $0x2, %rsi
jl 0x2fb45
movq %r8, %rsi
imulq 0x10(%rsp), %rsi
addq %r9, %rsi
movupd (%rax,%rcx,8), %xmm1
movapd (%rsi,%rcx,8), %xmm2
divpd %xmm1, %xmm2
movapd %xmm2, (%rsi,%rcx,8)
addq $0x2, %rcx
cmpq %rdx, %rcx
jl 0x2fb29
cmpq %r8, %rdx
jge 0x2fb6f
movq %r8, %rcx
imulq 0x10(%rsp), %rcx
addq %rcx, %r9
movsd (%r9,%rdx,8), %xmm1
divsd (%rax,%rdx,8), %xmm1
movsd %xmm1, (%r9,%rdx,8)
incq %rdx
cmpq %rdx, %r8
jne 0x2fb56
movapd %xmm0, 0x100(%rsp)
movapd %xmm0, 0xf0(%rsp)
movapd %xmm0, 0xe0(%rsp)
movapd %xmm0, 0xd0(%rsp)
movapd %xmm0, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
cmpl $0x2, %edi
jl 0x2fd06
movq 0x8(%rbp), %r8
movq %r8, %r9
imulq 0x30(%rsp), %r9
shlq $0x3, %r9
addq (%rbp), %r9
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r10
movq 0x70(%rsp), %r15
movq %r15, %r11
imulq %r10, %r11
leaq (,%r10,8), %rbx
movq 0x58(%rsp), %rax
cmpq %r8, 0x40(%rsp)
jge 0x3278b
movq 0x30(%rsp), %rcx
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
testl %r14d, %r14d
jle 0x2fcea
movsd 0x8(%r9,%rax,8), %xmm1
movq 0x8(%rsp), %rsi
movq 0x28(%rsi), %r12
movq 0x58(%rsi), %r13
movq 0x38(%rsi), %rbp
addq %r11, %rbp
movq %r12, %rdx
imulq %r15, %rdx
addq 0x20(%rsi), %rdx
movq %r13, %rcx
imulq %r15, %rcx
addq 0x50(%rsi), %rcx
xorl %esi, %esi
cmpq %rsi, %r10
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x48(%rdi)
jle 0x3276c
cmpq $0x10, %rsi
je 0x32884
cmpq %rsi, %r12
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x30(%rdi)
jle 0x3276c
movsd (%rdx,%rsi,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%rsi,8), %xmm2
mulsd (%rbp,%rsi,8), %xmm2
movsd %xmm2, 0x90(%rsp,%rsi,8)
cmpq %rsi, %r13
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x60(%rdi)
jle 0x3276c
cmpq %rax, %r8
jle 0x3278b
movsd (%r9,%rax,8), %xmm3
mulsd (%rcx,%rsi,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r9,%rax,8)
incq %rsi
cmpq %rsi, %r14
jne 0x2fc4d
leaq -0x1(%rax), %rcx
subq %rbx, %r11
addq $-0x8, %r15
testq %rax, %rax
movq %rcx, %rax
movq 0x48(%rsp), %rbp
jg 0x2fbf7
movq 0x30(%rsp), %rcx
incq %rcx
addq $0x8, 0x10(%rsp)
cmpq 0x18(%rsp), %rcx
movq 0x28(%rsp), %r13
jne 0x2f898
jmp 0x2dc43
cmpl $0x0, 0x18(%rsp)
jle 0x2dc43
leal -0x2(%r13), %ecx
leaq 0x1(%rcx), %rax
movq %rax, 0x40(%rsp)
movq 0x18(%rsp), %rax
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0x18(%rsp)
movq %rcx, 0x58(%rsp)
leaq (,%rcx,8), %rax
movq %rax, 0x70(%rsp)
movq $0x0, 0x10(%rsp)
xorpd %xmm0, %xmm0
xorl %ecx, %ecx
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movq 0x68(%rsp), %rax
movq 0x8(%rax), %rdx
movq %rdx, 0x20(%rsp)
testq %rdx, %rdx
jle 0x3276c
cmpq %rcx, 0x10(%rax)
jle 0x3276c
movq 0x8(%rbp), %r8
testq %r8, %r8
jle 0x3278b
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
movq 0x20(%rsp), %rbx
imulq %rcx, %rbx
shlq $0x3, %rbx
movq 0x68(%rsp), %rax
addq (%rax), %rbx
movq %r8, %rax
movq %rcx, 0x30(%rsp)
imulq %rcx, %rax
movsd (%rbx), %xmm1
movq (%rbp), %rcx
leaq (%rcx,%rax,8), %r11
movq %rcx, 0x60(%rsp)
movsd %xmm1, (%rcx,%rax,8)
cmpl $0x2, %r13d
jl 0x2ff28
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r15
leaq (,%r15,8), %rax
movq %rax, 0x50(%rsp)
movl $0x1, %r13d
xorl %ebp, %ebp
xorl %eax, %eax
cmpq 0x20(%rsp), %r13
je 0x3276c
cmpq %r8, %r13
je 0x3278b
movsd -0x8(%r11,%r13,8), %xmm1
movsd (%rbx,%r13,8), %xmm2
movsd %xmm2, (%r11,%r13,8)
testl %r14d, %r14d
jle 0x2ff11
movq 0x8(%rsp), %r9
movq 0x28(%r9), %r12
movq 0x58(%r9), %rdi
movq 0x38(%r9), %rcx
addq %rax, %rcx
movq %rdi, %rsi
imulq %rbp, %rsi
addq 0x50(%r9), %rsi
movq %r12, %rdx
imulq %rbp, %rdx
addq 0x20(%r9), %rdx
xorl %r10d, %r10d
cmpq %r10, %r15
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x48(%r9)
jl 0x3276c
cmpq $0x4, %r10
je 0x3289e
cmpq %r10, %rdi
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x60(%r9)
jl 0x3276c
movsd (%rsi,%r10,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%r10,8), %xmm2
mulsd (%rcx,%r10,8), %xmm2
movsd %xmm2, 0x90(%rsp,%r10,8)
cmpq %r10, %r12
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x30(%r9)
jl 0x3276c
movsd (%r11,%r13,8), %xmm3
mulsd (%rdx,%r10,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r11,%r13,8)
incq %r10
cmpq %r10, %r14
jne 0x2fe79
incq %r13
addq 0x50(%rsp), %rax
addq $0x8, %rbp
cmpq 0x28(%rsp), %r13
jne 0x2fe1c
movq 0x48(%rsp), %rbp
movq 0x30(%rsp), %rax
cmpq %rax, 0x10(%rbp)
jle 0x32aec
movq 0x8(%rsp), %rax
cmpq 0x70(%rax), %r8
movq 0x28(%rsp), %rdi
jne 0x32b3a
movq %r8, %rcx
testb $0x7, %r11b
jne 0x2ff6b
shrl $0x3, %r11d
andl $0x1, %r11d
cmpq %r8, %r11
cmovgeq %r8, %r11
movq %r11, %rcx
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
testq %rcx, %rcx
movq 0x60(%rsp), %r9
jle 0x2ffa3
movq %r8, %rdx
imulq 0x10(%rsp), %rdx
addq %r9, %rdx
xorl %esi, %esi
movsd (%rdx,%rsi,8), %xmm1
divsd (%rax,%rsi,8), %xmm1
movsd %xmm1, (%rdx,%rsi,8)
incq %rsi
cmpq %rsi, %rcx
jne 0x2ff8c
movq %r8, %rsi
subq %rcx, %rsi
movq %rsi, %rdx
shrq $0x3f, %rdx
addq %rsi, %rdx
andq $-0x2, %rdx
addq %rcx, %rdx
cmpq $0x2, %rsi
jl 0x2ffe8
movq %r8, %rsi
imulq 0x10(%rsp), %rsi
addq %r9, %rsi
movupd (%rax,%rcx,8), %xmm1
movapd (%rsi,%rcx,8), %xmm2
divpd %xmm1, %xmm2
movapd %xmm2, (%rsi,%rcx,8)
addq $0x2, %rcx
cmpq %rdx, %rcx
jl 0x2ffcc
cmpq %r8, %rdx
jge 0x30012
movq %r8, %rcx
imulq 0x10(%rsp), %rcx
addq %rcx, %r9
movsd (%r9,%rdx,8), %xmm1
divsd (%rax,%rdx,8), %xmm1
movsd %xmm1, (%r9,%rdx,8)
incq %rdx
cmpq %rdx, %r8
jne 0x2fff9
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
cmpl $0x2, %edi
jl 0x30173
movq 0x8(%rbp), %r8
movq %r8, %r9
imulq 0x30(%rsp), %r9
shlq $0x3, %r9
addq (%rbp), %r9
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r10
movq 0x70(%rsp), %r15
movq %r15, %r11
imulq %r10, %r11
leaq (,%r10,8), %rbx
movq 0x58(%rsp), %rax
cmpq %r8, 0x40(%rsp)
jge 0x3278b
movq 0x30(%rsp), %rcx
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
testl %r14d, %r14d
jle 0x30157
movsd 0x8(%r9,%rax,8), %xmm1
movq 0x8(%rsp), %rsi
movq 0x28(%rsi), %r12
movq 0x58(%rsi), %r13
movq 0x38(%rsi), %rbp
addq %r11, %rbp
movq %r12, %rdx
imulq %r15, %rdx
addq 0x20(%rsi), %rdx
movq %r13, %rcx
imulq %r15, %rcx
addq 0x50(%rsi), %rcx
xorl %esi, %esi
cmpq %rsi, %r10
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x48(%rdi)
jle 0x3276c
cmpq $0x4, %rsi
je 0x3289e
cmpq %rsi, %r12
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x30(%rdi)
jle 0x3276c
movsd (%rdx,%rsi,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%rsi,8), %xmm2
mulsd (%rbp,%rsi,8), %xmm2
movsd %xmm2, 0x90(%rsp,%rsi,8)
cmpq %rsi, %r13
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x60(%rdi)
jle 0x3276c
cmpq %rax, %r8
jle 0x3278b
movsd (%r9,%rax,8), %xmm3
mulsd (%rcx,%rsi,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r9,%rax,8)
incq %rsi
cmpq %rsi, %r14
jne 0x300ba
leaq -0x1(%rax), %rcx
subq %rbx, %r11
addq $-0x8, %r15
testq %rax, %rax
movq %rcx, %rax
movq 0x48(%rsp), %rbp
jg 0x30064
movq 0x30(%rsp), %rcx
incq %rcx
addq $0x8, 0x10(%rsp)
cmpq 0x18(%rsp), %rcx
movq 0x28(%rsp), %r13
jne 0x2fd71
jmp 0x2dc43
cmpl $0x0, 0x18(%rsp)
jle 0x2dc43
leal -0x2(%r13), %ecx
leaq 0x1(%rcx), %rax
movq %rax, 0x40(%rsp)
movq 0x18(%rsp), %rax
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0x18(%rsp)
movq %rcx, 0x58(%rsp)
leaq (,%rcx,8), %rax
movq %rax, 0x70(%rsp)
movq $0x0, 0x10(%rsp)
xorpd %xmm0, %xmm0
xorl %ecx, %ecx
movapd %xmm0, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movq 0x68(%rsp), %rax
movq 0x8(%rax), %rdx
movq %rdx, 0x20(%rsp)
testq %rdx, %rdx
jle 0x3276c
cmpq %rcx, 0x10(%rax)
jle 0x3276c
movq 0x8(%rbp), %r8
testq %r8, %r8
jle 0x3278b
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
movq 0x20(%rsp), %rbx
imulq %rcx, %rbx
shlq $0x3, %rbx
movq 0x68(%rsp), %rax
addq (%rax), %rbx
movq %r8, %rax
movq %rcx, 0x30(%rsp)
imulq %rcx, %rax
movsd (%rbx), %xmm1
movq (%rbp), %rcx
leaq (%rcx,%rax,8), %r11
movq %rcx, 0x60(%rsp)
movsd %xmm1, (%rcx,%rax,8)
cmpl $0x2, %r13d
jl 0x303a7
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r15
leaq (,%r15,8), %rax
movq %rax, 0x50(%rsp)
movl $0x1, %r13d
xorl %ebp, %ebp
xorl %eax, %eax
cmpq 0x20(%rsp), %r13
je 0x3276c
cmpq %r8, %r13
je 0x3278b
movsd -0x8(%r11,%r13,8), %xmm1
movsd (%rbx,%r13,8), %xmm2
movsd %xmm2, (%r11,%r13,8)
testl %r14d, %r14d
jle 0x30390
movq 0x8(%rsp), %r9
movq 0x28(%r9), %r12
movq 0x58(%r9), %rdi
movq 0x38(%r9), %rcx
addq %rax, %rcx
movq %rdi, %rsi
imulq %rbp, %rsi
addq 0x50(%r9), %rsi
movq %r12, %rdx
imulq %rbp, %rdx
addq 0x20(%r9), %rdx
xorl %r10d, %r10d
cmpq %r10, %r15
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x48(%r9)
jl 0x3276c
cmpq $0x8, %r10
je 0x328b8
cmpq %r10, %rdi
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x60(%r9)
jl 0x3276c
movsd (%rsi,%r10,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%r10,8), %xmm2
mulsd (%rcx,%r10,8), %xmm2
movsd %xmm2, 0x90(%rsp,%r10,8)
cmpq %r10, %r12
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x30(%r9)
jl 0x3276c
movsd (%r11,%r13,8), %xmm3
mulsd (%rdx,%r10,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r11,%r13,8)
incq %r10
cmpq %r10, %r14
jne 0x302f8
incq %r13
addq 0x50(%rsp), %rax
addq $0x8, %rbp
cmpq 0x28(%rsp), %r13
jne 0x3029b
movq 0x48(%rsp), %rbp
movq 0x30(%rsp), %rax
cmpq %rax, 0x10(%rbp)
jle 0x32aec
movq 0x8(%rsp), %rax
cmpq 0x70(%rax), %r8
movq 0x28(%rsp), %rdi
jne 0x32b3a
movq %r8, %rcx
testb $0x7, %r11b
jne 0x303ea
shrl $0x3, %r11d
andl $0x1, %r11d
cmpq %r8, %r11
cmovgeq %r8, %r11
movq %r11, %rcx
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
testq %rcx, %rcx
movq 0x60(%rsp), %r9
jle 0x30422
movq %r8, %rdx
imulq 0x10(%rsp), %rdx
addq %r9, %rdx
xorl %esi, %esi
movsd (%rdx,%rsi,8), %xmm1
divsd (%rax,%rsi,8), %xmm1
movsd %xmm1, (%rdx,%rsi,8)
incq %rsi
cmpq %rsi, %rcx
jne 0x3040b
movq %r8, %rsi
subq %rcx, %rsi
movq %rsi, %rdx
shrq $0x3f, %rdx
addq %rsi, %rdx
andq $-0x2, %rdx
addq %rcx, %rdx
cmpq $0x2, %rsi
jl 0x30467
movq %r8, %rsi
imulq 0x10(%rsp), %rsi
addq %r9, %rsi
movupd (%rax,%rcx,8), %xmm1
movapd (%rsi,%rcx,8), %xmm2
divpd %xmm1, %xmm2
movapd %xmm2, (%rsi,%rcx,8)
addq $0x2, %rcx
cmpq %rdx, %rcx
jl 0x3044b
cmpq %r8, %rdx
jge 0x30491
movq %r8, %rcx
imulq 0x10(%rsp), %rcx
addq %rcx, %r9
movsd (%r9,%rdx,8), %xmm1
divsd (%rax,%rdx,8), %xmm1
movsd %xmm1, (%r9,%rdx,8)
incq %rdx
cmpq %rdx, %r8
jne 0x30478
movapd %xmm0, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
cmpl $0x2, %edi
jl 0x30604
movq 0x8(%rbp), %r8
movq %r8, %r9
imulq 0x30(%rsp), %r9
shlq $0x3, %r9
addq (%rbp), %r9
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r10
movq 0x70(%rsp), %r15
movq %r15, %r11
imulq %r10, %r11
leaq (,%r10,8), %rbx
movq 0x58(%rsp), %rax
cmpq %r8, 0x40(%rsp)
jge 0x3278b
movq 0x30(%rsp), %rcx
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
testl %r14d, %r14d
jle 0x305e8
movsd 0x8(%r9,%rax,8), %xmm1
movq 0x8(%rsp), %rsi
movq 0x28(%rsi), %r12
movq 0x58(%rsi), %r13
movq 0x38(%rsi), %rbp
addq %r11, %rbp
movq %r12, %rdx
imulq %r15, %rdx
addq 0x20(%rsi), %rdx
movq %r13, %rcx
imulq %r15, %rcx
addq 0x50(%rsi), %rcx
xorl %esi, %esi
cmpq %rsi, %r10
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x48(%rdi)
jle 0x3276c
cmpq $0x8, %rsi
je 0x328b8
cmpq %rsi, %r12
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x30(%rdi)
jle 0x3276c
movsd (%rdx,%rsi,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%rsi,8), %xmm2
mulsd (%rbp,%rsi,8), %xmm2
movsd %xmm2, 0x90(%rsp,%rsi,8)
cmpq %rsi, %r13
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x60(%rdi)
jle 0x3276c
cmpq %rax, %r8
jle 0x3278b
movsd (%r9,%rax,8), %xmm3
mulsd (%rcx,%rsi,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r9,%rax,8)
incq %rsi
cmpq %rsi, %r14
jne 0x3054b
leaq -0x1(%rax), %rcx
subq %rbx, %r11
addq $-0x8, %r15
testq %rax, %rax
movq %rcx, %rax
movq 0x48(%rsp), %rbp
jg 0x304f5
movq 0x30(%rsp), %rcx
incq %rcx
addq $0x8, 0x10(%rsp)
cmpq 0x18(%rsp), %rcx
movq 0x28(%rsp), %r13
jne 0x301de
jmp 0x2dc43
cmpl $0x0, 0x18(%rsp)
jle 0x2dc43
leal -0x2(%r13), %ecx
leaq 0x1(%rcx), %rax
movq %rax, 0x40(%rsp)
movq 0x18(%rsp), %rax
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0x18(%rsp)
movq %rcx, 0x58(%rsp)
leaq (,%rcx,8), %rax
movq %rax, 0x70(%rsp)
movq $0x0, 0x10(%rsp)
xorpd %xmm0, %xmm0
xorl %ecx, %ecx
movapd %xmm0, 0x90(%rsp)
movq 0x68(%rsp), %rax
movq 0x8(%rax), %rdx
movq %rdx, 0x20(%rsp)
testq %rdx, %rdx
jle 0x3276c
cmpq %rcx, 0x10(%rax)
jle 0x3276c
movq 0x8(%rbp), %r8
testq %r8, %r8
jle 0x3278b
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
movq 0x20(%rsp), %rbx
imulq %rcx, %rbx
shlq $0x3, %rbx
movq 0x68(%rsp), %rax
addq (%rax), %rbx
movq %r8, %rax
movq %rcx, 0x30(%rsp)
imulq %rcx, %rax
movsd (%rbx), %xmm1
movq (%rbp), %rcx
leaq (%rcx,%rax,8), %r11
movq %rcx, 0x60(%rsp)
movsd %xmm1, (%rcx,%rax,8)
cmpl $0x2, %r13d
jl 0x3081d
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r15
leaq (,%r15,8), %rax
movq %rax, 0x50(%rsp)
movl $0x1, %r13d
xorl %ebp, %ebp
xorl %eax, %eax
cmpq 0x20(%rsp), %r13
je 0x3276c
cmpq %r8, %r13
je 0x3278b
movsd -0x8(%r11,%r13,8), %xmm1
movsd (%rbx,%r13,8), %xmm2
movsd %xmm2, (%r11,%r13,8)
testl %r14d, %r14d
jle 0x30806
movq 0x8(%rsp), %r9
movq 0x28(%r9), %r12
movq 0x58(%r9), %rdi
movq 0x38(%r9), %rcx
addq %rax, %rcx
movq %rdi, %rsi
imulq %rbp, %rsi
addq 0x50(%r9), %rsi
movq %r12, %rdx
imulq %rbp, %rdx
addq 0x20(%r9), %rdx
xorl %r10d, %r10d
cmpq %r10, %r15
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x48(%r9)
jl 0x3276c
cmpq $0x2, %r10
je 0x328d2
cmpq %r10, %rdi
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x60(%r9)
jl 0x3276c
movsd (%rsi,%r10,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%r10,8), %xmm2
mulsd (%rcx,%r10,8), %xmm2
movsd %xmm2, 0x90(%rsp,%r10,8)
cmpq %r10, %r12
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x30(%r9)
jl 0x3276c
movsd (%r11,%r13,8), %xmm3
mulsd (%rdx,%r10,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r11,%r13,8)
incq %r10
cmpq %r10, %r14
jne 0x3076e
incq %r13
addq 0x50(%rsp), %rax
addq $0x8, %rbp
cmpq 0x28(%rsp), %r13
jne 0x30711
movq 0x48(%rsp), %rbp
movq 0x30(%rsp), %rax
cmpq %rax, 0x10(%rbp)
jle 0x32aec
movq 0x8(%rsp), %rax
cmpq 0x70(%rax), %r8
movq 0x28(%rsp), %rdi
jne 0x32b3a
movq %r8, %rcx
testb $0x7, %r11b
jne 0x30860
shrl $0x3, %r11d
andl $0x1, %r11d
cmpq %r8, %r11
cmovgeq %r8, %r11
movq %r11, %rcx
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
testq %rcx, %rcx
movq 0x60(%rsp), %r9
jle 0x30898
movq %r8, %rdx
imulq 0x10(%rsp), %rdx
addq %r9, %rdx
xorl %esi, %esi
movsd (%rdx,%rsi,8), %xmm1
divsd (%rax,%rsi,8), %xmm1
movsd %xmm1, (%rdx,%rsi,8)
incq %rsi
cmpq %rsi, %rcx
jne 0x30881
movq %r8, %rsi
subq %rcx, %rsi
movq %rsi, %rdx
shrq $0x3f, %rdx
addq %rsi, %rdx
andq $-0x2, %rdx
addq %rcx, %rdx
cmpq $0x2, %rsi
jl 0x308dd
movq %r8, %rsi
imulq 0x10(%rsp), %rsi
addq %r9, %rsi
movupd (%rax,%rcx,8), %xmm1
movapd (%rsi,%rcx,8), %xmm2
divpd %xmm1, %xmm2
movapd %xmm2, (%rsi,%rcx,8)
addq $0x2, %rcx
cmpq %rdx, %rcx
jl 0x308c1
cmpq %r8, %rdx
jge 0x30907
movq %r8, %rcx
imulq 0x10(%rsp), %rcx
addq %rcx, %r9
movsd (%r9,%rdx,8), %xmm1
divsd (%rax,%rdx,8), %xmm1
movsd %xmm1, (%r9,%rdx,8)
incq %rdx
cmpq %rdx, %r8
jne 0x308ee
movapd %xmm0, 0x90(%rsp)
cmpl $0x2, %edi
jl 0x30a5f
movq 0x8(%rbp), %r8
movq %r8, %r9
imulq 0x30(%rsp), %r9
shlq $0x3, %r9
addq (%rbp), %r9
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r10
movq 0x70(%rsp), %r15
movq %r15, %r11
imulq %r10, %r11
leaq (,%r10,8), %rbx
movq 0x58(%rsp), %rax
cmpq %r8, 0x40(%rsp)
jge 0x3278b
movq 0x30(%rsp), %rcx
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
testl %r14d, %r14d
jle 0x30a43
movsd 0x8(%r9,%rax,8), %xmm1
movq 0x8(%rsp), %rsi
movq 0x28(%rsi), %r12
movq 0x58(%rsi), %r13
movq 0x38(%rsi), %rbp
addq %r11, %rbp
movq %r12, %rdx
imulq %r15, %rdx
addq 0x20(%rsi), %rdx
movq %r13, %rcx
imulq %r15, %rcx
addq 0x50(%rsi), %rcx
xorl %esi, %esi
cmpq %rsi, %r10
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x48(%rdi)
jle 0x3276c
cmpq $0x2, %rsi
je 0x328d2
cmpq %rsi, %r12
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x30(%rdi)
jle 0x3276c
movsd (%rdx,%rsi,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%rsi,8), %xmm2
mulsd (%rbp,%rsi,8), %xmm2
movsd %xmm2, 0x90(%rsp,%rsi,8)
cmpq %rsi, %r13
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x60(%rdi)
jle 0x3276c
cmpq %rax, %r8
jle 0x3278b
movsd (%r9,%rax,8), %xmm3
mulsd (%rcx,%rsi,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r9,%rax,8)
incq %rsi
cmpq %rsi, %r14
jne 0x309a6
leaq -0x1(%rax), %rcx
subq %rbx, %r11
addq $-0x8, %r15
testq %rax, %rax
movq %rcx, %rax
movq 0x48(%rsp), %rbp
jg 0x30950
movq 0x30(%rsp), %rcx
incq %rcx
addq $0x8, 0x10(%rsp)
cmpq 0x18(%rsp), %rcx
movq 0x28(%rsp), %r13
jne 0x3066f
jmp 0x2dc43
cmpl $0x0, 0x18(%rsp)
jle 0x2dc43
leal -0x2(%r13), %ecx
leaq 0x1(%rcx), %rax
movq %rax, 0x40(%rsp)
movq 0x18(%rsp), %rax
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0x18(%rsp)
movq %rcx, 0x58(%rsp)
leaq (,%rcx,8), %rax
movq %rax, 0x70(%rsp)
movq $0x0, 0x10(%rsp)
xorpd %xmm0, %xmm0
xorl %ecx, %ecx
movapd %xmm0, 0xb0(%rsp)
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movq 0x68(%rsp), %rax
movq 0x8(%rax), %rdx
movq %rdx, 0x20(%rsp)
testq %rdx, %rdx
jle 0x3276c
cmpq %rcx, 0x10(%rax)
jle 0x3276c
movq 0x8(%rbp), %r8
testq %r8, %r8
jle 0x3278b
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
movq 0x20(%rsp), %rbx
imulq %rcx, %rbx
shlq $0x3, %rbx
movq 0x68(%rsp), %rax
addq (%rax), %rbx
movq %r8, %rax
movq %rcx, 0x30(%rsp)
imulq %rcx, %rax
movsd (%rbx), %xmm1
movq (%rbp), %rcx
leaq (%rcx,%rax,8), %r11
movq %rcx, 0x60(%rsp)
movsd %xmm1, (%rcx,%rax,8)
cmpl $0x2, %r13d
jl 0x30c8a
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r15
leaq (,%r15,8), %rax
movq %rax, 0x50(%rsp)
movl $0x1, %r13d
xorl %ebp, %ebp
xorl %eax, %eax
cmpq 0x20(%rsp), %r13
je 0x3276c
cmpq %r8, %r13
je 0x3278b
movsd -0x8(%r11,%r13,8), %xmm1
movsd (%rbx,%r13,8), %xmm2
movsd %xmm2, (%r11,%r13,8)
testl %r14d, %r14d
jle 0x30c73
movq 0x8(%rsp), %r9
movq 0x28(%r9), %r12
movq 0x58(%r9), %rdi
movq 0x38(%r9), %rcx
addq %rax, %rcx
movq %rdi, %rsi
imulq %rbp, %rsi
addq 0x50(%r9), %rsi
movq %r12, %rdx
imulq %rbp, %rdx
addq 0x20(%r9), %rdx
xorl %r10d, %r10d
cmpq %r10, %r15
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x48(%r9)
jl 0x3276c
cmpq $0x6, %r10
je 0x328ec
cmpq %r10, %rdi
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x60(%r9)
jl 0x3276c
movsd (%rsi,%r10,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%r10,8), %xmm2
mulsd (%rcx,%r10,8), %xmm2
movsd %xmm2, 0x90(%rsp,%r10,8)
cmpq %r10, %r12
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x30(%r9)
jl 0x3276c
movsd (%r11,%r13,8), %xmm3
mulsd (%rdx,%r10,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r11,%r13,8)
incq %r10
cmpq %r10, %r14
jne 0x30bdb
incq %r13
addq 0x50(%rsp), %rax
addq $0x8, %rbp
cmpq 0x28(%rsp), %r13
jne 0x30b7e
movq 0x48(%rsp), %rbp
movq 0x30(%rsp), %rax
cmpq %rax, 0x10(%rbp)
jle 0x32aec
movq 0x8(%rsp), %rax
cmpq 0x70(%rax), %r8
movq 0x28(%rsp), %rdi
jne 0x32b3a
movq %r8, %rcx
testb $0x7, %r11b
jne 0x30ccd
shrl $0x3, %r11d
andl $0x1, %r11d
cmpq %r8, %r11
cmovgeq %r8, %r11
movq %r11, %rcx
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
testq %rcx, %rcx
movq 0x60(%rsp), %r9
jle 0x30d05
movq %r8, %rdx
imulq 0x10(%rsp), %rdx
addq %r9, %rdx
xorl %esi, %esi
movsd (%rdx,%rsi,8), %xmm1
divsd (%rax,%rsi,8), %xmm1
movsd %xmm1, (%rdx,%rsi,8)
incq %rsi
cmpq %rsi, %rcx
jne 0x30cee
movq %r8, %rsi
subq %rcx, %rsi
movq %rsi, %rdx
shrq $0x3f, %rdx
addq %rsi, %rdx
andq $-0x2, %rdx
addq %rcx, %rdx
cmpq $0x2, %rsi
jl 0x30d4a
movq %r8, %rsi
imulq 0x10(%rsp), %rsi
addq %r9, %rsi
movupd (%rax,%rcx,8), %xmm1
movapd (%rsi,%rcx,8), %xmm2
divpd %xmm1, %xmm2
movapd %xmm2, (%rsi,%rcx,8)
addq $0x2, %rcx
cmpq %rdx, %rcx
jl 0x30d2e
cmpq %r8, %rdx
jge 0x30d74
movq %r8, %rcx
imulq 0x10(%rsp), %rcx
addq %rcx, %r9
movsd (%r9,%rdx,8), %xmm1
divsd (%rax,%rdx,8), %xmm1
movsd %xmm1, (%r9,%rdx,8)
incq %rdx
cmpq %rdx, %r8
jne 0x30d5b
movapd %xmm0, 0xb0(%rsp)
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
cmpl $0x2, %edi
jl 0x30ede
movq 0x8(%rbp), %r8
movq %r8, %r9
imulq 0x30(%rsp), %r9
shlq $0x3, %r9
addq (%rbp), %r9
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r10
movq 0x70(%rsp), %r15
movq %r15, %r11
imulq %r10, %r11
leaq (,%r10,8), %rbx
movq 0x58(%rsp), %rax
cmpq %r8, 0x40(%rsp)
jge 0x3278b
movq 0x30(%rsp), %rcx
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
testl %r14d, %r14d
jle 0x30ec2
movsd 0x8(%r9,%rax,8), %xmm1
movq 0x8(%rsp), %rsi
movq 0x28(%rsi), %r12
movq 0x58(%rsi), %r13
movq 0x38(%rsi), %rbp
addq %r11, %rbp
movq %r12, %rdx
imulq %r15, %rdx
addq 0x20(%rsi), %rdx
movq %r13, %rcx
imulq %r15, %rcx
addq 0x50(%rsi), %rcx
xorl %esi, %esi
cmpq %rsi, %r10
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x48(%rdi)
jle 0x3276c
cmpq $0x6, %rsi
je 0x328ec
cmpq %rsi, %r12
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x30(%rdi)
jle 0x3276c
movsd (%rdx,%rsi,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%rsi,8), %xmm2
mulsd (%rbp,%rsi,8), %xmm2
movsd %xmm2, 0x90(%rsp,%rsi,8)
cmpq %rsi, %r13
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x60(%rdi)
jle 0x3276c
cmpq %rax, %r8
jle 0x3278b
movsd (%r9,%rax,8), %xmm3
mulsd (%rcx,%rsi,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r9,%rax,8)
incq %rsi
cmpq %rsi, %r14
jne 0x30e25
leaq -0x1(%rax), %rcx
subq %rbx, %r11
addq $-0x8, %r15
testq %rax, %rax
movq %rcx, %rax
movq 0x48(%rsp), %rbp
jg 0x30dcf
movq 0x30(%rsp), %rcx
incq %rcx
addq $0x8, 0x10(%rsp)
cmpq 0x18(%rsp), %rcx
movq 0x28(%rsp), %r13
jne 0x30aca
jmp 0x2dc43
cmpl $0x0, 0x18(%rsp)
jle 0x2dc43
leal -0x2(%r13), %ecx
leaq 0x1(%rcx), %rax
movq %rax, 0x40(%rsp)
movq 0x18(%rsp), %rax
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0x18(%rsp)
movq %rcx, 0x58(%rsp)
leaq (,%rcx,8), %rax
movq %rax, 0x70(%rsp)
movq $0x0, 0x10(%rsp)
xorpd %xmm0, %xmm0
xorl %ecx, %ecx
movapd %xmm0, 0xf0(%rsp)
movapd %xmm0, 0xe0(%rsp)
movapd %xmm0, 0xd0(%rsp)
movapd %xmm0, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movq 0x68(%rsp), %rax
movq 0x8(%rax), %rdx
movq %rdx, 0x20(%rsp)
testq %rdx, %rdx
jle 0x3276c
cmpq %rcx, 0x10(%rax)
jle 0x3276c
movq 0x8(%rbp), %r8
testq %r8, %r8
jle 0x3278b
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
movq 0x20(%rsp), %rbx
imulq %rcx, %rbx
shlq $0x3, %rbx
movq 0x68(%rsp), %rax
addq (%rax), %rbx
movq %r8, %rax
movq %rcx, 0x30(%rsp)
imulq %rcx, %rax
movsd (%rbx), %xmm1
movq (%rbp), %rcx
leaq (%rcx,%rax,8), %r11
movq %rcx, 0x60(%rsp)
movsd %xmm1, (%rcx,%rax,8)
cmpl $0x2, %r13d
jl 0x3112d
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r15
leaq (,%r15,8), %rax
movq %rax, 0x50(%rsp)
movl $0x1, %r13d
xorl %ebp, %ebp
xorl %eax, %eax
cmpq 0x20(%rsp), %r13
je 0x3276c
cmpq %r8, %r13
je 0x3278b
movsd -0x8(%r11,%r13,8), %xmm1
movsd (%rbx,%r13,8), %xmm2
movsd %xmm2, (%r11,%r13,8)
testl %r14d, %r14d
jle 0x31116
movq 0x8(%rsp), %r9
movq 0x28(%r9), %r12
movq 0x58(%r9), %rdi
movq 0x38(%r9), %rcx
addq %rax, %rcx
movq %rdi, %rsi
imulq %rbp, %rsi
addq 0x50(%r9), %rsi
movq %r12, %rdx
imulq %rbp, %rdx
addq 0x20(%r9), %rdx
xorl %r10d, %r10d
cmpq %r10, %r15
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x48(%r9)
jl 0x3276c
cmpq $0xe, %r10
je 0x32906
cmpq %r10, %rdi
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x60(%r9)
jl 0x3276c
movsd (%rsi,%r10,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%r10,8), %xmm2
mulsd (%rcx,%r10,8), %xmm2
movsd %xmm2, 0x90(%rsp,%r10,8)
cmpq %r10, %r12
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x30(%r9)
jl 0x3276c
movsd (%r11,%r13,8), %xmm3
mulsd (%rdx,%r10,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r11,%r13,8)
incq %r10
cmpq %r10, %r14
jne 0x3107e
incq %r13
addq 0x50(%rsp), %rax
addq $0x8, %rbp
cmpq 0x28(%rsp), %r13
jne 0x31021
movq 0x48(%rsp), %rbp
movq 0x30(%rsp), %rax
cmpq %rax, 0x10(%rbp)
jle 0x32aec
movq 0x8(%rsp), %rax
cmpq 0x70(%rax), %r8
movq 0x28(%rsp), %rdi
jne 0x32b3a
movq %r8, %rcx
testb $0x7, %r11b
jne 0x31170
shrl $0x3, %r11d
andl $0x1, %r11d
cmpq %r8, %r11
cmovgeq %r8, %r11
movq %r11, %rcx
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
testq %rcx, %rcx
movq 0x60(%rsp), %r9
jle 0x311a8
movq %r8, %rdx
imulq 0x10(%rsp), %rdx
addq %r9, %rdx
xorl %esi, %esi
movsd (%rdx,%rsi,8), %xmm1
divsd (%rax,%rsi,8), %xmm1
movsd %xmm1, (%rdx,%rsi,8)
incq %rsi
cmpq %rsi, %rcx
jne 0x31191
movq %r8, %rsi
subq %rcx, %rsi
movq %rsi, %rdx
shrq $0x3f, %rdx
addq %rsi, %rdx
andq $-0x2, %rdx
addq %rcx, %rdx
cmpq $0x2, %rsi
jl 0x311ed
movq %r8, %rsi
imulq 0x10(%rsp), %rsi
addq %r9, %rsi
movupd (%rax,%rcx,8), %xmm1
movapd (%rsi,%rcx,8), %xmm2
divpd %xmm1, %xmm2
movapd %xmm2, (%rsi,%rcx,8)
addq $0x2, %rcx
cmpq %rdx, %rcx
jl 0x311d1
cmpq %r8, %rdx
jge 0x31217
movq %r8, %rcx
imulq 0x10(%rsp), %rcx
addq %rcx, %r9
movsd (%r9,%rdx,8), %xmm1
divsd (%rax,%rdx,8), %xmm1
movsd %xmm1, (%r9,%rdx,8)
incq %rdx
cmpq %rdx, %r8
jne 0x311fe
movapd %xmm0, 0xf0(%rsp)
movapd %xmm0, 0xe0(%rsp)
movapd %xmm0, 0xd0(%rsp)
movapd %xmm0, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
cmpl $0x2, %edi
jl 0x313a5
movq 0x8(%rbp), %r8
movq %r8, %r9
imulq 0x30(%rsp), %r9
shlq $0x3, %r9
addq (%rbp), %r9
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r10
movq 0x70(%rsp), %r15
movq %r15, %r11
imulq %r10, %r11
leaq (,%r10,8), %rbx
movq 0x58(%rsp), %rax
cmpq %r8, 0x40(%rsp)
jge 0x3278b
movq 0x30(%rsp), %rcx
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
testl %r14d, %r14d
jle 0x31389
movsd 0x8(%r9,%rax,8), %xmm1
movq 0x8(%rsp), %rsi
movq 0x28(%rsi), %r12
movq 0x58(%rsi), %r13
movq 0x38(%rsi), %rbp
addq %r11, %rbp
movq %r12, %rdx
imulq %r15, %rdx
addq 0x20(%rsi), %rdx
movq %r13, %rcx
imulq %r15, %rcx
addq 0x50(%rsi), %rcx
xorl %esi, %esi
cmpq %rsi, %r10
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x48(%rdi)
jle 0x3276c
cmpq $0xe, %rsi
je 0x32906
cmpq %rsi, %r12
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x30(%rdi)
jle 0x3276c
movsd (%rdx,%rsi,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%rsi,8), %xmm2
mulsd (%rbp,%rsi,8), %xmm2
movsd %xmm2, 0x90(%rsp,%rsi,8)
cmpq %rsi, %r13
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x60(%rdi)
jle 0x3276c
cmpq %rax, %r8
jle 0x3278b
movsd (%r9,%rax,8), %xmm3
mulsd (%rcx,%rsi,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r9,%rax,8)
incq %rsi
cmpq %rsi, %r14
jne 0x312ec
leaq -0x1(%rax), %rcx
subq %rbx, %r11
addq $-0x8, %r15
testq %rax, %rax
movq %rcx, %rax
movq 0x48(%rsp), %rbp
jg 0x31296
movq 0x30(%rsp), %rcx
incq %rcx
addq $0x8, 0x10(%rsp)
cmpq 0x18(%rsp), %rcx
movq 0x28(%rsp), %r13
jne 0x30f49
jmp 0x2dc43
cmpl $0x0, 0x18(%rsp)
jle 0x2dc43
leal -0x2(%r13), %ecx
leaq 0x1(%rcx), %rax
movq %rax, 0x40(%rsp)
movq 0x18(%rsp), %rax
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0x18(%rsp)
movq %rcx, 0x58(%rsp)
leaq (,%rcx,8), %rax
movq %rax, 0x70(%rsp)
movq $0x0, 0x10(%rsp)
xorpd %xmm0, %xmm0
xorl %ecx, %ecx
movapd %xmm0, 0xb0(%rsp)
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xc0(%rsp)
movq 0x68(%rsp), %rax
movq 0x8(%rax), %rdx
movq %rdx, 0x20(%rsp)
testq %rdx, %rdx
jle 0x3276c
cmpq %rcx, 0x10(%rax)
jle 0x3276c
movq 0x8(%rbp), %r8
testq %r8, %r8
jle 0x3278b
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
movq 0x20(%rsp), %rbx
imulq %rcx, %rbx
shlq $0x3, %rbx
movq 0x68(%rsp), %rax
addq (%rax), %rbx
movq %r8, %rax
movq %rcx, 0x30(%rsp)
imulq %rcx, %rax
movsd (%rbx), %xmm1
movq (%rbp), %rcx
leaq (%rcx,%rax,8), %r11
movq %rcx, 0x60(%rsp)
movsd %xmm1, (%rcx,%rax,8)
cmpl $0x2, %r13d
jl 0x315dc
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r15
leaq (,%r15,8), %rax
movq %rax, 0x50(%rsp)
movl $0x1, %r13d
xorl %ebp, %ebp
xorl %eax, %eax
cmpq 0x20(%rsp), %r13
je 0x3276c
cmpq %r8, %r13
je 0x3278b
movsd -0x8(%r11,%r13,8), %xmm1
movsd (%rbx,%r13,8), %xmm2
movsd %xmm2, (%r11,%r13,8)
testl %r14d, %r14d
jle 0x315c5
movq 0x8(%rsp), %r9
movq 0x28(%r9), %r12
movq 0x58(%r9), %rdi
movq 0x38(%r9), %rcx
addq %rax, %rcx
movq %rdi, %rsi
imulq %rbp, %rsi
addq 0x50(%r9), %rsi
movq %r12, %rdx
imulq %rbp, %rdx
addq 0x20(%r9), %rdx
xorl %r10d, %r10d
cmpq %r10, %r15
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x48(%r9)
jl 0x3276c
cmpq $0x7, %r10
je 0x3291d
cmpq %r10, %rdi
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x60(%r9)
jl 0x3276c
movsd (%rsi,%r10,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%r10,8), %xmm2
mulsd (%rcx,%r10,8), %xmm2
movsd %xmm2, 0x90(%rsp,%r10,8)
cmpq %r10, %r12
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x30(%r9)
jl 0x3276c
movsd (%r11,%r13,8), %xmm3
mulsd (%rdx,%r10,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r11,%r13,8)
incq %r10
cmpq %r10, %r14
jne 0x3152d
incq %r13
addq 0x50(%rsp), %rax
addq $0x8, %rbp
cmpq 0x28(%rsp), %r13
jne 0x314d0
movq 0x48(%rsp), %rbp
movq 0x30(%rsp), %rax
cmpq %rax, 0x10(%rbp)
jle 0x32aec
movq 0x8(%rsp), %rax
cmpq 0x70(%rax), %r8
movq 0x28(%rsp), %rdi
jne 0x32b3a
movq %r8, %rcx
testb $0x7, %r11b
jne 0x3161f
shrl $0x3, %r11d
andl $0x1, %r11d
cmpq %r8, %r11
cmovgeq %r8, %r11
movq %r11, %rcx
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
testq %rcx, %rcx
movq 0x60(%rsp), %r9
jle 0x31657
movq %r8, %rdx
imulq 0x10(%rsp), %rdx
addq %r9, %rdx
xorl %esi, %esi
movsd (%rdx,%rsi,8), %xmm1
divsd (%rax,%rsi,8), %xmm1
movsd %xmm1, (%rdx,%rsi,8)
incq %rsi
cmpq %rsi, %rcx
jne 0x31640
movq %r8, %rsi
subq %rcx, %rsi
movq %rsi, %rdx
shrq $0x3f, %rdx
addq %rsi, %rdx
andq $-0x2, %rdx
addq %rcx, %rdx
cmpq $0x2, %rsi
jl 0x3169c
movq %r8, %rsi
imulq 0x10(%rsp), %rsi
addq %r9, %rsi
movupd (%rax,%rcx,8), %xmm1
movapd (%rsi,%rcx,8), %xmm2
divpd %xmm1, %xmm2
movapd %xmm2, (%rsi,%rcx,8)
addq $0x2, %rcx
cmpq %rdx, %rcx
jl 0x31680
cmpq %r8, %rdx
jge 0x316c6
movq %r8, %rcx
imulq 0x10(%rsp), %rcx
addq %rcx, %r9
movsd (%r9,%rdx,8), %xmm1
divsd (%rax,%rdx,8), %xmm1
movsd %xmm1, (%r9,%rdx,8)
incq %rdx
cmpq %rdx, %r8
jne 0x316ad
movapd %xmm0, 0xb0(%rsp)
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xc0(%rsp)
cmpl $0x2, %edi
jl 0x3183c
movq 0x8(%rbp), %r8
movq %r8, %r9
imulq 0x30(%rsp), %r9
shlq $0x3, %r9
addq (%rbp), %r9
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r10
movq 0x70(%rsp), %r15
movq %r15, %r11
imulq %r10, %r11
leaq (,%r10,8), %rbx
movq 0x58(%rsp), %rax
cmpq %r8, 0x40(%rsp)
jge 0x3278b
movq 0x30(%rsp), %rcx
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
testl %r14d, %r14d
jle 0x31820
movsd 0x8(%r9,%rax,8), %xmm1
movq 0x8(%rsp), %rsi
movq 0x28(%rsi), %r12
movq 0x58(%rsi), %r13
movq 0x38(%rsi), %rbp
addq %r11, %rbp
movq %r12, %rdx
imulq %r15, %rdx
addq 0x20(%rsi), %rdx
movq %r13, %rcx
imulq %r15, %rcx
addq 0x50(%rsi), %rcx
xorl %esi, %esi
cmpq %rsi, %r10
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x48(%rdi)
jle 0x3276c
cmpq $0x7, %rsi
je 0x3291d
cmpq %rsi, %r12
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x30(%rdi)
jle 0x3276c
movsd (%rdx,%rsi,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%rsi,8), %xmm2
mulsd (%rbp,%rsi,8), %xmm2
movsd %xmm2, 0x90(%rsp,%rsi,8)
cmpq %rsi, %r13
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x60(%rdi)
jle 0x3276c
cmpq %rax, %r8
jle 0x3278b
movsd (%r9,%rax,8), %xmm3
mulsd (%rcx,%rsi,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r9,%rax,8)
incq %rsi
cmpq %rsi, %r14
jne 0x31783
leaq -0x1(%rax), %rcx
subq %rbx, %r11
addq $-0x8, %r15
testq %rax, %rax
movq %rcx, %rax
movq 0x48(%rsp), %rbp
jg 0x3172d
movq 0x30(%rsp), %rcx
incq %rcx
addq $0x8, 0x10(%rsp)
cmpq 0x18(%rsp), %rcx
movq 0x28(%rsp), %r13
jne 0x31410
jmp 0x2dc43
cmpl $0x0, 0x18(%rsp)
jle 0x2dc43
leal -0x2(%r13), %ecx
leaq 0x1(%rcx), %rax
movq %rax, 0x40(%rsp)
movq 0x18(%rsp), %rax
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0x18(%rsp)
movq %rcx, 0x58(%rsp)
leaq (,%rcx,8), %rax
movq %rax, 0x70(%rsp)
movq $0x0, 0x10(%rsp)
xorpd %xmm0, %xmm0
xorl %ecx, %ecx
movapd %xmm0, 0xd0(%rsp)
movapd %xmm0, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xe0(%rsp)
movq 0x68(%rsp), %rax
movq 0x8(%rax), %rdx
movq %rdx, 0x20(%rsp)
testq %rdx, %rdx
jle 0x3276c
cmpq %rcx, 0x10(%rax)
jle 0x3276c
movq 0x8(%rbp), %r8
testq %r8, %r8
jle 0x3278b
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
movq 0x20(%rsp), %rbx
imulq %rcx, %rbx
shlq $0x3, %rbx
movq 0x68(%rsp), %rax
addq (%rax), %rbx
movq %r8, %rax
movq %rcx, 0x30(%rsp)
imulq %rcx, %rax
movsd (%rbx), %xmm1
movq (%rbp), %rcx
leaq (%rcx,%rax,8), %r11
movq %rcx, 0x60(%rsp)
movsd %xmm1, (%rcx,%rax,8)
cmpl $0x2, %r13d
jl 0x31a85
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r15
leaq (,%r15,8), %rax
movq %rax, 0x50(%rsp)
movl $0x1, %r13d
xorl %ebp, %ebp
xorl %eax, %eax
cmpq 0x20(%rsp), %r13
je 0x3276c
cmpq %r8, %r13
je 0x3278b
movsd -0x8(%r11,%r13,8), %xmm1
movsd (%rbx,%r13,8), %xmm2
movsd %xmm2, (%r11,%r13,8)
testl %r14d, %r14d
jle 0x31a6e
movq 0x8(%rsp), %r9
movq 0x28(%r9), %r12
movq 0x58(%r9), %rdi
movq 0x38(%r9), %rcx
addq %rax, %rcx
movq %rdi, %rsi
imulq %rbp, %rsi
addq 0x50(%r9), %rsi
movq %r12, %rdx
imulq %rbp, %rdx
addq 0x20(%r9), %rdx
xorl %r10d, %r10d
cmpq %r10, %r15
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x48(%r9)
jl 0x3276c
cmpq $0xb, %r10
je 0x32934
cmpq %r10, %rdi
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x60(%r9)
jl 0x3276c
movsd (%rsi,%r10,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%r10,8), %xmm2
mulsd (%rcx,%r10,8), %xmm2
movsd %xmm2, 0x90(%rsp,%r10,8)
cmpq %r10, %r12
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x30(%r9)
jl 0x3276c
movsd (%r11,%r13,8), %xmm3
mulsd (%rdx,%r10,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r11,%r13,8)
incq %r10
cmpq %r10, %r14
jne 0x319d6
incq %r13
addq 0x50(%rsp), %rax
addq $0x8, %rbp
cmpq 0x28(%rsp), %r13
jne 0x31979
movq 0x48(%rsp), %rbp
movq 0x30(%rsp), %rax
cmpq %rax, 0x10(%rbp)
jle 0x32aec
movq 0x8(%rsp), %rax
cmpq 0x70(%rax), %r8
movq 0x28(%rsp), %rdi
jne 0x32b3a
movq %r8, %rcx
testb $0x7, %r11b
jne 0x31ac8
shrl $0x3, %r11d
andl $0x1, %r11d
cmpq %r8, %r11
cmovgeq %r8, %r11
movq %r11, %rcx
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
testq %rcx, %rcx
movq 0x60(%rsp), %r9
jle 0x31b00
movq %r8, %rdx
imulq 0x10(%rsp), %rdx
addq %r9, %rdx
xorl %esi, %esi
movsd (%rdx,%rsi,8), %xmm1
divsd (%rax,%rsi,8), %xmm1
movsd %xmm1, (%rdx,%rsi,8)
incq %rsi
cmpq %rsi, %rcx
jne 0x31ae9
movq %r8, %rsi
subq %rcx, %rsi
movq %rsi, %rdx
shrq $0x3f, %rdx
addq %rsi, %rdx
andq $-0x2, %rdx
addq %rcx, %rdx
cmpq $0x2, %rsi
jl 0x31b45
movq %r8, %rsi
imulq 0x10(%rsp), %rsi
addq %r9, %rsi
movupd (%rax,%rcx,8), %xmm1
movapd (%rsi,%rcx,8), %xmm2
divpd %xmm1, %xmm2
movapd %xmm2, (%rsi,%rcx,8)
addq $0x2, %rcx
cmpq %rdx, %rcx
jl 0x31b29
cmpq %r8, %rdx
jge 0x31b6f
movq %r8, %rcx
imulq 0x10(%rsp), %rcx
addq %rcx, %r9
movsd (%r9,%rdx,8), %xmm1
divsd (%rax,%rdx,8), %xmm1
movsd %xmm1, (%r9,%rdx,8)
incq %rdx
cmpq %rdx, %r8
jne 0x31b56
movapd %xmm0, 0xd0(%rsp)
movapd %xmm0, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xe0(%rsp)
cmpl $0x2, %edi
jl 0x31cf7
movq 0x8(%rbp), %r8
movq %r8, %r9
imulq 0x30(%rsp), %r9
shlq $0x3, %r9
addq (%rbp), %r9
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r10
movq 0x70(%rsp), %r15
movq %r15, %r11
imulq %r10, %r11
leaq (,%r10,8), %rbx
movq 0x58(%rsp), %rax
cmpq %r8, 0x40(%rsp)
jge 0x3278b
movq 0x30(%rsp), %rcx
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
testl %r14d, %r14d
jle 0x31cdb
movsd 0x8(%r9,%rax,8), %xmm1
movq 0x8(%rsp), %rsi
movq 0x28(%rsi), %r12
movq 0x58(%rsi), %r13
movq 0x38(%rsi), %rbp
addq %r11, %rbp
movq %r12, %rdx
imulq %r15, %rdx
addq 0x20(%rsi), %rdx
movq %r13, %rcx
imulq %r15, %rcx
addq 0x50(%rsi), %rcx
xorl %esi, %esi
cmpq %rsi, %r10
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x48(%rdi)
jle 0x3276c
cmpq $0xb, %rsi
je 0x32934
cmpq %rsi, %r12
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x30(%rdi)
jle 0x3276c
movsd (%rdx,%rsi,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%rsi,8), %xmm2
mulsd (%rbp,%rsi,8), %xmm2
movsd %xmm2, 0x90(%rsp,%rsi,8)
cmpq %rsi, %r13
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x60(%rdi)
jle 0x3276c
cmpq %rax, %r8
jle 0x3278b
movsd (%r9,%rax,8), %xmm3
mulsd (%rcx,%rsi,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r9,%rax,8)
incq %rsi
cmpq %rsi, %r14
jne 0x31c3e
leaq -0x1(%rax), %rcx
subq %rbx, %r11
addq $-0x8, %r15
testq %rax, %rax
movq %rcx, %rax
movq 0x48(%rsp), %rbp
jg 0x31be8
movq 0x30(%rsp), %rcx
incq %rcx
addq $0x8, 0x10(%rsp)
cmpq 0x18(%rsp), %rcx
movq 0x28(%rsp), %r13
jne 0x318a7
jmp 0x2dc43
cmpl $0x0, 0x18(%rsp)
jle 0x2dc43
leal -0x2(%r13), %ecx
leaq 0x1(%rcx), %rax
movq %rax, 0x40(%rsp)
movq 0x18(%rsp), %rax
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rax, 0x18(%rsp)
movq %rcx, 0x58(%rsp)
leaq (,%rcx,8), %rax
movq %rax, 0x70(%rsp)
movq $0x0, 0x10(%rsp)
xorpd %xmm0, %xmm0
xorl %ecx, %ecx
movapd %xmm0, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xd0(%rsp)
movq 0x68(%rsp), %rax
movq 0x8(%rax), %rdx
movq %rdx, 0x20(%rsp)
testq %rdx, %rdx
jle 0x3276c
cmpq %rcx, 0x10(%rax)
jle 0x3276c
movq 0x8(%rbp), %r8
testq %r8, %r8
jle 0x3278b
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
movq 0x20(%rsp), %rbx
imulq %rcx, %rbx
shlq $0x3, %rbx
movq 0x68(%rsp), %rax
addq (%rax), %rbx
movq %r8, %rax
movq %rcx, 0x30(%rsp)
imulq %rcx, %rax
movsd (%rbx), %xmm1
movq (%rbp), %rcx
leaq (%rcx,%rax,8), %r11
movq %rcx, 0x60(%rsp)
movsd %xmm1, (%rcx,%rax,8)
cmpl $0x2, %r13d
jl 0x31f37
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r15
leaq (,%r15,8), %rax
movq %rax, 0x50(%rsp)
movl $0x1, %r13d
xorl %ebp, %ebp
xorl %eax, %eax
cmpq 0x20(%rsp), %r13
je 0x3276c
cmpq %r8, %r13
je 0x3278b
movsd -0x8(%r11,%r13,8), %xmm1
movsd (%rbx,%r13,8), %xmm2
movsd %xmm2, (%r11,%r13,8)
testl %r14d, %r14d
jle 0x31f20
movq 0x8(%rsp), %r9
movq 0x28(%r9), %r12
movq 0x58(%r9), %rdi
movq 0x38(%r9), %rcx
addq %rax, %rcx
movq %rdi, %rsi
imulq %rbp, %rsi
addq 0x50(%r9), %rsi
movq %r12, %rdx
imulq %rbp, %rdx
addq 0x20(%r9), %rdx
xorl %r10d, %r10d
cmpq %r10, %r15
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x48(%r9)
jl 0x3276c
cmpq $0x9, %r10
je 0x3294b
cmpq %r10, %rdi
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x60(%r9)
jl 0x3276c
movsd (%rsi,%r10,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%r10,8), %xmm2
mulsd (%rcx,%r10,8), %xmm2
movsd %xmm2, 0x90(%rsp,%r10,8)
cmpq %r10, %r12
jle 0x3276c
movq 0x8(%rsp), %r9
cmpq %r13, 0x30(%r9)
jl 0x3276c
movsd (%r11,%r13,8), %xmm3
mulsd (%rdx,%r10,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r11,%r13,8)
incq %r10
cmpq %r10, %r14
jne 0x31e88
incq %r13
addq 0x50(%rsp), %rax
addq $0x8, %rbp
cmpq 0x28(%rsp), %r13
jne 0x31e2b
movq 0x48(%rsp), %rbp
movq 0x30(%rsp), %rax
cmpq %rax, 0x10(%rbp)
jle 0x32aec
movq 0x8(%rsp), %rax
cmpq 0x70(%rax), %r8
movq 0x28(%rsp), %rdi
jne 0x32b3a
movq %r8, %rcx
testb $0x7, %r11b
jne 0x31f7a
shrl $0x3, %r11d
andl $0x1, %r11d
cmpq %r8, %r11
cmovgeq %r8, %r11
movq %r11, %rcx
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
testq %rcx, %rcx
movq 0x60(%rsp), %r9
jle 0x31fb2
movq %r8, %rdx
imulq 0x10(%rsp), %rdx
addq %r9, %rdx
xorl %esi, %esi
movsd (%rdx,%rsi,8), %xmm1
divsd (%rax,%rsi,8), %xmm1
movsd %xmm1, (%rdx,%rsi,8)
incq %rsi
cmpq %rsi, %rcx
jne 0x31f9b
movq %r8, %rsi
subq %rcx, %rsi
movq %rsi, %rdx
shrq $0x3f, %rdx
addq %rsi, %rdx
andq $-0x2, %rdx
addq %rcx, %rdx
cmpq $0x2, %rsi
jl 0x31ff7
movq %r8, %rsi
imulq 0x10(%rsp), %rsi
addq %r9, %rsi
movupd (%rax,%rcx,8), %xmm1
movapd (%rsi,%rcx,8), %xmm2
divpd %xmm1, %xmm2
movapd %xmm2, (%rsi,%rcx,8)
addq $0x2, %rcx
cmpq %rdx, %rcx
jl 0x31fdb
cmpq %r8, %rdx
jge 0x32021
movq %r8, %rcx
imulq 0x10(%rsp), %rcx
addq %rcx, %r9
movsd (%r9,%rdx,8), %xmm1
divsd (%rax,%rdx,8), %xmm1
movsd %xmm1, (%r9,%rdx,8)
incq %rdx
cmpq %rdx, %r8
jne 0x32008
movapd %xmm0, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xd0(%rsp)
cmpl $0x2, %edi
jl 0x321a0
movq 0x8(%rbp), %r8
movq %r8, %r9
imulq 0x30(%rsp), %r9
shlq $0x3, %r9
addq (%rbp), %r9
movq 0x8(%rsp), %rax
movq 0x40(%rax), %r10
movq 0x70(%rsp), %r15
movq %r15, %r11
imulq %r10, %r11
leaq (,%r10,8), %rbx
movq 0x58(%rsp), %rax
cmpq %r8, 0x40(%rsp)
jge 0x3278b
movq 0x30(%rsp), %rcx
cmpq %rcx, 0x10(%rbp)
jle 0x3278b
testl %r14d, %r14d
jle 0x32184
movsd 0x8(%r9,%rax,8), %xmm1
movq 0x8(%rsp), %rsi
movq 0x28(%rsi), %r12
movq 0x58(%rsi), %r13
movq 0x38(%rsi), %rbp
addq %r11, %rbp
movq %r12, %rdx
imulq %r15, %rdx
addq 0x20(%rsi), %rdx
movq %r13, %rcx
imulq %r15, %rcx
addq 0x50(%rsi), %rcx
xorl %esi, %esi
cmpq %rsi, %r10
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x48(%rdi)
jle 0x3276c
cmpq $0x9, %rsi
je 0x3294b
cmpq %rsi, %r12
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x30(%rdi)
jle 0x3276c
movsd (%rdx,%rsi,8), %xmm2
mulsd %xmm1, %xmm2
addsd 0x90(%rsp,%rsi,8), %xmm2
mulsd (%rbp,%rsi,8), %xmm2
movsd %xmm2, 0x90(%rsp,%rsi,8)
cmpq %rsi, %r13
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %rax, 0x60(%rdi)
jle 0x3276c
cmpq %rax, %r8
jle 0x3278b
movsd (%r9,%rax,8), %xmm3
mulsd (%rcx,%rsi,8), %xmm2
subsd %xmm2, %xmm3
movsd %xmm3, (%r9,%rax,8)
incq %rsi
cmpq %rsi, %r14
jne 0x320e7
leaq -0x1(%rax), %rcx
subq %rbx, %r11
addq $-0x8, %r15
testq %rax, %rax
movq %rcx, %rax
movq 0x48(%rsp), %rbp
jg 0x32091
movq 0x30(%rsp), %rcx
incq %rcx
addq $0x8, 0x10(%rsp)
cmpq 0x18(%rsp), %rcx
movq 0x28(%rsp), %r13
jne 0x31d62
jmp 0x2dc43
leaq 0x90(%rsp), %rdi
leaq 0x114(%rsp), %rsi
callq 0x15984
movq 0x18(%rsp), %rax
testl %eax, %eax
jle 0x3275f
leal -0x2(%r13), %ecx
leaq 0x1(%rcx), %rdx
movq %rdx, 0x60(%rsp)
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movq %rcx, 0x120(%rsp)
leaq (,%rcx,8), %rcx
movq %rcx, 0x118(%rsp)
movq $0x0, 0x58(%rsp)
xorl %r8d, %r8d
movq %rax, 0x18(%rsp)
movq 0x98(%rsp), %r14
testq %r14, %r14
js 0x32b20
movq 0x90(%rsp), %r12
movq %r14, %rbx
movabsq $0x7ffffffffffffffe, %rax # imm = 0x7FFFFFFFFFFFFFFE
andq %rax, %rbx
cmpq $0x2, %r14
movq %r8, 0x20(%rsp)
jl 0x32273
leaq -0x8(,%rbx,8), %rdx
andq $-0x10, %rdx
addq $0x10, %rdx
movq %r12, %rdi
xorl %esi, %esi
callq 0x6220
movq 0x20(%rsp), %r8
cmpq %r14, %rbx
jge 0x3229c
shlq $0x3, %r14
movq %r14, %rax
andq $-0x10, %rax
addq %rax, %r12
andl $0x8, %r14d
movq %r12, %rdi
xorl %esi, %esi
movq %r14, %rdx
callq 0x6220
movq 0x20(%rsp), %r8
movq 0x68(%rsp), %rcx
movq 0x8(%rcx), %rax
movq %rax, 0x30(%rsp)
testq %rax, %rax
jle 0x3276c
cmpq %r8, 0x10(%rcx)
jle 0x3276c
movq 0x8(%rbp), %rax
testq %rax, %rax
jle 0x3278b
cmpq %r8, 0x10(%rbp)
jle 0x3278b
movq 0x30(%rsp), %rdx
imulq %r8, %rdx
shlq $0x3, %rdx
addq (%rcx), %rdx
movq %rax, %rcx
imulq %r8, %rcx
movq %rdx, 0x50(%rsp)
movsd (%rdx), %xmm0
movq (%rbp), %rdx
leaq (%rdx,%rcx,8), %rsi
movq %rdx, 0x70(%rsp)
movsd %xmm0, (%rdx,%rcx,8)
cmpl $0x2, %r13d
jl 0x3246f
movl 0x114(%rsp), %r8d
movq 0x8(%rsp), %rcx
movq 0x40(%rcx), %r9
leaq (,%r9,8), %rcx
movq %rcx, 0x10(%rsp)
movl $0x1, %r11d
xorl %ebx, %ebx
xorl %r14d, %r14d
movq %rax, 0x40(%rsp)
cmpq 0x30(%rsp), %r11
je 0x3276c
cmpq %rax, %r11
je 0x3278b
movsd -0x8(%rsi,%r11,8), %xmm0
movq 0x50(%rsp), %rax
movsd (%rax,%r11,8), %xmm1
movsd %xmm1, (%rsi,%r11,8)
testl %r8d, %r8d
jle 0x3244b
movq 0x90(%rsp), %r15
movq 0x98(%rsp), %r12
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rcx
testq %r12, %r12
movl $0x0, %edx
cmovleq %rdx, %r12
movq 0x58(%rax), %rdx
movq 0x38(%rax), %r10
addq %r14, %r10
movq %rdx, %r13
imulq %rbx, %r13
addq 0x50(%rax), %r13
movq %rcx, %rbp
imulq %rbx, %rbp
addq 0x20(%rax), %rbp
xorl %edi, %edi
cmpq %rdi, %r9
jle 0x3276c
movq 0x8(%rsp), %rax
cmpq %r11, 0x48(%rax)
jl 0x3276c
cmpq %rdi, %r12
je 0x32979
cmpq %rdi, %rdx
jle 0x3276c
movq 0x8(%rsp), %rax
cmpq %r11, 0x60(%rax)
jl 0x3276c
movsd (%r13,%rdi,8), %xmm1
mulsd %xmm0, %xmm1
addsd (%r15,%rdi,8), %xmm1
mulsd (%r10,%rdi,8), %xmm1
movsd %xmm1, (%r15,%rdi,8)
cmpq %rdi, %rcx
jle 0x3276c
movq 0x8(%rsp), %rax
cmpq %r11, 0x30(%rax)
jl 0x3276c
movsd (%rsi,%r11,8), %xmm2
mulsd (%rbp,%rdi,8), %xmm1
subsd %xmm1, %xmm2
movsd %xmm2, (%rsi,%r11,8)
incq %rdi
cmpq %rdi, %r8
jne 0x323bb
incq %r11
addq 0x10(%rsp), %r14
addq $0x8, %rbx
movq 0x28(%rsp), %r13
cmpq %r13, %r11
movq 0x48(%rsp), %rbp
movq 0x40(%rsp), %rax
jne 0x3233e
movq 0x20(%rsp), %r8
cmpq %r8, 0x10(%rbp)
jle 0x32aec
movq 0x8(%rsp), %rcx
cmpq 0x70(%rcx), %rax
jne 0x32b3a
movq %rax, %rdi
testb $0x7, %sil
movq 0x70(%rsp), %r9
jne 0x324ab
shrl $0x3, %esi
andl $0x1, %esi
cmpq %rax, %rsi
cmovgeq %rax, %rsi
movq %rsi, %rdi
movq 0x68(%rcx), %rdx
testq %rdi, %rdi
jle 0x324d9
movq %rax, %rcx
imulq 0x58(%rsp), %rcx
addq %r9, %rcx
xorl %esi, %esi
movsd (%rcx,%rsi,8), %xmm0
divsd (%rdx,%rsi,8), %xmm0
movsd %xmm0, (%rcx,%rsi,8)
incq %rsi
cmpq %rsi, %rdi
jne 0x324c2
movq %rax, %rsi
subq %rdi, %rsi
movq %rsi, %rcx
shrq $0x3f, %rcx
addq %rsi, %rcx
andq $-0x2, %rcx
addq %rdi, %rcx
cmpq $0x2, %rsi
jl 0x3251e
movq %rax, %rsi
imulq 0x58(%rsp), %rsi
addq %r9, %rsi
movupd (%rdx,%rdi,8), %xmm0
movapd (%rsi,%rdi,8), %xmm1
divpd %xmm0, %xmm1
movapd %xmm1, (%rsi,%rdi,8)
addq $0x2, %rdi
cmpq %rcx, %rdi
jl 0x32502
cmpq %rax, %rcx
jge 0x32548
movq %rax, %rsi
imulq 0x58(%rsp), %rsi
addq %rsi, %r9
movsd (%r9,%rcx,8), %xmm0
divsd (%rdx,%rcx,8), %xmm0
movsd %xmm0, (%r9,%rcx,8)
incq %rcx
cmpq %rcx, %rax
jne 0x3252f
movq 0x98(%rsp), %r14
testq %r14, %r14
js 0x32b20
movq 0x90(%rsp), %r12
movq %r14, %rbx
movabsq $0x7ffffffffffffffe, %rax # imm = 0x7FFFFFFFFFFFFFFE
andq %rax, %rbx
cmpq $0x2, %r14
jl 0x32596
leaq -0x8(,%rbx,8), %rdx
andq $-0x10, %rdx
addq $0x10, %rdx
movq %r12, %rdi
xorl %esi, %esi
callq 0x6220
movq 0x20(%rsp), %r8
cmpq %r14, %rbx
jge 0x325bf
shlq $0x3, %r14
movq %r14, %rax
andq $-0x10, %rax
addq %rax, %r12
andl $0x8, %r14d
movq %r12, %rdi
xorl %esi, %esi
movq %r14, %rdx
callq 0x6220
movq 0x20(%rsp), %r8
cmpl $0x2, %r13d
jl 0x32743
movq 0x8(%rbp), %rax
movq %rax, %rcx
imulq %r8, %rcx
shlq $0x3, %rcx
addq (%rbp), %rcx
movl 0x114(%rsp), %edx
movq 0x8(%rsp), %rsi
movq 0x40(%rsi), %rsi
movq 0x118(%rsp), %r9
movq %r9, %rdi
imulq %rsi, %rdi
movq %rdi, 0x30(%rsp)
leaq (,%rsi,8), %rdi
movq %rdi, 0x50(%rsp)
movq 0x120(%rsp), %r10
cmpq %rax, 0x60(%rsp)
jge 0x3278b
cmpq %r8, 0x10(%rbp)
jle 0x3278b
testl %edx, %edx
jle 0x3271b
movsd 0x8(%rcx,%r10,8), %xmm0
movq 0x90(%rsp), %r11
movq 0x98(%rsp), %rbx
movq 0x8(%rsp), %rdi
movq 0x28(%rdi), %r14
testq %rbx, %rbx
movl $0x0, %r8d
cmovleq %r8, %rbx
movq 0x58(%rdi), %r15
movq 0x38(%rdi), %r12
addq 0x30(%rsp), %r12
movq %r14, %r13
imulq %r9, %r13
addq 0x20(%rdi), %r13
movq %r15, %rbp
imulq %r9, %rbp
addq 0x50(%rdi), %rbp
xorl %r8d, %r8d
cmpq %r8, %rsi
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %r10, 0x48(%rdi)
jle 0x3276c
cmpq %r8, %rbx
je 0x32979
cmpq %r8, %r14
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %r10, 0x30(%rdi)
jle 0x3276c
movsd (%r13,%r8,8), %xmm1
mulsd %xmm0, %xmm1
addsd (%r11,%r8,8), %xmm1
mulsd (%r12,%r8,8), %xmm1
movsd %xmm1, (%r11,%r8,8)
cmpq %r8, %r15
jle 0x3276c
movq 0x8(%rsp), %rdi
cmpq %r10, 0x60(%rdi)
jle 0x3276c
cmpq %r10, %rax
jle 0x3278b
movsd (%rcx,%r10,8), %xmm2
mulsd (%rbp,%r8,8), %xmm1
subsd %xmm1, %xmm2
movsd %xmm2, (%rcx,%r10,8)
incq %r8
cmpq %r8, %rdx
jne 0x32685
leaq -0x1(%r10), %r8
movq 0x50(%rsp), %rdi
subq %rdi, 0x30(%rsp)
addq $-0x8, %r9
testq %r10, %r10
movq %r8, %r10
movq 0x48(%rsp), %rbp
movq 0x20(%rsp), %r8
jg 0x32615
incq %r8
addq $0x8, 0x58(%rsp)
movq 0x18(%rsp), %rax
cmpq %rax, %r8
movq 0x28(%rsp), %r13
jne 0x32220
movq 0x90(%rsp), %rdi
jmp 0x2dc3e
leaq 0xd649(%rip), %rdi      # 0x3fdbc
leaq 0x13a7b(%rip), %rsi     # 0x461f5
leaq 0x111f7(%rip), %rcx     # 0x43978
movl $0x77, %edx
callq 0x62b0
leaq 0xd62a(%rip), %rdi      # 0x3fdbc
leaq 0x13a5c(%rip), %rsi     # 0x461f5
leaq 0xd651(%rip), %rcx      # 0x3fdf1
movl $0x16f, %edx            # imm = 0x16F
callq 0x62b0
leaq 0xe3d8(%rip), %rdi      # 0x40b89
leaq 0x13b3d(%rip), %rsi     # 0x462f5
leaq 0x11b6f(%rip), %rcx     # 0x4432e
movl $0xb0, %edx
callq 0x62b0
leaq 0xe264(%rip), %rdi      # 0x40a34
leaq 0x13afb(%rip), %rsi     # 0x462d2
leaq 0x11a96(%rip), %rcx     # 0x44274
movl $0x7a, %edx
callq 0x62b0
leaq 0xdb10(%rip), %rdi      # 0x402ff
leaq 0x139ff(%rip), %rsi     # 0x461f5
leaq 0x11969(%rip), %rcx     # 0x44166
jmp 0x3298e
leaq 0xdaf6(%rip), %rdi      # 0x402ff
leaq 0x139e5(%rip), %rsi     # 0x461f5
leaq 0x117ba(%rip), %rcx     # 0x43fd1
jmp 0x3298e
leaq 0xdadc(%rip), %rdi      # 0x402ff
leaq 0x139cb(%rip), %rsi     # 0x461f5
leaq 0x113f9(%rip), %rcx     # 0x43c2a
jmp 0x3298e
leaq 0xdac2(%rip), %rdi      # 0x402ff
leaq 0x139b1(%rip), %rsi     # 0x461f5
leaq 0x1180d(%rip), %rcx     # 0x44058
jmp 0x3298e
leaq 0xdaa8(%rip), %rdi      # 0x402ff
leaq 0x13997(%rip), %rsi     # 0x461f5
leaq 0x1165e(%rip), %rcx     # 0x43ec3
jmp 0x3298e
leaq 0xda8e(%rip), %rdi      # 0x402ff
leaq 0x1397d(%rip), %rsi     # 0x461f5
leaq 0x112a1(%rip), %rcx     # 0x43b20
jmp 0x3298e
leaq 0xda74(%rip), %rdi      # 0x402ff
leaq 0x13963(%rip), %rsi     # 0x461f5
leaq 0x11954(%rip), %rcx     # 0x441ed
jmp 0x3298e
leaq 0xda5a(%rip), %rdi      # 0x402ff
leaq 0x13949(%rip), %rsi     # 0x461f5
leaq 0x112f2(%rip), %rcx     # 0x43ba5
jmp 0x3298e
leaq 0xda40(%rip), %rdi      # 0x402ff
leaq 0x1392f(%rip), %rsi     # 0x461f5
leaq 0x114ec(%rip), %rcx     # 0x43db9
jmp 0x3298e
leaq 0xda26(%rip), %rdi      # 0x402ff
leaq 0x13915(%rip), %rsi     # 0x461f5
leaq 0x111b4(%rip), %rcx     # 0x43a9b
jmp 0x3298e
leaq 0xda0c(%rip), %rdi      # 0x402ff
leaq 0x138fb(%rip), %rsi     # 0x461f5
leaq 0x113ae(%rip), %rcx     # 0x43caf
jmp 0x3298e
leaq 0xd9f2(%rip), %rdi      # 0x402ff
leaq 0x138e1(%rip), %rsi     # 0x461f5
leaq 0x117c4(%rip), %rcx     # 0x440df
jmp 0x3298e
leaq 0xd9db(%rip), %rdi      # 0x402ff
leaq 0x138ca(%rip), %rsi     # 0x461f5
leaq 0x11402(%rip), %rcx     # 0x43d34
jmp 0x3298e
leaq 0xd9c4(%rip), %rdi      # 0x402ff
leaq 0x138b3(%rip), %rsi     # 0x461f5
leaq 0x11601(%rip), %rcx     # 0x43f4a
jmp 0x3298e
leaq 0xd9ad(%rip), %rdi      # 0x402ff
leaq 0x1389c(%rip), %rsi     # 0x461f5
leaq 0x114de(%rip), %rcx     # 0x43e3e
jmp 0x3298e
leaq 0xd996(%rip), %rdi      # 0x402ff
leaq 0x13885(%rip), %rsi     # 0x461f5
leaq 0x1109f(%rip), %rcx     # 0x43a16
jmp 0x3298e
leaq 0xd97f(%rip), %rdi      # 0x402ff
leaq 0x1386e(%rip), %rsi     # 0x461f5
leaq 0xd98e(%rip), %rcx      # 0x4031c
movl $0x1ab, %edx            # imm = 0x1AB
callq 0x62b0
leaq 0xed6b(%rip), %rdi      # 0x4170a
leaq 0x12b56(%rip), %rsi     # 0x454fc
leaq 0x11a4a(%rip), %rcx     # 0x443f7
movl $0x62, %edx
callq 0x62b0
leaq 0x105da(%rip), %rdi     # 0x42f98
leaq 0x12c4f(%rip), %rsi     # 0x45614
leaq 0x11df3(%rip), %rcx     # 0x447bf
movl $0x74, %edx
callq 0x62b0
leaq 0xede6(%rip), %rdi      # 0x417c3
leaq 0x12e87(%rip), %rsi     # 0x4586b
leaq 0x104aa(%rip), %rcx     # 0x42e95
movl $0x4a, %edx
callq 0x62b0
leaq 0x1234c(%rip), %rdi     # 0x44d48
leaq 0x14767(%rip), %rsi     # 0x4716a
leaq 0x12355(%rip), %rcx     # 0x44d5f
movl $0x52, %edx
callq 0x62b0
leaq 0xdcf0(%rip), %rdi      # 0x4070b
leaq 0x129cc(%rip), %rsi     # 0x453ee
leaq 0x1208e(%rip), %rcx     # 0x44ab7
movl $0x2eb, %edx            # imm = 0x2EB
callq 0x62b0
leaq 0xe526(%rip), %rdi      # 0x40f60
leaq 0x12bfe(%rip), %rsi     # 0x4563f
leaq 0x124c5(%rip), %rcx     # 0x44f0d
movl $0x19b, %edx            # imm = 0x19B
callq 0x62b0
leaq 0xd94a(%rip), %rdi      # 0x403a3
leaq 0x12938(%rip), %rsi     # 0x45398
leaq 0xdc2b(%rip), %rcx      # 0x40692
movl $0x11d, %edx            # imm = 0x11D
callq 0x62b0
leaq 0xd505(%rip), %rdi      # 0x3ff7d
leaq 0x12946(%rip), %rsi     # 0x453c5
leaq 0xd5b2(%rip), %rcx      # 0x40038
movl $0xb8, %edx
callq 0x62b0
movl $0x8, %edi
callq 0x61d0
movq 0x204c7(%rip), %rcx     # 0x52f68
addq $0x10, %rcx
movq %rcx, (%rax)
movq 0x204f1(%rip), %rsi     # 0x52fa0
movq 0x2049a(%rip), %rdx     # 0x52f50
movq %rax, %rdi
callq 0x66c0
movl $0x8, %edi
callq 0x61d0
movq 0x20499(%rip), %rcx     # 0x52f68
addq $0x10, %rcx
movq %rcx, (%rax)
movq 0x204c3(%rip), %rsi     # 0x52fa0
movq 0x2046c(%rip), %rdx     # 0x52f50
movq %rax, %rdi
callq 0x66c0
leaq 0xdf41(%rip), %rdi      # 0x40a34
leaq 0x137d8(%rip), %rsi     # 0x462d2
leaq 0xdfda(%rip), %rcx      # 0x40adb
jmp 0x327de
leaq 0xe07c(%rip), %rdi      # 0x40b89
leaq 0x137e1(%rip), %rsi     # 0x462f5
leaq 0xe118(%rip), %rcx      # 0x40c33
jmp 0x327bf
leaq 0xec9c(%rip), %rdi      # 0x417c3
leaq 0x12d3d(%rip), %rsi     # 0x4586b
leaq 0xed23(%rip), %rcx      # 0x41858
jmp 0x329eb
leaq 0x13563(%rip), %rdi     # 0x460a4
leaq 0x128a6(%rip), %rsi     # 0x453ee
leaq 0x144eb(%rip), %rcx     # 0x4703a
movl $0x2e0, %edx            # imm = 0x2E0
callq 0x62b0
leaq 0x1439f(%rip), %rdi     # 0x46eff
leaq 0x14401(%rip), %rsi     # 0x46f68
leaq 0x14421(%rip), %rcx     # 0x46f8f
movl $0x106, %edx            # imm = 0x106
callq 0x62b0
leaq 0x10419(%rip), %rdi     # 0x42f98
leaq 0x12a8e(%rip), %rsi     # 0x45614
leaq 0x14170(%rip), %rcx     # 0x46cfd
jmp 0x329cc
movl $0x8, %edi
callq 0x61d0
leaq 0x1fc3d(%rip), %rcx     # 0x527e0
movq %rcx, (%rax)
leaq 0x1fbf3(%rip), %rsi     # 0x527a0
jmp 0x32bca
movl $0x8, %edi
callq 0x61d0
leaq 0x1fc48(%rip), %rcx     # 0x52808
movq %rcx, (%rax)
leaq 0x1fbee(%rip), %rsi     # 0x527b8
movq 0x203ff(%rip), %rdx     # 0x52fd0
movq %rax, %rdi
callq 0x66c0
leaq 0xd7c3(%rip), %rdi      # 0x403a3
leaq 0x127b1(%rip), %rsi     # 0x45398
leaq 0xd944(%rip), %rcx      # 0x40532
jmp 0x32a67
movl $0x8, %edi
callq 0x61d0
movq 0x20364(%rip), %rcx     # 0x52f68
addq $0x10, %rcx
movq %rcx, (%rax)
movq 0x2038e(%rip), %rsi     # 0x52fa0
movq 0x20337(%rip), %rdx     # 0x52f50
movq %rax, %rdi
callq 0x66c0
movl $0x8, %edi
callq 0x61d0
movq 0x20336(%rip), %rcx     # 0x52f68
addq $0x10, %rcx
movq %rcx, (%rax)
movq 0x20360(%rip), %rsi     # 0x52fa0
movq 0x20309(%rip), %rdx     # 0x52f50
movq %rax, %rdi
callq 0x66c0
jmp 0x32c53
jmp 0x32c61
movq %rax, %r14
jmp 0x32c76
jmp 0x32c61
jmp 0x32c5c
movq %rax, %r14
jmp 0x32c69
movq %rax, %r14
movq 0x48(%rsp), %rbp
movq 0x80(%rsp), %rdi
callq 0x64d0
movq (%rbp), %rdi
callq 0x64d0
movq %r14, %rdi
callq 0x6710
nop