// File: /workspace/github_cpp_makefile_star2_O2/millanek[P]evo/process_vcf.cpp
// Function: main
int main(int argc, char **argv) {
    
    if(argc <= 1)
    {
        std::cout << USAGE_MESSAGE;
        return 0;
    }
    else
    {
        std::string command(argv[1]);
        if(command == "help" || command == "--help" || command == "-h")
        {
            std::cout << USAGE_MESSAGE;
            return 0;
        }
        else if(command == "version" || command == "--version")
        {
            std::cout << VERSION_MESSAGE;
            return 0;
        }
        
        if(command == "filter")
            filterMain(argc - 1, argv + 1);
        else if(command == "linkGeneNames")
            linkGNMain(argc - 1, argv + 1);
        else if(command == "remove-lowercase")
            removeLcMain(argc - 1, argv + 1);
        else if(command == "abba-baba")
            abbaBabaMain(argc - 1, argv + 1);
        else if(command == "aa-seq")
            getAaSeqMain(argc - 1, argv + 1);
        else if(command == "aa-fill")
            fillAaMain(argc - 1, argv + 1);
        else if(command == "stats")
            statsMain(argc - 1, argv + 1);
        else if(command == "cbs")
            cbsMain(argc - 1, argv + 1);
        else if(command == "sharing")
            variantSharingMain(argc - 1, argv + 1);
        else if(command == "test")
            testMain(argc - 1, argv + 1);
        else if(command == "massoko")
            massokoMain(argc - 1, argv + 1);
        else if(command == "merge")
            mergeMain(argc - 1, argv + 1);
        else if(command == "multi-fasta")
            processMultiFastaMain(argc - 1, argv + 1);
        else if (command == "fst")
            fstMain(argc - 1, argv + 1);
        else if(command == "getWGSeq")
            getSeqMain(argc - 1, argv + 1);
        else if(command == "getCodingSeq")
            getCodingSeqMain(argc - 1, argv + 1);
        else if(command == "sequenom")
            sequenomMain(argc - 1, argv + 1);
        else if(command == "map")
            mapMain(argc - 1, argv + 1);
        else if(command == "sharedVariation")
            sharedVarMain(argc - 1, argv + 1);
        else if(command == "sex-search")
            sexSearchMain(argc - 1, argv + 1);
        else if(command == "smallRNA")
            shortRNAMain(argc - 1, argv + 1);
        else if (command == "getMtSeq")
            getMtSeqMain(argc - 1, argv + 1);
        else if (command == "statsTest")
            statsTestingMain(argc - 1, argv + 1);
        else if (command == "reorder")
            reorderMain(argc - 1, argv + 1);
        else if (command == "VCFfromSequenom")
            VCFfromSequenomMain(argc - 1, argv + 1);
        else if (command == "codingStats")
            getCodingStats(argc - 1, argv + 1);
        else if (command == "SeqFromGenomes")
            SeqFromGenomes(argc - 1, argv + 1);
        else if (command == "DNAtoProtein")
            DNAtoProtein(argc - 1, argv + 1);
        else if (command == "AnnotationPreformat")
            AnnotationPreformat(argc - 1, argv + 1);
        else if (command == "ProteinSs")
            ProteinSs(argc - 1, argv + 1);
        else if (command == "RegionsDxy")
            subsamplingDxy(argc - 1, argv + 1);
        else if (command == "permuteCodons")
            permuteCodons(argc - 1, argv + 1);
        else if (command == "Dmin")
            DminMain(argc - 1, argv + 1);
        else if (command == "DminCombine")
            DminCombineMain(argc - 1, argv + 1);
        else if (command == "PBS")
            PBSmain(argc - 1, argv + 1);
        else if (command == "ABS")
            ABSmain(argc - 1, argv + 1);
        else if (command == "FstGlobal")
            FstGlobalMain(argc - 1, argv + 1);
        else if (command == "vcf-comb")
            VCFcombMain(argc - 1, argv + 1);
        else if (command == "alleleFreq")
            AFmain(argc - 1, argv + 1);
        else if (command == "agpToNewFasta")
            agpFastaMain(argc - 1, argv + 1);
        else if (command == "DistOutgroups")
            DistOutMain(argc - 1, argv + 1);
        else if (command == "RegionsPiGeneral")
            regionPiMain(argc - 1, argv + 1);
        else if (command == "InfoPairs")
            InfoPairsMain(argc - 1, argv + 1);
        else if (command == "DiscordantPairs")
            DiscordPairsMain(argc - 1, argv + 1);
        else if (command == "InfoReadsSam")
            InfoReadsMain(argc - 1, argv + 1);
        else if (command == "DiscordantPairsFromSAM")
            DiscordPairsFromSAMMain(argc - 1, argv + 1);
        else
        {
            std::cerr << "Unrecognized command: " << command << "\n";
            return 1;
        }
        return 0;
    }
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x30, %rsp
cmpl $0x1, %edi
jg 0x210b3
movq 0xbbf18(%rip), %rdi     # 0xdcfb8
leaq 0x717d9(%rip), %rsi     # 0x92880
callq 0x8480
xorl %ebx, %ebx
jmp 0x2115e
movq %rsi, %rbx
movl %edi, %ebp
movq 0x8(%rsi), %rsi
leaq 0x8(%rsp), %r14
leaq 0x2f(%rsp), %rdx
movq %r14, %rdi
callq 0x21904
leaq 0x715ab(%rip), %rsi     # 0x92680
movq %r14, %rdi
callq 0x2193f
leaq 0x7179c(%rip), %r14     # 0x92880
testb %al, %al
jne 0x21143
leaq 0x7158f(%rip), %rsi     # 0x9267e
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
jne 0x21143
leaq 0x71581(%rip), %rsi     # 0x92685
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
jne 0x21143
leaq 0x71571(%rip), %rsi     # 0x9268a
leaq 0x8(%rsp), %rdi
callq 0x2193f
leaq 0x727eb(%rip), %r14     # 0x93915
testb %al, %al
jne 0x21143
leaq 0x71553(%rip), %rsi     # 0x92688
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x21169
movq 0xbbe6e(%rip), %rdi     # 0xdcfb8
movq %r14, %rsi
callq 0x8480
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
callq 0x8978
movl %ebx, %eax
addq $0x30, %rsp
popq %rbx
popq %r14
popq %rbp
retq
addq $0x8, %rbx
leaq 0x7151e(%rip), %rsi     # 0x92692
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x21190
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x4cfdc
jmp 0x21152
leaq 0x71502(%rip), %rsi     # 0x92699
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x211b3
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x73a04
jmp 0x21152
leaq 0x714ed(%rip), %rsi     # 0x926a7
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x211d9
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x76d55
jmp 0x21152
leaq 0x714d8(%rip), %rsi     # 0x926b8
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x211ff
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x2e7b2
jmp 0x21152
leaq 0x714bc(%rip), %rsi     # 0x926c2
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x21225
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x380e8
jmp 0x21152
leaq 0x7149d(%rip), %rsi     # 0x926c9
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x2124b
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x3e9b0
jmp 0x21152
leaq 0x83a43(%rip), %rsi     # 0xa4c95
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x21271
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x48a60
jmp 0x21152
leaq 0x71459(%rip), %rsi     # 0x926d1
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x21297
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x3a225
jmp 0x21152
leaq 0x71437(%rip), %rsi     # 0x926d5
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x212bd
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x4e6a4
jmp 0x21152
leaq 0x71419(%rip), %rsi     # 0x926dd
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x212e3
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x4f0c4
jmp 0x21152
leaq 0x713f8(%rip), %rsi     # 0x926e2
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x21309
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x4ff56
jmp 0x21152
leaq 0x713da(%rip), %rsi     # 0x926ea
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x2132f
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x72628
jmp 0x21152
leaq 0x713ba(%rip), %rsi     # 0x926f0
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x21355
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x3f8a4
jmp 0x21152
leaq 0x713a0(%rip), %rsi     # 0x926fc
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x2137b
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x70904
jmp 0x21152
leaq 0x7137e(%rip), %rsi     # 0x92700
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x213a1
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x50e6c
jmp 0x21152
leaq 0x71361(%rip), %rsi     # 0x92709
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x213c7
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x55bb0
jmp 0x21152
leaq 0x71348(%rip), %rsi     # 0x92716
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x213ed
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x5dbe8
jmp 0x21152
leaq 0x7132b(%rip), %rsi     # 0x9271f
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x21413
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x5eb58
jmp 0x21152
leaq 0x71309(%rip), %rsi     # 0x92723
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x21439
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x5fb4c
jmp 0x21152
leaq 0x712f3(%rip), %rsi     # 0x92733
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x2145f
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x61df6
jmp 0x21152
leaq 0x712d8(%rip), %rsi     # 0x9273e
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x21485
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x72c44
jmp 0x21152
leaq 0x712bb(%rip), %rsi     # 0x92747
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x214ab
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x66f34
jmp 0x21152
leaq 0x7129e(%rip), %rsi     # 0x92750
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x214d1
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x67df8
jmp 0x21152
leaq 0x71282(%rip), %rsi     # 0x9275a
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x214f7
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x68426
jmp 0x21152
leaq 0x71264(%rip), %rsi     # 0x92762
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x2151d
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x69160
jmp 0x21152
leaq 0x7124e(%rip), %rsi     # 0x92772
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x21543
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x35d40
jmp 0x21152
leaq 0x71234(%rip), %rsi     # 0x9277e
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x21569
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x31384
jmp 0x21152
leaq 0x7121d(%rip), %rsi     # 0x9278d
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x2158f
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x34b18
jmp 0x21152
leaq 0x71204(%rip), %rsi     # 0x9279a
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x215b5
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x2f9c8
jmp 0x21152
leaq 0x711f2(%rip), %rsi     # 0x927ae
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x215db
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x33978
jmp 0x21152
leaq 0x711d6(%rip), %rsi     # 0x927b8
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x21601
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x27698
jmp 0x21152
leaq 0x711bb(%rip), %rsi     # 0x927c3
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x21627
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x2bd08
jmp 0x21152
leaq 0x711a3(%rip), %rsi     # 0x927d1
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x2164d
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x770b8
jmp 0x21152
leaq 0x71182(%rip), %rsi     # 0x927d6
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x21673
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x79df4
jmp 0x21152
leaq 0x71168(%rip), %rsi     # 0x927e2
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x21699
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x7baf0
jmp 0x21152
leaq 0x71146(%rip), %rsi     # 0x927e6
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x216bf
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x82e94
jmp 0x21152
leaq 0x8e51f(%rip), %rsi     # 0xafbe5
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x216e5
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x7fe68
jmp 0x21152
leaq 0x710fe(%rip), %rsi     # 0x927ea
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x2170b
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x84e90
jmp 0x21152
leaq 0x710e1(%rip), %rsi     # 0x927f3
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x21731
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x867f4
jmp 0x21152
leaq 0x710c6(%rip), %rsi     # 0x927fe
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x21757
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x877a8
jmp 0x21152
leaq 0x710ae(%rip), %rsi     # 0x9280c
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x2177d
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x87f45
jmp 0x21152
leaq 0x71096(%rip), %rsi     # 0x9281a
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x217a3
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x899a4
jmp 0x21152
leaq 0x71081(%rip), %rsi     # 0x9282b
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x217c9
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x8a87c
jmp 0x21152
leaq 0x71065(%rip), %rsi     # 0x92835
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x217ef
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x8b3bc
jmp 0x21152
leaq 0x7104f(%rip), %rsi     # 0x92845
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x21815
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x8e794
jmp 0x21152
leaq 0x71036(%rip), %rsi     # 0x92852
leaq 0x8(%rsp), %rdi
callq 0x2193f
testb %al, %al
je 0x2183b
decl %ebp
movl %ebp, %edi
movq %rbx, %rsi
callq 0x8fd48
jmp 0x21152
movq 0xbb7a6(%rip), %rdi     # 0xdcfe8
leaq 0x71020(%rip), %rsi     # 0x92869
callq 0x8480
leaq 0x8(%rsp), %rsi
movq %rax, %rdi
callq 0x8430
leaq 0x720eb(%rip), %rsi     # 0x9394d
movq %rax, %rdi
callq 0x8480
pushq $0x1
popq %rbx
jmp 0x21154
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x8978
movq %rbx, %rdi
callq 0x8870
nop