// File: /workspace/github_cpp_makefile_star2_O1/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 0x66e70
movq (%r14), %r15
movq 0x8(%r14), %rax
subq %r15, %rax
cmpq $0x40, %rax
jne 0x46ff8
leaq 0x20(%r15), %rsi
leaq 0x20(%rsp), %rdi
movl $0x18, %edx
callq 0x279c0
movq 0x8(%r15), %r14
cmpq 0x49cbe(%rip), %r14     # 0x90ba0
jne 0x46f07
testq %r14, %r14
je 0x46ffc
movq 0x49ca4(%rip), %rsi     # 0x90b98
movq (%r15), %rdi
movq %r14, %rdx
callq 0x275f0
testl %eax, %eax
je 0x46ffc
cmpq 0x49cf2(%rip), %r14     # 0x90c00
jne 0x46f33
testq %r14, %r14
je 0x47013
movq 0x49cd8(%rip), %rsi     # 0x90bf8
movq (%r15), %rdi
movq %r14, %rdx
callq 0x275f0
testl %eax, %eax
je 0x47013
cmpq 0x49c86(%rip), %r14     # 0x90bc0
jne 0x46f5f
testq %r14, %r14
je 0x47029
movq 0x49c6c(%rip), %rsi     # 0x90bb8
movq (%r15), %rdi
movq %r14, %rdx
callq 0x275f0
testl %eax, %eax
je 0x47029
cmpq 0x49c7a(%rip), %r14     # 0x90be0
jne 0x46f8b
testq %r14, %r14
je 0x47040
movq 0x49c60(%rip), %rsi     # 0x90bd8
movq (%r15), %rdi
movq %r14, %rdx
callq 0x275f0
testl %eax, %eax
je 0x47040
movq 0x4904e(%rip), %rdi     # 0x8ffe0
leaq 0x2d4b7(%rip), %rsi     # 0x74450
movl $0x2e, %edx
callq 0x276c0
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq 0x4902f(%rip), %rdi     # 0x8ffe0
callq 0x276c0
movq %rax, %rbx
leaq 0x2d4bf(%rip), %rsi     # 0x7447f
movl $0xe, %edx
movq %rax, %rdi
callq 0x276c0
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 0x47058
xorl %ebp, %ebp
jmp 0x47062
leaq 0x90(%rbx), %rsi
leaq 0x20(%rsp), %rdi
callq 0x273d0
movb $0x1, 0x7(%rbx)
jmp 0x47055
addq $0x8, %rbx
movb $0x1, %bpl
leaq 0x20(%rsp), %rdi
movq %rbx, %rsi
callq 0x274f0
jmp 0x47058
leaq 0x98(%rbx), %rsi
leaq 0x20(%rsp), %rdi
callq 0x278a0
movb $0x1, 0x9(%rbx)
jmp 0x47055
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 0x2f0de
movl %ebp, %eax
addq $0x1a8, %rsp            # imm = 0x1A8
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
jmp 0x4708e
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x27490
leaq 0x8(%rsp), %rdi
callq 0x2f0de
movq %rbx, %rdi
callq 0x27b20
movq %rax, %rdi
callq 0x2e1ed