// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/alignment.cpp
// Function: Alignment_sp::SeqChange::setStartTarget()
void SeqChange::setStartTarget ()
{
  ASSERT (al);
  ASSERT (start < al->targetSeq. size ());
  
  start_target = al->targetStart;
  if (al->targetStrand)
  {
    FOR (size_t, i, start)
      if (al->targetSeq [i] != '-')
        start_target += al->al2target_len;
  }
  else
  {
    FOR_REV_END (size_t, i, start + len, al->targetSeq. size ())
      if (al->targetSeq [i] != '-')
        start_target += al->al2target_len;
  }  
}

// Assembly:
pushq %rbx
subq $0x110, %rsp            # imm = 0x110
movq %rdi, %rbx
callq 0xc070
andl $0x0, (%rax)
movq 0x8(%rbx), %rax
testq %rax, %rax
je 0x4060d
movq 0x18(%rbx), %rcx
movq 0x38(%rax), %rsi
cmpq %rsi, %rcx
jae 0x406e1
movq 0x50(%rax), %rdx
movq %rdx, 0x78(%rbx)
cmpb $0x0, 0x68(%rax)
je 0x405d8
xorl %esi, %esi
cmpq %rsi, %rcx
je 0x40604
movq 0x30(%rax), %rdi
cmpb $0x2d, (%rdi,%rsi)
je 0x405d3
addq 0x210(%rax), %rdx
movq %rdx, 0x78(%rbx)
incq %rsi
jmp 0x405b9
addq 0x20(%rbx), %rcx
cmpq %rcx, %rsi
jbe 0x40604
leaq -0x1(%rsi), %rdi
movq 0x30(%rax), %r8
cmpb $0x2d, -0x1(%r8,%rsi)
movq %rdi, %rsi
je 0x405dc
addq 0x210(%rax), %rdx
movq %rdx, 0x78(%rbx)
movq %rdi, %rsi
jmp 0x405dc
addq $0x110, %rsp            # imm = 0x110
popq %rbx
retq
callq 0xc6d0
testl %eax, %eax
jne 0x407b5
leaq 0x219c7(%rip), %rsi     # 0x61fe8
leaq 0x70(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0xdbbe
leaq 0x50(%rsp), %rdi
movl $0x158, %esi            # imm = 0x158
callq 0xe2d5
leaq 0x90(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x50(%rsp), %rdx
callq 0xe26e
leaq 0x1db74(%rip), %rdx     # 0x5e1d1
leaq 0xb0(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0xe24f
leaq 0x21f13(%rip), %rsi     # 0x6258c
leaq 0x10(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0xdbbe
leaq 0x1e23d(%rip), %rdx     # 0x5e8cc
leaq 0x30(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0xe24f
leaq 0xd0(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
leaq 0x30(%rsp), %rdx
callq 0xe26e
leaq 0x2232c(%rip), %rdx     # 0x629eb
leaq 0xf0(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0xe24f
leaq 0xf0(%rsp), %rdi
callq 0x101d0
callq 0xc6d0
testl %eax, %eax
jne 0x407b5
leaq 0x218f3(%rip), %rsi     # 0x61fe8
leaq 0x70(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0xdbbe
leaq 0x50(%rsp), %rdi
movl $0x159, %esi            # imm = 0x159
callq 0xe2d5
leaq 0x90(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x50(%rsp), %rdx
callq 0xe26e
leaq 0x1daa0(%rip), %rdx     # 0x5e1d1
leaq 0xb0(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0xe24f
leaq 0x21e3f(%rip), %rsi     # 0x6258c
leaq 0x10(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0xdbbe
leaq 0x1e169(%rip), %rdx     # 0x5e8cc
leaq 0x30(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0xe24f
leaq 0xd0(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
leaq 0x30(%rsp), %rdx
callq 0xe26e
leaq 0x21e28(%rip), %rdx     # 0x625bb
leaq 0xf0(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0xe24f
leaq 0xf0(%rsp), %rdi
callq 0x101d0
pushq $0x1
popq %rdi
callq 0xc6f0
jmp 0x407c1
jmp 0x407d3
movq %rax, %rbx
leaq 0xf0(%rsp), %rdi
callq 0xcbe8
jmp 0x407d6
movq %rax, %rbx
leaq 0xd0(%rsp), %rdi
callq 0xcbe8
jmp 0x407ea
jmp 0x407e7
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0xcbe8
jmp 0x407fb
jmp 0x407f8
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0xcbe8
jmp 0x4080c
jmp 0x40809
movq %rax, %rbx
leaq 0xb0(%rsp), %rdi
callq 0xcbe8
jmp 0x40820
jmp 0x4081d
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0xcbe8
jmp 0x40834
jmp 0x40831
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0xcbe8
jmp 0x40845
jmp 0x40842
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0xcbe8
jmp 0x40856
jmp 0x40853
movq %rax, %rbx
movq %rbx, %rdi
callq 0xcaa0