// File: /workspace/github_cpp_makefile_star2_O3/zeeev[P]DASVC/bamtools/src/toolkit/bamtools_resolve.cpp
// Function: BamTools::ResolveTool::StatsFileReader::ParseOptionLine(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, BamTools::ResolveTool::ResolveSettings*)
bool ResolveTool::StatsFileReader::ParseOptionLine(const string& line,
                                                   ResolveTool::ResolveSettings* settings)
{
    // split line into option, value
    vector<string> fields = Utilities::Split(line, EQUAL_CHAR);
    if ( fields.size() != NUM_OPTIONS_FIELDS )
        return false;
    const string& option = fields.at(0);
    stringstream value(fields.at(1));

    // -----------------------------------
    // handle option based on keyword

    // ConfidenceInterval
    if ( option == OPTION_CONFIDENCEINTERVAL ) {
        value >> settings->ConfidenceInterval;
        settings->HasConfidenceInterval = true;
        return true;
    }

    // ForceMarkReadGroups
    if ( option == OPTION_FORCEMARKREADGROUPS ) {
        value >> settings->HasForceMarkReadGroups;
        return true;
    }

    // MinimumMapQuality
    if ( option == OPTION_MINIMUMMAPQUALITY ) {
        value >> settings->MinimumMapQuality;
        settings->HasMinimumMapQuality = true;
        return true;
    }

    // UnusedModelThreshold
    if ( option == OPTION_UNUSEDMODELTHRESHOLD ) {
        value >> settings->UnusedModelThreshold;
        settings->HasUnusedModelThreshold = true;
        return true;
    }

    // otherwise unknown option
    cerr << "bamtools resolve ERROR - unrecognized option: " << option << " in stats file" << endl;
    return false;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x1a8, %rsp            # imm = 0x1A8
movq %rdx, %rbx
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movl $0x3d, %edx
callq 0x668cc
movq (%r14), %r15
movq 0x8(%r14), %rax
subq %r15, %rax
cmpq $0x40, %rax
jne 0x46ef2
leaq 0x20(%r15), %rsi
leaq 0x20(%rsp), %rdi
movl $0x18, %edx
callq 0x279b0
movq 0x8(%r15), %r14
cmpq 0x48dbc(%rip), %r14     # 0x8fb98
jne 0x46e01
testq %r14, %r14
je 0x46ef6
movq 0x48da2(%rip), %rsi     # 0x8fb90
movq (%r15), %rdi
movq %r14, %rdx
callq 0x275f0
testl %eax, %eax
je 0x46ef6
cmpq 0x48df0(%rip), %r14     # 0x8fbf8
jne 0x46e2d
testq %r14, %r14
je 0x46f0d
movq 0x48dd6(%rip), %rsi     # 0x8fbf0
movq (%r15), %rdi
movq %r14, %rdx
callq 0x275f0
testl %eax, %eax
je 0x46f0d
cmpq 0x48d84(%rip), %r14     # 0x8fbb8
jne 0x46e59
testq %r14, %r14
je 0x46f23
movq 0x48d6a(%rip), %rsi     # 0x8fbb0
movq (%r15), %rdi
movq %r14, %rdx
callq 0x275f0
testl %eax, %eax
je 0x46f23
cmpq 0x48d78(%rip), %r14     # 0x8fbd8
jne 0x46e85
testq %r14, %r14
je 0x46f3a
movq 0x48d5e(%rip), %rsi     # 0x8fbd0
movq (%r15), %rdi
movq %r14, %rdx
callq 0x275f0
testl %eax, %eax
je 0x46f3a
movq 0x48154(%rip), %rdi     # 0x8efe0
leaq 0x2c5d5(%rip), %rsi     # 0x73468
movl $0x2e, %edx
callq 0x276b0
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq 0x48135(%rip), %rdi     # 0x8efe0
callq 0x276b0
movq %rax, %rbx
leaq 0x2c5dd(%rip), %rsi     # 0x73497
movl $0xe, %edx
movq %rax, %rdi
callq 0x276b0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x27590
movsbl %al, %esi
movq %rbx, %rdi
callq 0x27040
movq %rax, %rdi
callq 0x27410
xorl %ebp, %ebp
jmp 0x46f52
xorl %ebp, %ebp
jmp 0x46f5c
leaq 0x90(%rbx), %rsi
leaq 0x20(%rsp), %rdi
callq 0x273d0
movb $0x1, 0x7(%rbx)
jmp 0x46f4f
addq $0x8, %rbx
movb $0x1, %bpl
leaq 0x20(%rsp), %rdi
movq %rbx, %rsi
callq 0x274f0
jmp 0x46f52
leaq 0x98(%rbx), %rsi
leaq 0x20(%rsp), %rdi
callq 0x27890
movb $0x1, 0x9(%rbx)
jmp 0x46f4f
leaq 0xa0(%rbx), %rsi
leaq 0x20(%rsp), %rdi
callq 0x273d0
movb $0x1, 0xa(%rbx)
movb $0x1, %bpl
leaq 0x20(%rsp), %rdi
callq 0x27490
leaq 0x8(%rsp), %rdi
callq 0x2f0c0
movl %ebp, %eax
addq $0x1a8, %rsp            # imm = 0x1A8
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
jmp 0x46f88
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x27490
leaq 0x8(%rsp), %rdi
callq 0x2f0c0
movq %rbx, %rdi
callq 0x27b10
movq %rax, %rdi
callq 0x2e1cd