// File: zeeev[P]DASVC/bamtools/src/utils/bamtools_filter_engine.h
// Function: BamTools::FilterEngine<BamTools::BamAlignmentChecker>::buildDefaultRuleString()
inline void FilterEngine<FilterChecker>::buildDefaultRuleString(void) {
  
    // set up temp string stream 
    std::stringstream ruleStream("");
  
    // get first filterName
    FilterMap::const_iterator mapIter = m_filters.begin();
    ruleStream << (*mapIter).first;
    
    // if there are more filters present
    // iterate over remaining filters, appending compare operator and filter name
    if ( m_filters.size() > 1 ) {        
        for ( ++mapIter ; mapIter != m_filters.end(); ++mapIter )
            ruleStream << ( (m_defaultCompareType == FilterCompareType::AND) ? " & " : " | " ) 
                       << (*mapIter).first;
    }

    // set m_ruleString from temp stream
    m_ruleString = ruleStream.str();
}

// Assembly:
subq $0x268, %rsp            # imm = 0x268
movq %rdi, 0x260(%rsp)
movq 0x260(%rsp), %rax
movq %rax, 0x50(%rsp)
leaq 0xb7(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0x86da0
movq 0x58(%rsp), %rdx
leaq 0x84319(%rip), %rsi     # 0x134c73
leaq 0xb8(%rsp), %rdi
callq 0x86a00
jmp 0xb0969
movl $0x10, %edi
movl $0x8, %esi
callq 0x928c0
movl %eax, %edx
leaq 0xd8(%rsp), %rdi
leaq 0xb8(%rsp), %rsi
callq 0x86be0
jmp 0xb0991
leaq 0xb8(%rsp), %rdi
callq 0x86f68
jmp 0xb09a0
leaq 0xb7(%rsp), %rdi
callq 0x867b0
movq 0x50(%rsp), %rdi
callq 0xb1370
movq %rax, 0x48(%rsp)
jmp 0xb09be
movq 0x48(%rsp), %rax
movq %rax, 0x90(%rsp)
leaq 0x98(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0xafa80
jmp 0xb09e2
leaq 0xe8(%rsp), %rax
movq %rax, 0x38(%rsp)
leaq 0x98(%rsp), %rdi
callq 0xafaa0
movq %rax, 0x40(%rsp)
jmp 0xb0a03
movq 0x40(%rsp), %rsi
movq 0x38(%rsp), %rdi
callq 0x86640
jmp 0xb0a14
movq 0x50(%rsp), %rdi
callq 0xb13a0
movq %rax, 0x30(%rsp)
jmp 0xb0a25
movq 0x30(%rsp), %rax
cmpq $0x1, %rax
jbe 0xb0b91
leaq 0x98(%rsp), %rdi
callq 0xb13b0
jmp 0xb0a43
jmp 0xb0a45
movq 0x50(%rsp), %rdi
callq 0xabc50
movq %rax, 0x28(%rsp)
jmp 0xb0a56
movq 0x28(%rsp), %rax
movq %rax, 0x80(%rsp)
leaq 0x88(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0xafa80
jmp 0xb0a7a
leaq 0x98(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0xb13e0
movb %al, 0x27(%rsp)
jmp 0xb0a95
movb 0x27(%rsp), %al
testb $0x1, %al
jne 0xb0aa2
jmp 0xb0b8f
movq 0x50(%rsp), %rax
leaq 0xd8(%rsp), %rcx
addq $0x10, %rcx
movq %rcx, 0x18(%rsp)
cmpl $0x0, 0xbc(%rax)
jne 0xb0acf
leaq 0x7f2a8(%rip), %rax     # 0x12fd70
movq %rax, 0x10(%rsp)
jmp 0xb0add
leaq 0x7f29e(%rip), %rax     # 0x12fd74
movq %rax, 0x10(%rsp)
jmp 0xb0add
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x86700
movq %rax, 0x8(%rsp)
jmp 0xb0af3
leaq 0x98(%rsp), %rdi
callq 0xafaa0
movq %rax, (%rsp)
jmp 0xb0b06
movq (%rsp), %rsi
movq 0x8(%rsp), %rdi
callq 0x86640
jmp 0xb0b16
jmp 0xb0b18
leaq 0x98(%rsp), %rdi
callq 0xb13b0
jmp 0xb0b27
jmp 0xb0a45
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
jmp 0xb0b67
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
leaq 0xb8(%rsp), %rdi
callq 0x86f68
jmp 0xb0b65
jmp 0xb0b67
leaq 0xb7(%rsp), %rdi
callq 0x867b0
jmp 0xb0c0e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
jmp 0xb0bfd
jmp 0xb0b91
leaq 0x60(%rsp), %rdi
leaq 0xd8(%rsp), %rsi
callq 0x866f0
jmp 0xb0ba5
movq 0x50(%rsp), %rdi
addq $0x48, %rdi
leaq 0x60(%rsp), %rsi
callq 0x86070
jmp 0xb0bba
leaq 0x60(%rsp), %rdi
callq 0x86f68
jmp 0xb0bc6
leaq 0xd8(%rsp), %rdi
callq 0x86580
addq $0x268, %rsp            # imm = 0x268
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
leaq 0x60(%rsp), %rdi
callq 0x86f68
jmp 0xb0bfb
jmp 0xb0bfd
leaq 0xd8(%rsp), %rdi
callq 0x86580
jmp 0xb0c0c
jmp 0xb0c0e
movq 0xa8(%rsp), %rdi
callq 0x86d80
movq %rax, %rdi
callq 0x91290
nopw %cs:(%rax,%rax)
nopl (%rax)