// File: /workspace/github_cpp_makefile_star2_O2/atfrank[P]PCASA/lib/Analyze.cpp
// Function: AnalyzeCasa::runAnalysisCasa(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, double, int)
void AnalyzeCasa::runAnalysisCasa(unsigned int frame, std::string identification, bool header, bool predict, std::string fparmfile, std::string freffile, std::string fsasa, const double cutoff, const int beta){
  Molecule *mol;
  CASA *casa;
  std::stringstream fout;
  //double sasaPred;
  unsigned int natomi,natomj;
  std::stringstream residi, residj;
  unsigned int atm;
  std::string resnamei,resnamej;
  std::string key;
  double dist;
  double predSASA;
  mol = NULL;
  casa=NULL;
  mol = this->getMol(0);

  atm = 0;
  casa = new CASA(mol,fparmfile, freffile, fsasa);
  natomi=0;
  predSASA = 0.0;

  /* rename HID, HIE => HIS */
  mol->renameRes("HID","HIS");
  mol->renameRes("HIE","HIS");
  mol->renameRes("HIP","HIS");
  mol->renameRes("HSD","HIS");
  mol->renameRes("HSP","HIS");
  mol->renameRes("HSE","HIS");
  
  for (unsigned int i=0; i< mol->getNAtomSelected(); i++){
    natomj=0;
    resnamei = mol->getResidue(natomi)->getResName();
    residi << (natomi+1);
    for (unsigned int j=0; j< mol->getNAtomSelected(); j++){
      resnamej = mol->getResidue(natomj)->getResName();
      residj << mol->getResidue(natomj)->getResId();
      //get distance between atoms
      dist = Analyze::distance(mol->getResidue(natomi)->getAtom(atm)->getCoor(), mol->getResidue(natomj)->getAtom(atm)->getCoor());
      if (dist <= cutoff && dist!=0.0 ){
        casa->accumHist(resnamej,pow(dist,beta));
      }
      residj.str("");
      natomj++;
    }
    if(!predict){
      if(natomi==0 && header==true){
        // print out header information
        std::cout << "frame ID atomname resid resname " << casa->printRefSASAVecHeader() << " targetSASA ";
        casa->printHistHeader();
        std::cout << std::endl;
      }
      if (fsasa.length() > 0){
        std::cout << frame << " " << identification << " " << mol->getResidue(natomi)->getAtom(atm)->getAtmName() << " "<< natomi+1 << " " << resnamei << " " << casa->printRefSASAVec(resnamei) << " " << casa->getTargetSASA(resnamei+":"+residi.str()) << " ";
      } else {
        std::cout << frame << " " << identification << " " << mol->getResidue(natomi)->getAtom(atm)->getAtmName() << " "<< natomi+1 << " " << resnamei << " " << casa->printRefSASAVec(resnamei) << " 0.0 ";
      }
      casa->printHist();
      std::cout << std::endl;
    } else {
      if(natomi==0 && header==true){
        // print out header information
        std::cout << "frame ID atomname resid resname refSASA targetSASA predSASA" << std::endl;
      }
      predSASA = casa->getRefSASA(resnamei) + casa->predictHist(resnamei);
      //predSASA = casa->getRefSASA(resnamei);
      if(predSASA<0){
        predSASA = 0.0;
      }
      if (fsasa.length() > 0){
        std::cout << frame << " " << identification << " " << mol->getResidue(natomi)->getAtom(atm)->getAtmName() << " "<< natomi+1 << " " << resnamei << " " << casa->getRefSASA(resnamei) << " " << casa->getTargetSASA(resnamei+":"+residi.str()) << " " << predSASA << std::endl;
      } else {
        std::cout << frame << " " << identification << " " << mol->getResidue(natomi)->getAtom(atm)->getAtmName() << " "<< natomi+1 << " " << resnamei << " " << casa->getRefSASA(resnamei) << " 0.0 " << predSASA << std::endl;
      }
    }
    casa->clearHist();
    casa->initializeHist();
    residi.str("");
    natomi++;
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x628, %rsp            # imm = 0x628
movsd %xmm0, 0xe8(%rsp)
movq %r9, %rbx
movl %r8d, 0x98(%rsp)
movl %ecx, 0x94(%rsp)
movq %rdx, 0x60(%rsp)
movl %esi, %ebp
movq %rdi, %r14
leaq 0x4a0(%rsp), %rdi
callq 0x4220
leaq 0x190(%rsp), %rdi
callq 0x4220
leaq 0x318(%rsp), %rdi
callq 0x4220
leaq 0x80(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
xorl %ecx, %ecx
leaq 0x100(%rsp), %rdx
movq %rdx, -0x10(%rdx)
andq $0x0, -0x8(%rdx)
movb %cl, (%rax)
movb %cl, (%rdx)
leaq 0x180(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb %cl, (%rax)
leaq 0x30(%rsp), %rsi
andl $0x0, (%rsi)
movq %r14, %rdi
callq 0x8be4
movq %rax, %r12
andl $0x0, 0x9c(%rsp)
movl $0xd8, %edi
callq 0x4320
movq %rax, 0x8(%rsp)
leaq 0x150(%rsp), %rdi
movq %rbx, %rsi
callq 0x4430
movq 0x660(%rsp), %rsi
leaq 0x130(%rsp), %rdi
callq 0x4430
movq 0x668(%rsp), %rsi
leaq 0x110(%rsp), %rdi
callq 0x4430
leaq 0x150(%rsp), %rdx
leaq 0x130(%rsp), %rcx
leaq 0x110(%rsp), %r8
movq 0x8(%rsp), %rdi
movq %r12, %rsi
callq 0xf200
leaq 0x110(%rsp), %rdi
callq 0x4170
leaq 0x130(%rsp), %rdi
callq 0x4170
leaq 0x150(%rsp), %rdi
callq 0x4170
andl $0x0, 0x4(%rsp)
leaq 0x223ff(%rip), %rsi     # 0x2d517
leaq 0x30(%rsp), %rdi
leaq 0xa0(%rsp), %rdx
callq 0x58d8
leaq 0x2270c(%rip), %rsi     # 0x2d83d
leaq 0x10(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x58d8
leaq 0x30(%rsp), %rsi
leaq 0x10(%rsp), %rdx
movq %r12, %rdi
callq 0x1af18
leaq 0x10(%rsp), %rdi
callq 0x4170
leaq 0x30(%rsp), %rdi
callq 0x4170
leaq 0x223ab(%rip), %rsi     # 0x2d51b
leaq 0x30(%rsp), %rdi
leaq 0xa0(%rsp), %rdx
callq 0x58d8
leaq 0x226b4(%rip), %rsi     # 0x2d83d
leaq 0x10(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x58d8
leaq 0x30(%rsp), %rsi
leaq 0x10(%rsp), %rdx
movq %r12, %rdi
callq 0x1af18
leaq 0x10(%rsp), %rdi
callq 0x4170
leaq 0x30(%rsp), %rdi
callq 0x4170
leaq 0x22357(%rip), %rsi     # 0x2d51f
leaq 0x30(%rsp), %rdi
leaq 0xa0(%rsp), %rdx
callq 0x58d8
leaq 0x2265c(%rip), %rsi     # 0x2d83d
leaq 0x10(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x58d8
leaq 0x30(%rsp), %rsi
leaq 0x10(%rsp), %rdx
movq %r12, %rdi
callq 0x1af18
leaq 0x10(%rsp), %rdi
callq 0x4170
leaq 0x30(%rsp), %rdi
callq 0x4170
leaq 0x22299(%rip), %rsi     # 0x2d4b9
leaq 0x30(%rsp), %rdi
leaq 0xa0(%rsp), %rdx
callq 0x58d8
leaq 0x22604(%rip), %rsi     # 0x2d83d
leaq 0x10(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x58d8
leaq 0x30(%rsp), %rsi
leaq 0x10(%rsp), %rdx
movq %r12, %rdi
callq 0x1af18
leaq 0x10(%rsp), %rdi
callq 0x4170
leaq 0x30(%rsp), %rdi
callq 0x4170
leaq 0x22249(%rip), %rsi     # 0x2d4c1
leaq 0x30(%rsp), %rdi
leaq 0xa0(%rsp), %rdx
callq 0x58d8
leaq 0x225ac(%rip), %rsi     # 0x2d83d
leaq 0x10(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x58d8
leaq 0x30(%rsp), %rsi
leaq 0x10(%rsp), %rdx
movq %r12, %rdi
callq 0x1af18
leaq 0x10(%rsp), %rdi
callq 0x4170
leaq 0x30(%rsp), %rdi
callq 0x4170
leaq 0x221ed(%rip), %rsi     # 0x2d4bd
leaq 0x30(%rsp), %rdi
leaq 0xa0(%rsp), %rdx
callq 0x58d8
leaq 0x22554(%rip), %rsi     # 0x2d83d
leaq 0x10(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x58d8
leaq 0x30(%rsp), %rsi
leaq 0x10(%rsp), %rdx
movq %r12, %rdi
callq 0x1af18
movl 0x670(%rsp), %r14d
leaq 0x10(%rsp), %rdi
callq 0x4170
leaq 0x30(%rsp), %rbx
movq %rbx, %rdi
callq 0x4170
cvtsi2sd %r14d, %xmm0
movsd %xmm0, 0xe0(%rsp)
movl %ebp, %eax
movq %rax, 0x68(%rsp)
movl $0x0, 0x58(%rsp)
leaq 0x5c(%rsp), %r14
leaq 0x9c(%rsp), %rbp
movq %r12, %rdi
callq 0x1b756
cmpl %eax, 0x58(%rsp)
jae 0xbb0b
andl $0x0, 0x5c(%rsp)
movq %r12, %rdi
leaq 0x4(%rsp), %rsi
callq 0x1aef0
movq %rbx, %rdi
movq %rax, %rsi
callq 0x23a16
leaq 0x70(%rsp), %rdi
movq %rbx, %rsi
callq 0x4390
movq %rbx, %rdi
callq 0x4170
movl 0x4(%rsp), %esi
incl %esi
leaq 0x1a0(%rsp), %rdi
callq 0x4200
xorl %r15d, %r15d
movq %r12, %rdi
callq 0x1b756
cmpl %eax, %r15d
jae 0xb4d9
movq %r12, %rdi
movq %r14, %rsi
callq 0x1aef0
movq %rbx, %rdi
movq %rax, %rsi
callq 0x23a16
leaq 0xf0(%rsp), %rdi
movq %rbx, %rsi
callq 0x4390
movq %rbx, %rdi
callq 0x4170
movq %r12, %rdi
movq %r14, %rsi
callq 0x1aef0
movq %rax, %rdi
callq 0x239d8
leaq 0x328(%rsp), %rdi
movl %eax, %esi
callq 0x4520
movq %r12, %rdi
leaq 0x4(%rsp), %rsi
callq 0x1aef0
movq %rax, %rdi
movq %rbp, %rsi
callq 0x239f2
movq %rax, %rdi
callq 0xea3c
movq %rax, %r13
movq %r12, %rdi
movq %r14, %rsi
callq 0x1aef0
movq %rax, %rdi
movq %rbp, %rsi
callq 0x239f2
movq %rax, %rdi
callq 0xea3c
movq %r13, %rdi
movq %rax, %rsi
callq 0x91f8
movsd 0xe8(%rsp), %xmm1
ucomisd %xmm0, %xmm1
jb 0xb4a1
ucomisd 0x21ffc(%rip), %xmm0    # 0x2d470
jne 0xb478
jnp 0xb4a1
movsd 0xe0(%rsp), %xmm1
callq 0x4540
movsd %xmm0, 0x30(%rsp)
movq 0x8(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
movq %rbx, %rdx
callq 0x16a64
movq %rbx, %rdi
leaq 0x21feb(%rip), %rsi     # 0x2d496
leaq 0x10(%rsp), %rdx
callq 0x58d8
leaq 0x330(%rsp), %rdi
movq %rbx, %rsi
callq 0x4470
movq %rbx, %rdi
callq 0x4170
incl 0x5c(%rsp)
incl %r15d
jmp 0xb3b0
cmpl $0x0, 0x4(%rsp)
sete %al
andb 0x94(%rsp), %al
cmpb $0x0, 0x98(%rsp)
je 0xb6de
testb %al, %al
je 0xb515
movq 0x3d9ac7(%rip), %rdi    # 0x3e4fc8
leaq 0x2204f(%rip), %rsi     # 0x2d557
callq 0x4300
movq %rax, %rdi
callq 0x4180
movq 0x8(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x16d62
movsd %xmm0, 0x50(%rsp)
movq 0x8(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x16afc
movsd 0x50(%rsp), %xmm1
addsd %xmm0, %xmm1
xorpd %xmm0, %xmm0
maxsd %xmm1, %xmm0
movsd %xmm0, 0x50(%rsp)
movq 0x668(%rsp), %rax
cmpq $0x0, 0x8(%rax)
je 0xb9cd
movq 0x3d9a5d(%rip), %rdi    # 0x3e4fc8
movq 0x68(%rsp), %rsi
callq 0x4200
movq %rax, %rdi
leaq 0x23045(%rip), %rsi     # 0x2e5c4
callq 0x4300
movq %rax, %rdi
movq 0x60(%rsp), %rsi
callq 0x42c0
movq %rax, %rdi
leaq 0x23029(%rip), %rsi     # 0x2e5c4
callq 0x4300
movq %rax, %r13
movq %r12, %rdi
leaq 0x4(%rsp), %rsi
callq 0x1aef0
movq %rax, %rdi
movq %rbp, %rsi
callq 0x239f2
movq %rax, %rdi
callq 0xe9f0
movq %r13, %rdi
movq %rax, %rsi
callq 0x42c0
movq %rax, %rdi
leaq 0x22fec(%rip), %rsi     # 0x2e5c4
callq 0x4300
movl 0x4(%rsp), %esi
incl %esi
movq %rax, %rdi
callq 0x4200
movq %rax, %rdi
leaq 0x22fcf(%rip), %rsi     # 0x2e5c4
callq 0x4300
movq %rax, %rdi
leaq 0x70(%rsp), %rsi
callq 0x42c0
movq %rax, %rdi
leaq 0x22fb3(%rip), %rsi     # 0x2e5c4
callq 0x4300
movq %rax, %r13
movq 0x8(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x16d62
movq %r13, %rdi
callq 0x44d0
movq %rax, %rdi
leaq 0x22f8a(%rip), %rsi     # 0x2e5c4
callq 0x4300
movq %rax, %r13
leaq 0x10(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x21be0(%rip), %rdx     # 0x2d233
callq 0xc97d
leaq 0xa0(%rsp), %r15
movq %r15, %rdi
leaq 0x1a8(%rsp), %rsi
callq 0x44a0
movq %rbx, %rdi
leaq 0x10(%rsp), %rsi
movq %r15, %rdx
callq 0xc890
movq 0x8(%rsp), %rdi
movq %rbx, %rsi
callq 0x1703a
movq %r13, %rdi
callq 0x44d0
movq %rax, %rdi
leaq 0x22f25(%rip), %rsi     # 0x2e5c4
callq 0x4300
movq %rax, %rdi
movsd 0x50(%rsp), %xmm0
callq 0x44d0
movq %rax, %rdi
callq 0x4180
movq %rbx, %rdi
callq 0x4170
leaq 0xa0(%rsp), %rdi
callq 0x4170
leaq 0x10(%rsp), %rdi
callq 0x4170
jmp 0xbabe
testb %al, %al
je 0xb73d
movq 0x3d98df(%rip), %rdi    # 0x3e4fc8
leaq 0x21e33(%rip), %rsi     # 0x2d523
callq 0x4300
movq %rax, %r13
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
callq 0x16ebe
movq %r13, %rdi
movq %rbx, %rsi
callq 0x42c0
movq %rax, %rdi
leaq 0x21e2a(%rip), %rsi     # 0x2d544
callq 0x4300
movq %rbx, %rdi
callq 0x4170
movq 0x8(%rsp), %rdi
callq 0x16cf6
movq 0x3d9890(%rip), %rdi    # 0x3e4fc8
callq 0x4180
movq 0x668(%rsp), %rax
cmpq $0x0, 0x8(%rax)
je 0xb8ce
movq 0x3d9871(%rip), %rdi    # 0x3e4fc8
movq 0x68(%rsp), %rsi
callq 0x4200
movq %rax, %rdi
leaq 0x22e59(%rip), %rsi     # 0x2e5c4
callq 0x4300
movq %rax, %rdi
movq 0x60(%rsp), %rsi
callq 0x42c0
movq %rax, %rdi
leaq 0x22e3d(%rip), %rsi     # 0x2e5c4
callq 0x4300
movq %rax, %r13
movq %r12, %rdi
leaq 0x4(%rsp), %rsi
callq 0x1aef0
movq %rax, %rdi
movq %rbp, %rsi
callq 0x239f2
movq %rax, %rdi
callq 0xe9f0
movq %r13, %rdi
movq %rax, %rsi
callq 0x42c0
movq %rax, %rdi
leaq 0x22e00(%rip), %rsi     # 0x2e5c4
callq 0x4300
movl 0x4(%rsp), %esi
incl %esi
movq %rax, %rdi
callq 0x4200
movq %rax, %rdi
leaq 0x22de3(%rip), %rsi     # 0x2e5c4
callq 0x4300
movq %rax, %rdi
leaq 0x70(%rsp), %rsi
callq 0x42c0
movq %rax, %rdi
leaq 0x22dc7(%rip), %rsi     # 0x2e5c4
callq 0x4300
movq %rax, %r13
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
leaq 0x70(%rsp), %rdx
callq 0x16d9c
movq %r13, %rdi
movq %rbx, %rsi
callq 0x42c0
movq %rax, %rdi
leaq 0x22d98(%rip), %rsi     # 0x2e5c4
callq 0x4300
movq %rax, 0x50(%rsp)
leaq 0xa0(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x219e9(%rip), %rdx     # 0x2d233
callq 0xc97d
leaq 0xc0(%rsp), %r13
movq %r13, %rdi
leaq 0x1a8(%rsp), %rsi
callq 0x44a0
leaq 0x10(%rsp), %r15
movq %r15, %rdi
leaq 0xa0(%rsp), %rsi
movq %r13, %rdx
callq 0xc890
movq 0x8(%rsp), %rdi
movq %r15, %rsi
callq 0x1703a
movq 0x50(%rsp), %rdi
callq 0x44d0
movq %rax, %rdi
leaq 0x22d24(%rip), %rsi     # 0x2e5c4
callq 0x4300
leaq 0x10(%rsp), %rdi
callq 0x4170
leaq 0xc0(%rsp), %rdi
callq 0x4170
leaq 0xa0(%rsp), %rdi
callq 0x4170
jmp 0xb9af
movq 0x3d96f3(%rip), %rdi    # 0x3e4fc8
movq 0x68(%rsp), %rsi
callq 0x4200
movq %rax, %rdi
leaq 0x22cdb(%rip), %rsi     # 0x2e5c4
callq 0x4300
movq %rax, %rdi
movq 0x60(%rsp), %rsi
callq 0x42c0
movq %rax, %rdi
leaq 0x22cbf(%rip), %rsi     # 0x2e5c4
callq 0x4300
movq %rax, %r13
movq %r12, %rdi
leaq 0x4(%rsp), %rsi
callq 0x1aef0
movq %rax, %rdi
movq %rbp, %rsi
callq 0x239f2
movq %rax, %rdi
callq 0xe9f0
movq %r13, %rdi
movq %rax, %rsi
callq 0x42c0
movq %rax, %rdi
leaq 0x22c82(%rip), %rsi     # 0x2e5c4
callq 0x4300
movl 0x4(%rsp), %esi
incl %esi
movq %rax, %rdi
callq 0x4200
movq %rax, %rdi
leaq 0x22c65(%rip), %rsi     # 0x2e5c4
callq 0x4300
movq %rax, %rdi
leaq 0x70(%rsp), %rsi
callq 0x42c0
movq %rax, %rdi
leaq 0x22c49(%rip), %rsi     # 0x2e5c4
callq 0x4300
movq %rax, %r13
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
leaq 0x70(%rsp), %rdx
callq 0x16d9c
movq %r13, %rdi
movq %rbx, %rsi
callq 0x42c0
movq %rax, %rdi
leaq 0x21ba7(%rip), %rsi     # 0x2d551
callq 0x4300
movq %rbx, %rdi
callq 0x4170
movq 0x8(%rsp), %rdi
callq 0x16c86
movq 0x3d9600(%rip), %rdi    # 0x3e4fc8
jmp 0xbab9
movq 0x3d95f4(%rip), %rdi    # 0x3e4fc8
movq 0x68(%rsp), %rsi
callq 0x4200
movq %rax, %rdi
leaq 0x22bdc(%rip), %rsi     # 0x2e5c4
callq 0x4300
movq %rax, %rdi
movq 0x60(%rsp), %rsi
callq 0x42c0
movq %rax, %rdi
leaq 0x22bc0(%rip), %rsi     # 0x2e5c4
callq 0x4300
movq %rax, %r13
movq %r12, %rdi
leaq 0x4(%rsp), %rsi
callq 0x1aef0
movq %rax, %rdi
movq %rbp, %rsi
callq 0x239f2
movq %rax, %rdi
callq 0xe9f0
movq %r13, %rdi
movq %rax, %rsi
callq 0x42c0
movq %rax, %rdi
leaq 0x22b83(%rip), %rsi     # 0x2e5c4
callq 0x4300
movl 0x4(%rsp), %esi
incl %esi
movq %rax, %rdi
callq 0x4200
movq %rax, %rdi
leaq 0x22b66(%rip), %rsi     # 0x2e5c4
callq 0x4300
movq %rax, %rdi
leaq 0x70(%rsp), %rsi
callq 0x42c0
movq %rax, %rdi
leaq 0x22b4a(%rip), %rsi     # 0x2e5c4
callq 0x4300
movq %rax, %r13
movq 0x8(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x16d62
movq %r13, %rdi
callq 0x44d0
movq %rax, %rdi
leaq 0x21aae(%rip), %rsi     # 0x2d551
callq 0x4300
movq %rax, %rdi
movsd 0x50(%rsp), %xmm0
callq 0x44d0
movq %rax, %rdi
callq 0x4180
movq 0x8(%rsp), %rdi
callq 0x16d58
movq 0x8(%rsp), %rdi
callq 0xf7d6
movq %rbx, %rdi
leaq 0x219ba(%rip), %rsi     # 0x2d496
leaq 0x10(%rsp), %rdx
callq 0x58d8
leaq 0x1a8(%rsp), %rdi
movq %rbx, %rsi
callq 0x4470
movq %rbx, %rdi
callq 0x4170
incl 0x4(%rsp)
incl 0x58(%rsp)
jmp 0xb356
leaq 0x170(%rsp), %rdi
callq 0x4170
leaq 0xf0(%rsp), %rdi
callq 0x4170
leaq 0x70(%rsp), %rdi
callq 0x4170
leaq 0x318(%rsp), %rdi
callq 0x4260
leaq 0x190(%rsp), %rdi
callq 0x4260
leaq 0x4a0(%rsp), %rdi
callq 0x4260
addq $0x628, %rsp            # imm = 0x628
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xbba4
jmp 0xbca3
jmp 0xbcb6
jmp 0xbba4
jmp 0xbca3
jmp 0xbcb6
jmp 0xbba4
jmp 0xbca3
jmp 0xbcb6
jmp 0xbba4
jmp 0xbca3
jmp 0xbcb6
jmp 0xbba4
jmp 0xbca3
jmp 0xbcb6
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
jmp 0xbc71
jmp 0xbca3
jmp 0xbcb6
movq %rax, %rbx
leaq 0x110(%rsp), %rdi
callq 0x4170
jmp 0xbbd0
movq %rax, %rbx
leaq 0x130(%rsp), %rdi
callq 0x4170
jmp 0xbbe2
movq %rax, %rbx
leaq 0x150(%rsp), %rdi
callq 0x4170
jmp 0xbbf4
movq %rax, %rbx
movl $0xd8, %esi
movq 0x8(%rsp), %rdi
callq 0x4330
jmp 0xbcb9
jmp 0xbcb6
jmp 0xbcb6
movq %rax, %rbx
jmp 0xbcea
movq %rax, %rbx
jmp 0xbcf7
jmp 0xbcb6
jmp 0xbcb6
movq %rax, %rbx
jmp 0xbc89
jmp 0xbcb6
jmp 0xbca3
movq %rax, %rbx
jmp 0xbc69
movq %rax, %rbx
jmp 0xbc5c
movq %rax, %rbx
jmp 0xbc96
jmp 0xbcb6
jmp 0xbca3
jmp 0xbca3
jmp 0xbca3
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x4170
leaq 0xc0(%rsp), %rdi
callq 0x4170
leaq 0xa0(%rsp), %rdi
callq 0x4170
jmp 0xbca6
jmp 0xbcb6
jmp 0xbca3
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x4170
leaq 0xa0(%rsp), %rdi
callq 0x4170
leaq 0x10(%rsp), %rdi
jmp 0xbcab
jmp 0xbcb6
jmp 0xbcb6
jmp 0xbcb6
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x4170
jmp 0xbcb9
jmp 0xbcb6
jmp 0xbcb6
movq %rax, %rbx
leaq 0x170(%rsp), %rdi
callq 0x4170
leaq 0xf0(%rsp), %rdi
callq 0x4170
leaq 0x70(%rsp), %rdi
callq 0x4170
leaq 0x318(%rsp), %rdi
callq 0x4260
leaq 0x190(%rsp), %rdi
callq 0x4260
leaq 0x4a0(%rsp), %rdi
callq 0x4260
movq %rbx, %rdi
callq 0x4560