// File: /workspace/github_cpp_makefile_star2_O3/ncbi[P]amr/seq.cpp
// Function: Seq_sp::Dna::getPeptides(char, unsigned char, unsigned long) const
Vector<Peptide> Dna::getPeptides (Frame frame,
                                  Gencode gencode,
                                  size_t len_min) const
{
  ASSERT (isFrame (frame));
  ASSERT (len_min);
  
  Vector<Peptide> peps;  peps. reserve (seq. size () / 300 + 1);  // PAR
  
  string dnaSeq (seq);
  if (frame < 0)
    reverseDna (dnaSeq);
    
  size_t start = (size_t) abs (frame) - 1;
  size_t stop = 0;
  string pepSeq;
  
  const auto proc = [&] () 
    {
      if (pepSeq. size () < len_min)
        return;
      if (frame < 0)
      {
        const size_t start_ = start;
        start = seq. size () - stop;
        stop  = seq. size () - start_;
      }
      // ";partial=11" (Prodigal notation)
      peps << std::move (Peptide (getId () + ":" + to_string (start + 1) + ".." + to_string (stop), pepSeq, false));      
    };
  
  for (size_t i = start; i + 2 < dnaSeq. size (); i += 3)
  {
    const char aa = codon2aa (& dnaSeq [i], gencode, true);
    stop = i;
    if (aa == *terminator)
    {
    //pepSeq += string (1, *terminator);  // Like in GeneMark etc.  // PAR  
      proc ();
      pepSeq. clear ();
    }
    else if (! pepSeq. empty ())
      pepSeq += toUpper (aa);
    else if (Peptide::isStartAa (aa))
    {
      ASSERT (pepSeq. empty ());
      pepSeq = "M";
      start = i;
    }
  }
//proc ();  // Trunc3  // PAR
  
  return peps;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1a8, %rsp            # imm = 0x1A8
movq %r8, 0x110(%rsp)
movl %ecx, %r15d
movl %edx, %r13d
movq %rsi, %rbp
movq %rdi, %rbx
callq 0xb070
movq %rax, 0x188(%rsp)
movl $0x0, (%rax)
leal 0x3(%r13), %eax
cmpl $0x6, %eax
ja 0x72a9d
cmpl $0x3, %eax
je 0x72a9d
cmpq $0x0, 0x110(%rsp)
je 0x72a07
xorps %xmm0, %xmm0
movups %xmm0, 0x9(%rbx)
movups %xmm0, (%rbx)
movabsq $0x6d3a06d3a06d3a07, %rax # imm = 0x6D3A06D3A06D3A07
mulq 0x30(%rbp)
shrq $0x7, %rdx
leaq 0x1(%rdx), %rsi
movq %rbx, %rdi
movq %rbx, 0xc0(%rsp)
callq 0x8e8d8
leaq 0x128(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x28(%rbp), %rsi
movq 0x30(%rbp), %rdx
addq %rsi, %rdx
leaq 0x118(%rsp), %rdi
callq 0xdd86
testb %r13b, %r13b
jns 0x7230c
leaq 0x118(%rsp), %rdi
callq 0x6e493
movl %r13d, %eax
sarb $0x7, %al
movl %r13d, %ecx
xorb %al, %cl
subb %al, %cl
movzbl %cl, %r14d
leaq 0xf8(%rsp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x1(%r14), %rax
cmpq 0x120(%rsp), %rax
jae 0x729d5
movq %r13, 0x1a0(%rsp)
decq %r14
movq %rbp, 0x198(%rsp)
leaq 0x8(%rbp), %rax
movq %rax, 0x108(%rsp)
movzbl %r15b, %r13d
leaq 0x45628(%rip), %rax     # 0xb7998
addq $0x10, %rax
movq %rax, 0x190(%rsp)
movq %r14, %rbx
movq 0x118(%rsp), %rdi
addq %r14, %rdi
movl %r13d, %esi
movl $0x1, %edx
callq 0x6e54f
movl %eax, %ebp
movq 0x47840(%rip), %rcx     # 0xb9be0
movq 0xf0(%rsp), %rax
cmpb (%rcx), %bpl
jne 0x7245c
cmpq 0x110(%rsp), %rax
jb 0x72970
movq 0x198(%rsp), %rbp
movq 0x30(%rbp), %r15
movq %r15, %r12
subq %r14, %r12
subq %rbx, %r15
cmpb $0x0, 0x1a0(%rsp)
cmovnsq %rbx, %r12
cmovnsq %r14, %r15
movq 0x108(%rsp), %rdi
movl $0x20, %esi
xorl %edx, %edx
callq 0xb760
cmpq $-0x1, %rax
jne 0x72402
movq 0x10(%rbp), %rax
leaq 0xc8(%rsp), %rdi
movq 0x108(%rsp), %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0xb5d0
leaq 0xc8(%rsp), %rdi
leaq 0x25500(%rip), %rsi     # 0x9792b
callq 0xbb10
leaq 0x70(%rsp), %rbx
movq %rbx, 0x60(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x724cf
movq %rdx, 0x60(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x70(%rsp)
jmp 0x724d5
testq %rax, %rax
je 0x7247f
movsbl %bpl, %edi
callq 0xbab0
movsbl %al, %esi
leaq 0xe8(%rsp), %rdi
callq 0xb4f0
jmp 0x72987
cmpb $0x2a, %bpl
je 0x72987
movsbl %bpl, %edi
callq 0xb840
cmpb %al, %bpl
jne 0x72987
movq 0x188(%rsp), %rax
movl $0x0, (%rax)
movl $0x1, %r8d
leaq 0xe8(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x24090(%rip), %rcx     # 0x96552
callq 0xb8f0
movq %r14, %rbx
jmp 0x72987
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, 0x68(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x1(%r12), %rbp
movl $0x1, %esi
cmpq $0xa, %rbp
jb 0x7254c
movl $0x4, %esi
movq %rbp, %rcx
cmpq $0x63, %rcx
jbe 0x72545
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0x7254a
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0x7254c
movq %rcx, %rax
movabsq $0x346dc5d63886594b, %rdx # imm = 0x346DC5D63886594B
mulq %rdx
shrq $0xb, %rdx
addl $0x4, %esi
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0x72505
addl $-0x3, %esi
jmp 0x7254c
addl $-0x2, %esi
jmp 0x7254c
decl %esi
movl %esi, %esi
leaq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
leaq 0x20(%rsp), %rdi
xorl %edx, %edx
callq 0xb670
movq 0x20(%rsp), %rdi
movl 0x28(%rsp), %esi
movq %rbp, %rdx
callq 0xfa99
movq 0x60(%rsp), %rcx
movl $0xf, %edi
cmpq %rbx, %rcx
je 0x72589
movq 0x70(%rsp), %rdi
movq 0x68(%rsp), %r8
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
movq 0xc0(%rsp), %rbx
leaq 0xb0(%rsp), %rbp
jbe 0x725ca
movl $0xf, %edi
leaq 0x30(%rsp), %r9
cmpq %r9, %rsi
je 0x725c5
movq 0x30(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x725d6
leaq 0x60(%rsp), %rdi
callq 0xb1b0
jmp 0x725e4
leaq 0x20(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xb620
movq %rbp, 0xa0(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x7260d
movq %rdx, 0xa0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xb0(%rsp)
jmp 0x72614
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0xa8(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0xa0(%rsp), %rdi
leaq 0x23871(%rip), %rsi     # 0x95eb4
callq 0xbb10
leaq 0x10(%rsp), %rsi
movq %rsi, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x7266e
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x72674
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %esi
cmpq $0xa, %r15
jb 0x726e6
movl $0x4, %esi
movq %r15, %rcx
cmpq $0x63, %rcx
jbe 0x726df
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0x726e4
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0x726e6
movq %rcx, %rax
movabsq $0x346dc5d63886594b, %rdx # imm = 0x346DC5D63886594B
mulq %rdx
shrq $0xb, %rdx
addl $0x4, %esi
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0x7269f
addl $-0x3, %esi
jmp 0x726e6
addl $-0x2, %esi
jmp 0x726e6
decl %esi
movl %esi, %esi
leaq 0x50(%rsp), %rax
movq %rax, 0x40(%rsp)
leaq 0x40(%rsp), %rdi
xorl %edx, %edx
callq 0xb670
movq 0x40(%rsp), %rdi
movl 0x48(%rsp), %esi
movq %r15, %rdx
callq 0xfa99
movq (%rsp), %rcx
movl $0xf, %edi
leaq 0x10(%rsp), %rax
cmpq %rax, %rcx
je 0x72727
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %r8
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x72758
movl $0xf, %edi
leaq 0x50(%rsp), %r9
cmpq %r9, %rsi
je 0x72753
movq 0x50(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x72762
movq %rsp, %rdi
callq 0xb1b0
jmp 0x72770
leaq 0x40(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xb620
leaq 0x90(%rsp), %rsi
movq %rsi, 0x80(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x727a1
movq %rdx, 0x80(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x90(%rsp)
jmp 0x727a7
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x88(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x138(%rsp), %r15
movq %r15, %rdi
leaq 0x80(%rsp), %rsi
leaq 0xe8(%rsp), %rdx
xorl %ecx, %ecx
callq 0x8fe0e
leaq 0x46230(%rip), %rax     # 0xb8a20
movq %rax, 0x138(%rsp)
movb $0x0, 0x181(%rsp)
movq %rbx, %rdi
movq %r15, %rsi
callq 0x8fb88
movq 0x8(%rbx), %rax
subq (%rbx), %rax
sarq $0x4, %rax
movabsq $-0x3333333333333333, %rcx # imm = 0xCCCCCCCCCCCCCCCD
imulq %rcx, %rax
cmpq $0x2, %rax
jb 0x7282e
movb $0x0, 0x18(%rbx)
leaq 0x4602b(%rip), %rax     # 0xb8860
movq %rax, 0x138(%rsp)
movq 0x160(%rsp), %rdi
leaq 0x170(%rsp), %rax
cmpq %rax, %rdi
je 0x72862
movq 0x170(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0x190(%rsp), %rax
movq %rax, 0x138(%rsp)
movq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
cmpq %rax, %rdi
leaq 0x70(%rsp), %rbx
je 0x7289c
movq 0x150(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
je 0x728c1
movq 0x90(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x728dd
movq 0x50(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x728f8
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0xa0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x72915
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x72931
movq 0x30(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0x60(%rsp), %rdi
cmpq %rbx, %rdi
je 0x72948
movq 0x70(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x7296d
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq %r12, %rbx
movq $0x0, 0xf0(%rsp)
movq 0xe8(%rsp), %rax
movb $0x0, (%rax)
leaq 0x3(%r14), %rax
addq $0x5, %r14
cmpq 0x120(%rsp), %r14
movq %rax, %r14
jb 0x7237f
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
movq 0xc0(%rsp), %rbx
leaq 0x128(%rsp), %r12
je 0x729d5
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0x118(%rsp), %rdi
cmpq %r12, %rdi
je 0x729f2
movq 0x128(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq %rbx, %rax
addq $0x1a8, %rsp            # imm = 0x1A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0xb6b0
testl %eax, %eax
jne 0x72b33
leaq 0x70(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x2562e(%rip), %rsi     # 0x98052
leaq 0x25637(%rip), %rdx     # 0x98062
leaq 0x60(%rsp), %rdi
callq 0xdc76
leaq 0xc8(%rsp), %rdi
movl $0x831, %esi            # imm = 0x831
callq 0xe1b2
leaq 0xa0(%rsp), %rdi
leaq 0x60(%rsp), %rsi
leaq 0xc8(%rsp), %rdx
callq 0xe10a
leaq 0x20769(%rip), %rsi     # 0x931d1
leaq 0xa0(%rsp), %rdi
callq 0xbb10
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x72b3d
movups (%rcx), %xmm0
movups %xmm0, (%r15)
jmp 0x72b49
callq 0xb6b0
testl %eax, %eax
jne 0x72b33
leaq 0x70(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x25598(%rip), %rsi     # 0x98052
leaq 0x255a1(%rip), %rdx     # 0x98062
leaq 0x60(%rsp), %rdi
callq 0xdc76
leaq 0xc8(%rsp), %rdi
movl $0x830, %esi            # imm = 0x830
callq 0xe1b2
leaq 0xa0(%rsp), %rdi
leaq 0x60(%rsp), %rsi
leaq 0xc8(%rsp), %rdx
callq 0xe10a
leaq 0x206d3(%rip), %rsi     # 0x931d1
leaq 0xa0(%rsp), %rdi
callq 0xbb10
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x72c2e
movups (%rcx), %xmm0
movups %xmm0, (%r15)
jmp 0x72c3a
movl $0x1, %edi
callq 0xb6d0
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x50(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x25b43(%rip), %rsi     # 0x986b5
leaq 0x25b82(%rip), %rdx     # 0x986fb
leaq 0x40(%rsp), %rdi
callq 0xdc76
leaq 0x20d27(%rip), %rsi     # 0x938b1
leaq 0x40(%rsp), %rdi
callq 0xbb10
leaq 0x30(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x72bb6
movups (%rcx), %xmm0
movups %xmm0, (%r13)
jmp 0x72bc3
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
movq 0x8(%rax), %rsi
leaq 0x20(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x80(%rsp), %rdi
movq %rsp, %rsi
callq 0xe10a
leaq 0x25b06(%rip), %rsi     # 0x986fc
leaq 0x80(%rsp), %rdi
callq 0xbb10
leaq 0x148(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x72ca7
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
jmp 0x72cba
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x50(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x25a52(%rip), %rsi     # 0x986b5
leaq 0x25a91(%rip), %rdx     # 0x986fb
leaq 0x40(%rsp), %rdi
callq 0xdc76
leaq 0x20c36(%rip), %rsi     # 0x938b1
leaq 0x40(%rsp), %rdi
callq 0xbb10
leaq 0x30(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x72cde
movups (%rcx), %xmm0
movups %xmm0, (%r13)
jmp 0x72ceb
movq %rdx, 0x138(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x148(%rsp)
movq 0x8(%rax), %rdx
leaq 0x138(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0x1155a
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
movq 0x8(%rax), %rsi
leaq 0x20(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x80(%rsp), %rdi
movq %rsp, %rsi
callq 0xe10a
leaq 0x25816(%rip), %rsi     # 0x98534
leaq 0x80(%rsp), %rdi
callq 0xbb10
leaq 0x148(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x72d4f
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
jmp 0x72d62
movq %rdx, 0x138(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x148(%rsp)
movq 0x8(%rax), %rdx
leaq 0x138(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0x1155a
jmp 0x72d8e
jmp 0x72db0
jmp 0x72dd8
jmp 0x72df6
movq %rax, %r14
movq 0x138(%rsp), %rdi
cmpq %rbp, %rdi
je 0x72db3
movq 0x148(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x72db3
movq %rax, %r14
leaq 0x90(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x72ddb
movq 0x90(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x72ddb
jmp 0x72e14
movq %rax, %r14
movq 0x20(%rsp), %rdi
cmpq %r13, %rdi
je 0x72df9
movq 0x30(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x72df9
jmp 0x72e31
movq %rax, %r14
movq 0x40(%rsp), %rdi
cmpq %r12, %rdi
je 0x72e17
movq 0x50(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x72e17
jmp 0x72e59
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x72e34
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x72e34
jmp 0x72e7f
movq %rax, %r14
leaq 0xb0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x72e5c
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x72e5c
jmp 0x72ea2
movq %rax, %r14
leaq 0xd8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x72e82
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x72e82
movq %rax, %r14
movq 0x60(%rsp), %rdi
cmpq %rbx, %rdi
je 0x73035
movq 0x70(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x73035
movq %rax, %r14
jmp 0x73035
movq %rax, %r14
jmp 0x73003
jmp 0x72eb4
movq %rax, %r14
jmp 0x73028
movq %rax, %r14
jmp 0x72f57
movq %rax, %r14
jmp 0x72f7c
movq %rax, %r14
jmp 0x72f98
movq %rax, %r14
jmp 0x72fb4
movq %rax, %r14
leaq 0x138(%rsp), %rdi
callq 0x8fa26
jmp 0x72ef1
movq %rax, %r14
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
je 0x72f1b
movq 0x90(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x72f1b
movq %rax, %r14
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x72f3c
movq 0x50(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x72f3c
movq %rax, %r14
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x72f57
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x72f7c
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x72f98
movq 0x30(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x72fb4
movq 0x70(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x72fde
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x72fde
movq %rax, %r14
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x73003
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0x118(%rsp), %rdi
leaq 0x128(%rsp), %rax
cmpq %rax, %rdi
je 0x73028
movq 0x128(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0xc0(%rsp), %rdi
callq 0x8e9d0
movq %r14, %rdi
callq 0xba60
nop