// File: 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:
subq $0x6c8, %rsp            # imm = 0x6C8
movq %rdi, 0x6b8(%rsp)
movq 0x6b8(%rsp), %rax
movq %rax, 0xe0(%rsp)
callq 0xd0a0
movq 0xe0(%rsp), %rdi
movl $0x0, (%rax)
addq $0xd0, %rdi
callq 0xa3be0
testb $0x1, %al
jne 0x9d7a7
jmp 0x9da3a
callq 0xd8c0
cmpl $0x0, %eax
jne 0x9da30
leaq 0x617(%rsp), %rdi
movq %rdi, 0xd8(%rsp)
callq 0xdd50
movq 0xd8(%rsp), %rdx
leaq 0x49997(%rip), %rsi     # 0xe7170
leaq 0x618(%rsp), %rdi
callq 0xfae0
jmp 0x9d7e8
leaq 0x5e0(%rsp), %rdi
movl $0x36d, %esi            # imm = 0x36D
callq 0x11600
jmp 0x9d7fc
leaq 0x638(%rsp), %rdi
leaq 0x618(%rsp), %rsi
leaq 0x5e0(%rsp), %rdx
callq 0x11510
jmp 0x9d81b
leaq 0x459af(%rip), %rdx     # 0xe31d1
leaq 0x658(%rsp), %rdi
leaq 0x638(%rsp), %rsi
callq 0x114c0
jmp 0x9d839
leaq 0x59f(%rsp), %rdi
movq %rdi, 0xd0(%rsp)
callq 0xdd50
movq 0xd0(%rsp), %rdx
leaq 0x4a2ab(%rip), %rsi     # 0xe7b08
leaq 0x5a0(%rsp), %rdi
callq 0xfae0
jmp 0x9d86c
leaq 0x46131(%rip), %rdx     # 0xe39a4
leaq 0x5c0(%rsp), %rdi
leaq 0x5a0(%rsp), %rsi
callq 0x114c0
jmp 0x9d88a
leaq 0x678(%rsp), %rdi
leaq 0x658(%rsp), %rsi
leaq 0x5c0(%rsp), %rdx
callq 0x11510
jmp 0x9d8a9
leaq 0x4a291(%rip), %rdx     # 0xe7b41
leaq 0x698(%rsp), %rdi
leaq 0x678(%rsp), %rsi
callq 0x114c0
jmp 0x9d8c7
leaq 0x698(%rsp), %rdi
callq 0x173d0
jmp 0x9d8d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9da1e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9da11
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9da04
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9d9f7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9d9dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9d9d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9d9c3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9d9b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
leaq 0x698(%rsp), %rdi
callq 0xdf08
leaq 0x678(%rsp), %rdi
callq 0xdf08
leaq 0x5c0(%rsp), %rdi
callq 0xdf08
leaq 0x5a0(%rsp), %rdi
callq 0xdf08
leaq 0x59f(%rsp), %rdi
callq 0xd7a0
leaq 0x658(%rsp), %rdi
callq 0xdf08
leaq 0x638(%rsp), %rdi
callq 0xdf08
leaq 0x5e0(%rsp), %rdi
callq 0xdf08
leaq 0x618(%rsp), %rdi
callq 0xdf08
leaq 0x617(%rsp), %rdi
callq 0xd7a0
jmp 0x9eb79
movl $0x1, %edi
callq 0xd8e0
movq 0xe0(%rsp), %rcx
movq 0xd8(%rcx), %rax
cmpq 0xb8(%rcx), %rax
jb 0x9da98
movq 0xe0(%rsp), %rdi
movq 0xd8(%rdi), %rax
movq %rax, 0xc8(%rsp)
addq $0xd0, %rdi
addq $0x50, %rdi
callq 0xd520
movq 0xe0(%rsp), %rcx
movq %rax, %rdx
movq 0xc8(%rsp), %rax
addq %rdx, %rax
cmpq 0xc0(%rcx), %rax
jbe 0x9daa9
movq $-0x1, 0x6c0(%rsp)
jmp 0x9eb69
movq 0xe0(%rsp), %rax
movq 0xb8(%rax), %rax
movq %rax, 0x590(%rsp)
movq $-0x1, 0x588(%rsp)
movq $0x0, 0x580(%rsp)
movq 0xe0(%rsp), %rdi
movq 0x580(%rsp), %rax
movq %rax, 0xc0(%rsp)
addq $0x98, %rdi
callq 0xd520
movq %rax, %rcx
movq 0xc0(%rsp), %rax
cmpq %rcx, %rax
jae 0x9e4dd
callq 0xd0a0
movq 0xe0(%rsp), %rcx
movl $0x0, (%rax)
movq 0x590(%rsp), %rax
cmpq 0xd8(%rcx), %rax
jbe 0x9ddcb
callq 0xd8c0
cmpl $0x0, %eax
jne 0x9ddc1
leaq 0x4df(%rsp), %rdi
movq %rdi, 0xb8(%rsp)
callq 0xdd50
movq 0xb8(%rsp), %rdx
leaq 0x49606(%rip), %rsi     # 0xe7170
leaq 0x4e0(%rsp), %rdi
callq 0xfae0
jmp 0x9db79
leaq 0x4b8(%rsp), %rdi
movl $0x379, %esi            # imm = 0x379
callq 0x11600
jmp 0x9db8d
leaq 0x500(%rsp), %rdi
leaq 0x4e0(%rsp), %rsi
leaq 0x4b8(%rsp), %rdx
callq 0x11510
jmp 0x9dbac
leaq 0x4561e(%rip), %rdx     # 0xe31d1
leaq 0x520(%rsp), %rdi
leaq 0x500(%rsp), %rsi
callq 0x114c0
jmp 0x9dbca
leaq 0x477(%rsp), %rdi
movq %rdi, 0xb0(%rsp)
callq 0xdd50
movq 0xb0(%rsp), %rdx
leaq 0x49f1a(%rip), %rsi     # 0xe7b08
leaq 0x478(%rsp), %rdi
callq 0xfae0
jmp 0x9dbfd
leaq 0x45da0(%rip), %rdx     # 0xe39a4
leaq 0x498(%rsp), %rdi
leaq 0x478(%rsp), %rsi
callq 0x114c0
jmp 0x9dc1b
leaq 0x540(%rsp), %rdi
leaq 0x520(%rsp), %rsi
leaq 0x498(%rsp), %rdx
callq 0x11510
jmp 0x9dc3a
leaq 0x49f18(%rip), %rdx     # 0xe7b59
leaq 0x560(%rsp), %rdi
leaq 0x540(%rsp), %rsi
callq 0x114c0
jmp 0x9dc58
leaq 0x560(%rsp), %rdi
callq 0x173d0
jmp 0x9dc67
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9ddaf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9dda2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9dd95
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9dd88
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9dd6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9dd61
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9dd54
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9dd47
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
leaq 0x560(%rsp), %rdi
callq 0xdf08
leaq 0x540(%rsp), %rdi
callq 0xdf08
leaq 0x498(%rsp), %rdi
callq 0xdf08
leaq 0x478(%rsp), %rdi
callq 0xdf08
leaq 0x477(%rsp), %rdi
callq 0xd7a0
leaq 0x520(%rsp), %rdi
callq 0xdf08
leaq 0x500(%rsp), %rdi
callq 0xdf08
leaq 0x4b8(%rsp), %rdi
callq 0xdf08
leaq 0x4e0(%rsp), %rdi
callq 0xdf08
leaq 0x4df(%rsp), %rdi
callq 0xd7a0
jmp 0x9eb79
movl $0x1, %edi
callq 0xd8e0
movq 0xe0(%rsp), %rdi
addq $0x98, %rdi
movq 0x580(%rsp), %rsi
callq 0xdec0
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0x9e4c4
movq 0xe0(%rsp), %rcx
movq 0x590(%rsp), %rax
cmpq 0xd8(%rcx), %rax
jne 0x9e4b0
movq 0xe0(%rsp), %rdi
movq %rdi, %rax
addq $0x98, %rax
movq %rax, 0x98(%rsp)
movq 0x580(%rsp), %rax
movq %rax, 0xa0(%rsp)
addq $0xd0, %rdi
addq $0x50, %rdi
callq 0xd520
movq 0x98(%rsp), %rsi
movq 0xa0(%rsp), %rdx
movq %rax, %rcx
leaq 0x450(%rsp), %rdi
callq 0xd740
movq 0xe0(%rsp), %rsi
addq $0xd0, %rsi
addq $0x50, %rsi
leaq 0x450(%rsp), %rdi
callq 0x4c8a0
movb %al, %cl
movb $0x0, 0x42f(%rsp)
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0xaf(%rsp)
jne 0x9dea6
jmp 0x9dfed
movq 0xe0(%rsp), %rdi
movq %rdi, %rax
addq $0x30, %rax
movq %rax, 0x88(%rsp)
movq 0x580(%rsp), %rax
movq %rax, 0x90(%rsp)
addq $0x120, %rdi            # imm = 0x120
callq 0xd520
movq 0x88(%rsp), %rsi
movq 0x90(%rsp), %rdx
movq %rax, %rcx
leaq 0x430(%rsp), %rdi
callq 0xd740
jmp 0x9defb
movq 0xe0(%rsp), %rsi
movb $0x1, 0x42f(%rsp)
addq $0xd0, %rsi
addq $0x50, %rsi
leaq 0x430(%rsp), %rdi
callq 0x4c8a0
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0xaf(%rsp)
jne 0x9df38
jmp 0x9dfed
movb $0x1, %al
cmpq $0x0, 0x590(%rsp)
movb %al, 0x87(%rsp)
je 0x9dfdf
xorl %eax, %eax
cmpq $0x0, 0x580(%rsp)
movb %al, 0x86(%rsp)
jbe 0x9dfd1
movq 0xe0(%rsp), %rdi
addq $0x98, %rdi
movq 0x580(%rsp), %rsi
decq %rsi
callq 0xdec0
movq %rax, 0x78(%rsp)
jmp 0x9df8a
movq 0xe0(%rsp), %rdi
movq 0x78(%rsp), %rax
movsbl (%rax), %eax
movl %eax, 0x6c(%rsp)
addq $0x30, %rdi
movq 0x580(%rsp), %rsi
decq %rsi
callq 0xdec0
movq %rax, 0x70(%rsp)
jmp 0x9dfb9
movl 0x6c(%rsp), %eax
movq 0x70(%rsp), %rcx
movsbl (%rcx), %ecx
cmpl %ecx, %eax
sete %al
movb %al, 0x86(%rsp)
movb 0x86(%rsp), %al
movb %al, 0x87(%rsp)
movb 0x87(%rsp), %al
movb %al, 0xaf(%rsp)
movb 0xaf(%rsp), %al
movb %al, 0x6b(%rsp)
testb $0x1, 0x42f(%rsp)
jne 0x9e004
jmp 0x9e011
leaq 0x430(%rsp), %rdi
callq 0xdf08
leaq 0x450(%rsp), %rdi
callq 0xdf08
movb 0x6b(%rsp), %al
testb $0x1, %al
jne 0x9e02b
jmp 0x9e49f
movq 0xe0(%rsp), %rax
cmpq $-0x1, 0x168(%rax)
je 0x9e0f1
movq 0xe0(%rsp), %rdi
movq 0x580(%rsp), %rax
movq %rax, 0x588(%rsp)
addq $0xd0, %rdi
addq $0x50, %rdi
callq 0xd520
movq 0xe0(%rsp), %rdi
addq 0x580(%rsp), %rax
movq %rax, 0x580(%rsp)
addq $0xd0, %rdi
callq 0xa41e0
movq %rax, 0x590(%rsp)
jmp 0x9e4dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9e0df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
testb $0x1, 0x42f(%rsp)
jne 0x9e0d0
jmp 0x9e0dd
leaq 0x430(%rsp), %rdi
callq 0xdf08
jmp 0x9e0df
leaq 0x450(%rsp), %rdi
callq 0xdf08
jmp 0x9eb79
movq 0xe0(%rsp), %rdi
movq 0x580(%rsp), %rax
movq %rax, 0x50(%rsp)
addq $0xd0, %rdi
addq $0x50, %rdi
callq 0xd520
movq 0xe0(%rsp), %rdi
movq %rax, %rcx
movq 0x50(%rsp), %rax
addq %rcx, %rax
movq %rax, 0x420(%rsp)
movq 0x590(%rsp), %rax
movq %rax, 0x58(%rsp)
addq $0xd0, %rdi
addq $0x50, %rdi
callq 0xd520
movq %rax, %rcx
movq 0x58(%rsp), %rax
addq %rcx, %rax
movq %rax, 0x418(%rsp)
callq 0xd0a0
movq 0xe0(%rsp), %rdi
movl $0x0, (%rax)
movq 0x420(%rsp), %rax
movq %rax, 0x60(%rsp)
addq $0x98, %rdi
callq 0xd520
movq %rax, %rcx
movq 0x60(%rsp), %rax
cmpq %rcx, %rax
jbe 0x9e425
callq 0xd8c0
cmpl $0x0, %eax
jne 0x9e41b
leaq 0x377(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0xdd50
movq 0x48(%rsp), %rdx
leaq 0x48fa6(%rip), %rsi     # 0xe7170
leaq 0x378(%rsp), %rdi
callq 0xfae0
jmp 0x9e1d9
leaq 0x350(%rsp), %rdi
movl $0x38c, %esi            # imm = 0x38C
callq 0x11600
jmp 0x9e1ed
leaq 0x398(%rsp), %rdi
leaq 0x378(%rsp), %rsi
leaq 0x350(%rsp), %rdx
callq 0x11510
jmp 0x9e20c
leaq 0x44fbe(%rip), %rdx     # 0xe31d1
leaq 0x3b8(%rsp), %rdi
leaq 0x398(%rsp), %rsi
callq 0x114c0
jmp 0x9e22a
leaq 0x30f(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0xdd50
movq 0x40(%rsp), %rdx
leaq 0x498c0(%rip), %rsi     # 0xe7b08
leaq 0x310(%rsp), %rdi
callq 0xfae0
jmp 0x9e257
leaq 0x45746(%rip), %rdx     # 0xe39a4
leaq 0x330(%rsp), %rdi
leaq 0x310(%rsp), %rsi
callq 0x114c0
jmp 0x9e275
leaq 0x3d8(%rsp), %rdi
leaq 0x3b8(%rsp), %rsi
leaq 0x330(%rsp), %rdx
callq 0x11510
jmp 0x9e294
leaq 0x498db(%rip), %rdx     # 0xe7b76
leaq 0x3f8(%rsp), %rdi
leaq 0x3d8(%rsp), %rsi
callq 0x114c0
jmp 0x9e2b2
leaq 0x3f8(%rsp), %rdi
callq 0x173d0
jmp 0x9e2c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9e409
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9e3fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9e3ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9e3e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9e3c8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9e3bb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9e3ae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9e3a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
leaq 0x3f8(%rsp), %rdi
callq 0xdf08
leaq 0x3d8(%rsp), %rdi
callq 0xdf08
leaq 0x330(%rsp), %rdi
callq 0xdf08
leaq 0x310(%rsp), %rdi
callq 0xdf08
leaq 0x30f(%rsp), %rdi
callq 0xd7a0
leaq 0x3b8(%rsp), %rdi
callq 0xdf08
leaq 0x398(%rsp), %rdi
callq 0xdf08
leaq 0x350(%rsp), %rdi
callq 0xdf08
leaq 0x378(%rsp), %rdi
callq 0xdf08
leaq 0x377(%rsp), %rdi
callq 0xd7a0
jmp 0x9eb79
movl $0x1, %edi
callq 0xd8e0
movq 0xe0(%rsp), %rcx
movq 0x418(%rsp), %rax
cmpq 0xc8(%rcx), %rax
je 0x9e488
movq 0xe0(%rsp), %rdi
addq $0x98, %rdi
movq 0x420(%rsp), %rsi
callq 0xdec0
movq 0xe0(%rsp), %rdi
movsbl (%rax), %eax
movl %eax, 0x3c(%rsp)
addq $0x30, %rdi
movq 0x420(%rsp), %rsi
callq 0xdec0
movq %rax, %rcx
movl 0x3c(%rsp), %eax
movsbl (%rcx), %ecx
cmpl %ecx, %eax
jne 0x9e49d
movq 0x580(%rsp), %rax
movq %rax, 0x6c0(%rsp)
jmp 0x9eb69
jmp 0x9e49f
movq $-0x1, 0x6c0(%rsp)
jmp 0x9eb69
movq 0x590(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x590(%rsp)
movq 0x580(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x580(%rsp)
jmp 0x9dad8
jmp 0x9e4df
movq 0xe0(%rsp), %rdi
movq 0x580(%rsp), %rax
movq %rax, 0x30(%rsp)
addq $0x98, %rdi
callq 0xd520
movq %rax, %rcx
movq 0x30(%rsp), %rax
cmpq %rcx, %rax
jae 0x9eb5d
callq 0xd0a0
movl $0x0, (%rax)
cmpq $-0x1, 0x588(%rsp)
jne 0x9e7b2
callq 0xd8c0
cmpl $0x0, %eax
jne 0x9e7a8
leaq 0x267(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xdd50
movq 0x28(%rsp), %rdx
leaq 0x48c19(%rip), %rsi     # 0xe7170
leaq 0x268(%rsp), %rdi
callq 0xfae0
jmp 0x9e566
leaq 0x240(%rsp), %rdi
movl $0x399, %esi            # imm = 0x399
callq 0x11600
jmp 0x9e57a
leaq 0x288(%rsp), %rdi
leaq 0x268(%rsp), %rsi
leaq 0x240(%rsp), %rdx
callq 0x11510
jmp 0x9e599
leaq 0x44c31(%rip), %rdx     # 0xe31d1
leaq 0x2a8(%rsp), %rdi
leaq 0x288(%rsp), %rsi
callq 0x114c0
jmp 0x9e5b7
leaq 0x1ff(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xdd50
movq 0x20(%rsp), %rdx
leaq 0x49533(%rip), %rsi     # 0xe7b08
leaq 0x200(%rsp), %rdi
callq 0xfae0
jmp 0x9e5e4
leaq 0x453b9(%rip), %rdx     # 0xe39a4
leaq 0x220(%rsp), %rdi
leaq 0x200(%rsp), %rsi
callq 0x114c0
jmp 0x9e602
leaq 0x2c8(%rsp), %rdi
leaq 0x2a8(%rsp), %rsi
leaq 0x220(%rsp), %rdx
callq 0x11510
jmp 0x9e621
leaq 0x4956b(%rip), %rdx     # 0xe7b93
leaq 0x2e8(%rsp), %rdi
leaq 0x2c8(%rsp), %rsi
callq 0x114c0
jmp 0x9e63f
leaq 0x2e8(%rsp), %rdi
callq 0x173d0
jmp 0x9e64e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9e796
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9e789
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9e77c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9e76f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9e755
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9e748
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9e73b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9e72e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
leaq 0x2e8(%rsp), %rdi
callq 0xdf08
leaq 0x2c8(%rsp), %rdi
callq 0xdf08
leaq 0x220(%rsp), %rdi
callq 0xdf08
leaq 0x200(%rsp), %rdi
callq 0xdf08
leaq 0x1ff(%rsp), %rdi
callq 0xd7a0
leaq 0x2a8(%rsp), %rdi
callq 0xdf08
leaq 0x288(%rsp), %rdi
callq 0xdf08
leaq 0x240(%rsp), %rdi
callq 0xdf08
leaq 0x268(%rsp), %rdi
callq 0xdf08
leaq 0x267(%rsp), %rdi
callq 0xd7a0
jmp 0x9eb79
movl $0x1, %edi
callq 0xd8e0
movq 0xe0(%rsp), %rdi
addq $0x98, %rdi
movq 0x580(%rsp), %rsi
callq 0xdec0
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0x9eb44
callq 0xd0a0
movq 0xe0(%rsp), %rdi
movl $0x0, (%rax)
addq $0xd0, %rdi
callq 0xa41e0
cmpq $0x0, %rax
jne 0x9ea8a
callq 0xd8c0
cmpl $0x0, %eax
jne 0x9ea80
leaq 0x157(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xdd50
movq 0x18(%rsp), %rdx
leaq 0x48941(%rip), %rsi     # 0xe7170
leaq 0x158(%rsp), %rdi
callq 0xfae0
jmp 0x9e83e
leaq 0x130(%rsp), %rdi
movl $0x3a4, %esi            # imm = 0x3A4
callq 0x11600
jmp 0x9e852
leaq 0x178(%rsp), %rdi
leaq 0x158(%rsp), %rsi
leaq 0x130(%rsp), %rdx
callq 0x11510
jmp 0x9e871
leaq 0x44959(%rip), %rdx     # 0xe31d1
leaq 0x198(%rsp), %rdi
leaq 0x178(%rsp), %rsi
callq 0x114c0
jmp 0x9e88f
leaq 0xef(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xdd50
movq 0x10(%rsp), %rdx
leaq 0x4925b(%rip), %rsi     # 0xe7b08
leaq 0xf0(%rsp), %rdi
callq 0xfae0
jmp 0x9e8bc
leaq 0x450e1(%rip), %rdx     # 0xe39a4
leaq 0x110(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
callq 0x114c0
jmp 0x9e8da
leaq 0x1b8(%rsp), %rdi
leaq 0x198(%rsp), %rsi
leaq 0x110(%rsp), %rdx
callq 0x11510
jmp 0x9e8f9
leaq 0x492ac(%rip), %rdx     # 0xe7bac
leaq 0x1d8(%rsp), %rdi
leaq 0x1b8(%rsp), %rsi
callq 0x114c0
jmp 0x9e917
leaq 0x1d8(%rsp), %rdi
callq 0x173d0
jmp 0x9e926
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9ea6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9ea61
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9ea54
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9ea47
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9ea2d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9ea20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9ea13
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
jmp 0x9ea06
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x608(%rsp)
movl %eax, 0x604(%rsp)
leaq 0x1d8(%rsp), %rdi
callq 0xdf08
leaq 0x1b8(%rsp), %rdi
callq 0xdf08
leaq 0x110(%rsp), %rdi
callq 0xdf08
leaq 0xf0(%rsp), %rdi
callq 0xdf08
leaq 0xef(%rsp), %rdi
callq 0xd7a0
leaq 0x198(%rsp), %rdi
callq 0xdf08
leaq 0x178(%rsp), %rdi
callq 0xdf08
leaq 0x130(%rsp), %rdi
callq 0xdf08
leaq 0x158(%rsp), %rdi
callq 0xdf08
leaq 0x157(%rsp), %rdi
callq 0xd7a0
jmp 0x9eb79
movl $0x1, %edi
callq 0xd8e0
movq 0xe0(%rsp), %rdi
movq 0x590(%rsp), %rax
movq %rax, 0x8(%rsp)
addq $0xd0, %rdi
callq 0xa41e0
movq 0xe0(%rsp), %rdx
movq %rax, %rcx
movq 0x8(%rsp), %rax
subq $0x1, %rcx
addq 0x168(%rdx), %rcx
cmpq %rcx, %rax
jne 0x9eb30
movq 0xe0(%rsp), %rdi
addq $0x98, %rdi
movq 0x580(%rsp), %rsi
callq 0xdec0
movsbl (%rax), %eax
cmpl $0x2a, %eax
jne 0x9eb22
movq 0xe0(%rsp), %rdi
addq $0x30, %rdi
movq 0x580(%rsp), %rsi
callq 0xdec0
movsbl (%rax), %eax
cmpl $0x2a, %eax
jne 0x9eb22
movq 0x588(%rsp), %rax
movq %rax, 0x6c0(%rsp)
jmp 0x9eb69
movq $-0x1, 0x6c0(%rsp)
jmp 0x9eb69
movq 0x590(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x590(%rsp)
movq 0x580(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x580(%rsp)
jmp 0x9e4df
movq $-0x1, 0x6c0(%rsp)
movq 0x6c0(%rsp), %rax
addq $0x6c8, %rsp            # imm = 0x6C8
retq
movq 0x608(%rsp), %rdi
callq 0xdd40
nopw %cs:(%rax,%rax)