// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/output.c
// Function: output_open_cl_file
int output_open_cl_file(
                        struct harmonic * phr,
                        struct output * pop,
                        FILE * * clfile,
                        FileName filename,
                        char * first_line,
                        int lmax
                        ) {
  /** Summary */

  int index_d1,index_d2;
  int colnum = 1;
  char tmp[60]; //A fixed number here is ok, since it should just correspond to the largest string which is printed to tmp.

  class_open(*clfile,filename,"w",pop->error_message);

  if (pop->write_header == _TRUE_) {

    /** - First we deal with the entries that are dependent of format type */

    if (pop->output_format == class_format) {
      fprintf(*clfile,"# dimensionless %s\n",first_line);
    }
    if (pop->output_format == camb_format) {
      fprintf(*clfile,"# %s (units: [microK]^2)\n",first_line);
    }

    fprintf(*clfile,"# for l=2 to %d, i.e. number of multipoles equal to %d\n",lmax,lmax-1);
    fprintf(*clfile,"#\n");

    if (pop->output_format == class_format) {
      fprintf(*clfile,"# -> if you prefer output in CAMB/HealPix/LensPix units/order, set 'format' to 'camb' in input file\n");
    }

    fprintf(*clfile,"# -> if you don't want to see such a header, set 'headers' to 'no' in input file\n");

    if (phr->has_pp == _TRUE_) {
      if (pop->output_format == class_format) {
        fprintf(*clfile,"# -> for CMB lensing (phi), these are C_l^phi-phi for the lensing potential.\n");
      }
      if (pop->output_format == camb_format) {
        fprintf(*clfile,"# -> for CMB lensing (d), these are C_l^dd for the deflection field.\n");
      }
    }

    if (phr->has_ll == _TRUE_) {
      fprintf(*clfile,"# -> for galaxy lensing (lens[i]), these are C_l^phi-phi for the lensing potential.\n");
    }

    if (phr->has_pp == _TRUE_ || phr->has_ll == _TRUE_) {
      fprintf(*clfile,"#    Remember the conversion factors:\n");
      fprintf(*clfile,"#    C_l^dd (deflection) = l(l+1) C_l^phi-phi\n");
      fprintf(*clfile,"#    C_l^gg (shear/convergence) = 1/4 (l(l+1))^2 C_l^phi-phi\n");
    }

    fprintf(*clfile,"#\n");

    if (0==1){
      fprintf(*clfile,"#");
      class_fprintf_columntitle(*clfile,"l",_TRUE_,colnum);
    }
    else{
      fprintf(*clfile,"# 1:l ");
      colnum++;
    }
    if (pop->output_format == class_format) {
      class_fprintf_columntitle(*clfile,"TT",phr->has_tt,colnum);
      class_fprintf_columntitle(*clfile,"EE",phr->has_ee,colnum);
      class_fprintf_columntitle(*clfile,"TE",phr->has_te,colnum);
      class_fprintf_columntitle(*clfile,"BB",phr->has_bb,colnum);
      class_fprintf_columntitle(*clfile,"phiphi",phr->has_pp,colnum);
      class_fprintf_columntitle(*clfile,"TPhi",phr->has_tp,colnum);
      class_fprintf_columntitle(*clfile,"Ephi",phr->has_ep,colnum);
    }
    else if (pop->output_format == camb_format) {
      class_fprintf_columntitle(*clfile,"TT",phr->has_tt,colnum);
      class_fprintf_columntitle(*clfile,"EE",phr->has_ee,colnum);
      class_fprintf_columntitle(*clfile,"BB",phr->has_bb,colnum);
      class_fprintf_columntitle(*clfile,"TE",phr->has_te,colnum);
      class_fprintf_columntitle(*clfile,"dd",phr->has_pp,colnum);
      class_fprintf_columntitle(*clfile,"dT",phr->has_tp,colnum);
      class_fprintf_columntitle(*clfile,"dE",phr->has_ep,colnum);
    }

    /** - Next deal with entries that are independent of format type */

    if (phr->has_dd == _TRUE_){
      for (index_d1=0; index_d1<phr->d_size; index_d1++){
        for (index_d2=index_d1; index_d2<=MIN(index_d1+phr->non_diag,phr->d_size-1); index_d2++){
          class_sprintf(tmp,"dens[%d]-dens[%d]",index_d1+1,index_d2+1);
          class_fprintf_columntitle(*clfile,tmp,_TRUE_,colnum);
        }
      }
    }
    if (phr->has_td == _TRUE_){
      for (index_d1=0; index_d1<phr->d_size; index_d1++){
        class_sprintf(tmp,"T-dens[%d]",index_d1+1);
        class_fprintf_columntitle(*clfile,tmp,_TRUE_,colnum);
      }
    }
    if (phr->has_pd == _TRUE_){
      for (index_d1=0; index_d1<phr->d_size; index_d1++){
        class_sprintf(tmp,"phi-dens[%d]",index_d1+1);
        class_fprintf_columntitle(*clfile,tmp,_TRUE_,colnum);
      }
    }
    if (phr->has_ll == _TRUE_){
      for (index_d1=0; index_d1<phr->d_size; index_d1++){
        for (index_d2=index_d1; index_d2<=MIN(index_d1+phr->non_diag,phr->d_size-1); index_d2++){
          class_sprintf(tmp,"lens[%d]-lens[%d]",index_d1+1,index_d2+1);
          class_fprintf_columntitle(*clfile,tmp,_TRUE_,colnum);
        }
      }
    }
    if (phr->has_tl == _TRUE_){
      for (index_d1=0; index_d1<phr->d_size; index_d1++){
        class_sprintf(tmp,"T-lens[%d]",index_d1+1);
        class_fprintf_columntitle(*clfile,tmp,_TRUE_,colnum);
      }
    }
    if (phr->has_dl == _TRUE_){
      for (index_d1=0; index_d1<phr->d_size; index_d1++){
        for (index_d2=MAX(index_d1-phr->non_diag,0); index_d2<=MIN(index_d1+phr->non_diag,phr->d_size-1); index_d2++) {
          class_sprintf(tmp,"dens[%d]-lens[%d]",index_d1+1,index_d2+1);
          class_fprintf_columntitle(*clfile,tmp,_TRUE_,colnum);
        }
      }
    }
    fprintf(*clfile,"\n");
  }

  return _SUCCESS_;

}

