// File: /workspace/github_cpp_makefile_star2_O3/ncbi[P]amr/alignment.cpp
// Function: Alignment_sp::Alignment::refMutation2refSeq_pos()
size_t Alignment::refMutation2refSeq_pos ()
{
  ASSERT (! refMutation. empty ());
  
  if (   refMutation. pos_real < refStart
      || refMutation. pos_real + refMutation. allele. size () > refEnd
     )
    return no_index;
    
  size_t pos = refStart;
  size_t frameshift_i = no_index;
	size_t i = 0;
	while (i < refSeq. size ())
	{
	  ASSERT (pos <= refMutation. pos_real);
	  if (refSeq [i] != '-')
	  {
      if (pos == refMutation. pos_real)
      {
        if (   refSeq.    substr (i, refMutation. allele. size ()) == refMutation. allele
            && targetSeq. substr (i, refMutation. allele. size ()) == refMutation. allele
            && (pos == 0 || (i > 0 && refSeq [i - 1] == targetSeq [i - 1]))
           )
        {
          if (refMutation. frameshift != no_index) 
          {
            frameshift_i = i;
            i += refMutation. allele. size ();
            pos = refMutation. getStop ();
            break;
          }
          const size_t alignStop = i   + refMutation. allele. size ();
          const size_t refStop   = pos + refMutation. allele. size ();
          ASSERT (alignStop <= refSeq. size ());
          if (refStop == refLen || refSeq [alignStop] == targetSeq [alignStop])
            return i;
        }
        return no_index;
      }
  	  pos++;
    }
    i++;
	}

	while (i < refSeq. size ())
	{
	  ASSERT (frameshift_i != no_index);
	  if (refSeq [i] != '-')
	  {
	  #if 0
	    PRINT (i);
	    PRINT (pos);
	    PRINT (refMutation. getStop ());
	    PRINT (refMutation. frameshift);
	    PRINT (refSeq    [i]);
	    PRINT (targetSeq [i]);	    
	  #endif
	    ASSERT (refMutation. getStop ());
	    if (pos == refMutation. getStop () - 1 + refMutation. frameshift)
	    {
	      if (   refSeq    [i] == '*'
	          && targetSeq [i] == '*'
	         )
	        return frameshift_i;
	      return no_index;
	    } 
  	  pos++;
    }
    i++;
	}

  return no_index;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x108, %rsp            # imm = 0x108
movq %rdi, %rbx
callq 0xb070
movl $0x0, (%rax)
cmpq $0x0, 0xe8(%rbx)
je 0x63837
movq %rax, %r14
movq 0xb8(%rbx), %rdx
movq 0xd8(%rbx), %r13
movq $-0x1, %rax
cmpq %rdx, %r13
jb 0x63596
movq 0x128(%rbx), %rcx
leaq (%rcx,%r13), %rsi
cmpq 0xc0(%rbx), %rsi
ja 0x63596
movq 0xa0(%rbx), %rax
testq %rax, %rax
je 0x634d6
leaq 0x98(%rbx), %r12
movq (%r12), %rsi
xorl %r15d, %r15d
movl $0x0, (%r14)
cmpq %r13, %rdx
ja 0x636f9
cmpb $0x2d, (%rsi,%r15)
je 0x634c9
cmpq %r13, %rdx
je 0x6353e
incq %rdx
incq %r15
cmpq %r15, %rax
jne 0x634aa
jmp 0x6358f
xorl %esi, %esi
movq $-0x1, %rax
xorl %ecx, %ecx
cmpq %rsi, %rcx
jae 0x6358f
movq 0x98(%rbx), %rdi
movq 0x108(%rbx), %r8
addq 0xd8(%rbx), %r8
movq 0x168(%rbx), %r9
addq %r8, %r9
decq %r9
movl $0x0, (%r14)
cmpq $-0x1, %rax
je 0x63798
cmpb $0x2d, (%rdi,%rcx)
je 0x63534
testq %r8, %r8
je 0x638d6
cmpq %r9, %rdx
je 0x6357f
incq %rdx
incq %rcx
cmpq %rcx, %rsi
jne 0x6350c
jmp 0x6358f
movq %rsp, %rbp
movq %rbp, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0xb5d0
movq 0x8(%rbp), %rbp
cmpq 0x128(%rbx), %rbp
jne 0x63578
testq %rbp, %rbp
je 0x635a8
movq 0x120(%rbx), %rsi
movq (%rsp), %rdi
movq %rbp, %rdx
callq 0xb5c0
testl %eax, %eax
je 0x635a8
xorl %ebp, %ebp
jmp 0x63645
cmpb $0x2a, (%rdi,%rcx)
jne 0x6358f
movq 0x30(%rbx), %rdx
cmpb $0x2a, (%rdx,%rcx)
je 0x63596
movq $-0x1, %rax
addq $0x108, %rsp            # imm = 0x108
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x30(%rbx), %rsi
leaq 0xa0(%rsp), %rdi
movq %rsi, 0x100(%rsp)
movq %r15, %rdx
movq %rbp, %rcx
callq 0xb5d0
movq 0xa8(%rsp), %rdx
cmpq 0x128(%rbx), %rdx
jne 0x63622
testq %rdx, %rdx
je 0x635f5
movq 0x120(%rbx), %rsi
movq 0xa0(%rsp), %rdi
callq 0xb5c0
testl %eax, %eax
jne 0x63622
testq %r13, %r13
je 0x636f1
testq %r15, %r15
je 0x63622
movq (%r12), %rax
movb -0x1(%rax,%r15), %al
movq 0x100(%rsp), %rcx
movq (%rcx), %rcx
cmpb -0x1(%rcx,%r15), %al
sete %bpl
jmp 0x63624
xorl %ebp, %ebp
leaq 0xb0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x63645
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0xb5a0
leaq 0x10(%rsp), %r12
movq -0x10(%r12), %rdi
cmpq %r12, %rdi
je 0x63661
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq $-0x1, %rax
testb %bpl, %bpl
je 0x63596
movq 0x128(%rbx), %rax
leaq (%rax,%r15), %rcx
cmpq $-0x1, 0x168(%rbx)
je 0x636a3
movq 0xa0(%rbx), %rsi
movq 0x108(%rbx), %rdx
addq 0xd8(%rbx), %rdx
movq %r15, %rax
jmp 0x634e1
movl $0x0, (%r14)
cmpq 0xa0(%rbx), %rcx
ja 0x63b6f
addq %rax, %r13
cmpq 0xc8(%rbx), %r13
jne 0x636cb
movq %r15, %rax
jmp 0x63596
movq 0x98(%rbx), %rcx
addq %rax, %rcx
movb (%r15,%rcx), %cl
addq 0x30(%rbx), %rax
cmpb (%r15,%rax), %cl
movq $-0x1, %rax
cmoveq %r15, %rax
jmp 0x63596
movb $0x1, %bpl
jmp 0x63624
callq 0xb6b0
testl %eax, %eax
jne 0x63c0e
leaq 0x90(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x338ff(%rip), %rsi     # 0x97018
leaq 0x3390e(%rip), %rdx     # 0x9702e
leaq 0x80(%rsp), %rdi
callq 0xdc76
leaq 0xc0(%rsp), %rdi
movl $0x379, %esi            # imm = 0x379
callq 0xe1b2
leaq 0xe0(%rsp), %rdi
leaq 0x80(%rsp), %rsi
leaq 0xc0(%rsp), %rdx
callq 0xe10a
leaq 0x2fa6e(%rip), %rsi     # 0x931d1
leaq 0xe0(%rsp), %rdi
callq 0xbb10
leaq 0x30(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x63975
movups (%rcx), %xmm0
movups %xmm0, (%r15)
jmp 0x63982
callq 0xb6b0
testl %eax, %eax
jne 0x63c0e
leaq 0x90(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x33860(%rip), %rsi     # 0x97018
leaq 0x3386f(%rip), %rdx     # 0x9702e
leaq 0x80(%rsp), %rdi
callq 0xdc76
leaq 0xc0(%rsp), %rdi
movl $0x399, %esi            # imm = 0x399
callq 0xe1b2
leaq 0xe0(%rsp), %rdi
leaq 0x80(%rsp), %rsi
leaq 0xc0(%rsp), %rdx
callq 0xe10a
leaq 0x2f9cf(%rip), %rsi     # 0x931d1
leaq 0xe0(%rsp), %rdi
callq 0xbb10
leaq 0x30(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x639f6
movups (%rcx), %xmm0
movups %xmm0, (%r15)
jmp 0x63a03
callq 0xb6b0
testl %eax, %eax
jne 0x63c0e
leaq 0x90(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x337c1(%rip), %rsi     # 0x97018
leaq 0x337d0(%rip), %rdx     # 0x9702e
leaq 0x80(%rsp), %rdi
callq 0xdc76
leaq 0xc0(%rsp), %rdi
movl $0x36d, %esi            # imm = 0x36D
callq 0xe1b2
leaq 0xe0(%rsp), %rdi
leaq 0x80(%rsp), %rsi
leaq 0xc0(%rsp), %rdx
callq 0xe10a
leaq 0x2f930(%rip), %rsi     # 0x931d1
leaq 0xe0(%rsp), %rdi
callq 0xbb10
leaq 0x30(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x63a77
movups (%rcx), %xmm0
movups %xmm0, (%r15)
jmp 0x63a84
callq 0xb6b0
testl %eax, %eax
jne 0x63c0e
leaq 0x90(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x33722(%rip), %rsi     # 0x97018
leaq 0x33731(%rip), %rdx     # 0x9702e
leaq 0x80(%rsp), %rdi
callq 0xdc76
leaq 0xc0(%rsp), %rdi
movl $0x3a4, %esi            # imm = 0x3A4
callq 0xe1b2
leaq 0xe0(%rsp), %rdi
leaq 0x80(%rsp), %rsi
leaq 0xc0(%rsp), %rdx
callq 0xe10a
leaq 0x2f891(%rip), %rsi     # 0x931d1
leaq 0xe0(%rsp), %rdi
callq 0xbb10
leaq 0x30(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x63c18
movups (%rcx), %xmm0
movups %xmm0, (%r15)
jmp 0x63c25
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x70(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x34005(%rip), %rsi     # 0x979b0
leaq 0x34036(%rip), %rdx     # 0x979e8
leaq 0x60(%rsp), %rdi
callq 0xdc76
leaq 0x2feee(%rip), %rsi     # 0x938b1
leaq 0x60(%rsp), %rdi
callq 0xbb10
leaq 0x50(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x63af8
movups (%rcx), %xmm0
movups %xmm0, (%r13)
jmp 0x63b05
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x70(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x33f84(%rip), %rsi     # 0x979b0
leaq 0x33fb5(%rip), %rdx     # 0x979e8
leaq 0x60(%rsp), %rdi
callq 0xdc76
leaq 0x2fe6d(%rip), %rsi     # 0x938b1
leaq 0x60(%rsp), %rdi
callq 0xbb10
leaq 0x50(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x63c99
movups (%rcx), %xmm0
movups %xmm0, (%r13)
jmp 0x63ca6
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x70(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x33f03(%rip), %rsi     # 0x979b0
leaq 0x33f34(%rip), %rdx     # 0x979e8
leaq 0x60(%rsp), %rdi
callq 0xdc76
leaq 0x2fdec(%rip), %rsi     # 0x938b1
leaq 0x60(%rsp), %rdi
callq 0xbb10
leaq 0x50(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x63d10
movups (%rcx), %xmm0
movups %xmm0, (%r13)
jmp 0x63d1d
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
movq 0x8(%rax), %rsi
leaq 0x40(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xa0(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xe10a
leaq 0x33ec7(%rip), %rsi     # 0x97a01
leaq 0xa0(%rsp), %rdi
callq 0xbb10
leaq 0x10(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x63d87
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
jmp 0x63d93
callq 0xb6b0
testl %eax, %eax
jne 0x63c0e
leaq 0x90(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x33489(%rip), %rsi     # 0x97018
leaq 0x33498(%rip), %rdx     # 0x9702e
leaq 0x80(%rsp), %rdi
callq 0xdc76
leaq 0xc0(%rsp), %rdi
movl $0x38c, %esi            # imm = 0x38C
callq 0xe1b2
leaq 0xe0(%rsp), %rdi
leaq 0x80(%rsp), %rsi
leaq 0xc0(%rsp), %rdx
callq 0xe10a
leaq 0x2f5f8(%rip), %rsi     # 0x931d1
leaq 0xe0(%rsp), %rdi
callq 0xbb10
leaq 0x30(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x63ea3
movups (%rcx), %xmm0
movups %xmm0, (%r15)
jmp 0x63eb0
movl $0x1, %edi
callq 0xb6d0
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x70(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x33d62(%rip), %rsi     # 0x979b0
leaq 0x33d93(%rip), %rdx     # 0x979e8
leaq 0x60(%rsp), %rdi
callq 0xdc76
leaq 0x2fc4b(%rip), %rsi     # 0x938b1
leaq 0x60(%rsp), %rdi
callq 0xbb10
leaq 0x50(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x63db2
movups (%rcx), %xmm0
movups %xmm0, (%r13)
jmp 0x63dbf
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
movq 0x8(%rax), %rsi
leaq 0x40(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xa0(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xe10a
leaq 0x33d60(%rip), %rsi     # 0x97a3b
leaq 0xa0(%rsp), %rdi
callq 0xbb10
leaq 0x10(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x63e22
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
jmp 0x63e2e
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
movq 0x8(%rax), %rsi
leaq 0x40(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xa0(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xe10a
leaq 0x33c97(%rip), %rsi     # 0x979e9
leaq 0xa0(%rsp), %rdi
callq 0xbb10
leaq 0x10(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x63e4d
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
jmp 0x63e59
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
movq 0x8(%rax), %rdx
movq %rsp, %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0x1155a
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
movq 0x8(%rax), %rsi
leaq 0x40(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xa0(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xe10a
leaq 0x33c60(%rip), %rsi     # 0x97a54
leaq 0xa0(%rsp), %rdi
callq 0xbb10
leaq 0x10(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x63e78
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
jmp 0x63e84
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
movq 0x8(%rax), %rdx
movq %rsp, %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0x1155a
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
movq 0x8(%rax), %rdx
movq %rsp, %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0x1155a
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
movq 0x8(%rax), %rdx
movq %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), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x70(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x33ad8(%rip), %rsi     # 0x979b0
leaq 0x33b09(%rip), %rdx     # 0x979e8
leaq 0x60(%rsp), %rdi
callq 0xdc76
leaq 0x2f9c1(%rip), %rsi     # 0x938b1
leaq 0x60(%rsp), %rdi
callq 0xbb10
leaq 0x50(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x63f1b
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
jmp 0x63f28
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
movq 0x8(%rax), %rsi
leaq 0x40(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xa0(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xe10a
leaq 0x33ac1(%rip), %rsi     # 0x97a1e
leaq 0xa0(%rsp), %rdi
callq 0xbb10
movq %r12, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x63f87
movups (%rcx), %xmm0
movups %xmm0, (%r12)
jmp 0x63f93
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
movq 0x8(%rax), %rdx
movq %rsp, %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0x1155a
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x63fd0
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x63fd0
movq %rax, %rbx
leaq 0xb0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x63ff6
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x63ff6
movq %rax, %rbx
movq 0x40(%rsp), %rdi
cmpq %rbp, %rdi
je 0x64012
movq 0x50(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x64012
movq %rax, %rbx
movq 0x60(%rsp), %rdi
cmpq %r13, %rdi
jne 0x640ea
jmp 0x64102
jmp 0x640ff
jmp 0x64121
jmp 0x6414d
jmp 0x64055
jmp 0x64070
jmp 0x64177
jmp 0x64055
jmp 0x64070
jmp 0x64055
jmp 0x64070
jmp 0x6409c
jmp 0x64199
jmp 0x6409c
jmp 0x6409c
jmp 0x640dd
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x64073
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x64073
movq %rax, %rbx
leaq 0xb0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6409f
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x6409f
jmp 0x640dd
jmp 0x640dd
jmp 0x640ff
movq %rax, %rbx
movq 0x40(%rsp), %rdi
cmpq %r13, %rdi
je 0x640e0
movq 0x50(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x640e0
jmp 0x640ff
movq %rax, %rbx
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6419c
movq 0x10(%rsp), %rsi
jmp 0x6418f
jmp 0x640ff
jmp 0x64121
movq %rax, %rbx
movq 0x60(%rsp), %rdi
cmpq %r12, %rdi
je 0x64102
movq 0x70(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x64102
jmp 0x64121
jmp 0x64121
jmp 0x6414d
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %r15, %rdi
je 0x64124
movq 0x30(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x64124
jmp 0x6414d
jmp 0x6414d
jmp 0x64177
movq %rax, %rbx
leaq 0xf0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x64150
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x64150
jmp 0x64177
jmp 0x64177
jmp 0x64199
movq %rax, %rbx
leaq 0xd0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6417a
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x6417a
jmp 0x64199
jmp 0x64199
movq %rax, %rbx
movq 0x80(%rsp), %rdi
cmpq %r14, %rdi
je 0x6419c
movq 0x90(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x6419c
movq %rax, %rbx
movq %rbx, %rdi
callq 0xba60