// File: ncbi[P]amr/seq.cpp
// Function: Seq_sp::KmerIndex::IdRecord::put(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&)
void KmerIndex::IdRecord::put (string &s)
{ 
  ASSERT (! s. empty ());
  ASSERT (! contains (s, no_char));
  
  size_t i = s. size ();
  while (i-- > 0)
  {
    if (full ())
    {
      s. erase (i + 1);
      return;
    }
    ASSERT (text [start] == no_char);
    text [start] = s [i];
    start++;
  }
  s. clear ();
}

// Assembly:
subq $0x398, %rsp            # imm = 0x398
movq %rdi, 0x390(%rsp)
movq %rsi, 0x388(%rsp)
movq 0x390(%rsp), %rax
movq %rax, 0x38(%rsp)
callq 0xd0a0
movl $0x0, (%rax)
movq 0x388(%rsp), %rdi
callq 0xdc60
testb $0x1, %al
jne 0xcde55
jmp 0xce0dc
callq 0xd8c0
cmpl $0x0, %eax
jne 0xce0d2
leaq 0x2e7(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0xdd50
movq 0x30(%rsp), %rdx
leaq 0x1a5c5(%rip), %rsi     # 0xe8446
leaq 0x2e8(%rsp), %rdi
callq 0xfae0
jmp 0xcde90
leaq 0x2b0(%rsp), %rdi
movl $0x1287, %esi           # imm = 0x1287
callq 0x11600
jmp 0xcdea4
leaq 0x308(%rsp), %rdi
leaq 0x2e8(%rsp), %rsi
leaq 0x2b0(%rsp), %rdx
callq 0x11510
jmp 0xcdec3
leaq 0x15307(%rip), %rdx     # 0xe31d1
leaq 0x328(%rsp), %rdi
leaq 0x308(%rsp), %rsi
callq 0x114c0
jmp 0xcdee1
leaq 0x26f(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xdd50
movq 0x28(%rsp), %rdx
leaq 0x1bbcb(%rip), %rsi     # 0xe9aca
leaq 0x270(%rsp), %rdi
callq 0xfae0
jmp 0xcdf0e
leaq 0x15a8f(%rip), %rdx     # 0xe39a4
leaq 0x290(%rsp), %rdi
leaq 0x270(%rsp), %rsi
callq 0x114c0
jmp 0xcdf2c
leaq 0x348(%rsp), %rdi
leaq 0x328(%rsp), %rsi
leaq 0x290(%rsp), %rdx
callq 0x11510
jmp 0xcdf4b
leaq 0x1bba8(%rip), %rdx     # 0xe9afa
leaq 0x368(%rsp), %rdi
leaq 0x348(%rsp), %rsi
callq 0x114c0
jmp 0xcdf69
leaq 0x368(%rsp), %rdi
callq 0x173d0
jmp 0xcdf78
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0xce0c0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0xce0b3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0xce0a6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0xce099
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0xce07f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0xce072
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0xce065
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0xce058
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
leaq 0x368(%rsp), %rdi
callq 0xdf08
leaq 0x348(%rsp), %rdi
callq 0xdf08
leaq 0x290(%rsp), %rdi
callq 0xdf08
leaq 0x270(%rsp), %rdi
callq 0xdf08
leaq 0x26f(%rsp), %rdi
callq 0xd7a0
leaq 0x328(%rsp), %rdi
callq 0xdf08
leaq 0x308(%rsp), %rdi
callq 0xdf08
leaq 0x2b0(%rsp), %rdi
callq 0xdf08
leaq 0x2e8(%rsp), %rdi
callq 0xdf08
leaq 0x2e7(%rsp), %rdi
callq 0xd7a0
jmp 0xce6cf
movl $0x1, %edi
callq 0xd8e0
callq 0xd0a0
movl $0x0, (%rax)
movq 0x388(%rsp), %rdi
xorl %esi, %esi
callq 0x4bd20
testb $0x1, %al
jne 0xce0ff
jmp 0xce386
callq 0xd8c0
cmpl $0x0, %eax
jne 0xce37c
leaq 0x1c7(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xdd50
movq 0x20(%rsp), %rdx
leaq 0x1a31b(%rip), %rsi     # 0xe8446
leaq 0x1c8(%rsp), %rdi
callq 0xfae0
jmp 0xce13a
leaq 0x1a0(%rsp), %rdi
movl $0x1288, %esi           # imm = 0x1288
callq 0x11600
jmp 0xce14e
leaq 0x1e8(%rsp), %rdi
leaq 0x1c8(%rsp), %rsi
leaq 0x1a0(%rsp), %rdx
callq 0x11510
jmp 0xce16d
leaq 0x1505d(%rip), %rdx     # 0xe31d1
leaq 0x208(%rsp), %rdi
leaq 0x1e8(%rsp), %rsi
callq 0x114c0
jmp 0xce18b
leaq 0x15f(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xdd50
movq 0x18(%rsp), %rdx
leaq 0x1b921(%rip), %rsi     # 0xe9aca
leaq 0x160(%rsp), %rdi
callq 0xfae0
jmp 0xce1b8
leaq 0x157e5(%rip), %rdx     # 0xe39a4
leaq 0x180(%rsp), %rdi
leaq 0x160(%rsp), %rsi
callq 0x114c0
jmp 0xce1d6
leaq 0x228(%rsp), %rdi
leaq 0x208(%rsp), %rsi
leaq 0x180(%rsp), %rdx
callq 0x11510
jmp 0xce1f5
leaq 0x1b90c(%rip), %rdx     # 0xe9b08
leaq 0x248(%rsp), %rdi
leaq 0x228(%rsp), %rsi
callq 0x114c0
jmp 0xce213
leaq 0x248(%rsp), %rdi
callq 0x173d0
jmp 0xce222
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0xce36a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0xce35d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0xce350
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0xce343
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0xce329
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0xce31c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0xce30f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0xce302
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
leaq 0x248(%rsp), %rdi
callq 0xdf08
leaq 0x228(%rsp), %rdi
callq 0xdf08
leaq 0x180(%rsp), %rdi
callq 0xdf08
leaq 0x160(%rsp), %rdi
callq 0xdf08
leaq 0x15f(%rsp), %rdi
callq 0xd7a0
leaq 0x208(%rsp), %rdi
callq 0xdf08
leaq 0x1e8(%rsp), %rdi
callq 0xdf08
leaq 0x1a0(%rsp), %rdi
callq 0xdf08
leaq 0x1c8(%rsp), %rdi
callq 0xdf08
leaq 0x1c7(%rsp), %rdi
callq 0xd7a0
jmp 0xce6cf
movl $0x1, %edi
callq 0xd8e0
movq 0x388(%rsp), %rdi
callq 0xd520
movq %rax, 0x150(%rsp)
movq 0x150(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, 0x150(%rsp)
cmpq $0x0, %rax
jbe 0xce6ba
movq 0x38(%rsp), %rdi
callq 0xcd1e0
testb $0x1, %al
jne 0xce3cc
jmp 0xce3f1
movq 0x388(%rsp), %rdi
movq 0x150(%rsp), %rsi
addq $0x1, %rsi
movq $-0x1, %rdx
callq 0xd170
jmp 0xce6c7
callq 0xd0a0
movq %rax, %rcx
movq 0x38(%rsp), %rax
movl $0x0, (%rcx)
movq 0x30(%rax), %rcx
movsbl 0x18(%rax,%rcx), %eax
cmpl $0x0, %eax
je 0xce682
callq 0xd8c0
cmpl $0x0, %eax
jne 0xce678
leaq 0xaf(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xdd50
movq 0x10(%rsp), %rdx
leaq 0x1a004(%rip), %rsi     # 0xe8446
leaq 0xb0(%rsp), %rdi
callq 0xfae0
jmp 0xce451
leaq 0x88(%rsp), %rdi
movl $0x1292, %esi           # imm = 0x1292
callq 0x11600
jmp 0xce465
leaq 0xd0(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
leaq 0x88(%rsp), %rdx
callq 0x11510
jmp 0xce484
leaq 0x14d46(%rip), %rdx     # 0xe31d1
leaq 0xf0(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0x114c0
jmp 0xce4a2
leaq 0x47(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xdd50
movq 0x8(%rsp), %rdx
leaq 0x1b60d(%rip), %rsi     # 0xe9aca
leaq 0x48(%rsp), %rdi
callq 0xfae0
jmp 0xce4c9
leaq 0x154d4(%rip), %rdx     # 0xe39a4
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x114c0
jmp 0xce4e1
leaq 0x110(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
leaq 0x68(%rsp), %rdx
callq 0x11510
jmp 0xce4fd
leaq 0x1b61c(%rip), %rdx     # 0xe9b20
leaq 0x130(%rsp), %rdi
leaq 0x110(%rsp), %rsi
callq 0x114c0
jmp 0xce51b
leaq 0x130(%rsp), %rdi
callq 0x173d0
jmp 0xce52a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0xce669
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0xce65c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0xce64f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0xce642
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0xce62b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0xce621
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0xce617
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0xce60a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%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 0xce6cf
movl $0x1, %edi
callq 0xd8e0
movq 0x388(%rsp), %rdi
movq 0x150(%rsp), %rsi
callq 0xdec0
movq %rax, %rcx
movq 0x38(%rsp), %rax
movb (%rcx), %dl
movq 0x30(%rax), %rcx
movb %dl, 0x18(%rax,%rcx)
movq 0x30(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x30(%rax)
jmp 0xce39b
movq 0x388(%rsp), %rdi
callq 0xd9c0
addq $0x398, %rsp            # imm = 0x398
retq
movq 0x2d8(%rsp), %rdi
callq 0xdd40
nopl (%rax)