// Assembly:
subq $0x958, %rsp            # imm = 0x958
movq %rdi, 0x948(%rsp)
movq %rsi, 0x940(%rsp)
movq %rdx, 0x938(%rsp)
movq %rcx, 0x930(%rsp)
movq %r8, 0x928(%rsp)
movl %r9d, 0x924(%rsp)
movl $0x1, 0x918(%rsp)
movq 0x930(%rsp), %rdi
leaq 0x5d88(%rip), %rsi      # 0x1d5429
callq 0x8410
movq %rax, %rcx
movq 0x938(%rsp), %rax
movq %rcx, (%rax)
movq 0x938(%rsp), %rax
cmpq $0x0, (%rax)
jne 0x1cf72f
leaq 0xd0(%rsp), %rdi
movq 0x930(%rsp), %rcx
leaq 0x52f7(%rip), %rsi      # 0x1d49d0
leaq 0x45a96(%rip), %rdx     # 0x215176
leaq 0x1ee61(%rip), %r8      # 0x1ee548
movb $0x0, %al
callq 0x5b9c0
movq 0x940(%rsp), %rdi
addq $0x420, %rdi            # imm = 0x420
leaq 0xd0(%rsp), %r8
leaq 0x2928(%rip), %rsi      # 0x1d2034
leaq 0x45a6b(%rip), %rdx     # 0x21517e
movl $0x673, %ecx            # imm = 0x673
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x954(%rsp)
jmp 0x1d0b01
movq 0x940(%rsp), %rax
movswl 0x408(%rax), %eax
cmpl $0x1, %eax
jne 0x1d0af6
movq 0x940(%rsp), %rax
cmpl $0x0, 0x40c(%rax)
jne 0x1cf779
movq 0x938(%rsp), %rax
movq (%rax), %rdi
movq 0x928(%rsp), %rdx
leaq 0x45a20(%rip), %rsi     # 0x215192
movb $0x0, %al
callq 0x84e0
movq 0x940(%rsp), %rax
cmpl $0x1, 0x40c(%rax)
jne 0x1cf7ab
movq 0x938(%rsp), %rax
movq (%rax), %rdi
movq 0x928(%rsp), %rdx
leaq 0x45a02(%rip), %rsi     # 0x2151a6
movb $0x0, %al
callq 0x84e0
movq 0x938(%rsp), %rax
movq (%rax), %rdi
movl 0x924(%rsp), %edx
movl 0x924(%rsp), %ecx
subl $0x1, %ecx
leaq 0x459f2(%rip), %rsi     # 0x2151c0
movb $0x0, %al
callq 0x84e0
movq 0x938(%rsp), %rax
movq (%rax), %rdi
leaq 0x1ee0a(%rip), %rsi     # 0x1ee5f1
movb $0x0, %al
callq 0x84e0
movq 0x940(%rsp), %rax
cmpl $0x0, 0x40c(%rax)
jne 0x1cf818
movq 0x938(%rsp), %rax
movq (%rax), %rdi
leaq 0x459e7(%rip), %rsi     # 0x2151f8
movb $0x0, %al
callq 0x84e0
movq 0x938(%rsp), %rax
movq (%rax), %rdi
leaq 0x45a33(%rip), %rsi     # 0x21525d
movb $0x0, %al
callq 0x84e0
movq 0x948(%rsp), %rax
cmpl $0x1, 0x40(%rax)
jne 0x1cf895
movq 0x940(%rsp), %rax
cmpl $0x0, 0x40c(%rax)
jne 0x1cf869
movq 0x938(%rsp), %rax
movq (%rax), %rdi
leaq 0x45a4d(%rip), %rsi     # 0x2152af
movb $0x0, %al
callq 0x84e0
movq 0x940(%rsp), %rax
cmpl $0x1, 0x40c(%rax)
jne 0x1cf893
movq 0x938(%rsp), %rax
movq (%rax), %rdi
leaq 0x45a71(%rip), %rsi     # 0x2152fd
movb $0x0, %al
callq 0x84e0
jmp 0x1cf895
movq 0x948(%rsp), %rax
cmpl $0x1, 0x58(%rax)
jne 0x1cf8bc
movq 0x938(%rsp), %rax
movq (%rax), %rdi
leaq 0x45a8e(%rip), %rsi     # 0x215343
movb $0x0, %al
callq 0x84e0
movq 0x948(%rsp), %rax
cmpl $0x1, 0x40(%rax)
je 0x1cf8d8
movq 0x948(%rsp), %rax
cmpl $0x1, 0x58(%rax)
jne 0x1cf923
movq 0x938(%rsp), %rax
movq (%rax), %rdi
leaq 0x45aae(%rip), %rsi     # 0x215398
movb $0x0, %al
callq 0x84e0
movq 0x938(%rsp), %rax
movq (%rax), %rdi
leaq 0x45abc(%rip), %rsi     # 0x2153bf
movb $0x0, %al
callq 0x84e0
movq 0x938(%rsp), %rax
movq (%rax), %rdi
leaq 0x45ad2(%rip), %rsi     # 0x2153ee
movb $0x0, %al
callq 0x84e0
movq 0x938(%rsp), %rax
movq (%rax), %rdi
leaq 0x1ecbc(%rip), %rsi     # 0x1ee5f1
movb $0x0, %al
callq 0x84e0
movq 0x938(%rsp), %rax
movq (%rax), %rdi
leaq 0x45ade(%rip), %rsi     # 0x21542c
movb $0x0, %al
callq 0x84e0
movl 0x918(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x918(%rsp)
movq 0x940(%rsp), %rax
cmpl $0x0, 0x40c(%rax)
jne 0x1cfbef
movq 0x948(%rsp), %rax
cmpl $0x1, 0x30(%rax)
jne 0x1cf9d4
movq 0x938(%rsp), %rax
movq (%rax), %rdi
movl 0x918(%rsp), %r8d
movl %r8d, %eax
addl $0x1, %eax
movl %eax, 0x918(%rsp)
leaq 0x457b2(%rip), %rsi     # 0x215162
movl $0x3, %edx
leaq 0x21383(%rip), %rcx     # 0x1f0d3f
movl $0x12, %r9d
leaq 0x45a6a(%rip), %rax     # 0x215433
movq %rax, (%rsp)
movb $0x0, %al
callq 0x84e0
movq 0x948(%rsp), %rax
cmpl $0x1, 0x34(%rax)
jne 0x1cfa2d
movq 0x938(%rsp), %rax
movq (%rax), %rdi
movl 0x918(%rsp), %r8d
movl %r8d, %eax
addl $0x1, %eax
movl %eax, 0x918(%rsp)
leaq 0x45759(%rip), %rsi     # 0x215162
movl $0x3, %edx
leaq 0x2132a(%rip), %rcx     # 0x1f0d3f
movl $0x12, %r9d
leaq 0x1c506(%rip), %rax     # 0x1ebf28
movq %rax, (%rsp)
movb $0x0, %al
callq 0x84e0
movq 0x948(%rsp), %rax
cmpl $0x1, 0x38(%rax)
jne 0x1cfa86
movq 0x938(%rsp), %rax
movq (%rax), %rdi
movl 0x918(%rsp), %r8d
movl %r8d, %eax
addl $0x1, %eax
movl %eax, 0x918(%rsp)
leaq 0x45700(%rip), %rsi     # 0x215162
movl $0x3, %edx
leaq 0x212d1(%rip), %rcx     # 0x1f0d3f
movl $0x12, %r9d
leaq 0x459bb(%rip), %rax     # 0x215436
movq %rax, (%rsp)
movb $0x0, %al
callq 0x84e0
movq 0x948(%rsp), %rax
cmpl $0x1, 0x3c(%rax)
jne 0x1cfadf
movq 0x938(%rsp), %rax
movq (%rax), %rdi
movl 0x918(%rsp), %r8d
movl %r8d, %eax
addl $0x1, %eax
movl %eax, 0x918(%rsp)
leaq 0x456a7(%rip), %rsi     # 0x215162
movl $0x3, %edx
leaq 0x21278(%rip), %rcx     # 0x1f0d3f
movl $0x12, %r9d
leaq 0x45965(%rip), %rax     # 0x215439
movq %rax, (%rsp)
movb $0x0, %al
callq 0x84e0
movq 0x948(%rsp), %rax
cmpl $0x1, 0x40(%rax)
jne 0x1cfb38
movq 0x938(%rsp), %rax
movq (%rax), %rdi
movl 0x918(%rsp), %r8d
movl %r8d, %eax
addl $0x1, %eax
movl %eax, 0x918(%rsp)
leaq 0x4564e(%rip), %rsi     # 0x215162
movl $0x3, %edx
leaq 0x2121f(%rip), %rcx     # 0x1f0d3f
movl $0x12, %r9d
leaq 0x4590f(%rip), %rax     # 0x21543c
movq %rax, (%rsp)
movb $0x0, %al
callq 0x84e0
movq 0x948(%rsp), %rax
cmpl $0x1, 0x44(%rax)
jne 0x1cfb91
movq 0x938(%rsp), %rax
movq (%rax), %rdi
movl 0x918(%rsp), %r8d
movl %r8d, %eax
addl $0x1, %eax
movl %eax, 0x918(%rsp)
leaq 0x455f5(%rip), %rsi     # 0x215162
movl $0x3, %edx
leaq 0x211c6(%rip), %rcx     # 0x1f0d3f
movl $0x12, %r9d
leaq 0x458bd(%rip), %rax     # 0x215443
movq %rax, (%rsp)
movb $0x0, %al
callq 0x84e0
movq 0x948(%rsp), %rax
cmpl $0x1, 0x48(%rax)
jne 0x1cfbea
movq 0x938(%rsp), %rax
movq (%rax), %rdi
movl 0x918(%rsp), %r8d
movl %r8d, %eax
addl $0x1, %eax
movl %eax, 0x918(%rsp)
leaq 0x4559c(%rip), %rsi     # 0x215162
movl $0x3, %edx
leaq 0x2116d(%rip), %rcx     # 0x1f0d3f
movl $0x12, %r9d
leaq 0x45869(%rip), %rax     # 0x215448
movq %rax, (%rsp)
movb $0x0, %al
callq 0x84e0
jmp 0x1cfe77
movq 0x940(%rsp), %rax
cmpl $0x1, 0x40c(%rax)
jne 0x1cfe75
movq 0x948(%rsp), %rax
cmpl $0x1, 0x30(%rax)
jne 0x1cfc5d
movq 0x938(%rsp), %rax
movq (%rax), %rdi
movl 0x918(%rsp), %r8d
movl %r8d, %eax
addl $0x1, %eax
movl %eax, 0x918(%rsp)
leaq 0x45529(%rip), %rsi     # 0x215162
movl $0x3, %edx
leaq 0x210fa(%rip), %rcx     # 0x1f0d3f
movl $0x12, %r9d
leaq 0x457e1(%rip), %rax     # 0x215433
movq %rax, (%rsp)
movb $0x0, %al
callq 0x84e0
movq 0x948(%rsp), %rax
cmpl $0x1, 0x34(%rax)
jne 0x1cfcb6
movq 0x938(%rsp), %rax
movq (%rax), %rdi
movl 0x918(%rsp), %r8d
movl %r8d, %eax
addl $0x1, %eax
movl %eax, 0x918(%rsp)
leaq 0x454d0(%rip), %rsi     # 0x215162
movl $0x3, %edx
leaq 0x210a1(%rip), %rcx     # 0x1f0d3f
movl $0x12, %r9d
leaq 0x1c27d(%rip), %rax     # 0x1ebf28
movq %rax, (%rsp)
movb $0x0, %al
callq 0x84e0
movq 0x948(%rsp), %rax
cmpl $0x1, 0x3c(%rax)
jne 0x1cfd0f
movq 0x938(%rsp), %rax
movq (%rax), %rdi
movl 0x918(%rsp), %r8d
movl %r8d, %eax
addl $0x1, %eax
movl %eax, 0x918(%rsp)
leaq 0x45477(%rip), %rsi     # 0x215162
movl $0x3, %edx
leaq 0x21048(%rip), %rcx     # 0x1f0d3f
movl $0x12, %r9d
leaq 0x45735(%rip), %rax     # 0x215439
movq %rax, (%rsp)
movb $0x0, %al
callq 0x84e0
movq 0x948(%rsp), %rax
cmpl $0x1, 0x38(%rax)
jne 0x1cfd68
movq 0x938(%rsp), %rax
movq (%rax), %rdi
movl 0x918(%rsp), %r8d
movl %r8d, %eax
addl $0x1, %eax
movl %eax, 0x918(%rsp)
leaq 0x4541e(%rip), %rsi     # 0x215162
movl $0x3, %edx
leaq 0x20fef(%rip), %rcx     # 0x1f0d3f
movl $0x12, %r9d
leaq 0x456d9(%rip), %rax     # 0x215436
movq %rax, (%rsp)
movb $0x0, %al
callq 0x84e0
movq 0x948(%rsp), %rax
cmpl $0x1, 0x40(%rax)
jne 0x1cfdc1
movq 0x938(%rsp), %rax
movq (%rax), %rdi
movl 0x918(%rsp), %r8d
movl %r8d, %eax
addl $0x1, %eax
movl %eax, 0x918(%rsp)
leaq 0x453c5(%rip), %rsi     # 0x215162
movl $0x3, %edx
leaq 0x20f96(%rip), %rcx     # 0x1f0d3f
movl $0x12, %r9d
leaq 0x3d8da(%rip), %rax     # 0x20d690
movq %rax, (%rsp)
movb $0x0, %al
callq 0x84e0
movq 0x948(%rsp), %rax
cmpl $0x1, 0x44(%rax)
jne 0x1cfe1a
movq 0x938(%rsp), %rax
movq (%rax), %rdi
movl 0x918(%rsp), %r8d
movl %r8d, %eax
addl $0x1, %eax
movl %eax, 0x918(%rsp)
leaq 0x4536c(%rip), %rsi     # 0x215162
movl $0x3, %edx
leaq 0x20f3d(%rip), %rcx     # 0x1f0d3f
movl $0x12, %r9d
leaq 0x4563e(%rip), %rax     # 0x21544d
movq %rax, (%rsp)
movb $0x0, %al
callq 0x84e0
movq 0x948(%rsp), %rax
cmpl $0x1, 0x48(%rax)
jne 0x1cfe73
movq 0x938(%rsp), %rax
movq (%rax), %rdi
movl 0x918(%rsp), %r8d
movl %r8d, %eax
addl $0x1, %eax
movl %eax, 0x918(%rsp)
leaq 0x45313(%rip), %rsi     # 0x215162
movl $0x3, %edx
leaq 0x20ee4(%rip), %rcx     # 0x1f0d3f
movl $0x12, %r9d
leaq 0x455e8(%rip), %rax     # 0x215450
movq %rax, (%rsp)
movb $0x0, %al
callq 0x84e0
jmp 0x1cfe75
jmp 0x1cfe77
movq 0x948(%rsp), %rax
cmpl $0x1, 0x4c(%rax)
jne 0x1d00f8
movl $0x0, 0x920(%rsp)
movl 0x920(%rsp), %eax
movq 0x948(%rsp), %rcx
cmpl 0x98(%rcx), %eax
jge 0x1d00f6
movl 0x920(%rsp), %eax
movl %eax, 0x91c(%rsp)
movl 0x91c(%rsp), %eax
movl %eax, 0xb4(%rsp)
movl 0x920(%rsp), %eax
movq 0x948(%rsp), %rcx
addl (%rcx), %eax
movq 0x948(%rsp), %rcx
movl 0x98(%rcx), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jge 0x1cff0b
movl 0x920(%rsp), %eax
movq 0x948(%rsp), %rcx
addl (%rcx), %eax
movl %eax, 0xb0(%rsp)
jmp 0x1cff23
movq 0x948(%rsp), %rax
movl 0x98(%rax), %eax
subl $0x1, %eax
movl %eax, 0xb0(%rsp)
movl 0xb4(%rsp), %eax
movl 0xb0(%rsp), %ecx
cmpl %ecx, %eax
jg 0x1d00de
jmp 0x1cff3b
movl 0x920(%rsp), %ecx
addl $0x1, %ecx
movl 0x91c(%rsp), %r8d
addl $0x1, %r8d
xorl %eax, %eax
movl %eax, %esi
leaq 0x454f7(%rip), %rdx     # 0x215453
movq %rsi, %rdi
movb $0x0, %al
callq 0x8540
movl %eax, 0xcc(%rsp)
leaq 0x8d0(%rsp), %rdi
movl 0xcc(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rsi
movl 0x920(%rsp), %ecx
addl $0x1, %ecx
movl 0x91c(%rsp), %r8d
addl $0x1, %r8d
leaq 0x454b4(%rip), %rdx     # 0x215453
movb $0x0, %al
callq 0x8540
movq 0x938(%rsp), %rax
movq (%rax), %rax
movq %rax, 0xa8(%rsp)
leaq 0x8d0(%rsp), %rdi
callq 0x8190
movl $0x18, %ecx
subl %eax, %ecx
subl $0x3, %ecx
movl $0x3, %eax
cmpl %ecx, %eax
jge 0x1cffe7
movl $0x3, %eax
movl %eax, 0xa4(%rsp)
jmp 0x1d0007
leaq 0x8d0(%rsp), %rdi
callq 0x8190
movl %eax, %ecx
movl $0x18, %eax
subl %ecx, %eax
subl $0x3, %eax
movl %eax, 0xa4(%rsp)
movl 0xa4(%rsp), %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jge 0x1d0072
leaq 0x8d0(%rsp), %rdi
callq 0x8190
movl $0x18, %ecx
subl %eax, %ecx
subl $0x3, %ecx
movl $0x3, %eax
cmpl %ecx, %eax
jge 0x1d0042
movl $0x3, %eax
movl %eax, 0xa0(%rsp)
jmp 0x1d0062
leaq 0x8d0(%rsp), %rdi
callq 0x8190
movl %eax, %ecx
movl $0x18, %eax
subl %ecx, %eax
subl $0x3, %eax
movl %eax, 0xa0(%rsp)
movl 0xa0(%rsp), %eax
movl %eax, 0x9c(%rsp)
jmp 0x1d007d
xorl %eax, %eax
movl %eax, 0x9c(%rsp)
jmp 0x1d007d
movq 0xa8(%rsp), %rdi
movl 0x9c(%rsp), %edx
movl 0x918(%rsp), %r8d
movl %r8d, %eax
addl $0x1, %eax
movl %eax, 0x918(%rsp)
leaq 0x8d0(%rsp), %rax
leaq 0x450b2(%rip), %rsi     # 0x215162
leaq 0x20c88(%rip), %rcx     # 0x1f0d3f
movl $0x12, %r9d
movq %rax, (%rsp)
movb $0x0, %al
callq 0x84e0
movl 0x91c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x91c(%rsp)
jmp 0x1cfebd
jmp 0x1d00e0
movl 0x920(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x920(%rsp)
jmp 0x1cfe94
jmp 0x1d00f8
movq 0x948(%rsp), %rax
cmpl $0x1, 0x50(%rax)
jne 0x1d02bf
movl $0x0, 0x920(%rsp)
movl 0x920(%rsp), %eax
movq 0x948(%rsp), %rcx
cmpl 0x98(%rcx), %eax
jge 0x1d02bd
jmp 0x1d0132
movl 0x920(%rsp), %ecx
addl $0x1, %ecx
xorl %eax, %eax
movl %eax, %esi
leaq 0x4531e(%rip), %rdx     # 0x215465
movq %rsi, %rdi
movb $0x0, %al
callq 0x8540
movl %eax, 0xc8(%rsp)
leaq 0x8d0(%rsp), %rdi
movl 0xc8(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rsi
movl 0x920(%rsp), %ecx
addl $0x1, %ecx
leaq 0x452e7(%rip), %rdx     # 0x215465
movb $0x0, %al
callq 0x8540
movq 0x938(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x90(%rsp)
leaq 0x8d0(%rsp), %rdi
callq 0x8190
movl $0x18, %ecx
subl %eax, %ecx
subl $0x3, %ecx
movl $0x3, %eax
cmpl %ecx, %eax
jge 0x1d01c6
movl $0x3, %eax
movl %eax, 0x8c(%rsp)
jmp 0x1d01e6
leaq 0x8d0(%rsp), %rdi
callq 0x8190
movl %eax, %ecx
movl $0x18, %eax
subl %ecx, %eax
subl $0x3, %eax
movl %eax, 0x8c(%rsp)
movl 0x8c(%rsp), %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jge 0x1d0251
leaq 0x8d0(%rsp), %rdi
callq 0x8190
movl $0x18, %ecx
subl %eax, %ecx
subl $0x3, %ecx
movl $0x3, %eax
cmpl %ecx, %eax
jge 0x1d0221
movl $0x3, %eax
movl %eax, 0x88(%rsp)
jmp 0x1d0241
leaq 0x8d0(%rsp), %rdi
callq 0x8190
movl %eax, %ecx
movl $0x18, %eax
subl %ecx, %eax
subl $0x3, %eax
movl %eax, 0x88(%rsp)
movl 0x88(%rsp), %eax
movl %eax, 0x84(%rsp)
jmp 0x1d025c
xorl %eax, %eax
movl %eax, 0x84(%rsp)
jmp 0x1d025c
movq 0x90(%rsp), %rdi
movl 0x84(%rsp), %edx
movl 0x918(%rsp), %r8d
movl %r8d, %eax
addl $0x1, %eax
movl %eax, 0x918(%rsp)
leaq 0x8d0(%rsp), %rax
leaq 0x44ed3(%rip), %rsi     # 0x215162
leaq 0x20aa9(%rip), %rcx     # 0x1f0d3f
movl $0x12, %r9d
movq %rax, (%rsp)
movb $0x0, %al
callq 0x84e0
movl 0x920(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x920(%rsp)
jmp 0x1d0115
jmp 0x1d02bf
movq 0x948(%rsp), %rax
cmpl $0x1, 0x54(%rax)
jne 0x1d0465
movl $0x0, 0x920(%rsp)
movl 0x920(%rsp), %eax
movq 0x948(%rsp), %rcx
cmpl 0x98(%rcx), %eax
jge 0x1d0463
jmp 0x1d02f9
movl 0x920(%rsp), %ecx
addl $0x1, %ecx
xorl %eax, %eax
movl %eax, %esi
leaq 0x45162(%rip), %rdx     # 0x215470
movq %rsi, %rdi
movb $0x0, %al
callq 0x8540
movl %eax, 0xc4(%rsp)
leaq 0x8d0(%rsp), %rdi
movl 0xc4(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rsi
movl 0x920(%rsp), %ecx
addl $0x1, %ecx
leaq 0x4512b(%rip), %rdx     # 0x215470
movb $0x0, %al
callq 0x8540
movq 0x938(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x78(%rsp)
leaq 0x8d0(%rsp), %rdi
callq 0x8190
movl $0x18, %ecx
subl %eax, %ecx
subl $0x3, %ecx
movl $0x3, %eax
cmpl %ecx, %eax
jge 0x1d0387
movl $0x3, %eax
movl %eax, 0x74(%rsp)
jmp 0x1d03a4
leaq 0x8d0(%rsp), %rdi
callq 0x8190
movl %eax, %ecx
movl $0x18, %eax
subl %ecx, %eax
subl $0x3, %eax
movl %eax, 0x74(%rsp)
movl 0x74(%rsp), %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jge 0x1d0400
leaq 0x8d0(%rsp), %rdi
callq 0x8190
movl $0x18, %ecx
subl %eax, %ecx
subl $0x3, %ecx
movl $0x3, %eax
cmpl %ecx, %eax
jge 0x1d03d9
movl $0x3, %eax
movl %eax, 0x70(%rsp)
jmp 0x1d03f6
leaq 0x8d0(%rsp), %rdi
callq 0x8190
movl %eax, %ecx
movl $0x18, %eax
subl %ecx, %eax
subl $0x3, %eax
movl %eax, 0x70(%rsp)
movl 0x70(%rsp), %eax
movl %eax, 0x6c(%rsp)
jmp 0x1d0408
xorl %eax, %eax
movl %eax, 0x6c(%rsp)
jmp 0x1d0408
movq 0x78(%rsp), %rdi
movl 0x6c(%rsp), %edx
movl 0x918(%rsp), %r8d
movl %r8d, %eax
addl $0x1, %eax
movl %eax, 0x918(%rsp)
leaq 0x8d0(%rsp), %rax
leaq 0x44d2d(%rip), %rsi     # 0x215162
leaq 0x20903(%rip), %rcx     # 0x1f0d3f
movl $0x12, %r9d
movq %rax, (%rsp)
movb $0x0, %al
callq 0x84e0
movl 0x920(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x920(%rsp)
jmp 0x1d02dc
jmp 0x1d0465
movq 0x948(%rsp), %rax
cmpl $0x1, 0x58(%rax)
jne 0x1d06b6
movl $0x0, 0x920(%rsp)
movl 0x920(%rsp), %eax
movq 0x948(%rsp), %rcx
cmpl 0x98(%rcx), %eax
jge 0x1d06b4
movl 0x920(%rsp), %eax
movl %eax, 0x91c(%rsp)
movl 0x91c(%rsp), %eax
movl %eax, 0x68(%rsp)
movl 0x920(%rsp), %eax
movq 0x948(%rsp), %rcx
addl (%rcx), %eax
movq 0x948(%rsp), %rcx
movl 0x98(%rcx), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jge 0x1d04f3
movl 0x920(%rsp), %eax
movq 0x948(%rsp), %rcx
addl (%rcx), %eax
movl %eax, 0x64(%rsp)
jmp 0x1d0508
movq 0x948(%rsp), %rax
movl 0x98(%rax), %eax
subl $0x1, %eax
movl %eax, 0x64(%rsp)
movl 0x68(%rsp), %eax
movl 0x64(%rsp), %ecx
cmpl %ecx, %eax
jg 0x1d069c
jmp 0x1d051a
movl 0x920(%rsp), %ecx
addl $0x1, %ecx
movl 0x91c(%rsp), %r8d
addl $0x1, %r8d
xorl %eax, %eax
movl %eax, %esi
leaq 0x44f42(%rip), %rdx     # 0x21547d
movq %rsi, %rdi
movb $0x0, %al
callq 0x8540
movl %eax, 0xc0(%rsp)
leaq 0x8d0(%rsp), %rdi
movl 0xc0(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rsi
movl 0x920(%rsp), %ecx
addl $0x1, %ecx
movl 0x91c(%rsp), %r8d
addl $0x1, %r8d
leaq 0x44eff(%rip), %rdx     # 0x21547d
movb $0x0, %al
callq 0x8540
movq 0x938(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x58(%rsp)
leaq 0x8d0(%rsp), %rdi
callq 0x8190
movl $0x18, %ecx
subl %eax, %ecx
subl $0x3, %ecx
movl $0x3, %eax
cmpl %ecx, %eax
jge 0x1d05c0
movl $0x3, %eax
movl %eax, 0x54(%rsp)
jmp 0x1d05dd
leaq 0x8d0(%rsp), %rdi
callq 0x8190
movl %eax, %ecx
movl $0x18, %eax
subl %ecx, %eax
subl $0x3, %eax
movl %eax, 0x54(%rsp)
movl 0x54(%rsp), %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jge 0x1d0639
leaq 0x8d0(%rsp), %rdi
callq 0x8190
movl $0x18, %ecx
subl %eax, %ecx
subl $0x3, %ecx
movl $0x3, %eax
cmpl %ecx, %eax
jge 0x1d0612
movl $0x3, %eax
movl %eax, 0x50(%rsp)
jmp 0x1d062f
leaq 0x8d0(%rsp), %rdi
callq 0x8190
movl %eax, %ecx
movl $0x18, %eax
subl %ecx, %eax
subl $0x3, %eax
movl %eax, 0x50(%rsp)
movl 0x50(%rsp), %eax
movl %eax, 0x4c(%rsp)
jmp 0x1d0641
xorl %eax, %eax
movl %eax, 0x4c(%rsp)
jmp 0x1d0641
movq 0x58(%rsp), %rdi
movl 0x4c(%rsp), %edx
movl 0x918(%rsp), %r8d
movl %r8d, %eax
addl $0x1, %eax
movl %eax, 0x918(%rsp)
leaq 0x8d0(%rsp), %rax
leaq 0x44af4(%rip), %rsi     # 0x215162
leaq 0x206ca(%rip), %rcx     # 0x1f0d3f
movl $0x12, %r9d
movq %rax, (%rsp)
movb $0x0, %al
callq 0x84e0
movl 0x91c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x91c(%rsp)
jmp 0x1d04ab
jmp 0x1d069e
movl 0x920(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x920(%rsp)
jmp 0x1d0482
jmp 0x1d06b6
movq 0x948(%rsp), %rax
cmpl $0x1, 0x5c(%rax)
jne 0x1d085c
movl $0x0, 0x920(%rsp)
movl 0x920(%rsp), %eax
movq 0x948(%rsp), %rcx
cmpl 0x98(%rcx), %eax
jge 0x1d085a
jmp 0x1d06f0
movl 0x920(%rsp), %ecx
addl $0x1, %ecx
xorl %eax, %eax
movl %eax, %esi
leaq 0x44d8a(%rip), %rdx     # 0x21548f
movq %rsi, %rdi
movb $0x0, %al
callq 0x8540
movl %eax, 0xbc(%rsp)
leaq 0x8d0(%rsp), %rdi
movl 0xbc(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rsi
movl 0x920(%rsp), %ecx
addl $0x1, %ecx
leaq 0x44d53(%rip), %rdx     # 0x21548f
movb $0x0, %al
callq 0x8540
movq 0x938(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x40(%rsp)
leaq 0x8d0(%rsp), %rdi
callq 0x8190
movl $0x18, %ecx
subl %eax, %ecx
subl $0x3, %ecx
movl $0x3, %eax
cmpl %ecx, %eax
jge 0x1d077e
movl $0x3, %eax
movl %eax, 0x3c(%rsp)
jmp 0x1d079b
leaq 0x8d0(%rsp), %rdi
callq 0x8190
movl %eax, %ecx
movl $0x18, %eax
subl %ecx, %eax
subl $0x3, %eax
movl %eax, 0x3c(%rsp)
movl 0x3c(%rsp), %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jge 0x1d07f7
leaq 0x8d0(%rsp), %rdi
callq 0x8190
movl $0x18, %ecx
subl %eax, %ecx
subl $0x3, %ecx
movl $0x3, %eax
cmpl %ecx, %eax
jge 0x1d07d0
movl $0x3, %eax
movl %eax, 0x38(%rsp)
jmp 0x1d07ed
leaq 0x8d0(%rsp), %rdi
callq 0x8190
movl %eax, %ecx
movl $0x18, %eax
subl %ecx, %eax
subl $0x3, %eax
movl %eax, 0x38(%rsp)
movl 0x38(%rsp), %eax
movl %eax, 0x34(%rsp)
jmp 0x1d07ff
xorl %eax, %eax
movl %eax, 0x34(%rsp)
jmp 0x1d07ff
movq 0x40(%rsp), %rdi
movl 0x34(%rsp), %edx
movl 0x918(%rsp), %r8d
movl %r8d, %eax
addl $0x1, %eax
movl %eax, 0x918(%rsp)
leaq 0x8d0(%rsp), %rax
leaq 0x44936(%rip), %rsi     # 0x215162
leaq 0x2050c(%rip), %rcx     # 0x1f0d3f
movl $0x12, %r9d
movq %rax, (%rsp)
movb $0x0, %al
callq 0x84e0
movl 0x920(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x920(%rsp)
jmp 0x1d06d3
jmp 0x1d085c
movq 0x948(%rsp), %rax
cmpl $0x1, 0x60(%rax)
jne 0x1d0add
movl $0x0, 0x920(%rsp)
movl 0x920(%rsp), %eax
movq 0x948(%rsp), %rcx
cmpl 0x98(%rcx), %eax
jge 0x1d0adb
movl 0x920(%rsp), %eax
movq 0x948(%rsp), %rcx
subl (%rcx), %eax
cmpl $0x0, %eax
jge 0x1d08b2
xorl %eax, %eax
movl %eax, 0x30(%rsp)
jmp 0x1d08c7
movl 0x920(%rsp), %eax
movq 0x948(%rsp), %rcx
subl (%rcx), %eax
movl %eax, 0x30(%rsp)
movl 0x30(%rsp), %eax
movl %eax, 0x91c(%rsp)
movl 0x91c(%rsp), %eax
movl %eax, 0x2c(%rsp)
movl 0x920(%rsp), %eax
movq 0x948(%rsp), %rcx
addl (%rcx), %eax
movq 0x948(%rsp), %rcx
movl 0x98(%rcx), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jge 0x1d091a
movl 0x920(%rsp), %eax
movq 0x948(%rsp), %rcx
addl (%rcx), %eax
movl %eax, 0x28(%rsp)
jmp 0x1d092f
movq 0x948(%rsp), %rax
movl 0x98(%rax), %eax
subl $0x1, %eax
movl %eax, 0x28(%rsp)
movl 0x2c(%rsp), %eax
movl 0x28(%rsp), %ecx
cmpl %ecx, %eax
jg 0x1d0ac3
jmp 0x1d0941
movl 0x920(%rsp), %ecx
addl $0x1, %ecx
movl 0x91c(%rsp), %r8d
addl $0x1, %r8d
xorl %eax, %eax
movl %eax, %esi
leaq 0x44b38(%rip), %rdx     # 0x21549a
movq %rsi, %rdi
movb $0x0, %al
callq 0x8540
movl %eax, 0xb8(%rsp)
leaq 0x8d0(%rsp), %rdi
movl 0xb8(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rsi
movl 0x920(%rsp), %ecx
addl $0x1, %ecx
movl 0x91c(%rsp), %r8d
addl $0x1, %r8d
leaq 0x44af5(%rip), %rdx     # 0x21549a
movb $0x0, %al
callq 0x8540
movq 0x938(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x20(%rsp)
leaq 0x8d0(%rsp), %rdi
callq 0x8190
movl $0x18, %ecx
subl %eax, %ecx
subl $0x3, %ecx
movl $0x3, %eax
cmpl %ecx, %eax
jge 0x1d09e7
movl $0x3, %eax
movl %eax, 0x1c(%rsp)
jmp 0x1d0a04
leaq 0x8d0(%rsp), %rdi
callq 0x8190
movl %eax, %ecx
movl $0x18, %eax
subl %ecx, %eax
subl $0x3, %eax
movl %eax, 0x1c(%rsp)
movl 0x1c(%rsp), %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jge 0x1d0a60
leaq 0x8d0(%rsp), %rdi
callq 0x8190
movl $0x18, %ecx
subl %eax, %ecx
subl $0x3, %ecx
movl $0x3, %eax
cmpl %ecx, %eax
jge 0x1d0a39
movl $0x3, %eax
movl %eax, 0x18(%rsp)
jmp 0x1d0a56
leaq 0x8d0(%rsp), %rdi
callq 0x8190
movl %eax, %ecx
movl $0x18, %eax
subl %ecx, %eax
subl $0x3, %eax
movl %eax, 0x18(%rsp)
movl 0x18(%rsp), %eax
movl %eax, 0x14(%rsp)
jmp 0x1d0a68
xorl %eax, %eax
movl %eax, 0x14(%rsp)
jmp 0x1d0a68
movq 0x20(%rsp), %rdi
movl 0x14(%rsp), %edx
movl 0x918(%rsp), %r8d
movl %r8d, %eax
addl $0x1, %eax
movl %eax, 0x918(%rsp)
leaq 0x8d0(%rsp), %rax
leaq 0x446cd(%rip), %rsi     # 0x215162
leaq 0x202a3(%rip), %rcx     # 0x1f0d3f
movl $0x12, %r9d
movq %rax, (%rsp)
movb $0x0, %al
callq 0x84e0
movl 0x91c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x91c(%rsp)
jmp 0x1d08d2
jmp 0x1d0ac5
movl 0x920(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x920(%rsp)
jmp 0x1d0879
jmp 0x1d0add
movq 0x938(%rsp), %rax
movq (%rax), %rdi
leaq 0x1f755(%rip), %rsi     # 0x1f0244
movb $0x0, %al
callq 0x84e0
movl $0x0, 0x954(%rsp)
movl 0x954(%rsp), %eax
addq $0x958, %rsp            # imm = 0x958
retq