// File: /workspace/github_c_makefile_star2_O0/dapogon[P]cellcoal/src/eigen.c
// Function: realeig
int realeig(int job,double mat[],int n,int low, int hi, double valr[],
      double vali[], double vr[],double vi[])
{
   complex v;
   double p=0,q=0,r=0,s=0,t,w,x,y,z=0,ra,sa,norm,eps;
   int niter,en,i,j,k,l,m;
   double precision  = pow((double)BASE,(double)(1-DIGITS));

   eps = precision;
   for (i=0; i<n; i++) {
      valr[i]=0.0;
      vali[i]=0.0;
   }
      /* store isolated roots and calculate norm */
   for (norm = 0,i = 0; i < n; i++) {
      for (j = max(0,i-1); j < n; j++) {
         norm += fabs(mat[pos(i,j,n)]);
      }
      if (i < low || i > hi) valr[i] = mat[pos(i,i,n)];
   }
   t = 0;
   en = hi;

   while (en >= low) {
      niter = 0;
      for (;;) {

       /* look for single small subdiagonal element */

         for (l = en; l > low; l--) {
            s = fabs(mat[pos(l-1,l-1,n)]) + fabs(mat[pos(l,l,n)]);
            if (s == 0) s = norm;
            if (fabs(mat[pos(l,l-1,n)]) <= eps * s) break;
         }

         /* form shift */

         x = mat[pos(en,en,n)];

         if (l == en) {             /* one root found */
            valr[en] = x + t;
            if (job) mat[pos(en,en,n)] = x + t;
            en--;
            break;
         }

         y = mat[pos(en-1,en-1,n)];
         w = mat[pos(en,en-1,n)] * mat[pos(en-1,en,n)];

         if (l == en - 1) {                /* two roots found */
            p = (y - x) / 2;
            q = p * p + w;
            z = sqrt(fabs(q));
            x += t;
            if (job) {
               mat[pos(en,en,n)] = x;
               mat[pos(en-1,en-1,n)] = y + t;
            }
            if (q < 0) {                /* complex pair */
               valr[en-1] = x+p;
               vali[en-1] = z;
               valr[en] = x+p;
               vali[en] = -z;
            }
            else {                      /* real pair */
               z = (p < 0) ? p - z : p + z;
               valr[en-1] = x + z;
               valr[en] = (z == 0) ? x + z : x - w / z;
               if (job) {
                  x = mat[pos(en,en-1,n)];
                  s = fabs(x) + fabs(z);
                  p = x / s;
                  q = z / s;
                  r = sqrt(p*p+q*q);
                  p /= r;
                  q /= r;
                  for (j = en - 1; j < n; j++) {
                     z = mat[pos(en-1,j,n)];
                     mat[pos(en-1,j,n)] = q * z + p *
                     mat[pos(en,j,n)];
                     mat[pos(en,j,n)] = q * mat[pos(en,j,n)] - p*z;
                  }
                  for (i = 0; i <= en; i++) {
                     z = mat[pos(i,en-1,n)];
                     mat[pos(i,en-1,n)] = q * z + p * mat[pos(i,en,n)];
                     mat[pos(i,en,n)] = q * mat[pos(i,en,n)] - p*z;
                  }
                  for (i = low; i <= hi; i++) {
                     z = vr[pos(i,en-1,n)];
                     vr[pos(i,en-1,n)] = q*z + p*vr[pos(i,en,n)];
                     vr[pos(i,en,n)] = q*vr[pos(i,en,n)] - p*z;
                  }
               }
            }
            en -= 2;
            break;
         }
         if (niter == MAXITER) return(-1);
         if (niter != 0 && niter % 10 == 0) {
            t += x;
            for (i = low; i <= en; i++) mat[pos(i,i,n)] -= x;
            s = fabs(mat[pos(en,en-1,n)]) + fabs(mat[pos(en-1,en-2,n)]);
            x = y = 0.75 * s;
            w = -0.4375 * s * s;
         }
         niter++;
           /* look for two consecutive small subdiagonal elements */
         for (m = en - 2; m >= l; m--) {
            z = mat[pos(m,m,n)];
            r = x - z;
            s = y - z;
            p = (r * s - w) / mat[pos(m+1,m,n)] + mat[pos(m,m+1,n)];
            q = mat[pos(m+1,m+1,n)] - z - r - s;
            r = mat[pos(m+2,m+1,n)];
            s = fabs(p) + fabs(q) + fabs(r);
            p /= s;
            q /= s;
            r /= s;
            if (m == l || fabs(mat[pos(m,m-1,n)]) * (fabs(q)+fabs(r)) <=
                eps * (fabs(mat[pos(m-1,m-1,n)]) + fabs(z) +
                fabs(mat[pos(m+1,m+1,n)])) * fabs(p)) break;
         }
         for (i = m + 2; i <= en; i++) mat[pos(i,i-2,n)] = 0;
         for (i = m + 3; i <= en; i++) mat[pos(i,i-3,n)] = 0;
             /* double QR step involving rows l to en and columns m to en */
         for (k = m; k < en; k++) {
            if (k != m) {
               p = mat[pos(k,k-1,n)];
               q = mat[pos(k+1,k-1,n)];
               r = (k == en - 1) ? 0 : mat[pos(k+2,k-1,n)];
               if ((x = fabs(p) + fabs(q) + fabs(r)) == 0) continue;
               p /= x;
               q /= x;
               r /= x;
            }
            s = sqrt(p*p+q*q+r*r);
            if (p < 0) s = -s;
            if (k != m) {
               mat[pos(k,k-1,n)] = -s * x;
            }
            else if (l != m) {
               mat[pos(k,k-1,n)] = -mat[pos(k,k-1,n)];
            }
            p += s;
            x = p / s;
            y = q / s;
            z = r / s;
            q /= p;
            r /= p;
                /* row modification */
            for (j = k; j <= (!job ? en : n-1); j++){
               p = mat[pos(k,j,n)] + q * mat[pos(k+1,j,n)];
               if (k != en - 1) {
                  p += r * mat[pos(k+2,j,n)];
                  mat[pos(k+2,j,n)] -= p * z;
               }
               mat[pos(k+1,j,n)] -= p * y;
               mat[pos(k,j,n)] -= p * x;
            }
            j = min(en,k+3);
              /* column modification */
            for (i = (!job ? l : 0); i <= j; i++) {
               p = x * mat[pos(i,k,n)] + y * mat[pos(i,k+1,n)];
               if (k != en - 1) {
                  p += z * mat[pos(i,k+2,n)];
                  mat[pos(i,k+2,n)] -= p*r;
               }
               mat[pos(i,k+1,n)] -= p*q;
               mat[pos(i,k,n)] -= p;
            }
            if (job) {             /* accumulate transformations */
               for (i = low; i <= hi; i++) {
                  p = x * vr[pos(i,k,n)] + y * vr[pos(i,k+1,n)];
                  if (k != en - 1) {
                     p += z * vr[pos(i,k+2,n)];
                     vr[pos(i,k+2,n)] -= p*r;
                  }
                  vr[pos(i,k+1,n)] -= p*q;
                  vr[pos(i,k,n)] -= p;
               }
            }
         }
      }
   }

   if (!job) return(0);
   if (norm != 0) {
       /* back substitute to find vectors of upper triangular form */
      for (en = n-1; en >= 0; en--) {
         p = valr[en];
         if ((q = vali[en]) < 0) {            /* complex vector */
            m = en - 1;
            if (fabs(mat[pos(en,en-1,n)]) > fabs(mat[pos(en-1,en,n)])) {
               mat[pos(en-1,en-1,n)] = q / mat[pos(en,en-1,n)];
               mat[pos(en-1,en,n)] = (p - mat[pos(en,en,n)]) /
                     mat[pos(en,en-1,n)];
            }
            else {
               v = cdiv(compl(0.0,-mat[pos(en-1,en,n)]),
                    compl(mat[pos(en-1,en-1,n)]-p,q));
               mat[pos(en-1,en-1,n)] = v.re;
               mat[pos(en-1,en,n)] = v.im;
            }
            mat[pos(en,en-1,n)] = 0;
            mat[pos(en,en,n)] = 1;
            for (i = en - 2; i >= 0; i--) {
               w = mat[pos(i,i,n)] - p;
               ra = 0;
               sa = mat[pos(i,en,n)];
               for (j = m; j < en; j++) {
                  ra += mat[pos(i,j,n)] * mat[pos(j,en-1,n)];
                  sa += mat[pos(i,j,n)] * mat[pos(j,en,n)];
               }
               if (vali[i] < 0) {
                  z = w;
                  r = ra;
                  s = sa;
               }
               else {
                  m = i;
                  if (vali[i] == 0) {
                     v = cdiv(compl(-ra,-sa),compl(w,q));
                     mat[pos(i,en-1,n)] = v.re;
                     mat[pos(i,en,n)] = v.im;
                  }
                  else {                      /* solve complex equations */
                     x = mat[pos(i,i+1,n)];
                     y = mat[pos(i+1,i,n)];
                     v.re = (valr[i]- p)*(valr[i]-p) + vali[i]*vali[i] - q*q;
                     v.im = (valr[i] - p)*2*q;
                     if ((fabs(v.re) + fabs(v.im)) == 0) {
                        v.re = eps * norm * (fabs(w) +
                                fabs(q) + fabs(x) + fabs(y) + fabs(z));
                     }
                     v = cdiv(compl(x*r-z*ra+q*sa,x*s-z*sa-q*ra),v);
                     mat[pos(i,en-1,n)] = v.re;
                     mat[pos(i,en,n)] = v.im;
                     if (fabs(x) > fabs(z) + fabs(q)) {
                        mat[pos(i+1,en-1,n)] =
                             (-ra - w * mat[pos(i,en-1,n)] +
                             q * mat[pos(i,en,n)]) / x;
                        mat[pos(i+1,en,n)] = (-sa - w * mat[pos(i,en,n)] -
                             q * mat[pos(i,en-1,n)]) / x;
                     }
                     else {
                        v = cdiv(compl(-r-y*mat[pos(i,en-1,n)],
                             -s-y*mat[pos(i,en,n)]),compl(z,q));
                        mat[pos(i+1,en-1,n)] = v.re;
                        mat[pos(i+1,en,n)] = v.im;
                     }
                  }
               }
            }
         }
         else if (q == 0) {                             /* real vector */
            m = en;
            mat[pos(en,en,n)] = 1;
            for (i = en - 1; i >= 0; i--) {
               w = mat[pos(i,i,n)] - p;
               r = mat[pos(i,en,n)];
               for (j = m; j < en; j++) {
                  r += mat[pos(i,j,n)] * mat[pos(j,en,n)];
               }
               if (vali[i] < 0) {
                  z = w;
                  s = r;
               }
               else {
                  m = i;
                  if (vali[i] == 0) {
                     if ((t = w) == 0) t = eps * norm;
                     mat[pos(i,en,n)] = -r / t;
                  }
                  else {            /* solve real equations */
                     x = mat[pos(i,i+1,n)];
                     y = mat[pos(i+1,i,n)];
                     q = (valr[i] - p) * (valr[i] - p) + vali[i]*vali[i];
                     t = (x * s - z * r) / q;
                     mat[pos(i,en,n)] = t;
                     if (fabs(x) <= fabs(z)) {
                        mat[pos(i+1,en,n)] = (-s - y * t) / z;
                     }
                     else {
                        mat[pos(i+1,en,n)] = (-r - w * t) / x;
                     }
                  }
               }
            }
         }
      }
             /* vectors of isolated roots */
      for (i = 0; i < n; i++) {
         if (i < low || i > hi) {
            for (j = i; j < n; j++) {
               vr[pos(i,j,n)] = mat[pos(i,j,n)];
            }
         }
      }
       /* multiply by transformation matrix */

      for (j = n-1; j >= low; j--) {
         m = min(j,hi);
         for (i = low; i <= hi; i++) {
            for (z = 0,k = low; k <= m; k++) {
               z += vr[pos(i,k,n)] * mat[pos(k,j,n)];
            }
            vr[pos(i,j,n)] = z;
         }
      }
   }
    /* rearrange complex eigenvectors */
   for (j = 0; j < n; j++) {
      if (vali[j] != 0) {
         for (i = 0; i < n; i++) {
            vi[pos(i,j,n)] = vr[pos(i,j+1,n)];
            vr[pos(i,j+1,n)] = vr[pos(i,j,n)];
            vi[pos(i,j+1,n)] = -vi[pos(i,j,n)];
         }
         j++;
      }
   }
   return(0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1b0, %rsp            # imm = 0x1B0
movq 0x20(%rbp), %rax
movq 0x18(%rbp), %rax
movq 0x10(%rbp), %rax
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movl %ecx, -0x18(%rbp)
movl %r8d, -0x1c(%rbp)
movq %r9, -0x28(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x40(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x48(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x50(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x58(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x80(%rbp)
movsd 0x1b9ac(%rip), %xmm0    # 0x3f048
movsd 0x2391c(%rip), %xmm1    # 0x46fc0
callq 0x20c0
movsd %xmm0, -0xc8(%rbp)
movsd -0xc8(%rbp), %xmm0
movsd %xmm0, -0xa0(%rbp)
movl $0x0, -0xac(%rbp)
movl -0xac(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x2370d
movq -0x28(%rbp), %rax
movslq -0xac(%rbp), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movq 0x10(%rbp), %rax
movslq -0xac(%rbp), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
jmp 0x236cb
xorps %xmm0, %xmm0
movsd %xmm0, -0x98(%rbp)
movl $0x0, -0xac(%rbp)
movl -0xac(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x23810
movl -0xac(%rbp), %ecx
subl $0x1, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x2374a
xorl %eax, %eax
movl %eax, -0x17c(%rbp)
jmp 0x23759
movl -0xac(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x17c(%rbp)
movl -0x17c(%rbp), %eax
movl %eax, -0xb0(%rbp)
movl -0xb0(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x237b8
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xb0(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movaps 0x1bc0d(%rip), %xmm1    # 0x3f3a0
pand %xmm1, %xmm0
addsd -0x98(%rbp), %xmm0
movsd %xmm0, -0x98(%rbp)
movl -0xb0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xb0(%rbp)
jmp 0x23765
movl -0xac(%rbp), %eax
cmpl -0x18(%rbp), %eax
jl 0x237ce
movl -0xac(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jle 0x237fa
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xac(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x28(%rbp), %rax
movslq -0xac(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x237fc
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
jmp 0x23722
xorps %xmm0, %xmm0
movsd %xmm0, -0x60(%rbp)
movl -0x1c(%rbp), %eax
movl %eax, -0xa8(%rbp)
movl -0xa8(%rbp), %eax
cmpl -0x18(%rbp), %eax
jl 0x24d4e
movl $0x0, -0xa4(%rbp)
movl -0xa8(%rbp), %eax
movl %eax, -0xb8(%rbp)
movl -0xb8(%rbp), %eax
cmpl -0x18(%rbp), %eax
jle 0x23928
movq -0x10(%rbp), %rax
movl -0xb8(%rbp), %ecx
subl $0x1, %ecx
imull -0x14(%rbp), %ecx
movl -0xb8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movaps 0x1bb20(%rip), %xmm1    # 0x3f3a0
pand %xmm1, %xmm0
movq -0x10(%rbp), %rax
movl -0xb8(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xb8(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movaps 0x1baf9(%rip), %xmm2    # 0x3f3a0
pand %xmm2, %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0x58(%rbp)
movsd -0x58(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x238d1
jp 0x238d1
movsd -0x98(%rbp), %xmm0
movsd %xmm0, -0x58(%rbp)
movq -0x10(%rbp), %rax
movl -0xb8(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xb8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movaps 0x1baa7(%rip), %xmm0    # 0x3f3a0
pand %xmm0, %xmm1
movsd -0xa0(%rbp), %xmm0
mulsd -0x58(%rbp), %xmm0
ucomisd %xmm1, %xmm0
jb 0x23912
jmp 0x23928
jmp 0x23914
movl -0xb8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xb8(%rbp)
jmp 0x23846
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x70(%rbp)
movl -0xb8(%rbp), %eax
cmpl -0xa8(%rbp), %eax
jne 0x239b1
movsd -0x70(%rbp), %xmm0
addsd -0x60(%rbp), %xmm0
movq -0x28(%rbp), %rax
movslq -0xa8(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
cmpl $0x0, -0x8(%rbp)
je 0x2399d
movsd -0x70(%rbp), %xmm0
addsd -0x60(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0xa8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xa8(%rbp)
jmp 0x24d49
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
subl $0x1, %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x78(%rbp)
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
subl $0x1, %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
mulsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x68(%rbp)
movl -0xb8(%rbp), %eax
movl -0xa8(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jne 0x24035
movsd -0x78(%rbp), %xmm0
subsd -0x70(%rbp), %xmm0
movsd 0x1b600(%rip), %xmm1    # 0x3f048
divsd %xmm1, %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x40(%rbp), %xmm0
movsd -0x40(%rbp), %xmm2
movsd -0x68(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x48(%rbp)
movsd -0x48(%rbp), %xmm0
movaps 0x1b927(%rip), %xmm1    # 0x3f3a0
pand %xmm1, %xmm0
callq 0x22a0
movsd %xmm0, -0x80(%rbp)
movsd -0x60(%rbp), %xmm0
addsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x70(%rbp)
cmpl $0x0, -0x8(%rbp)
je 0x23aeb
movsd -0x70(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x78(%rbp), %xmm0
addsd -0x60(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
subl $0x1, %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
xorps %xmm0, %xmm0
ucomisd -0x48(%rbp), %xmm0
jbe 0x23b7d
movsd -0x70(%rbp), %xmm0
addsd -0x40(%rbp), %xmm0
movq -0x28(%rbp), %rax
movl -0xa8(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x80(%rbp), %xmm0
movq 0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x70(%rbp), %xmm0
addsd -0x40(%rbp), %xmm0
movq -0x28(%rbp), %rax
movslq -0xa8(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x80(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movq 0x10(%rbp), %rax
movslq -0xa8(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x24021
xorps %xmm0, %xmm0
ucomisd -0x40(%rbp), %xmm0
jbe 0x23b9b
movsd -0x40(%rbp), %xmm0
subsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x188(%rbp)
jmp 0x23bad
movsd -0x40(%rbp), %xmm0
addsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x188(%rbp)
movsd -0x188(%rbp), %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0x70(%rbp), %xmm0
addsd -0x80(%rbp), %xmm0
movq -0x28(%rbp), %rax
movl -0xa8(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x80(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x23bfd
jp 0x23bfd
movsd -0x70(%rbp), %xmm0
addsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x190(%rbp)
jmp 0x23c18
movsd -0x70(%rbp), %xmm0
movsd -0x68(%rbp), %xmm1
divsd -0x80(%rbp), %xmm1
subsd %xmm1, %xmm0
movsd %xmm0, -0x190(%rbp)
movsd -0x190(%rbp), %xmm0
movq -0x28(%rbp), %rax
movslq -0xa8(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
cmpl $0x0, -0x8(%rbp)
je 0x2401f
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x70(%rbp)
movsd -0x70(%rbp), %xmm0
movaps 0x1b734(%rip), %xmm1    # 0x3f3a0
pand %xmm1, %xmm0
movsd -0x80(%rbp), %xmm1
movaps 0x1b724(%rip), %xmm2    # 0x3f3a0
pand %xmm2, %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0x58(%rbp)
movsd -0x70(%rbp), %xmm0
divsd -0x58(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x80(%rbp), %xmm0
divsd -0x58(%rbp), %xmm0
movsd %xmm0, -0x48(%rbp)
movsd -0x40(%rbp), %xmm0
movsd -0x40(%rbp), %xmm2
movsd -0x48(%rbp), %xmm1
mulsd -0x48(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
callq 0x22a0
movsd %xmm0, -0x50(%rbp)
movsd -0x50(%rbp), %xmm1
movsd -0x40(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x50(%rbp), %xmm1
movsd -0x48(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x48(%rbp)
movl -0xa8(%rbp), %eax
subl $0x1, %eax
movl %eax, -0xb0(%rbp)
movl -0xb0(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x23e01
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
subl $0x1, %ecx
imull -0x14(%rbp), %ecx
addl -0xb0(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0x48(%rbp), %xmm0
movsd -0x80(%rbp), %xmm2
movsd -0x40(%rbp), %xmm1
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xb0(%rbp), %ecx
movslq %ecx, %rcx
mulsd (%rax,%rcx,8), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
subl $0x1, %ecx
imull -0x14(%rbp), %ecx
addl -0xb0(%rbp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x48(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xb0(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm2
movsd -0x40(%rbp), %xmm1
mulsd -0x80(%rbp), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xb0(%rbp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0xb0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xb0(%rbp)
jmp 0x23d02
movl $0x0, -0xac(%rbp)
movl -0xac(%rbp), %eax
cmpl -0xa8(%rbp), %eax
jg 0x23f11
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0x48(%rbp), %xmm0
movsd -0x80(%rbp), %xmm2
movsd -0x40(%rbp), %xmm1
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
mulsd (%rax,%rcx,8), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x48(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm2
movsd -0x40(%rbp), %xmm1
mulsd -0x80(%rbp), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
jmp 0x23e0b
movl -0x18(%rbp), %eax
movl %eax, -0xac(%rbp)
movl -0xac(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jg 0x2401d
movq 0x18(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0x48(%rbp), %xmm0
movsd -0x80(%rbp), %xmm2
movsd -0x40(%rbp), %xmm1
movq 0x18(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
mulsd (%rax,%rcx,8), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x18(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x48(%rbp), %xmm0
movq 0x18(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm2
movsd -0x40(%rbp), %xmm1
mulsd -0x80(%rbp), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x18(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
jmp 0x23f1a
jmp 0x2401f
jmp 0x24021
movl -0xa8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0xa8(%rbp)
jmp 0x24d49
cmpl $0x1e, -0xa4(%rbp)
jne 0x2404a
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x260a7
cmpl $0x0, -0xa4(%rbp)
je 0x24161
movl -0xa4(%rbp), %eax
movl $0xa, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x24161
movsd -0x70(%rbp), %xmm0
addsd -0x60(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
movl -0x18(%rbp), %eax
movl %eax, -0xac(%rbp)
movl -0xac(%rbp), %eax
cmpl -0xa8(%rbp), %eax
jg 0x240cf
movsd -0x70(%rbp), %xmm1
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xac(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
jmp 0x24086
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movaps 0x1b2a9(%rip), %xmm1    # 0x3f3a0
pand %xmm1, %xmm0
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
subl $0x1, %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x2, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movaps 0x1b27a(%rip), %xmm2    # 0x3f3a0
pand %xmm2, %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0x58(%rbp)
movsd 0x1af7d(%rip), %xmm0    # 0x3f0b8
mulsd -0x58(%rbp), %xmm0
movsd %xmm0, -0x78(%rbp)
movsd %xmm0, -0x70(%rbp)
movsd 0x22e86(%rip), %xmm0    # 0x46fd8
mulsd -0x58(%rbp), %xmm0
mulsd -0x58(%rbp), %xmm0
movsd %xmm0, -0x68(%rbp)
movl -0xa4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa4(%rbp)
movl -0xa8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0xbc(%rbp)
movl -0xbc(%rbp), %eax
cmpl -0xb8(%rbp), %eax
jl 0x24434
movq -0x10(%rbp), %rax
movl -0xbc(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xbc(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0x70(%rbp), %xmm0
subsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x78(%rbp), %xmm0
subsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x58(%rbp)
movsd -0x50(%rbp), %xmm0
movsd -0x58(%rbp), %xmm2
movsd -0x68(%rbp), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x10(%rbp), %rax
movl -0xbc(%rbp), %ecx
addl $0x1, %ecx
imull -0x14(%rbp), %ecx
addl -0xbc(%rbp), %ecx
movslq %ecx, %rcx
divsd (%rax,%rcx,8), %xmm0
movq -0x10(%rbp), %rax
movl -0xbc(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xbc(%rbp), %edx
addl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
addsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x40(%rbp)
movq -0x10(%rbp), %rax
movl -0xbc(%rbp), %ecx
addl $0x1, %ecx
imull -0x14(%rbp), %ecx
movl -0xbc(%rbp), %edx
addl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
subsd -0x80(%rbp), %xmm0
subsd -0x50(%rbp), %xmm0
subsd -0x58(%rbp), %xmm0
movsd %xmm0, -0x48(%rbp)
movq -0x10(%rbp), %rax
movl -0xbc(%rbp), %ecx
addl $0x2, %ecx
imull -0x14(%rbp), %ecx
movl -0xbc(%rbp), %edx
addl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x40(%rbp), %xmm0
movaps 0x1b0f0(%rip), %xmm1    # 0x3f3a0
pand %xmm1, %xmm0
movsd -0x48(%rbp), %xmm1
movaps 0x1b0e0(%rip), %xmm2    # 0x3f3a0
pand %xmm2, %xmm1
addsd %xmm1, %xmm0
movsd -0x50(%rbp), %xmm1
movaps 0x1b0cc(%rip), %xmm2    # 0x3f3a0
pand %xmm2, %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0x58(%rbp)
movsd -0x58(%rbp), %xmm1
movsd -0x40(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x58(%rbp), %xmm1
movsd -0x48(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x48(%rbp)
movsd -0x58(%rbp), %xmm1
movsd -0x50(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x50(%rbp)
movl -0xbc(%rbp), %eax
cmpl -0xb8(%rbp), %eax
je 0x2441c
movq -0x10(%rbp), %rax
movl -0xbc(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xbc(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movaps 0x1b04c(%rip), %xmm0    # 0x3f3a0
pand %xmm0, %xmm1
movsd -0x48(%rbp), %xmm0
movaps 0x1b03c(%rip), %xmm2    # 0x3f3a0
pand %xmm2, %xmm0
movsd -0x50(%rbp), %xmm2
movaps 0x1b02c(%rip), %xmm3    # 0x3f3a0
pand %xmm3, %xmm2
addsd %xmm2, %xmm0
mulsd %xmm0, %xmm1
movsd -0xa0(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xbc(%rbp), %ecx
subl $0x1, %ecx
imull -0x14(%rbp), %ecx
movl -0xbc(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm2
movaps 0x1afed(%rip), %xmm3    # 0x3f3a0
pand %xmm3, %xmm2
movsd -0x80(%rbp), %xmm3
movaps 0x1afdd(%rip), %xmm4    # 0x3f3a0
pand %xmm4, %xmm3
addsd %xmm3, %xmm2
movq -0x10(%rbp), %rax
movl -0xbc(%rbp), %ecx
addl $0x1, %ecx
imull -0x14(%rbp), %ecx
movl -0xbc(%rbp), %edx
addl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm3
movaps 0x1afaa(%rip), %xmm4    # 0x3f3a0
pand %xmm4, %xmm3
addsd %xmm3, %xmm2
mulsd %xmm2, %xmm0
movsd -0x40(%rbp), %xmm2
movaps 0x1af92(%rip), %xmm3    # 0x3f3a0
pand %xmm3, %xmm2
mulsd %xmm2, %xmm0
ucomisd %xmm1, %xmm0
jb 0x2441e
jmp 0x24434
jmp 0x24420
movl -0xbc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xbc(%rbp)
jmp 0x2417f
movl -0xbc(%rbp), %eax
addl $0x2, %eax
movl %eax, -0xac(%rbp)
movl -0xac(%rbp), %eax
cmpl -0xa8(%rbp), %eax
jg 0x24486
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xac(%rbp), %edx
subl $0x2, %edx
addl %edx, %ecx
movslq %ecx, %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
jmp 0x24443
movl -0xbc(%rbp), %eax
addl $0x3, %eax
movl %eax, -0xac(%rbp)
movl -0xac(%rbp), %eax
cmpl -0xa8(%rbp), %eax
jg 0x244d8
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xac(%rbp), %edx
subl $0x3, %edx
addl %edx, %ecx
movslq %ecx, %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
jmp 0x24495
movl -0xbc(%rbp), %eax
movl %eax, -0xb4(%rbp)
movl -0xb4(%rbp), %eax
cmpl -0xa8(%rbp), %eax
jge 0x24d44
movl -0xb4(%rbp), %eax
cmpl -0xbc(%rbp), %eax
je 0x24636
movq -0x10(%rbp), %rax
movl -0xb4(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xb4(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x40(%rbp)
movq -0x10(%rbp), %rax
movl -0xb4(%rbp), %ecx
addl $0x1, %ecx
imull -0x14(%rbp), %ecx
movl -0xb4(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x48(%rbp)
movl -0xb4(%rbp), %eax
movl -0xa8(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jne 0x24577
xorps %xmm0, %xmm0
movsd %xmm0, -0x198(%rbp)
jmp 0x245a3
movq -0x10(%rbp), %rax
movl -0xb4(%rbp), %ecx
addl $0x2, %ecx
imull -0x14(%rbp), %ecx
movl -0xb4(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x198(%rbp)
movsd -0x198(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x40(%rbp), %xmm0
movaps 0x1ade4(%rip), %xmm1    # 0x3f3a0
pand %xmm1, %xmm0
movsd -0x48(%rbp), %xmm1
movaps 0x1add4(%rip), %xmm2    # 0x3f3a0
pand %xmm2, %xmm1
addsd %xmm1, %xmm0
movsd -0x50(%rbp), %xmm1
movaps 0x1adc0(%rip), %xmm2    # 0x3f3a0
pand %xmm2, %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0x70(%rbp)
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x245fd
jp 0x245fd
jmp 0x24d30
movsd -0x70(%rbp), %xmm1
movsd -0x40(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x70(%rbp), %xmm1
movsd -0x48(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x48(%rbp)
movsd -0x70(%rbp), %xmm1
movsd -0x50(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x40(%rbp), %xmm1
movsd -0x40(%rbp), %xmm2
movsd -0x48(%rbp), %xmm0
mulsd -0x48(%rbp), %xmm0
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd -0x50(%rbp), %xmm0
movsd -0x50(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
callq 0x22a0
movsd %xmm0, -0x58(%rbp)
xorps %xmm0, %xmm0
ucomisd -0x40(%rbp), %xmm0
jbe 0x24699
movsd -0x58(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd %xmm0, -0x58(%rbp)
movl -0xb4(%rbp), %eax
cmpl -0xbc(%rbp), %eax
je 0x246eb
movsd -0x58(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd -0x70(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xb4(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xb4(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x24754
movl -0xb8(%rbp), %eax
cmpl -0xbc(%rbp), %eax
je 0x24752
movq -0x10(%rbp), %rax
movl -0xb4(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xb4(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movq -0x10(%rbp), %rax
movl -0xb4(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xb4(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x24754
movsd -0x58(%rbp), %xmm0
addsd -0x40(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x40(%rbp), %xmm0
divsd -0x58(%rbp), %xmm0
movsd %xmm0, -0x70(%rbp)
movsd -0x48(%rbp), %xmm0
divsd -0x58(%rbp), %xmm0
movsd %xmm0, -0x78(%rbp)
movsd -0x50(%rbp), %xmm0
divsd -0x58(%rbp), %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0x40(%rbp), %xmm1
movsd -0x48(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x48(%rbp)
movsd -0x40(%rbp), %xmm1
movsd -0x50(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x50(%rbp)
movl -0xb4(%rbp), %eax
movl %eax, -0xb0(%rbp)
movl -0xb0(%rbp), %eax
movl %eax, -0x19c(%rbp)
cmpl $0x0, -0x8(%rbp)
jne 0x247e2
movl -0xa8(%rbp), %eax
movl %eax, -0x1a0(%rbp)
jmp 0x247ee
movl -0x14(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x1a0(%rbp)
movl -0x19c(%rbp), %eax
movl -0x1a0(%rbp), %ecx
cmpl %ecx, %eax
jg 0x24994
movq -0x10(%rbp), %rax
movl -0xb4(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xb0(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movsd -0x48(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xb4(%rbp), %ecx
addl $0x1, %ecx
imull -0x14(%rbp), %ecx
addl -0xb0(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x40(%rbp)
movl -0xb4(%rbp), %eax
movl -0xa8(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
je 0x248e9
movsd -0x50(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xb4(%rbp), %ecx
addl $0x2, %ecx
imull -0x14(%rbp), %ecx
addl -0xb0(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm2
movsd -0x40(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x40(%rbp), %xmm0
movsd -0x80(%rbp), %xmm2
movq -0x10(%rbp), %rax
movl -0xb4(%rbp), %ecx
addl $0x2, %ecx
imull -0x14(%rbp), %ecx
addl -0xb0(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movq %xmm0, %rdx
movabsq $-0x8000000000000000, %rsi # imm = 0x8000000000000000
xorq %rsi, %rdx
movq %rdx, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movsd -0x40(%rbp), %xmm0
movsd -0x78(%rbp), %xmm2
movq -0x10(%rbp), %rax
movl -0xb4(%rbp), %ecx
addl $0x1, %ecx
imull -0x14(%rbp), %ecx
addl -0xb0(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movq %xmm0, %rdx
movabsq $-0x8000000000000000, %rsi # imm = 0x8000000000000000
xorq %rsi, %rdx
movq %rdx, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movsd -0x40(%rbp), %xmm0
movsd -0x70(%rbp), %xmm2
movq -0x10(%rbp), %rax
movl -0xb4(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xb0(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movq %xmm0, %rdx
movabsq $-0x8000000000000000, %rsi # imm = 0x8000000000000000
xorq %rsi, %rdx
movq %rdx, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl -0xb0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xb0(%rbp)
jmp 0x247c2
movl -0xa8(%rbp), %eax
movl -0xb4(%rbp), %ecx
addl $0x3, %ecx
cmpl %ecx, %eax
jge 0x249b5
movl -0xa8(%rbp), %eax
movl %eax, -0x1a4(%rbp)
jmp 0x249c4
movl -0xb4(%rbp), %eax
addl $0x3, %eax
movl %eax, -0x1a4(%rbp)
movl -0x1a4(%rbp), %eax
movl %eax, -0xb0(%rbp)
cmpl $0x0, -0x8(%rbp)
jne 0x249e4
movl -0xb8(%rbp), %eax
movl %eax, -0x1a8(%rbp)
jmp 0x249ee
xorl %eax, %eax
movl %eax, -0x1a8(%rbp)
jmp 0x249ee
movl -0x1a8(%rbp), %eax
movl %eax, -0xac(%rbp)
movl -0xac(%rbp), %eax
cmpl -0xb0(%rbp), %eax
jg 0x24b8b
movsd -0x70(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xb4(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm2
movsd -0x78(%rbp), %xmm1
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xb4(%rbp), %edx
addl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
mulsd (%rax,%rcx,8), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x40(%rbp)
movl -0xb4(%rbp), %eax
movl -0xa8(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
je 0x24afe
movsd -0x80(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xb4(%rbp), %edx
addl $0x2, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm2
movsd -0x40(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x40(%rbp), %xmm0
movsd -0x50(%rbp), %xmm2
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xb4(%rbp), %edx
addl $0x2, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movq %xmm0, %rdx
movabsq $-0x8000000000000000, %rsi # imm = 0x8000000000000000
xorq %rsi, %rdx
movq %rdx, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movsd -0x40(%rbp), %xmm0
movsd -0x48(%rbp), %xmm2
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xb4(%rbp), %edx
addl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movq %xmm0, %rdx
movabsq $-0x8000000000000000, %rsi # imm = 0x8000000000000000
xorq %rsi, %rdx
movq %rdx, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movsd -0x40(%rbp), %xmm1
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xb4(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
jmp 0x249fa
cmpl $0x0, -0x8(%rbp)
je 0x24d2e
movl -0x18(%rbp), %eax
movl %eax, -0xac(%rbp)
movl -0xac(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jg 0x24d2c
movsd -0x70(%rbp), %xmm0
movq 0x18(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xb4(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm2
movsd -0x78(%rbp), %xmm1
movq 0x18(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xb4(%rbp), %edx
addl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
mulsd (%rax,%rcx,8), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x40(%rbp)
movl -0xb4(%rbp), %eax
movl -0xa8(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
je 0x24c9f
movsd -0x80(%rbp), %xmm0
movq 0x18(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xb4(%rbp), %edx
addl $0x2, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm2
movsd -0x40(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x40(%rbp), %xmm0
movsd -0x50(%rbp), %xmm2
movq 0x18(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xb4(%rbp), %edx
addl $0x2, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movq %xmm0, %rdx
movabsq $-0x8000000000000000, %rsi # imm = 0x8000000000000000
xorq %rsi, %rdx
movq %rdx, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movsd -0x40(%rbp), %xmm0
movsd -0x48(%rbp), %xmm2
movq 0x18(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xb4(%rbp), %edx
addl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movq %xmm0, %rdx
movabsq $-0x8000000000000000, %rsi # imm = 0x8000000000000000
xorq %rsi, %rdx
movq %rdx, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movsd -0x40(%rbp), %xmm1
movq 0x18(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xb4(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
jmp 0x24b9e
jmp 0x24d2e
jmp 0x24d30
movl -0xb4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xb4(%rbp)
jmp 0x244e4
jmp 0x2383a
jmp 0x23821
cmpl $0x0, -0x8(%rbp)
jne 0x24d60
movl $0x0, -0x4(%rbp)
jmp 0x260a7
movsd -0x98(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x24d78
jp 0x24d78
jmp 0x25f47
movl -0x14(%rbp), %eax
subl $0x1, %eax
movl %eax, -0xa8(%rbp)
cmpl $0x0, -0xa8(%rbp)
jl 0x25d78
movq -0x28(%rbp), %rax
movslq -0xa8(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x40(%rbp)
movq 0x10(%rbp), %rax
movslq -0xa8(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm1
movsd %xmm1, -0x48(%rbp)
xorps %xmm0, %xmm0
ucomisd %xmm1, %xmm0
jbe 0x2596a
movl -0xa8(%rbp), %eax
subl $0x1, %eax
movl %eax, -0xbc(%rbp)
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movaps 0x1a5a1(%rip), %xmm1    # 0x3f3a0
pand %xmm1, %xmm0
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
subl $0x1, %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movaps 0x1a577(%rip), %xmm2    # 0x3f3a0
pand %xmm2, %xmm1
ucomisd %xmm1, %xmm0
jbe 0x24ee7
movsd -0x48(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
divsd (%rax,%rcx,8), %xmm0
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
subl $0x1, %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x40(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
subsd (%rax,%rcx,8), %xmm0
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
divsd (%rax,%rcx,8), %xmm0
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
subl $0x1, %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x25010
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
subl $0x1, %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
xorps %xmm0, %xmm0
callq 0x263b0
movsd %xmm0, -0xe8(%rbp)
movsd %xmm1, -0xe0(%rbp)
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
subl $0x1, %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
subsd -0x40(%rbp), %xmm0
movsd -0x48(%rbp), %xmm1
callq 0x263b0
movsd %xmm0, -0xf8(%rbp)
movsd %xmm1, -0xf0(%rbp)
movsd -0xe8(%rbp), %xmm0
movsd -0xe0(%rbp), %xmm1
movsd -0xf8(%rbp), %xmm2
movsd -0xf0(%rbp), %xmm3
callq 0x26530
movsd %xmm0, -0xd8(%rbp)
movsd %xmm1, -0xd0(%rbp)
movq -0xd8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0xd0(%rbp), %rax
movq %rax, -0x30(%rbp)
movsd -0x38(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
subl $0x1, %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x30(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
subl $0x1, %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd 0x19fcd(%rip), %xmm0    # 0x3f020
movsd %xmm0, (%rax,%rcx,8)
movl -0xa8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0xac(%rbp)
cmpl $0x0, -0xac(%rbp)
jl 0x25965
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xac(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
subsd -0x40(%rbp), %xmm0
movsd %xmm0, -0x68(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x88(%rbp)
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x90(%rbp)
movl -0xbc(%rbp), %eax
movl %eax, -0xb0(%rbp)
movl -0xb0(%rbp), %eax
cmpl -0xa8(%rbp), %eax
jge 0x251a0
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xb0(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x10(%rbp), %rax
movl -0xb0(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm2
movsd -0x88(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x88(%rbp)
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xb0(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x10(%rbp), %rax
movl -0xb0(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm2
movsd -0x90(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x90(%rbp)
movl -0xb0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xb0(%rbp)
jmp 0x250d5
movq 0x10(%rbp), %rax
movslq -0xac(%rbp), %rcx
xorps %xmm0, %xmm0
ucomisd (%rax,%rcx,8), %xmm0
jbe 0x251de
movsd -0x68(%rbp), %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0x88(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x90(%rbp), %xmm0
movsd %xmm0, -0x58(%rbp)
jmp 0x2594f
movl -0xac(%rbp), %eax
movl %eax, -0xbc(%rbp)
movq 0x10(%rbp), %rax
movslq -0xac(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x25316
jp 0x25316
movsd -0x88(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd -0x90(%rbp), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
callq 0x263b0
movsd %xmm0, -0x118(%rbp)
movsd %xmm1, -0x110(%rbp)
movsd -0x68(%rbp), %xmm0
movsd -0x48(%rbp), %xmm1
callq 0x263b0
movsd %xmm0, -0x128(%rbp)
movsd %xmm1, -0x120(%rbp)
movsd -0x118(%rbp), %xmm0
movsd -0x110(%rbp), %xmm1
movsd -0x128(%rbp), %xmm2
movsd -0x120(%rbp), %xmm3
callq 0x26530
movsd %xmm0, -0x108(%rbp)
movsd %xmm1, -0x100(%rbp)
movq -0x108(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x100(%rbp), %rax
movq %rax, -0x30(%rbp)
movsd -0x38(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x30(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x2594d
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xac(%rbp), %edx
addl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x70(%rbp)
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
addl $0x1, %ecx
imull -0x14(%rbp), %ecx
addl -0xac(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x78(%rbp)
movq -0x28(%rbp), %rax
movslq -0xac(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm1
subsd -0x40(%rbp), %xmm1
movq -0x28(%rbp), %rax
movslq -0xac(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm2
subsd -0x40(%rbp), %xmm2
movq 0x10(%rbp), %rax
movslq -0xac(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x10(%rbp), %rax
movslq -0xac(%rbp), %rcx
mulsd (%rax,%rcx,8), %xmm0
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd -0x48(%rbp), %xmm0
movsd -0x48(%rbp), %xmm2
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x38(%rbp)
movq -0x28(%rbp), %rax
movslq -0xac(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
subsd -0x40(%rbp), %xmm0
movsd 0x19c4b(%rip), %xmm1    # 0x3f048
mulsd %xmm1, %xmm0
mulsd -0x48(%rbp), %xmm0
movsd %xmm0, -0x30(%rbp)
movsd -0x38(%rbp), %xmm0
movaps 0x19f89(%rip), %xmm1    # 0x3f3a0
pand %xmm1, %xmm0
movsd -0x30(%rbp), %xmm1
movaps 0x19f79(%rip), %xmm2    # 0x3f3a0
pand %xmm2, %xmm1
addsd %xmm1, %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x254b3
jp 0x254b3
movsd -0xa0(%rbp), %xmm0
mulsd -0x98(%rbp), %xmm0
movsd -0x68(%rbp), %xmm1
movaps 0x19f4a(%rip), %xmm2    # 0x3f3a0
pand %xmm2, %xmm1
movsd -0x48(%rbp), %xmm2
movaps 0x19f3a(%rip), %xmm3    # 0x3f3a0
pand %xmm3, %xmm2
addsd %xmm2, %xmm1
movsd -0x70(%rbp), %xmm2
movaps 0x19f26(%rip), %xmm3    # 0x3f3a0
pand %xmm3, %xmm2
addsd %xmm2, %xmm1
movsd -0x78(%rbp), %xmm2
movaps 0x19f12(%rip), %xmm3    # 0x3f3a0
pand %xmm3, %xmm2
addsd %xmm2, %xmm1
movsd -0x80(%rbp), %xmm2
movaps 0x19efe(%rip), %xmm3    # 0x3f3a0
pand %xmm3, %xmm2
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x38(%rbp)
movsd -0x70(%rbp), %xmm1
movsd -0x50(%rbp), %xmm2
movsd -0x80(%rbp), %xmm0
mulsd -0x88(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd -0x48(%rbp), %xmm0
movsd -0x90(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x70(%rbp), %xmm2
movsd -0x58(%rbp), %xmm3
movsd -0x80(%rbp), %xmm1
mulsd -0x90(%rbp), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm3, %xmm2
addsd %xmm1, %xmm2
movsd -0x48(%rbp), %xmm1
movsd -0x88(%rbp), %xmm3
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
callq 0x263b0
movsd %xmm0, -0x148(%rbp)
movsd %xmm1, -0x140(%rbp)
movsd -0x148(%rbp), %xmm0
movsd -0x140(%rbp), %xmm1
movsd -0x38(%rbp), %xmm2
movsd -0x30(%rbp), %xmm3
callq 0x26530
movsd %xmm0, -0x138(%rbp)
movsd %xmm1, -0x130(%rbp)
movq -0x138(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x130(%rbp), %rax
movq %rax, -0x30(%rbp)
movsd -0x38(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x30(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x70(%rbp), %xmm0
movaps 0x19d93(%rip), %xmm1    # 0x3f3a0
pand %xmm1, %xmm0
movsd -0x80(%rbp), %xmm1
movaps 0x19d83(%rip), %xmm2    # 0x3f3a0
pand %xmm2, %xmm1
movsd -0x48(%rbp), %xmm2
movaps 0x19d73(%rip), %xmm3    # 0x3f3a0
pand %xmm3, %xmm2
addsd %xmm2, %xmm1
ucomisd %xmm1, %xmm0
jbe 0x257c2
movsd -0x88(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd -0x68(%rbp), %xmm1
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm2
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd -0x48(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
divsd -0x70(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
addl $0x1, %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x90(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd -0x68(%rbp), %xmm1
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm2
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd -0x48(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm2
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
divsd -0x70(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
addl $0x1, %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x2594b
movsd -0x50(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
movsd -0x78(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm2
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x58(%rbp), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm2
movsd -0x78(%rbp), %xmm1
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm3
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
callq 0x263b0
movsd %xmm0, -0x168(%rbp)
movsd %xmm1, -0x160(%rbp)
movsd -0x80(%rbp), %xmm0
movsd -0x48(%rbp), %xmm1
callq 0x263b0
movsd %xmm0, -0x178(%rbp)
movsd %xmm1, -0x170(%rbp)
movsd -0x168(%rbp), %xmm0
movsd -0x160(%rbp), %xmm1
movsd -0x178(%rbp), %xmm2
movsd -0x170(%rbp), %xmm3
callq 0x26530
movsd %xmm0, -0x158(%rbp)
movsd %xmm1, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x150(%rbp), %rax
movq %rax, -0x30(%rbp)
movsd -0x38(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
addl $0x1, %ecx
imull -0x14(%rbp), %ecx
movl -0xa8(%rbp), %edx
subl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x30(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
addl $0x1, %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x2594d
jmp 0x2594f
jmp 0x25951
movl -0xac(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xac(%rbp)
jmp 0x25067
jmp 0x25d62
movsd -0x48(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x25d60
jp 0x25d60
movl -0xa8(%rbp), %eax
movl %eax, -0xbc(%rbp)
movq -0x10(%rbp), %rax
movl -0xa8(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd 0x19673(%rip), %xmm0    # 0x3f020
movsd %xmm0, (%rax,%rcx,8)
movl -0xa8(%rbp), %eax
subl $0x1, %eax
movl %eax, -0xac(%rbp)
cmpl $0x0, -0xac(%rbp)
jl 0x25d5e
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xac(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
subsd -0x40(%rbp), %xmm0
movsd %xmm0, -0x68(%rbp)
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x50(%rbp)
movl -0xbc(%rbp), %eax
movl %eax, -0xb0(%rbp)
movl -0xb0(%rbp), %eax
cmpl -0xa8(%rbp), %eax
jge 0x25a8a
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xb0(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x10(%rbp), %rax
movl -0xb0(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm2
movsd -0x50(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x50(%rbp)
movl -0xb0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xb0(%rbp)
jmp 0x25a21
movq 0x10(%rbp), %rax
movslq -0xac(%rbp), %rcx
xorps %xmm0, %xmm0
ucomisd (%rax,%rcx,8), %xmm0
jbe 0x25ab8
movsd -0x68(%rbp), %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0x50(%rbp), %xmm0
movsd %xmm0, -0x58(%rbp)
jmp 0x25d48
movl -0xac(%rbp), %eax
movl %eax, -0xbc(%rbp)
movq 0x10(%rbp), %rax
movslq -0xac(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x25b4b
jp 0x25b4b
movsd -0x68(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x25b09
jp 0x25b09
movsd -0xa0(%rbp), %xmm0
mulsd -0x98(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
movsd -0x50(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
divsd -0x60(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x25d46
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xac(%rbp), %edx
addl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x70(%rbp)
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
addl $0x1, %ecx
imull -0x14(%rbp), %ecx
addl -0xac(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x78(%rbp)
movq -0x28(%rbp), %rax
movslq -0xac(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
subsd -0x40(%rbp), %xmm0
movq -0x28(%rbp), %rax
movslq -0xac(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm2
subsd -0x40(%rbp), %xmm2
movq 0x10(%rbp), %rax
movslq -0xac(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm1
movq 0x10(%rbp), %rax
movslq -0xac(%rbp), %rcx
mulsd (%rax,%rcx,8), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x48(%rbp)
movsd -0x70(%rbp), %xmm0
movsd -0x58(%rbp), %xmm2
movsd -0x80(%rbp), %xmm1
mulsd -0x50(%rbp), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
divsd -0x48(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
movsd -0x60(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x70(%rbp), %xmm1
movaps 0x1974a(%rip), %xmm0    # 0x3f3a0
pand %xmm0, %xmm1
movsd -0x80(%rbp), %xmm0
movaps 0x1973a(%rip), %xmm2    # 0x3f3a0
pand %xmm2, %xmm0
ucomisd %xmm1, %xmm0
jb 0x25cdb
movsd -0x58(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
movsd -0x78(%rbp), %xmm0
movsd -0x60(%rbp), %xmm2
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
divsd -0x80(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
addl $0x1, %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x25d44
movsd -0x50(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
movsd -0x68(%rbp), %xmm0
movsd -0x60(%rbp), %xmm2
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
divsd -0x70(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
addl $0x1, %ecx
imull -0x14(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x25d46
jmp 0x25d48
jmp 0x25d4a
movl -0xac(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xac(%rbp)
jmp 0x259c1
jmp 0x25d60
jmp 0x25d62
jmp 0x25d64
movl -0xa8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xa8(%rbp)
jmp 0x24d84
movl $0x0, -0xac(%rbp)
movl -0xac(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x25e1f
movl -0xac(%rbp), %eax
cmpl -0x18(%rbp), %eax
jl 0x25da7
movl -0xac(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jle 0x25e09
movl -0xac(%rbp), %eax
movl %eax, -0xb0(%rbp)
movl -0xb0(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x25e07
movq -0x10(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xb0(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x18(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xb0(%rbp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0xb0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xb0(%rbp)
jmp 0x25db3
jmp 0x25e09
jmp 0x25e0b
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
jmp 0x25d82
movl -0x14(%rbp), %eax
subl $0x1, %eax
movl %eax, -0xb0(%rbp)
movl -0xb0(%rbp), %eax
cmpl -0x18(%rbp), %eax
jl 0x25f45
movl -0xb0(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x25e53
movl -0xb0(%rbp), %eax
movl %eax, -0x1ac(%rbp)
jmp 0x25e5c
movl -0x1c(%rbp), %eax
movl %eax, -0x1ac(%rbp)
movl -0x1ac(%rbp), %eax
movl %eax, -0xbc(%rbp)
movl -0x18(%rbp), %eax
movl %eax, -0xac(%rbp)
movl -0xac(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jg 0x25f2f
xorps %xmm0, %xmm0
movsd %xmm0, -0x80(%rbp)
movl -0x18(%rbp), %eax
movl %eax, -0xb4(%rbp)
movl -0xb4(%rbp), %eax
cmpl -0xbc(%rbp), %eax
jg 0x25efa
movq 0x18(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xb4(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x10(%rbp), %rax
movl -0xb4(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xb0(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm2
movsd -0x80(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x80(%rbp)
movl -0xb4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xb4(%rbp)
jmp 0x25e91
movsd -0x80(%rbp), %xmm0
movq 0x18(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xb0(%rbp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
jmp 0x25e71
jmp 0x25f31
movl -0xb0(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xb0(%rbp)
jmp 0x25e2b
jmp 0x25f47
movl $0x0, -0xb0(%rbp)
movl -0xb0(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x260a0
movq 0x10(%rbp), %rax
movslq -0xb0(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x25f80
jp 0x25f80
jmp 0x2608a
movl $0x0, -0xac(%rbp)
movl -0xac(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x2607b
movq 0x18(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xb0(%rbp), %edx
addl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x20(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xb0(%rbp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x18(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xb0(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x18(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xb0(%rbp), %edx
addl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x20(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
addl -0xb0(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movq 0x20(%rbp), %rax
movl -0xac(%rbp), %ecx
imull -0x14(%rbp), %ecx
movl -0xb0(%rbp), %edx
addl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
jmp 0x25f8a
movl -0xb0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xb0(%rbp)
jmp 0x2608c
movl -0xb0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xb0(%rbp)
jmp 0x25f51
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x1b0, %rsp            # imm = 0x1B0
popq %rbp
retq
nopw %cs:(%rax,%rax)