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

// Assembly:
subq $0x3f8, %rsp            # imm = 0x3F8
movb %cl, %al
movq %rdi, 0x3f0(%rsp)
movq %rsi, 0x3e8(%rsp)
movq %rdx, 0x3e0(%rsp)
movb %al, 0x3df(%rsp)
movq 0x3f0(%rsp), %rax
movq %rax, 0x58(%rsp)
callq 0xc090
movl $0x0, (%rax)
movq 0x3e8(%rsp), %rdi
callq 0xcc10
testb $0x1, %al
jne 0x63846
jmp 0x63acd
callq 0xc8c0
cmpl $0x0, %eax
jne 0x63ac3
leaq 0x337(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0xcd00
movq 0x50(%rsp), %rdx
leaq 0x6a1a7(%rip), %rsi     # 0xcda19
leaq 0x338(%rsp), %rdi
callq 0x29fd0
jmp 0x63881
leaq 0x300(%rsp), %rdi
movl $0xe8a, %esi            # imm = 0xE8A
callq 0x2ded0
jmp 0x63895
leaq 0x358(%rsp), %rdi
leaq 0x338(%rsp), %rsi
leaq 0x300(%rsp), %rdx
callq 0x2dde0
jmp 0x638b4
leaq 0x682e6(%rip), %rdx     # 0xcbba1
leaq 0x378(%rsp), %rdi
leaq 0x358(%rsp), %rsi
callq 0x2a2f0
jmp 0x638d2
leaq 0x2bf(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0xcd00
movq 0x48(%rsp), %rdx
leaq 0x6bb28(%rip), %rsi     # 0xcf418
leaq 0x2c0(%rsp), %rdi
callq 0x29fd0
jmp 0x638ff
leaq 0x6a110(%rip), %rdx     # 0xcda16
leaq 0x2e0(%rsp), %rdi
leaq 0x2c0(%rsp), %rsi
callq 0x2a2f0
jmp 0x6391d
leaq 0x398(%rsp), %rdi
leaq 0x378(%rsp), %rsi
leaq 0x2e0(%rsp), %rdx
callq 0x2dde0
jmp 0x6393c
leaq 0x6af48(%rip), %rdx     # 0xce88b
leaq 0x3b8(%rsp), %rdi
leaq 0x398(%rsp), %rsi
callq 0x2a2f0
jmp 0x6395a
leaq 0x3b8(%rsp), %rdi
callq 0x3e9b0
jmp 0x63969
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x328(%rsp)
movl %eax, 0x324(%rsp)
jmp 0x63ab1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x328(%rsp)
movl %eax, 0x324(%rsp)
jmp 0x63aa4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x328(%rsp)
movl %eax, 0x324(%rsp)
jmp 0x63a97
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x328(%rsp)
movl %eax, 0x324(%rsp)
jmp 0x63a8a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x328(%rsp)
movl %eax, 0x324(%rsp)
jmp 0x63a70
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x328(%rsp)
movl %eax, 0x324(%rsp)
jmp 0x63a63
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x328(%rsp)
movl %eax, 0x324(%rsp)
jmp 0x63a56
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x328(%rsp)
movl %eax, 0x324(%rsp)
jmp 0x63a49
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x328(%rsp)
movl %eax, 0x324(%rsp)
leaq 0x3b8(%rsp), %rdi
callq 0xce98
leaq 0x398(%rsp), %rdi
callq 0xce98
leaq 0x2e0(%rsp), %rdi
callq 0xce98
leaq 0x2c0(%rsp), %rdi
callq 0xce98
leaq 0x2bf(%rsp), %rdi
callq 0xc7a0
leaq 0x378(%rsp), %rdi
callq 0xce98
leaq 0x358(%rsp), %rdi
callq 0xce98
leaq 0x300(%rsp), %rdi
callq 0xce98
leaq 0x338(%rsp), %rdi
callq 0xce98
leaq 0x337(%rsp), %rdi
callq 0xc7a0
jmp 0x64011
movl $0x1, %edi
callq 0xc8d0
callq 0xc090
movq 0x58(%rsp), %rdi
movl $0x0, (%rax)
addq $0x100, %rdi            # imm = 0x100
movq 0x3e8(%rsp), %rsi
callq 0x76610
testb $0x1, %al
jne 0x63afa
jmp 0x63d81
callq 0xc8c0
cmpl $0x0, %eax
jne 0x63d77
leaq 0x217(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0xcd00
movq 0x40(%rsp), %rdx
leaq 0x69ef3(%rip), %rsi     # 0xcda19
leaq 0x218(%rsp), %rdi
callq 0x29fd0
jmp 0x63b35
leaq 0x1f0(%rsp), %rdi
movl $0xe8b, %esi            # imm = 0xE8B
callq 0x2ded0
jmp 0x63b49
leaq 0x238(%rsp), %rdi
leaq 0x218(%rsp), %rsi
leaq 0x1f0(%rsp), %rdx
callq 0x2dde0
jmp 0x63b68
leaq 0x68032(%rip), %rdx     # 0xcbba1
leaq 0x258(%rsp), %rdi
leaq 0x238(%rsp), %rsi
callq 0x2a2f0
jmp 0x63b86
leaq 0x1af(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0xcd00
movq 0x38(%rsp), %rdx
leaq 0x6b874(%rip), %rsi     # 0xcf418
leaq 0x1b0(%rsp), %rdi
callq 0x29fd0
jmp 0x63bb3
leaq 0x69e5c(%rip), %rdx     # 0xcda16
leaq 0x1d0(%rsp), %rdi
leaq 0x1b0(%rsp), %rsi
callq 0x2a2f0
jmp 0x63bd1
leaq 0x278(%rsp), %rdi
leaq 0x258(%rsp), %rsi
leaq 0x1d0(%rsp), %rdx
callq 0x2dde0
jmp 0x63bf0
leaq 0x6b7f6(%rip), %rdx     # 0xcf3ed
leaq 0x298(%rsp), %rdi
leaq 0x278(%rsp), %rsi
callq 0x2a2f0
jmp 0x63c0e
leaq 0x298(%rsp), %rdi
callq 0x3e9b0
jmp 0x63c1d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x328(%rsp)
movl %eax, 0x324(%rsp)
jmp 0x63d65
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x328(%rsp)
movl %eax, 0x324(%rsp)
jmp 0x63d58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x328(%rsp)
movl %eax, 0x324(%rsp)
jmp 0x63d4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x328(%rsp)
movl %eax, 0x324(%rsp)
jmp 0x63d3e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x328(%rsp)
movl %eax, 0x324(%rsp)
jmp 0x63d24
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x328(%rsp)
movl %eax, 0x324(%rsp)
jmp 0x63d17
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x328(%rsp)
movl %eax, 0x324(%rsp)
jmp 0x63d0a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x328(%rsp)
movl %eax, 0x324(%rsp)
jmp 0x63cfd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x328(%rsp)
movl %eax, 0x324(%rsp)
leaq 0x298(%rsp), %rdi
callq 0xce98
leaq 0x278(%rsp), %rdi
callq 0xce98
leaq 0x1d0(%rsp), %rdi
callq 0xce98
leaq 0x1b0(%rsp), %rdi
callq 0xce98
leaq 0x1af(%rsp), %rdi
callq 0xc7a0
leaq 0x258(%rsp), %rdi
callq 0xce98
leaq 0x238(%rsp), %rdi
callq 0xce98
leaq 0x1f0(%rsp), %rdi
callq 0xce98
leaq 0x218(%rsp), %rdi
callq 0xce98
leaq 0x217(%rsp), %rdi
callq 0xc7a0
jmp 0x64011
movl $0x1, %edi
callq 0xc8d0
cmpb $0x0, 0x3df(%rsp)
je 0x63f1b
movq 0x58(%rsp), %rdi
addq $0x130, %rdi            # imm = 0x130
leaq 0x3df(%rsp), %rsi
callq 0x76660
testb $0x1, %al
jne 0x63db1
jmp 0x63f1b
movb $0x1, 0x146(%rsp)
movl $0x10, %edi
callq 0xc3b0
movq %rax, 0x20(%rsp)
movsbl 0x3df(%rsp), %eax
movl %eax, 0x2c(%rsp)
leaq 0x147(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0xcd00
movl 0x2c(%rsp), %edx
movq 0x30(%rsp), %rcx
leaq 0x148(%rsp), %rdi
movl $0x1, %esi
callq 0x2c1e0
jmp 0x63e03
leaq 0x168(%rsp), %rdi
leaq 0x148(%rsp), %rsi
movl $0x22, %edx
callq 0x424f0
jmp 0x63e1f
leaq 0x6b63d(%rip), %rsi     # 0xcf463
leaq 0x188(%rsp), %rdi
leaq 0x168(%rsp), %rdx
callq 0x2a340
jmp 0x63e3d
movq 0x20(%rsp), %rdi
leaq 0x188(%rsp), %rsi
callq 0xcad0
jmp 0x63e51
movq 0x20(%rsp), %rdi
movb $0x0, 0x146(%rsp)
movq 0xa2163(%rip), %rsi     # 0x105fc8
movq 0xa2114(%rip), %rdx     # 0x105f80
callq 0xcc80
jmp 0x6401e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x328(%rsp)
movl %eax, 0x324(%rsp)
jmp 0x63ef3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x328(%rsp)
movl %eax, 0x324(%rsp)
jmp 0x63ee6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x328(%rsp)
movl %eax, 0x324(%rsp)
jmp 0x63ed9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x328(%rsp)
movl %eax, 0x324(%rsp)
leaq 0x188(%rsp), %rdi
callq 0xce98
leaq 0x168(%rsp), %rdi
callq 0xce98
leaq 0x148(%rsp), %rdi
callq 0xce98
leaq 0x147(%rsp), %rdi
callq 0xc7a0
testb $0x1, 0x146(%rsp)
jne 0x63f0c
jmp 0x63f16
movq 0x20(%rsp), %rdi
callq 0xc580
jmp 0x64011
movq 0x58(%rsp), %rsi
movq %rsi, %rax
addq $0xe8, %rax
movq %rax, 0x10(%rsp)
movq 0x3e8(%rsp), %rdx
movq 0x3e0(%rsp), %rcx
movsbl 0x3df(%rsp), %r8d
leaq 0x60(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x76a00
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x766b0
jmp 0x63f67
leaq 0x60(%rsp), %rdi
callq 0x2ba10
movq 0x58(%rsp), %rdi
addq $0xe8, %rdi
callq 0x767e0
movq 0x58(%rsp), %rdi
movq %rax, 0x8(%rsp)
addq $0x100, %rdi            # imm = 0x100
movq 0x3e8(%rsp), %rsi
callq 0x76820
movq 0x8(%rsp), %rcx
movq %rcx, (%rax)
cmpb $0x0, 0x3df(%rsp)
je 0x64009
movq 0x58(%rsp), %rdi
addq $0xe8, %rdi
callq 0x767e0
movq 0x58(%rsp), %rdi
movq %rax, (%rsp)
addq $0x130, %rdi            # imm = 0x130
leaq 0x3df(%rsp), %rsi
callq 0x76910
movq (%rsp), %rcx
movq %rcx, (%rax)
jmp 0x64009
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x328(%rsp)
movl %eax, 0x324(%rsp)
leaq 0x60(%rsp), %rdi
callq 0x2ba10
jmp 0x64011
addq $0x3f8, %rsp            # imm = 0x3F8
retq
movq 0x328(%rsp), %rdi
callq 0xccf0
nop