// File: jovermann[P]streplace/src/CommandLineParser.cpp
// Function: ut1::CommandLineParser::CommandLineParser(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&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
CommandLineParser::CommandLineParser(const std::string& programName_, const std::string& usage_, const std::string& footer_, const std::string& version_)
: programName(programName_)
, usage(usage_)
, footer(footer_)
, version(version_)
{
    instance = this;

    // Appear in --help in reverse order:
    addOption(' ', "version", "Print version and exit.");
    addOption('h', "help", "Print this help message and exit.");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1e0, %rsp            # imm = 0x1E0
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x168(%rbp)
movq %rdi, %rax
movq %rax, -0x188(%rbp)
callq 0xb2b0
movq -0x168(%rbp), %rdi
addq $0x30, %rdi
movq %rdi, -0x180(%rbp)
callq 0xb2d0
movq -0x168(%rbp), %rdi
addq $0x48, %rdi
movq %rdi, -0x178(%rbp)
callq 0xb2f0
movq -0x168(%rbp), %rdi
addq $0x78, %rdi
movq %rdi, -0x170(%rbp)
callq 0xb2d0
movq -0x168(%rbp), %rdi
movb $0x1, 0x90(%rdi)
addq $0x98, %rdi
movq %rdi, -0x160(%rbp)
movq -0x10(%rbp), %rsi
callq 0x7280
jmp 0x7f25
movq -0x188(%rbp), %rdi
addq $0xb8, %rdi
movq %rdi, -0x190(%rbp)
movq -0x18(%rbp), %rsi
callq 0x7280
jmp 0x7f45
movq -0x188(%rbp), %rdi
addq $0xd8, %rdi
movq %rdi, -0x198(%rbp)
movq -0x20(%rbp), %rsi
callq 0x7280
jmp 0x7f65
movq -0x188(%rbp), %rdi
addq $0xf8, %rdi
movq %rdi, -0x1a0(%rbp)
movq -0x28(%rbp), %rsi
callq 0x7280
jmp 0x7f85
movq -0x188(%rbp), %rax
movq %rax, 0x62a65(%rip)     # 0x6a9f8
leaq -0x59(%rbp), %rdi
movq %rdi, -0x1a8(%rbp)
callq 0x7a50
movq -0x1a8(%rbp), %rdx
leaq 0x421e9(%rip), %rsi     # 0x4a19a
leaq -0x58(%rbp), %rdi
callq 0xb310
jmp 0x7fbc
leaq -0x81(%rbp), %rdi
movq %rdi, -0x1b0(%rbp)
callq 0x7a50
movq -0x1b0(%rbp), %rdx
leaq 0x42027(%rip), %rsi     # 0x4a004
leaq -0x80(%rbp), %rdi
callq 0xb310
jmp 0x7fe8
leaq -0xa8(%rbp), %rdi
movq %rdi, -0x1c0(%rbp)
callq 0x7860
leaq -0xc8(%rbp), %rdi
movq %rdi, -0x1b8(%rbp)
callq 0x7860
movq -0x188(%rbp), %rdi
movq -0x1c0(%rbp), %r8
movq -0x1b8(%rbp), %r9
movl $0x20, %esi
leaq -0x58(%rbp), %rdx
leaq -0x80(%rbp), %rcx
callq 0x8300
jmp 0x8037
leaq -0xc8(%rbp), %rdi
callq 0x73c0
leaq -0xa8(%rbp), %rdi
callq 0x73c0
leaq -0x80(%rbp), %rdi
callq 0x73c0
leaq -0x81(%rbp), %rdi
callq 0x7670
leaq -0x58(%rbp), %rdi
callq 0x73c0
leaq -0x59(%rbp), %rdi
callq 0x7670
leaq -0xe9(%rbp), %rdi
movq %rdi, -0x1c8(%rbp)
callq 0x7a50
movq -0x1c8(%rbp), %rdx
leaq 0x41f85(%rip), %rsi     # 0x4a01c
leaq -0xe8(%rbp), %rdi
callq 0xb310
jmp 0x80a5
leaq -0x111(%rbp), %rdi
movq %rdi, -0x1d0(%rbp)
callq 0x7a50
movq -0x1d0(%rbp), %rdx
leaq 0x41f5b(%rip), %rsi     # 0x4a021
leaq -0x110(%rbp), %rdi
callq 0xb310
jmp 0x80d4
leaq -0x138(%rbp), %rdi
movq %rdi, -0x1e0(%rbp)
callq 0x7860
leaq -0x158(%rbp), %rdi
movq %rdi, -0x1d8(%rbp)
callq 0x7860
movq -0x188(%rbp), %rdi
movq -0x1e0(%rbp), %r8
movq -0x1d8(%rbp), %r9
movl $0x68, %esi
leaq -0xe8(%rbp), %rdx
leaq -0x110(%rbp), %rcx
callq 0x8300
jmp 0x8129
leaq -0x158(%rbp), %rdi
callq 0x73c0
leaq -0x138(%rbp), %rdi
callq 0x73c0
leaq -0x110(%rbp), %rdi
callq 0x73c0
leaq -0x111(%rbp), %rdi
callq 0x7670
leaq -0xe8(%rbp), %rdi
callq 0x73c0
leaq -0xe9(%rbp), %rdi
callq 0x7670
addq $0x1e0, %rsp            # imm = 0x1E0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x82c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x82bb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x82af
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x82a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x821c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x8207
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x73c0
leaq -0xa8(%rbp), %rdi
callq 0x73c0
leaq -0x80(%rbp), %rdi
callq 0x73c0
leaq -0x81(%rbp), %rdi
callq 0x7670
leaq -0x58(%rbp), %rdi
callq 0x73c0
leaq -0x59(%rbp), %rdi
callq 0x7670
jmp 0x8297
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x828b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x8273
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x158(%rbp), %rdi
callq 0x73c0
leaq -0x138(%rbp), %rdi
callq 0x73c0
leaq -0x110(%rbp), %rdi
callq 0x73c0
leaq -0x111(%rbp), %rdi
callq 0x7670
leaq -0xe8(%rbp), %rdi
callq 0x73c0
leaq -0xe9(%rbp), %rdi
callq 0x7670
movq -0x1a0(%rbp), %rdi
callq 0x73c0
movq -0x198(%rbp), %rdi
callq 0x73c0
movq -0x190(%rbp), %rdi
callq 0x73c0
movq -0x160(%rbp), %rdi
callq 0x73c0
movq -0x170(%rbp), %rdi
callq 0xb3c0
movq -0x178(%rbp), %rdi
callq 0xb420
movq -0x180(%rbp), %rdi
callq 0xb3c0
movq -0x168(%rbp), %rdi
callq 0xb440
movq -0x30(%rbp), %rdi
callq 0x7a30