// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../tools/evolver_ndf15.c
// Function: fzero_Newton
int fzero_Newton(int (*func)(double *x,
                             int x_size,
                             void *param,
                             double *F,
                             ErrorMsg error_message),
                 double *x_inout,
                 double *dxdF,
                 int x_size,
                 double tolx,
                 double tolF,
                 void *param,
                 int *fevals,
                 ErrorMsg error_message){
  /**Given an initial guess x[1..n] for a root in n dimensions,
     take ntrial Newton-Raphson steps to improve the root.
     Stop if the root converges in either summed absolute
     variable increments tolx or summed absolute function values tolf.*/
  int k,i,j,*indx, ntrial=20;
  double errx,errf,d,*F0,*Fdel,**Fjac,*p, *lu_work;
  int has_converged = _FALSE_;
  int funcreturn;
  double toljac = 1e-3;
  double *delx;

  /** All arrays are indexed as [0, n-1] with the exception of p, indx,
      lu_work and Fjac, since they are passed to ludcmp and lubksb. */
  class_alloc(indx, sizeof(int)*(x_size+1), error_message);
  class_alloc(p, sizeof(double)*(x_size+1), error_message);
  class_alloc(lu_work, sizeof(double)*(x_size+1), error_message);
  class_alloc(Fjac, sizeof(double *)*(x_size+1), error_message);
  Fjac[0] = NULL;
  class_alloc(Fjac[1], sizeof(double)*(x_size*x_size+1), error_message);
  for (i=2; i<=x_size; i++){
    Fjac[i] = Fjac[i-1] + x_size;
  }

  class_alloc(F0, sizeof(double)*x_size, error_message);
  class_alloc(delx, sizeof(double)*x_size, error_message);
  class_alloc(Fdel, sizeof(double)*x_size, error_message);

  for (i=1; i<=x_size; i++){
    delx[i-1] = toljac*dxdF[i-1];
  }

  for (k=1;k<=ntrial;k++) {
    /** Compute F(x): */
    /**printf("x = [%f, %f], delx = [%e, %e]\n",
       x_inout[0],x_inout[1],delx[0],delx[1]);*/
    class_call(func(x_inout, x_size, param, F0, error_message),
               error_message, error_message);
    /**    printf("F0 = [%f, %f]\n",F0[0],F0[1]);*/
    *fevals = *fevals + 1;
    errf=0.0; //fvec and Jacobian matrix in fjac.
    for (i=1; i<=x_size; i++)
      errf += fabs(F0[i-1]); //Check function convergence.
    if (errf <= tolF){
      has_converged = _TRUE_;
      break;
    }

    /**
    if (k==1){
      for (i=1; i<=x_size; i++){
        delx[i-1] *= F0[i-1];
      }
    }
    */

    /** Compute the jacobian of F: */
    for (i=1; i<=x_size; i++){
      if (F0[i-1]<0.0)
        delx[i-1] *= -1;
      x_inout[i-1] += delx[i-1];

      /**      printf("x = [%f, %f], delx = [%e, %e]\n",
               x_inout[0],x_inout[1],delx[0],delx[1]);*/
      class_call(func(x_inout, x_size, param, Fdel, error_message),
                 error_message, error_message);
      /**      printf("F = [%f, %f]\n",Fdel[0],Fdel[1]);*/
      for (j=1; j<=x_size; j++)
        Fjac[j][i] = (Fdel[j-1]-F0[j-1])/delx[i-1];
      x_inout[i-1] -= delx[i-1];
    }
    *fevals = *fevals + x_size;

    for (i=1; i<=x_size; i++)
      p[i] = -F0[i-1]; //Right-hand side of linear equations.
    funcreturn = ludcmp(Fjac, x_size, indx, &d, lu_work); //Solve linear equations using LU decomposition.
    class_test(funcreturn == _FAILURE_,error_message,
               "Failure in ludcmp. Possibly singular matrix!");
    funcreturn = lubksb(Fjac, x_size, indx, p);
    class_test(funcreturn == _FAILURE_,error_message,
               "Failure in lubksb. Possibly singular matrix!");
    errx=0.0; //Check root convergence.
    for (i=1; i<=x_size; i++) { //Update solution.
      errx += fabs(p[i]);
      x_inout[i-1] += p[i];
    }
    if (errx <= tolx){
      has_converged = _TRUE_;
      break;
    }
  }

  free(p);
  free(lu_work);
  free(indx);
  free(Fjac[1]);
  free(Fjac);
  free(F0);
  free(delx);
  free(Fdel);

  if (has_converged == _TRUE_){
    return _SUCCESS_;
  }
  else{
    class_stop(error_message, "Newton's method failed to converge. Try improving initial guess on the parameters, decrease the tolerance requirements to Newtons method or increase the precision of the input function.\n");
  }
}

