// File: /workspace/github_c_makefile_star2_O1/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, 0x50(%rsp)
movq %rdx, %r13
movq %rsi, %r14
movq %rdi, 0x38(%rsp)
movslq 0x10(%rdx), %rbp
movq %rbp, %r12
shlq $0x3, %r12
movq %r12, %rdi
callq 0x8460
testq %rax, %rax
je 0xea80f
movq %rax, %r15
movq %r12, %rdi
callq 0x8460
movq %rax, 0x20(%rsp)
testq %rax, %rax
je 0xea858
movq %r12, %rdi
callq 0x8460
movq %rax, 0x48(%rsp)
testq %rax, %rax
je 0xea8a1
movq %r12, %rdi
callq 0x8460
testq %rax, %rax
je 0xea8ea
movq %rax, 0x18(%rsp)
movq %r15, 0x10(%rsp)
movq %rbx, 0x58(%rsp)
movslq 0x854(%r14), %r15
testq %r15, %r15
jle 0xea75d
movq 0x20(%r13), %rbp
xorl %ebx, %ebx
movslq (%rbp,%rbx,4), %r12
leaq (,%r12,8), %rdi
callq 0x8460
movq 0x10(%rsp), %rcx
movq %rax, (%rcx,%rbx,8)
testq %rax, %rax
je 0xea933
incq %rbx
cmpq %rbx, %r15
jne 0xea731
leaq 0x480fc(%rip), %r12     # 0x132860
leaq 0xb8fa(%rip), %r15      # 0xf6065
xorl %edi, %edi
xorl %esi, %esi
movq %r12, %rdx
movq 0x58(%rsp), %rbx
movq %rbx, %rcx
movq %r15, %r8
xorl %eax, %eax
callq 0x8550
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rbp
movq %rbp, %rdi
movq %r12, %rdx
movq %rbx, %rcx
movq %r15, %r8
xorl %eax, %eax
callq 0x8550
movl 0xc8(%r13), %r9d
leaq 0x471e1(%rip), %r8      # 0x131990
leaq 0x68(%rsp), %rdx
movq %r13, %rdi
movq %rbx, %rsi
movq %rbp, %rcx
callq 0xef3cc
testl %eax, %eax
je 0xea97e
addq $0x420, %rbx            # imm = 0x420
leaq 0x6c18(%rip), %rsi      # 0xf13f0
leaq 0x471ca(%rip), %rdx     # 0x1319a9
leaq 0x570(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x6839(%rip), %rsi      # 0xf1034
leaq 0x47169(%rip), %rdx     # 0x13196b
movq %rbx, %rdi
movl $0x150, %ecx            # imm = 0x150
jmp 0xebb26
leal (,%rbp,8), %ecx
leaq 0x67e7(%rip), %rsi      # 0xf1004
leaq 0x4713d(%rip), %rdx     # 0x131961
leaq 0x570(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30c2c
addq $0x420, %rbx            # imm = 0x420
leaq 0x67f0(%rip), %rsi      # 0xf1034
leaq 0x47120(%rip), %rdx     # 0x13196b
movq %rbx, %rdi
movl $0x12e, %ecx            # imm = 0x12E
jmp 0xebb26
leal (,%rbp,8), %ecx
leaq 0x679e(%rip), %rsi      # 0xf1004
leaq 0x3dfc9(%rip), %rdx     # 0x128836
leaq 0x570(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30c2c
addq $0x420, %rbx            # imm = 0x420
leaq 0x67a7(%rip), %rsi      # 0xf1034
leaq 0x470d7(%rip), %rdx     # 0x13196b
movq %rbx, %rdi
movl $0x132, %ecx            # imm = 0x132
jmp 0xebb26
leal (,%rbp,8), %ecx
leaq 0x6755(%rip), %rsi      # 0xf1004
leaq 0x470bf(%rip), %rdx     # 0x131975
leaq 0x570(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30c2c
addq $0x420, %rbx            # imm = 0x420
leaq 0x675e(%rip), %rsi      # 0xf1034
leaq 0x4708e(%rip), %rdx     # 0x13196b
movq %rbx, %rdi
movl $0x136, %ecx            # imm = 0x136
jmp 0xebb26
leal (,%rbp,8), %ecx
leaq 0x670c(%rip), %rsi      # 0xf1004
leaq 0x3df40(%rip), %rdx     # 0x12883f
leaq 0x570(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30c2c
addq $0x420, %rbx            # imm = 0x420
leaq 0x6715(%rip), %rsi      # 0xf1034
leaq 0x47045(%rip), %rdx     # 0x13196b
movq %rbx, %rdi
movl $0x13a, %ecx            # imm = 0x13A
jmp 0xebb26
shll $0x3, %r12d
leaq 0x66c6(%rip), %rsi      # 0xf1004
leaq 0x47037(%rip), %rdx     # 0x13197c
leaq 0x570(%rsp), %r14
movq %r14, %rdi
movl %r12d, %ecx
xorl %eax, %eax
callq 0x30c2c
movq 0x58(%rsp), %rdi
addq $0x420, %rdi            # imm = 0x420
leaq 0x66c7(%rip), %rsi      # 0xf1034
leaq 0x46ff7(%rip), %rdx     # 0x13196b
movl $0x140, %ecx            # imm = 0x140
jmp 0xebb26
movslq 0x9c(%r13), %r12
leaq (,%r12,8), %rdi
callq 0x8460
testq %rax, %rax
je 0xeb965
movq %rax, 0x30(%rsp)
movq 0x50(%rsp), %r15
cmpw $0x1, (%r15)
jne 0xeaa57
leaq 0x47ea9(%rip), %r12     # 0x132860
leaq 0x4704e(%rip), %r8      # 0x131a0c
xorl %edi, %edi
xorl %esi, %esi
movq %r12, %rdx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x8550
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rbp
movq %rbp, %rdi
movq %r12, %rdx
movq %rbx, %rcx
leaq 0x47023(%rip), %r8      # 0x131a0c
xorl %eax, %eax
callq 0x8550
movl 0x5c(%r15), %r9d
leaq 0x4701f(%rip), %r8      # 0x131a1a
leaq 0x60(%rsp), %rdx
movq %r13, %rdi
movq %rbx, %rsi
movq %rbp, %rcx
callq 0xef3cc
testl %eax, %eax
je 0xeaa57
addq $0x420, %rbx            # imm = 0x420
leaq 0x69d0(%rip), %rsi      # 0xf13f0
leaq 0x47013(%rip), %rdx     # 0x131a3a
leaq 0x570(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x65f1(%rip), %rsi      # 0xf1034
leaq 0x46f21(%rip), %rdx     # 0x13196b
movq %rbx, %rdi
movl $0x163, %ecx            # imm = 0x163
jmp 0xebb26
cmpl $0x2, 0x854(%r14)
jl 0xeabe6
cmpl $0x0, 0x854(%r14)
jle 0xeabe6
movq 0x48(%rsp), %rbp
xorl %r12d, %r12d
cmpw $0x1, 0xe(%r14)
jne 0xeaafb
movl 0x848(%r14), %eax
cmpq %rax, %r12
jne 0xeaafb
xorl %edi, %edi
xorl %esi, %esi
leaq 0x47dc6(%rip), %rdx     # 0x132860
movq %rbx, %rcx
movq %rbp, %r15
leaq 0x47000(%rip), %rbp     # 0x131aa7
movq %rbp, %r8
xorl %eax, %eax
callq 0x8550
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x47d9e(%rip), %rdx     # 0x132860
movq %rbx, %rcx
movq %rbp, %r8
movq %r15, %rbp
xorl %eax, %eax
callq 0x8550
movups 0x46fd6(%rip), %xmm0    # 0x131aaf
movaps %xmm0, 0x170(%rsp)
movups 0x46fd7(%rip), %xmm0    # 0x131abf
movaps %xmm0, 0x180(%rsp)
movl $0x65646f, 0x18f(%rsp) # imm = 0x65646F
cmpw $0x1, 0x12(%r14)
jne 0xeab7b
movl 0x84c(%r14), %eax
cmpq %rax, %r12
jne 0xeab7b
xorl %edi, %edi
xorl %esi, %esi
leaq 0x47d46(%rip), %rdx     # 0x132860
movq %rbx, %rcx
movq %rbp, %r15
leaq 0x46fab(%rip), %rbp     # 0x131ad2
movq %rbp, %r8
xorl %eax, %eax
callq 0x8550
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x47d1e(%rip), %rdx     # 0x132860
movq %rbx, %rcx
movq %rbp, %r8
movq %r15, %rbp
xorl %eax, %eax
callq 0x8550
movups 0x46f81(%rip), %xmm0    # 0x131ada
movaps %xmm0, 0x170(%rsp)
movups 0x46f82(%rip), %xmm0    # 0x131aea
movaps %xmm0, 0x180(%rsp)
movl $0x65646f, 0x18f(%rsp) # imm = 0x65646F
movq 0xc0(%r13), %rax
movl (%rax,%r12,4), %r9d
movq %r13, %rdi
movq %rbx, %rsi
movq %rbp, %rdx
leaq 0x70(%rsp), %rcx
leaq 0x170(%rsp), %r8
callq 0xef3cc
testl %eax, %eax
jne 0xeba54
movslq 0x9c(%r13), %r15
leaq (,%r15,8), %rdi
callq 0x8460
movq 0x18(%rsp), %rcx
movq %rax, (%rcx,%r12,8)
testq %rax, %rax
je 0xeba99
incq %r12
movslq 0x854(%r14), %rax
addq $0x8, %rbp
cmpq %rax, %r12
jl 0xeaa7b
cmpl $0x0, 0x854(%r14)
jle 0xeb63f
xorl %ebp, %ebp
movq 0x870(%r14), %rax
cmpl $0x2, (%rax,%rbp,4)
jl 0xeb62c
movq 0x870(%r14), %rax
cmpl $0x0, (%rax,%rbp,4)
jle 0xeb5fa
movl $0x2, %ecx
movl $0x0, 0x2c(%rsp)
xorl %r15d, %r15d
movl %ecx, 0x40(%rsp)
movq 0x870(%r14), %rax
cmpl (%rax,%rbp,4), %r15d
jge 0xeb5db
movl 0x2c(%rsp), %eax
shrl %eax
negl %eax
movq %rax, 0x8(%rsp)
movl %r15d, %r12d
movl %r15d, (%rsp)
cmpw $0x1, 0xe(%r14)
jne 0xeb52e
movl 0x848(%r14), %eax
cmpq %rax, %rbp
jne 0xeb52e
cmpw $0x1, 0x14(%r14)
jne 0xead04
movl 0x858(%r14), %eax
movl %r15d, %ecx
xorl %eax, %ecx
xorl %r12d, %eax
orl %ecx, %eax
jne 0xead04
xorl %edi, %edi
xorl %esi, %esi
leaq 0x47bc9(%rip), %rdx     # 0x132860
movq %rbx, %rcx
leaq 0x46ebd(%rip), %r15     # 0x131b5e
movq %r15, %r8
xorl %eax, %eax
callq 0x8550
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x47ba4(%rip), %rdx     # 0x132860
movq %rbx, %rcx
movq %r15, %r8
movl (%rsp), %r15d
xorl %eax, %eax
callq 0x8550
movups 0x46e95(%rip), %xmm0    # 0x131b69
movaps %xmm0, 0x170(%rsp)
movups 0x46e96(%rip), %xmm0    # 0x131b79
movaps %xmm0, 0x180(%rsp)
movups 0x46e97(%rip), %xmm0    # 0x131b89
movaps %xmm0, 0x190(%rsp)
movw $0x65, 0x1a0(%rsp)
cmpw $0x1, 0x16(%r14)
jne 0xeada0
movl 0x860(%r14), %eax
movl %r15d, %ecx
xorl %eax, %ecx
xorl %r12d, %eax
orl %ecx, %eax
jne 0xeada0
xorl %edi, %edi
xorl %esi, %esi
leaq 0x47b32(%rip), %rdx     # 0x132860
movq %rbx, %rcx
leaq 0x46e63(%rip), %r15     # 0x131b9b
movq %r15, %r8
xorl %eax, %eax
callq 0x8550
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x47b0d(%rip), %rdx     # 0x132860
movq %rbx, %rcx
movq %r15, %r8
movl (%rsp), %r15d
xorl %eax, %eax
callq 0x8550
movups 0x46e3b(%rip), %xmm0    # 0x131ba6
movaps %xmm0, 0x170(%rsp)
movups 0x46e3c(%rip), %xmm0    # 0x131bb6
movaps %xmm0, 0x180(%rsp)
movups 0x46e3d(%rip), %xmm0    # 0x131bc6
movaps %xmm0, 0x190(%rsp)
movups 0x46e3a(%rip), %xmm0    # 0x131bd2
movups %xmm0, 0x19c(%rsp)
cmpw $0x1, 0x18(%r14)
jne 0xeae3c
movl 0x85c(%r14), %eax
movl %r15d, %ecx
xorl %eax, %ecx
xorl %r12d, %eax
orl %ecx, %eax
jne 0xeae3c
xorl %edi, %edi
xorl %esi, %esi
leaq 0x47a96(%rip), %rdx     # 0x132860
movq %rbx, %rcx
leaq 0x46e0e(%rip), %r15     # 0x131be2
movq %r15, %r8
xorl %eax, %eax
callq 0x8550
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x47a71(%rip), %rdx     # 0x132860
movq %rbx, %rcx
movq %r15, %r8
movl (%rsp), %r15d
xorl %eax, %eax
callq 0x8550
movups 0x46de7(%rip), %xmm0    # 0x131bee
movaps %xmm0, 0x170(%rsp)
movups 0x46de8(%rip), %xmm0    # 0x131bfe
movaps %xmm0, 0x180(%rsp)
movups 0x46de9(%rip), %xmm0    # 0x131c0e
movaps %xmm0, 0x190(%rsp)
movups 0x46de4(%rip), %xmm0    # 0x131c18
movups %xmm0, 0x19a(%rsp)
cmpw $0x1, 0x1a(%r14)
jne 0xeaeb1
movl 0x864(%r14), %eax
movl %r15d, %ecx
xorl %eax, %ecx
xorl %r12d, %eax
orl %ecx, %eax
jne 0xeaeb1
xorl %edi, %edi
xorl %esi, %esi
leaq 0x479fe(%rip), %rdx     # 0x132860
movq %rbx, %rcx
leaq 0x46dbc(%rip), %r15     # 0x131c28
movq %r15, %r8
xorl %eax, %eax
callq 0x8550
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x479d9(%rip), %rdx     # 0x132860
movq %rbx, %rcx
movq %r15, %r8
movl (%rsp), %r15d
xorl %eax, %eax
callq 0x8550
movl $0x47, %edx
leaq 0x170(%rsp), %rdi
leaq 0x46d88(%rip), %rsi     # 0x131c34
callq 0x82d0
cmpw $0x1, 0x1c(%r14)
jne 0xeaf26
movl 0x868(%r14), %eax
movl %r15d, %ecx
xorl %eax, %ecx
xorl %r12d, %eax
orl %ecx, %eax
jne 0xeaf26
xorl %edi, %edi
xorl %esi, %esi
leaq 0x47989(%rip), %rdx     # 0x132860
movq %rbx, %rcx
leaq 0x46d9a(%rip), %r15     # 0x131c7b
movq %r15, %r8
xorl %eax, %eax
callq 0x8550
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x47964(%rip), %rdx     # 0x132860
movq %rbx, %rcx
movq %r15, %r8
movl (%rsp), %r15d
xorl %eax, %eax
callq 0x8550
movl $0x48, %edx
leaq 0x170(%rsp), %rdi
leaq 0x46d66(%rip), %rsi     # 0x131c87
callq 0x82d0
cmpw $0x1, 0x14(%r14)
jne 0xeafbe
cmpw $0x1, 0x16(%r14)
jne 0xeafbe
cmpl 0x858(%r14), %r15d
jne 0xeafbe
cmpl 0x860(%r14), %r12d
jne 0xeafbe
xorl %edi, %edi
xorl %esi, %esi
leaq 0x47905(%rip), %rdx     # 0x132860
movq %rbx, %rcx
leaq 0x46d6a(%rip), %r15     # 0x131ccf
movq %r15, %r8
xorl %eax, %eax
callq 0x8550
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x478e0(%rip), %rdx     # 0x132860
movq %rbx, %rcx
movq %r15, %r8
movl (%rsp), %r15d
xorl %eax, %eax
callq 0x8550
movups 0x46d45(%rip), %xmm0    # 0x131cdd
movaps %xmm0, 0x170(%rsp)
movups 0x46d46(%rip), %xmm0    # 0x131ced
movaps %xmm0, 0x180(%rsp)
movups 0x46d46(%rip), %xmm0    # 0x131cfc
movups %xmm0, 0x18f(%rsp)
cmpw $0x1, 0x14(%r14)
jne 0xeb056
cmpw $0x1, 0x18(%r14)
jne 0xeb056
cmpl 0x858(%r14), %r15d
jne 0xeb056
cmpl 0x85c(%r14), %r12d
jne 0xeb056
xorl %edi, %edi
xorl %esi, %esi
leaq 0x4786d(%rip), %rdx     # 0x132860
movq %rbx, %rcx
leaq 0x46d0f(%rip), %r15     # 0x131d0c
movq %r15, %r8
xorl %eax, %eax
callq 0x8550
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x47848(%rip), %rdx     # 0x132860
movq %rbx, %rcx
movq %r15, %r8
movl (%rsp), %r15d
xorl %eax, %eax
callq 0x8550
movups 0x46ceb(%rip), %xmm0    # 0x131d1b
movaps %xmm0, 0x170(%rsp)
movups 0x46cec(%rip), %xmm0    # 0x131d2b
movaps %xmm0, 0x180(%rsp)
movups 0x46ced(%rip), %xmm0    # 0x131d3b
movaps %xmm0, 0x190(%rsp)
cmpw $0x1, 0x14(%r14)
jne 0xeb0ee
cmpw $0x1, 0x1a(%r14)
jne 0xeb0ee
cmpl 0x858(%r14), %r15d
jne 0xeb0ee
cmpl 0x864(%r14), %r12d
jne 0xeb0ee
xorl %edi, %edi
xorl %esi, %esi
leaq 0x477d5(%rip), %rdx     # 0x132860
movq %rbx, %rcx
leaq 0x46cb6(%rip), %r15     # 0x131d4b
movq %r15, %r8
xorl %eax, %eax
callq 0x8550
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x477b0(%rip), %rdx     # 0x132860
movq %rbx, %rcx
movq %r15, %r8
movl (%rsp), %r15d
xorl %eax, %eax
callq 0x8550
movups 0x46c92(%rip), %xmm0    # 0x131d5a
movaps %xmm0, 0x170(%rsp)
movups 0x46c93(%rip), %xmm0    # 0x131d6a
movaps %xmm0, 0x180(%rsp)
movups 0x46c94(%rip), %xmm0    # 0x131d7a
movaps %xmm0, 0x190(%rsp)
cmpw $0x1, 0x14(%r14)
jne 0xeb186
cmpw $0x1, 0x1c(%r14)
jne 0xeb186
cmpl 0x858(%r14), %r15d
jne 0xeb186
cmpl 0x868(%r14), %r12d
jne 0xeb186
xorl %edi, %edi
xorl %esi, %esi
leaq 0x4773d(%rip), %rdx     # 0x132860
movq %rbx, %rcx
leaq 0x46c5d(%rip), %r15     # 0x131d8a
movq %r15, %r8
xorl %eax, %eax
callq 0x8550
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x47718(%rip), %rdx     # 0x132860
movq %rbx, %rcx
movq %r15, %r8
movl (%rsp), %r15d
xorl %eax, %eax
callq 0x8550
movups 0x46c39(%rip), %xmm0    # 0x131d99
movaps %xmm0, 0x170(%rsp)
movups 0x46c3a(%rip), %xmm0    # 0x131da9
movaps %xmm0, 0x180(%rsp)
movups 0x46c3b(%rip), %xmm0    # 0x131db9
movaps %xmm0, 0x190(%rsp)
cmpw $0x1, 0x16(%r14)
jne 0xeb21e
cmpw $0x1, 0x18(%r14)
jne 0xeb21e
cmpl 0x860(%r14), %r15d
jne 0xeb21e
cmpl 0x85c(%r14), %r12d
jne 0xeb21e
xorl %edi, %edi
xorl %esi, %esi
leaq 0x476a5(%rip), %rdx     # 0x132860
movq %rbx, %rcx
leaq 0x46c04(%rip), %r15     # 0x131dc9
movq %r15, %r8
xorl %eax, %eax
callq 0x8550
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x47680(%rip), %rdx     # 0x132860
movq %rbx, %rcx
movq %r15, %r8
movl (%rsp), %r15d
xorl %eax, %eax
callq 0x8550
movups 0x46be0(%rip), %xmm0    # 0x131dd8
movaps %xmm0, 0x170(%rsp)
movups 0x46be1(%rip), %xmm0    # 0x131de8
movaps %xmm0, 0x180(%rsp)
movups 0x46be2(%rip), %xmm0    # 0x131df8
movaps %xmm0, 0x190(%rsp)
cmpw $0x1, 0x16(%r14)
jne 0xeb2b6
cmpw $0x1, 0x1a(%r14)
jne 0xeb2b6
cmpl 0x860(%r14), %r15d
jne 0xeb2b6
cmpl 0x864(%r14), %r12d
jne 0xeb2b6
xorl %edi, %edi
xorl %esi, %esi
leaq 0x4760d(%rip), %rdx     # 0x132860
movq %rbx, %rcx
leaq 0x46bab(%rip), %r15     # 0x131e08
movq %r15, %r8
xorl %eax, %eax
callq 0x8550
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x475e8(%rip), %rdx     # 0x132860
movq %rbx, %rcx
movq %r15, %r8
movl (%rsp), %r15d
xorl %eax, %eax
callq 0x8550
movups 0x46b87(%rip), %xmm0    # 0x131e17
movaps %xmm0, 0x170(%rsp)
movups 0x46b88(%rip), %xmm0    # 0x131e27
movaps %xmm0, 0x180(%rsp)
movups 0x46b89(%rip), %xmm0    # 0x131e37
movaps %xmm0, 0x190(%rsp)
cmpw $0x1, 0x16(%r14)
jne 0xeb34e
cmpw $0x1, 0x1c(%r14)
jne 0xeb34e
cmpl 0x860(%r14), %r15d
jne 0xeb34e
cmpl 0x868(%r14), %r12d
jne 0xeb34e
xorl %edi, %edi
xorl %esi, %esi
leaq 0x47575(%rip), %rdx     # 0x132860
movq %rbx, %rcx
leaq 0x46b52(%rip), %r15     # 0x131e47
movq %r15, %r8
xorl %eax, %eax
callq 0x8550
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x47550(%rip), %rdx     # 0x132860
movq %rbx, %rcx
movq %r15, %r8
movl (%rsp), %r15d
xorl %eax, %eax
callq 0x8550
movups 0x46b2e(%rip), %xmm0    # 0x131e56
movaps %xmm0, 0x170(%rsp)
movups 0x46b2f(%rip), %xmm0    # 0x131e66
movaps %xmm0, 0x180(%rsp)
movups 0x46b30(%rip), %xmm0    # 0x131e76
movaps %xmm0, 0x190(%rsp)
cmpw $0x1, 0x18(%r14)
jne 0xeb3ee
cmpw $0x1, 0x1a(%r14)
jne 0xeb3ee
cmpl 0x85c(%r14), %r15d
jne 0xeb3ee
cmpl 0x864(%r14), %r12d
jne 0xeb3ee
xorl %edi, %edi
xorl %esi, %esi
leaq 0x474dd(%rip), %rdx     # 0x132860
movq %rbx, %rcx
leaq 0x46af9(%rip), %r15     # 0x131e86
movq %r15, %r8
xorl %eax, %eax
callq 0x8550
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x474b8(%rip), %rdx     # 0x132860
movq %rbx, %rcx
movq %r15, %r8
movl (%rsp), %r15d
xorl %eax, %eax
callq 0x8550
movups 0x46ad6(%rip), %xmm0    # 0x131e96
movaps %xmm0, 0x170(%rsp)
movups 0x46ad7(%rip), %xmm0    # 0x131ea6
movaps %xmm0, 0x180(%rsp)
movups 0x46ad8(%rip), %xmm0    # 0x131eb6
movaps %xmm0, 0x190(%rsp)
movb $0x0, 0x1a0(%rsp)
cmpw $0x1, 0x18(%r14)
jne 0xeb48e
cmpw $0x1, 0x1c(%r14)
jne 0xeb48e
cmpl 0x85c(%r14), %r15d
jne 0xeb48e
cmpl 0x868(%r14), %r12d
jne 0xeb48e
xorl %edi, %edi
xorl %esi, %esi
leaq 0x4743d(%rip), %rdx     # 0x132860
movq %rbx, %rcx
leaq 0x46a9a(%rip), %r15     # 0x131ec7
movq %r15, %r8
xorl %eax, %eax
callq 0x8550
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x47418(%rip), %rdx     # 0x132860
movq %rbx, %rcx
movq %r15, %r8
movl (%rsp), %r15d
xorl %eax, %eax
callq 0x8550
movups 0x46a77(%rip), %xmm0    # 0x131ed7
movaps %xmm0, 0x170(%rsp)
movups 0x46a78(%rip), %xmm0    # 0x131ee7
movaps %xmm0, 0x180(%rsp)
movups 0x46a79(%rip), %xmm0    # 0x131ef7
movaps %xmm0, 0x190(%rsp)
movb $0x0, 0x1a0(%rsp)
cmpw $0x1, 0x1a(%r14)
jne 0xeb52e
cmpw $0x1, 0x1c(%r14)
jne 0xeb52e
cmpl 0x864(%r14), %r15d
jne 0xeb52e
cmpl 0x868(%r14), %r12d
jne 0xeb52e
xorl %edi, %edi
xorl %esi, %esi
leaq 0x4739d(%rip), %rdx     # 0x132860
movq %rbx, %rcx
leaq 0x46a3b(%rip), %r15     # 0x131f08
movq %r15, %r8
xorl %eax, %eax
callq 0x8550
incl %eax
movslq %eax, %rsi
leaq 0x70(%rsp), %rdi
leaq 0x47378(%rip), %rdx     # 0x132860
movq %rbx, %rcx
movq %r15, %r8
movl (%rsp), %r15d
xorl %eax, %eax
callq 0x8550
movups 0x46a18(%rip), %xmm0    # 0x131f18
movaps %xmm0, 0x170(%rsp)
movups 0x46a19(%rip), %xmm0    # 0x131f28
movaps %xmm0, 0x180(%rsp)
movups 0x46a1a(%rip), %xmm0    # 0x131f38
movaps %xmm0, 0x190(%rsp)
movb $0x0, 0x1a0(%rsp)
cmpw $0x1, 0x12(%r14)
jne 0xeb546
movl 0x84c(%r14), %eax
cmpq %rax, %rbp
je 0xeb9ae
cmpl %r12d, %r15d
jbe 0xeb568
movq 0x18(%r13), %rax
movl (%rax,%rbp,4), %ecx
imull %r12d, %ecx
leal 0x1(%r12), %edx
imull %r12d, %edx
shrl %edx
movl %r15d, %eax
subl %edx, %eax
jmp 0xeb57b
movq 0x18(%r13), %rax
movl (%rax,%rbp,4), %eax
imull %r15d, %eax
movq 0x8(%rsp), %rcx
addl %r12d, %ecx
addl %ecx, %eax
movq 0x28(%r13), %rcx
movq (%rcx,%rbp,8), %rcx
movslq %eax, %rdx
cmpw $0x1, (%rcx,%rdx,2)
jne 0xeb5c7
shlq $0x3, %rdx
movq 0x10(%rsp), %rax
addq (%rax,%rbp,8), %rdx
movq 0xc0(%r13), %rax
movl (%rax,%rbp,4), %r9d
movq %r13, %rdi
movq %rbx, %rsi
leaq 0x70(%rsp), %rcx
leaq 0x170(%rsp), %r8
callq 0xef3cc
testl %eax, %eax
jne 0xeba0f
incl %r12d
movq 0x870(%r14), %rax
cmpl (%rax,%rbp,4), %r12d
jl 0xeac51
incl %r15d
movq 0x870(%r14), %rax
movl 0x40(%rsp), %ecx
addl %ecx, 0x2c(%rsp)
addl $0x2, %ecx
cmpl (%rax,%rbp,4), %r15d
jl 0xeac28
movq 0x20(%r13), %rax
movslq (%rax,%rbp,4), %rax
movslq 0x9c(%r13), %r12
imulq %rax, %r12
leaq (,%r12,8), %rdi
callq 0x8460
movq 0x20(%rsp), %rcx
movq %rax, (%rcx,%rbp,8)
testq %rax, %rax
je 0xebb90
incq %rbp
movslq 0x854(%r14), %rax
cmpq %rax, %rbp
jl 0xeabf6
cmpl $0x2, 0xc8(%r13)
jl 0xeb830
movq 0x68(%rsp), %rax
movq %rax, (%rsp)
movl $0x2, %r12d
movq 0x60(%rsp), %rax
movq %rax, 0x40(%rsp)
xorps %xmm0, %xmm0
cvtsi2sd %r12d, %xmm0
movq %r13, %rdi
movsd %xmm0, 0x8(%rsp)
movq 0x30(%rsp), %r15
movq %r15, %rsi
movq 0x18(%rsp), %rdx
movq 0x20(%rsp), %rcx
callq 0xb5afc
cmpl $0x1, %eax
movq 0x48(%rsp), %rbp
je 0xebadf
movl 0x9c(%r13), %r9d
movq 0x38(%rsp), %rdi
movq %r13, %rsi
movq %rbx, %rdx
movq (%rsp), %rcx
movsd 0x8(%rsp), %xmm0
movq %r15, %r8
callq 0xeff67
movq 0x50(%rsp), %r15
cmpw $0x1, (%r15)
jne 0xeb712
cmpl 0x5c(%r15), %r12d
jg 0xeb712
movq %r15, %rdi
movl %r12d, %esi
movq 0x30(%rsp), %rdx
callq 0xb9be0
cmpl $0x1, %eax
je 0xebb47
movl 0x9c(%r13), %r9d
movq 0x38(%rsp), %rdi
movq %r13, %rsi
movq %rbx, %rdx
movq 0x40(%rsp), %rcx
movsd 0x8(%rsp), %xmm0
movq 0x30(%rsp), %r8
callq 0xeff67
cmpl $0x2, 0x854(%r14)
jl 0xeb770
cmpl $0x0, 0x854(%r14)
jle 0xeb770
xorl %r15d, %r15d
movq 0xc0(%r13), %rax
cmpl (%rax,%r15,4), %r12d
jg 0xeb761
movq (%rbp,%r15,8), %rcx
movq 0x18(%rsp), %rax
movq (%rax,%r15,8), %r8
movl 0x9c(%r13), %r9d
movq 0x38(%rsp), %rdi
movq %r13, %rsi
movq %rbx, %rdx
movsd 0x8(%rsp), %xmm0
callq 0xeff67
incq %r15
movslq 0x854(%r14), %rax
cmpq %rax, %r15
jl 0xeb729
cmpl $0x0, 0x854(%r14)
jle 0xeb81b
xorl %ebp, %ebp
movq 0x870(%r14), %rax
cmpl $0x2, (%rax,%rbp,4)
jl 0xeb808
movq 0xc0(%r13), %rax
cmpl (%rax,%rbp,4), %r12d
jg 0xeb808
movq 0x20(%r13), %rax
cmpl $0x0, (%rax,%rbp,4)
jle 0xeb808
xorl %r15d, %r15d
movq 0x28(%r13), %rax
movq (%rax,%rbp,8), %rax
cmpw $0x1, (%rax,%r15,2)
jne 0xeb7f8
movq 0x10(%rsp), %rax
movq (%rax,%rbp,8), %rax
movq (%rax,%r15,8), %rcx
movl 0x9c(%r13), %r9d
movl %r15d, %eax
imull %r9d, %eax
movslq %eax, %r8
shlq $0x3, %r8
movq 0x20(%rsp), %rax
addq (%rax,%rbp,8), %r8
movq 0x38(%rsp), %rdi
movq %r13, %rsi
movq %rbx, %rdx
movsd 0x8(%rsp), %xmm0
callq 0xeff67
incq %r15
movq 0x20(%r13), %rax
movslq (%rax,%rbp,4), %rax
cmpq %rax, %r15
jl 0xeb7a7
incq %rbp
movslq 0x854(%r14), %rax
cmpq %rax, %rbp
jl 0xeb780
leal 0x1(%r12), %eax
cmpl 0xc8(%r13), %r12d
movl %eax, %r12d
jl 0xeb666
cmpl $0x0, 0x854(%r14)
movq 0x48(%rsp), %r12
jle 0xeb8e6
xorl %ebx, %ebx
movq 0x870(%r14), %rax
cmpl $0x2, (%rax,%rbx,4)
jl 0xeb89f
movq 0x20(%r13), %rax
cmpl $0x0, (%rax,%rbx,4)
jle 0xeb891
xorl %r15d, %r15d
movq 0x28(%r13), %rax
movq (%rax,%rbx,8), %rax
cmpw $0x1, (%rax,%r15,2)
jne 0xeb881
movq 0x10(%rsp), %rax
movq (%rax,%rbx,8), %rax
movq (%rax,%r15,8), %rdi
callq 0x83a0
incq %r15
movq 0x20(%r13), %rax
movslq (%rax,%rbx,4), %rax
cmpq %rax, %r15
jl 0xeb85f
movq 0x20(%rsp), %rax
movq (%rax,%rbx,8), %rdi
callq 0x8410
incq %rbx
movslq 0x854(%r14), %rax
cmpq %rax, %rbx
jl 0xeb845
cmpl $0x2, %eax
movq 0x18(%rsp), %r13
jl 0xeb8e6
cmpl $0x0, 0x854(%r14)
jle 0xeb8e6
xorl %ebx, %ebx
movq (%r12,%rbx,8), %rdi
callq 0x83a0
movq (%r13,%rbx,8), %rdi
callq 0x8410
incq %rbx
movslq 0x854(%r14), %rax
cmpq %rax, %rbx
jl 0xeb8c4
movq 0x68(%rsp), %rdi
callq 0x83a0
movq 0x50(%rsp), %rax
cmpw $0x1, (%rax)
jne 0xeb905
movq 0x60(%rsp), %rdi
callq 0x83a0
movq 0x30(%rsp), %rdi
callq 0x8410
cmpl $0x0, 0x854(%r14)
jle 0xeb938
xorl %ebx, %ebx
movq 0x10(%rsp), %rax
movq (%rax,%rbx,8), %rdi
callq 0x8410
incq %rbx
movslq 0x854(%r14), %rax
cmpq %rax, %rbx
jl 0xeb91b
movq 0x10(%rsp), %rdi
callq 0x8410
movq 0x20(%rsp), %rdi
callq 0x8410
movq %r12, %rdi
callq 0x8410
movq 0x18(%rsp), %rdi
callq 0x8410
xorl %eax, %eax
jmp 0xebb35
shll $0x3, %r12d
leaq 0x5694(%rip), %rsi      # 0xf1004
leaq 0x4608e(%rip), %rdx     # 0x131a05
leaq 0x570(%rsp), %r14
movq %r14, %rdi
movl %r12d, %ecx
xorl %eax, %eax
callq 0x30c2c
addq $0x420, %rbx            # imm = 0x420
leaq 0x569a(%rip), %rsi      # 0xf1034
leaq 0x45fca(%rip), %rdx     # 0x13196b
movq %rbx, %rdi
movl $0x154, %ecx            # imm = 0x154
jmp 0xebb26
leaq 0x46594(%rip), %rsi     # 0x131f49
leaq 0x570(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30c2c
leaq 0x56b4(%rip), %rsi      # 0xf1082
leaq 0x30353(%rip), %rdx     # 0x11bd28
leaq 0xd70(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30c2c
addq $0x420, %rbx            # imm = 0x420
leaq 0x563c(%rip), %rsi      # 0xf1034
leaq 0x45f6c(%rip), %rdx     # 0x13196b
movq %rbx, %rdi
movl $0x202, %ecx            # imm = 0x202
movq %r15, %r8
jmp 0xebb29
addq $0x420, %rbx            # imm = 0x420
leaq 0x59d3(%rip), %rsi      # 0xf13f0
leaq 0x46572(%rip), %rdx     # 0x131f96
leaq 0x570(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x55f4(%rip), %rsi      # 0xf1034
leaq 0x45f24(%rip), %rdx     # 0x13196b
movq %rbx, %rdi
movl $0x212, %ecx            # imm = 0x212
jmp 0xebb26
addq $0x420, %rbx            # imm = 0x420
leaq 0x598e(%rip), %rsi      # 0xf13f0
leaq 0x46094(%rip), %rdx     # 0x131afd
leaq 0x570(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x55af(%rip), %rsi      # 0xf1034
leaq 0x45edf(%rip), %rdx     # 0x13196b
movq %rbx, %rdi
movl $0x180, %ecx            # imm = 0x180
jmp 0xebb26
shll $0x3, %r15d
leaq 0x5560(%rip), %rsi      # 0xf1004
leaq 0x3cd9a(%rip), %rdx     # 0x128845
leaq 0x570(%rsp), %r14
movq %r14, %rdi
movl %r15d, %ecx
xorl %eax, %eax
callq 0x30c2c
addq $0x420, %rbx            # imm = 0x420
leaq 0x5566(%rip), %rsi      # 0xf1034
leaq 0x45e96(%rip), %rdx     # 0x13196b
movq %rbx, %rdi
movl $0x184, %ecx            # imm = 0x184
jmp 0xebb26
addq $0xea, %r13
leaq 0x5903(%rip), %rsi      # 0xf13f0
leaq 0x46515(%rip), %rdx     # 0x132009
leaq 0x570(%rsp), %r14
movq %r14, %rdi
movq %r13, %rcx
xorl %eax, %eax
callq 0x30c2c
addq $0x420, %rbx            # imm = 0x420
leaq 0x551d(%rip), %rsi      # 0xf1034
leaq 0x45e4d(%rip), %rdx     # 0x13196b
movq %rbx, %rdi
movl $0x226, %ecx            # imm = 0x226
movq %r14, %r8
xorl %eax, %eax
callq 0x30c2c
movl $0x1, %eax
addq $0x1578, %rsp           # imm = 0x1578
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
addq $0x92, %r15
leaq 0x589b(%rip), %rsi      # 0xf13f0
leaq 0x464e3(%rip), %rdx     # 0x13203f
leaq 0x570(%rsp), %r14
movq %r14, %rdi
movq %r15, %rcx
xorl %eax, %eax
callq 0x30c2c
addq $0x420, %rbx            # imm = 0x420
leaq 0x54b5(%rip), %rsi      # 0xf1034
leaq 0x45de5(%rip), %rdx     # 0x13196b
movq %rbx, %rdi
movl $0x232, %ecx            # imm = 0x232
jmp 0xebb26
shll $0x3, %r12d
leaq 0x5469(%rip), %rsi      # 0xf1004
leaq 0x3ccb3(%rip), %rdx     # 0x128855
leaq 0x570(%rsp), %r14
movq %r14, %rdi
movl %r12d, %ecx
xorl %eax, %eax
callq 0x30c2c
addq $0x420, %rbx            # imm = 0x420
leaq 0x546f(%rip), %rsi      # 0xf1034
leaq 0x45d9f(%rip), %rdx     # 0x13196b
movq %rbx, %rdi
movl $0x21a, %ecx            # imm = 0x21A
jmp 0xebb26