// File: /workspace/github_cpp_makefile_star2_O1/zeeev[P]DASVC/bamtools/src/toolkit/bamtools_convert.cpp
// Function: BamTools::ConvertTool::ConvertTool()
ConvertTool::ConvertTool(void)
    : AbstractTool()
    , m_settings(new ConvertSettings)
    , m_impl(0)
{
    // set program details
    Options::SetProgramInfo("bamtools convert", "converts BAM to a number of other formats",
                            "-format <FORMAT> [-in <filename> -in <filename> ... | -list <filelist>] [-out <filename>] [-region <REGION>] [format-specific options]");
    
    // 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("-out",    "BAM filename", "the output BAM file",   "", m_settings->HasOutput,  m_settings->OutputFilename, IO_Opts, Options::StandardOut());
    Options::AddValueOption("-format", "FORMAT", "the output file format - see README for recognized formats", "", m_settings->HasFormat, m_settings->Format, 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);
    
    OptionGroup* PileupOpts = Options::CreateOptionGroup("Pileup Options");
    Options::AddValueOption("-fasta", "FASTA filename", "FASTA reference file", "", m_settings->HasFastaFilename, m_settings->FastaFilename, PileupOpts);
    Options::AddOption("-mapqual", "print the mapping qualities", m_settings->IsPrintingPileupMapQualities, PileupOpts);
    
    OptionGroup* SamOpts = Options::CreateOptionGroup("SAM Options");
    Options::AddOption("-noheader", "omit the SAM header from output", m_settings->IsOmittingSamHeader, SamOpts);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
movq %rdi, %rbx
leaq 0x629b9(%rip), %rax     # 0x8f5b8
movq %rax, (%rdi)
movl $0xc0, %edi
callq 0x275c0
movq %rax, %r14
movq %rax, %rdi
callq 0x2e3e6
movq %r14, 0x8(%rbx)
movq $0x0, 0x10(%rbx)
leaq 0x28(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x4581b(%rip), %rsi     # 0x7244f
leaq 0x45824(%rip), %rdx     # 0x7245f
leaq 0x18(%rsp), %rdi
callq 0x2f1b2
leaq 0x48(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4580b(%rip), %rsi     # 0x72460
leaq 0x4582d(%rip), %rdx     # 0x72489
leaq 0x38(%rsp), %rdi
callq 0x2f1b2
leaq 0x68(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x45814(%rip), %rsi     # 0x7248a
leaq 0x45893(%rip), %rdx     # 0x72510
leaq 0x58(%rsp), %rdi
callq 0x2f1b2
leaq 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rsi
leaq 0x58(%rsp), %rdx
callq 0x646a4
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x2ccaa
callq 0x27560
movq 0x38(%rsp), %rdi
cmpq %r15, %rdi
je 0x2ccb9
callq 0x27560
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2ccc8
callq 0x27560
leaq 0x18(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x4583a(%rip), %rsi     # 0x72511
leaq 0x45841(%rip), %rdx     # 0x7251f
callq 0x2f1b2
leaq 0x18(%rsp), %rdi
callq 0x63a0c
movq %rax, %r14
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2ccff
callq 0x27560
leaq 0x18(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x45812(%rip), %rsi     # 0x72520
leaq 0x4580e(%rip), %rdx     # 0x72523
callq 0x2f1b2
leaq 0x38(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x457fb(%rip), %rsi     # 0x72524
leaq 0x45800(%rip), %rdx     # 0x72530
callq 0x2f1b2
leaq 0x58(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x457ed(%rip), %rsi     # 0x72531
leaq 0x457fb(%rip), %rdx     # 0x72546
callq 0x2f1b2
leaq 0x88(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x4aab8(%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 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rsi
leaq 0x58(%rsp), %rdx
leaq 0x78(%rsp), %rcx
movq %r15, %r8
callq 0x2e4f6
movq 0x78(%rsp), %rdi
cmpq %r13, %rdi
je 0x2cdb1
callq 0x27560
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
leaq 0x48(%rsp), %r15
je 0x2cdc5
callq 0x27560
movq 0x38(%rsp), %rdi
cmpq %r15, %rdi
je 0x2cdd4
callq 0x27560
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2cde3
callq 0x27560
leaq 0x18(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x45755(%rip), %rsi     # 0x72547
leaq 0x45753(%rip), %rdx     # 0x7254c
callq 0x2f1b2
leaq 0x38(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x457f9(%rip), %rsi     # 0x72606
leaq 0x457fa(%rip), %rdx     # 0x7260e
callq 0x2f1b2
leaq 0x58(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x45725(%rip), %rsi     # 0x7254d
leaq 0x45748(%rip), %rdx     # 0x72577
callq 0x2f1b2
leaq 0x78(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x4a9d8(%rip), %rdx     # 0x7781b
movq %rdx, %rsi
callq 0x2f1b2
movq 0x8(%rbx), %r9
leaq 0x1(%r9), %r8
addq $0x20, %r9
movq %r14, (%rsp)
leaq 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rsi
leaq 0x58(%rsp), %rdx
leaq 0x78(%rsp), %rcx
callq 0x2e8ba
movq 0x78(%rsp), %rdi
cmpq %r13, %rdi
je 0x2ce83
callq 0x27560
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x2ce92
callq 0x27560
movq 0x38(%rsp), %rdi
cmpq %r15, %rdi
je 0x2cea1
callq 0x27560
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2ceb0
callq 0x27560
leaq 0x18(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x456b9(%rip), %rsi     # 0x72578
leaq 0x456b6(%rip), %rdx     # 0x7257c
callq 0x2f1b2
leaq 0x38(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x4564a(%rip), %rsi     # 0x72524
leaq 0x4564f(%rip), %rdx     # 0x72530
callq 0x2f1b2
leaq 0x58(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x45688(%rip), %rsi     # 0x7257d
leaq 0x45694(%rip), %rdx     # 0x72590
callq 0x2f1b2
leaq 0x78(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x4a90b(%rip), %rdx     # 0x7781b
movq %rdx, %rsi
callq 0x2f1b2
movq 0x8(%rbx), %r15
callq 0x646ea
leaq 0x40(%r15), %r9
addq $0x2, %r15
movq %rax, 0x8(%rsp)
movq %r14, (%rsp)
leaq 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rsi
leaq 0x58(%rsp), %rdx
leaq 0x78(%rsp), %rcx
movq %r15, %r8
callq 0x2ebcc
movq 0x78(%rsp), %rdi
cmpq %r13, %rdi
je 0x2cf5d
callq 0x27560
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
leaq 0x48(%rsp), %r15
je 0x2cf71
callq 0x27560
movq 0x38(%rsp), %rdi
cmpq %r15, %rdi
je 0x2cf80
callq 0x27560
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2cf8f
callq 0x27560
leaq 0x18(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x455f3(%rip), %rsi     # 0x72591
leaq 0x455f3(%rip), %rdx     # 0x72598
callq 0x2f1b2
leaq 0x38(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x455e0(%rip), %rsi     # 0x72599
leaq 0x455df(%rip), %rdx     # 0x7259f
callq 0x2f1b2
leaq 0x58(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x455cc(%rip), %rsi     # 0x725a0
leaq 0x455ff(%rip), %rdx     # 0x725da
callq 0x2f1b2
leaq 0x78(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x4a82c(%rip), %rdx     # 0x7781b
movq %rdx, %rsi
callq 0x2f1b2
movq 0x8(%rbx), %r9
leaq 0x3(%r9), %r8
addq $0x60, %r9
movq %r14, (%rsp)
leaq 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rsi
leaq 0x58(%rsp), %rdx
leaq 0x78(%rsp), %rcx
callq 0x2e8ba
movq 0x78(%rsp), %rdi
cmpq %r13, %rdi
je 0x2d02f
callq 0x27560
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x2d03e
callq 0x27560
movq 0x38(%rsp), %rdi
cmpq %r15, %rdi
je 0x2d04d
callq 0x27560
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d05c
callq 0x27560
leaq 0x18(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x45570(%rip), %rsi     # 0x725db
leaq 0x45570(%rip), %rdx     # 0x725e2
callq 0x2f1b2
leaq 0x38(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x4555d(%rip), %rsi     # 0x725e3
leaq 0x4555c(%rip), %rdx     # 0x725e9
callq 0x2f1b2
leaq 0x58(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x46df1(%rip), %rsi     # 0x73e92
leaq 0x46e8e(%rip), %rdx     # 0x73f36
callq 0x2f1b2
leaq 0x78(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x4a75f(%rip), %rdx     # 0x7781b
movq %rdx, %rsi
callq 0x2f1b2
movq 0x8(%rbx), %r9
leaq 0x4(%r9), %r8
subq $-0x80, %r9
movq %r14, (%rsp)
leaq 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rsi
leaq 0x58(%rsp), %rdx
leaq 0x78(%rsp), %rcx
callq 0x2e8ba
movq 0x78(%rsp), %rdi
cmpq %r13, %rdi
je 0x2d0fc
callq 0x27560
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x2d10b
callq 0x27560
movq 0x38(%rsp), %rdi
cmpq %r15, %rdi
je 0x2d11a
callq 0x27560
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d129
callq 0x27560
leaq 0x18(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x454b2(%rip), %rsi     # 0x725ea
leaq 0x454b9(%rip), %rdx     # 0x725f8
callq 0x2f1b2
leaq 0x18(%rsp), %rdi
callq 0x63a0c
movq %rax, %r14
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d160
callq 0x27560
leaq 0x18(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x4548a(%rip), %rsi     # 0x725f9
leaq 0x45489(%rip), %rdx     # 0x725ff
callq 0x2f1b2
leaq 0x38(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x45476(%rip), %rsi     # 0x72600
leaq 0x4547d(%rip), %rdx     # 0x7260e
callq 0x2f1b2
leaq 0x58(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x4546a(%rip), %rsi     # 0x7260f
leaq 0x45477(%rip), %rdx     # 0x72623
callq 0x2f1b2
leaq 0x78(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x4a65b(%rip), %rdx     # 0x7781b
movq %rdx, %rsi
callq 0x2f1b2
movq 0x8(%rbx), %r9
leaq 0x5(%r9), %r8
addq $0xa0, %r9
movq %r14, (%rsp)
leaq 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rsi
leaq 0x58(%rsp), %rdx
leaq 0x78(%rsp), %rcx
callq 0x2e8ba
movq 0x78(%rsp), %rdi
cmpq %r13, %rdi
je 0x2d203
callq 0x27560
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x2d212
callq 0x27560
movq 0x38(%rsp), %rdi
cmpq %r15, %rdi
je 0x2d221
callq 0x27560
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d230
callq 0x27560
leaq 0x18(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x453e5(%rip), %rsi     # 0x72624
leaq 0x453e6(%rip), %rdx     # 0x7262c
callq 0x2f1b2
leaq 0x38(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x453d3(%rip), %rsi     # 0x7262d
leaq 0x453e7(%rip), %rdx     # 0x72648
callq 0x2f1b2
movq 0x8(%rbx), %rdx
addq $0x7, %rdx
leaq 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rsi
movq %r14, %rcx
callq 0x63808
movq 0x38(%rsp), %rdi
cmpq %r15, %rdi
je 0x2d28f
callq 0x27560
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d29e
callq 0x27560
leaq 0x18(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x4539c(%rip), %rsi     # 0x72649
leaq 0x453a0(%rip), %rdx     # 0x72654
callq 0x2f1b2
leaq 0x18(%rsp), %rdi
callq 0x63a0c
movq %rax, %r14
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d2d5
callq 0x27560
leaq 0x18(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x45371(%rip), %rsi     # 0x72655
leaq 0x45373(%rip), %rdx     # 0x7265e
callq 0x2f1b2
leaq 0x38(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x45360(%rip), %rsi     # 0x7265f
leaq 0x45378(%rip), %rdx     # 0x7267e
callq 0x2f1b2
movq 0x8(%rbx), %rdx
addq $0x6, %rdx
leaq 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rsi
movq %r14, %rcx
callq 0x63808
movq 0x38(%rsp), %rdi
cmpq %r15, %rdi
je 0x2d334
callq 0x27560
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d343
callq 0x27560
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x2d35f
jmp 0x2d3c3
jmp 0x2d3c8
jmp 0x2d3c3
jmp 0x2d3c8
movq %rax, %rbx
movq 0x38(%rsp), %rdi
cmpq %r15, %rdi
jne 0x2d407
jmp 0x2d40c
jmp 0x2d3c3
jmp 0x2d3c8
jmp 0x2d3d7
jmp 0x2d3b9
jmp 0x2d3be
jmp 0x2d3c3
jmp 0x2d3c8
jmp 0x2d3c3
jmp 0x2d3c8
jmp 0x2d3d7
jmp 0x2d3b9
jmp 0x2d3be
jmp 0x2d3c3
jmp 0x2d3c8
jmp 0x2d3d7
jmp 0x2d3b9
jmp 0x2d3be
jmp 0x2d3c3
jmp 0x2d3c8
jmp 0x2d3b9
jmp 0x2d3be
jmp 0x2d3c3
jmp 0x2d3c8
jmp 0x2d3d7
jmp 0x2d3b9
jmp 0x2d3be
jmp 0x2d3c3
jmp 0x2d3c8
jmp 0x2d3b9
jmp 0x2d3be
jmp 0x2d3c3
jmp 0x2d3c8
jmp 0x2d3c3
jmp 0x2d3c8
movq %rax, %rbx
jmp 0x2d3e9
movq %rax, %rbx
jmp 0x2d3f8
movq %rax, %rbx
jmp 0x2d40c
movq %rax, %rbx
jmp 0x2d41b
movq %rax, %rbx
movq %r14, %rdi
jmp 0x2d416
jmp 0x2d3d7
movq %rax, %rbx
movq 0x78(%rsp), %rdi
cmpq %r13, %rdi
je 0x2d3e9
callq 0x27560
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x2d3f8
callq 0x27560
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x2d40c
callq 0x27560
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d41b
callq 0x27560
movq %rbx, %rdi
callq 0x27b20
nop