// File: /workspace/github_cpp_makefile_star2_O1/zeeev[P]DASVC/bamtools/src/toolkit/bamtools_count.cpp
// Function: BamTools::CountTool::CountTool()
CountTool::CountTool(void) 
    : AbstractTool()
    , m_settings(new CountSettings)
    , m_impl(0)
{ 
    // set program details
    Options::SetProgramInfo("bamtools count", "prints number of alignments in BAM file(s)",
                            "[-in <filename> -in <filename> ... | -list <filelist>] [-region <REGION>]");
    
    // set up options 
    OptionGroup* IO_Opts = Options::CreateOptionGroup("Input & Output");
    Options::AddValueOption("-in",     "BAM filename", "the input BAM file(s)", "", m_settings->HasInput,  m_settings->InputFiles, IO_Opts, Options::StandardIn());
    Options::AddValueOption("-list",   "filename", "the input BAM file list, one line per file", "", m_settings->HasInputFilelist,  m_settings->InputFilelist, IO_Opts);
    Options::AddValueOption("-region", "REGION",
                            "genomic region. Index file is recommended for better performance, and is used automatically if it exists. See \'bamtools help index\' for more details on creating one",
                            "", m_settings->HasRegion, m_settings->Region, IO_Opts);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
movq %rdi, %rbx
leaq 0x5ee0f(%rip), %rax     # 0x8f700
movq %rax, (%rdi)
movl $0x60, %edi
callq 0x275c0
movw $0x0, (%rax)
xorl %ecx, %ecx
movb %cl, 0x2(%rax)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%rax)
movq %rcx, 0x18(%rax)
leaq 0x30(%rax), %rdx
movq %rdx, 0x20(%rax)
movq %rcx, 0x28(%rax)
movb %cl, 0x30(%rax)
leaq 0x50(%rax), %rdx
movq %rdx, 0x40(%rax)
movq %rcx, 0x48(%rax)
movb %cl, 0x50(%rax)
movq %rax, 0x8(%rbx)
movq %rcx, 0x10(%rbx)
leaq 0x48(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x42075(%rip), %rsi     # 0x729bf
leaq 0x4207c(%rip), %rdx     # 0x729cd
leaq 0x38(%rsp), %rdi
callq 0x2f1b2
leaq 0x28(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x42063(%rip), %rsi     # 0x729ce
leaq 0x42086(%rip), %rdx     # 0x729f8
leaq 0x18(%rsp), %rdi
callq 0x2f1b2
leaq 0x68(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x4206d(%rip), %rsi     # 0x729f9
leaq 0x420af(%rip), %rdx     # 0x72a42
leaq 0x58(%rsp), %rdi
callq 0x2f1b2
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rsi
leaq 0x58(%rsp), %rdx
callq 0x646a4
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x309c0
callq 0x27560
movq 0x18(%rsp), %rdi
cmpq %r15, %rdi
je 0x309cf
callq 0x27560
movq 0x38(%rsp), %rdi
cmpq %r12, %rdi
je 0x309de
callq 0x27560
leaq 0x38(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x41b24(%rip), %rsi     # 0x72511
leaq 0x41b2b(%rip), %rdx     # 0x7251f
callq 0x2f1b2
leaq 0x38(%rsp), %rdi
callq 0x63a0c
movq %rax, %r14
movq 0x38(%rsp), %rdi
cmpq %r12, %rdi
je 0x30a15
callq 0x27560
leaq 0x38(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x41afc(%rip), %rsi     # 0x72520
leaq 0x41af8(%rip), %rdx     # 0x72523
callq 0x2f1b2
leaq 0x18(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x41ae5(%rip), %rsi     # 0x72524
leaq 0x41aea(%rip), %rdx     # 0x72530
callq 0x2f1b2
leaq 0x58(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x41ad7(%rip), %rsi     # 0x72531
leaq 0x41ae5(%rip), %rdx     # 0x72546
callq 0x2f1b2
leaq 0x88(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x46da2(%rip), %rdx     # 0x7781b
leaq 0x78(%rsp), %rdi
movq %rdx, %rsi
callq 0x2f1b2
movq 0x8(%rbx), %r15
callq 0x646e2
leaq 0x8(%r15), %r9
movq %rax, 0x8(%rsp)
movq %r14, (%rsp)
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rsi
leaq 0x58(%rsp), %rdx
leaq 0x78(%rsp), %rcx
movq %r15, %r8
callq 0x2e4f6
movq 0x78(%rsp), %rdi
cmpq %r13, %rdi
je 0x30ac7
callq 0x27560
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
leaq 0x28(%rsp), %r15
je 0x30adb
callq 0x27560
movq 0x18(%rsp), %rdi
cmpq %r15, %rdi
je 0x30aea
callq 0x27560
movq 0x38(%rsp), %rdi
cmpq %r12, %rdi
je 0x30af9
callq 0x27560
leaq 0x38(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x41a3f(%rip), %rsi     # 0x72547
leaq 0x41a3d(%rip), %rdx     # 0x7254c
callq 0x2f1b2
leaq 0x18(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x41ae3(%rip), %rsi     # 0x72606
leaq 0x41ae4(%rip), %rdx     # 0x7260e
callq 0x2f1b2
leaq 0x58(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x41a0f(%rip), %rsi     # 0x7254d
leaq 0x41a32(%rip), %rdx     # 0x72577
callq 0x2f1b2
leaq 0x78(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x46cc2(%rip), %rdx     # 0x7781b
movq %rdx, %rsi
callq 0x2f1b2
movq 0x8(%rbx), %r9
leaq 0x1(%r9), %r8
addq $0x20, %r9
movq %r14, (%rsp)
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rsi
leaq 0x58(%rsp), %rdx
leaq 0x78(%rsp), %rcx
callq 0x2e8ba
movq 0x78(%rsp), %rdi
cmpq %r13, %rdi
je 0x30b99
callq 0x27560
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x30ba8
callq 0x27560
movq 0x18(%rsp), %rdi
cmpq %r15, %rdi
je 0x30bb7
callq 0x27560
movq 0x38(%rsp), %rdi
cmpq %r12, %rdi
je 0x30bc6
callq 0x27560
leaq 0x38(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x41a06(%rip), %rsi     # 0x725db
leaq 0x41a06(%rip), %rdx     # 0x725e2
callq 0x2f1b2
leaq 0x18(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x419f3(%rip), %rsi     # 0x725e3
leaq 0x419f2(%rip), %rdx     # 0x725e9
callq 0x2f1b2
leaq 0x58(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x43287(%rip), %rsi     # 0x73e92
leaq 0x43324(%rip), %rdx     # 0x73f36
callq 0x2f1b2
leaq 0x78(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x46bf5(%rip), %rdx     # 0x7781b
movq %rdx, %rsi
callq 0x2f1b2
movq 0x8(%rbx), %r9
leaq 0x2(%r9), %r8
addq $0x40, %r9
movq %r14, (%rsp)
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rsi
leaq 0x58(%rsp), %rdx
leaq 0x78(%rsp), %rcx
callq 0x2e8ba
movq 0x78(%rsp), %rdi
cmpq %r13, %rdi
je 0x30c66
callq 0x27560
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x30c75
callq 0x27560
movq 0x18(%rsp), %rdi
cmpq %r15, %rdi
je 0x30c84
callq 0x27560
movq 0x38(%rsp), %rdi
cmpq %r12, %rdi
je 0x30c93
callq 0x27560
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x30cd9
jmp 0x30cc5
jmp 0x30cca
jmp 0x30ccf
jmp 0x30cd4
jmp 0x30cd9
jmp 0x30cc5
jmp 0x30cca
jmp 0x30ccf
jmp 0x30cd4
jmp 0x30cc5
jmp 0x30cca
jmp 0x30ccf
jmp 0x30cd4
jmp 0x30ccf
jmp 0x30cd4
movq %rax, %rbx
jmp 0x30ceb
movq %rax, %rbx
jmp 0x30cfa
movq %rax, %rbx
jmp 0x30d0e
movq %rax, %rbx
jmp 0x30d1d
movq %rax, %rbx
movq 0x78(%rsp), %rdi
cmpq %r13, %rdi
je 0x30ceb
callq 0x27560
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x30cfa
callq 0x27560
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0x30d0e
callq 0x27560
movq 0x38(%rsp), %rdi
cmpq %r12, %rdi
je 0x30d1d
callq 0x27560
movq %rbx, %rdi
callq 0x27b20
nop