// File: /workspace/github_cpp_makefile_star2_O3/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xc8, %rsp
movq %r8, %rbp
movq %rcx, %r13
movq %rdx, %r12
movq %rdi, %rbx
leaq 0x8(%rdi), %rax
xorl %ecx, %ecx
movl %ecx, 0x8(%rdi)
movq %rcx, 0x10(%rdi)
movq %rax, 0x18(%rdi)
movq %rax, 0x20(%rdi)
leaq 0x50(%rdi), %rax
movl %ecx, 0x50(%rdi)
movq %rcx, 0x58(%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x28(%rdi)
movups %xmm0, 0x38(%rdi)
movq %rax, 0x60(%rdi)
movq %rax, 0x68(%rdi)
movups %xmm0, 0x70(%rdi)
movups %xmm0, 0x80(%rdi)
movb $0x1, 0x90(%rdi)
leaq 0x98(%rdi), %r14
leaq 0xa8(%rdi), %rax
movq %rax, 0x68(%rsp)
movq %rax, 0x98(%rdi)
movq (%rsi), %rax
movq 0x8(%rsi), %rdx
addq %rax, %rdx
movq %r14, %rdi
movq %rax, %rsi
callq 0x90dc
leaq 0xb8(%rbx), %r15
leaq 0xc8(%rbx), %rax
movq %rax, 0x60(%rsp)
movq %rax, 0xb8(%rbx)
movq (%r12), %rsi
movq 0x8(%r12), %rdx
addq %rsi, %rdx
movq %r15, %rdi
movq %r14, 0xc0(%rsp)
callq 0x90dc
leaq 0xd8(%rbx), %r12
leaq 0xe8(%rbx), %rax
movq %rax, 0x58(%rsp)
movq %rax, 0xd8(%rbx)
movq (%r13), %rsi
movq 0x8(%r13), %rdx
addq %rsi, %rdx
movq %r12, %rdi
movq %r15, 0xb8(%rsp)
callq 0x90dc
leaq 0xf8(%rbx), %r13
leaq 0x108(%rbx), %rax
movq %rax, 0x50(%rsp)
movq %rax, 0xf8(%rbx)
movq (%rbp), %rsi
movq 0x8(%rbp), %rdx
addq %rsi, %rdx
movq %r13, %rdi
movq %r12, 0xb0(%rsp)
callq 0x90dc
movq %rbx, 0x28aa2(%rip)     # 0x2e848
leaq 0x40(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x1b400(%rip), %rsi     # 0x211b6
leaq 0x1b400(%rip), %rdx     # 0x211bd
leaq 0x30(%rsp), %rdi
callq 0x9172
leaq 0x20(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x1b249(%rip), %rsi     # 0x21020
leaq 0x1b259(%rip), %rdx     # 0x21037
leaq 0x10(%rsp), %rdi
callq 0x9172
leaq 0xa0(%rsp), %r12
movq %r12, -0x10(%r12)
xorl %eax, %eax
movq %rax, -0x8(%r12)
movb %al, (%r12)
leaq 0x80(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rax, -0x8(%r15)
movb %al, (%r15)
leaq 0x30(%rsp), %rdx
leaq 0x10(%rsp), %rcx
leaq 0x90(%rsp), %r8
leaq 0x70(%rsp), %r9
movq %rbx, %rdi
movl $0x20, %esi
callq 0x60d4
movq 0x70(%rsp), %rdi
cmpq %r15, %rdi
je 0x5e51
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x5410
movq 0x90(%rsp), %rdi
cmpq %r12, %rdi
je 0x5e6e
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x5410
movq 0x10(%rsp), %rdi
cmpq %r14, %rdi
je 0x5e85
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x5410
movq 0x30(%rsp), %rdi
cmpq %rbp, %rdi
je 0x5e9c
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x5410
leaq 0x30(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x1b18d(%rip), %rsi     # 0x21038
leaq 0x1b18a(%rip), %rdx     # 0x2103c
callq 0x9172
leaq 0x10(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x1b177(%rip), %rsi     # 0x2103d
leaq 0x1b191(%rip), %rdx     # 0x2105e
callq 0x9172
leaq 0x90(%rsp), %r8
movq %r12, (%r8)
xorl %eax, %eax
movq %rax, 0x8(%r8)
movb %al, 0x10(%r8)
leaq 0x70(%rsp), %r9
movq %r15, (%r9)
movq %rax, 0x8(%r9)
movb %al, 0x10(%r9)
leaq 0x30(%rsp), %rdx
leaq 0x10(%rsp), %rcx
movq %rbx, %rdi
movl $0x68, %esi
callq 0x60d4
movq 0x70(%rsp), %rdi
cmpq %r15, %rdi
je 0x5f28
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x5410
movq 0x90(%rsp), %rdi
cmpq %r12, %rdi
je 0x5f45
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x5410
movq 0x10(%rsp), %rdi
cmpq %r14, %rdi
je 0x5f5c
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x5410
movq 0x30(%rsp), %rdi
cmpq %rbp, %rdi
je 0x5f73
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x5410
addq $0xc8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x5f8b
jmp 0x5fe0
jmp 0x5ffe
movq %rax, 0x8(%rsp)
movq 0x70(%rsp), %rdi
cmpq %r15, %rdi
je 0x5faa
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x5410
movq 0x90(%rsp), %rdi
cmpq %r12, %rdi
je 0x5fc7
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x5410
movq 0x10(%rsp), %rdi
cmpq %r14, %rdi
je 0x5fe5
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x5410
jmp 0x5fe5
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6003
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x5410
jmp 0x6003
movq %rax, 0x8(%rsp)
movq (%r13), %rdi
cmpq 0x50(%rsp), %rdi
je 0x6025
movq 0x50(%rsp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x5410
jmp 0x6025
movq %rax, 0x8(%rsp)
movq 0xb0(%rsp), %rax
movq (%rax), %rdi
cmpq 0x58(%rsp), %rdi
je 0x604e
movq 0x58(%rsp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x5410
jmp 0x604e
movq %rax, 0x8(%rsp)
movq 0xb8(%rsp), %rax
movq (%rax), %rdi
cmpq 0x60(%rsp), %rdi
je 0x6077
movq 0x60(%rsp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x5410
jmp 0x6077
movq %rax, 0x8(%rsp)
movq 0xc0(%rsp), %rax
movq (%rax), %rdi
cmpq 0x68(%rsp), %rdi
je 0x6099
movq 0x68(%rsp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x5410
leaq 0x78(%rbx), %rdi
leaq 0x30(%rbx), %r14
leaq 0x48(%rbx), %r15
callq 0x896e
movq %r15, %rdi
callq 0x8f6a
movq %r14, %rdi
callq 0x896e
movq %rbx, %rdi
callq 0x8fe2
movq 0x8(%rsp), %rdi
callq 0x5720
movq %rax, 0x8(%rsp)
jmp 0x6099
nop