// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/alignment.cpp
// Function: Alignment_sp::SeqChange::finish(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, unsigned long)
bool SeqChange::finish (const string &refSeq,
                        size_t flankingLen)
{
  setSeq ();
  if (refSeq [start] == '-')
  {
    QC_ASSERT (start);
    start--;
    len++;
    ASSERT (refSeq [start] != '-');
    setSeq ();
  }
  ASSERT (! reference. empty ());
  return finishPos (flankingLen);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x108, %rsp            # imm = 0x108
movq %rdx, %rbx
movq %rsi, %r15
movq %rdi, %r14
callq 0x3f918
movq 0x18(%r14), %r12
movq (%r15), %r13
movb (%r13,%r12), %bpl
callq 0xc070
movq %rax, %r15
cmpb $0x2d, %bpl
jne 0x3f5b9
andl $0x0, (%r15)
testq %r12, %r12
je 0x3f6b4
leaq -0x1(%r12), %rax
movq %rax, 0x18(%r14)
incq 0x20(%r14)
andl $0x0, (%r15)
cmpb $0x2d, -0x1(%r13,%r12)
je 0x3f788
movq %r14, %rdi
callq 0x3f918
andl $0x0, (%r15)
cmpq $0x0, 0x30(%r14)
je 0x3f5e0
movq %r14, %rdi
movq %rbx, %rsi
addq $0x108, %rsp            # imm = 0x108
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x400c2
callq 0xc6d0
testl %eax, %eax
jne 0x3f85c
leaq 0x229f4(%rip), %rsi     # 0x61fe8
leaq 0x68(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0xdbbe
leaq 0x48(%rsp), %rdi
movl $0x11e, %esi            # imm = 0x11E
callq 0xe2d5
leaq 0x88(%rsp), %rdi
leaq 0x68(%rsp), %rsi
leaq 0x48(%rsp), %rdx
callq 0xe26e
leaq 0x1eba1(%rip), %rdx     # 0x5e1d1
leaq 0xa8(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0xe24f
leaq 0x22df6(%rip), %rsi     # 0x62442
leaq 0x8(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0xdbbe
leaq 0x1f26a(%rip), %rdx     # 0x5e8cc
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xe24f
leaq 0xc8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x28(%rsp), %rdx
callq 0xe26e
leaq 0x22c18(%rip), %rdx     # 0x622aa
leaq 0xe8(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0xe24f
leaq 0xe8(%rsp), %rdi
callq 0x101d0
callq 0xc6d0
testl %eax, %eax
jne 0x3f85c
leaq 0x22920(%rip), %rsi     # 0x61fe8
leaq 0x68(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0xdbbe
leaq 0x48(%rsp), %rdi
movl $0x118, %esi            # imm = 0x118
callq 0xe2d5
leaq 0x88(%rsp), %rdi
leaq 0x68(%rsp), %rsi
leaq 0x48(%rsp), %rdx
callq 0xe26e
leaq 0x1eacd(%rip), %rdx     # 0x5e1d1
leaq 0xa8(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0xe24f
leaq 0x22d22(%rip), %rsi     # 0x62442
leaq 0x8(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0xdbbe
leaq 0x1f196(%rip), %rdx     # 0x5e8cc
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xe24f
leaq 0xc8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x28(%rsp), %rdx
callq 0xe26e
leaq 0x244e3(%rip), %rdx     # 0x63c49
leaq 0xe8(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0xe24f
leaq 0xe8(%rsp), %rdi
callq 0x101d0
callq 0xc6d0
testl %eax, %eax
jne 0x3f85c
leaq 0x2284c(%rip), %rsi     # 0x61fe8
leaq 0x68(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0xdbbe
leaq 0x48(%rsp), %rdi
movl $0x11b, %esi            # imm = 0x11B
callq 0xe2d5
leaq 0x88(%rsp), %rdi
leaq 0x68(%rsp), %rsi
leaq 0x48(%rsp), %rdx
callq 0xe26e
leaq 0x1e9f9(%rip), %rdx     # 0x5e1d1
leaq 0xa8(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0xe24f
leaq 0x22c4e(%rip), %rsi     # 0x62442
leaq 0x8(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0xdbbe
leaq 0x1f0c2(%rip), %rdx     # 0x5e8cc
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xe24f
leaq 0xc8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x28(%rsp), %rdx
callq 0xe26e
leaq 0x22c45(%rip), %rdx     # 0x6247f
leaq 0xe8(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0xe24f
leaq 0xe8(%rsp), %rdi
callq 0x101d0
pushq $0x1
popq %rdi
callq 0xc6f0
jmp 0x3f86c
jmp 0x3f880
jmp 0x3f86c
jmp 0x3f880
movq %rax, %rbx
leaq 0xe8(%rsp), %rdi
callq 0xcbe8
jmp 0x3f883
jmp 0x3f896
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0xcbe8
jmp 0x3f899
jmp 0x3f896
jmp 0x3f8a9
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0xcbe8
jmp 0x3f8ac
jmp 0x3f8a9
jmp 0x3f8bc
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0xcbe8
jmp 0x3f8bf
jmp 0x3f8bc
jmp 0x3f8d2
movq %rax, %rbx
leaq 0xa8(%rsp), %rdi
callq 0xcbe8
jmp 0x3f8d5
jmp 0x3f8d2
jmp 0x3f8e8
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0xcbe8
jmp 0x3f8eb
jmp 0x3f8e8
jmp 0x3f8fb
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0xcbe8
jmp 0x3f8fe
jmp 0x3f8fb
jmp 0x3f90c
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0xcbe8
jmp 0x3f90f
jmp 0x3f90c
movq %rax, %rbx
movq %rbx, %rdi
callq 0xcaa0
nop