// File: 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
movq %rsp, %rbp
subq $0xa0, %rsp
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpl $0x1, -0x8(%rbp)
jg 0x2c62e
movq 0x16d03a(%rip), %rsi    # 0x199650
movq 0x16c99b(%rip), %rdi    # 0x198fb8
callq 0xa5c0
movl $0x0, -0x4(%rbp)
jmp 0x2d26b
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x58(%rbp)
leaq -0x31(%rbp), %rdi
movq %rdi, -0x50(%rbp)
callq 0xab60
movq -0x58(%rbp), %rsi
movq -0x50(%rbp), %rdx
leaq -0x30(%rbp), %rdi
callq 0x2d6c0
jmp 0x2c65a
leaq -0x31(%rbp), %rdi
callq 0xa640
leaq 0x101f56(%rip), %rsi    # 0x12e5c0
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x59(%rbp)
jmp 0x2c678
movb -0x59(%rbp), %al
testb $0x1, %al
jne 0x2c6bd
jmp 0x2c681
leaq 0x101f36(%rip), %rsi    # 0x12e5be
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x5a(%rbp)
jmp 0x2c696
movb -0x5a(%rbp), %al
testb $0x1, %al
jne 0x2c6bd
jmp 0x2c69f
leaq 0x101f1f(%rip), %rsi    # 0x12e5c5
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x5b(%rbp)
jmp 0x2c6b4
movb -0x5b(%rbp), %al
testb $0x1, %al
jne 0x2c6bd
jmp 0x2c719
movq 0x16cf8c(%rip), %rsi    # 0x199650
movq 0x16c8ed(%rip), %rdi    # 0x198fb8
callq 0xa5c0
jmp 0x2c6d2
movl $0x0, -0x4(%rbp)
movl $0x1, -0x48(%rbp)
jmp 0x2d262
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x31(%rbp), %rdi
callq 0xa640
jmp 0x2d277
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x30(%rbp), %rdi
callq 0xac88
jmp 0x2d277
leaq 0x101eaa(%rip), %rsi    # 0x12e5ca
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x5c(%rbp)
jmp 0x2c72e
movb -0x5c(%rbp), %al
testb $0x1, %al
jne 0x2c755
jmp 0x2c737
leaq 0x101e8a(%rip), %rsi    # 0x12e5c8
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x5d(%rbp)
jmp 0x2c74c
movb -0x5d(%rbp), %al
testb $0x1, %al
jne 0x2c755
jmp 0x2c77d
movq 0x16cefc(%rip), %rsi    # 0x199658
movq 0x16c855(%rip), %rdi    # 0x198fb8
callq 0xa5c0
jmp 0x2c76a
movl $0x0, -0x4(%rbp)
movl $0x1, -0x48(%rbp)
jmp 0x2d262
jmp 0x2c77f
leaq 0x101e4c(%rip), %rsi    # 0x12e5d2
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x5e(%rbp)
jmp 0x2c794
movb -0x5e(%rbp), %al
testb $0x1, %al
jne 0x2c79d
jmp 0x2c7b6
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x9ec10
jmp 0x2c7b1
jmp 0x2d254
leaq 0x101e1c(%rip), %rsi    # 0x12e5d9
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x5f(%rbp)
jmp 0x2c7cb
movb -0x5f(%rbp), %al
testb $0x1, %al
jne 0x2c7d4
jmp 0x2c7ed
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0xe9e60
jmp 0x2c7e8
jmp 0x2d252
leaq 0x101df3(%rip), %rsi    # 0x12e5e7
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x60(%rbp)
jmp 0x2c802
movb -0x60(%rbp), %al
testb $0x1, %al
jne 0x2c80b
jmp 0x2c824
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0xeffc0
jmp 0x2c81f
jmp 0x2d250
leaq 0x101dcd(%rip), %rsi    # 0x12e5f8
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x61(%rbp)
jmp 0x2c839
movb -0x61(%rbp), %al
testb $0x1, %al
jne 0x2c842
jmp 0x2c85b
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x50820
jmp 0x2c856
jmp 0x2d24e
leaq 0x101da0(%rip), %rsi    # 0x12e602
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x62(%rbp)
jmp 0x2c870
movb -0x62(%rbp), %al
testb $0x1, %al
jne 0x2c879
jmp 0x2c892
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x66a30
jmp 0x2c88d
jmp 0x2d24c
leaq 0x101d70(%rip), %rsi    # 0x12e609
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x63(%rbp)
jmp 0x2c8a7
movb -0x63(%rbp), %al
testb $0x1, %al
jne 0x2c8b0
jmp 0x2c8c9
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x78b70
jmp 0x2c8c4
jmp 0x2d24a
leaq 0x114aad(%rip), %rsi    # 0x14137d
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x64(%rbp)
jmp 0x2c8de
movb -0x64(%rbp), %al
testb $0x1, %al
jne 0x2c8e7
jmp 0x2c900
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x92980
jmp 0x2c8fb
jmp 0x2d248
leaq 0x101d0a(%rip), %rsi    # 0x12e611
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x65(%rbp)
jmp 0x2c915
movb -0x65(%rbp), %al
testb $0x1, %al
jne 0x2c91e
jmp 0x2c937
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x6a2b0
jmp 0x2c932
jmp 0x2d246
leaq 0x101cd7(%rip), %rsi    # 0x12e615
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x66(%rbp)
jmp 0x2c94c
movb -0x66(%rbp), %al
testb $0x1, %al
jne 0x2c955
jmp 0x2c96e
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0xa1240
jmp 0x2c969
jmp 0x2d244
leaq 0x101ca8(%rip), %rsi    # 0x12e61d
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x67(%rbp)
jmp 0x2c983
movb -0x67(%rbp), %al
testb $0x1, %al
jne 0x2c98c
jmp 0x2c9a5
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0xa2710
jmp 0x2c9a0
jmp 0x2d242
leaq 0x101c76(%rip), %rsi    # 0x12e622
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x68(%rbp)
jmp 0x2c9ba
movb -0x68(%rbp), %al
testb $0x1, %al
jne 0x2c9c3
jmp 0x2c9dc
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0xa4110
jmp 0x2c9d7
jmp 0x2d240
leaq 0x101c47(%rip), %rsi    # 0x12e62a
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x69(%rbp)
jmp 0x2c9f1
movb -0x69(%rbp), %al
testb $0x1, %al
jne 0x2c9fa
jmp 0x2ca13
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0xe6dc0
jmp 0x2ca0e
jmp 0x2d23e
leaq 0x101c16(%rip), %rsi    # 0x12e630
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x6a(%rbp)
jmp 0x2ca28
movb -0x6a(%rbp), %al
testb $0x1, %al
jne 0x2ca31
jmp 0x2ca4a
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x7a800
jmp 0x2ca45
jmp 0x2d23c
leaq 0x101beb(%rip), %rsi    # 0x12e63c
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x6b(%rbp)
jmp 0x2ca5f
movb -0x6b(%rbp), %al
testb $0x1, %al
jne 0x2ca68
jmp 0x2ca81
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0xe26c0
jmp 0x2ca7c
jmp 0x2d23a
leaq 0x101bb8(%rip), %rsi    # 0x12e640
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x6c(%rbp)
jmp 0x2ca96
movb -0x6c(%rbp), %al
testb $0x1, %al
jne 0x2ca9f
jmp 0x2cab8
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0xa6850
jmp 0x2cab3
jmp 0x2d238
leaq 0x101b8a(%rip), %rsi    # 0x12e649
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x6d(%rbp)
jmp 0x2cacd
movb -0x6d(%rbp), %al
testb $0x1, %al
jne 0x2cad6
jmp 0x2caef
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0xaf9b0
jmp 0x2caea
jmp 0x2d236
leaq 0x101b60(%rip), %rsi    # 0x12e656
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x6e(%rbp)
jmp 0x2cb04
movb -0x6e(%rbp), %al
testb $0x1, %al
jne 0x2cb0d
jmp 0x2cb26
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0xc08e0
jmp 0x2cb21
jmp 0x2d234
leaq 0x101b32(%rip), %rsi    # 0x12e65f
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x6f(%rbp)
jmp 0x2cb3b
movb -0x6f(%rbp), %al
testb $0x1, %al
jne 0x2cb44
jmp 0x2cb5d
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0xc22e0
jmp 0x2cb58
jmp 0x2d232
leaq 0x101aff(%rip), %rsi    # 0x12e663
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x70(%rbp)
jmp 0x2cb72
movb -0x70(%rbp), %al
testb $0x1, %al
jne 0x2cb7b
jmp 0x2cb94
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0xc3ea0
jmp 0x2cb8f
jmp 0x2d230
leaq 0x101ad8(%rip), %rsi    # 0x12e673
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x71(%rbp)
jmp 0x2cba9
movb -0x71(%rbp), %al
testb $0x1, %al
jne 0x2cbb2
jmp 0x2cbcb
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0xc8190
jmp 0x2cbc6
jmp 0x2d22e
leaq 0x101aac(%rip), %rsi    # 0x12e67e
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x72(%rbp)
jmp 0x2cbe0
movb -0x72(%rbp), %al
testb $0x1, %al
jne 0x2cbe9
jmp 0x2cc02
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0xe7870
jmp 0x2cbfd
jmp 0x2d22c
leaq 0x101a7e(%rip), %rsi    # 0x12e687
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x73(%rbp)
jmp 0x2cc17
movb -0x73(%rbp), %al
testb $0x1, %al
jne 0x2cc20
jmp 0x2cc39
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0xd10d0
jmp 0x2cc34
jmp 0x2d22a
leaq 0x101a50(%rip), %rsi    # 0x12e690
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x74(%rbp)
jmp 0x2cc4e
movb -0x74(%rbp), %al
testb $0x1, %al
jne 0x2cc57
jmp 0x2cc70
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0xd2a70
jmp 0x2cc6b
jmp 0x2d228
leaq 0x101a23(%rip), %rsi    # 0x12e69a
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x75(%rbp)
jmp 0x2cc85
movb -0x75(%rbp), %al
testb $0x1, %al
jne 0x2cc8e
jmp 0x2cca7
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0xd3540
jmp 0x2cca2
jmp 0x2d226
leaq 0x1019f4(%rip), %rsi    # 0x12e6a2
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x76(%rbp)
jmp 0x2ccbc
movb -0x76(%rbp), %al
testb $0x1, %al
jne 0x2ccc5
jmp 0x2ccde
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0xd5a00
jmp 0x2ccd9
jmp 0x2d224
leaq 0x1019cd(%rip), %rsi    # 0x12e6b2
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x77(%rbp)
jmp 0x2ccf3
movb -0x77(%rbp), %al
testb $0x1, %al
jne 0x2ccfc
jmp 0x2cd15
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x61c10
jmp 0x2cd10
jmp 0x2d222
leaq 0x1019a2(%rip), %rsi    # 0x12e6be
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x78(%rbp)
jmp 0x2cd2a
movb -0x78(%rbp), %al
testb $0x1, %al
jne 0x2cd33
jmp 0x2cd4c
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x56fa0
jmp 0x2cd47
jmp 0x2d220
leaq 0x10197a(%rip), %rsi    # 0x12e6cd
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x79(%rbp)
jmp 0x2cd61
movb -0x79(%rbp), %al
testb $0x1, %al
jne 0x2cd6a
jmp 0x2cd83
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x600a0
jmp 0x2cd7e
jmp 0x2d21e
leaq 0x101950(%rip), %rsi    # 0x12e6da
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x7a(%rbp)
jmp 0x2cd98
movb -0x7a(%rbp), %al
testb $0x1, %al
jne 0x2cda1
jmp 0x2cdba
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x53e10
jmp 0x2cdb5
jmp 0x2d21c
leaq 0x10192d(%rip), %rsi    # 0x12e6ee
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x7b(%rbp)
jmp 0x2cdcf
movb -0x7b(%rbp), %al
testb $0x1, %al
jne 0x2cdd8
jmp 0x2cdf1
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x5dcb0
jmp 0x2cdec
jmp 0x2d21a
leaq 0x101900(%rip), %rsi    # 0x12e6f8
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x7c(%rbp)
jmp 0x2ce06
movb -0x7c(%rbp), %al
testb $0x1, %al
jne 0x2ce0f
jmp 0x2ce28
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x3be80
jmp 0x2ce23
jmp 0x2d218
leaq 0x1018d4(%rip), %rsi    # 0x12e703
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x7d(%rbp)
jmp 0x2ce3d
movb -0x7d(%rbp), %al
testb $0x1, %al
jne 0x2ce46
jmp 0x2ce5f
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x4bf00
jmp 0x2ce5a
jmp 0x2d216
leaq 0x1018ab(%rip), %rsi    # 0x12e711
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x7e(%rbp)
jmp 0x2ce74
movb -0x7e(%rbp), %al
testb $0x1, %al
jne 0x2ce7d
jmp 0x2ce96
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0xf0520
jmp 0x2ce91
jmp 0x2d214
leaq 0x101879(%rip), %rsi    # 0x12e716
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x7f(%rbp)
jmp 0x2ceab
movb -0x7f(%rbp), %al
testb $0x1, %al
jne 0x2ceb4
jmp 0x2cecd
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0xf6ca0
jmp 0x2cec8
jmp 0x2d212
leaq 0x10184e(%rip), %rsi    # 0x12e722
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x80(%rbp)
jmp 0x2cee2
movb -0x80(%rbp), %al
testb $0x1, %al
jne 0x2ceeb
jmp 0x2cf04
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0xfa900
jmp 0x2ceff
jmp 0x2d210
leaq 0x10181b(%rip), %rsi    # 0x12e726
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x81(%rbp)
jmp 0x2cf1c
movb -0x81(%rbp), %al
testb $0x1, %al
jne 0x2cf28
jmp 0x2cf41
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x109df0
jmp 0x2cf3c
jmp 0x2d20e
leaq 0x11f419(%rip), %rsi    # 0x14c361
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x82(%rbp)
jmp 0x2cf59
movb -0x82(%rbp), %al
testb $0x1, %al
jne 0x2cf65
jmp 0x2cf7e
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x1042e0
jmp 0x2cf79
jmp 0x2d20c
leaq 0x1017a5(%rip), %rsi    # 0x12e72a
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x83(%rbp)
jmp 0x2cf96
movb -0x83(%rbp), %al
testb $0x1, %al
jne 0x2cfa2
jmp 0x2cfbb
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x10d310
jmp 0x2cfb6
jmp 0x2d20a
leaq 0x101771(%rip), %rsi    # 0x12e733
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x84(%rbp)
jmp 0x2cfd3
movb -0x84(%rbp), %al
testb $0x1, %al
jne 0x2cfdf
jmp 0x2cff8
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x1108a0
jmp 0x2cff3
jmp 0x2d208
leaq 0x10173f(%rip), %rsi    # 0x12e73e
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x85(%rbp)
jmp 0x2d010
movb -0x85(%rbp), %al
testb $0x1, %al
jne 0x2d01c
jmp 0x2d035
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x112380
jmp 0x2d030
jmp 0x2d206
leaq 0x101710(%rip), %rsi    # 0x12e74c
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x86(%rbp)
jmp 0x2d04d
movb -0x86(%rbp), %al
testb $0x1, %al
jne 0x2d059
jmp 0x2d072
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x113360
jmp 0x2d06d
jmp 0x2d204
leaq 0x1016e1(%rip), %rsi    # 0x12e75a
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x87(%rbp)
jmp 0x2d08a
movb -0x87(%rbp), %al
testb $0x1, %al
jne 0x2d096
jmp 0x2d0af
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x116180
jmp 0x2d0aa
jmp 0x2d202
leaq 0x1016b5(%rip), %rsi    # 0x12e76b
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x88(%rbp)
jmp 0x2d0c7
movb -0x88(%rbp), %al
testb $0x1, %al
jne 0x2d0d3
jmp 0x2d0ec
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x117c10
jmp 0x2d0e7
jmp 0x2d200
leaq 0x101682(%rip), %rsi    # 0x12e775
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x89(%rbp)
jmp 0x2d104
movb -0x89(%rbp), %al
testb $0x1, %al
jne 0x2d110
jmp 0x2d129
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x119e70
jmp 0x2d124
jmp 0x2d1fe
leaq 0x101655(%rip), %rsi    # 0x12e785
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x8a(%rbp)
jmp 0x2d141
movb -0x8a(%rbp), %al
testb $0x1, %al
jne 0x2d14d
jmp 0x2d166
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x124fc0
jmp 0x2d161
jmp 0x2d1fc
leaq 0x101625(%rip), %rsi    # 0x12e792
leaq -0x30(%rbp), %rdi
callq 0x2d770
movb %al, -0x8b(%rbp)
jmp 0x2d17e
movb -0x8b(%rbp), %al
testb $0x1, %al
jne 0x2d18a
jmp 0x2d1a0
movl -0x8(%rbp), %edi
decl %edi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x129f80
jmp 0x2d19e
jmp 0x2d1fa
movq 0x16be49(%rip), %rdi    # 0x198ff0
leaq 0x1015fb(%rip), %rsi    # 0x12e7a9
callq 0xa5c0
movq %rax, -0x98(%rbp)
jmp 0x2d1bc
movq -0x98(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0xa520
movq %rax, -0xa0(%rbp)
jmp 0x2d1d5
movq -0xa0(%rbp), %rdi
leaq 0x1026aa(%rip), %rsi    # 0x12f88d
callq 0xa5c0
jmp 0x2d1ea
movl $0x1, -0x4(%rbp)
movl $0x1, -0x48(%rbp)
jmp 0x2d262
jmp 0x2d1fc
jmp 0x2d1fe
jmp 0x2d200
jmp 0x2d202
jmp 0x2d204
jmp 0x2d206
jmp 0x2d208
jmp 0x2d20a
jmp 0x2d20c
jmp 0x2d20e
jmp 0x2d210
jmp 0x2d212
jmp 0x2d214
jmp 0x2d216
jmp 0x2d218
jmp 0x2d21a
jmp 0x2d21c
jmp 0x2d21e
jmp 0x2d220
jmp 0x2d222
jmp 0x2d224
jmp 0x2d226
jmp 0x2d228
jmp 0x2d22a
jmp 0x2d22c
jmp 0x2d22e
jmp 0x2d230
jmp 0x2d232
jmp 0x2d234
jmp 0x2d236
jmp 0x2d238
jmp 0x2d23a
jmp 0x2d23c
jmp 0x2d23e
jmp 0x2d240
jmp 0x2d242
jmp 0x2d244
jmp 0x2d246
jmp 0x2d248
jmp 0x2d24a
jmp 0x2d24c
jmp 0x2d24e
jmp 0x2d250
jmp 0x2d252
jmp 0x2d254
movl $0x0, -0x4(%rbp)
movl $0x1, -0x48(%rbp)
leaq -0x30(%rbp), %rdi
callq 0xac88
movl -0x4(%rbp), %eax
addq $0xa0, %rsp
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0xab50