// File: /workspace/github_cpp_makefile_star2_O1/ncbi[P]amr/seq.cpp
// Function: Seq_sp::Dna::cds2prot(unsigned char, bool, bool, bool, bool) const
Peptide Dna::cds2prot (Gencode gencode,
                       bool trunc5,
                       bool trunc3,
	                     bool hasStopCodon,
	                     bool allowExtraStopCodon) const
{
  size_t translationStart = 0;
  Peptide pep (makePeptide (1 /*frame*/, gencode, true, true, translationStart));
  
  EXEC_ASSERT (trimSuffix (pep. name, ".fr1"));
  
  if (pep. seq. empty ())
    throw runtime_error (FUNC "empty sequence");
  if (! trunc5 && ! trunc3 && pep. seq. size () * 3 != seq. size ())
    throw runtime_error (FUNC "incomplete codon");  
  if (! trunc5 && pep. seq [0] != 'm')
    throw runtime_error (FUNC "no start codon");
    
  const size_t starPos = pep. seq. find ("*");
  if (hasStopCodon)
  {
  	if (starPos == string::npos)
  	{
  	  if (! trunc3)
        throw runtime_error (FUNC "no stop codon");
    }
    else
    {
  	  if (starPos == pep. seq. size () - 1)
  	  {
    	  EXEC_ASSERT (trimSuffix (pep. seq, "*"));
    	}
    	else
    	{
        if (allowExtraStopCodon)
          pep. seq. erase (starPos);
        else
          throw runtime_error (FUNC "stop codon at peptide position " + to_string (starPos + 1) + "\n" + seq. substr (starPos * 3));
      }
  	}
  }
  else
	  if (starPos != string::npos)
	    throw runtime_error (FUNC "has a stop codon");
  
  return pep;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x118, %rsp            # imm = 0x118
movl %r9d, %r15d
movl %r8d, %ebp
movl %ecx, %r12d
movl %edx, %ecx
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x110(%rsp), %rax
movq $0x0, (%rax)
movq %rax, (%rsp)
movl $0x1, %edx
movl $0x1, %r8d
movl $0x1, %r9d
callq 0x704a0
leaq 0x20(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x26f88(%rip), %rsi     # 0x985c7
leaq 0x26f85(%rip), %rdx     # 0x985cb
leaq 0x10(%rsp), %rdi
callq 0xdc76
leaq 0x8(%rbx), %rdi
leaq 0x10(%rsp), %rsi
callq 0x136ef
movl %eax, %r13d
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x7167d
movq 0x20(%rsp), %rsi
incq %rsi
callq 0xb5a0
testb %r13b, %r13b
je 0x71917
movq 0x30(%rbx), %rax
testq %rax, %rax
je 0x719b8
movl %r12d, %ecx
orb %bpl, %cl
jne 0x716a9
leaq (%rax,%rax,2), %rax
cmpq 0x30(%r14), %rax
jne 0x71a2f
leaq 0x28(%rbx), %r13
testb %r12b, %r12b
jne 0x716bf
movq (%r13), %rax
cmpb $0x6d, (%rax)
jne 0x71a9c
leaq 0x221a5(%rip), %rsi     # 0x9386b
movl $0x1, %ecx
movq %r13, %rdi
xorl %edx, %edx
callq 0xba30
movq %rax, %r12
testb %r15b, %r15b
je 0x717f1
cmpq $-0x1, %r12
je 0x71868
movq 0x30(%rbx), %rcx
leaq -0x1(%rcx), %rax
cmpq %rax, %r12
jne 0x718de
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
movq %rax, (%rdi)
leaq 0x2215b(%rip), %rsi     # 0x9386b
leaq 0x22155(%rip), %rdx     # 0x9386c
callq 0xdc76
leaq 0x10(%rsp), %rsi
movq %r13, %rdi
callq 0x136ef
movl %eax, %ebp
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x71747
movq 0x20(%rsp), %rsi
incq %rsi
callq 0xb5a0
testb %bpl, %bpl
jne 0x71902
callq 0xb6b0
testl %eax, %eax
jne 0x71a25
leaq 0xa0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x268f2(%rip), %rsi     # 0x98062
leaq 0x268fb(%rip), %rdx     # 0x98072
leaq 0x90(%rsp), %rdi
callq 0xdc76
leaq 0xd0(%rsp), %rdi
movl $0x818, %esi            # imm = 0x818
callq 0xe1a8
leaq 0xb0(%rsp), %rdi
leaq 0x90(%rsp), %rsi
leaq 0xd0(%rsp), %rdx
callq 0xe100
leaq 0x21a17(%rip), %rsi     # 0x931d1
leaq 0xb0(%rsp), %rdi
callq 0xbb10
leaq 0x60(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x71f3b
movups (%rcx), %xmm0
movups %xmm0, (%r12)
jmp 0x71f48
cmpq $-0x1, %r12
je 0x71902
movl $0x10, %edi
callq 0xb2d0
movq %rax, %r15
leaq 0x40(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x26db3(%rip), %rsi     # 0x985cc
leaq 0x26df0(%rip), %rdx     # 0x98610
leaq 0x30(%rsp), %rdi
callq 0xdc76
leaq 0x26e81(%rip), %rsi     # 0x986b2
leaq 0x30(%rsp), %rdi
callq 0xbb10
leaq 0x20(%rsp), %rcx
movq %rcx, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x71c87
movups (%rcx), %xmm0
leaq 0x20(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x71c94
testb %bpl, %bpl
jne 0x71902
movl $0x10, %edi
callq 0xb2d0
movq %rax, %r15
leaq 0x40(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x26d3d(%rip), %rsi     # 0x985cc
leaq 0x26d7a(%rip), %rdx     # 0x98610
leaq 0x30(%rsp), %rdi
callq 0xdc76
leaq 0x26dbe(%rip), %rsi     # 0x98665
leaq 0x30(%rsp), %rdi
callq 0xbb10
leaq 0x20(%rsp), %rcx
movq %rcx, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x71cd8
movups (%rcx), %xmm0
leaq 0x20(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x71ce5
cmpb $0x0, 0x150(%rsp)
je 0x71b09
cmpq %r12, %rcx
jb 0x71b7c
movq %r12, 0x30(%rbx)
movq 0x28(%rbx), %rax
movb $0x0, (%rax,%r12)
movq %rbx, %rax
addq $0x118, %rsp            # imm = 0x118
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0xb6b0
testl %eax, %eax
jne 0x71a25
leaq 0xa0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2672b(%rip), %rsi     # 0x98062
leaq 0x26734(%rip), %rdx     # 0x98072
leaq 0x90(%rsp), %rdi
callq 0xdc76
leaq 0xd0(%rsp), %rdi
movl $0x803, %esi            # imm = 0x803
callq 0xe1a8
leaq 0xb0(%rsp), %rdi
leaq 0x90(%rsp), %rsi
leaq 0xd0(%rsp), %rdx
callq 0xe100
leaq 0x21850(%rip), %rsi     # 0x931d1
leaq 0xb0(%rsp), %rdi
callq 0xbb10
leaq 0x60(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x71dc0
movups (%rcx), %xmm0
movups %xmm0, (%r12)
jmp 0x71dcd
movl $0x10, %edi
callq 0xb2d0
movq %rax, %r15
leaq 0x40(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x26bf6(%rip), %rsi     # 0x985cc
leaq 0x26c33(%rip), %rdx     # 0x98610
leaq 0x30(%rsp), %rdi
callq 0xdc76
leaq 0x26c42(%rip), %rsi     # 0x98630
leaq 0x30(%rsp), %rdi
callq 0xbb10
leaq 0x20(%rsp), %rcx
movq %rcx, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x71b94
movups (%rcx), %xmm0
leaq 0x20(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x71ba1
movl $0x1, %edi
callq 0xb6d0
movl $0x10, %edi
callq 0xb2d0
movq %rax, %r15
leaq 0x40(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x26b7f(%rip), %rsi     # 0x985cc
leaq 0x26bbc(%rip), %rdx     # 0x98610
leaq 0x30(%rsp), %rdi
callq 0xdc76
leaq 0x26bdc(%rip), %rsi     # 0x98641
leaq 0x30(%rsp), %rdi
callq 0xbb10
leaq 0x20(%rsp), %rcx
movq %rcx, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x71be5
movups (%rcx), %xmm0
leaq 0x20(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x71bf2
movl $0x10, %edi
callq 0xb2d0
movq %rax, %r15
leaq 0x40(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x26b12(%rip), %rsi     # 0x985cc
leaq 0x26b4f(%rip), %rdx     # 0x98610
leaq 0x30(%rsp), %rdi
callq 0xdc76
leaq 0x26b82(%rip), %rsi     # 0x98654
leaq 0x30(%rsp), %rdi
callq 0xbb10
leaq 0x20(%rsp), %rcx
movq %rcx, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x71c36
movups (%rcx), %xmm0
leaq 0x20(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x71c43
movl $0x10, %edi
callq 0xb2d0
movq %rax, %r15
leaq 0xa0(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x26aa3(%rip), %rsi     # 0x985cc
leaq 0x26ae0(%rip), %rdx     # 0x98610
leaq 0x90(%rsp), %rdi
callq 0xdc76
leaq 0x26b4c(%rip), %rsi     # 0x98690
leaq 0x90(%rsp), %rdi
callq 0xbb10
leaq 0xc0(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x71d29
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
jmp 0x71d3c
leaq 0x2437b(%rip), %rdi     # 0x95efe
leaq 0x24408(%rip), %rsi     # 0x95f92
movq %r12, %rdx
xorl %eax, %eax
callq 0xb8c0
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
movq 0x8(%rax), %rdx
leaq 0x10(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movb $0x1, %bpl
movq %r15, %rdi
callq 0xb960
xorl %ebp, %ebp
movq 0x4741f(%rip), %rsi     # 0xb8ff0
movq 0x47398(%rip), %rdx     # 0xb8f70
movq %r15, %rdi
callq 0xba00
jmp 0x71f3b
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
movq 0x8(%rax), %rdx
leaq 0x10(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movb $0x1, %bpl
movq %r15, %rdi
callq 0xb960
xorl %ebp, %ebp
movq 0x473ce(%rip), %rsi     # 0xb8ff0
movq 0x47347(%rip), %rdx     # 0xb8f70
movq %r15, %rdi
callq 0xba00
jmp 0x71f3b
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
movq 0x8(%rax), %rdx
leaq 0x10(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movb $0x1, %bpl
movq %r15, %rdi
callq 0xb960
xorl %ebp, %ebp
movq 0x4737d(%rip), %rsi     # 0xb8ff0
movq 0x472f6(%rip), %rdx     # 0xb8f70
movq %r15, %rdi
callq 0xba00
jmp 0x71f3b
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
movq 0x8(%rax), %rdx
leaq 0x10(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movb $0x1, %bpl
movq %r15, %rdi
callq 0xb960
xorl %ebp, %ebp
movq 0x4732c(%rip), %rsi     # 0xb8ff0
movq 0x472a5(%rip), %rdx     # 0xb8f70
movq %r15, %rdi
callq 0xba00
jmp 0x71f3b
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
movq 0x8(%rax), %rdx
leaq 0x10(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movb $0x1, %bpl
movq %r15, %rdi
callq 0xb960
xorl %ebp, %ebp
movq 0x472db(%rip), %rsi     # 0xb8ff0
movq 0x47254(%rip), %rdx     # 0xb8f70
movq %r15, %rdi
callq 0xba00
jmp 0x71f3b
movq %rdx, 0xb0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xc0(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0xb8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x1(%r12), %rsi
leaq 0xd0(%rsp), %rdi
callq 0xeb65
leaq 0x50(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
leaq 0xd0(%rsp), %rdx
callq 0xe100
leaq 0x23b07(%rip), %rsi     # 0x95891
leaq 0x50(%rsp), %rdi
callq 0xbb10
leaq 0x40(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x71ebd
movups (%rcx), %xmm0
leaq 0x40(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x71eca
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x58(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x100(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x267d4(%rip), %rsi     # 0x985cc
leaq 0x26811(%rip), %rdx     # 0x98610
leaq 0xf0(%rsp), %rdi
callq 0xdc76
leaq 0x21a9e(%rip), %rsi     # 0x938b1
leaq 0xf0(%rsp), %rdi
callq 0xbb10
leaq 0x80(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x71e44
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
jmp 0x71e54
movq %rdx, 0x70(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x80(%rsp)
movq 0x8(%rax), %rsi
leaq 0x70(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0xe100
leaq 0x2678b(%rip), %rsi     # 0x98611
leaq 0x30(%rsp), %rdi
callq 0xbb10
leaq 0x20(%rsp), %rcx
movq %rcx, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x71fbf
movups (%rcx), %xmm0
leaq 0x20(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x71fcc
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x38(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
addq $0x28, %r14
leaq (%r12,%r12,2), %rdx
leaq 0x70(%rsp), %rdi
movq %r14, %rsi
movq $-0x1, %rcx
callq 0xb5d0
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
leaq 0x70(%rsp), %rdx
callq 0xe100
movb $0x1, %r12b
leaq 0x10(%rsp), %rsi
movq %r15, %rdi
callq 0xb960
xorl %r12d, %r12d
movq 0x470c4(%rip), %rsi     # 0xb8ff0
movq 0x4703d(%rip), %rdx     # 0xb8f70
movq %r15, %rdi
callq 0xba00
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x58(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x100(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x26659(%rip), %rsi     # 0x985cc
leaq 0x26696(%rip), %rdx     # 0x98610
leaq 0xf0(%rsp), %rdi
callq 0xdc76
leaq 0x21923(%rip), %rsi     # 0x938b1
leaq 0xf0(%rsp), %rdi
callq 0xbb10
leaq 0x80(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x71fed
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
jmp 0x71ffd
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
movq 0x8(%rax), %rdx
leaq 0x10(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0x1151b
movq %rdx, 0x70(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x80(%rsp)
movq 0x8(%rax), %rsi
leaq 0x70(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0xe100
leaq 0x26646(%rip), %rsi     # 0x98675
leaq 0x30(%rsp), %rdi
callq 0xbb10
leaq 0x20(%rsp), %rcx
movq %rcx, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x7205f
movups (%rcx), %xmm0
leaq 0x20(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x7206c
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
movq 0x8(%rax), %rdx
leaq 0x10(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0x1151b
jmp 0x720e5
jmp 0x72106
jmp 0x7214f
jmp 0x72196
movq %rax, %r14
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x720c2
movq 0x20(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x720c2
movq %rax, %r14
movb $0x1, %r12b
leaq 0x80(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x72131
movq 0x80(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x72131
movq %rax, %r14
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x72109
movq 0x20(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x72109
movq %rax, %r14
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x72152
movq 0x40(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x72152
jmp 0x721e6
movq %rax, %r14
movb $0x1, %r12b
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x72179
movq 0x40(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x72179
movq %rax, %r14
movq 0x70(%rsp), %rdi
cmpq %rbp, %rdi
je 0x72199
movq 0x80(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x72199
jmp 0x7222c
movq %rax, %r14
movb $0x1, %r12b
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x721c3
movq 0x60(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x721c3
movq %rax, %r14
movq 0xf0(%rsp), %rdi
cmpq %r13, %rdi
je 0x721e9
movq 0x100(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x721e9
jmp 0x72283
movq %rax, %r14
movb $0x1, %r12b
leaq 0xe0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x7220d
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x7220d
movq %rax, %r14
movq 0x50(%rsp), %rdi
cmpq %r12, %rdi
je 0x7222f
movq 0x60(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x7222f
jmp 0x722cb
movq %rax, %r14
movb $0x1, %r12b
movq 0xb0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x7225d
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x7225d
movq %rax, %r14
leaq 0xc0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x72286
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x72286
jmp 0x72370
movq %rax, %r14
movb $0x1, %r12b
movq 0x90(%rsp), %rdi
cmpq %r13, %rdi
je 0x722af
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x722af
jmp 0x722f8
jmp 0x72319
movq %rax, %r14
leaq 0xe0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x722ce
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x722ce
movq %rax, %r14
movb $0x1, %r12b
testb %r12b, %r12b
jne 0x72345
jmp 0x72373
jmp 0x7233a
jmp 0x722f8
jmp 0x72319
jmp 0x722f8
jmp 0x72319
jmp 0x722f8
jmp 0x72319
movq %rax, %r14
movq 0x90(%rsp), %rdi
cmpq %r15, %rdi
je 0x72373
movq 0xa0(%rsp), %rsi
jmp 0x72366
jmp 0x72370
jmp 0x7234f
jmp 0x72370
jmp 0x7233a
jmp 0x7233a
jmp 0x7233a
movq %rax, %r14
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x7231f
movq 0x20(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x7231f
movq %rax, %r14
movb $0x1, %bpl
movq 0x30(%rsp), %rdi
cmpq %r12, %rdi
je 0x72340
movq 0x40(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x72340
jmp 0x72370
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x72373
movq %r15, %rdi
callq 0xb440
jmp 0x72373
movq %rax, %r14
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x72373
movq 0x20(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x72373
movq %rax, %r14
movq %rbx, %rdi
callq 0x8fdca
movq %r14, %rdi
callq 0xba60
nop