// File: /workspace/github_c_makefile_star2_O2/PoulinV[P]AxiCLASS/build/../source/output.c
// Function: output_cl
int output_cl(
              struct background * pba,
              struct perturbations * ppt,
              struct harmonic * phr,
              struct lensing * ple,
              struct output * pop
              ) {

  /** Summary: */

  /** - define local variables */

  FILE *** out_md_ic; /* array of pointers to files with argument
                         out_md_ic[index_md][index_ic1_ic2]
                         (will contain cl's for each mode and pairs of initial conditions) */

  FILE ** out_md;     /* array of pointers to files with argument
                         out_md[index_md]
                         (will contain cl's for each mode, summed eventually over ic's) */

  FILE * out;         /* (will contain total cl's, summed eventually over modes and ic's) */

  FILE * out_lensed;         /* (will contain total lensed cl's) */

  double ** cl_md_ic; /* array with argument
                         cl_md_ic[index_md][index_ic1_ic2*phr->ct_size+index_ct] */

  double ** cl_md;    /* array with argument
                         cl_md[index_md][index_ct] */

  double * cl_tot;    /* array with argument
                         cl_tot[index_ct] */

  int index_md;
  int index_ic1,index_ic2,index_ic1_ic2;
  int l;

  FileName file_name;
  char first_line[_LINE_LENGTH_MAX_];

  /** - first, allocate all arrays of files and \f$ C_l\f$'s */

  class_alloc(out_md_ic,
              phr->md_size*sizeof(FILE * *),
              pop->error_message);

  class_alloc(cl_md_ic,
              phr->md_size*sizeof(double *),
              pop->error_message);

  class_alloc(out_md,
              phr->md_size*sizeof(FILE *),
              pop->error_message);

  class_alloc(cl_md,
              phr->md_size*sizeof(double *),
              pop->error_message);

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

    class_alloc(out_md_ic[index_md],
                phr->ic_ic_size[index_md]*sizeof(FILE *),
                pop->error_message);

  }

  /** - second, open only the relevant files, and write a heading in each of them */

  class_sprintf(file_name,"%s%s",pop->root,"cl.dat");

  class_call(output_open_cl_file(phr,
                                 pop,
                                 &out,
                                 file_name,
                                 "total [l(l+1)/2pi] C_l's",
                                 phr->l_max_tot
                                 ),
             pop->error_message,
             pop->error_message);

  class_alloc(cl_tot,
              phr->ct_size*sizeof(double),
              pop->error_message);


  if (ple->has_lensed_cls == _TRUE_) {

    class_sprintf(file_name,"%s%s",pop->root,"cl_lensed.dat");

    class_call(output_open_cl_file(phr,
                                   pop,
                                   &out_lensed,
                                   file_name,
                                   "total lensed [l(l+1)/2pi] C_l's",
                                   ple->l_lensed_max
                                   ),
               pop->error_message,
               pop->error_message);
  }

  if (ppt->md_size > 1) {

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

      if (_scalars_) {

        class_sprintf(file_name,"%s%s",pop->root,"cls.dat");
        strcpy(first_line,"[l(l+1)/2pi] C_l's for scalar mode");

      }

      if (_tensors_) {

        class_sprintf(file_name,"%s%s",pop->root,"clt.dat");
        strcpy(first_line,"[l(l+1)/2pi] C_l's for tensor mode");

      }

      class_call(output_open_cl_file(phr,
                                     pop,
                                     &(out_md[index_md]),
                                     file_name,
                                     first_line,
                                     phr->l_max[index_md]
                                     ),
                 pop->error_message,
                 pop->error_message);

      class_alloc(cl_md[index_md],
                  phr->ct_size*sizeof(double),
                  pop->error_message);

    }
  }

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

    if (ppt->ic_size[index_md] > 1) {

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

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

          if (_scalars_) {

            if ((ppt->has_ad == _TRUE_) &&
                (index_ic1 == ppt->index_ic_ad) && (index_ic2 == ppt->index_ic_ad)) {

              class_sprintf(file_name,"%s%s",pop->root,"cls_ad.dat");
              strcpy(first_line,"[l(l+1)/2pi] C_l's for scalar adiabatic (AD) mode");
            }

            if ((ppt->has_bi == _TRUE_) &&
                (index_ic1 == ppt->index_ic_bi) && (index_ic2 == ppt->index_ic_bi)) {

              class_sprintf(file_name,"%s%s",pop->root,"cls_bi.dat");
              strcpy(first_line,"[l(l+1)/2pi] C_l's for scalar baryon isocurvature (BI) mode");
            }

            if ((ppt->has_cdi == _TRUE_) &&
                (index_ic1 == ppt->index_ic_cdi) && (index_ic2 == ppt->index_ic_cdi)) {

              class_sprintf(file_name,"%s%s",pop->root,"cls_cdi.dat");
              strcpy(first_line,"[l(l+1)/2pi] C_l's for scalar CDM isocurvature (CDI) mode");
            }

            if ((ppt->has_nid == _TRUE_) &&
                (index_ic1 == ppt->index_ic_nid) && (index_ic2 == ppt->index_ic_nid)) {

              class_sprintf(file_name,"%s%s",pop->root,"cls_nid.dat");
              strcpy(first_line,"[l(l+1)/2pi] C_l's for scalar neutrino density isocurvature (NID) mode");
            }

            if ((ppt->has_niv == _TRUE_) &&
                (index_ic1 == ppt->index_ic_niv) && (index_ic2 == ppt->index_ic_niv)) {

              class_sprintf(file_name,"%s%s",pop->root,"cls_niv.dat");
              strcpy(first_line,"[l(l+1)/2pi] C_l's for scalar neutrino velocity isocurvature (NIV) mode");
            }

            if ((ppt->has_ad == _TRUE_) &&
                (ppt->has_bi == _TRUE_) && (index_ic1 == ppt->index_ic_ad) && (index_ic2 == ppt->index_ic_bi)) {

              class_sprintf(file_name,"%s%s",pop->root,"cls_ad_bi.dat");
              strcpy(first_line,"[l(l+1)/2pi] C_l's for scalar cross ADxBI mode");
            }

            if ((ppt->has_ad == _TRUE_) && (ppt->has_cdi == _TRUE_) &&
                (index_ic1 == ppt->index_ic_ad) && (index_ic2 == ppt->index_ic_cdi)) {

              class_sprintf(file_name,"%s%s",pop->root,"cls_ad_cdi.dat");
              strcpy(first_line,"[l(l+1)/2pi] C_l's for scalar cross ADxCDI mode");
            }

            if ((ppt->has_ad == _TRUE_) && (ppt->has_nid == _TRUE_) &&
                (index_ic1 == ppt->index_ic_ad) && (index_ic2 == ppt->index_ic_nid)) {

              class_sprintf(file_name,"%s%s",pop->root,"cls_ad_nid.dat");
              strcpy(first_line,"[l(l+1)/2pi] C_l's for scalar cross ADxNID mode");
            }

            if ((ppt->has_ad == _TRUE_) && (ppt->has_niv == _TRUE_) &&
                (index_ic1 == ppt->index_ic_ad) && (index_ic2 == ppt->index_ic_niv)) {

              class_sprintf(file_name,"%s%s",pop->root,"cls_ad_niv.dat");
              strcpy(first_line,"[l(l+1)/2pi] C_l's for scalar cross ADxNIV mode");
            }

            if ((ppt->has_bi == _TRUE_) && (ppt->has_cdi == _TRUE_) &&
                (index_ic1 == ppt->index_ic_bi) && (index_ic2 == ppt->index_ic_cdi)) {

              class_sprintf(file_name,"%s%s",pop->root,"cls_bi_cdi.dat");
              strcpy(first_line,"[l(l+1)/2pi] C_l's for scalar cross BIxCDI mode");
            }

            if ((ppt->has_bi == _TRUE_) && (ppt->has_nid == _TRUE_) &&
                (index_ic1 == ppt->index_ic_bi) && (index_ic2 == ppt->index_ic_nid)) {

              class_sprintf(file_name,"%s%s",pop->root,"cls_bi_nid.dat");
              strcpy(first_line,"[l(l+1)/2pi] C_l's for scalar cross BIxNID mode");
            }

            if ((ppt->has_bi == _TRUE_) && (ppt->has_niv == _TRUE_) &&
                (index_ic1 == ppt->index_ic_bi) && (index_ic2 == ppt->index_ic_niv)) {

              class_sprintf(file_name,"%s%s",pop->root,"cls_bi_niv.dat");
              strcpy(first_line,"[l(l+1)/2pi] C_l's for scalar cross BIxNIV mode");
            }

            if ((ppt->has_cdi == _TRUE_) && (ppt->has_nid == _TRUE_) &&
                (index_ic1 == ppt->index_ic_cdi) && (index_ic2 == ppt->index_ic_nid)) {

              class_sprintf(file_name,"%s%s",pop->root,"cls_cdi_nid.dat");
              strcpy(first_line,"[l(l+1)/2pi] C_l's for scalar cross CDIxNID mode");
            }

            if ((ppt->has_cdi == _TRUE_) && (ppt->has_niv == _TRUE_) &&
                (index_ic1 == ppt->index_ic_cdi) && (index_ic2 == ppt->index_ic_niv)) {

              class_sprintf(file_name,"%s%s",pop->root,"cls_cdi_niv.dat");
              strcpy(first_line,"[l(l+1)/2pi] C_l's for scalar cross CDIxNIV mode");
            }

            if ((ppt->has_nid == _TRUE_) && (ppt->has_niv == _TRUE_) &&
                (index_ic1 == ppt->index_ic_nid) && (index_ic2 == ppt->index_ic_niv)) {

              class_sprintf(file_name,"%s%s",pop->root,"cls_nid_niv.dat");
              strcpy(first_line,"[l(l+1)/2pi] C_l's for scalar cross NIDxNIV mode");
            }

          }

          if (_tensors_) {

            class_test(0==0,
                       pop->error_message,
                       "Seems that we have mixed initial conditions for tensors? Should not happen!\n");

          }

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

          if (phr->is_non_zero[index_md][index_ic1_ic2] == _TRUE_) {

            class_call(output_open_cl_file(phr,
                                           pop,
                                           &(out_md_ic[index_md][index_ic1_ic2]),
                                           file_name,
                                           first_line,
                                           phr->l_max[index_md]
                                           ),
                       pop->error_message,
                       pop->error_message);

          }
        }
      }

      class_alloc(cl_md_ic[index_md],
                  phr->ic_ic_size[index_md]*phr->ct_size*sizeof(double),
                  pop->error_message);
    }
  }

  /** - third, perform loop over l. For each multipole, get all \f$ C_l\f$'s
      by calling harmonic_cl_at_l() and distribute the results to
      relevant files */

  for (l = 2; l <= phr->l_max_tot; l++) {

    class_call(harmonic_cl_at_l(phr,(double)l,cl_tot,cl_md,cl_md_ic),
               phr->error_message,
               pop->error_message);

    class_call(output_one_line_of_cl(pba,phr,pop,out,(double)l,cl_tot,phr->ct_size),
               pop->error_message,
               pop->error_message);

    if ((ple->has_lensed_cls == _TRUE_) && (l<=ple->l_lensed_max)) {

      class_call(lensing_cl_at_l(ple,
                                 (double)l,
                                 cl_tot),
                 ple->error_message,
                 pop->error_message);

      class_call(output_one_line_of_cl(pba,phr,pop,out_lensed,l,cl_tot,phr->ct_size),
                 pop->error_message,
                 pop->error_message);
    }

    if (ppt->md_size > 1) {
      for (index_md = 0; index_md < ppt->md_size; index_md++) {
        if (l <= phr->l_max[index_md]) {

          class_call(output_one_line_of_cl(pba,phr,pop,out_md[index_md],l,cl_md[index_md],phr->ct_size),
                     pop->error_message,
                     pop->error_message);
        }
      }
    }

    for (index_md = 0; index_md < ppt->md_size; index_md++) {
      if ((ppt->ic_size[index_md] > 1) && (l <= phr->l_max[index_md])) {
        for (index_ic1_ic2 = 0; index_ic1_ic2 < phr->ic_ic_size[index_md]; index_ic1_ic2++) {
          if (phr->is_non_zero[index_md][index_ic1_ic2] == _TRUE_) {

            class_call(output_one_line_of_cl(pba,phr,pop,out_md_ic[index_md][index_ic1_ic2],l,&(cl_md_ic[index_md][index_ic1_ic2*phr->ct_size]),phr->ct_size),
                       pop->error_message,
                       pop->error_message);
          }
        }
      }
    }
  }

  /** - finally, close files and free arrays of files and \f$ C_l\f$'s */

  for (index_md = 0; index_md < ppt->md_size; index_md++) {
    if (ppt->ic_size[index_md] > 1) {
      for (index_ic1_ic2 = 0; index_ic1_ic2 < phr->ic_ic_size[index_md]; index_ic1_ic2++) {
        if (phr->is_non_zero[index_md][index_ic1_ic2] == _TRUE_) {
          fclose(out_md_ic[index_md][index_ic1_ic2]);
        }
      }
      free(cl_md_ic[index_md]);
    }
  }
  if (ppt->md_size > 1) {
    for (index_md = 0; index_md < ppt->md_size; index_md++) {
      fclose(out_md[index_md]);
      free(cl_md[index_md]);
    }
  }
  fclose(out);
  if (ple->has_lensed_cls == _TRUE_) {
    fclose(out_lensed);
  }
  free(cl_tot);
  for (index_md = 0; index_md < ppt->md_size; index_md++) {
    free(out_md_ic[index_md]);
  }
  free(out_md_ic);
  free(cl_md_ic);
  free(out_md);
  free(cl_md);

  return _SUCCESS_;

}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1578, %rsp           # imm = 0x1578
movq %r8, %rbx
movq %rcx, %r12
movq %rdx, %rbp
movq %rsi, 0x8(%rsp)
movq %rdi, 0x48(%rsp)
movslq 0x10(%rdx), %r14
movq %r14, %r13
shlq $0x3, %r13
movq %r13, %rdi
callq 0x8490
testq %rax, %rax
je 0xded5e
movq %rax, %r15
movq %r13, %rdi
callq 0x8490
movq %rax, 0x58(%rsp)
testq %rax, %rax
je 0xdeda8
movq %r13, %rdi
callq 0x8490
testq %rax, %rax
je 0xdedf2
movq %rax, 0x40(%rsp)
movq %r13, %rdi
callq 0x8490
movq %rax, 0x20(%rsp)
testq %rax, %rax
je 0xdee3c
movq %r12, 0x18(%rsp)
movq 0x8(%rsp), %rax
movl 0x854(%rax), %r14d
xorl %r13d, %r13d
testl %r14d, %r14d
cmovlel %r13d, %r14d
cmpq %r13, %r14
je 0xdee86
movq 0x20(%rbp), %rax
movslq (%rax,%r13,4), %r12
leaq (,%r12,8), %rdi
callq 0x8490
movq %rax, (%r15,%r13,8)
incq %r13
testq %rax, %rax
jne 0xdeceb
shll $0x3, %r12d
leaq 0x62e4(%rip), %rsi      # 0xe5004
leaq 0x46af5(%rip), %rdx     # 0x12581c
leaq 0x570(%rsp), %r14
movq %r14, %rdi
movl %r12d, %ecx
xorl %eax, %eax
callq 0x2e014
addq $0x420, %rbx            # imm = 0x420
leaq 0x62ea(%rip), %rsi      # 0xe5034
leaq 0x46aba(%rip), %rdx     # 0x12580b
movq %rbx, %rdi
movl $0x140, %ecx            # imm = 0x140
jmp 0xdef2a
leal (,%r14,8), %ecx
leaq 0x6297(%rip), %rsi      # 0xe5004
leaq 0x46a8d(%rip), %rdx     # 0x125801
leaq 0x570(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
addq $0x420, %rbx            # imm = 0x420
leaq 0x62a0(%rip), %rsi      # 0xe5034
leaq 0x46a70(%rip), %rdx     # 0x12580b
movq %rbx, %rdi
movl $0x12e, %ecx            # imm = 0x12E
jmp 0xdef2a
leal (,%r14,8), %ecx
leaq 0x624d(%rip), %rsi      # 0xe5004
leaq 0x3d948(%rip), %rdx     # 0x11c706
leaq 0x570(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
addq $0x420, %rbx            # imm = 0x420
leaq 0x6256(%rip), %rsi      # 0xe5034
leaq 0x46a26(%rip), %rdx     # 0x12580b
movq %rbx, %rdi
movl $0x132, %ecx            # imm = 0x132
jmp 0xdef2a
leal (,%r14,8), %ecx
leaq 0x6203(%rip), %rsi      # 0xe5004
leaq 0x46a0d(%rip), %rdx     # 0x125815
leaq 0x570(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
addq $0x420, %rbx            # imm = 0x420
leaq 0x620c(%rip), %rsi      # 0xe5034
leaq 0x469dc(%rip), %rdx     # 0x12580b
movq %rbx, %rdi
movl $0x136, %ecx            # imm = 0x136
jmp 0xdef2a
leal (,%r14,8), %ecx
leaq 0x61b9(%rip), %rsi      # 0xe5004
leaq 0x3d8bd(%rip), %rdx     # 0x11c70f
leaq 0x570(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
addq $0x420, %rbx            # imm = 0x420
leaq 0x61c2(%rip), %rsi      # 0xe5034
leaq 0x46992(%rip), %rdx     # 0x12580b
movq %rbx, %rdi
movl $0x13a, %ecx            # imm = 0x13A
jmp 0xdef2a
leaq 0x47873(%rip), %r12     # 0x126700
leaq 0xb0c1(%rip), %r14      # 0xe9f55
xorl %edi, %edi
xorl %esi, %esi
movq %r12, %rdx
movq %rbx, %rcx
movq %r14, %r8
xorl %eax, %eax
callq 0x8580
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %r13
movq %r13, %rdi
movq %r12, %rdx
movq %rbx, %rcx
movq %r14, %r8
xorl %eax, %eax
callq 0x8580
movl 0xc8(%rbp), %r9d
leaq 0x4695d(%rip), %r8      # 0x125830
leaq 0x68(%rsp), %rdx
movq %rbp, %rdi
movq %rbx, %rsi
movq %r13, %rcx
callq 0xe38b7
testl %eax, %eax
je 0xdef49
addq $0x420, %rbx            # imm = 0x420
leaq 0x64f8(%rip), %rsi      # 0xe53f0
leaq 0x4694a(%rip), %rdx     # 0x125849
leaq 0x570(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x6119(%rip), %rsi      # 0xe5034
leaq 0x468e9(%rip), %rdx     # 0x12580b
movq %rbx, %rdi
movl $0x150, %ecx            # imm = 0x150
movq %r14, %r8
xorl %eax, %eax
callq 0x2e014
pushq $0x1
popq %rax
addq $0x1578, %rsp           # imm = 0x1578
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movslq 0x9c(%rbp), %r12
leaq (,%r12,8), %rdi
callq 0x8490
testq %rax, %rax
je 0xdf1ff
movq %rax, %r14
movq 0x18(%rsp), %r12
cmpw $0x1, (%r12)
jne 0xdf027
leaq 0x4777f(%rip), %r12     # 0x126700
leaq 0x46924(%rip), %r8      # 0x1258ac
xorl %edi, %edi
xorl %esi, %esi
movq %r12, %rdx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x8580
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %r13
movq %r13, %rdi
movq %r12, %rdx
movq 0x18(%rsp), %r12
movq %rbx, %rcx
leaq 0x468f4(%rip), %r8      # 0x1258ac
xorl %eax, %eax
callq 0x8580
movl 0x5c(%r12), %r9d
leaq 0x468ef(%rip), %r8      # 0x1258ba
leaq 0x60(%rsp), %rdx
movq %rbp, %rdi
movq %rbx, %rsi
movq %r13, %rcx
callq 0xe38b7
testl %eax, %eax
je 0xdf027
addq $0x420, %rbx            # imm = 0x420
leaq 0x6400(%rip), %rsi      # 0xe53f0
leaq 0x468e3(%rip), %rdx     # 0x1258da
leaq 0x570(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x6021(%rip), %rsi      # 0xe5034
leaq 0x467f1(%rip), %rdx     # 0x12580b
movq %rbx, %rdi
movl $0x163, %ecx            # imm = 0x163
jmp 0xdef2a
movq %r14, 0x38(%rsp)
movq 0x8(%rsp), %r14
movl 0x854(%r14), %eax
cmpl $0x2, %eax
jl 0xdf250
movq 0x40(%rsp), %r13
xorl %r14d, %r14d
movq 0x8(%rsp), %r12
movslq 0x854(%r12), %rax
cmpq %rax, %r14
jge 0xdf248
cmpw $0x1, 0xe(%r12)
jne 0xdf0dc
movl 0x848(%r12), %eax
cmpq %rax, %r14
jne 0xdf0dc
xorl %edi, %edi
xorl %esi, %esi
leaq 0x47680(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x468bd(%rip), %r8      # 0x125947
xorl %eax, %eax
callq 0x8580
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x4765e(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x4689b(%rip), %r8      # 0x125947
xorl %eax, %eax
callq 0x8580
movups 0x46895(%rip), %xmm0    # 0x12594f
movaps %xmm0, 0x170(%rsp)
movups 0x46896(%rip), %xmm0    # 0x12595f
movaps %xmm0, 0x180(%rsp)
movl $0x65646f, 0x18f(%rsp) # imm = 0x65646F
cmpw $0x1, 0x12(%r12)
jne 0xdf15b
movq 0x8(%rsp), %rax
movl 0x84c(%rax), %eax
cmpq %rax, %r14
jne 0xdf15b
xorl %edi, %edi
xorl %esi, %esi
leaq 0x47600(%rip), %r12     # 0x126700
movq %r12, %rdx
movq %rbx, %rcx
leaq 0x46865(%rip), %r8      # 0x125972
xorl %eax, %eax
callq 0x8580
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
movq %r12, %rdx
movq %rbx, %rcx
leaq 0x46847(%rip), %r8      # 0x125972
xorl %eax, %eax
callq 0x8580
movups 0x46841(%rip), %xmm0    # 0x12597a
movaps %xmm0, 0x170(%rsp)
movups 0x46842(%rip), %xmm0    # 0x12598a
movaps %xmm0, 0x180(%rsp)
movl $0x65646f, 0x18f(%rsp) # imm = 0x65646F
movq 0xc0(%rbp), %rax
movl (%rax,%r14,4), %r9d
movq %rbp, %rdi
movq %rbx, %rsi
movq %r13, %rdx
leaq 0x70(%rsp), %rcx
leaq 0x170(%rsp), %r8
callq 0xe38b7
testl %eax, %eax
jne 0xdfd5a
movslq 0x9c(%rbp), %r12
leaq (,%r12,8), %rdi
callq 0x8490
movq 0x20(%rsp), %rcx
movq %rax, (%rcx,%r14,8)
incq %r14
addq $0x8, %r13
testq %rax, %rax
jne 0xdf049
shll $0x3, %r12d
leaq 0x5e43(%rip), %rsi      # 0xe5004
leaq 0x3d54d(%rip), %rdx     # 0x11c715
leaq 0x570(%rsp), %r14
movq %r14, %rdi
movl %r12d, %ecx
xorl %eax, %eax
callq 0x2e014
addq $0x420, %rbx            # imm = 0x420
leaq 0x5e49(%rip), %rsi      # 0xe5034
leaq 0x46619(%rip), %rdx     # 0x12580b
movq %rbx, %rdi
movl $0x184, %ecx            # imm = 0x184
jmp 0xdef2a
shll $0x3, %r12d
leaq 0x5dfa(%rip), %rsi      # 0xe5004
leaq 0x46694(%rip), %rdx     # 0x1258a5
leaq 0x570(%rsp), %r14
movq %r14, %rdi
movl %r12d, %ecx
xorl %eax, %eax
callq 0x2e014
addq $0x420, %rbx            # imm = 0x420
leaq 0x5e00(%rip), %rsi      # 0xe5034
leaq 0x465d0(%rip), %rdx     # 0x12580b
movq %rbx, %rdi
movl $0x154, %ecx            # imm = 0x154
jmp 0xdef2a
movq %r12, %r14
movq 0x18(%rsp), %r12
xorl %r13d, %r13d
movslq %eax, %rcx
cmpq %rcx, %r13
jge 0xdfd9f
movq 0x870(%r14), %rcx
movl (%rcx,%r13,4), %ecx
cmpl $0x2, %ecx
jl 0xdfcac
xorl %edx, %edx
pushq $0x2
popq %rax
xorl %esi, %esi
cmpl %ecx, %esi
jge 0xdfc6e
movl %eax, 0x28(%rsp)
movl %edx, 0x30(%rsp)
movl %edx, %eax
shrl %eax
negl %eax
movq %rax, 0x10(%rsp)
leal 0x1(%rsi), %eax
movl %eax, 0x54(%rsp)
movl %esi, %r12d
movq %rsi, (%rsp)
cmpl %ecx, %r12d
jge 0xdfc58
cmpw $0x1, 0xe(%r14)
jne 0xdfbb3
movl 0x848(%r14), %eax
cmpq %rax, %r13
jne 0xdfbb3
cmpw $0x1, 0x14(%r14)
jne 0xdf35f
movl 0x858(%r14), %eax
movl %esi, %ecx
xorl %eax, %ecx
xorl %r12d, %eax
orl %ecx, %eax
jne 0xdf35f
xorl %edi, %edi
xorl %esi, %esi
leaq 0x4740f(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x46703(%rip), %r8      # 0x1259fe
xorl %eax, %eax
callq 0x8580
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x473ed(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x466e1(%rip), %r8      # 0x1259fe
xorl %eax, %eax
callq 0x8580
movq (%rsp), %rsi
movups 0x466da(%rip), %xmm0    # 0x125a09
movaps %xmm0, 0x170(%rsp)
movups 0x466db(%rip), %xmm0    # 0x125a19
movaps %xmm0, 0x180(%rsp)
movups 0x466dc(%rip), %xmm0    # 0x125a29
movaps %xmm0, 0x190(%rsp)
movw $0x65, 0x1a0(%rsp)
cmpw $0x1, 0x16(%r14)
jne 0xdf3fb
movl 0x860(%r14), %eax
movl %esi, %ecx
xorl %eax, %ecx
xorl %r12d, %eax
orl %ecx, %eax
jne 0xdf3fb
xorl %edi, %edi
xorl %esi, %esi
leaq 0x47378(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x466a9(%rip), %r8      # 0x125a3b
xorl %eax, %eax
callq 0x8580
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x47356(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x46687(%rip), %r8      # 0x125a3b
xorl %eax, %eax
callq 0x8580
movq (%rsp), %rsi
movups 0x46680(%rip), %xmm0    # 0x125a46
movaps %xmm0, 0x170(%rsp)
movups 0x46681(%rip), %xmm0    # 0x125a56
movaps %xmm0, 0x180(%rsp)
movups 0x46682(%rip), %xmm0    # 0x125a66
movaps %xmm0, 0x190(%rsp)
movups 0x4667f(%rip), %xmm0    # 0x125a72
movups %xmm0, 0x19c(%rsp)
cmpw $0x1, 0x18(%r14)
jne 0xdf497
movl 0x85c(%r14), %eax
movl %esi, %ecx
xorl %eax, %ecx
xorl %r12d, %eax
orl %ecx, %eax
jne 0xdf497
xorl %edi, %edi
xorl %esi, %esi
leaq 0x472dc(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x46654(%rip), %r8      # 0x125a82
xorl %eax, %eax
callq 0x8580
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x472ba(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x46632(%rip), %r8      # 0x125a82
xorl %eax, %eax
callq 0x8580
movq (%rsp), %rsi
movups 0x4662c(%rip), %xmm0    # 0x125a8e
movaps %xmm0, 0x170(%rsp)
movups 0x4662d(%rip), %xmm0    # 0x125a9e
movaps %xmm0, 0x180(%rsp)
movups 0x4662e(%rip), %xmm0    # 0x125aae
movaps %xmm0, 0x190(%rsp)
movups 0x46629(%rip), %xmm0    # 0x125ab8
movups %xmm0, 0x19a(%rsp)
cmpw $0x1, 0x1a(%r14)
jne 0xdf50a
movl 0x864(%r14), %eax
movl %esi, %ecx
xorl %eax, %ecx
xorl %r12d, %eax
orl %ecx, %eax
jne 0xdf50a
xorl %edi, %edi
xorl %esi, %esi
leaq 0x47244(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x46602(%rip), %r8      # 0x125ac8
xorl %eax, %eax
callq 0x8580
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x47222(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x465e0(%rip), %r8      # 0x125ac8
xorl %eax, %eax
callq 0x8580
leaq 0x170(%rsp), %rdi
leaq 0x465d6(%rip), %rsi     # 0x125ad4
pushq $0x47
popq %rdx
callq 0x82f0
movq (%rsp), %rsi
cmpw $0x1, 0x1c(%r14)
jne 0xdf57d
movl 0x868(%r14), %eax
movl %esi, %ecx
xorl %eax, %ecx
xorl %r12d, %eax
orl %ecx, %eax
jne 0xdf57d
xorl %edi, %edi
xorl %esi, %esi
leaq 0x471d1(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x465e2(%rip), %r8      # 0x125b1b
xorl %eax, %eax
callq 0x8580
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x471af(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x465c0(%rip), %r8      # 0x125b1b
xorl %eax, %eax
callq 0x8580
leaq 0x170(%rsp), %rdi
leaq 0x465b6(%rip), %rsi     # 0x125b27
pushq $0x48
popq %rdx
callq 0x82f0
movq (%rsp), %rsi
cmpw $0x1, 0x14(%r14)
jne 0xdf7ed
cmpw $0x1, 0x16(%r14)
jne 0xdf626
cmpl 0x858(%r14), %esi
jne 0xdf626
cmpl 0x860(%r14), %r12d
jne 0xdf626
xorl %edi, %edi
xorl %esi, %esi
leaq 0x4714a(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x465af(%rip), %r8      # 0x125b6f
xorl %eax, %eax
callq 0x8580
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x47128(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x4658d(%rip), %r8      # 0x125b6f
xorl %eax, %eax
callq 0x8580
movq (%rsp), %rsi
movups 0x465a8(%rip), %xmm0    # 0x125b9c
movups %xmm0, 0x18f(%rsp)
movups 0x4658a(%rip), %xmm0    # 0x125b8d
movaps %xmm0, 0x180(%rsp)
movups 0x4656b(%rip), %xmm0    # 0x125b7d
movaps %xmm0, 0x170(%rsp)
cmpw $0x1, 0x14(%r14)
jne 0xdf7ed
cmpw $0x1, 0x18(%r14)
jne 0xdf6c3
cmpl 0x858(%r14), %esi
jne 0xdf6c3
cmpl 0x85c(%r14), %r12d
jne 0xdf6c3
xorl %edi, %edi
xorl %esi, %esi
leaq 0x470ad(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x4654f(%rip), %r8      # 0x125bac
xorl %eax, %eax
callq 0x8580
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x4708b(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x4652d(%rip), %r8      # 0x125bac
xorl %eax, %eax
callq 0x8580
movq (%rsp), %rsi
movups 0x4654a(%rip), %xmm0    # 0x125bdb
movaps %xmm0, 0x190(%rsp)
movups 0x4652b(%rip), %xmm0    # 0x125bcb
movaps %xmm0, 0x180(%rsp)
movups 0x4650c(%rip), %xmm0    # 0x125bbb
movaps %xmm0, 0x170(%rsp)
cmpw $0x1, 0x14(%r14)
jne 0xdf7ed
cmpw $0x1, 0x1a(%r14)
jne 0xdf760
cmpl 0x858(%r14), %esi
jne 0xdf760
cmpl 0x864(%r14), %r12d
jne 0xdf760
xorl %edi, %edi
xorl %esi, %esi
leaq 0x47010(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x464f1(%rip), %r8      # 0x125beb
xorl %eax, %eax
callq 0x8580
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x46fee(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x464cf(%rip), %r8      # 0x125beb
xorl %eax, %eax
callq 0x8580
movq (%rsp), %rsi
movups 0x464ec(%rip), %xmm0    # 0x125c1a
movaps %xmm0, 0x190(%rsp)
movups 0x464cd(%rip), %xmm0    # 0x125c0a
movaps %xmm0, 0x180(%rsp)
movups 0x464ae(%rip), %xmm0    # 0x125bfa
movaps %xmm0, 0x170(%rsp)
cmpw $0x1, 0x14(%r14)
jne 0xdf7ed
cmpw $0x1, 0x1c(%r14)
jne 0xdf7ed
cmpl 0x858(%r14), %esi
jne 0xdf7ed
cmpl 0x868(%r14), %r12d
jne 0xdf7ed
xorl %edi, %edi
xorl %esi, %esi
leaq 0x46f77(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x46497(%rip), %r8      # 0x125c2a
xorl %eax, %eax
callq 0x8580
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x46f55(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x46475(%rip), %r8      # 0x125c2a
xorl %eax, %eax
callq 0x8580
movq (%rsp), %rsi
movups 0x46472(%rip), %xmm0    # 0x125c39
movaps %xmm0, 0x170(%rsp)
movups 0x46473(%rip), %xmm0    # 0x125c49
movaps %xmm0, 0x180(%rsp)
movups 0x46474(%rip), %xmm0    # 0x125c59
movaps %xmm0, 0x190(%rsp)
cmpw $0x1, 0x16(%r14)
jne 0xdf9c0
cmpw $0x1, 0x18(%r14)
jne 0xdf896
cmpl 0x860(%r14), %esi
jne 0xdf896
cmpl 0x85c(%r14), %r12d
jne 0xdf896
xorl %edi, %edi
xorl %esi, %esi
leaq 0x46eda(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x46439(%rip), %r8      # 0x125c69
xorl %eax, %eax
callq 0x8580
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x46eb8(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x46417(%rip), %r8      # 0x125c69
xorl %eax, %eax
callq 0x8580
movq (%rsp), %rsi
movups 0x46434(%rip), %xmm0    # 0x125c98
movaps %xmm0, 0x190(%rsp)
movups 0x46415(%rip), %xmm0    # 0x125c88
movaps %xmm0, 0x180(%rsp)
movups 0x463f6(%rip), %xmm0    # 0x125c78
movaps %xmm0, 0x170(%rsp)
cmpw $0x1, 0x16(%r14)
jne 0xdf9c0
cmpw $0x1, 0x1a(%r14)
jne 0xdf933
cmpl 0x860(%r14), %esi
jne 0xdf933
cmpl 0x864(%r14), %r12d
jne 0xdf933
xorl %edi, %edi
xorl %esi, %esi
leaq 0x46e3d(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x463db(%rip), %r8      # 0x125ca8
xorl %eax, %eax
callq 0x8580
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x46e1b(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x463b9(%rip), %r8      # 0x125ca8
xorl %eax, %eax
callq 0x8580
movq (%rsp), %rsi
movups 0x463d6(%rip), %xmm0    # 0x125cd7
movaps %xmm0, 0x190(%rsp)
movups 0x463b7(%rip), %xmm0    # 0x125cc7
movaps %xmm0, 0x180(%rsp)
movups 0x46398(%rip), %xmm0    # 0x125cb7
movaps %xmm0, 0x170(%rsp)
cmpw $0x1, 0x16(%r14)
jne 0xdf9c0
cmpw $0x1, 0x1c(%r14)
jne 0xdf9c0
cmpl 0x860(%r14), %esi
jne 0xdf9c0
cmpl 0x868(%r14), %r12d
jne 0xdf9c0
xorl %edi, %edi
xorl %esi, %esi
leaq 0x46da4(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x46381(%rip), %r8      # 0x125ce7
xorl %eax, %eax
callq 0x8580
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x46d82(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x4635f(%rip), %r8      # 0x125ce7
xorl %eax, %eax
callq 0x8580
movq (%rsp), %rsi
movups 0x4635c(%rip), %xmm0    # 0x125cf6
movaps %xmm0, 0x170(%rsp)
movups 0x4635d(%rip), %xmm0    # 0x125d06
movaps %xmm0, 0x180(%rsp)
movups 0x4635e(%rip), %xmm0    # 0x125d16
movaps %xmm0, 0x190(%rsp)
cmpw $0x1, 0x18(%r14)
jne 0xdfb0e
cmpw $0x1, 0x1a(%r14)
jne 0xdfa75
cmpl 0x85c(%r14), %esi
jne 0xdfa75
cmpl 0x864(%r14), %r12d
jne 0xdfa75
xorl %edi, %edi
xorl %esi, %esi
leaq 0x46d03(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x4631f(%rip), %r8      # 0x125d26
xorl %eax, %eax
callq 0x8580
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x46ce1(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x462fd(%rip), %r8      # 0x125d26
xorl %eax, %eax
callq 0x8580
movq (%rsp), %rsi
movups 0x4631b(%rip), %xmm0    # 0x125d56
movaps %xmm0, 0x190(%rsp)
movups 0x462fc(%rip), %xmm0    # 0x125d46
movaps %xmm0, 0x180(%rsp)
movups 0x462dd(%rip), %xmm0    # 0x125d36
movaps %xmm0, 0x170(%rsp)
movb $0x0, 0x1a0(%rsp)
cmpw $0x1, 0x18(%r14)
jne 0xdfb0e
cmpw $0x1, 0x1c(%r14)
jne 0xdfb0e
cmpl 0x85c(%r14), %esi
jne 0xdfb0e
cmpl 0x868(%r14), %r12d
jne 0xdfb0e
xorl %edi, %edi
xorl %esi, %esi
leaq 0x46c5e(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x462bb(%rip), %r8      # 0x125d67
xorl %eax, %eax
callq 0x8580
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x46c3c(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x46299(%rip), %r8      # 0x125d67
xorl %eax, %eax
callq 0x8580
movq (%rsp), %rsi
movups 0x46297(%rip), %xmm0    # 0x125d77
movaps %xmm0, 0x170(%rsp)
movups 0x46298(%rip), %xmm0    # 0x125d87
movaps %xmm0, 0x180(%rsp)
movups 0x46299(%rip), %xmm0    # 0x125d97
movaps %xmm0, 0x190(%rsp)
movb $0x0, 0x1a0(%rsp)
cmpw $0x1, 0x1a(%r14)
jne 0xdfbb3
cmpw $0x1, 0x1c(%r14)
jne 0xdfbb3
cmpl 0x864(%r14), %esi
jne 0xdfbb3
cmpl 0x868(%r14), %r12d
jne 0xdfbb3
xorl %edi, %edi
xorl %esi, %esi
leaq 0x46bb9(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x46257(%rip), %r8      # 0x125da8
xorl %eax, %eax
callq 0x8580
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x46b97(%rip), %rdx     # 0x126700
movq %rbx, %rcx
leaq 0x46235(%rip), %r8      # 0x125da8
xorl %eax, %eax
callq 0x8580
movq (%rsp), %rsi
movups 0x46233(%rip), %xmm0    # 0x125db8
movaps %xmm0, 0x170(%rsp)
movups 0x46234(%rip), %xmm0    # 0x125dc8
movaps %xmm0, 0x180(%rsp)
movups 0x46235(%rip), %xmm0    # 0x125dd8
movaps %xmm0, 0x190(%rsp)
movb $0x0, 0x1a0(%rsp)
cmpw $0x1, 0x12(%r14)
jne 0xdfbcb
movl 0x84c(%r14), %eax
cmpq %rax, %r13
je 0xdfcb4
movq 0x18(%rbp), %rax
movl (%rax,%r13,4), %eax
cmpl %r12d, %esi
jbe 0xdfbef
imull %r12d, %eax
leal 0x1(%r12), %ecx
imull %r12d, %ecx
shrl %ecx
movl %esi, %edx
subl %ecx, %edx
addl %edx, %eax
jmp 0xdfbfc
imull %esi, %eax
movq 0x10(%rsp), %rcx
addl %r12d, %ecx
addl %ecx, %eax
movq 0x28(%rbp), %rcx
movq (%rcx,%r13,8), %rcx
movslq %eax, %rdx
cmpw $0x1, (%rcx,%rdx,2)
jne 0xdfc45
shlq $0x3, %rdx
addq (%r15,%r13,8), %rdx
movq 0xc0(%rbp), %rax
movl (%rax,%r13,4), %r9d
movq %rbp, %rdi
movq %rbx, %rsi
leaq 0x70(%rsp), %rcx
leaq 0x170(%rsp), %r8
callq 0xe38b7
movq (%rsp), %rsi
testl %eax, %eax
jne 0xdfd15
incl %r12d
movq 0x870(%r14), %rax
movl (%rax,%r13,4), %ecx
jmp 0xdf2a3
movl 0x30(%rsp), %edx
movl 0x28(%rsp), %eax
addl %eax, %edx
addl $0x2, %eax
movl 0x54(%rsp), %esi
jmp 0xdf27a
movq 0x20(%rbp), %rax
movslq (%rax,%r13,4), %rax
movslq 0x9c(%rbp), %r12
imulq %rax, %r12
leaq (,%r12,8), %rdi
callq 0x8490
movq 0x58(%rsp), %rcx
movq %rax, (%rcx,%r13,8)
testq %rax, %rax
je 0xe012b
movl 0x854(%r14), %eax
movq 0x18(%rsp), %r12
incq %r13
jmp 0xdf253
leaq 0x4612e(%rip), %rsi     # 0x125de9
leaq 0x570(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x53ae(%rip), %rsi      # 0xe5082
leaq 0x2ff2d(%rip), %rdx     # 0x10fc08
leaq 0xd70(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
addq $0x420, %rbx            # imm = 0x420
leaq 0x5336(%rip), %rsi      # 0xe5034
leaq 0x45b06(%rip), %rdx     # 0x12580b
movq %rbx, %rdi
movl $0x202, %ecx            # imm = 0x202
movq %r15, %r8
jmp 0xdef2d
addq $0x420, %rbx            # imm = 0x420
leaq 0x56cd(%rip), %rsi      # 0xe53f0
leaq 0x4610c(%rip), %rdx     # 0x125e36
leaq 0x570(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x52ee(%rip), %rsi      # 0xe5034
leaq 0x45abe(%rip), %rdx     # 0x12580b
movq %rbx, %rdi
movl $0x212, %ecx            # imm = 0x212
jmp 0xdef2a
addq $0x420, %rbx            # imm = 0x420
leaq 0x5688(%rip), %rsi      # 0xe53f0
leaq 0x45c2e(%rip), %rdx     # 0x12599d
leaq 0x570(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x52a9(%rip), %rsi      # 0xe5034
leaq 0x45a79(%rip), %rdx     # 0x12580b
movq %rbx, %rdi
movl $0x180, %ecx            # imm = 0x180
jmp 0xdef2a
movq 0x68(%rsp), %rcx
movq %rcx, 0x30(%rsp)
pushq $0x2
popq %rdx
movq 0x60(%rsp), %rcx
movq %rcx, 0x28(%rsp)
movl %edx, %ecx
movq 0x58(%rsp), %r13
cmpl 0xc8(%rbp), %ecx
movq 0x38(%rsp), %r14
jg 0xdff87
movl %ecx, 0x10(%rsp)
cvtsi2sd %ecx, %xmm0
movq %rbp, %rdi
movsd %xmm0, (%rsp)
movq %r14, %rsi
movq 0x20(%rsp), %rdx
movq %r13, %rcx
callq 0xac730
cmpl $0x1, %eax
movq %r14, %r8
movq 0x8(%rsp), %r14
je 0xe0093
movl 0x9c(%rbp), %r9d
movq 0x48(%rsp), %rdi
movq %rbp, %rsi
movq %rbx, %rdx
movq 0x30(%rsp), %rcx
movsd (%rsp), %xmm0
callq 0xe43a6
cmpw $0x1, (%r12)
movl 0x10(%rsp), %esi
jne 0xdfe6f
cmpl 0x5c(%r12), %esi
jg 0xdfe6f
movq %r12, %rdi
movq 0x38(%rsp), %rdx
callq 0xb0984
cmpl $0x1, %eax
je 0xe00df
movl 0x9c(%rbp), %r9d
movq 0x48(%rsp), %rdi
movq %rbp, %rsi
movq %rbx, %rdx
movq 0x28(%rsp), %rcx
movsd (%rsp), %xmm0
movq 0x38(%rsp), %r8
callq 0xe43a6
movl 0x854(%r14), %eax
cmpl $0x2, %eax
jl 0xdfed5
xorl %r14d, %r14d
movslq %eax, %rcx
cmpq %rcx, %r14
jge 0xdfed5
movq 0xc0(%rbp), %rcx
movl 0x10(%rsp), %edx
cmpl (%rcx,%r14,4), %edx
jg 0xdfed0
movq 0x40(%rsp), %rax
movq (%rax,%r14,8), %rcx
movq 0x20(%rsp), %rax
movq (%rax,%r14,8), %r8
movl 0x9c(%rbp), %r9d
movq 0x48(%rsp), %rdi
movq %rbp, %rsi
movq %rbx, %rdx
movsd (%rsp), %xmm0
callq 0xe43a6
movq 0x8(%rsp), %rax
movl 0x854(%rax), %eax
incq %r14
jmp 0xdfe7e
xorl %r14d, %r14d
movslq %eax, %rcx
cmpq %rcx, %r14
jge 0xdff7c
movq 0x8(%rsp), %rcx
movq 0x870(%rcx), %rcx
cmpl $0x2, (%rcx,%r14,4)
jl 0xdff74
movq 0xc0(%rbp), %rcx
movl 0x10(%rsp), %edx
cmpl (%rcx,%r14,4), %edx
jg 0xdff74
xorl %r12d, %r12d
movq 0x20(%rbp), %rax
movslq (%rax,%r14,4), %rax
cmpq %rax, %r12
jge 0xdff64
movq 0x28(%rbp), %rax
movq (%rax,%r14,8), %rax
cmpw $0x1, (%rax,%r12,2)
jne 0xdff5f
movq (%r15,%r14,8), %rax
movq (%rax,%r12,8), %rcx
movl 0x9c(%rbp), %r9d
movl %r12d, %eax
imull %r9d, %eax
movslq %eax, %r8
shlq $0x3, %r8
addq (%r13,%r14,8), %r8
movq 0x48(%rsp), %rdi
movq %rbp, %rsi
movq %rbx, %rdx
movsd (%rsp), %xmm0
callq 0xe43a6
incq %r12
jmp 0xdff0b
movq 0x8(%rsp), %rax
movl 0x854(%rax), %eax
movq 0x18(%rsp), %r12
incq %r14
jmp 0xdfed8
movl 0x10(%rsp), %ecx
incl %ecx
jmp 0xdfdbd
xorl %ebx, %ebx
movq 0x8(%rsp), %r14
movslq %eax, %rcx
cmpq %rcx, %rbx
jge 0xdfff0
movq 0x870(%r14), %rcx
cmpl $0x2, (%rcx,%rbx,4)
jl 0xdffeb
xorl %r14d, %r14d
movq 0x20(%rbp), %rax
movslq (%rax,%rbx,4), %rax
cmpq %rax, %r14
jge 0xdffd5
movq 0x28(%rbp), %rax
movq (%rax,%rbx,8), %rax
cmpw $0x1, (%rax,%r14,2)
jne 0xdffd0
movq (%r15,%rbx,8), %rax
movq (%rax,%r14,8), %rdi
callq 0x83c0
incq %r14
jmp 0xdffa6
movq (%r13,%rbx,8), %rdi
callq 0x8430
movq 0x8(%rsp), %r14
movl 0x854(%r14), %eax
incq %rbx
jmp 0xdff8e
cmpl $0x2, %eax
jl 0xe0026
xorl %ebx, %ebx
cltq
cmpq %rax, %rbx
jge 0xe0026
movq 0x40(%rsp), %rax
movq (%rax,%rbx,8), %rdi
callq 0x83c0
movq 0x20(%rsp), %rax
movq (%rax,%rbx,8), %rdi
callq 0x8430
incq %rbx
movl 0x854(%r14), %eax
jmp 0xdfff7
movq 0x30(%rsp), %rdi
callq 0x83c0
cmpw $0x1, (%r12)
jne 0xe0042
movq 0x28(%rsp), %rdi
callq 0x83c0
movq 0x38(%rsp), %rdi
callq 0x8430
xorl %ebx, %ebx
movslq 0x854(%r14), %rax
cmpq %rax, %rbx
jge 0xe0068
movq (%r15,%rbx,8), %rdi
callq 0x8430
incq %rbx
jmp 0xe004e
movq %r15, %rdi
callq 0x8430
movq %r13, %rdi
callq 0x8430
movq 0x40(%rsp), %rdi
callq 0x8430
movq 0x20(%rsp), %rdi
callq 0x8430
xorl %eax, %eax
jmp 0xdef37
addq $0xea, %rbp
leaq 0x534f(%rip), %rsi      # 0xe53f0
leaq 0x45e01(%rip), %rdx     # 0x125ea9
leaq 0x570(%rsp), %r14
movq %r14, %rdi
movq %rbp, %rcx
xorl %eax, %eax
callq 0x2e014
addq $0x420, %rbx            # imm = 0x420
leaq 0x4f69(%rip), %rsi      # 0xe5034
leaq 0x45739(%rip), %rdx     # 0x12580b
movq %rbx, %rdi
movl $0x226, %ecx            # imm = 0x226
jmp 0xdef2a
addq $0x92, %r12
leaq 0x5303(%rip), %rsi      # 0xe53f0
leaq 0x45deb(%rip), %rdx     # 0x125edf
leaq 0x570(%rsp), %r14
movq %r14, %rdi
movq %r12, %rcx
xorl %eax, %eax
callq 0x2e014
addq $0x420, %rbx            # imm = 0x420
leaq 0x4f1d(%rip), %rsi      # 0xe5034
leaq 0x456ed(%rip), %rdx     # 0x12580b
movq %rbx, %rdi
movl $0x232, %ecx            # imm = 0x232
jmp 0xdef2a
shll $0x3, %r12d
leaq 0x4ece(%rip), %rsi      # 0xe5004
leaq 0x3c5e8(%rip), %rdx     # 0x11c725
leaq 0x570(%rsp), %r14
movq %r14, %rdi
movl %r12d, %ecx
xorl %eax, %eax
callq 0x2e014
addq $0x420, %rbx            # imm = 0x420
leaq 0x4ed4(%rip), %rsi      # 0xe5034
leaq 0x456a4(%rip), %rdx     # 0x12580b
movq %rbx, %rdi
movl $0x21a, %ecx            # imm = 0x21A
jmp 0xdef2a