// File: /workspace/github_c_makefile_star2_O0/fukunagatsu[P]RIblast/rna_interaction_search.cpp
// Function: RnaInteractionSearch::Output(RnaInteractionSearchParameters, std::vector<Hit, std::allocator<Hit>>&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, int*, int)
void RnaInteractionSearch::Output(const RnaInteractionSearchParameters parameters, vector<Hit> &hit_result, string q_name, int flag,int *count,int q_length){
  ofstream ofs;
  if(flag==0){
    ofs.open(parameters.GetOutputFilename().c_str(),ios::out);
    ofs << "RIblast ris result"<< endl;
    ofs << "input:" <<parameters.GetInputFilename() <<",database:" <<parameters.GetDbFilename()<<",RepeatFlag:" <<parameters.GetRepeatFlag()<<",MaximalSpan:" << parameters.GetMaximalSpan() <<",MinAccessibleLength:" << parameters.GetMinAccessibleLength() << ",MaxSeedLength:"<< parameters.GetMaxSeedLength() << ",InteractionEnergyThreshold:" << parameters.GetInteractionEnergyThreshold() << ",HybridEnergyThreshold:" << parameters.GetHybridEnergyThreshold() << ",FinalThreshold:" << parameters.GetFinalThreshold() << ",DropOutLengthWoGap:" << parameters.GetDropOutLengthWoGap() << ",DropOutLengthWGap:" << parameters.GetDropOutLengthWGap() << endl;
  }else{
    ofs.open(parameters.GetOutputFilename().c_str(),ios::app);
  }
  if (!ofs){
    cout << "Error: can't open output_file:"+parameters.GetOutputFilename()+"." <<endl;
    exit(1);
  }
  if(flag==0){
    ofs << "Id,Query name, Query Length, Target name, Target Length, Accessibility Energy, Hybridization Energy, Interaction Energy, BasePair"<< endl;
  }
  int output_style = parameters.GetOutputStyle();
  
  for(int i = 0; i< hit_result.size(); i++){
    ofs << *count << ",";
    *count += 1;
    int id = hit_result[i].GetDbSeqId();
    int db_length = _db_seq_length_without_repeat[id];
    int seq_start_position = _db_seq_start_position[id];
    ofs << q_name << ",";
    ofs << q_length << ",";
    ofs << _db_seq_name[id] << ",";
    ofs << db_length << ",";
    ofs << hit_result[i].GetAccessibilityEnergy() << ",";
    ofs << hit_result[i].GetHybridizationEnergy() << ",";
    ofs << hit_result[i].GetEnergy() << ",";
    db_length = _db_seq_length[id];
    int basepair_length = hit_result[i].GetBasePairLength();
    if(output_style==1){
      for(int j = 0; j<basepair_length;j++){
	int dbpos = (db_length-1) - ( hit_result[i].GetBasePairSecond(j)- seq_start_position);
	ofs << "(" << hit_result[i].GetBasePairFirst(j) << ":" << dbpos << ") " ;
      }
    }else{
      ofs << "(" << hit_result[i].GetBasePairFirst(0) << "-" << hit_result[i].GetBasePairFirst(basepair_length-1) << ":" ;
      int dbpos1 = (db_length-1) - ( hit_result[i].GetBasePairSecond(0)- seq_start_position);
      int dbpos2 = (db_length-1) - ( hit_result[i].GetBasePairSecond(basepair_length-1)- seq_start_position);
      ofs << dbpos1 << "-" << dbpos2 << ") " ;
    }
    ofs << endl;
  }
  ofs.close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x580, %rsp            # imm = 0x580
movq %rcx, -0x360(%rbp)
movq %rsi, -0x358(%rbp)
movl 0x10(%rbp), %eax
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl %r8d, -0x24(%rbp)
movq %r9, -0x30(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x350(%rbp)
leaq -0x230(%rbp), %rdi
callq 0x3490
cmpl $0x0, -0x24(%rbp)
jne 0x1edd1
movq -0x358(%rbp), %rsi
leaq -0x250(%rbp), %rdi
callq 0x20710
jmp 0x1e97a
leaq -0x250(%rbp), %rdi
callq 0x3110
movq %rax, %rsi
leaq -0x230(%rbp), %rdi
movl $0x10, %edx
callq 0x3030
jmp 0x1e99c
leaq -0x250(%rbp), %rdi
callq 0x3190
leaq 0x1a0ff(%rip), %rsi     # 0x38aae
leaq -0x230(%rbp), %rdi
callq 0x3270
movq %rax, -0x368(%rbp)
jmp 0x1e9c4
movq -0x368(%rbp), %rdi
movq 0x2d5d6(%rip), %rsi     # 0x4bfa8
callq 0x32b0
jmp 0x1e9d9
leaq 0x1a0e1(%rip), %rsi     # 0x38ac1
leaq -0x230(%rbp), %rdi
callq 0x3270
movq %rax, -0x370(%rbp)
jmp 0x1e9f5
movq -0x358(%rbp), %rsi
leaq -0x280(%rbp), %rdi
callq 0x1ff20
jmp 0x1ea0a
movq -0x370(%rbp), %rdi
leaq -0x280(%rbp), %rsi
callq 0x3260
movq %rax, -0x378(%rbp)
jmp 0x1ea26
movq -0x378(%rbp), %rdi
leaq 0x1a094(%rip), %rsi     # 0x38ac8
callq 0x3270
movq %rax, -0x380(%rbp)
jmp 0x1ea42
movq -0x358(%rbp), %rsi
leaq -0x2a0(%rbp), %rdi
callq 0x1fb70
jmp 0x1ea57
movq -0x380(%rbp), %rdi
leaq -0x2a0(%rbp), %rsi
callq 0x3260
movq %rax, -0x388(%rbp)
jmp 0x1ea73
movq -0x388(%rbp), %rdi
leaq 0x1a052(%rip), %rsi     # 0x38ad3
callq 0x3270
movq %rax, -0x390(%rbp)
jmp 0x1ea8f
movq -0x358(%rbp), %rdi
callq 0x201e0
movl %eax, -0x394(%rbp)
jmp 0x1eaa3
movl -0x394(%rbp), %esi
movq -0x390(%rbp), %rdi
callq 0x34b0
movq %rax, -0x3a0(%rbp)
jmp 0x1eabe
movq -0x3a0(%rbp), %rdi
leaq 0x1a014(%rip), %rsi     # 0x38ae0
callq 0x3270
movq %rax, -0x3a8(%rbp)
jmp 0x1eada
movq -0x358(%rbp), %rdi
callq 0x1ff50
movl %eax, -0x3ac(%rbp)
jmp 0x1eaee
movl -0x3ac(%rbp), %esi
movq -0x3a8(%rbp), %rdi
callq 0x34b0
movq %rax, -0x3b8(%rbp)
jmp 0x1eb09
movq -0x3b8(%rbp), %rdi
leaq 0x19fd7(%rip), %rsi     # 0x38aee
callq 0x3270
movq %rax, -0x3c0(%rbp)
jmp 0x1eb25
movq -0x358(%rbp), %rdi
callq 0x1ff70
movl %eax, -0x3c4(%rbp)
jmp 0x1eb39
movl -0x3c4(%rbp), %esi
movq -0x3c0(%rbp), %rdi
callq 0x34b0
movq %rax, -0x3d0(%rbp)
jmp 0x1eb54
movq -0x3d0(%rbp), %rdi
leaq 0x19fa2(%rip), %rsi     # 0x38b04
callq 0x3270
movq %rax, -0x3d8(%rbp)
jmp 0x1eb70
movq -0x358(%rbp), %rdi
callq 0x20200
movl %eax, -0x3dc(%rbp)
jmp 0x1eb84
movl -0x3dc(%rbp), %esi
movq -0x3d8(%rbp), %rdi
callq 0x34b0
movq %rax, -0x3e8(%rbp)
jmp 0x1eb9f
movq -0x3e8(%rbp), %rdi
leaq 0x19f67(%rip), %rsi     # 0x38b14
callq 0x3270
movq %rax, -0x3f0(%rbp)
jmp 0x1ebbb
movq -0x358(%rbp), %rdi
callq 0x205c0
movsd %xmm0, -0x3f8(%rbp)
jmp 0x1ebd1
movsd -0x3f8(%rbp), %xmm0
movq -0x3f0(%rbp), %rdi
callq 0x3520
movq %rax, -0x400(%rbp)
jmp 0x1ebee
movq -0x400(%rbp), %rdi
leaq 0x19f35(%rip), %rsi     # 0x38b31
callq 0x3270
movq %rax, -0x408(%rbp)
jmp 0x1ec0a
movq -0x358(%rbp), %rdi
callq 0x20220
movsd %xmm0, -0x410(%rbp)
jmp 0x1ec20
movsd -0x410(%rbp), %xmm0
movq -0x408(%rbp), %rdi
callq 0x3520
movq %rax, -0x418(%rbp)
jmp 0x1ec3d
movq -0x418(%rbp), %rdi
leaq 0x19efe(%rip), %rsi     # 0x38b49
callq 0x3270
movq %rax, -0x420(%rbp)
jmp 0x1ec59
movq -0x358(%rbp), %rdi
callq 0x206f0
movsd %xmm0, -0x428(%rbp)
jmp 0x1ec6f
movsd -0x428(%rbp), %xmm0
movq -0x420(%rbp), %rdi
callq 0x3520
movq %rax, -0x430(%rbp)
jmp 0x1ec8c
movq -0x430(%rbp), %rdi
leaq 0x19ec0(%rip), %rsi     # 0x38b5a
callq 0x3270
movq %rax, -0x438(%rbp)
jmp 0x1eca8
movq -0x358(%rbp), %rdi
callq 0x204d0
movl %eax, -0x43c(%rbp)
jmp 0x1ecbc
movl -0x43c(%rbp), %esi
movq -0x438(%rbp), %rdi
callq 0x34b0
movq %rax, -0x448(%rbp)
jmp 0x1ecd7
movq -0x448(%rbp), %rdi
leaq 0x19e8a(%rip), %rsi     # 0x38b6f
callq 0x3270
movq %rax, -0x450(%rbp)
jmp 0x1ecf3
movq -0x358(%rbp), %rdi
callq 0x205e0
movl %eax, -0x454(%rbp)
jmp 0x1ed07
movl -0x454(%rbp), %esi
movq -0x450(%rbp), %rdi
callq 0x34b0
movq %rax, -0x460(%rbp)
jmp 0x1ed22
movq -0x460(%rbp), %rdi
movq 0x2d278(%rip), %rsi     # 0x4bfa8
callq 0x32b0
jmp 0x1ed37
leaq -0x2a0(%rbp), %rdi
callq 0x3190
leaq -0x280(%rbp), %rdi
callq 0x3190
jmp 0x1ee39
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x258(%rbp)
movl %eax, -0x25c(%rbp)
jmp 0x1f629
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x258(%rbp)
movl %eax, -0x25c(%rbp)
leaq -0x250(%rbp), %rdi
callq 0x3190
jmp 0x1f629
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x258(%rbp)
movl %eax, -0x25c(%rbp)
jmp 0x1edc0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x258(%rbp)
movl %eax, -0x25c(%rbp)
leaq -0x2a0(%rbp), %rdi
callq 0x3190
leaq -0x280(%rbp), %rdi
callq 0x3190
jmp 0x1f629
movq -0x358(%rbp), %rsi
leaq -0x2c0(%rbp), %rdi
callq 0x20710
jmp 0x1ede6
leaq -0x2c0(%rbp), %rdi
callq 0x3110
movq %rax, %rsi
leaq -0x230(%rbp), %rdi
movl $0x1, %edx
callq 0x3030
jmp 0x1ee08
leaq -0x2c0(%rbp), %rdi
callq 0x3190
jmp 0x1ee39
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x258(%rbp)
movl %eax, -0x25c(%rbp)
leaq -0x2c0(%rbp), %rdi
callq 0x3190
jmp 0x1f629
movq -0x230(%rbp), %rax
movq -0x18(%rax), %rax
leaq -0x230(%rbp,%rax), %rdi
callq 0x3140
movb %al, -0x461(%rbp)
jmp 0x1ee59
movb -0x461(%rbp), %al
testb $0x1, %al
jne 0x1ee68
jmp 0x1ef77
movq -0x358(%rbp), %rsi
leaq -0x320(%rbp), %rdi
callq 0x20710
jmp 0x1ee7d
leaq 0x19cff(%rip), %rsi     # 0x38b83
leaq -0x300(%rbp), %rdi
leaq -0x320(%rbp), %rdx
callq 0x20740
jmp 0x1ee99
leaq 0x198c1(%rip), %rdx     # 0x38761
leaq -0x2e0(%rbp), %rdi
leaq -0x300(%rbp), %rsi
callq 0x88e0
jmp 0x1eeb5
movq 0x2d114(%rip), %rdi     # 0x4bfd0
leaq -0x2e0(%rbp), %rsi
callq 0x3260
movq %rax, -0x470(%rbp)
jmp 0x1eed1
movq -0x470(%rbp), %rdi
movq 0x2d0c9(%rip), %rsi     # 0x4bfa8
callq 0x32b0
jmp 0x1eee6
leaq -0x2e0(%rbp), %rdi
callq 0x3190
leaq -0x300(%rbp), %rdi
callq 0x3190
leaq -0x320(%rbp), %rdi
callq 0x3190
movl $0x1, %edi
callq 0x3330
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x258(%rbp)
movl %eax, -0x25c(%rbp)
jmp 0x1ef66
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x258(%rbp)
movl %eax, -0x25c(%rbp)
jmp 0x1ef5a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x258(%rbp)
movl %eax, -0x25c(%rbp)
leaq -0x2e0(%rbp), %rdi
callq 0x3190
leaq -0x300(%rbp), %rdi
callq 0x3190
leaq -0x320(%rbp), %rdi
callq 0x3190
jmp 0x1f629
cmpl $0x0, -0x24(%rbp)
jne 0x1efb0
leaq 0x19c1e(%rip), %rsi     # 0x38ba2
leaq -0x230(%rbp), %rdi
callq 0x3270
movq %rax, -0x478(%rbp)
jmp 0x1ef99
movq -0x478(%rbp), %rdi
movq 0x2d001(%rip), %rsi     # 0x4bfa8
callq 0x32b0
jmp 0x1efae
jmp 0x1efb0
movq -0x358(%rbp), %rdi
callq 0x20790
movl %eax, -0x47c(%rbp)
jmp 0x1efc4
movl -0x47c(%rbp), %eax
movl %eax, -0x324(%rbp)
movl $0x0, -0x328(%rbp)
movslq -0x328(%rbp), %rax
movq %rax, -0x488(%rbp)
movq -0x18(%rbp), %rdi
callq 0x20650
movq %rax, %rcx
movq -0x488(%rbp), %rax
cmpq %rcx, %rax
jae 0x1f606
movq -0x30(%rbp), %rax
movl (%rax), %esi
leaq -0x230(%rbp), %rdi
callq 0x34b0
movq %rax, -0x490(%rbp)
jmp 0x1f01f
movq -0x490(%rbp), %rdi
leaq 0x19bf7(%rip), %rsi     # 0x38c24
callq 0x3270
jmp 0x1f034
movq -0x30(%rbp), %rax
movl (%rax), %ecx
incl %ecx
movl %ecx, (%rax)
movq -0x18(%rbp), %rdi
movslq -0x328(%rbp), %rsi
callq 0x20680
movq %rax, %rdi
callq 0x207b0
movl %eax, -0x494(%rbp)
jmp 0x1f05e
movq -0x350(%rbp), %rdi
movl -0x494(%rbp), %eax
movl %eax, -0x32c(%rbp)
addq $0xd8, %rdi
movslq -0x32c(%rbp), %rsi
callq 0xbac0
movq -0x350(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x330(%rbp)
addq $0xa8, %rdi
movslq -0x32c(%rbp), %rsi
callq 0xbac0
movq -0x360(%rbp), %rsi
movl (%rax), %eax
movl %eax, -0x334(%rbp)
leaq -0x230(%rbp), %rdi
callq 0x3260
movq %rax, -0x4a0(%rbp)
jmp 0x1f0ca
movq -0x4a0(%rbp), %rdi
leaq 0x19b4c(%rip), %rsi     # 0x38c24
callq 0x3270
jmp 0x1f0df
movl 0x10(%rbp), %esi
leaq -0x230(%rbp), %rdi
callq 0x34b0
movq %rax, -0x4a8(%rbp)
jmp 0x1f0f7
movq -0x4a8(%rbp), %rdi
leaq 0x19b1f(%rip), %rsi     # 0x38c24
callq 0x3270
jmp 0x1f10c
movq -0x350(%rbp), %rdi
addq $0x30, %rdi
movslq -0x32c(%rbp), %rsi
callq 0xb720
movq %rax, %rsi
leaq -0x230(%rbp), %rdi
callq 0x3260
movq %rax, -0x4b0(%rbp)
jmp 0x1f13b
movq -0x4b0(%rbp), %rdi
leaq 0x19adb(%rip), %rsi     # 0x38c24
callq 0x3270
jmp 0x1f150
movl -0x330(%rbp), %esi
leaq -0x230(%rbp), %rdi
callq 0x34b0
movq %rax, -0x4b8(%rbp)
jmp 0x1f16b
movq -0x4b8(%rbp), %rdi
leaq 0x19aab(%rip), %rsi     # 0x38c24
callq 0x3270
jmp 0x1f180
movq -0x18(%rbp), %rdi
movslq -0x328(%rbp), %rsi
callq 0x20680
movq %rax, %rdi
callq 0x207c0
movsd %xmm0, -0x4c0(%rbp)
jmp 0x1f1a2
movsd -0x4c0(%rbp), %xmm0
leaq -0x230(%rbp), %rdi
callq 0x3520
movq %rax, -0x4c8(%rbp)
jmp 0x1f1bf
movq -0x4c8(%rbp), %rdi
leaq 0x19a57(%rip), %rsi     # 0x38c24
callq 0x3270
jmp 0x1f1d4
movq -0x18(%rbp), %rdi
movslq -0x328(%rbp), %rsi
callq 0x20680
movq %rax, %rdi
callq 0x207e0
movsd %xmm0, -0x4d0(%rbp)
jmp 0x1f1f6
movsd -0x4d0(%rbp), %xmm0
leaq -0x230(%rbp), %rdi
callq 0x3520
movq %rax, -0x4d8(%rbp)
jmp 0x1f213
movq -0x4d8(%rbp), %rdi
leaq 0x19a03(%rip), %rsi     # 0x38c24
callq 0x3270
jmp 0x1f228
movq -0x18(%rbp), %rdi
movslq -0x328(%rbp), %rsi
callq 0x20680
movq %rax, %rdi
callq 0x20800
movsd %xmm0, -0x4e0(%rbp)
jmp 0x1f24a
movsd -0x4e0(%rbp), %xmm0
leaq -0x230(%rbp), %rdi
callq 0x3520
movq %rax, -0x4e8(%rbp)
jmp 0x1f267
movq -0x4e8(%rbp), %rdi
leaq 0x199af(%rip), %rsi     # 0x38c24
callq 0x3270
jmp 0x1f27c
movq -0x350(%rbp), %rdi
addq $0xc0, %rdi
movslq -0x32c(%rbp), %rsi
callq 0xbac0
movl (%rax), %eax
movl %eax, -0x330(%rbp)
movq -0x18(%rbp), %rdi
movslq -0x328(%rbp), %rsi
callq 0x20680
movq %rax, %rdi
callq 0x20820
movl %eax, -0x4ec(%rbp)
jmp 0x1f2be
movl -0x4ec(%rbp), %eax
movl %eax, -0x338(%rbp)
cmpl $0x1, -0x324(%rbp)
jne 0x1f407
movl $0x0, -0x33c(%rbp)
movl -0x33c(%rbp), %eax
cmpl -0x338(%rbp), %eax
jge 0x1f402
movl -0x330(%rbp), %eax
decl %eax
movl %eax, -0x4f4(%rbp)
movq -0x18(%rbp), %rdi
movslq -0x328(%rbp), %rsi
callq 0x20680
movq %rax, %rdi
movl -0x33c(%rbp), %esi
callq 0x20840
movl %eax, -0x4f0(%rbp)
jmp 0x1f327
movl -0x4f4(%rbp), %eax
movl -0x4f0(%rbp), %edx
movl -0x334(%rbp), %ecx
subl %edx, %ecx
addl %ecx, %eax
movl %eax, -0x340(%rbp)
leaq 0x198dc(%rip), %rsi     # 0x38c26
leaq -0x230(%rbp), %rdi
callq 0x3270
movq %rax, -0x500(%rbp)
jmp 0x1f35f
movq -0x18(%rbp), %rdi
movslq -0x328(%rbp), %rsi
callq 0x20680
movq %rax, %rdi
movl -0x33c(%rbp), %esi
callq 0x20870
movl %eax, -0x504(%rbp)
jmp 0x1f385
movl -0x504(%rbp), %esi
movq -0x500(%rbp), %rdi
callq 0x34b0
movq %rax, -0x510(%rbp)
jmp 0x1f3a0
movq -0x510(%rbp), %rdi
leaq 0x197aa(%rip), %rsi     # 0x38b58
callq 0x3270
movq %rax, -0x518(%rbp)
jmp 0x1f3bc
movq -0x518(%rbp), %rdi
movl -0x340(%rbp), %esi
callq 0x34b0
movq %rax, -0x520(%rbp)
jmp 0x1f3d7
movq -0x520(%rbp), %rdi
leaq 0x19843(%rip), %rsi     # 0x38c28
callq 0x3270
jmp 0x1f3ec
jmp 0x1f3ee
movl -0x33c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x33c(%rbp)
jmp 0x1f2e1
jmp 0x1f5db
leaq 0x19818(%rip), %rsi     # 0x38c26
leaq -0x230(%rbp), %rdi
callq 0x3270
movq %rax, -0x528(%rbp)
jmp 0x1f423
movq -0x18(%rbp), %rdi
movslq -0x328(%rbp), %rsi
callq 0x20680
movq %rax, %rdi
xorl %esi, %esi
callq 0x20870
movl %eax, -0x52c(%rbp)
jmp 0x1f445
movl -0x52c(%rbp), %esi
movq -0x528(%rbp), %rdi
callq 0x34b0
movq %rax, -0x538(%rbp)
jmp 0x1f460
movq -0x538(%rbp), %rdi
leaq 0x197bd(%rip), %rsi     # 0x38c2b
callq 0x3270
movq %rax, -0x540(%rbp)
jmp 0x1f47c
movq -0x18(%rbp), %rdi
movslq -0x328(%rbp), %rsi
callq 0x20680
movq %rax, %rdi
movl -0x338(%rbp), %esi
decl %esi
callq 0x20870
movl %eax, -0x544(%rbp)
jmp 0x1f4a4
movl -0x544(%rbp), %esi
movq -0x540(%rbp), %rdi
callq 0x34b0
movq %rax, -0x550(%rbp)
jmp 0x1f4bf
movq -0x550(%rbp), %rdi
leaq 0x1968b(%rip), %rsi     # 0x38b58
callq 0x3270
jmp 0x1f4d4
movl -0x330(%rbp), %eax
decl %eax
movl %eax, -0x558(%rbp)
movq -0x18(%rbp), %rdi
movslq -0x328(%rbp), %rsi
callq 0x20680
movq %rax, %rdi
xorl %esi, %esi
callq 0x20840
movl %eax, -0x554(%rbp)
jmp 0x1f504
movl -0x558(%rbp), %eax
movl -0x554(%rbp), %edx
movl -0x334(%rbp), %ecx
subl %edx, %ecx
addl %ecx, %eax
movl %eax, -0x344(%rbp)
movl -0x330(%rbp), %eax
decl %eax
movl %eax, -0x560(%rbp)
movq -0x18(%rbp), %rdi
movslq -0x328(%rbp), %rsi
callq 0x20680
movq %rax, %rdi
movl -0x338(%rbp), %esi
decl %esi
callq 0x20840
movl %eax, -0x55c(%rbp)
jmp 0x1f556
movl -0x560(%rbp), %eax
movl -0x55c(%rbp), %edx
movl -0x334(%rbp), %ecx
subl %edx, %ecx
addl %ecx, %eax
movl %eax, -0x348(%rbp)
movl -0x344(%rbp), %esi
leaq -0x230(%rbp), %rdi
callq 0x34b0
movq %rax, -0x568(%rbp)
jmp 0x1f58d
movq -0x568(%rbp), %rdi
leaq 0x19690(%rip), %rsi     # 0x38c2b
callq 0x3270
movq %rax, -0x570(%rbp)
jmp 0x1f5a9
movq -0x570(%rbp), %rdi
movl -0x348(%rbp), %esi
callq 0x34b0
movq %rax, -0x578(%rbp)
jmp 0x1f5c4
movq -0x578(%rbp), %rdi
leaq 0x19656(%rip), %rsi     # 0x38c28
callq 0x3270
jmp 0x1f5d9
jmp 0x1f5db
movq 0x2c9c6(%rip), %rsi     # 0x4bfa8
leaq -0x230(%rbp), %rdi
callq 0x32b0
jmp 0x1f5f0
jmp 0x1f5f2
movl -0x328(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x328(%rbp)
jmp 0x1efda
leaq -0x230(%rbp), %rdi
callq 0x33f0
jmp 0x1f614
leaq -0x230(%rbp), %rdi
callq 0x3410
addq $0x580, %rsp            # imm = 0x580
popq %rbp
retq
leaq -0x230(%rbp), %rdi
callq 0x3410
movq -0x258(%rbp), %rdi
callq 0x34d0
nopw %cs:(%rax,%rax)