// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/primordial.c
// Function: primordial_analytic_spectrum_init
int primordial_analytic_spectrum_init(
                                      struct perturbations   * ppt,
                                      struct primordial * ppm
                                      ) {

  int index_md,index_ic1,index_ic2;
  int index_ic1_ic2,index_ic1_ic1,index_ic2_ic2;
  double one_amplitude=0.;
  double one_tilt=0.;
  double one_running=0.;
  double one_correlation=0.;

  class_alloc(ppm->amplitude,
              ppm->md_size*sizeof(double *),
              ppm->error_message);

  class_alloc(ppm->tilt,
              ppm->md_size*sizeof(double *),
              ppm->error_message);

  class_alloc(ppm->running,
              ppm->md_size*sizeof(double *),
              ppm->error_message);

  for (index_md = 0; index_md < ppm->md_size; index_md++) {

    class_alloc(ppm->amplitude[index_md],
                ppm->ic_ic_size[index_md]*sizeof(double),
                ppm->error_message);

    class_alloc(ppm->tilt[index_md],
                ppm->ic_ic_size[index_md]*sizeof(double),
                ppm->error_message);

    class_alloc(ppm->running[index_md],
                ppm->ic_ic_size[index_md]*sizeof(double),
                ppm->error_message);

  }

  for (index_md = 0; index_md < ppm->md_size; index_md++) {

    /* diagonal coefficients */

    for (index_ic1 = 0; index_ic1 < ppm->ic_size[index_md]; index_ic1++) {

      if (_scalars_) {

        if ((ppt->has_ad == _TRUE_) && (index_ic1 == ppt->index_ic_ad)) {
          one_amplitude = ppm->A_s;
          one_tilt = ppm->n_s;
          one_running = ppm->alpha_s;
        }

        if ((ppt->has_bi == _TRUE_) && (index_ic1 == ppt->index_ic_bi)) {
          one_amplitude = ppm->A_s*ppm->f_bi*ppm->f_bi;
          one_tilt = ppm->n_bi;
          one_running = ppm->alpha_bi;
        }

        if ((ppt->has_cdi == _TRUE_) && (index_ic1 == ppt->index_ic_cdi)) {
          one_amplitude = ppm->A_s*ppm->f_cdi*ppm->f_cdi;
          one_tilt = ppm->n_cdi;
          one_running = ppm->alpha_cdi;
        }

        if ((ppt->has_nid == _TRUE_) && (index_ic1 == ppt->index_ic_nid)) {
          one_amplitude = ppm->A_s*ppm->f_nid*ppm->f_nid;
          one_tilt = ppm->n_nid;
          one_running = ppm->alpha_nid;
        }

        if ((ppt->has_niv == _TRUE_) && (index_ic1 == ppt->index_ic_niv)) {
          one_amplitude = ppm->A_s*ppm->f_niv*ppm->f_niv;
          one_tilt = ppm->n_niv;
          one_running = ppm->alpha_niv;
        }
      }

      if (_tensors_) {

        if (index_ic1 == ppt->index_ic_ten) {
          one_amplitude = ppm->A_s*ppm->r;
          one_tilt = ppm->n_t+1.; /* +1 to match usual definition of n_t (equivalent to n_s-1) */
          one_running = ppm->alpha_t;
        }
      }

      class_test(one_amplitude <= 0.,
                 ppm->error_message,
                 "inconsistent input for primordial amplitude: %g for index_md=%d, index_ic=%d\n",
                 one_amplitude,index_md,index_ic1);

      index_ic1_ic2 = index_symmetric_matrix(index_ic1,index_ic1,ppm->ic_size[index_md]);

      ppm->is_non_zero[index_md][index_ic1_ic2] = _TRUE_;
      ppm->amplitude[index_md][index_ic1_ic2] = one_amplitude;
      ppm->tilt[index_md][index_ic1_ic2] = one_tilt;
      ppm->running[index_md][index_ic1_ic2] = one_running;
    }

    /* non-diagonal coefficients */

    for (index_ic1 = 0; index_ic1 < ppm->ic_size[index_md]; index_ic1++) {
      for (index_ic2 = index_ic1+1; index_ic2 < ppm->ic_size[index_md]; index_ic2++) {

        if (_scalars_) {

          if ((ppt->has_ad == _TRUE_) && (ppt->has_bi == _TRUE_) &&
              (((index_ic1 == ppt->index_ic_ad) && (index_ic2 == ppt->index_ic_bi)) ||
               ((index_ic1 == ppt->index_ic_ad) && (index_ic1 == ppt->index_ic_bi)))) {
            one_correlation = ppm->c_ad_bi;
            one_tilt = ppm->n_ad_bi;
            one_running = ppm->alpha_ad_bi;
          }

          if ((ppt->has_ad == _TRUE_) && (ppt->has_cdi == _TRUE_) &&
              (((index_ic1 == ppt->index_ic_ad) && (index_ic2 == ppt->index_ic_cdi)) ||
               ((index_ic2 == ppt->index_ic_ad) && (index_ic1 == ppt->index_ic_cdi)))) {
            one_correlation = ppm->c_ad_cdi;
            one_tilt = ppm->n_ad_cdi;
            one_running = ppm->alpha_ad_cdi;
          }

          if ((ppt->has_ad == _TRUE_) && (ppt->has_nid == _TRUE_) &&
              (((index_ic1 == ppt->index_ic_ad) && (index_ic2 == ppt->index_ic_nid)) ||
               ((index_ic2 == ppt->index_ic_ad) && (index_ic1 == ppt->index_ic_nid)))) {
            one_correlation = ppm->c_ad_nid;
            one_tilt = ppm->n_ad_nid;
            one_running = ppm->alpha_ad_nid;
          }

          if ((ppt->has_ad == _TRUE_) && (ppt->has_niv == _TRUE_) &&
              (((index_ic1 == ppt->index_ic_ad) && (index_ic2 == ppt->index_ic_niv)) ||
               ((index_ic2 == ppt->index_ic_ad) && (index_ic1 == ppt->index_ic_niv)))) {
            one_correlation = ppm->c_ad_niv;
            one_tilt = ppm->n_ad_niv;
            one_running = ppm->alpha_ad_niv;
          }

          if ((ppt->has_bi == _TRUE_) && (ppt->has_cdi == _TRUE_) &&
              (((index_ic1 == ppt->index_ic_bi) && (index_ic2 == ppt->index_ic_cdi)) ||
               ((index_ic2 == ppt->index_ic_bi) && (index_ic1 == ppt->index_ic_cdi)))) {
            one_correlation = ppm->c_bi_cdi;
            one_tilt = ppm->n_bi_cdi;
            one_running = ppm->alpha_bi_cdi;
          }

          if ((ppt->has_bi == _TRUE_) && (ppt->has_nid == _TRUE_) &&
              (((index_ic1 == ppt->index_ic_bi) && (index_ic2 == ppt->index_ic_nid)) ||
               ((index_ic2 == ppt->index_ic_bi) && (index_ic1 == ppt->index_ic_nid)))) {
            one_correlation = ppm->c_bi_nid;
            one_tilt = ppm->n_bi_nid;
            one_running = ppm->alpha_bi_nid;
          }

          if ((ppt->has_bi == _TRUE_) && (ppt->has_niv == _TRUE_) &&
              (((index_ic1 == ppt->index_ic_bi) && (index_ic2 == ppt->index_ic_niv)) ||
               ((index_ic2 == ppt->index_ic_bi) && (index_ic1 == ppt->index_ic_niv)))) {
            one_correlation = ppm->c_bi_niv;
            one_tilt = ppm->n_bi_niv;
            one_running = ppm->alpha_bi_niv;
          }

          if ((ppt->has_cdi == _TRUE_) && (ppt->has_nid == _TRUE_) &&
              (((index_ic1 == ppt->index_ic_cdi) && (index_ic2 == ppt->index_ic_nid)) ||
               ((index_ic2 == ppt->index_ic_cdi) && (index_ic1 == ppt->index_ic_nid)))) {
            one_correlation = ppm->c_cdi_nid;
            one_tilt = ppm->n_cdi_nid;
            one_running = ppm->alpha_cdi_nid;
          }

          if ((ppt->has_cdi == _TRUE_) && (ppt->has_niv == _TRUE_) &&
              (((index_ic1 == ppt->index_ic_cdi) && (index_ic2 == ppt->index_ic_niv)) ||
               ((index_ic2 == ppt->index_ic_cdi) && (index_ic1 == ppt->index_ic_niv)))) {
            one_correlation = ppm->c_cdi_niv;
            one_tilt = ppm->n_cdi_niv;
            one_running = ppm->alpha_cdi_niv;
          }

          if ((ppt->has_nid == _TRUE_) && (ppt->has_niv == _TRUE_) &&
              (((index_ic1 == ppt->index_ic_nid) && (index_ic2 == ppt->index_ic_niv)) ||
               ((index_ic2 == ppt->index_ic_nid) && (index_ic1 == ppt->index_ic_niv)))) {
            one_correlation = ppm->c_nid_niv;
            one_tilt = ppm->n_nid_niv;
            one_running = ppm->alpha_nid_niv;
          }

        }

        class_test((one_correlation < -1) || (one_correlation > 1),
                   ppm->error_message,
                   "inconsistent input for isocurvature cross-correlation\n");

        index_ic1_ic2 = index_symmetric_matrix(index_ic1,index_ic2,ppm->ic_size[index_md]);
        index_ic1_ic1 = index_symmetric_matrix(index_ic1,index_ic1,ppm->ic_size[index_md]);
        index_ic2_ic2 = index_symmetric_matrix(index_ic2,index_ic2,ppm->ic_size[index_md]);

        if (one_correlation == 0.) {
          ppm->is_non_zero[index_md][index_ic1_ic2] = _FALSE_;
          ppm->amplitude[index_md][index_ic1_ic2] = 0.;
          ppm->tilt[index_md][index_ic1_ic2] = 0.;
          ppm->running[index_md][index_ic1_ic2] = 0.;
        }
        else {
          ppm->is_non_zero[index_md][index_ic1_ic2] = _TRUE_;
          ppm->amplitude[index_md][index_ic1_ic2] =
            sqrt(ppm->amplitude[index_md][index_ic1_ic1]*
                 ppm->amplitude[index_md][index_ic2_ic2])*
            one_correlation;
          ppm->tilt[index_md][index_ic1_ic2] =
            0.5*(ppm->tilt[index_md][index_ic1_ic1]
                 +ppm->tilt[index_md][index_ic2_ic2])
            + one_tilt;
          ppm->running[index_md][index_ic1_ic2] =
            0.5*(ppm->running[index_md][index_ic1_ic1]
                 +ppm->running[index_md][index_ic2_ic2])
            + one_running;
        }
      }
    }
  }

  return _SUCCESS_;

}

