// File: /workspace/github_cpp_makefile_star2_O3/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 0x61a0f(%rip), %rax     # 0x8e5d8
movq %rax, (%rdi)
movl $0xc0, %edi
callq 0x275c0
movq %rax, %r14
movq %rax, %rdi
callq 0x2e3ee
movq %r14, 0x8(%rbx)
movq $0x0, 0x10(%rbx)
leaq 0x28(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x44851(%rip), %rsi     # 0x7144f
leaq 0x4485a(%rip), %rdx     # 0x7145f
leaq 0x18(%rsp), %rdi
callq 0x2f1a0
leaq 0x48(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x44841(%rip), %rsi     # 0x71460
leaq 0x44863(%rip), %rdx     # 0x71489
leaq 0x38(%rsp), %rdi
callq 0x2f1a0
leaq 0x68(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x4484a(%rip), %rsi     # 0x7148a
leaq 0x448c9(%rip), %rdx     # 0x71510
leaq 0x58(%rsp), %rdi
callq 0x2f1a0
leaq 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rsi
leaq 0x58(%rsp), %rdx
callq 0x64164
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x2cc74
callq 0x27560
movq 0x38(%rsp), %rdi
cmpq %r15, %rdi
je 0x2cc83
callq 0x27560
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2cc92
callq 0x27560
leaq 0x18(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x44870(%rip), %rsi     # 0x71511
leaq 0x44877(%rip), %rdx     # 0x7151f
callq 0x2f1a0
leaq 0x18(%rsp), %rdi
callq 0x634cc
movq %rax, %r14
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2ccc9
callq 0x27560
leaq 0x18(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x44848(%rip), %rsi     # 0x71520
leaq 0x44844(%rip), %rdx     # 0x71523
callq 0x2f1a0
leaq 0x38(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x44831(%rip), %rsi     # 0x71524
leaq 0x44836(%rip), %rdx     # 0x71530
callq 0x2f1a0
leaq 0x58(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x44823(%rip), %rsi     # 0x71531
leaq 0x44831(%rip), %rdx     # 0x71546
callq 0x2f1a0
leaq 0x88(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x49aea(%rip), %rdx     # 0x76817
leaq 0x78(%rsp), %rdi
movq %rdx, %rsi
callq 0x2f1a0
movq 0x8(%rbx), %r15
callq 0x641a2
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 0x2e4fe
movq 0x78(%rsp), %rdi
cmpq %r13, %rdi
je 0x2cd7b
callq 0x27560
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
leaq 0x48(%rsp), %r15
je 0x2cd8f
callq 0x27560
movq 0x38(%rsp), %rdi
cmpq %r15, %rdi
je 0x2cd9e
callq 0x27560
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2cdad
callq 0x27560
leaq 0x18(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x4478b(%rip), %rsi     # 0x71547
leaq 0x44789(%rip), %rdx     # 0x7154c
callq 0x2f1a0
leaq 0x38(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x4482f(%rip), %rsi     # 0x71606
leaq 0x44830(%rip), %rdx     # 0x7160e
callq 0x2f1a0
leaq 0x58(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x4475b(%rip), %rsi     # 0x7154d
leaq 0x4477e(%rip), %rdx     # 0x71577
callq 0x2f1a0
leaq 0x78(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x49a0a(%rip), %rdx     # 0x76817
movq %rdx, %rsi
callq 0x2f1a0
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 0x2e8c0
movq 0x78(%rsp), %rdi
cmpq %r13, %rdi
je 0x2ce4d
callq 0x27560
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x2ce5c
callq 0x27560
movq 0x38(%rsp), %rdi
cmpq %r15, %rdi
je 0x2ce6b
callq 0x27560
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2ce7a
callq 0x27560
leaq 0x18(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x446ef(%rip), %rsi     # 0x71578
leaq 0x446ec(%rip), %rdx     # 0x7157c
callq 0x2f1a0
leaq 0x38(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x44680(%rip), %rsi     # 0x71524
leaq 0x44685(%rip), %rdx     # 0x71530
callq 0x2f1a0
leaq 0x58(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x446be(%rip), %rsi     # 0x7157d
leaq 0x446ca(%rip), %rdx     # 0x71590
callq 0x2f1a0
leaq 0x78(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x4993d(%rip), %rdx     # 0x76817
movq %rdx, %rsi
callq 0x2f1a0
movq 0x8(%rbx), %r15
callq 0x641aa
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 0x2ebbe
movq 0x78(%rsp), %rdi
cmpq %r13, %rdi
je 0x2cf27
callq 0x27560
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
leaq 0x48(%rsp), %r15
je 0x2cf3b
callq 0x27560
movq 0x38(%rsp), %rdi
cmpq %r15, %rdi
je 0x2cf4a
callq 0x27560
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2cf59
callq 0x27560
leaq 0x18(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x44629(%rip), %rsi     # 0x71591
leaq 0x44629(%rip), %rdx     # 0x71598
callq 0x2f1a0
leaq 0x38(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x44616(%rip), %rsi     # 0x71599
leaq 0x44615(%rip), %rdx     # 0x7159f
callq 0x2f1a0
leaq 0x58(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x44602(%rip), %rsi     # 0x715a0
leaq 0x44635(%rip), %rdx     # 0x715da
callq 0x2f1a0
leaq 0x78(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x4985e(%rip), %rdx     # 0x76817
movq %rdx, %rsi
callq 0x2f1a0
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 0x2e8c0
movq 0x78(%rsp), %rdi
cmpq %r13, %rdi
je 0x2cff9
callq 0x27560
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x2d008
callq 0x27560
movq 0x38(%rsp), %rdi
cmpq %r15, %rdi
je 0x2d017
callq 0x27560
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d026
callq 0x27560
leaq 0x18(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x445a6(%rip), %rsi     # 0x715db
leaq 0x445a6(%rip), %rdx     # 0x715e2
callq 0x2f1a0
leaq 0x38(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x44593(%rip), %rsi     # 0x715e3
leaq 0x44592(%rip), %rdx     # 0x715e9
callq 0x2f1a0
leaq 0x58(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x45e3f(%rip), %rsi     # 0x72eaa
leaq 0x45edc(%rip), %rdx     # 0x72f4e
callq 0x2f1a0
leaq 0x78(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x49791(%rip), %rdx     # 0x76817
movq %rdx, %rsi
callq 0x2f1a0
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 0x2e8c0
movq 0x78(%rsp), %rdi
cmpq %r13, %rdi
je 0x2d0c6
callq 0x27560
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x2d0d5
callq 0x27560
movq 0x38(%rsp), %rdi
cmpq %r15, %rdi
je 0x2d0e4
callq 0x27560
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d0f3
callq 0x27560
leaq 0x18(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x444e8(%rip), %rsi     # 0x715ea
leaq 0x444ef(%rip), %rdx     # 0x715f8
callq 0x2f1a0
leaq 0x18(%rsp), %rdi
callq 0x634cc
movq %rax, %r14
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d12a
callq 0x27560
leaq 0x18(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x444c0(%rip), %rsi     # 0x715f9
leaq 0x444bf(%rip), %rdx     # 0x715ff
callq 0x2f1a0
leaq 0x38(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x444ac(%rip), %rsi     # 0x71600
leaq 0x444b3(%rip), %rdx     # 0x7160e
callq 0x2f1a0
leaq 0x58(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x444a0(%rip), %rsi     # 0x7160f
leaq 0x444ad(%rip), %rdx     # 0x71623
callq 0x2f1a0
leaq 0x78(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x4968d(%rip), %rdx     # 0x76817
movq %rdx, %rsi
callq 0x2f1a0
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 0x2e8c0
movq 0x78(%rsp), %rdi
cmpq %r13, %rdi
je 0x2d1cd
callq 0x27560
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x2d1dc
callq 0x27560
movq 0x38(%rsp), %rdi
cmpq %r15, %rdi
je 0x2d1eb
callq 0x27560
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d1fa
callq 0x27560
leaq 0x18(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x4441b(%rip), %rsi     # 0x71624
leaq 0x4441c(%rip), %rdx     # 0x7162c
callq 0x2f1a0
leaq 0x38(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x44409(%rip), %rsi     # 0x7162d
leaq 0x4441d(%rip), %rdx     # 0x71648
callq 0x2f1a0
movq 0x8(%rbx), %rdx
addq $0x7, %rdx
leaq 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rsi
movq %r14, %rcx
callq 0x632c4
movq 0x38(%rsp), %rdi
cmpq %r15, %rdi
je 0x2d259
callq 0x27560
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d268
callq 0x27560
leaq 0x18(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x443d2(%rip), %rsi     # 0x71649
leaq 0x443d6(%rip), %rdx     # 0x71654
callq 0x2f1a0
leaq 0x18(%rsp), %rdi
callq 0x634cc
movq %rax, %r14
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d29f
callq 0x27560
leaq 0x18(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x443a7(%rip), %rsi     # 0x71655
leaq 0x443a9(%rip), %rdx     # 0x7165e
callq 0x2f1a0
leaq 0x38(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x44396(%rip), %rsi     # 0x7165f
leaq 0x443ae(%rip), %rdx     # 0x7167e
callq 0x2f1a0
movq 0x8(%rbx), %rdx
addq $0x6, %rdx
leaq 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rsi
movq %r14, %rcx
callq 0x632c4
movq 0x38(%rsp), %rdi
cmpq %r15, %rdi
je 0x2d2fe
callq 0x27560
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d30d
callq 0x27560
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x2d329
jmp 0x2d38d
jmp 0x2d392
jmp 0x2d38d
jmp 0x2d392
movq %rax, %rbx
movq 0x38(%rsp), %rdi
cmpq %r15, %rdi
jne 0x2d3d1
jmp 0x2d3d6
jmp 0x2d38d
jmp 0x2d392
jmp 0x2d3a1
jmp 0x2d383
jmp 0x2d388
jmp 0x2d38d
jmp 0x2d392
jmp 0x2d38d
jmp 0x2d392
jmp 0x2d3a1
jmp 0x2d383
jmp 0x2d388
jmp 0x2d38d
jmp 0x2d392
jmp 0x2d3a1
jmp 0x2d383
jmp 0x2d388
jmp 0x2d38d
jmp 0x2d392
jmp 0x2d383
jmp 0x2d388
jmp 0x2d38d
jmp 0x2d392
jmp 0x2d3a1
jmp 0x2d383
jmp 0x2d388
jmp 0x2d38d
jmp 0x2d392
jmp 0x2d383
jmp 0x2d388
jmp 0x2d38d
jmp 0x2d392
jmp 0x2d38d
jmp 0x2d392
movq %rax, %rbx
jmp 0x2d3b3
movq %rax, %rbx
jmp 0x2d3c2
movq %rax, %rbx
jmp 0x2d3d6
movq %rax, %rbx
jmp 0x2d3e5
movq %rax, %rbx
movq %r14, %rdi
jmp 0x2d3e0
jmp 0x2d3a1
movq %rax, %rbx
movq 0x78(%rsp), %rdi
cmpq %r13, %rdi
je 0x2d3b3
callq 0x27560
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x2d3c2
callq 0x27560
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x2d3d6
callq 0x27560
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d3e5
callq 0x27560
movq %rbx, %rdi
callq 0x27b10
nop