// File: ncbi[P]amr/common.cpp
// Function: Common_sp::Application::addKey(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&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void Application::addKey (const string &name, 
                          const string &argDescription,
                          const string &defaultValue,
                          char acronym,
                          const string &var)
{
  ASSERT (! name. empty ());
  ASSERT (! contains (name2arg, name));
  if (acronym && contains (char2arg, acronym))
  	throw logic_error ("Duplicate key " + strQuote (string (1, acronym)));
  keyArgs << Key (*this, name, argDescription, defaultValue, acronym, var);
  name2arg [name] = & keyArgs. back ();
  if (acronym)
  	char2arg [acronym] = & keyArgs. back ();
}

// Assembly:
subq $0x418, %rsp            # imm = 0x418
movb %r8b, %al
movq %rdi, 0x410(%rsp)
movq %rsi, 0x408(%rsp)
movq %rdx, 0x400(%rsp)
movq %rcx, 0x3f8(%rsp)
movb %al, 0x3f7(%rsp)
movq %r9, 0x3e8(%rsp)
movq 0x410(%rsp), %rax
movq %rax, 0x68(%rsp)
callq 0xc090
movl $0x0, (%rax)
movq 0x408(%rsp), %rdi
callq 0xcc10
testb $0x1, %al
jne 0x62ff7
jmp 0x6327e
callq 0xc8c0
cmpl $0x0, %eax
jne 0x63274
leaq 0x347(%rsp), %rdi
movq %rdi, 0x60(%rsp)
callq 0xcd00
movq 0x60(%rsp), %rdx
leaq 0x6a9f6(%rip), %rsi     # 0xcda19
leaq 0x348(%rsp), %rdi
callq 0x29fd0
jmp 0x63032
leaq 0x310(%rsp), %rdi
movl $0xe7a, %esi            # imm = 0xE7A
callq 0x2ded0
jmp 0x63046
leaq 0x368(%rsp), %rdi
leaq 0x348(%rsp), %rsi
leaq 0x310(%rsp), %rdx
callq 0x2dde0
jmp 0x63065
leaq 0x68b35(%rip), %rdx     # 0xcbba1
leaq 0x388(%rsp), %rdi
leaq 0x368(%rsp), %rsi
callq 0x2a2f0
jmp 0x63083
leaq 0x2cf(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0xcd00
movq 0x58(%rsp), %rdx
leaq 0x6c2e2(%rip), %rsi     # 0xcf383
leaq 0x2d0(%rsp), %rdi
callq 0x29fd0
jmp 0x630b0
leaq 0x6a95f(%rip), %rdx     # 0xcda16
leaq 0x2f0(%rsp), %rdi
leaq 0x2d0(%rsp), %rsi
callq 0x2a2f0
jmp 0x630ce
leaq 0x3a8(%rsp), %rdi
leaq 0x388(%rsp), %rsi
leaq 0x2f0(%rsp), %rdx
callq 0x2dde0
jmp 0x630ed
leaq 0x6b797(%rip), %rdx     # 0xce88b
leaq 0x3c8(%rsp), %rdi
leaq 0x3a8(%rsp), %rsi
callq 0x2a2f0
jmp 0x6310b
leaq 0x3c8(%rsp), %rdi
callq 0x3e9b0
jmp 0x6311a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x338(%rsp)
movl %eax, 0x334(%rsp)
jmp 0x63262
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x338(%rsp)
movl %eax, 0x334(%rsp)
jmp 0x63255
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x338(%rsp)
movl %eax, 0x334(%rsp)
jmp 0x63248
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x338(%rsp)
movl %eax, 0x334(%rsp)
jmp 0x6323b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x338(%rsp)
movl %eax, 0x334(%rsp)
jmp 0x63221
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x338(%rsp)
movl %eax, 0x334(%rsp)
jmp 0x63214
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x338(%rsp)
movl %eax, 0x334(%rsp)
jmp 0x63207
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x338(%rsp)
movl %eax, 0x334(%rsp)
jmp 0x631fa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x338(%rsp)
movl %eax, 0x334(%rsp)
leaq 0x3c8(%rsp), %rdi
callq 0xce98
leaq 0x3a8(%rsp), %rdi
callq 0xce98
leaq 0x2f0(%rsp), %rdi
callq 0xce98
leaq 0x2d0(%rsp), %rdi
callq 0xce98
leaq 0x2cf(%rsp), %rdi
callq 0xc7a0
leaq 0x388(%rsp), %rdi
callq 0xce98
leaq 0x368(%rsp), %rdi
callq 0xce98
leaq 0x310(%rsp), %rdi
callq 0xce98
leaq 0x348(%rsp), %rdi
callq 0xce98
leaq 0x347(%rsp), %rdi
callq 0xc7a0
jmp 0x637da
movl $0x1, %edi
callq 0xc8d0
callq 0xc090
movq 0x68(%rsp), %rdi
movl $0x0, (%rax)
addq $0x100, %rdi            # imm = 0x100
movq 0x408(%rsp), %rsi
callq 0x76610
testb $0x1, %al
jne 0x632ab
jmp 0x63532
callq 0xc8c0
cmpl $0x0, %eax
jne 0x63528
leaq 0x227(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0xcd00
movq 0x50(%rsp), %rdx
leaq 0x6a742(%rip), %rsi     # 0xcda19
leaq 0x228(%rsp), %rdi
callq 0x29fd0
jmp 0x632e6
leaq 0x200(%rsp), %rdi
movl $0xe7b, %esi            # imm = 0xE7B
callq 0x2ded0
jmp 0x632fa
leaq 0x248(%rsp), %rdi
leaq 0x228(%rsp), %rsi
leaq 0x200(%rsp), %rdx
callq 0x2dde0
jmp 0x63319
leaq 0x68881(%rip), %rdx     # 0xcbba1
leaq 0x268(%rsp), %rdi
leaq 0x248(%rsp), %rsi
callq 0x2a2f0
jmp 0x63337
leaq 0x1bf(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0xcd00
movq 0x48(%rsp), %rdx
leaq 0x6c02e(%rip), %rsi     # 0xcf383
leaq 0x1c0(%rsp), %rdi
callq 0x29fd0
jmp 0x63364
leaq 0x6a6ab(%rip), %rdx     # 0xcda16
leaq 0x1e0(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
callq 0x2a2f0
jmp 0x63382
leaq 0x288(%rsp), %rdi
leaq 0x268(%rsp), %rsi
leaq 0x1e0(%rsp), %rdx
callq 0x2dde0
jmp 0x633a1
leaq 0x6c045(%rip), %rdx     # 0xcf3ed
leaq 0x2a8(%rsp), %rdi
leaq 0x288(%rsp), %rsi
callq 0x2a2f0
jmp 0x633bf
leaq 0x2a8(%rsp), %rdi
callq 0x3e9b0
jmp 0x633ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x338(%rsp)
movl %eax, 0x334(%rsp)
jmp 0x63516
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x338(%rsp)
movl %eax, 0x334(%rsp)
jmp 0x63509
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x338(%rsp)
movl %eax, 0x334(%rsp)
jmp 0x634fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x338(%rsp)
movl %eax, 0x334(%rsp)
jmp 0x634ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x338(%rsp)
movl %eax, 0x334(%rsp)
jmp 0x634d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x338(%rsp)
movl %eax, 0x334(%rsp)
jmp 0x634c8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x338(%rsp)
movl %eax, 0x334(%rsp)
jmp 0x634bb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x338(%rsp)
movl %eax, 0x334(%rsp)
jmp 0x634ae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x338(%rsp)
movl %eax, 0x334(%rsp)
leaq 0x2a8(%rsp), %rdi
callq 0xce98
leaq 0x288(%rsp), %rdi
callq 0xce98
leaq 0x1e0(%rsp), %rdi
callq 0xce98
leaq 0x1c0(%rsp), %rdi
callq 0xce98
leaq 0x1bf(%rsp), %rdi
callq 0xc7a0
leaq 0x268(%rsp), %rdi
callq 0xce98
leaq 0x248(%rsp), %rdi
callq 0xce98
leaq 0x200(%rsp), %rdi
callq 0xce98
leaq 0x228(%rsp), %rdi
callq 0xce98
leaq 0x227(%rsp), %rdi
callq 0xc7a0
jmp 0x637da
movl $0x1, %edi
callq 0xc8d0
cmpb $0x0, 0x3f7(%rsp)
je 0x636cc
movq 0x68(%rsp), %rdi
addq $0x130, %rdi            # imm = 0x130
leaq 0x3f7(%rsp), %rsi
callq 0x76660
testb $0x1, %al
jne 0x63562
jmp 0x636cc
movb $0x1, 0x156(%rsp)
movl $0x10, %edi
callq 0xc3b0
movq %rax, 0x30(%rsp)
movsbl 0x3f7(%rsp), %eax
movl %eax, 0x3c(%rsp)
leaq 0x157(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0xcd00
movl 0x3c(%rsp), %edx
movq 0x40(%rsp), %rcx
leaq 0x158(%rsp), %rdi
movl $0x1, %esi
callq 0x2c1e0
jmp 0x635b4
leaq 0x178(%rsp), %rdi
leaq 0x158(%rsp), %rsi
movl $0x22, %edx
callq 0x424f0
jmp 0x635d0
leaq 0x6be32(%rip), %rsi     # 0xcf409
leaq 0x198(%rsp), %rdi
leaq 0x178(%rsp), %rdx
callq 0x2a340
jmp 0x635ee
movq 0x30(%rsp), %rdi
leaq 0x198(%rsp), %rsi
callq 0xcad0
jmp 0x63602
movq 0x30(%rsp), %rdi
movb $0x0, 0x156(%rsp)
movq 0xa29b2(%rip), %rsi     # 0x105fc8
movq 0xa2963(%rip), %rdx     # 0x105f80
callq 0xcc80
jmp 0x637e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x338(%rsp)
movl %eax, 0x334(%rsp)
jmp 0x636a4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x338(%rsp)
movl %eax, 0x334(%rsp)
jmp 0x63697
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x338(%rsp)
movl %eax, 0x334(%rsp)
jmp 0x6368a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x338(%rsp)
movl %eax, 0x334(%rsp)
leaq 0x198(%rsp), %rdi
callq 0xce98
leaq 0x178(%rsp), %rdi
callq 0xce98
leaq 0x158(%rsp), %rdi
callq 0xce98
leaq 0x157(%rsp), %rdi
callq 0xc7a0
testb $0x1, 0x156(%rsp)
jne 0x636bd
jmp 0x636c7
movq 0x30(%rsp), %rdi
callq 0xc580
jmp 0x637da
movq 0x68(%rsp), %rsi
movq %rsi, %rax
addq $0xe8, %rax
movq %rax, 0x20(%rsp)
movq 0x408(%rsp), %rdx
movq 0x400(%rsp), %rcx
movq 0x3f8(%rsp), %r8
movsbl 0x3f7(%rsp), %r9d
movq 0x3e8(%rsp), %rdi
movq %rsp, %rax
movq %rdi, (%rax)
leaq 0x70(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x766e0
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0x766b0
jmp 0x6372e
leaq 0x70(%rsp), %rdi
callq 0x2ba10
movq 0x68(%rsp), %rdi
addq $0xe8, %rdi
callq 0x767e0
movq 0x68(%rsp), %rdi
movq %rax, 0x18(%rsp)
addq $0x100, %rdi            # imm = 0x100
movq 0x408(%rsp), %rsi
callq 0x76820
movq 0x18(%rsp), %rcx
movq %rcx, (%rax)
cmpb $0x0, 0x3f7(%rsp)
je 0x637d2
movq 0x68(%rsp), %rdi
addq $0xe8, %rdi
callq 0x767e0
movq 0x68(%rsp), %rdi
movq %rax, 0x10(%rsp)
addq $0x130, %rdi            # imm = 0x130
leaq 0x3f7(%rsp), %rsi
callq 0x76910
movq 0x10(%rsp), %rcx
movq %rcx, (%rax)
jmp 0x637d2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x338(%rsp)
movl %eax, 0x334(%rsp)
leaq 0x70(%rsp), %rdi
callq 0x2ba10
jmp 0x637da
addq $0x418, %rsp            # imm = 0x418
retq
movq 0x338(%rsp), %rdi
callq 0xccf0
nopw (%rax,%rax)