// Assembly:
subq $0x8138, %rsp           # imm = 0x8138
movq 0x8140(%rsp), %rax
movq %rdi, 0x8128(%rsp)
movq %rsi, 0x8120(%rsp)
movq %rdx, 0x8118(%rsp)
movl %ecx, 0x8114(%rsp)
movsd %xmm0, 0x8108(%rsp)
movsd %xmm1, 0x8100(%rsp)
movq %r8, 0x80f8(%rsp)
movq %r9, 0x80f0(%rsp)
movl $0x14, 0x80d4(%rsp)
movl $0x0, 0x808c(%rsp)
movsd 0x1ba74a(%rip), %xmm0   # 0x1d2cd8
movsd %xmm0, 0x8080(%rsp)
movl 0x8114(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rdi
shlq $0x2, %rdi
callq 0x8460
movq %rax, 0x80d8(%rsp)
cmpq $0x0, 0x80d8(%rsp)
jne 0x18635
movl 0x8114(%rsp), %eax
addl $0x1, %eax
cltq
shlq $0x2, %rax
movl %eax, 0x8074(%rsp)
leaq 0x7870(%rsp), %rdi
movl 0x8074(%rsp), %ecx
leaq 0x1b9a17(%rip), %rsi    # 0x1d2004
leaq 0x1bac1b(%rip), %rdx    # 0x1d320f
movb $0x0, %al
callq 0x5b9c0
movq 0x8140(%rsp), %rdi
leaq 0x7870(%rsp), %r8
leaq 0x1b9a22(%rip), %rsi    # 0x1d2034
leaq 0x1babfb(%rip), %rdx    # 0x1d3214
movl $0x448, %ecx            # imm = 0x448
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x8134(%rsp)
jmp 0x192a6
movl 0x8114(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, 0x8098(%rsp)
cmpq $0x0, 0x8098(%rsp)
jne 0x186d3
movl 0x8114(%rsp), %eax
addl $0x1, %eax
cltq
shlq $0x3, %rax
movl %eax, 0x786c(%rsp)
leaq 0x7060(%rsp), %rdi
movl 0x786c(%rsp), %ecx
leaq 0x1b9979(%rip), %rsi    # 0x1d2004
leaq 0x1bb83f(%rip), %rdx    # 0x1d3ed1
movb $0x0, %al
callq 0x5b9c0
movq 0x8140(%rsp), %rdi
leaq 0x7060(%rsp), %r8
leaq 0x1b9984(%rip), %rsi    # 0x1d2034
leaq 0x1bab5d(%rip), %rdx    # 0x1d3214
movl $0x449, %ecx            # imm = 0x449
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x8134(%rsp)
jmp 0x192a6
movl 0x8114(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, 0x8090(%rsp)
cmpq $0x0, 0x8090(%rsp)
jne 0x18771
movl 0x8114(%rsp), %eax
addl $0x1, %eax
cltq
shlq $0x3, %rax
movl %eax, 0x705c(%rsp)
leaq 0x6850(%rsp), %rdi
movl 0x705c(%rsp), %ecx
leaq 0x1b98db(%rip), %rsi    # 0x1d2004
leaq 0x1baaf1(%rip), %rdx    # 0x1d3221
movb $0x0, %al
callq 0x5b9c0
movq 0x8140(%rsp), %rdi
leaq 0x6850(%rsp), %r8
leaq 0x1b98e6(%rip), %rsi    # 0x1d2034
leaq 0x1baabf(%rip), %rdx    # 0x1d3214
movl $0x44a, %ecx            # imm = 0x44A
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x8134(%rsp)
jmp 0x192a6
movl 0x8114(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, 0x80a0(%rsp)
cmpq $0x0, 0x80a0(%rsp)
jne 0x1880f
movl 0x8114(%rsp), %eax
addl $0x1, %eax
cltq
shlq $0x3, %rax
movl %eax, 0x684c(%rsp)
leaq 0x6040(%rsp), %rdi
movl 0x684c(%rsp), %ecx
leaq 0x1b983d(%rip), %rsi    # 0x1d2004
leaq 0x1baa5b(%rip), %rdx    # 0x1d3229
movb $0x0, %al
callq 0x5b9c0
movq 0x8140(%rsp), %rdi
leaq 0x6040(%rsp), %r8
leaq 0x1b9848(%rip), %rsi    # 0x1d2034
leaq 0x1baa21(%rip), %rdx    # 0x1d3214
movl $0x44b, %ecx            # imm = 0x44B
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x8134(%rsp)
jmp 0x192a6
movq 0x80a0(%rsp), %rax
movq $0x0, (%rax)
movl 0x8114(%rsp), %eax
imull 0x8114(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x80a0(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x80a0(%rsp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x188d7
movl 0x8114(%rsp), %eax
imull 0x8114(%rsp), %eax
addl $0x1, %eax
cltq
shlq $0x3, %rax
movl %eax, 0x603c(%rsp)
leaq 0x5830(%rsp), %rdi
movl 0x603c(%rsp), %ecx
leaq 0x1b9775(%rip), %rsi    # 0x1d2004
leaq 0x1ba998(%rip), %rdx    # 0x1d322e
movb $0x0, %al
callq 0x5b9c0
movq 0x8140(%rsp), %rdi
leaq 0x5830(%rsp), %r8
leaq 0x1b9780(%rip), %rsi    # 0x1d2034
leaq 0x1ba959(%rip), %rdx    # 0x1d3214
movl $0x44d, %ecx            # imm = 0x44D
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x8134(%rsp)
jmp 0x192a6
movl $0x2, 0x80e8(%rsp)
movl 0x80e8(%rsp), %eax
cmpl 0x8114(%rsp), %eax
jg 0x18941
movq 0x80a0(%rsp), %rax
movl 0x80e8(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdx
movslq 0x8114(%rsp), %rax
shlq $0x3, %rax
addq %rax, %rdx
movq 0x80a0(%rsp), %rax
movslq 0x80e8(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movl 0x80e8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x80e8(%rsp)
jmp 0x188e2
movslq 0x8114(%rsp), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, 0x80b0(%rsp)
cmpq $0x0, 0x80b0(%rsp)
jne 0x189d6
movslq 0x8114(%rsp), %rax
shlq $0x3, %rax
movl %eax, 0x582c(%rsp)
leaq 0x5020(%rsp), %rdi
movl 0x582c(%rsp), %ecx
leaq 0x1b9676(%rip), %rsi    # 0x1d2004
leaq 0x1ba8a1(%rip), %rdx    # 0x1d3236
movb $0x0, %al
callq 0x5b9c0
movq 0x8140(%rsp), %rdi
leaq 0x5020(%rsp), %r8
leaq 0x1b9681(%rip), %rsi    # 0x1d2034
leaq 0x1ba85a(%rip), %rdx    # 0x1d3214
movl $0x452, %ecx            # imm = 0x452
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x8134(%rsp)
jmp 0x192a6
movslq 0x8114(%rsp), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, 0x8078(%rsp)
cmpq $0x0, 0x8078(%rsp)
jne 0x18a6b
movslq 0x8114(%rsp), %rax
shlq $0x3, %rax
movl %eax, 0x501c(%rsp)
leaq 0x4810(%rsp), %rdi
movl 0x501c(%rsp), %ecx
leaq 0x1b95e1(%rip), %rsi    # 0x1d2004
leaq 0x1ba80f(%rip), %rdx    # 0x1d3239
movb $0x0, %al
callq 0x5b9c0
movq 0x8140(%rsp), %rdi
leaq 0x4810(%rsp), %r8
leaq 0x1b95ec(%rip), %rsi    # 0x1d2034
leaq 0x1ba7c5(%rip), %rdx    # 0x1d3214
movl $0x453, %ecx            # imm = 0x453
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x8134(%rsp)
jmp 0x192a6
movslq 0x8114(%rsp), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, 0x80a8(%rsp)
cmpq $0x0, 0x80a8(%rsp)
jne 0x18b00
movslq 0x8114(%rsp), %rax
shlq $0x3, %rax
movl %eax, 0x480c(%rsp)
leaq 0x4000(%rsp), %rdi
movl 0x480c(%rsp), %ecx
leaq 0x1b954c(%rip), %rsi    # 0x1d2004
leaq 0x1baabf(%rip), %rdx    # 0x1d357e
movb $0x0, %al
callq 0x5b9c0
movq 0x8140(%rsp), %rdi
leaq 0x4000(%rsp), %r8
leaq 0x1b9557(%rip), %rsi    # 0x1d2034
leaq 0x1ba730(%rip), %rdx    # 0x1d3214
movl $0x454, %ecx            # imm = 0x454
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x8134(%rsp)
jmp 0x192a6
movl $0x1, 0x80e8(%rsp)
movl 0x80e8(%rsp), %eax
cmpl 0x8114(%rsp), %eax
jg 0x18b6b
movsd 0x8080(%rsp), %xmm0
movq 0x8118(%rsp), %rax
movl 0x80e8(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
mulsd (%rax,%rcx,8), %xmm0
movq 0x8078(%rsp), %rax
movl 0x80e8(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movl 0x80e8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x80e8(%rsp)
jmp 0x18b0b
movl $0x1, 0x80ec(%rsp)
movl 0x80ec(%rsp), %eax
cmpl 0x80d4(%rsp), %eax
jg 0x191c4
movq 0x8128(%rsp), %rax
movq 0x8120(%rsp), %rdi
movl 0x8114(%rsp), %esi
movq 0x80f8(%rsp), %rdx
movq 0x80b0(%rsp), %rcx
movq 0x8140(%rsp), %r8
callq *%rax
cmpl $0x1, %eax
jne 0x18c1f
leaq 0x3800(%rsp), %rdi
movq 0x8140(%rsp), %rcx
leaq 0x1b9801(%rip), %rsi    # 0x1d23d8
leaq 0x1ba660(%rip), %rdx    # 0x1d323e
movb $0x0, %al
callq 0x5b9c0
movq 0x8140(%rsp), %rdi
leaq 0x3800(%rsp), %r8
leaq 0x1b9438(%rip), %rsi    # 0x1d2034
leaq 0x1ba611(%rip), %rdx    # 0x1d3214
movl $0x45f, %ecx            # imm = 0x45F
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x8134(%rsp)
jmp 0x192a6
movq 0x80f0(%rsp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movq 0x80f0(%rsp), %rax
movl %ecx, (%rax)
xorps %xmm0, %xmm0
movsd %xmm0, 0x80c0(%rsp)
movl $0x1, 0x80e8(%rsp)
movl 0x80e8(%rsp), %eax
cmpl 0x8114(%rsp), %eax
jg 0x18ca7
movq 0x80b0(%rsp), %rax
movl 0x80e8(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movaps 0x1b95b2(%rip), %xmm1   # 0x1d2230
pand %xmm1, %xmm0
addsd 0x80c0(%rsp), %xmm0
movsd %xmm0, 0x80c0(%rsp)
movl 0x80e8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x80e8(%rsp)
jmp 0x18c4d
movsd 0x80c0(%rsp), %xmm1
movsd 0x8100(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jb 0x18ccf
movl $0x1, 0x808c(%rsp)
jmp 0x191c4
movl $0x1, 0x80e8(%rsp)
movl 0x80e8(%rsp), %eax
cmpl 0x8114(%rsp), %eax
jg 0x18ef9
movq 0x80b0(%rsp), %rax
movl 0x80e8(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
xorps %xmm0, %xmm0
ucomisd (%rax,%rcx,8), %xmm0
jbe 0x18d34
movq 0x8078(%rsp), %rax
movl 0x80e8(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd 0x1b9aa6(%rip), %xmm0   # 0x1d27d0
mulsd (%rax,%rcx,8), %xmm0
movsd %xmm0, (%rax,%rcx,8)
movq 0x8078(%rsp), %rax
movl 0x80e8(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x8120(%rsp), %rax
movl 0x80e8(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
addsd (%rax,%rcx,8), %xmm0
movsd %xmm0, (%rax,%rcx,8)
movq 0x8128(%rsp), %rax
movq 0x8120(%rsp), %rdi
movl 0x8114(%rsp), %esi
movq 0x80f8(%rsp), %rdx
movq 0x80a8(%rsp), %rcx
movq 0x8140(%rsp), %r8
callq *%rax
cmpl $0x1, %eax
jne 0x18e02
leaq 0x3000(%rsp), %rdi
movq 0x8140(%rsp), %rcx
leaq 0x1b961e(%rip), %rsi    # 0x1d23d8
leaq 0x1ba4ad(%rip), %rdx    # 0x1d326e
movb $0x0, %al
callq 0x5b9c0
movq 0x8140(%rsp), %rdi
leaq 0x3000(%rsp), %r8
leaq 0x1b9255(%rip), %rsi    # 0x1d2034
leaq 0x1ba42e(%rip), %rdx    # 0x1d3214
movl $0x47b, %ecx            # imm = 0x47B
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x8134(%rsp)
jmp 0x192a6
movl $0x1, 0x80e4(%rsp)
movl 0x80e4(%rsp), %eax
cmpl 0x8114(%rsp), %eax
jg 0x18ea6
movq 0x80a8(%rsp), %rax
movl 0x80e4(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x80b0(%rsp), %rax
movl 0x80e4(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
subsd (%rax,%rcx,8), %xmm0
movq 0x8078(%rsp), %rax
movl 0x80e8(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
divsd (%rax,%rcx,8), %xmm0
movq 0x80a0(%rsp), %rax
movslq 0x80e4(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq 0x80e8(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl 0x80e4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x80e4(%rsp)
jmp 0x18e0d
movq 0x8078(%rsp), %rax
movl 0x80e8(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movq 0x8120(%rsp), %rax
movl 0x80e8(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl 0x80e8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x80e8(%rsp)
jmp 0x18cda
movq 0x80f0(%rsp), %rax
movl (%rax), %ecx
addl 0x8114(%rsp), %ecx
movq 0x80f0(%rsp), %rax
movl %ecx, (%rax)
movl $0x1, 0x80e8(%rsp)
movl 0x80e8(%rsp), %eax
cmpl 0x8114(%rsp), %eax
jg 0x18f88
movq 0x80b0(%rsp), %rax
movl 0x80e8(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movq 0x8098(%rsp), %rax
movslq 0x80e8(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl 0x80e8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x80e8(%rsp)
jmp 0x18f1f
movq 0x80a0(%rsp), %rdi
movl 0x8114(%rsp), %esi
movq 0x80d8(%rsp), %rdx
movq 0x8090(%rsp), %r8
leaq 0x80b8(%rsp), %rcx
callq 0x18030
movl %eax, 0x8088(%rsp)
cmpl $0x1, 0x8088(%rsp)
jne 0x1903a
leaq 0x2800(%rsp), %rdi
leaq 0x1ba20e(%rip), %rsi    # 0x1d31e2
movb $0x0, %al
callq 0x5b9c0
leaq 0x2000(%rsp), %rdi
leaq 0x2800(%rsp), %rcx
leaq 0x1b9090(%rip), %rsi    # 0x1d2082
leaq 0x1b9f15(%rip), %rdx    # 0x1d2f0e
movb $0x0, %al
callq 0x5b9c0
movq 0x8140(%rsp), %rdi
leaq 0x2000(%rsp), %r8
leaq 0x1b901d(%rip), %rsi    # 0x1d2034
leaq 0x1ba1f6(%rip), %rdx    # 0x1d3214
movl $0x487, %ecx            # imm = 0x487
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x8134(%rsp)
jmp 0x192a6
movq 0x80a0(%rsp), %rdi
movl 0x8114(%rsp), %esi
movq 0x80d8(%rsp), %rdx
movq 0x8098(%rsp), %rcx
callq 0x170e0
movl %eax, 0x8088(%rsp)
cmpl $0x1, 0x8088(%rsp)
jne 0x190e4
leaq 0x1800(%rsp), %rdi
leaq 0x1b9ea8(%rip), %rsi    # 0x1d2f26
movb $0x0, %al
callq 0x5b9c0
leaq 0x1000(%rsp), %rdi
leaq 0x1800(%rsp), %rcx
leaq 0x1b8fe6(%rip), %rsi    # 0x1d2082
leaq 0x1b9e6b(%rip), %rdx    # 0x1d2f0e
movb $0x0, %al
callq 0x5b9c0
movq 0x8140(%rsp), %rdi
leaq 0x1000(%rsp), %r8
leaq 0x1b8f73(%rip), %rsi    # 0x1d2034
leaq 0x1ba14c(%rip), %rdx    # 0x1d3214
movl $0x48a, %ecx            # imm = 0x48A
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x8134(%rsp)
jmp 0x192a6
xorps %xmm0, %xmm0
movsd %xmm0, 0x80c8(%rsp)
movl $0x1, 0x80e8(%rsp)
movl 0x80e8(%rsp), %eax
cmpl 0x8114(%rsp), %eax
jg 0x19187
movq 0x8098(%rsp), %rax
movslq 0x80e8(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movaps 0x1b9109(%rip), %xmm1   # 0x1d2230
pand %xmm1, %xmm0
addsd 0x80c8(%rsp), %xmm0
movsd %xmm0, 0x80c8(%rsp)
movq 0x8098(%rsp), %rax
movslq 0x80e8(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x8120(%rsp), %rax
movl 0x80e8(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
addsd (%rax,%rcx,8), %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl 0x80e8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x80e8(%rsp)
jmp 0x190fb
movsd 0x80c8(%rsp), %xmm1
movsd 0x8108(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jb 0x191ac
movl $0x1, 0x808c(%rsp)
jmp 0x191c4
jmp 0x191ae
movl 0x80ec(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x80ec(%rsp)
jmp 0x18b76
movq 0x8098(%rsp), %rdi
callq 0x8420
movq 0x8090(%rsp), %rdi
callq 0x8420
movq 0x80d8(%rsp), %rdi
callq 0x8420
movq 0x80a0(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x8420
movq 0x80a0(%rsp), %rdi
callq 0x8420
movq 0x80b0(%rsp), %rdi
callq 0x8420
movq 0x8078(%rsp), %rdi
callq 0x8420
movq 0x80a8(%rsp), %rdi
callq 0x8420
cmpl $0x1, 0x808c(%rsp)
jne 0x19247
movl $0x0, 0x8134(%rsp)
jmp 0x192a6
leaq 0x800(%rsp), %rdi
leaq 0x1ba04a(%rip), %rsi    # 0x1d32a0
movb $0x0, %al
callq 0x5b9c0
movq %rsp, %rdi
leaq 0x800(%rsp), %rdx
leaq 0x1b92fe(%rip), %rsi    # 0x1d256d
movb $0x0, %al
callq 0x5b9c0
movq 0x8140(%rsp), %rdi
movq %rsp, %r8
leaq 0x1b8dac(%rip), %rsi    # 0x1d2034
leaq 0x1b9f85(%rip), %rdx    # 0x1d3214
movl $0x4a3, %ecx            # imm = 0x4A3
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x8134(%rsp)
movl 0x8134(%rsp), %eax
addq $0x8138, %rsp           # imm = 0x8138
retq
nopw %cs:(%rax,%rax)
nop