// File: ncbi[P]amr/seq.cpp
// Function: Seq_sp::Mutation::replace(Seq_sp::Dna&) const
void Mutation::replace (Dna &refDna) const
{
  ASSERT (! prot);
  ASSERT (stop () <= refDna. seq. size ());
  ASSERT (refDna. seq. substr (pos, ref. size ()) == ref);
  refDna. seq. replace (pos, ref. size (), allele);
}

// Assembly:
subq $0x3d8, %rsp            # imm = 0x3D8
movq %rdi, 0x3d0(%rsp)
movq %rsi, 0x3c8(%rsp)
movq 0x3d0(%rsp), %rax
movq %rax, 0x60(%rsp)
callq 0xd0a0
movq %rax, %rcx
movq 0x60(%rsp), %rax
movl $0x0, (%rcx)
testb $0x1, 0x8(%rax)
je 0xcc288
callq 0xd8c0
cmpl $0x0, %eax
jne 0xcc27e
leaq 0x327(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0xdd50
movq 0x58(%rsp), %rdx
leaq 0x1c419(%rip), %rsi     # 0xe8446
leaq 0x328(%rsp), %rdi
callq 0xfae0
jmp 0xcc03c
leaq 0x2f0(%rsp), %rdi
movl $0x1230, %esi           # imm = 0x1230
callq 0x11600
jmp 0xcc050
leaq 0x348(%rsp), %rdi
leaq 0x328(%rsp), %rsi
leaq 0x2f0(%rsp), %rdx
callq 0x11510
jmp 0xcc06f
leaq 0x1715b(%rip), %rdx     # 0xe31d1
leaq 0x368(%rsp), %rdi
leaq 0x348(%rsp), %rsi
callq 0x114c0
jmp 0xcc08d
leaq 0x2af(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0xdd50
movq 0x50(%rsp), %rdx
leaq 0x1d8bf(%rip), %rsi     # 0xe996a
leaq 0x2b0(%rsp), %rdi
callq 0xfae0
jmp 0xcc0ba
leaq 0x178e3(%rip), %rdx     # 0xe39a4
leaq 0x2d0(%rsp), %rdi
leaq 0x2b0(%rsp), %rsi
callq 0x114c0
jmp 0xcc0d8
leaq 0x388(%rsp), %rdi
leaq 0x368(%rsp), %rsi
leaq 0x2d0(%rsp), %rdx
callq 0x11510
jmp 0xcc0f7
leaq 0x1d898(%rip), %rdx     # 0xe9996
leaq 0x3a8(%rsp), %rdi
leaq 0x388(%rsp), %rsi
callq 0x114c0
jmp 0xcc115
leaq 0x3a8(%rsp), %rdi
callq 0x173d0
jmp 0xcc124
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
jmp 0xcc26c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
jmp 0xcc25f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
jmp 0xcc252
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
jmp 0xcc245
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
jmp 0xcc22b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
jmp 0xcc21e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
jmp 0xcc211
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
jmp 0xcc204
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
leaq 0x3a8(%rsp), %rdi
callq 0xdf08
leaq 0x388(%rsp), %rdi
callq 0xdf08
leaq 0x2d0(%rsp), %rdi
callq 0xdf08
leaq 0x2b0(%rsp), %rdi
callq 0xdf08
leaq 0x2af(%rsp), %rdi
callq 0xd7a0
leaq 0x368(%rsp), %rdi
callq 0xdf08
leaq 0x348(%rsp), %rdi
callq 0xdf08
leaq 0x2f0(%rsp), %rdi
callq 0xdf08
leaq 0x328(%rsp), %rdi
callq 0xdf08
leaq 0x327(%rsp), %rdi
callq 0xd7a0
jmp 0xcc88c
movl $0x1, %edi
callq 0xd8e0
callq 0xd0a0
movq 0x60(%rsp), %rdi
movl $0x0, (%rax)
callq 0xd8f50
movq %rax, 0x48(%rsp)
movq 0x3c8(%rsp), %rdi
addq $0x28, %rdi
callq 0xd520
movq %rax, %rcx
movq 0x48(%rsp), %rax
cmpq %rcx, %rax
jbe 0xcc54b
callq 0xd8c0
cmpl $0x0, %eax
jne 0xcc541
leaq 0x207(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0xdd50
movq 0x40(%rsp), %rdx
leaq 0x1c156(%rip), %rsi     # 0xe8446
leaq 0x208(%rsp), %rdi
callq 0xfae0
jmp 0xcc2ff
leaq 0x1e0(%rsp), %rdi
movl $0x1231, %esi           # imm = 0x1231
callq 0x11600
jmp 0xcc313
leaq 0x228(%rsp), %rdi
leaq 0x208(%rsp), %rsi
leaq 0x1e0(%rsp), %rdx
callq 0x11510
jmp 0xcc332
leaq 0x16e98(%rip), %rdx     # 0xe31d1
leaq 0x248(%rsp), %rdi
leaq 0x228(%rsp), %rsi
callq 0x114c0
jmp 0xcc350
leaq 0x19f(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0xdd50
movq 0x38(%rsp), %rdx
leaq 0x1d5fc(%rip), %rsi     # 0xe996a
leaq 0x1a0(%rsp), %rdi
callq 0xfae0
jmp 0xcc37d
leaq 0x17620(%rip), %rdx     # 0xe39a4
leaq 0x1c0(%rsp), %rdi
leaq 0x1a0(%rsp), %rsi
callq 0x114c0
jmp 0xcc39b
leaq 0x268(%rsp), %rdi
leaq 0x248(%rsp), %rsi
leaq 0x1c0(%rsp), %rdx
callq 0x11510
jmp 0xcc3ba
leaq 0x1d5dc(%rip), %rdx     # 0xe999d
leaq 0x288(%rsp), %rdi
leaq 0x268(%rsp), %rsi
callq 0x114c0
jmp 0xcc3d8
leaq 0x288(%rsp), %rdi
callq 0x173d0
jmp 0xcc3e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
jmp 0xcc52f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
jmp 0xcc522
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
jmp 0xcc515
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
jmp 0xcc508
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
jmp 0xcc4ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
jmp 0xcc4e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
jmp 0xcc4d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
jmp 0xcc4c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
leaq 0x288(%rsp), %rdi
callq 0xdf08
leaq 0x268(%rsp), %rdi
callq 0xdf08
leaq 0x1c0(%rsp), %rdi
callq 0xdf08
leaq 0x1a0(%rsp), %rdi
callq 0xdf08
leaq 0x19f(%rsp), %rdi
callq 0xd7a0
leaq 0x248(%rsp), %rdi
callq 0xdf08
leaq 0x228(%rsp), %rdi
callq 0xdf08
leaq 0x1e0(%rsp), %rdi
callq 0xdf08
leaq 0x208(%rsp), %rdi
callq 0xdf08
leaq 0x207(%rsp), %rdi
callq 0xd7a0
jmp 0xcc88c
movl $0x1, %edi
callq 0xd8e0
callq 0xd0a0
movq 0x60(%rsp), %rdi
movl $0x0, (%rax)
movq 0x3c8(%rsp), %rax
addq $0x28, %rax
movq %rax, 0x20(%rsp)
movq 0x30(%rdi), %rax
movq %rax, 0x28(%rsp)
addq $0x38, %rdi
callq 0xd520
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rdx
movq %rax, %rcx
leaq 0x178(%rsp), %rdi
callq 0xd740
movq 0x60(%rsp), %rsi
addq $0x38, %rsi
leaq 0x178(%rsp), %rdi
callq 0x4c8a0
xorb $-0x1, %al
movb %al, 0x37(%rsp)
leaq 0x178(%rsp), %rdi
callq 0xdf08
movb 0x37(%rsp), %al
testb $0x1, %al
jne 0xcc5ce
jmp 0xcc843
callq 0xd8c0
cmpl $0x0, %eax
jne 0xcc839
leaq 0xd7(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xdd50
movq 0x18(%rsp), %rdx
leaq 0x1be4c(%rip), %rsi     # 0xe8446
leaq 0xd8(%rsp), %rdi
callq 0xfae0
jmp 0xcc609
leaq 0xb0(%rsp), %rdi
movl $0x1232, %esi           # imm = 0x1232
callq 0x11600
jmp 0xcc61d
leaq 0xf8(%rsp), %rdi
leaq 0xd8(%rsp), %rsi
leaq 0xb0(%rsp), %rdx
callq 0x11510
jmp 0xcc63c
leaq 0x16b8e(%rip), %rdx     # 0xe31d1
leaq 0x118(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
callq 0x114c0
jmp 0xcc65a
leaq 0x6f(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xdd50
movq 0x10(%rsp), %rdx
leaq 0x1d2f5(%rip), %rsi     # 0xe996a
leaq 0x70(%rsp), %rdi
callq 0xfae0
jmp 0xcc681
leaq 0x1731c(%rip), %rdx     # 0xe39a4
leaq 0x90(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x114c0
jmp 0xcc69c
leaq 0x138(%rsp), %rdi
leaq 0x118(%rsp), %rsi
leaq 0x90(%rsp), %rdx
callq 0x11510
jmp 0xcc6bb
leaq 0x1d2fb(%rip), %rdx     # 0xe99bd
leaq 0x158(%rsp), %rdi
leaq 0x138(%rsp), %rsi
callq 0x114c0
jmp 0xcc6d9
leaq 0x158(%rsp), %rdi
callq 0x173d0
jmp 0xcc6e8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
jmp 0xcc82a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
jmp 0xcc81d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
jmp 0xcc810
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
jmp 0xcc803
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
jmp 0xcc7ec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
jmp 0xcc7e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
jmp 0xcc7d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
jmp 0xcc7c8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x318(%rsp)
movl %eax, 0x314(%rsp)
leaq 0x158(%rsp), %rdi
callq 0xdf08
leaq 0x138(%rsp), %rdi
callq 0xdf08
leaq 0x90(%rsp), %rdi
callq 0xdf08
leaq 0x70(%rsp), %rdi
callq 0xdf08
leaq 0x6f(%rsp), %rdi
callq 0xd7a0
leaq 0x118(%rsp), %rdi
callq 0xdf08
leaq 0xf8(%rsp), %rdi
callq 0xdf08
leaq 0xb0(%rsp), %rdi
callq 0xdf08
leaq 0xd8(%rsp), %rdi
callq 0xdf08
leaq 0xd7(%rsp), %rdi
callq 0xd7a0
jmp 0xcc88c
movl $0x1, %edi
callq 0xd8e0
movq 0x60(%rsp), %rdi
movq 0x3c8(%rsp), %rax
addq $0x28, %rax
movq %rax, (%rsp)
movq 0x30(%rdi), %rax
movq %rax, 0x8(%rsp)
addq $0x38, %rdi
callq 0xd520
movq 0x60(%rsp), %rcx
movq (%rsp), %rdi
movq 0x8(%rsp), %rsi
movq %rax, %rdx
addq $0x58, %rcx
callq 0xd290
addq $0x3d8, %rsp            # imm = 0x3D8
retq
movq 0x318(%rsp), %rdi
callq 0xdd40
nopl (%rax)