// File: hanhwi[P]SimPoint/analysiscode/CmdLineParser.cpp
// Function: CmdLineParser::specifyOption(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&)
bool CmdLineParser::specifyOption(const string &name, const string &argument) {
    CmdLineOption *opt = findOption(name);
    if (opt == NULL) { return false; }

    opt->setSpecified();
    if (opt->requiresArgument()) {
        if (argument == "") {
            parseError("CmdLineOption::specifyOption() need an argument, but "
                    "none was specified");
            return false;
        }

        if (! opt->parseArgument(argument)) {
            parseError("Parsing argument -" + opt->getName() + 
                        " : " + opt->getParseError());
            return false;
        }
    } else {
        Utilities::check(argument == "", "CmdLineOption::specifyOption() "
                "argument given, but none required");
        if (argument != "") {
            parseError("CmdLineOption::specifyOption() argument given, but "
                    "none allowed");
            return false;
        }
    }

    return true;
}

// Assembly:
subq $0x168, %rsp            # imm = 0x168
movq %rdi, 0x158(%rsp)
movq %rsi, 0x150(%rsp)
movq %rdx, 0x148(%rsp)
movq 0x158(%rsp), %rdi
movq %rdi, 0x30(%rsp)
movq 0x150(%rsp), %rsi
callq 0x75d0
movq %rax, 0x140(%rsp)
cmpq $0x0, 0x140(%rsp)
jne 0x7079
movb $0x0, 0x167(%rsp)
jmp 0x7454
movq 0x140(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movq 0x140(%rsp), %rdi
callq 0x76c0
testb $0x1, %al
jne 0x709d
jmp 0x72eb
movq 0x148(%rsp), %rdi
leaq 0x2c153(%rip), %rsi     # 0x331ff
callq 0x7b40
testb $0x1, %al
jne 0x70ba
jmp 0x716b
leaq 0x11f(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x56a0
movq 0x28(%rsp), %rdx
leaq 0x2bfd7(%rip), %rsi     # 0x330af
leaq 0x120(%rsp), %rdi
callq 0x74e0
jmp 0x70e7
movq 0x30(%rsp), %rdi
leaq 0x120(%rsp), %rsi
callq 0x75a0
jmp 0x70fb
leaq 0x120(%rsp), %rdi
callq 0x5788
leaq 0x11f(%rsp), %rdi
callq 0x53e0
movb $0x0, 0x167(%rsp)
jmp 0x7454
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x110(%rsp)
movl %eax, 0x10c(%rsp)
jmp 0x7159
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x110(%rsp)
movl %eax, 0x10c(%rsp)
leaq 0x120(%rsp), %rdi
callq 0x5788
leaq 0x11f(%rsp), %rdi
callq 0x53e0
jmp 0x7465
movq 0x140(%rsp), %rdi
movq 0x148(%rsp), %rsi
callq 0x76f0
testb $0x1, %al
jne 0x72e6
movq 0x140(%rsp), %rdi
callq 0x76e0
movq %rax, %rdx
leaq 0x2bef5(%rip), %rsi     # 0x33094
leaq 0xa8(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x7880
movq 0x20(%rsp), %rsi
leaq 0x2beea(%rip), %rdx     # 0x330a7
leaq 0xc8(%rsp), %rdi
callq 0x7830
jmp 0x71cc
movq 0x140(%rsp), %rsi
leaq 0x88(%rsp), %rdi
callq 0x79b0
jmp 0x71e3
leaq 0xe8(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
leaq 0x88(%rsp), %rdx
callq 0x7740
jmp 0x7202
movq 0x30(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x75a0
jmp 0x7216
leaq 0xe8(%rsp), %rdi
callq 0x5788
leaq 0x88(%rsp), %rdi
callq 0x5788
leaq 0xc8(%rsp), %rdi
callq 0x5788
leaq 0xa8(%rsp), %rdi
callq 0x5788
movb $0x0, 0x167(%rsp)
jmp 0x7454
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x110(%rsp)
movl %eax, 0x10c(%rsp)
jmp 0x72d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x110(%rsp)
movl %eax, 0x10c(%rsp)
jmp 0x72c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x110(%rsp)
movl %eax, 0x10c(%rsp)
jmp 0x72ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x110(%rsp)
movl %eax, 0x10c(%rsp)
leaq 0xe8(%rsp), %rdi
callq 0x5788
leaq 0x88(%rsp), %rdi
callq 0x5788
leaq 0xc8(%rsp), %rdi
callq 0x5788
leaq 0xa8(%rsp), %rdi
callq 0x5788
jmp 0x7465
jmp 0x744c
movq 0x148(%rsp), %rdi
leaq 0x2bf05(%rip), %rsi     # 0x331ff
callq 0x7b40
movb %al, 0x17(%rsp)
leaq 0x67(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x56a0
movq 0x18(%rsp), %rdx
leaq 0x2bdd9(%rip), %rsi     # 0x330f7
leaq 0x68(%rsp), %rdi
callq 0x74e0
jmp 0x732a
movb 0x17(%rsp), %al
movzbl %al, %edi
andl $0x1, %edi
leaq 0x68(%rsp), %rsi
callq 0x7480
jmp 0x7340
leaq 0x68(%rsp), %rdi
callq 0x5788
leaq 0x67(%rsp), %rdi
callq 0x53e0
movq 0x148(%rsp), %rdi
leaq 0x2be9c(%rip), %rsi     # 0x331ff
callq 0x7b70
testb $0x1, %al
jne 0x7371
jmp 0x744a
leaq 0x3f(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x56a0
movq 0x8(%rsp), %rdx
leaq 0x2bdac(%rip), %rsi     # 0x33138
leaq 0x40(%rsp), %rdi
callq 0x74e0
jmp 0x7398
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x75a0
jmp 0x73a9
leaq 0x40(%rsp), %rdi
callq 0x5788
leaq 0x3f(%rsp), %rdi
callq 0x53e0
movb $0x0, 0x167(%rsp)
jmp 0x7454
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x110(%rsp)
movl %eax, 0x10c(%rsp)
jmp 0x73fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x110(%rsp)
movl %eax, 0x10c(%rsp)
leaq 0x68(%rsp), %rdi
callq 0x5788
leaq 0x67(%rsp), %rdi
callq 0x53e0
jmp 0x7465
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x110(%rsp)
movl %eax, 0x10c(%rsp)
jmp 0x743e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x110(%rsp)
movl %eax, 0x10c(%rsp)
leaq 0x40(%rsp), %rdi
callq 0x5788
leaq 0x3f(%rsp), %rdi
callq 0x53e0
jmp 0x7465
jmp 0x744c
movb $0x1, 0x167(%rsp)
movb 0x167(%rsp), %al
andb $0x1, %al
addq $0x168, %rsp            # imm = 0x168
retq
movq 0x110(%rsp), %rdi
callq 0x5690
nopw %cs:(%rax,%rax)
nopl (%rax)