// File: zeeev[P]DASVC/bamtools/src/toolkit/bamtools_filter.cpp
// Function: BamTools::FilterTool::FilterToolPrivate::InitProperties()
void FilterTool::FilterToolPrivate::InitProperties(void) {
  
    // store property names in vector 
    m_propertyNames.push_back(ALIGNMENTFLAG_PROPERTY);
    m_propertyNames.push_back(CIGAR_PROPERTY);
    m_propertyNames.push_back(INSERTSIZE_PROPERTY);
    m_propertyNames.push_back(ISDUPLICATE_PROPERTY);
    m_propertyNames.push_back(ISFAILEDQC_PROPERTY);
    m_propertyNames.push_back(ISFIRSTMATE_PROPERTY);
    m_propertyNames.push_back(ISMAPPED_PROPERTY);
    m_propertyNames.push_back(ISMATEMAPPED_PROPERTY);
    m_propertyNames.push_back(ISMATEREVERSESTRAND_PROPERTY);
    m_propertyNames.push_back(ISPAIRED_PROPERTY);
    m_propertyNames.push_back(ISPRIMARYALIGNMENT_PROPERTY);
    m_propertyNames.push_back(ISPROPERPAIR_PROPERTY);
    m_propertyNames.push_back(ISREVERSESTRAND_PROPERTY);
    m_propertyNames.push_back(ISSECONDMATE_PROPERTY);
    m_propertyNames.push_back(ISSINGLETON_PROPERTY);
    m_propertyNames.push_back(LENGTH_PROPERTY);
    m_propertyNames.push_back(MAPQUALITY_PROPERTY);
    m_propertyNames.push_back(MATEPOSITION_PROPERTY);
    m_propertyNames.push_back(MATEREFERENCE_PROPERTY);
    m_propertyNames.push_back(NAME_PROPERTY);
    m_propertyNames.push_back(POSITION_PROPERTY);
    m_propertyNames.push_back(QUERYBASES_PROPERTY);
    m_propertyNames.push_back(REFERENCE_PROPERTY);
    m_propertyNames.push_back(TAG_PROPERTY);
    
    // add vector contents to FilterEngine<BamAlignmentChecker>
    vector<string>::const_iterator propertyNameIter = m_propertyNames.begin();
    vector<string>::const_iterator propertyNameEnd  = m_propertyNames.end();
    for ( ; propertyNameIter != propertyNameEnd; ++propertyNameIter )
        m_filterEngine.addProperty((*propertyNameIter));
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rdi
movq %rdi, 0x8(%rsp)
leaq 0xcaf3e(%rip), %rsi     # 0x1658d8
callq 0x91220
movq 0x8(%rsp), %rdi
leaq 0xcaf4d(%rip), %rsi     # 0x1658f8
callq 0x91220
movq 0x8(%rsp), %rdi
leaq 0xcaf5c(%rip), %rsi     # 0x165918
callq 0x91220
movq 0x8(%rsp), %rdi
leaq 0xcaf6b(%rip), %rsi     # 0x165938
callq 0x91220
movq 0x8(%rsp), %rdi
leaq 0xcaf7a(%rip), %rsi     # 0x165958
callq 0x91220
movq 0x8(%rsp), %rdi
leaq 0xcaf89(%rip), %rsi     # 0x165978
callq 0x91220
movq 0x8(%rsp), %rdi
leaq 0xcaf98(%rip), %rsi     # 0x165998
callq 0x91220
movq 0x8(%rsp), %rdi
leaq 0xcafa7(%rip), %rsi     # 0x1659b8
callq 0x91220
movq 0x8(%rsp), %rdi
leaq 0xcafb6(%rip), %rsi     # 0x1659d8
callq 0x91220
movq 0x8(%rsp), %rdi
leaq 0xcafc5(%rip), %rsi     # 0x1659f8
callq 0x91220
movq 0x8(%rsp), %rdi
leaq 0xcafd4(%rip), %rsi     # 0x165a18
callq 0x91220
movq 0x8(%rsp), %rdi
leaq 0xcafe3(%rip), %rsi     # 0x165a38
callq 0x91220
movq 0x8(%rsp), %rdi
leaq 0xcaff2(%rip), %rsi     # 0x165a58
callq 0x91220
movq 0x8(%rsp), %rdi
leaq 0xcb001(%rip), %rsi     # 0x165a78
callq 0x91220
movq 0x8(%rsp), %rdi
leaq 0xcb010(%rip), %rsi     # 0x165a98
callq 0x91220
movq 0x8(%rsp), %rdi
leaq 0xcb01f(%rip), %rsi     # 0x165ab8
callq 0x91220
movq 0x8(%rsp), %rdi
leaq 0xcb02e(%rip), %rsi     # 0x165ad8
callq 0x91220
movq 0x8(%rsp), %rdi
leaq 0xcb03d(%rip), %rsi     # 0x165af8
callq 0x91220
movq 0x8(%rsp), %rdi
leaq 0xcb04c(%rip), %rsi     # 0x165b18
callq 0x91220
movq 0x8(%rsp), %rdi
leaq 0xcb05b(%rip), %rsi     # 0x165b38
callq 0x91220
movq 0x8(%rsp), %rdi
leaq 0xcb06a(%rip), %rsi     # 0x165b58
callq 0x91220
movq 0x8(%rsp), %rdi
leaq 0xcb079(%rip), %rsi     # 0x165b78
callq 0x91220
movq 0x8(%rsp), %rdi
leaq 0xcb088(%rip), %rsi     # 0x165b98
callq 0x91220
movq 0x8(%rsp), %rdi
leaq 0xcb097(%rip), %rsi     # 0x165bb8
callq 0x91220
movq 0x8(%rsp), %rdi
callq 0x935d0
movq %rax, 0x20(%rsp)
leaq 0x28(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xa7230
movq 0x8(%rsp), %rdi
callq 0x93440
movq %rax, 0x10(%rsp)
leaq 0x18(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0xa7230
leaq 0x28(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x96260
testb $0x1, %al
jne 0x9ab77
jmp 0x9aba6
movq 0x8(%rsp), %rax
addq $0x20, %rax
movq %rax, (%rsp)
leaq 0x28(%rsp), %rdi
callq 0x962a0
movq (%rsp), %rdi
movq %rax, %rsi
callq 0xa7270
leaq 0x28(%rsp), %rdi
callq 0x962b0
jmp 0x9ab62
addq $0x38, %rsp
retq
nopl (%rax,%rax)