// File: /workspace/github_c_makefile_star2_O0/lesgourg[P]class_public/build/../source/background.c
// Function: background_solve
int background_solve(
                     struct precision *ppr,
                     struct background *pba
                     ) {

  /** Summary: */

  /** - define local variables */

  /* parameters and workspace for the background_derivs function */
  struct background_parameters_and_workspace bpaw;
  /* vector of quantities to be integrated */
  double * pvecback_integration;
  /* vector of all background quantities */
  double * pvecback;
  /* comoving radius coordinate in Mpc (equal to conformal distance in flat case) */
  double comoving_radius=0.;
  /* conformal distance in Mpc (equal to comoving radius in flat case) */
  double conformal_distance;

  /* evolvers */
  extern int evolver_rk(EVOLVER_PROTOTYPE);
  extern int evolver_ndf15(EVOLVER_PROTOTYPE);
  int (*generic_evolver)(EVOLVER_PROTOTYPE) = evolver_ndf15;

  /* initial and final loga values */
  double loga_ini, loga_final;
  /* growth factor today */
  double D_today;
  /* indices for the different arrays */
  int index_loga, index_scf;
  /* what parameters are used in the output? */
  int * used_in_output;

  /* index of ncdm species */
  int n_ncdm;

  /** - setup background workspace */
  bpaw.pba = pba;
  class_alloc(pvecback,pba->bg_size*sizeof(double),pba->error_message);
  bpaw.pvecback = pvecback;

  /** - allocate vector of quantities to be integrated */
  class_alloc(pvecback_integration,pba->bi_size*sizeof(double),pba->error_message);

  /** - impose initial conditions with background_initial_conditions() */
  class_call(background_initial_conditions(ppr,pba,pvecback,pvecback_integration,&(loga_ini)),
             pba->error_message,
             pba->error_message);

  /** - Determine output vector */
  loga_final = 0.; // with our conventions, loga is in fact log(a/a_0); we integrate until today, when log(a/a_0) = 0
  pba->bt_size = ppr->background_Nloga;

  /** - allocate background tables */
  class_alloc(pba->tau_table,pba->bt_size * sizeof(double),pba->error_message);
  class_alloc(pba->z_table,pba->bt_size * sizeof(double),pba->error_message);
  class_alloc(pba->loga_table,pba->bt_size * sizeof(double),pba->error_message);

  class_alloc(pba->d2tau_dz2_table,pba->bt_size * sizeof(double),pba->error_message);
  class_alloc(pba->d2z_dtau2_table,pba->bt_size * sizeof(double),pba->error_message);

  class_alloc(pba->background_table,pba->bt_size * pba->bg_size * sizeof(double),pba->error_message);
  class_alloc(pba->d2background_dloga2_table,pba->bt_size * pba->bg_size * sizeof(double),pba->error_message);

  class_alloc(used_in_output, pba->bt_size*sizeof(int), pba->error_message);

  /** - define values of loga at which results will be stored */
  for (index_loga=0; index_loga<pba->bt_size; index_loga++) {
    pba->loga_table[index_loga] = loga_ini + index_loga*(loga_final-loga_ini)/(pba->bt_size-1);
    used_in_output[index_loga] = 1;
  }

  /** - choose the right evolver */
  switch (ppr->background_evolver) {

  case rk:
    generic_evolver = evolver_rk;
    if (pba->background_verbose > 1) {
      printf("%s\n", "Chose rk as generic_evolver");
    }
    break;

  case ndf15:
    generic_evolver = evolver_ndf15;
    if (pba->background_verbose > 1) {
      printf("%s\n", "Chose ndf15 as generic_evolver");
    }
    break;
  }

  /** - perform the integration */
  class_call(generic_evolver(background_derivs,
                             loga_ini,
                             loga_final,
                             pvecback_integration,
                             used_in_output,
                             pba->bi_size,
                             &bpaw,
                             ppr->tol_background_integration,
                             ppr->smallest_allowed_variation,
                             background_timescale, //'evaluate_timescale', required by evolver_rk but not by ndf15
                             ppr->background_integration_stepsize,
                             pba->loga_table,
                             pba->bt_size,
                             background_sources,
                             NULL, //'print_variables' in evolver_rk could be set, but, not required
                             pba->error_message),
             pba->error_message,
             pba->error_message);

  /** - recover some quantities today */
  /* -> age in Gyears */
  pba->age = pvecback_integration[pba->index_bi_time]/_Gyr_over_Mpc_;
  /* -> conformal age in Mpc */
  pba->conformal_age = pvecback_integration[pba->index_bi_tau];
  /* -> contribution of decaying dark matter and dark radiation to the critical density today: */
  if (pba->has_dcdm == _TRUE_) {
    pba->Omega0_dcdm = pvecback_integration[pba->index_bi_rho_dcdm]/pba->H0/pba->H0;
  }
  if (pba->has_dr == _TRUE_) {
    pba->Omega0_dr = pvecback_integration[pba->index_bi_rho_dr]/pba->H0/pba->H0;
  }
  /* -> scale-invariant growth rate today */
  D_today = pvecback_integration[pba->index_bi_D];

  /** - In a loop over lines, fill rest of background table for
      quantities that depend on numbers like "conformal_age" or
      "D_today" that were calculated just before */
  for (index_loga=0; index_loga < pba->bt_size; index_loga++) {

    pba->background_table[index_loga*pba->bg_size+pba->index_bg_D]*= 1./D_today;

    conformal_distance = pba->conformal_age - pba->tau_table[index_loga];
    pba->background_table[index_loga*pba->bg_size+pba->index_bg_conf_distance] = conformal_distance;

    if (pba->sgnK == 0) { comoving_radius = conformal_distance; }
    else if (pba->sgnK == 1) { comoving_radius = sin(sqrt(pba->K)*conformal_distance)/sqrt(pba->K); }
    else if (pba->sgnK == -1) { comoving_radius = sinh(sqrt(-pba->K)*conformal_distance)/sqrt(-pba->K); }

    pba->background_table[index_loga*pba->bg_size+pba->index_bg_ang_distance] = comoving_radius/(1.+pba->z_table[index_loga]);
    pba->background_table[index_loga*pba->bg_size+pba->index_bg_lum_distance] = comoving_radius*(1.+pba->z_table[index_loga]);
  }

  /** - fill tables of second derivatives (in view of spline interpolation) */
  class_call(array_spline_table_lines(pba->z_table,
                                      pba->bt_size,
                                      pba->tau_table,
                                      1,
                                      pba->d2tau_dz2_table,
                                      _SPLINE_EST_DERIV_,
                                      pba->error_message),
             pba->error_message,
             pba->error_message);

  class_call(array_spline_table_lines(pba->tau_table,
                                      pba->bt_size,
                                      pba->z_table,
                                      1,
                                      pba->d2z_dtau2_table,
                                      _SPLINE_EST_DERIV_,
                                      pba->error_message),
             pba->error_message,
             pba->error_message);

  class_call(array_spline_table_lines(pba->loga_table,
                                      pba->bt_size,
                                      pba->background_table,
                                      pba->bg_size,
                                      pba->d2background_dloga2_table,
                                      _SPLINE_EST_DERIV_,
                                      pba->error_message),
             pba->error_message,
             pba->error_message);

  /** - compute remaining "related parameters" */

  /**  - so-called "effective neutrino number", computed at earliest
       time in interpolation table. This should be seen as a
       definition: Neff is the equivalent number of
       instantaneously-decoupled neutrinos accounting for the
       radiation density, beyond photons */

  pba->Neff = (pba->background_table[pba->index_bg_Omega_r]
               *pba->background_table[pba->index_bg_rho_crit]
               -pba->background_table[pba->index_bg_rho_g])
    /(7./8.*pow(4./11.,4./3.)*pba->background_table[pba->index_bg_rho_g]);

  /** - send information to standard output */
  if (pba->background_verbose > 0) {
    printf(" -> age = %f Gyr\n",pba->age);
    printf(" -> conformal age = %f Mpc\n",pba->conformal_age);
    printf(" -> N_eff = %g (summed over all species that are non-relativistic at early times) \n",pba->Neff);
  }

  if (pba->background_verbose > 2) {
    if ((pba->has_dcdm == _TRUE_)&&(pba->has_dr == _TRUE_)) {
      printf("    Decaying Cold Dark Matter details: (DCDM --> DR)\n");
      printf("     -> Omega0_dcdm = %f\n",pba->Omega0_dcdm);
      printf("     -> Omega0_dr = %f\n",pba->Omega0_dr);
      printf("     -> Omega0_dr+Omega0_dcdm = %f, input value = %f\n",
             pba->Omega0_dr+pba->Omega0_dcdm,pba->Omega0_dcdmdr);
      printf("     -> Omega_ini_dcdm/Omega_b = %f\n",pba->Omega_ini_dcdm/pba->Omega0_b);
    }
    if (pba->has_scf == _TRUE_) {
      printf("    Scalar field details:\n");
      printf("     -> Omega_scf = %g, wished %g\n",
             pba->background_table[(pba->bt_size-1)*pba->bg_size+pba->index_bg_rho_scf]/pba->background_table[(pba->bt_size-1)*pba->bg_size+pba->index_bg_rho_crit], pba->Omega0_scf);
      if (pba->has_lambda == _TRUE_) {
        printf("     -> Omega_Lambda = %g, wished %g\n",
               pba->background_table[(pba->bt_size-1)*pba->bg_size+pba->index_bg_rho_lambda]/pba->background_table[(pba->bt_size-1)*pba->bg_size+pba->index_bg_rho_crit], pba->Omega0_lambda);
      }
      printf("     -> parameters: [lambda, alpha, A, B] = \n");
      printf("                    [");
      for (index_scf=0; index_scf<pba->scf_parameters_size-1; index_scf++) {
        printf("%.3f, ",pba->scf_parameters[index_scf]);
      }
      printf("%.3f]\n",pba->scf_parameters[pba->scf_parameters_size-1]);
    }
  }

  /**  - store information in the background structure */
  pba->Omega0_m = pba->background_table[(pba->bt_size-1)*pba->bg_size+pba->index_bg_Omega_m];
  pba->Omega0_r = pba->background_table[(pba->bt_size-1)*pba->bg_size+pba->index_bg_Omega_r];
  pba->Omega0_de = 1. - (pba->Omega0_m + pba->Omega0_r + pba->Omega0_k);

  /* Compute the density fraction of non-free-streaming matter (in the minimal LambdaCDM model, this would be just Omega_b + Omega_cdm). This definition takes into account interating, decaying and warm dark matter, but it would need to be refined if some part of the matter component was modelled by the fluid (fld) or the scalar field (scf). */
  pba->Omega0_nfsm =  pba->Omega0_b;
  if (pba->has_cdm == _TRUE_)
    pba->Omega0_nfsm += pba->Omega0_cdm;
  if (pba->has_idm == _TRUE_)
    pba->Omega0_nfsm += pba->Omega0_idm;
  if (pba->has_dcdm == _TRUE_)
    pba->Omega0_nfsm += pba->Omega0_dcdm;
  for (n_ncdm=0;n_ncdm<pba->N_ncdm; n_ncdm++) {
    /* here we define non-free-streaming matter as: any non-relatistic species with a dimensionless ratio m/T bigger than a threshold ppr->M_nfsm_threshold; if this threshold is of the order of 10^4, this corresponds to the condition "becoming non-relativistic during radiation domination". Beware: this definition won't work in the case in which the user passes a customised p.s.d. for ncdm, such that M_ncdm is not defined.  */
    if (pba->M_ncdm[n_ncdm] > ppr->M_nfsm_threshold) {
      pba->Omega0_nfsm += pba->Omega0_ncdm[n_ncdm];
    }
  }

  free(pvecback);
  free(pvecback_integration);
  free(used_in_output);

  return _SUCCESS_;

}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x7968, %rsp           # imm = 0x7968
movq %rdi, 0x7958(%rsp)
movq %rsi, 0x7950(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x7928(%rsp)
leaq -0x885d0(%rip), %rax    # 0xf540
movq %rax, 0x7918(%rsp)
movq 0x7950(%rsp), %rax
movq %rax, 0x7940(%rsp)
movq 0x7950(%rsp), %rax
movslq 0x2b0(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, 0x7930(%rsp)
cmpq $0x0, 0x7930(%rsp)
jne 0x97bd2
movq 0x7950(%rsp), %rax
movslq 0x2b0(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x78e8(%rsp)
leaq 0x70e0(%rsp), %rdi
movl 0x78e8(%rsp), %ecx
leaq 0x11f481(%rip), %rsi    # 0x1b7004
leaq 0x1429d2(%rip), %rdx    # 0x1da55c
movb $0x0, %al
callq 0x5b9c0
movq 0x7950(%rsp), %rdi
addq $0xb84, %rdi            # imm = 0xB84
leaq 0x70e0(%rsp), %r8
leaq 0x11f485(%rip), %rsi    # 0x1b7034
leaq 0x139bfc(%rip), %rdx    # 0x1d17b2
movl $0x776, %ecx            # imm = 0x776
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x7964(%rsp)
jmp 0x993b9
movq 0x7930(%rsp), %rax
movq %rax, 0x7948(%rsp)
movq 0x7950(%rsp), %rax
movslq 0x31c(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, 0x7938(%rsp)
cmpq $0x0, 0x7938(%rsp)
jne 0x97c8c
movq 0x7950(%rsp), %rax
movslq 0x31c(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x70dc(%rsp)
leaq 0x68d0(%rsp), %rdi
movl 0x70dc(%rsp), %ecx
leaq 0x11f3c7(%rip), %rsi    # 0x1b7004
leaq 0x139b7f(%rip), %rdx    # 0x1d17c3
movb $0x0, %al
callq 0x5b9c0
movq 0x7950(%rsp), %rdi
addq $0xb84, %rdi            # imm = 0xB84
leaq 0x68d0(%rsp), %r8
leaq 0x11f3cb(%rip), %rsi    # 0x1b7034
leaq 0x139b42(%rip), %rdx    # 0x1d17b2
movl $0x77a, %ecx            # imm = 0x77A
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x7964(%rsp)
jmp 0x993b9
movq 0x7958(%rsp), %rdi
movq 0x7950(%rsp), %rsi
movq 0x7930(%rsp), %rdx
movq 0x7938(%rsp), %rcx
leaq 0x7910(%rsp), %r8
callq 0x9d430
cmpl $0x1, %eax
jne 0x97d2b
leaq 0x60d0(%rsp), %rdi
movq 0x7950(%rsp), %rcx
addq $0xb84, %rcx            # imm = 0xB84
leaq 0x11f6fc(%rip), %rsi    # 0x1b73d8
leaq 0x139af5(%rip), %rdx    # 0x1d17d8
movb $0x0, %al
callq 0x5b9c0
movq 0x7950(%rsp), %rdi
addq $0xb84, %rdi            # imm = 0xB84
leaq 0x60d0(%rsp), %r8
leaq 0x11f32c(%rip), %rsi    # 0x1b7034
leaq 0x139aa3(%rip), %rdx    # 0x1d17b2
movl $0x77f, %ecx            # imm = 0x77F
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x7964(%rsp)
jmp 0x993b9
xorps %xmm0, %xmm0
movsd %xmm0, 0x7908(%rsp)
movq 0x7958(%rsp), %rax
movl 0x8(%rax), %ecx
movq 0x7950(%rsp), %rax
movl %ecx, 0x2b4(%rax)
movq 0x7950(%rsp), %rax
movslq 0x2b4(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x7950(%rsp), %rax
movq %rcx, 0x2c0(%rax)
movq 0x7950(%rsp), %rax
cmpq $0x0, 0x2c0(%rax)
jne 0x97e0b
movq 0x7950(%rsp), %rax
movslq 0x2b4(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x60cc(%rsp)
leaq 0x58c0(%rsp), %rdi
movl 0x60cc(%rsp), %ecx
leaq 0x11f248(%rip), %rsi    # 0x1b7004
leaq 0x139a66(%rip), %rdx    # 0x1d1829
movb $0x0, %al
callq 0x5b9c0
movq 0x7950(%rsp), %rdi
addq $0xb84, %rdi            # imm = 0xB84
leaq 0x58c0(%rsp), %r8
leaq 0x11f24c(%rip), %rsi    # 0x1b7034
leaq 0x1399c3(%rip), %rdx    # 0x1d17b2
movl $0x786, %ecx            # imm = 0x786
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x7964(%rsp)
jmp 0x993b9
movq 0x7950(%rsp), %rax
movslq 0x2b4(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x7950(%rsp), %rax
movq %rcx, 0x2c8(%rax)
movq 0x7950(%rsp), %rax
cmpq $0x0, 0x2c8(%rax)
jne 0x97ec6
movq 0x7950(%rsp), %rax
movslq 0x2b4(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x58bc(%rsp)
leaq 0x50b0(%rsp), %rdi
movl 0x58bc(%rsp), %ecx
leaq 0x11f18d(%rip), %rsi    # 0x1b7004
leaq 0x1399ba(%rip), %rdx    # 0x1d1838
movb $0x0, %al
callq 0x5b9c0
movq 0x7950(%rsp), %rdi
addq $0xb84, %rdi            # imm = 0xB84
leaq 0x50b0(%rsp), %r8
leaq 0x11f191(%rip), %rsi    # 0x1b7034
leaq 0x139908(%rip), %rdx    # 0x1d17b2
movl $0x787, %ecx            # imm = 0x787
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x7964(%rsp)
jmp 0x993b9
movq 0x7950(%rsp), %rax
movslq 0x2b4(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x7950(%rsp), %rax
movq %rcx, 0x2b8(%rax)
movq 0x7950(%rsp), %rax
cmpq $0x0, 0x2b8(%rax)
jne 0x97f81
movq 0x7950(%rsp), %rax
movslq 0x2b4(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x50ac(%rsp)
leaq 0x48a0(%rsp), %rdi
movl 0x50ac(%rsp), %ecx
leaq 0x11f0d2(%rip), %rsi    # 0x1b7004
leaq 0x13990c(%rip), %rdx    # 0x1d1845
movb $0x0, %al
callq 0x5b9c0
movq 0x7950(%rsp), %rdi
addq $0xb84, %rdi            # imm = 0xB84
leaq 0x48a0(%rsp), %r8
leaq 0x11f0d6(%rip), %rsi    # 0x1b7034
leaq 0x13984d(%rip), %rdx    # 0x1d17b2
movl $0x788, %ecx            # imm = 0x788
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x7964(%rsp)
jmp 0x993b9
movq 0x7950(%rsp), %rax
movslq 0x2b4(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x7950(%rsp), %rax
movq %rcx, 0x2d8(%rax)
movq 0x7950(%rsp), %rax
cmpq $0x0, 0x2d8(%rax)
jne 0x9803c
movq 0x7950(%rsp), %rax
movslq 0x2b4(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x489c(%rsp)
leaq 0x4090(%rsp), %rdi
movl 0x489c(%rsp), %ecx
leaq 0x11f017(%rip), %rsi    # 0x1b7004
leaq 0x139861(%rip), %rdx    # 0x1d1855
movb $0x0, %al
callq 0x5b9c0
movq 0x7950(%rsp), %rdi
addq $0xb84, %rdi            # imm = 0xB84
leaq 0x4090(%rsp), %r8
leaq 0x11f01b(%rip), %rsi    # 0x1b7034
leaq 0x139792(%rip), %rdx    # 0x1d17b2
movl $0x78a, %ecx            # imm = 0x78A
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x7964(%rsp)
jmp 0x993b9
movq 0x7950(%rsp), %rax
movslq 0x2b4(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x7950(%rsp), %rax
movq %rcx, 0x2e0(%rax)
movq 0x7950(%rsp), %rax
cmpq $0x0, 0x2e0(%rax)
jne 0x980f7
movq 0x7950(%rsp), %rax
movslq 0x2b4(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x408c(%rsp)
leaq 0x3880(%rsp), %rdi
movl 0x408c(%rsp), %ecx
leaq 0x11ef5c(%rip), %rsi    # 0x1b7004
leaq 0x1397bb(%rip), %rdx    # 0x1d186a
movb $0x0, %al
callq 0x5b9c0
movq 0x7950(%rsp), %rdi
addq $0xb84, %rdi            # imm = 0xB84
leaq 0x3880(%rsp), %r8
leaq 0x11ef60(%rip), %rsi    # 0x1b7034
leaq 0x1396d7(%rip), %rdx    # 0x1d17b2
movl $0x78b, %ecx            # imm = 0x78B
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x7964(%rsp)
jmp 0x993b9
movq 0x7950(%rsp), %rax
movl 0x2b4(%rax), %eax
movq 0x7950(%rsp), %rcx
imull 0x2b0(%rcx), %eax
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x7950(%rsp), %rax
movq %rcx, 0x2d0(%rax)
movq 0x7950(%rsp), %rax
cmpq $0x0, 0x2d0(%rax)
jne 0x981d7
movq 0x7950(%rsp), %rax
movl 0x2b4(%rax), %eax
movq 0x7950(%rsp), %rcx
imull 0x2b0(%rcx), %eax
cltq
shlq $0x3, %rax
movl %eax, 0x387c(%rsp)
leaq 0x3070(%rsp), %rdi
movl 0x387c(%rsp), %ecx
leaq 0x11ee7c(%rip), %rsi    # 0x1b7004
leaq 0x1396f0(%rip), %rdx    # 0x1d187f
movb $0x0, %al
callq 0x5b9c0
movq 0x7950(%rsp), %rdi
addq $0xb84, %rdi            # imm = 0xB84
leaq 0x3070(%rsp), %r8
leaq 0x11ee80(%rip), %rsi    # 0x1b7034
leaq 0x1395f7(%rip), %rdx    # 0x1d17b2
movl $0x78d, %ecx            # imm = 0x78D
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x7964(%rsp)
jmp 0x993b9
movq 0x7950(%rsp), %rax
movl 0x2b4(%rax), %eax
movq 0x7950(%rsp), %rcx
imull 0x2b0(%rcx), %eax
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x7950(%rsp), %rax
movq %rcx, 0x2e8(%rax)
movq 0x7950(%rsp), %rax
cmpq $0x0, 0x2e8(%rax)
jne 0x982b7
movq 0x7950(%rsp), %rax
movl 0x2b4(%rax), %eax
movq 0x7950(%rsp), %rcx
imull 0x2b0(%rcx), %eax
cltq
shlq $0x3, %rax
movl %eax, 0x306c(%rsp)
leaq 0x2860(%rsp), %rdi
movl 0x306c(%rsp), %ecx
leaq 0x11ed9c(%rip), %rsi    # 0x1b7004
leaq 0x139626(%rip), %rdx    # 0x1d1895
movb $0x0, %al
callq 0x5b9c0
movq 0x7950(%rsp), %rdi
addq $0xb84, %rdi            # imm = 0xB84
leaq 0x2860(%rsp), %r8
leaq 0x11eda0(%rip), %rsi    # 0x1b7034
leaq 0x139517(%rip), %rdx    # 0x1d17b2
movl $0x78e, %ecx            # imm = 0x78E
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x7964(%rsp)
jmp 0x993b9
movq 0x7950(%rsp), %rax
movslq 0x2b4(%rax), %rdi
shlq $0x2, %rdi
callq 0x8460
movq %rax, 0x78f0(%rsp)
cmpq $0x0, 0x78f0(%rsp)
jne 0x98361
movq 0x7950(%rsp), %rax
movslq 0x2b4(%rax), %rax
shlq $0x2, %rax
movl %eax, 0x285c(%rsp)
leaq 0x2050(%rsp), %rdi
movl 0x285c(%rsp), %ecx
leaq 0x11ecf2(%rip), %rsi    # 0x1b7004
leaq 0x13ca0c(%rip), %rdx    # 0x1d4d25
movb $0x0, %al
callq 0x5b9c0
movq 0x7950(%rsp), %rdi
addq $0xb84, %rdi            # imm = 0xB84
leaq 0x2050(%rsp), %r8
leaq 0x11ecf6(%rip), %rsi    # 0x1b7034
leaq 0x13946d(%rip), %rdx    # 0x1d17b2
movl $0x790, %ecx            # imm = 0x790
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x7964(%rsp)
jmp 0x993b9
movl $0x0, 0x78fc(%rsp)
movl 0x78fc(%rsp), %eax
movq 0x7950(%rsp), %rcx
cmpl 0x2b4(%rcx), %eax
jge 0x98415
movsd 0x7910(%rsp), %xmm0
cvtsi2sdl 0x78fc(%rsp), %xmm1
movsd 0x7908(%rsp), %xmm2
subsd 0x7910(%rsp), %xmm2
mulsd %xmm2, %xmm1
movq 0x7950(%rsp), %rax
movl 0x2b4(%rax), %eax
subl $0x1, %eax
cvtsi2sd %eax, %xmm2
divsd %xmm2, %xmm1
addsd %xmm1, %xmm0
movq 0x7950(%rsp), %rax
movq 0x2b8(%rax), %rax
movslq 0x78fc(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x78f0(%rsp), %rax
movslq 0x78fc(%rsp), %rcx
movl $0x1, (%rax,%rcx,4)
movl 0x78fc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x78fc(%rsp)
jmp 0x9836c
movq 0x7958(%rsp), %rax
movl 0xc(%rax), %eax
movl %eax, 0x4c(%rsp)
testl %eax, %eax
je 0x98435
jmp 0x9842a
movl 0x4c(%rsp), %eax
subl $0x1, %eax
je 0x9846f
jmp 0x984a9
leaq -0x8997c(%rip), %rax    # 0xeac0
movq %rax, 0x7918(%rsp)
movq 0x7950(%rsp), %rax
movswl 0xb82(%rax), %eax
cmpl $0x1, %eax
jle 0x9846d
leaq 0x147f33(%rip), %rdi    # 0x1e0392
leaq 0x13944e(%rip), %rsi    # 0x1d18b4
movb $0x0, %al
callq 0x8030
jmp 0x984a9
leaq -0x88f36(%rip), %rax    # 0xf540
movq %rax, 0x7918(%rsp)
movq 0x7950(%rsp), %rax
movswl 0xb82(%rax), %eax
cmpl $0x1, %eax
jle 0x984a7
leaq 0x147ef9(%rip), %rdi    # 0x1e0392
leaq 0x139430(%rip), %rsi    # 0x1d18d0
movb $0x0, %al
callq 0x8030
jmp 0x984a9
movq 0x7918(%rsp), %rax
movsd 0x7910(%rsp), %xmm0
movsd 0x7908(%rsp), %xmm1
movq 0x7938(%rsp), %rsi
movq 0x78f0(%rsp), %rdx
movq 0x7950(%rsp), %rcx
movl 0x31c(%rcx), %ecx
movq 0x7958(%rsp), %rdi
movsd 0x10(%rdi), %xmm2
movq 0x7958(%rsp), %rdi
movsd 0xa28(%rdi), %xmm3
movq 0x7958(%rsp), %rdi
movsd 0x18(%rdi), %xmm4
movq 0x7950(%rsp), %rdi
movq 0x2b8(%rdi), %r14
movq 0x7950(%rsp), %rdi
movl 0x2b4(%rdi), %ebx
movq 0x7950(%rsp), %r10
addq $0xb84, %r10            # imm = 0xB84
leaq 0x5e32(%rip), %rdi      # 0x9e370
leaq 0x7940(%rsp), %r8
leaq 0x6623(%rip), %r9       # 0x9eb70
leaq 0x664c(%rip), %r11      # 0x9eba0
xorl %ebp, %ebp
movq %r14, (%rsp)
movl %ebx, 0x8(%rsp)
movq %r11, 0x10(%rsp)
movq $0x0, 0x18(%rsp)
movq %r10, 0x20(%rsp)
callq *%rax
cmpl $0x1, %eax
jne 0x985e5
leaq 0x1850(%rsp), %rdi
movq 0x7950(%rsp), %rcx
addq $0xb84, %rcx            # imm = 0xB84
leaq 0x11ee42(%rip), %rsi    # 0x1b73d8
leaq 0x139352(%rip), %rdx    # 0x1d18ef
movb $0x0, %al
callq 0x5b9c0
movq 0x7950(%rsp), %rdi
addq $0xb84, %rdi            # imm = 0xB84
leaq 0x1850(%rsp), %r8
leaq 0x11ea72(%rip), %rsi    # 0x1b7034
leaq 0x1391e9(%rip), %rdx    # 0x1d17b2
movl $0x7bc, %ecx            # imm = 0x7BC
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x7964(%rsp)
jmp 0x993b9
movq 0x7938(%rsp), %rax
movq 0x7950(%rsp), %rcx
movslq 0x304(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd 0x137b27(%rip), %xmm1   # 0x1d0130
divsd %xmm1, %xmm0
movq 0x7950(%rsp), %rax
movsd %xmm0, 0x190(%rax)
movq 0x7938(%rsp), %rax
movq 0x7950(%rsp), %rcx
movslq 0x30c(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x7950(%rsp), %rax
movsd %xmm0, 0x198(%rax)
movq 0x7950(%rsp), %rax
movswl 0x324(%rax), %eax
cmpl $0x1, %eax
jne 0x986a1
movq 0x7938(%rsp), %rax
movq 0x7950(%rsp), %rcx
movslq 0x2f0(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x7950(%rsp), %rax
divsd (%rax), %xmm0
movq 0x7950(%rsp), %rax
divsd (%rax), %xmm0
movq 0x7950(%rsp), %rax
movsd %xmm0, 0x1b8(%rax)
movq 0x7950(%rsp), %rax
movswl 0x326(%rax), %eax
cmpl $0x1, %eax
jne 0x986f9
movq 0x7938(%rsp), %rax
movq 0x7950(%rsp), %rcx
movslq 0x2f4(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x7950(%rsp), %rax
divsd (%rax), %xmm0
movq 0x7950(%rsp), %rax
divsd (%rax), %xmm0
movq 0x7950(%rsp), %rax
movsd %xmm0, 0x1c0(%rax)
movq 0x7938(%rsp), %rax
movq 0x7950(%rsp), %rcx
movslq 0x310(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, 0x7900(%rsp)
movl $0x0, 0x78fc(%rsp)
movl 0x78fc(%rsp), %eax
movq 0x7950(%rsp), %rcx
cmpl 0x2b4(%rcx), %eax
jge 0x98a29
movsd 0x11eafc(%rip), %xmm0   # 0x1b7248
divsd 0x7900(%rsp), %xmm0
movq 0x7950(%rsp), %rax
movq 0x2d0(%rax), %rax
movl 0x78fc(%rsp), %ecx
movq 0x7950(%rsp), %rdx
imull 0x2b0(%rdx), %ecx
movq 0x7950(%rsp), %rdx
addl 0x298(%rdx), %ecx
movslq %ecx, %rcx
mulsd (%rax,%rcx,8), %xmm0
movsd %xmm0, (%rax,%rcx,8)
movq 0x7950(%rsp), %rax
movsd 0x198(%rax), %xmm0
movq 0x7950(%rsp), %rax
movq 0x2c0(%rax), %rax
movslq 0x78fc(%rsp), %rcx
subsd (%rax,%rcx,8), %xmm0
movsd %xmm0, 0x7920(%rsp)
movsd 0x7920(%rsp), %xmm0
movq 0x7950(%rsp), %rax
movq 0x2d0(%rax), %rax
movl 0x78fc(%rsp), %ecx
movq 0x7950(%rsp), %rdx
imull 0x2b0(%rdx), %ecx
movq 0x7950(%rsp), %rdx
addl 0x284(%rdx), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x7950(%rsp), %rax
cmpl $0x0, 0x1a8(%rax)
jne 0x98836
movsd 0x7920(%rsp), %xmm0
movsd %xmm0, 0x7928(%rsp)
jmp 0x9893b
movq 0x7950(%rsp), %rax
cmpl $0x1, 0x1a8(%rax)
jne 0x988a0
movq 0x7950(%rsp), %rax
movsd 0x1a0(%rax), %xmm0
callq 0x82e0
mulsd 0x7920(%rsp), %xmm0
callq 0x80a0
movsd %xmm0, 0x40(%rsp)
movq 0x7950(%rsp), %rax
movsd 0x1a0(%rax), %xmm0
callq 0x82e0
movaps %xmm0, %xmm1
movsd 0x40(%rsp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, 0x7928(%rsp)
jmp 0x98939
movq 0x7950(%rsp), %rax
cmpl $-0x1, 0x1a8(%rax)
jne 0x98937
movq 0x7950(%rsp), %rax
movsd 0x1a0(%rax), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
callq 0x82e0
mulsd 0x7920(%rsp), %xmm0
callq 0x8390
movsd %xmm0, 0x38(%rsp)
movq 0x7950(%rsp), %rax
movsd 0x1a0(%rax), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
callq 0x82e0
movaps %xmm0, %xmm1
movsd 0x38(%rsp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, 0x7928(%rsp)
jmp 0x98939
jmp 0x9893b
movsd 0x7928(%rsp), %xmm0
movq 0x7950(%rsp), %rax
movq 0x2c8(%rax), %rax
movslq 0x78fc(%rsp), %rcx
movsd 0x11e8e5(%rip), %xmm1   # 0x1b7248
addsd (%rax,%rcx,8), %xmm1
divsd %xmm1, %xmm0
movq 0x7950(%rsp), %rax
movq 0x2d0(%rax), %rax
movl 0x78fc(%rsp), %ecx
movq 0x7950(%rsp), %rdx
imull 0x2b0(%rdx), %ecx
movq 0x7950(%rsp), %rdx
addl 0x288(%rdx), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd 0x7928(%rsp), %xmm0
movq 0x7950(%rsp), %rax
movq 0x2c8(%rax), %rax
movslq 0x78fc(%rsp), %rcx
movsd 0x11e879(%rip), %xmm1   # 0x1b7248
addsd (%rax,%rcx,8), %xmm1
mulsd %xmm1, %xmm0
movq 0x7950(%rsp), %rax
movq 0x2d0(%rax), %rax
movl 0x78fc(%rsp), %ecx
movq 0x7950(%rsp), %rdx
imull 0x2b0(%rdx), %ecx
movq 0x7950(%rsp), %rdx
addl 0x28c(%rdx), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movl 0x78fc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x78fc(%rsp)
jmp 0x98729
movq 0x7950(%rsp), %rax
movq 0x2c8(%rax), %rdi
movq 0x7950(%rsp), %rax
movl 0x2b4(%rax), %esi
movq 0x7950(%rsp), %rax
movq 0x2c0(%rax), %rdx
movq 0x7950(%rsp), %rax
movq 0x2d8(%rax), %r8
movq 0x7950(%rsp), %rax
addq $0xb84, %rax            # imm = 0xB84
movl $0x1, %r9d
movl %r9d, %ecx
movq %rax, (%rsp)
callq 0x1cf90
cmpl $0x1, %eax
jne 0x98af6
leaq 0x1050(%rsp), %rdi
movq 0x7950(%rsp), %rcx
addq $0xb84, %rcx            # imm = 0xB84
leaq 0x11e931(%rip), %rsi    # 0x1b73d8
leaq 0x138f86(%rip), %rdx    # 0x1d1a34
movb $0x0, %al
callq 0x5b9c0
movq 0x7950(%rsp), %rdi
addq $0xb84, %rdi            # imm = 0xB84
leaq 0x1050(%rsp), %r8
leaq 0x11e561(%rip), %rsi    # 0x1b7034
leaq 0x138cd8(%rip), %rdx    # 0x1d17b2
movl $0x7e8, %ecx            # imm = 0x7E8
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x7964(%rsp)
jmp 0x993b9
movq 0x7950(%rsp), %rax
movq 0x2c0(%rax), %rdi
movq 0x7950(%rsp), %rax
movl 0x2b4(%rax), %esi
movq 0x7950(%rsp), %rax
movq 0x2c8(%rax), %rdx
movq 0x7950(%rsp), %rax
movq 0x2e0(%rax), %r8
movq 0x7950(%rsp), %rax
addq $0xb84, %rax            # imm = 0xB84
movl $0x1, %r9d
movl %r9d, %ecx
movq %rax, (%rsp)
callq 0x1cf90
cmpl $0x1, %eax
jne 0x98bc3
leaq 0x850(%rsp), %rdi
movq 0x7950(%rsp), %rcx
addq $0xb84, %rcx            # imm = 0xB84
leaq 0x11e864(%rip), %rsi    # 0x1b73d8
leaq 0x138f2e(%rip), %rdx    # 0x1d1aa9
movb $0x0, %al
callq 0x5b9c0
movq 0x7950(%rsp), %rdi
addq $0xb84, %rdi            # imm = 0xB84
leaq 0x850(%rsp), %r8
leaq 0x11e494(%rip), %rsi    # 0x1b7034
leaq 0x138c0b(%rip), %rdx    # 0x1d17b2
movl $0x7f2, %ecx            # imm = 0x7F2
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x7964(%rsp)
jmp 0x993b9
movq 0x7950(%rsp), %rax
movq 0x2b8(%rax), %rdi
movq 0x7950(%rsp), %rax
movl 0x2b4(%rax), %esi
movq 0x7950(%rsp), %rax
movq 0x2d0(%rax), %rdx
movq 0x7950(%rsp), %rax
movl 0x2b0(%rax), %ecx
movq 0x7950(%rsp), %rax
movq 0x2e8(%rax), %r8
movq 0x7950(%rsp), %rax
addq $0xb84, %rax            # imm = 0xB84
movl $0x1, %r9d
movq %rax, (%rsp)
callq 0x1cf90
cmpl $0x1, %eax
jne 0x98c95
leaq 0x50(%rsp), %rdi
movq 0x7950(%rsp), %rcx
addq $0xb84, %rcx            # imm = 0xB84
leaq 0x11e78f(%rip), %rsi    # 0x1b73d8
leaq 0x138ece(%rip), %rdx    # 0x1d1b1e
movb $0x0, %al
callq 0x5b9c0
movq 0x7950(%rsp), %rdi
addq $0xb84, %rdi            # imm = 0xB84
leaq 0x50(%rsp), %r8
leaq 0x11e3c2(%rip), %rsi    # 0x1b7034
leaq 0x138b39(%rip), %rdx    # 0x1d17b2
movl $0x7fc, %ecx            # imm = 0x7FC
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x7964(%rsp)
jmp 0x993b9
movq 0x7950(%rsp), %rax
movq 0x2d0(%rax), %rax
movq 0x7950(%rsp), %rcx
movslq 0x278(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x7950(%rsp), %rax
movq 0x2d0(%rax), %rax
movq 0x7950(%rsp), %rcx
movslq 0x27c(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm2
movq 0x7950(%rsp), %rax
movq 0x2d0(%rax), %rax
movq 0x7950(%rsp), %rcx
movslq 0x214(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x30(%rsp)
movsd 0x12299d(%rip), %xmm0   # 0x1bb6c8
movsd 0x1217dd(%rip), %xmm1   # 0x1ba510
callq 0x8610
movaps %xmm0, %xmm2
movsd 0x30(%rsp), %xmm0
movsd 0x11e54f(%rip), %xmm1   # 0x1b7298
mulsd %xmm2, %xmm1
movq 0x7950(%rsp), %rax
movq 0x2d0(%rax), %rax
movq 0x7950(%rsp), %rcx
movslq 0x214(%rcx), %rcx
mulsd (%rax,%rcx,8), %xmm1
divsd %xmm1, %xmm0
movq 0x7950(%rsp), %rax
movsd %xmm0, 0x1b0(%rax)
movq 0x7950(%rsp), %rax
movswl 0xb82(%rax), %eax
cmpl $0x0, %eax
jle 0x98df2
movq 0x7950(%rsp), %rax
movsd 0x190(%rax), %xmm0
leaq 0x138e03(%rip), %rdi    # 0x1d1bb2
movb $0x1, %al
callq 0x8030
movq 0x7950(%rsp), %rax
movsd 0x198(%rax), %xmm0
leaq 0x138df7(%rip), %rdi    # 0x1d1bc4
movb $0x1, %al
callq 0x8030
movq 0x7950(%rsp), %rax
movsd 0x1b0(%rax), %xmm0
leaq 0x138df5(%rip), %rdi    # 0x1d1be0
movb $0x1, %al
callq 0x8030
movq 0x7950(%rsp), %rax
movswl 0xb82(%rax), %eax
cmpl $0x2, %eax
jle 0x9912d
movq 0x7950(%rsp), %rax
movswl 0x324(%rax), %eax
cmpl $0x1, %eax
jne 0x98ee7
movq 0x7950(%rsp), %rax
movswl 0x326(%rax), %eax
cmpl $0x1, %eax
jne 0x98ee7
leaq 0x138df3(%rip), %rdi    # 0x1d1c34
movb $0x0, %al
callq 0x8030
movq 0x7950(%rsp), %rax
movsd 0x1b8(%rax), %xmm0
leaq 0x138e0b(%rip), %rdi    # 0x1d1c6a
movb $0x1, %al
callq 0x8030
movq 0x7950(%rsp), %rax
movsd 0x1c0(%rax), %xmm0
leaq 0x138e07(%rip), %rdi    # 0x1d1c84
movb $0x1, %al
callq 0x8030
movq 0x7950(%rsp), %rax
movsd 0x1c0(%rax), %xmm0
movq 0x7950(%rsp), %rax
addsd 0x1b8(%rax), %xmm0
movq 0x7950(%rsp), %rax
movsd 0x50(%rax), %xmm1
leaq 0x138de4(%rip), %rdi    # 0x1d1c9c
movb $0x2, %al
callq 0x8030
movq 0x7950(%rsp), %rax
movsd 0x58(%rax), %xmm0
movq 0x7950(%rsp), %rax
divsd 0x20(%rax), %xmm0
leaq 0x138df2(%rip), %rdi    # 0x1d1cd2
movb $0x1, %al
callq 0x8030
movq 0x7950(%rsp), %rax
movswl 0x328(%rax), %eax
cmpl $0x1, %eax
jne 0x9912b
leaq 0x138df1(%rip), %rdi    # 0x1d1cf7
movb $0x0, %al
callq 0x8030
movq 0x7950(%rsp), %rax
movq 0x2d0(%rax), %rax
movq 0x7950(%rsp), %rcx
movl 0x2b4(%rcx), %ecx
subl $0x1, %ecx
movq 0x7950(%rsp), %rdx
imull 0x2b0(%rdx), %ecx
movq 0x7950(%rsp), %rdx
addl 0x254(%rdx), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x7950(%rsp), %rax
movq 0x2d0(%rax), %rax
movq 0x7950(%rsp), %rcx
movl 0x2b4(%rcx), %ecx
subl $0x1, %ecx
movq 0x7950(%rsp), %rdx
imull 0x2b0(%rdx), %ecx
movq 0x7950(%rsp), %rdx
addl 0x27c(%rdx), %ecx
movslq %ecx, %rcx
divsd (%rax,%rcx,8), %xmm0
movq 0x7950(%rsp), %rax
movsd 0x108(%rax), %xmm1
leaq 0x138d64(%rip), %rdi    # 0x1d1d12
movb $0x2, %al
callq 0x8030
movq 0x7950(%rsp), %rax
movswl 0x32c(%rax), %eax
cmpl $0x1, %eax
jne 0x99075
movq 0x7950(%rsp), %rax
movq 0x2d0(%rax), %rax
movq 0x7950(%rsp), %rcx
movl 0x2b4(%rcx), %ecx
subl $0x1, %ecx
movq 0x7950(%rsp), %rdx
imull 0x2b0(%rdx), %ecx
movq 0x7950(%rsp), %rdx
addl 0x224(%rdx), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x7950(%rsp), %rax
movq 0x2d0(%rax), %rax
movq 0x7950(%rsp), %rcx
movl 0x2b4(%rcx), %ecx
subl $0x1, %ecx
movq 0x7950(%rsp), %rdx
imull 0x2b0(%rdx), %ecx
movq 0x7950(%rsp), %rdx
addl 0x27c(%rdx), %ecx
movslq %ecx, %rcx
divsd (%rax,%rcx,8), %xmm0
movq 0x7950(%rsp), %rax
movsd 0xf8(%rax), %xmm1
leaq 0x138cc7(%rip), %rdi    # 0x1d1d35
movb $0x2, %al
callq 0x8030
leaq 0x138cdf(%rip), %rdi    # 0x1d1d5b
movb $0x0, %al
callq 0x8030
leaq 0x138cff(%rip), %rdi    # 0x1d1d89
movb $0x0, %al
callq 0x8030
movl $0x0, 0x78f8(%rsp)
movl 0x78f8(%rsp), %eax
movq 0x7950(%rsp), %rcx
movl 0x168(%rcx), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jge 0x990f5
movq 0x7950(%rsp), %rax
movq 0x148(%rax), %rax
movslq 0x78f8(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
leaq 0x138cc4(%rip), %rdi    # 0x1d1d9f
movb $0x1, %al
callq 0x8030
movl 0x78f8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x78f8(%rsp)
jmp 0x9909c
movq 0x7950(%rsp), %rax
movq 0x148(%rax), %rax
movq 0x7950(%rsp), %rcx
movl 0x168(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
leaq 0x138c82(%rip), %rdi    # 0x1d1da6
movb $0x1, %al
callq 0x8030
jmp 0x9912d
movq 0x7950(%rsp), %rax
movq 0x2d0(%rax), %rax
movq 0x7950(%rsp), %rcx
movl 0x2b4(%rcx), %ecx
subl $0x1, %ecx
movq 0x7950(%rsp), %rdx
imull 0x2b0(%rdx), %ecx
movq 0x7950(%rsp), %rdx
addl 0x280(%rdx), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x7950(%rsp), %rax
movsd %xmm0, 0x1c8(%rax)
movq 0x7950(%rsp), %rax
movq 0x2d0(%rax), %rax
movq 0x7950(%rsp), %rcx
movl 0x2b4(%rcx), %ecx
subl $0x1, %ecx
movq 0x7950(%rsp), %rdx
imull 0x2b0(%rdx), %ecx
movq 0x7950(%rsp), %rdx
addl 0x278(%rdx), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x7950(%rsp), %rax
movsd %xmm0, 0x1d0(%rax)
movq 0x7950(%rsp), %rax
movsd 0x1c8(%rax), %xmm1
movq 0x7950(%rsp), %rax
addsd 0x1d0(%rax), %xmm1
movq 0x7950(%rsp), %rax
addsd 0xf0(%rax), %xmm1
movsd 0x11e039(%rip), %xmm0   # 0x1b7248
subsd %xmm1, %xmm0
movq 0x7950(%rsp), %rax
movsd %xmm0, 0x1d8(%rax)
movq 0x7950(%rsp), %rax
movsd 0x20(%rax), %xmm0
movq 0x7950(%rsp), %rax
movsd %xmm0, 0x1e0(%rax)
movq 0x7950(%rsp), %rax
movswl 0x320(%rax), %eax
cmpl $0x1, %eax
jne 0x99279
movq 0x7950(%rsp), %rax
movsd 0x30(%rax), %xmm0
movq 0x7950(%rsp), %rax
addsd 0x1e0(%rax), %xmm0
movsd %xmm0, 0x1e0(%rax)
movq 0x7950(%rsp), %rax
movswl 0x322(%rax), %eax
cmpl $0x1, %eax
jne 0x992b2
movq 0x7950(%rsp), %rax
movsd 0x38(%rax), %xmm0
movq 0x7950(%rsp), %rax
addsd 0x1e0(%rax), %xmm0
movsd %xmm0, 0x1e0(%rax)
movq 0x7950(%rsp), %rax
movswl 0x324(%rax), %eax
cmpl $0x1, %eax
jne 0x992ee
movq 0x7950(%rsp), %rax
movsd 0x1b8(%rax), %xmm0
movq 0x7950(%rsp), %rax
addsd 0x1e0(%rax), %xmm0
movsd %xmm0, 0x1e0(%rax)
movl $0x0, 0x78ec(%rsp)
movl 0x78ec(%rsp), %eax
movq 0x7950(%rsp), %rcx
cmpl 0x70(%rcx), %eax
jge 0x99387
movq 0x7950(%rsp), %rax
movq 0x90(%rax), %rax
movslq 0x78ec(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x7958(%rsp), %rax
ucomisd 0x88(%rax), %xmm0
jbe 0x9936f
movq 0x7950(%rsp), %rax
movq 0xa0(%rax), %rax
movslq 0x78ec(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x7950(%rsp), %rax
addsd 0x1e0(%rax), %xmm0
movsd %xmm0, 0x1e0(%rax)
jmp 0x99371
movl 0x78ec(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x78ec(%rsp)
jmp 0x992f9
movq 0x7930(%rsp), %rdi
callq 0x8420
movq 0x7938(%rsp), %rdi
callq 0x8420
movq 0x78f0(%rsp), %rdi
callq 0x8420
movl $0x0, 0x7964(%rsp)
movl 0x7964(%rsp), %eax
addq $0x7968, %rsp           # imm = 0x7968
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
nop