// File: 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:
subq $0x398, %rsp            # imm = 0x398
movq %rdi, 0x390(%rsp)
movq %rsi, 0x388(%rsp)
movq %rdx, 0x380(%rsp)
movq 0x390(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x94f20
movq 0x38(%rsp), %rax
movq 0x388(%rsp), %rdi
movq 0x18(%rax), %rsi
callq 0xd7d0
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x94c66
callq 0xd0a0
movq %rax, %rcx
movq 0x38(%rsp), %rax
movl $0x0, (%rcx)
cmpq $0x0, 0x18(%rax)
jne 0x94988
callq 0xd8c0
cmpl $0x0, %eax
jne 0x9497e
leaq 0x2df(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0xdd50
movq 0x30(%rsp), %rdx
leaq 0x52a43(%rip), %rsi     # 0xe7170
leaq 0x2e0(%rsp), %rdi
callq 0xfae0
jmp 0x9473c
leaq 0x2a8(%rsp), %rdi
movl $0x118, %esi            # imm = 0x118
callq 0x11600
jmp 0x94750
leaq 0x300(%rsp), %rdi
leaq 0x2e0(%rsp), %rsi
leaq 0x2a8(%rsp), %rdx
callq 0x11510
jmp 0x9476f
leaq 0x4ea5b(%rip), %rdx     # 0xe31d1
leaq 0x320(%rsp), %rdi
leaq 0x300(%rsp), %rsi
callq 0x114c0
jmp 0x9478d
leaq 0x267(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xdd50
movq 0x28(%rsp), %rdx
leaq 0x52e1f(%rip), %rsi     # 0xe75ca
leaq 0x268(%rsp), %rdi
callq 0xfae0
jmp 0x947ba
leaq 0x4f1e3(%rip), %rdx     # 0xe39a4
leaq 0x288(%rsp), %rdi
leaq 0x268(%rsp), %rsi
callq 0x114c0
jmp 0x947d8
leaq 0x340(%rsp), %rdi
leaq 0x320(%rsp), %rsi
leaq 0x288(%rsp), %rdx
callq 0x11510
jmp 0x947f7
leaq 0x548ae(%rip), %rdx     # 0xe90ac
leaq 0x360(%rsp), %rdi
leaq 0x340(%rsp), %rsi
callq 0x114c0
jmp 0x94815
leaq 0x360(%rsp), %rdi
callq 0x173d0
jmp 0x94824
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0x9496c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0x9495f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0x94952
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0x94945
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0x9492b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0x9491e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0x94911
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0x94904
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
leaq 0x360(%rsp), %rdi
callq 0xdf08
leaq 0x340(%rsp), %rdi
callq 0xdf08
leaq 0x288(%rsp), %rdi
callq 0xdf08
leaq 0x268(%rsp), %rdi
callq 0xdf08
leaq 0x267(%rsp), %rdi
callq 0xd7a0
leaq 0x320(%rsp), %rdi
callq 0xdf08
leaq 0x300(%rsp), %rdi
callq 0xdf08
leaq 0x2a8(%rsp), %rdi
callq 0xdf08
leaq 0x2e0(%rsp), %rdi
callq 0xdf08
leaq 0x2df(%rsp), %rdi
callq 0xd7a0
jmp 0x94f10
movl $0x1, %edi
callq 0xd8e0
movq 0x38(%rsp), %rax
movq 0x18(%rax), %rcx
addq $-0x1, %rcx
movq %rcx, 0x18(%rax)
movq 0x20(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x20(%rax)
callq 0xd0a0
movq %rax, %rcx
movq 0x38(%rsp), %rax
movl $0x0, (%rcx)
movq 0x388(%rsp), %rdi
movq 0x18(%rax), %rsi
callq 0xd7d0
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x94c5c
callq 0xd8c0
cmpl $0x0, %eax
jne 0x94c52
leaq 0x1bf(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xdd50
movq 0x20(%rsp), %rdx
leaq 0x5276f(%rip), %rsi     # 0xe7170
leaq 0x1c0(%rsp), %rdi
callq 0xfae0
jmp 0x94a10
leaq 0x198(%rsp), %rdi
movl $0x11b, %esi            # imm = 0x11B
callq 0x11600
jmp 0x94a24
leaq 0x1e0(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
leaq 0x198(%rsp), %rdx
callq 0x11510
jmp 0x94a43
leaq 0x4e787(%rip), %rdx     # 0xe31d1
leaq 0x200(%rsp), %rdi
leaq 0x1e0(%rsp), %rsi
callq 0x114c0
jmp 0x94a61
leaq 0x157(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xdd50
movq 0x18(%rsp), %rdx
leaq 0x52b4b(%rip), %rsi     # 0xe75ca
leaq 0x158(%rsp), %rdi
callq 0xfae0
jmp 0x94a8e
leaq 0x4ef0f(%rip), %rdx     # 0xe39a4
leaq 0x178(%rsp), %rdi
leaq 0x158(%rsp), %rsi
callq 0x114c0
jmp 0x94aac
leaq 0x220(%rsp), %rdi
leaq 0x200(%rsp), %rsi
leaq 0x178(%rsp), %rdx
callq 0x11510
jmp 0x94acb
leaq 0x52b35(%rip), %rdx     # 0xe7607
leaq 0x240(%rsp), %rdi
leaq 0x220(%rsp), %rsi
callq 0x114c0
jmp 0x94ae9
leaq 0x240(%rsp), %rdi
callq 0x173d0
jmp 0x94af8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0x94c40
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0x94c33
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0x94c26
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0x94c19
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0x94bff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0x94bf2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0x94be5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0x94bd8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
leaq 0x240(%rsp), %rdi
callq 0xdf08
leaq 0x220(%rsp), %rdi
callq 0xdf08
leaq 0x178(%rsp), %rdi
callq 0xdf08
leaq 0x158(%rsp), %rdi
callq 0xdf08
leaq 0x157(%rsp), %rdi
callq 0xd7a0
leaq 0x200(%rsp), %rdi
callq 0xdf08
leaq 0x1e0(%rsp), %rdi
callq 0xdf08
leaq 0x198(%rsp), %rdi
callq 0xdf08
leaq 0x1c0(%rsp), %rdi
callq 0xdf08
leaq 0x1bf(%rsp), %rdi
callq 0xd7a0
jmp 0x94f10
movl $0x1, %edi
callq 0xd8e0
movq 0x38(%rsp), %rdi
callq 0x94f20
callq 0xd0a0
movq 0x38(%rsp), %rdi
movl $0x0, (%rax)
addq $0x28, %rdi
callq 0xdc60
testb $0x1, %al
jne 0x94c88
jmp 0x94ef4
callq 0xd8c0
cmpl $0x0, %eax
jne 0x94eea
leaq 0xaf(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xdd50
movq 0x10(%rsp), %rdx
leaq 0x524bc(%rip), %rsi     # 0xe7170
leaq 0xb0(%rsp), %rdi
callq 0xfae0
jmp 0x94cc3
leaq 0x88(%rsp), %rdi
movl $0x11e, %esi            # imm = 0x11E
callq 0x11600
jmp 0x94cd7
leaq 0xd0(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
leaq 0x88(%rsp), %rdx
callq 0x11510
jmp 0x94cf6
leaq 0x4e4d4(%rip), %rdx     # 0xe31d1
leaq 0xf0(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0x114c0
jmp 0x94d14
leaq 0x47(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xdd50
movq 0x8(%rsp), %rdx
leaq 0x5289b(%rip), %rsi     # 0xe75ca
leaq 0x48(%rsp), %rdi
callq 0xfae0
jmp 0x94d3b
leaq 0x4ec62(%rip), %rdx     # 0xe39a4
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x114c0
jmp 0x94d53
leaq 0x110(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
leaq 0x68(%rsp), %rdx
callq 0x11510
jmp 0x94d6f
leaq 0x526bc(%rip), %rdx     # 0xe7432
leaq 0x130(%rsp), %rdi
leaq 0x110(%rsp), %rsi
callq 0x114c0
jmp 0x94d8d
leaq 0x130(%rsp), %rdi
callq 0x173d0
jmp 0x94d9c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0x94edb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0x94ece
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0x94ec1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0x94eb4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0x94e9d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0x94e93
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0x94e89
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0x94e7c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
leaq 0x130(%rsp), %rdi
callq 0xdf08
leaq 0x110(%rsp), %rdi
callq 0xdf08
leaq 0x68(%rsp), %rdi
callq 0xdf08
leaq 0x48(%rsp), %rdi
callq 0xdf08
leaq 0x47(%rsp), %rdi
callq 0xd7a0
leaq 0xf0(%rsp), %rdi
callq 0xdf08
leaq 0xd0(%rsp), %rdi
callq 0xdf08
leaq 0x88(%rsp), %rdi
callq 0xdf08
leaq 0xb0(%rsp), %rdi
callq 0xdf08
leaq 0xaf(%rsp), %rdi
callq 0xd7a0
jmp 0x94f10
movl $0x1, %edi
callq 0xd8e0
movq 0x38(%rsp), %rdi
movq 0x380(%rsp), %rsi
callq 0x962d0
andb $0x1, %al
addq $0x398, %rsp            # imm = 0x398
retq
movq 0x2d0(%rsp), %rdi
callq 0xdd40
nopl (%rax)