// File: ncbi[P]amr/tsv.cpp
// Function: Common_sp::TextTable::duplicateColumn(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void TextTable::duplicateColumn (const string &columnName_from,
                                 const string &columnName_to)
{
  ASSERT (! columnName_to. empty ());
  const ColNum from = col2num (columnName_from);
  if (hasColumn (columnName_to))
    throw runtime_error ("Table already has column " + strQuote (columnName_to));
  header << header [from];
  header. back (). name = columnName_to;
  for (StringVector& row : rows)
    row << row [from];
  qc ();
}

// Assembly:
subq $0x1e8, %rsp            # imm = 0x1E8
movq %rdi, 0x1e0(%rsp)
movq %rsi, 0x1d8(%rsp)
movq %rdx, 0x1d0(%rsp)
movq 0x1e0(%rsp), %rax
movq %rax, 0x38(%rsp)
callq 0xc090
movl $0x0, (%rax)
movq 0x1d0(%rsp), %rdi
callq 0xcc10
testb $0x1, %al
jne 0xb959d
jmp 0xb9824
callq 0xc8c0
cmpl $0x0, %eax
jne 0xb981a
leaq 0x12f(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0xcd00
movq 0x30(%rsp), %rdx
leaq 0x18100(%rip), %rsi     # 0xd16c9
leaq 0x130(%rsp), %rdi
callq 0x29fd0
jmp 0xb95d8
leaq 0xf8(%rsp), %rdi
movl $0x18d, %esi            # imm = 0x18D
callq 0x2ded0
jmp 0xb95ec
leaq 0x150(%rsp), %rdi
leaq 0x130(%rsp), %rsi
leaq 0xf8(%rsp), %rdx
callq 0x2dde0
jmp 0xb960b
leaq 0x1258f(%rip), %rdx     # 0xcbba1
leaq 0x170(%rsp), %rdi
leaq 0x150(%rsp), %rsi
callq 0x2a2f0
jmp 0xb9629
leaq 0xb7(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xcd00
movq 0x28(%rsp), %rdx
leaq 0x18228(%rip), %rsi     # 0xd186f
leaq 0xb8(%rsp), %rdi
callq 0x29fd0
jmp 0xb9656
leaq 0x143b9(%rip), %rdx     # 0xcda16
leaq 0xd8(%rsp), %rdi
leaq 0xb8(%rsp), %rsi
callq 0x2a2f0
jmp 0xb9674
leaq 0x190(%rsp), %rdi
leaq 0x170(%rsp), %rsi
leaq 0xd8(%rsp), %rdx
callq 0x2dde0
jmp 0xb9693
leaq 0x18220(%rip), %rdx     # 0xd18ba
leaq 0x1b0(%rsp), %rdi
leaq 0x190(%rsp), %rsi
callq 0x2a2f0
jmp 0xb96b1
leaq 0x1b0(%rsp), %rdi
callq 0x3e9b0
jmp 0xb96c0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x120(%rsp)
movl %eax, 0x11c(%rsp)
jmp 0xb9808
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x120(%rsp)
movl %eax, 0x11c(%rsp)
jmp 0xb97fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x120(%rsp)
movl %eax, 0x11c(%rsp)
jmp 0xb97ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x120(%rsp)
movl %eax, 0x11c(%rsp)
jmp 0xb97e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x120(%rsp)
movl %eax, 0x11c(%rsp)
jmp 0xb97c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x120(%rsp)
movl %eax, 0x11c(%rsp)
jmp 0xb97ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x120(%rsp)
movl %eax, 0x11c(%rsp)
jmp 0xb97ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x120(%rsp)
movl %eax, 0x11c(%rsp)
jmp 0xb97a0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x120(%rsp)
movl %eax, 0x11c(%rsp)
leaq 0x1b0(%rsp), %rdi
callq 0xce98
leaq 0x190(%rsp), %rdi
callq 0xce98
leaq 0xd8(%rsp), %rdi
callq 0xce98
leaq 0xb8(%rsp), %rdi
callq 0xce98
leaq 0xb7(%rsp), %rdi
callq 0xc7a0
leaq 0x170(%rsp), %rdi
callq 0xce98
leaq 0x150(%rsp), %rdi
callq 0xce98
leaq 0xf8(%rsp), %rdi
callq 0xce98
leaq 0x130(%rsp), %rdi
callq 0xce98
leaq 0x12f(%rsp), %rdi
callq 0xc7a0
jmp 0xb9a39
movl $0x1, %edi
callq 0xc8d0
movq 0x38(%rsp), %rdi
movq 0x1d8(%rsp), %rsi
callq 0x303c0
movq 0x38(%rsp), %rdi
movq %rax, 0xa8(%rsp)
movq 0x1d0(%rsp), %rsi
callq 0xbffe0
testb $0x1, %al
jne 0xb9859
jmp 0xb9946
movb $0x1, 0x67(%rsp)
movl $0x10, %edi
callq 0xc3b0
movq %rax, 0x20(%rsp)
movq 0x1d0(%rsp), %rsi
leaq 0x68(%rsp), %rdi
movl $0x22, %edx
callq 0x424f0
jmp 0xb9886
leaq 0x18047(%rip), %rsi     # 0xd18d4
leaq 0x88(%rsp), %rdi
leaq 0x68(%rsp), %rdx
callq 0x2a340
jmp 0xb98a1
movq 0x20(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0xcbb0
jmp 0xb98b5
movq 0x20(%rsp), %rdi
movb $0x0, 0x67(%rsp)
movq 0x4c72a(%rip), %rsi     # 0x105ff0
movq 0x4c6a3(%rip), %rdx     # 0x105f70
callq 0xcc80
jmp 0xb9a46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x120(%rsp)
movl %eax, 0x11c(%rsp)
jmp 0xb992e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x120(%rsp)
movl %eax, 0x11c(%rsp)
jmp 0xb9924
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x120(%rsp)
movl %eax, 0x11c(%rsp)
leaq 0x88(%rsp), %rdi
callq 0xce98
leaq 0x68(%rsp), %rdi
callq 0xce98
testb $0x1, 0x67(%rsp)
jne 0xb9937
jmp 0xb9941
movq 0x20(%rsp), %rdi
callq 0xc580
jmp 0xb9a39
movq 0x38(%rsp), %rdi
movq %rdi, %rax
addq $0x30, %rax
movq %rax, 0x10(%rsp)
addq $0x30, %rdi
movq 0xa8(%rsp), %rsi
callq 0xbfee0
movq 0x10(%rsp), %rdi
movq %rax, %rsi
callq 0xc05b0
movq 0x38(%rsp), %rdi
movq 0x1d0(%rsp), %rax
movq %rax, 0x18(%rsp)
addq $0x30, %rdi
callq 0xc05f0
movq 0x18(%rsp), %rsi
movq %rax, %rdi
addq $0x8, %rdi
callq 0xc080
movq 0x38(%rsp), %rax
addq $0x50, %rax
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rdi
callq 0x304e0
movq %rax, 0x50(%rsp)
movq 0x58(%rsp), %rdi
callq 0x30510
movq %rax, 0x48(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x30540
testb $0x1, %al
jne 0xb99e2
jmp 0xb9a26
leaq 0x50(%rsp), %rdi
callq 0x30580
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x40(%rsp), %rdi
movq 0xa8(%rsp), %rsi
callq 0x2f970
movq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x2f170
leaq 0x50(%rsp), %rdi
callq 0x30590
jmp 0xb99cd
movq 0x38(%rsp), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
addq $0x1e8, %rsp            # imm = 0x1E8
retq
movq 0x120(%rsp), %rdi
callq 0xccf0
nopw %cs:(%rax,%rax)