// Assembly:
subq $0x50d8, %rsp           # imm = 0x50D8
movq %rdi, 0x50c8(%rsp)
movq %rsi, 0x50c0(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x50a0(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x5098(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x5090(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x5088(%rsp)
movq 0x50c0(%rsp), %rax
movslq 0x278(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x50c0(%rsp), %rax
movq %rcx, 0x2b8(%rax)
movq 0x50c0(%rsp), %rax
cmpq $0x0, 0x2b8(%rax)
jne 0x1145d2
movq 0x50c0(%rsp), %rax
movslq 0x278(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x5084(%rsp)
leaq 0x4880(%rsp), %rdi
movl 0x5084(%rsp), %ecx
leaq 0xbda81(%rip), %rsi     # 0x1d2004
leaq 0xe8f72(%rip), %rdx     # 0x1fd4fc
movb $0x0, %al
callq 0x5b9c0
movq 0x50c0(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x4880(%rsp), %r8
leaq 0xbda85(%rip), %rsi     # 0x1d2034
leaq 0xe8f55(%rip), %rdx     # 0x1fd50b
movl $0x2f0, %ecx            # imm = 0x2F0
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x50d4(%rsp)
jmp 0x115f04
movq 0x50c0(%rsp), %rax
movslq 0x278(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x50c0(%rsp), %rax
movq %rcx, 0x2c0(%rax)
movq 0x50c0(%rsp), %rax
cmpq $0x0, 0x2c0(%rax)
jne 0x11468d
movq 0x50c0(%rsp), %rax
movslq 0x278(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x487c(%rsp)
leaq 0x4070(%rsp), %rdi
movl 0x487c(%rsp), %ecx
leaq 0xbd9c6(%rip), %rsi     # 0x1d2004
leaq 0xe8ee8(%rip), %rdx     # 0x1fd52d
movb $0x0, %al
callq 0x5b9c0
movq 0x50c0(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x4070(%rsp), %r8
leaq 0xbd9ca(%rip), %rsi     # 0x1d2034
leaq 0xe8e9a(%rip), %rdx     # 0x1fd50b
movl $0x2f4, %ecx            # imm = 0x2F4
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x50d4(%rsp)
jmp 0x115f04
movq 0x50c0(%rsp), %rax
movslq 0x278(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x50c0(%rsp), %rax
movq %rcx, 0x2c8(%rax)
movq 0x50c0(%rsp), %rax
cmpq $0x0, 0x2c8(%rax)
jne 0x114748
movq 0x50c0(%rsp), %rax
movslq 0x278(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x406c(%rsp)
leaq 0x3860(%rsp), %rdi
movl 0x406c(%rsp), %ecx
leaq 0xbd90b(%rip), %rsi     # 0x1d2004
leaq 0xe8e37(%rip), %rdx     # 0x1fd537
movb $0x0, %al
callq 0x5b9c0
movq 0x50c0(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x3860(%rsp), %r8
leaq 0xbd90f(%rip), %rsi     # 0x1d2034
leaq 0xe8ddf(%rip), %rdx     # 0x1fd50b
movl $0x2f8, %ecx            # imm = 0x2F8
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x50d4(%rsp)
jmp 0x115f04
movl $0x0, 0x50bc(%rsp)
movl 0x50bc(%rsp), %eax
movq 0x50c0(%rsp), %rcx
cmpl 0x278(%rcx), %eax
jge 0x114a53
movq 0x50c0(%rsp), %rax
movq 0x288(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movslq (%rax,%rcx,4), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rdx
movq 0x50c0(%rsp), %rax
movq 0x2b8(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x50c0(%rsp), %rax
movq 0x2b8(%rax), %rax
movslq 0x50bc(%rsp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x11485d
movq 0x50c0(%rsp), %rax
movq 0x288(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movslq (%rax,%rcx,4), %rax
shlq $0x3, %rax
movl %eax, 0x385c(%rsp)
leaq 0x3050(%rsp), %rdi
movl 0x385c(%rsp), %ecx
leaq 0xbd7f6(%rip), %rsi     # 0x1d2004
leaq 0xe8d2f(%rip), %rdx     # 0x1fd544
movb $0x0, %al
callq 0x5b9c0
movq 0x50c0(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x3050(%rsp), %r8
leaq 0xbd7fa(%rip), %rsi     # 0x1d2034
leaq 0xe8cca(%rip), %rdx     # 0x1fd50b
movl $0x2fe, %ecx            # imm = 0x2FE
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x50d4(%rsp)
jmp 0x115f04
movq 0x50c0(%rsp), %rax
movq 0x288(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movslq (%rax,%rcx,4), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rdx
movq 0x50c0(%rsp), %rax
movq 0x2c0(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x50c0(%rsp), %rax
movq 0x2c0(%rax), %rax
movslq 0x50bc(%rsp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x11494c
movq 0x50c0(%rsp), %rax
movq 0x288(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movslq (%rax,%rcx,4), %rax
shlq $0x3, %rax
movl %eax, 0x304c(%rsp)
leaq 0x2840(%rsp), %rdi
movl 0x304c(%rsp), %ecx
leaq 0xbd707(%rip), %rsi     # 0x1d2004
leaq 0xe8c59(%rip), %rdx     # 0x1fd55d
movb $0x0, %al
callq 0x5b9c0
movq 0x50c0(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x2840(%rsp), %r8
leaq 0xbd70b(%rip), %rsi     # 0x1d2034
leaq 0xe8bdb(%rip), %rdx     # 0x1fd50b
movl $0x302, %ecx            # imm = 0x302
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x50d4(%rsp)
jmp 0x115f04
movq 0x50c0(%rsp), %rax
movq 0x288(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movslq (%rax,%rcx,4), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rdx
movq 0x50c0(%rsp), %rax
movq 0x2c8(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x50c0(%rsp), %rax
movq 0x2c8(%rax), %rax
movslq 0x50bc(%rsp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x114a3b
movq 0x50c0(%rsp), %rax
movq 0x288(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movslq (%rax,%rcx,4), %rax
shlq $0x3, %rax
movl %eax, 0x283c(%rsp)
leaq 0x2030(%rsp), %rdi
movl 0x283c(%rsp), %ecx
leaq 0xbd618(%rip), %rsi     # 0x1d2004
leaq 0xe8b7e(%rip), %rdx     # 0x1fd571
movb $0x0, %al
callq 0x5b9c0
movq 0x50c0(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x2030(%rsp), %r8
leaq 0xbd61c(%rip), %rsi     # 0x1d2034
leaq 0xe8aec(%rip), %rdx     # 0x1fd50b
movl $0x306, %ecx            # imm = 0x306
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x50d4(%rsp)
jmp 0x115f04
jmp 0x114a3d
movl 0x50bc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x50bc(%rsp)
jmp 0x114753
movl $0x0, 0x50bc(%rsp)
movl 0x50bc(%rsp), %eax
movq 0x50c0(%rsp), %rcx
cmpl 0x278(%rcx), %eax
jge 0x115ef9
movl $0x0, 0x50b8(%rsp)
movl 0x50b8(%rsp), %eax
movq 0x50c0(%rsp), %rcx
movq 0x280(%rcx), %rcx
movslq 0x50bc(%rsp), %rdx
cmpl (%rcx,%rdx,4), %eax
jge 0x115050
movq 0x50c8(%rsp), %rax
movswl 0xe(%rax), %eax
cmpl $0x1, %eax
jne 0x114d72
movl 0x50bc(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x848(%rcx), %eax
jne 0x114d72
movq 0x50c8(%rsp), %rax
movswl 0x14(%rax), %eax
cmpl $0x1, %eax
jne 0x114b45
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x858(%rcx), %eax
jne 0x114b45
movq 0x50c0(%rsp), %rax
movsd 0x20(%rax), %xmm0
movsd %xmm0, 0x50a0(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0x28(%rax), %xmm0
movsd %xmm0, 0x5098(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0x30(%rax), %xmm0
movsd %xmm0, 0x5090(%rsp)
movq 0x50c8(%rsp), %rax
movswl 0x16(%rax), %eax
cmpl $0x1, %eax
jne 0x114bc9
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x860(%rcx), %eax
jne 0x114bc9
movq 0x50c0(%rsp), %rax
movsd 0x20(%rax), %xmm0
movq 0x50c0(%rsp), %rax
mulsd 0x58(%rax), %xmm0
movq 0x50c0(%rsp), %rax
mulsd 0x58(%rax), %xmm0
movsd %xmm0, 0x50a0(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0x60(%rax), %xmm0
movsd %xmm0, 0x5098(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0x68(%rax), %xmm0
movsd %xmm0, 0x5090(%rsp)
movq 0x50c8(%rsp), %rax
movswl 0x18(%rax), %eax
cmpl $0x1, %eax
jne 0x114c50
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x85c(%rcx), %eax
jne 0x114c50
movq 0x50c0(%rsp), %rax
movsd 0x20(%rax), %xmm0
movq 0x50c0(%rsp), %rax
mulsd 0x70(%rax), %xmm0
movq 0x50c0(%rsp), %rax
mulsd 0x70(%rax), %xmm0
movsd %xmm0, 0x50a0(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0x78(%rax), %xmm0
movsd %xmm0, 0x5098(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0x80(%rax), %xmm0
movsd %xmm0, 0x5090(%rsp)
movq 0x50c8(%rsp), %rax
movswl 0x1a(%rax), %eax
cmpl $0x1, %eax
jne 0x114ce0
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x864(%rcx), %eax
jne 0x114ce0
movq 0x50c0(%rsp), %rax
movsd 0x20(%rax), %xmm0
movq 0x50c0(%rsp), %rax
mulsd 0x88(%rax), %xmm0
movq 0x50c0(%rsp), %rax
mulsd 0x88(%rax), %xmm0
movsd %xmm0, 0x50a0(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0x90(%rax), %xmm0
movsd %xmm0, 0x5098(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0x98(%rax), %xmm0
movsd %xmm0, 0x5090(%rsp)
movq 0x50c8(%rsp), %rax
movswl 0x1c(%rax), %eax
cmpl $0x1, %eax
jne 0x114d70
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x868(%rcx), %eax
jne 0x114d70
movq 0x50c0(%rsp), %rax
movsd 0x20(%rax), %xmm0
movq 0x50c0(%rsp), %rax
mulsd 0xa0(%rax), %xmm0
movq 0x50c0(%rsp), %rax
mulsd 0xa0(%rax), %xmm0
movsd %xmm0, 0x50a0(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0xa8(%rax), %xmm0
movsd %xmm0, 0x5098(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0xb0(%rax), %xmm0
movsd %xmm0, 0x5090(%rsp)
jmp 0x114d72
movq 0x50c8(%rsp), %rax
movswl 0x12(%rax), %eax
cmpl $0x1, %eax
jne 0x114e0e
movl 0x50bc(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x84c(%rcx), %eax
jne 0x114e0e
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x86c(%rcx), %eax
jne 0x114e0c
movq 0x50c0(%rsp), %rax
movsd 0x20(%rax), %xmm0
movq 0x50c0(%rsp), %rax
mulsd 0x40(%rax), %xmm0
movsd %xmm0, 0x50a0(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0xbd460(%rip), %xmm0    # 0x1d2248
addsd 0x48(%rax), %xmm0
movsd %xmm0, 0x5098(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0x50(%rax), %xmm0
movsd %xmm0, 0x5090(%rsp)
jmp 0x114e0e
xorps %xmm0, %xmm0
ucomisd 0x50a0(%rsp), %xmm0
jb 0x114eb3
leaq 0x1830(%rsp), %rdi
movsd 0x50a0(%rsp), %xmm0
movl 0x50bc(%rsp), %edx
movl 0x50b8(%rsp), %ecx
leaq 0xe8742(%rip), %rsi     # 0x1fd588
movb $0x1, %al
callq 0x5b9c0
leaq 0x1030(%rsp), %rdi
leaq 0x1830(%rsp), %rcx
leaq 0xbd21e(%rip), %rsi     # 0x1d2082
leaq 0xe876b(%rip), %rdx     # 0x1fd5d6
movb $0x0, %al
callq 0x5b9c0
movq 0x50c0(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x1030(%rsp), %r8
leaq 0xbd1a4(%rip), %rsi     # 0x1d2034
leaq 0xe8674(%rip), %rdx     # 0x1fd50b
movl $0x33d, %ecx            # imm = 0x33D
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x50d4(%rsp)
jmp 0x115f04
movl 0x50b8(%rsp), %eax
cmpl 0x50b8(%rsp), %eax
jg 0x114f1c
movl 0x50b8(%rsp), %eax
movq 0x50c0(%rsp), %rcx
movq 0x280(%rcx), %rcx
movslq 0x50bc(%rsp), %rdx
movl (%rcx,%rdx,4), %ecx
imull 0x50b8(%rsp), %ecx
addl %ecx, %eax
movl %eax, 0x28(%rsp)
movl 0x50b8(%rsp), %eax
movl 0x50b8(%rsp), %ecx
addl $0x1, %ecx
imull %ecx, %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl 0x28(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x2c(%rsp)
jmp 0x114f73
movl 0x50b8(%rsp), %eax
movq 0x50c0(%rsp), %rcx
movq 0x280(%rcx), %rcx
movslq 0x50bc(%rsp), %rdx
movl (%rcx,%rdx,4), %ecx
imull 0x50b8(%rsp), %ecx
addl %ecx, %eax
movl %eax, 0x24(%rsp)
movl 0x50b8(%rsp), %eax
movl 0x50b8(%rsp), %ecx
addl $0x1, %ecx
imull %ecx, %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl 0x24(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x2c(%rsp)
movl 0x2c(%rsp), %eax
movl %eax, 0x50b0(%rsp)
movq 0x50c0(%rsp), %rax
movq 0x2b0(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq 0x50b0(%rsp), %rcx
movw $0x1, (%rax,%rcx,2)
movsd 0x50a0(%rsp), %xmm0
movq 0x50c0(%rsp), %rax
movq 0x2b8(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq 0x50b0(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd 0x5098(%rsp), %xmm0
movq 0x50c0(%rsp), %rax
movq 0x2c0(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq 0x50b0(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd 0x5090(%rsp), %xmm0
movq 0x50c0(%rsp), %rax
movq 0x2c8(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq 0x50b0(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl 0x50b8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x50b8(%rsp)
jmp 0x114a84
movl $0x0, 0x50b8(%rsp)
movl 0x50b8(%rsp), %eax
movq 0x50c0(%rsp), %rcx
movq 0x280(%rcx), %rcx
movslq 0x50bc(%rsp), %rdx
cmpl (%rcx,%rdx,4), %eax
jge 0x115ee1
movl 0x50b8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x50b4(%rsp)
movl 0x50b4(%rsp), %eax
movq 0x50c0(%rsp), %rcx
movq 0x280(%rcx), %rcx
movslq 0x50bc(%rsp), %rdx
cmpl (%rcx,%rdx,4), %eax
jge 0x115ec9
movq 0x50c8(%rsp), %rax
movswl 0xe(%rax), %eax
cmpl $0x1, %eax
jne 0x115916
movl 0x50bc(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x848(%rcx), %eax
jne 0x115916
movq 0x50c8(%rsp), %rax
movswl 0x14(%rax), %eax
cmpl $0x1, %eax
jne 0x1151bb
movq 0x50c8(%rsp), %rax
movswl 0x16(%rax), %eax
cmpl $0x1, %eax
jne 0x1151bb
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x858(%rcx), %eax
jne 0x115142
movl 0x50b4(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x860(%rcx), %eax
je 0x115170
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x858(%rcx), %eax
jne 0x1151bb
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x860(%rcx), %eax
jne 0x1151bb
movq 0x50c0(%rsp), %rax
movsd 0xb8(%rax), %xmm0
movsd %xmm0, 0x5088(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0xc0(%rax), %xmm0
movsd %xmm0, 0x5098(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0xc8(%rax), %xmm0
movsd %xmm0, 0x5090(%rsp)
movq 0x50c8(%rsp), %rax
movswl 0x14(%rax), %eax
cmpl $0x1, %eax
jne 0x11528c
movq 0x50c8(%rsp), %rax
movswl 0x18(%rax), %eax
cmpl $0x1, %eax
jne 0x11528c
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x858(%rcx), %eax
jne 0x115213
movl 0x50b4(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x85c(%rcx), %eax
je 0x115241
movl 0x50b4(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x858(%rcx), %eax
jne 0x11528c
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x85c(%rcx), %eax
jne 0x11528c
movq 0x50c0(%rsp), %rax
movsd 0xd0(%rax), %xmm0
movsd %xmm0, 0x5088(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0xd8(%rax), %xmm0
movsd %xmm0, 0x5098(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0xe0(%rax), %xmm0
movsd %xmm0, 0x5090(%rsp)
movq 0x50c8(%rsp), %rax
movswl 0x14(%rax), %eax
cmpl $0x1, %eax
jne 0x11535d
movq 0x50c8(%rsp), %rax
movswl 0x1a(%rax), %eax
cmpl $0x1, %eax
jne 0x11535d
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x858(%rcx), %eax
jne 0x1152e4
movl 0x50b4(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x864(%rcx), %eax
je 0x115312
movl 0x50b4(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x858(%rcx), %eax
jne 0x11535d
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x864(%rcx), %eax
jne 0x11535d
movq 0x50c0(%rsp), %rax
movsd 0xe8(%rax), %xmm0
movsd %xmm0, 0x5088(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0xf0(%rax), %xmm0
movsd %xmm0, 0x5098(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0xf8(%rax), %xmm0
movsd %xmm0, 0x5090(%rsp)
movq 0x50c8(%rsp), %rax
movswl 0x14(%rax), %eax
cmpl $0x1, %eax
jne 0x11542e
movq 0x50c8(%rsp), %rax
movswl 0x1c(%rax), %eax
cmpl $0x1, %eax
jne 0x11542e
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x858(%rcx), %eax
jne 0x1153b5
movl 0x50b4(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x868(%rcx), %eax
je 0x1153e3
movl 0x50b4(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x858(%rcx), %eax
jne 0x11542e
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x868(%rcx), %eax
jne 0x11542e
movq 0x50c0(%rsp), %rax
movsd 0x100(%rax), %xmm0
movsd %xmm0, 0x5088(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0x108(%rax), %xmm0
movsd %xmm0, 0x5098(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0x110(%rax), %xmm0
movsd %xmm0, 0x5090(%rsp)
movq 0x50c8(%rsp), %rax
movswl 0x16(%rax), %eax
cmpl $0x1, %eax
jne 0x1154ff
movq 0x50c8(%rsp), %rax
movswl 0x18(%rax), %eax
cmpl $0x1, %eax
jne 0x1154ff
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x860(%rcx), %eax
jne 0x115486
movl 0x50b4(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x85c(%rcx), %eax
je 0x1154b4
movl 0x50b4(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x860(%rcx), %eax
jne 0x1154ff
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x85c(%rcx), %eax
jne 0x1154ff
movq 0x50c0(%rsp), %rax
movsd 0x118(%rax), %xmm0
movsd %xmm0, 0x5088(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0x120(%rax), %xmm0
movsd %xmm0, 0x5098(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0x128(%rax), %xmm0
movsd %xmm0, 0x5090(%rsp)
movq 0x50c8(%rsp), %rax
movswl 0x16(%rax), %eax
cmpl $0x1, %eax
jne 0x1155d0
movq 0x50c8(%rsp), %rax
movswl 0x1a(%rax), %eax
cmpl $0x1, %eax
jne 0x1155d0
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x860(%rcx), %eax
jne 0x115557
movl 0x50b4(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x864(%rcx), %eax
je 0x115585
movl 0x50b4(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x860(%rcx), %eax
jne 0x1155d0
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x864(%rcx), %eax
jne 0x1155d0
movq 0x50c0(%rsp), %rax
movsd 0x130(%rax), %xmm0
movsd %xmm0, 0x5088(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0x138(%rax), %xmm0
movsd %xmm0, 0x5098(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0x140(%rax), %xmm0
movsd %xmm0, 0x5090(%rsp)
movq 0x50c8(%rsp), %rax
movswl 0x16(%rax), %eax
cmpl $0x1, %eax
jne 0x1156a1
movq 0x50c8(%rsp), %rax
movswl 0x1c(%rax), %eax
cmpl $0x1, %eax
jne 0x1156a1
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x860(%rcx), %eax
jne 0x115628
movl 0x50b4(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x868(%rcx), %eax
je 0x115656
movl 0x50b4(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x860(%rcx), %eax
jne 0x1156a1
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x868(%rcx), %eax
jne 0x1156a1
movq 0x50c0(%rsp), %rax
movsd 0x148(%rax), %xmm0
movsd %xmm0, 0x5088(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0x150(%rax), %xmm0
movsd %xmm0, 0x5098(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0x158(%rax), %xmm0
movsd %xmm0, 0x5090(%rsp)
movq 0x50c8(%rsp), %rax
movswl 0x18(%rax), %eax
cmpl $0x1, %eax
jne 0x115772
movq 0x50c8(%rsp), %rax
movswl 0x1a(%rax), %eax
cmpl $0x1, %eax
jne 0x115772
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x85c(%rcx), %eax
jne 0x1156f9
movl 0x50b4(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x864(%rcx), %eax
je 0x115727
movl 0x50b4(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x85c(%rcx), %eax
jne 0x115772
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x864(%rcx), %eax
jne 0x115772
movq 0x50c0(%rsp), %rax
movsd 0x160(%rax), %xmm0
movsd %xmm0, 0x5088(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0x168(%rax), %xmm0
movsd %xmm0, 0x5098(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0x170(%rax), %xmm0
movsd %xmm0, 0x5090(%rsp)
movq 0x50c8(%rsp), %rax
movswl 0x18(%rax), %eax
cmpl $0x1, %eax
jne 0x115843
movq 0x50c8(%rsp), %rax
movswl 0x1c(%rax), %eax
cmpl $0x1, %eax
jne 0x115843
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x85c(%rcx), %eax
jne 0x1157ca
movl 0x50b4(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x868(%rcx), %eax
je 0x1157f8
movl 0x50b4(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x85c(%rcx), %eax
jne 0x115843
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x868(%rcx), %eax
jne 0x115843
movq 0x50c0(%rsp), %rax
movsd 0x178(%rax), %xmm0
movsd %xmm0, 0x5088(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0x180(%rax), %xmm0
movsd %xmm0, 0x5098(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0x188(%rax), %xmm0
movsd %xmm0, 0x5090(%rsp)
movq 0x50c8(%rsp), %rax
movswl 0x1a(%rax), %eax
cmpl $0x1, %eax
jne 0x115914
movq 0x50c8(%rsp), %rax
movswl 0x1c(%rax), %eax
cmpl $0x1, %eax
jne 0x115914
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x864(%rcx), %eax
jne 0x11589b
movl 0x50b4(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x868(%rcx), %eax
je 0x1158c9
movl 0x50b4(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x864(%rcx), %eax
jne 0x115914
movl 0x50b8(%rsp), %eax
movq 0x50c8(%rsp), %rcx
cmpl 0x868(%rcx), %eax
jne 0x115914
movq 0x50c0(%rsp), %rax
movsd 0x190(%rax), %xmm0
movsd %xmm0, 0x5088(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0x198(%rax), %xmm0
movsd %xmm0, 0x5098(%rsp)
movq 0x50c0(%rsp), %rax
movsd 0x1a0(%rax), %xmm0
movsd %xmm0, 0x5090(%rsp)
jmp 0x115916
movsd 0xbceb2(%rip), %xmm0    # 0x1d27d0
ucomisd 0x5088(%rsp), %xmm0
ja 0x115940
movsd 0x5088(%rsp), %xmm0
movsd 0xbc90e(%rip), %xmm1    # 0x1d2248
ucomisd %xmm1, %xmm0
jbe 0x1159b6
leaq 0x830(%rsp), %rdi
leaq 0xe7c9b(%rip), %rsi     # 0x1fd5ea
movb $0x0, %al
callq 0x5b9c0
leaq 0x30(%rsp), %rdi
leaq 0x830(%rsp), %rcx
leaq 0xbc718(%rip), %rsi     # 0x1d2082
leaq 0xe7cb0(%rip), %rdx     # 0x1fd621
movb $0x0, %al
callq 0x5b9c0
movq 0x50c0(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x30(%rsp), %r8
leaq 0xbc6a1(%rip), %rsi     # 0x1d2034
leaq 0xe7b71(%rip), %rdx     # 0x1fd50b
movl $0x3a2, %ecx            # imm = 0x3A2
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x50d4(%rsp)
jmp 0x115f04
movl 0x50b8(%rsp), %eax
cmpl 0x50b4(%rsp), %eax
jg 0x115a1f
movl 0x50b4(%rsp), %eax
movq 0x50c0(%rsp), %rcx
movq 0x280(%rcx), %rcx
movslq 0x50bc(%rsp), %rdx
movl (%rcx,%rdx,4), %ecx
imull 0x50b8(%rsp), %ecx
addl %ecx, %eax
movl %eax, 0x1c(%rsp)
movl 0x50b8(%rsp), %eax
movl 0x50b8(%rsp), %ecx
addl $0x1, %ecx
imull %ecx, %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl 0x1c(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x20(%rsp)
jmp 0x115a76
movl 0x50b8(%rsp), %eax
movq 0x50c0(%rsp), %rcx
movq 0x280(%rcx), %rcx
movslq 0x50bc(%rsp), %rdx
movl (%rcx,%rdx,4), %ecx
imull 0x50b4(%rsp), %ecx
addl %ecx, %eax
movl %eax, 0x18(%rsp)
movl 0x50b4(%rsp), %eax
movl 0x50b4(%rsp), %ecx
addl $0x1, %ecx
imull %ecx, %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl 0x18(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x20(%rsp)
movl 0x20(%rsp), %eax
movl %eax, 0x50b0(%rsp)
movl 0x50b8(%rsp), %eax
cmpl 0x50b8(%rsp), %eax
jg 0x115aea
movl 0x50b8(%rsp), %eax
movq 0x50c0(%rsp), %rcx
movq 0x280(%rcx), %rcx
movslq 0x50bc(%rsp), %rdx
movl (%rcx,%rdx,4), %ecx
imull 0x50b8(%rsp), %ecx
addl %ecx, %eax
movl %eax, 0x10(%rsp)
movl 0x50b8(%rsp), %eax
movl 0x50b8(%rsp), %ecx
addl $0x1, %ecx
imull %ecx, %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl 0x10(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x14(%rsp)
jmp 0x115b41
movl 0x50b8(%rsp), %eax
movq 0x50c0(%rsp), %rcx
movq 0x280(%rcx), %rcx
movslq 0x50bc(%rsp), %rdx
movl (%rcx,%rdx,4), %ecx
imull 0x50b8(%rsp), %ecx
addl %ecx, %eax
movl %eax, 0xc(%rsp)
movl 0x50b8(%rsp), %eax
movl 0x50b8(%rsp), %ecx
addl $0x1, %ecx
imull %ecx, %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl 0xc(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x14(%rsp)
movl 0x14(%rsp), %eax
movl %eax, 0x50ac(%rsp)
movl 0x50b4(%rsp), %eax
cmpl 0x50b4(%rsp), %eax
jg 0x115bb5
movl 0x50b4(%rsp), %eax
movq 0x50c0(%rsp), %rcx
movq 0x280(%rcx), %rcx
movslq 0x50bc(%rsp), %rdx
movl (%rcx,%rdx,4), %ecx
imull 0x50b4(%rsp), %ecx
addl %ecx, %eax
movl %eax, 0x4(%rsp)
movl 0x50b4(%rsp), %eax
movl 0x50b4(%rsp), %ecx
addl $0x1, %ecx
imull %ecx, %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl 0x4(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x8(%rsp)
jmp 0x115c0a
movl 0x50b4(%rsp), %eax
movq 0x50c0(%rsp), %rcx
movq 0x280(%rcx), %rcx
movslq 0x50bc(%rsp), %rdx
movl (%rcx,%rdx,4), %ecx
imull 0x50b4(%rsp), %ecx
addl %ecx, %eax
movl %eax, (%rsp)
movl 0x50b4(%rsp), %eax
movl 0x50b4(%rsp), %ecx
addl $0x1, %ecx
imull %ecx, %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl (%rsp), %eax
subl %ecx, %eax
movl %eax, 0x8(%rsp)
movl 0x8(%rsp), %eax
movl %eax, 0x50a8(%rsp)
movsd 0x5088(%rsp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x115ce0
jp 0x115ce0
movq 0x50c0(%rsp), %rax
movq 0x2b0(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq 0x50b0(%rsp), %rcx
movw $0x0, (%rax,%rcx,2)
movq 0x50c0(%rsp), %rax
movq 0x2b8(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq 0x50b0(%rsp), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movq 0x50c0(%rsp), %rax
movq 0x2c0(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq 0x50b0(%rsp), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movq 0x50c0(%rsp), %rax
movq 0x2c8(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq 0x50b0(%rsp), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
jmp 0x115eb1
movq 0x50c0(%rsp), %rax
movq 0x2b0(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq 0x50b0(%rsp), %rcx
movw $0x1, (%rax,%rcx,2)
movq 0x50c0(%rsp), %rax
movq 0x2b8(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq 0x50ac(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x50c0(%rsp), %rax
movq 0x2b8(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq 0x50a8(%rsp), %rcx
mulsd (%rax,%rcx,8), %xmm0
callq 0x82e0
mulsd 0x5088(%rsp), %xmm0
movq 0x50c0(%rsp), %rax
movq 0x2b8(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq 0x50b0(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x50c0(%rsp), %rax
movq 0x2c0(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq 0x50ac(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x50c0(%rsp), %rax
movq 0x2c0(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq 0x50a8(%rsp), %rcx
addsd (%rax,%rcx,8), %xmm0
movsd 0x5098(%rsp), %xmm1
movsd 0xbce98(%rip), %xmm2    # 0x1d2c88
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x50c0(%rsp), %rax
movq 0x2c0(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq 0x50b0(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x50c0(%rsp), %rax
movq 0x2c8(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq 0x50ac(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x50c0(%rsp), %rax
movq 0x2c8(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq 0x50a8(%rsp), %rcx
addsd (%rax,%rcx,8), %xmm0
movsd 0x5090(%rsp), %xmm1
movsd 0xbce07(%rip), %xmm2    # 0x1d2c88
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x50c0(%rsp), %rax
movq 0x2c8(%rax), %rax
movslq 0x50bc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq 0x50b0(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x115eb3
movl 0x50b4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x50b4(%rsp)
jmp 0x115093
jmp 0x115ecb
movl 0x50b8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x50b8(%rsp)
jmp 0x11505b
jmp 0x115ee3
movl 0x50bc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x50bc(%rsp)
jmp 0x114a5e
movl $0x0, 0x50d4(%rsp)
movl 0x50d4(%rsp), %eax
addq $0x50d8, %rsp           # imm = 0x50D8
retq
nopw %cs:(%rax,%rax)