// File: /workspace/github_cpp_makefile_star2_O3/tedsharpe[P]ORFCall/ORFCall.cc
// Function: main
int main( int argc, char** argv )
{
    bool dumpNonAligners = false;
    unsigned K = 25;
    double maxMismatchFrac = .1;
    std::string outputFilename = "orfcall";
    bool pairedMode = false;
    unsigned minQ = 20;
    unsigned maxSeqErrs = 2;
    std::string codonTranslation =
            "KNKNTTTTRSRSIIMIQHQHPPPPRRRRLLLLEDEDAAAAGGGGVVVVZYZYSSSSZCWCLFLF";

    int opt;
    while ( (opt = getopt(argc, argv, "dE:K:M:O:pQ:T:")) != -1 )
    {
        switch ( opt )
        {
        case 'd':
            dumpNonAligners = true;
            break;
        case 'E':
        { std::istringstream iss(optarg);
          if ( !(iss >> maxSeqErrs) )
              FatalErr("Can't interpret E='" << optarg
                      << "'. Expecting an integer maximum for sequencing errors per read."); }
          break;
        case 'K':
          { std::istringstream iss(optarg);
            if ( !(iss >> K) || K < 14 || K > 64 )
                FatalErr("Can't interpret K='" << optarg
                        << "'. Expecting an integer between 14 and 64"
                           " for kmer size."); }
            // note to self:  we don't have to worry about palindromes because
            // we're adding the rc of the ref to the dictionary, too, and that
            // will cause palindromes to be discarded as dups.
            break;
        case 'M':
          { std::istringstream iss(optarg);
            if ( !(iss >> maxMismatchFrac) ||
                    maxMismatchFrac < 0. || maxMismatchFrac > 1. )
                FatalErr("Can't interpret M='" << optarg
                        << "'. Expecting a fraction between "
                           "0. and 1. for max mismatch rate."); }
            break;
        case 'O':
            outputFilename = optarg;
            break;
        case 'p':
            pairedMode = true;
            break;
        case 'Q':
          { std::istringstream iss(optarg);
            if ( !(iss >> minQ) || minQ > 60 )
                FatalErr("Can't interpret Q='" << optarg
                        << "'. Expecting an integer min quality score."); }
            break;
        case 'T':
            codonTranslation = optarg;
            if ( codonTranslation.size() != NCODONS )
                FatalErr("Can't interpret T='" << optarg <<
                        " as a table of codon calls.  Expected 64 characters.");
            break;
        case '?':
            if ( optopt == 'E' )
                FatalErr("Need value for E (max seq errs) option.");
            else if ( optopt == 'K' )
                FatalErr("Need value for K (kmer size) option.");
            else if ( optopt == 'M' )
                FatalErr("Need value for M (max mismatch fraction) option.");
            else if ( optopt == 'O' )
                FatalErr("Need value for O (output filename) option.");
            else if ( optopt == 'Q' )
                FatalErr("Need value for Q (min quality score) option.");
            else if ( optopt == 'T' )
                FatalErr("Need value for T (table of codon calls) option.");
            else
                FatalErr("Unknown option character " << optopt);
            break;
        }
    }

    if ( optind+2 > argc )
        FatalErr("Usage: ORFCall [-d] [-E MAX_SEQ_ERRS] [-K KMER_SIZE] "
                      " [-M MAX_MISMATCH_FRACTION]"
                      " [-O OUTPUT_FILENAME] [-p] [-Q MIN_QUAL] [-T CODON_TABLE] "
                      "ref.fasta codons_used.dat reads1.fastq [reads2.fastq...]\n"
                      "The -p flag signals paired mode.\n");

    Reference ref(argv[optind],argv[optind+1],K);
    ref.report();
    optind += 2;

    std::ofstream* pJunkOS = nullptr;
    if ( dumpNonAligners )
        pJunkOS = new std::ofstream(outputFilename+".unaligned.fasta");
    AminoAcidNamer aaNamer(codonTranslation);
    ORFCaller caller(ref,minQ,maxSeqErrs,aaNamer,pJunkOS);
    char** beg = argv+optind;
    char** end = argv+argc;
    if ( !pairedMode )
        caller.processFastqs(beg,end);
    else
        caller.processPairedFastqs(beg,end);
    std::cerr << "Aligned reads: " << 100.*caller.getFractionAligned() << "%\n";

    if ( pJunkOS )
        delete pJunkOS;

    caller.writeCodonCounts(outputFilename+".cdn");
    caller.writeAminoAcidCounts(outputFilename+".aa");
    caller.writeIndelCounts(outputFilename+".indels");
    caller.report(std::cout);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x848, %rsp            # imm = 0x848
movq %rsi, (%rsp)
movl %edi, %r14d
movabsq $0x3fb999999999999a, %rax # imm = 0x3FB999999999999A
leaq 0x1c0(%rsp), %rcx
leaq 0x8e73(%rip), %rsi      # 0xc480
leaq 0x8e73(%rip), %rdx      # 0xc487
leaq 0x1b0(%rsp), %rdi
movl $0x19, 0x6c(%rsp)
movq %rax, 0x1f8(%rsp)
movq %rcx, -0x10(%rcx)
callq 0xb78a
leaq 0xb0(%rsp), %rax
movl $0x14, 0x68(%rsp)
movl $0x2, 0xdc(%rsp)
movq %rax, -0x10(%rax)
leaq 0x8e2d(%rip), %rsi      # 0xc488
leaq 0x8e66(%rip), %rdx      # 0xc4c8
leaq 0xa0(%rsp), %rdi
callq 0xb78a
movq 0xd942(%rip), %r13      # 0x10fb8
leaq 0x400(%rsp), %r12
leaq 0x8e44(%rip), %rbx      # 0xc4c9
leaq 0x3f0(%rsp), %r15
leaq 0x628(%rsp), %rbp
movq $0x0, 0x8(%rsp)
movq $0x0, 0x50(%rsp)
movl %r14d, 0x58(%rsp)
movq (%rsp), %rsi
movl %r14d, %edi
movq %rbx, %rdx
callq 0x3050
cmpl $0x4a, %eax
jg 0x3748
cmpl $0x45, %eax
jne 0x37d4
movq 0xd8c4(%rip), %rax      # 0x10f98
movq (%rax), %rsi
leaq 0x280(%rsp), %rdx
movq %r15, %rdi
callq 0x30c0
movl $0x8, %edx
movq %rbp, %rdi
movq %r15, %rsi
callq 0x3340
movq 0x3f0(%rsp), %rdi
cmpq %r12, %rdi
je 0x3709
callq 0x31c0
leaq 0xdc(%rsp), %rsi
movq %rbp, %rdi
callq 0x3390
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x6553
movq %rbp, %rdi
movq %r13, %rsi
callq 0x3290
leaq 0x6a0(%rsp), %rdi
callq 0x30a0
jmp 0x36ac
leal -0x4b(%rax), %ecx
cmpl $0x9, %ecx
ja 0x37eb
leaq 0x89a5(%rip), %rdx      # 0xc100
movslq (%rdx,%rcx,4), %rax
addq %rdx, %rax
jmpq *%rax
movq 0xd82d(%rip), %rax      # 0x10f98
movq (%rax), %rsi
leaq 0x280(%rsp), %rdx
movq %r15, %rdi
callq 0x30c0
movl $0x8, %edx
movq %rbp, %rdi
movq %r15, %rsi
callq 0x3340
movq 0x3f0(%rsp), %rdi
cmpq %r12, %rdi
je 0x37a0
callq 0x31c0
leaq 0x6c(%rsp), %rsi
movq %rbp, %rdi
callq 0x3390
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x68ff
movl 0x6c(%rsp), %eax
addl $-0x41, %eax
cmpl $-0x34, %eax
ja 0x372b
jmp 0x68ff
cmpl $-0x1, %eax
je 0x399f
cmpl $0x3f, %eax
jne 0x36ac
jmp 0x6505
cmpl $0x64, %eax
je 0x3993
cmpl $0x70, %eax
jne 0x36ac
movb $0x1, %al
movq %rax, 0x8(%rsp)
jmp 0x36ac
movq 0xd788(%rip), %rax      # 0x10f98
movq 0xa8(%rsp), %r12
movq (%rax), %r14
movq %r14, %rdi
callq 0x30e0
movq %r14, %rcx
movl 0x58(%rsp), %r14d
leaq 0xa0(%rsp), %rdi
movq %r12, %rdx
xorl %esi, %esi
movq %rax, %r8
leaq 0x400(%rsp), %r12
callq 0x32f0
cmpq $0x40, 0xa8(%rsp)
je 0x36ac
jmp 0x6809
movq 0xd735(%rip), %rax      # 0x10f98
movq 0x1b8(%rsp), %r12
movq (%rax), %r14
movq %r14, %rdi
callq 0x30e0
movq %r14, %rcx
movl 0x58(%rsp), %r14d
leaq 0x1b0(%rsp), %rdi
movq %r12, %rdx
xorl %esi, %esi
movq %rax, %r8
leaq 0x400(%rsp), %r12
callq 0x32f0
jmp 0x36ac
movq 0xd6f1(%rip), %rax      # 0x10f98
movq (%rax), %rsi
leaq 0x280(%rsp), %rdx
movq %r15, %rdi
callq 0x30c0
movl $0x8, %edx
movq %rbp, %rdi
movq %r15, %rsi
callq 0x3340
movq 0x3f0(%rsp), %rdi
cmpq %r12, %rdi
je 0x38dc
callq 0x31c0
leaq 0x68(%rsp), %rsi
movq %rbp, %rdi
callq 0x3390
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x685b
cmpl $0x3d, 0x68(%rsp)
jb 0x372b
jmp 0x685b
movq 0xd686(%rip), %rax      # 0x10f98
movq (%rax), %rsi
leaq 0x280(%rsp), %rdx
movq %r15, %rdi
callq 0x30c0
movl $0x8, %edx
movq %rbp, %rdi
movq %r15, %rsi
callq 0x3340
movq 0x3f0(%rsp), %rdi
cmpq %r12, %rdi
je 0x3947
callq 0x31c0
leaq 0x1f8(%rsp), %rsi
movq %rbp, %rdi
callq 0x3120
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x68ad
vmovsd 0x1f8(%rsp), %xmm0
vxorpd %xmm1, %xmm1, %xmm1
vucomisd %xmm0, %xmm1
ja 0x68ad
vucomisd 0x8680(%rip), %xmm0     # 0xc008
jbe 0x372b
jmp 0x68ad
movb $0x1, %al
movq %rax, 0x50(%rsp)
jmp 0x36ac
movq 0xd62a(%rip), %rax      # 0x10fd0
movslq (%rax), %rax
leal 0x2(%rax), %ecx
cmpl %r14d, %ecx
jg 0x6982
movq (%rsp), %rcx
movl 0x6c(%rsp), %edx
vpxor %xmm0, %xmm0, %xmm0
leaq 0x150(%rsp), %r14
leaq 0x140(%rsp), %rdi
movq (%rcx,%rax,8), %rbx
movq 0x8(%rcx,%rax,8), %rax
leaq 0x118(%rsp), %rcx
movl %edx, -0x38(%rcx)
vmovdqu %ymm0, -0x30(%rcx)
vmovdqu %ymm0, -0x20(%rcx)
vpxor %xmm0, %xmm0, %xmm0
movl %edx, (%rcx)
movl %edx, 0x4(%rcx)
movq %r14, -0x30(%r14)
movq $0x1, -0x28(%r14)
vmovdqu %xmm0, -0x10(%rdi)
movl $0x3f800000, (%rdi)     # imm = 0x3F800000
vmovdqu %xmm0, 0x8(%rdi)
movq %rax, 0xc0(%rsp)
xorl %esi, %esi
vzeroupper
callq 0x3150
movq %rax, %r15
cmpq 0x128(%rsp), %rax
jbe 0x3a73
cmpq $0x1, %r15
je 0x6435
leaq 0x628(%rsp), %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x9d9a
movq %r15, %rdx
shlq $0x3, %rdx
movq %rax, %r14
movq %rax, %rdi
xorl %esi, %esi
callq 0x3110
movq %r14, 0x120(%rsp)
movq %r15, 0x128(%rsp)
vpxor %xmm0, %xmm0, %xmm0
movq $0x0, 0x198(%rsp)
vmovdqu64 %zmm0, 0x158(%rsp)
leaq 0x628(%rsp), %rdi
movl $0xe, %edx
movq %rbx, %rsi
vzeroupper
callq 0x33c0
movq 0x628(%rsp), %rax
movq -0x18(%rax), %rax
testb $0x5, 0x648(%rsp,%rax)
jne 0x69ab
leaq 0x628(%rsp), %rdi
callq 0x3380
leaq 0xe8(%rsp), %rdi
movq %rax, %rsi
callq 0x9dc0
leaq 0x628(%rsp), %rbx
xorl %esi, %esi
xorl %edx, %edx
movq %rbx, %rdi
callq 0x3230
movq 0x628(%rsp), %rax
movq %r12, 0x3f0(%rsp)
movq $0x0, 0x3f8(%rsp)
movb $0x0, 0x400(%rsp)
addq -0x18(%rax), %rbx
movl $0xa, %esi
movq %rbx, %rdi
callq 0x31d0
leaq 0x628(%rsp), %rbx
movsbl %al, %edx
leaq 0x3f0(%rsp), %rsi
movq %rbx, %rdi
callq 0x33d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x69df
cmpq $0x0, 0x3f8(%rsp)
je 0x6951
movq 0x3f0(%rsp), %rax
cmpb $0x3e, (%rax)
jne 0x6951
xorl %r12d, %r12d
xorl %r14d, %r14d
movq 0x628(%rsp), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31d0
movsbl %al, %edx
leaq 0x3f0(%rsp), %rsi
movq %rbx, %rdi
callq 0x33d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x3dd1
movq 0x3f8(%rsp), %r15
incl %r14d
testq %r15, %r15
je 0x3b79
movq 0x3f0(%rsp), %rbp
xorl %ebx, %ebx
movsbl (%rbp,%rbx), %r13d
movl %r13d, %edi
callq 0x3040
testl %eax, %eax
jne 0x3d46
movzbl %r13b, %eax
cmpl $0x5c, %eax
jg 0x3c11
cmpl $0x53, %eax
jg 0x3c5b
cmpl $0x41, %eax
je 0x3cde
cmpl $0x43, %eax
je 0x3c35
cmpl $0x47, %eax
je 0x3d21
jmp 0x6678
cmpl $0x66, %eax
jg 0x3cb7
cmpl $0x5d, %eax
je 0x3d54
cmpl $0x61, %eax
je 0x3cde
cmpl $0x63, %eax
jne 0x6678
movq 0xf0(%rsp), %rsi
movb $0x1, 0x280(%rsp)
cmpq 0xf8(%rsp), %rsi
je 0x3dad
movb $0x1, (%rsi)
jmp 0x3d3e
leal -0x54(%rax), %ecx
cmpl $0x2, %ecx
jb 0x3cbf
cmpl $0x5b, %eax
jne 0x6678
testb $0x1, %r12b
jne 0x6610
movq 0xf0(%rsp), %rax
subq 0xe8(%rsp), %rax
movq %rax, 0x280(%rsp)
movq $0x0, 0x288(%rsp)
leaq 0x158(%rsp), %rdi
leaq 0x280(%rsp), %rsi
callq 0x72c2
movb $0x1, %r12b
jmp 0x3d46
leal -0x74(%rax), %ecx
cmpl $0x2, %ecx
jae 0x3d18
movq 0xf0(%rsp), %rsi
movb $0x3, 0x280(%rsp)
cmpq 0xf8(%rsp), %rsi
je 0x3d01
movb $0x3, (%rsi)
jmp 0x3d3e
movq 0xf0(%rsp), %rsi
movb $0x0, 0x280(%rsp)
cmpq 0xf8(%rsp), %rsi
je 0x3d7f
movb $0x0, (%rsi)
jmp 0x3d3e
leaq 0xe8(%rsp), %rdi
leaq 0x280(%rsp), %rdx
callq 0x9edc
jmp 0x3d46
cmpl $0x67, %eax
jne 0x6678
movq 0xf0(%rsp), %rsi
movb $0x2, 0x280(%rsp)
cmpq 0xf8(%rsp), %rsi
je 0x3d96
movb $0x2, (%rsi)
incq 0xf0(%rsp)
incq %rbx
cmpq %rbx, %r15
jne 0x3bd1
jmp 0x3dc4
testb $0x1, %r12b
je 0x6644
movq 0xf0(%rsp), %rax
movq 0x160(%rsp), %rcx
xorl %r12d, %r12d
subq 0xe8(%rsp), %rax
movq %rax, -0x8(%rcx)
jmp 0x3d46
leaq 0xe8(%rsp), %rdi
leaq 0x280(%rsp), %rdx
callq 0x9edc
jmp 0x3d46
leaq 0xe8(%rsp), %rdi
leaq 0x280(%rsp), %rdx
callq 0x9edc
jmp 0x3d46
leaq 0xe8(%rsp), %rdi
leaq 0x280(%rsp), %rdx
callq 0x9edc
jmp 0x3d46
leaq 0x628(%rsp), %rbx
jmp 0x3b79
testb $0x1, %r12b
jne 0x6a08
movq 0x158(%rsp), %rax
cmpq 0x160(%rsp), %rax
jne 0x3e63
movq 0xd1fc(%rip), %rbx      # 0x10ff0
leaq 0x8b6e(%rip), %rsi      # 0xc969
movl $0x37, %edx
movq %rbx, %rdi
callq 0x3210
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movl $0xa, %esi
movq %rbx, %rdi
callq 0x31d0
movq 0xd1cd(%rip), %rdi      # 0x10ff0
movsbl %al, %esi
callq 0x3030
movq %rax, %rdi
callq 0x3140
movq 0xf0(%rsp), %rax
leaq 0x280(%rsp), %rsi
subq 0xe8(%rsp), %rax
movq $0x0, (%rsi)
movq %rax, 0x8(%rsi)
leaq 0x158(%rsp), %rdi
callq 0x72c2
movq 0x628(%rsp), %rax
movq -0x18(%rax), %rax
testb $0x2, 0x648(%rsp,%rax)
je 0x6a31
movq 0xf0(%rsp), %rax
movl 0xe0(%rsp), %ecx
subq 0xe8(%rsp), %rax
cmpq %rcx, %rax
jb 0x6a5a
leaq 0x280(%rsp), %rsi
movq %rax, (%rsi)
movq %rax, 0x8(%rsi)
leaq 0x158(%rsp), %rdi
callq 0x72c2
movq 0x158(%rsp), %rax
movq 0x160(%rsp), %rcx
cmpq %rcx, %rax
je 0x3ff7
vpmovsxbq 0x814c(%rip), %zmm1 # 0xc028
vpmovsxbd 0x814b(%rip), %ymm3 # 0xc030
subq %rax, %rcx
vpxor %xmm4, %xmm4, %xmm4
xorl %edx, %edx
addq $-0x10, %rcx
vpbroadcastq %rcx, %zmm0
shrq $0x4, %rcx
addq $0x8, %rcx
vpsrlq $0x4, %zmm0, %zmm0
andq $-0x8, %rcx
vpbroadcastq %rdx, %zmm6
vmovdqa64 %zmm4, %zmm2
vpxor %xmm5, %xmm5, %xmm5
addq $0x8, %rdx
vporq %zmm1, %zmm6, %zmm4
vpcmpleuq %zmm0, %zmm4, %k1
vpxor %xmm4, %xmm4, %xmm4
kmovq %k1, %k2
vpgatherdq (%rax,%ymm3), %zmm4 {%k2}
kmovq %k1, %k2
vpgatherdq 0x8(%rax,%ymm3), %zmm5 {%k2}
subq $-0x80, %rax
vpsubq %zmm4, %zmm2, %zmm4
vpaddq %zmm5, %zmm4, %zmm4
cmpq %rdx, %rcx
jne 0x3f0b
vmovdqa64 %zmm4, %zmm2 {%k1}
vextracti64x4 $0x1, %zmm2, %ymm0
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
vpaddq %zmm0, %zmm2, %zmm0
vextracti128 $0x1, %ymm0, %xmm1
vpaddq %xmm1, %xmm0, %xmm0
vpshufd $0xee, %xmm0, %xmm1     # xmm1 = xmm0[2,3,2,3]
vpaddq %xmm1, %xmm0, %xmm0
vmovq %xmm0, %rbx
movq %rbx, %rax
imulq %rcx, %rax
movabsq $0x5555555555555556, %rcx # imm = 0x5555555555555556
cmpq %rcx, %rax
jb 0x3ff9
movq 0xd040(%rip), %rdi      # 0x10ff0
leaq 0x8a50(%rip), %rsi      # 0xca07
movl $0xa, %edx
vzeroupper
callq 0x3210
movq 0xd025(%rip), %rdi      # 0x10ff0
movq %rbx, %rsi
callq 0x3130
leaq 0x8a38(%rip), %rsi      # 0xca12
movl $0x2e, %edx
movq %rax, %rdi
movq %rax, %rbx
callq 0x3210
movq %rbx, %rdi
callq 0x30f0
jmp 0x63cb
xorl %ebx, %ebx
leaq 0x280(%rsp), %rdi
vpxor %xmm0, %xmm0, %xmm0
vmovdqa %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
movq %rbx, %rsi
vzeroupper
callq 0x9dc0
movq 0x158(%rsp), %r15
movq 0x160(%rsp), %r12
cmpq %r12, %r15
je 0x405c
leaq 0x280(%rsp), %r14
movq 0xe8(%rsp), %rsi
movq (%r15), %rdi
addq %rsi, %rdi
addq 0x8(%r15), %rsi
movq %r14, %rdx
callq 0x9fcc
addq $0x10, %r15
cmpq %r12, %r15
jne 0x4039
movabsq $-0x5555555555555555, %rax # imm = 0xAAAAAAAAAAAAAAAB
movq %rbx, %rdx
mulxq %rax, %rsi, %rsi
shrq %rsi
leaq 0x170(%rsp), %rdi
callq 0x9e4a
movq 0x280(%rsp), %rbx
movq 0x288(%rsp), %r15
leaq 0x400(%rsp), %r12
cmpq %r15, %rbx
jae 0x40fc
leaq 0x10(%rsp), %r14
movzbl (%rbx), %eax
movzbl 0x1(%rbx), %ecx
movq 0x178(%rsp), %rsi
shll $0x4, %eax
shll $0x2, %ecx
orl %eax, %ecx
movzbl 0x2(%rbx), %eax
orl %ecx, %eax
movl %eax, 0x10(%rsp)
cmpq 0x180(%rsp), %rsi
je 0x40db
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x178(%rsp)
jmp 0x40eb
leaq 0x170(%rsp), %rdi
movq %r14, %rdx
callq 0xa126
addq $0x3, %rbx
cmpq %r15, %rbx
jb 0x40a0
movq 0x280(%rsp), %rbx
testq %rbx, %rbx
je 0x4109
movq %rbx, %rdi
callq 0x31c0
movq 0x3f0(%rsp), %rdi
cmpq %r12, %rdi
je 0x411b
callq 0x31c0
leaq 0x628(%rsp), %rdi
callq 0x3060
movq 0xc0(%rsp), %rsi
leaq 0x628(%rsp), %rdi
movl $0xc, %edx
callq 0x33c0
movq 0x628(%rsp), %rax
movq -0x18(%rax), %rax
testb $0x5, 0x648(%rsp,%rax)
jne 0x6ab2
movq %r12, 0x3f0(%rsp)
movq $0x0, 0x3f8(%rsp)
leaq 0x628(%rsp,%rax), %rdi
movb $0x0, 0x400(%rsp)
movl $0xa, %esi
callq 0x31d0
leaq 0x628(%rsp), %r14
movsbl %al, %edx
leaq 0x3f0(%rsp), %rsi
movq %r14, %rdi
callq 0x33d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x6aeb
cmpq $0xff, 0x3f8(%rsp)
jne 0x6aeb
movq 0x178(%rsp), %rbx
subq 0x170(%rsp), %rbx
sarq $0x2, %rbx
leaq 0x188(%rsp), %rdi
movq %rbx, %rsi
callq 0xa236
xorl %r12d, %r12d
movq 0x628(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31d0
movsbl %al, %edx
leaq 0x3f0(%rsp), %rsi
movq %r14, %rdi
callq 0x33d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x42f9
cmpq $0x7f, 0x3f8(%rsp)
leaq 0x1(%r12), %r15
jne 0x65a5
movq 0x3f0(%rsp), %rax
xorl %ecx, %ecx
movq $0x0, 0x70(%rsp)
movzbl 0x1(%rax,%rcx,2), %edx
cmpl $0x9, %edx
je 0x4268
cmpl $0x20, %edx
jne 0x6347
incq %rcx
cmpq $0x3f, %rcx
jne 0x4255
movq 0x170(%rsp), %rdx
xorl %r13d, %r13d
xorl %ecx, %ecx
movzbl (%rax,%r13,2), %esi
cmpl $0x30, %esi
je 0x42b3
cmpl $0x32, %esi
je 0x42a1
cmpl $0x31, %esi
jne 0x63d5
btsq %r13, %rcx
movq %rcx, 0x70(%rsp)
jmp 0x42b3
cmpq %rbx, %r15
ja 0x42b3
movl (%rdx,%r12,4), %ebp
cmpq %rbp, %r13
jne 0x6446
incq %r13
cmpq $0x40, %r13
jne 0x427e
movq 0x190(%rsp), %rsi
cmpq 0x198(%rsp), %rsi
je 0x42df
movq %rcx, (%rsi)
addq $0x8, %rsi
movq %rsi, 0x190(%rsp)
jmp 0x42f1
leaq 0x188(%rsp), %rdi
leaq 0x70(%rsp), %rdx
callq 0xa316
movq %r15, %r12
jmp 0x41f0
movq 0x190(%rsp), %rax
subq 0x188(%rsp), %rax
sarq $0x3, %rax
cmpq %rbx, %rax
ja 0x6b14
leaq 0x400(%rsp), %r12
jae 0x43cc
movq 0xccc5(%rip), %rdi      # 0x10ff0
leaq 0x8810(%rip), %rsi      # 0xcb42
movl $0x1c, %edx
callq 0x3210
movq 0x190(%rsp), %rsi
subq 0x188(%rsp), %rsi
sarq $0x3, %rsi
movq 0xcc99(%rip), %rdi      # 0x10ff0
callq 0x3130
leaq 0x87fc(%rip), %rsi      # 0xcb5f
movl $0x16, %edx
movq %rax, %rdi
movq %rax, %r14
callq 0x3210
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3130
leaq 0x87b4(%rip), %rsi      # 0xcb39
movl $0x8, %edx
movq %rax, %rdi
movq %rax, %r14
callq 0x3210
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31d0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3140
leaq 0x188(%rsp), %rdi
movq %rbx, %rsi
callq 0xa2c8
movq 0x3f0(%rsp), %rdi
cmpq %r12, %rdi
je 0x43de
callq 0x31c0
leaq 0x628(%rsp), %rdi
callq 0x3060
movq 0xf0(%rsp), %rsi
subq 0xe8(%rsp), %rsi
leaq 0x100(%rsp), %rdi
callq 0x9dc0
movq 0xe8(%rsp), %r15
movq 0xf0(%rsp), %r14
cmpq %r15, %r14
je 0x448d
movl $0x4, %ebp
leaq 0x628(%rsp), %rbx
leaq 0x100(%rsp), %r12
movb -0x1(%r14), %al
movq 0x108(%rsp), %rsi
movl %eax, %ecx
xorb $0x3, %cl
cmpb $0x4, %al
movzbl %cl, %eax
cmovel %ebp, %eax
movb %al, 0x628(%rsp)
cmpq 0x110(%rsp), %rsi
je 0x4468
movb %al, (%rsi)
incq 0x108(%rsp)
jmp 0x4473
movq %r12, %rdi
movq %rbx, %rdx
callq 0x9edc
decq %r14
cmpq %r15, %r14
jne 0x4432
movq 0xe8(%rsp), %r14
movq 0xf0(%rsp), %rax
jmp 0x4490
movq %r14, %rax
subq %r14, %rax
movq 0x148(%rsp), %rbx
addq %rax, %rax
vcvtusi2sd %rax, %xmm2, %xmm0
vcvtss2sd 0x140(%rsp), %xmm2, %xmm1
movq 0x138(%rsp), %rax
movq %rbx, 0x628(%rsp)
incq %rax
vdivsd %xmm1, %xmm0, %xmm0
vroundsd $0xa, %xmm0, %xmm0, %xmm0
vcvttsd2usi %xmm0, %rsi
vcvtusi2sd %rax, %xmm2, %xmm0
vdivsd %xmm1, %xmm0, %xmm0
vroundsd $0xa, %xmm0, %xmm0, %xmm0
vcvttsd2usi %xmm0, %rax
cmpq %rsi, %rax
cmovaq %rax, %rsi
leaq 0x140(%rsp), %rdi
callq 0x3150
cmpq 0x128(%rsp), %rax
jne 0x450e
movq %rbx, 0x148(%rsp)
jmp 0x4526
leaq 0x628(%rsp), %rdx
leaq 0x118(%rsp), %rdi
movq %rax, %rsi
callq 0x75b0
movq 0xf0(%rsp), %r14
movl 0xe0(%rsp), %eax
movq 0xe8(%rsp), %r15
subq %rax, %r14
movq %r15, 0x628(%rsp)
leaq 0x1(%r14), %rcx
cmpq %rcx, %r15
je 0x45a9
leaq -0x1(%r15), %r12
incq %r15
leaq 0x628(%rsp), %rbx
xorl %r13d, %r13d
leaq 0x118(%rsp), %rdi
movq %rbx, %rsi
callq 0x745a
cmpb $0x0, 0x9(%rax)
movb $0x2, %cl
jne 0x4587
movl %r13d, %ecx
movq %rcx, (%rax)
movb $0x1, %cl
movb $0x0, 0x8(%rax)
leaq (%r15,%r13), %rdx
incq %r13
movb %cl, 0x9(%rax)
leaq (%r12,%r13), %rcx
movq %rdx, 0x628(%rsp)
cmpq %r14, %rcx
jne 0x4563
movl 0xe0(%rsp), %eax
movq 0x108(%rsp), %r15
movq 0x100(%rsp), %r14
negq %rax
leaq 0x1(%r15,%rax), %rcx
movq %r14, 0x628(%rsp)
cmpq %rcx, %r14
je 0x4622
leaq -0x1(%r14), %r12
addq %rax, %r15
incq %r14
leaq 0x628(%rsp), %rbx
xorl %r13d, %r13d
leaq 0x118(%rsp), %rdi
movq %rbx, %rsi
callq 0x745a
cmpb $0x0, 0x9(%rax)
movb $0x2, %cl
jne 0x4607
movl %r13d, %ecx
movq %rcx, (%rax)
movb $0x1, %cl
movb $0x1, 0x8(%rax)
leaq (%r14,%r13), %rdx
incq %r13
movb %cl, 0x9(%rax)
leaq (%r12,%r13), %rcx
movq %rdx, 0x628(%rsp)
cmpq %r15, %rcx
jne 0x45e3
movq 0x130(%rsp), %rdi
testq %rdi, %rdi
je 0x46ef
cmpb $0x1, 0x19(%rdi)
jne 0x4641
movq (%rdi), %rbx
jmp 0x46e3
movq 0x128(%rsp), %r11
movq 0x20(%rdi), %rax
movq 0x120(%rsp), %rsi
xorl %edx, %edx
divq %r11
movq (%rsi,%rdx,8), %r10
movq %rdx, %rcx
movq %r10, %rax
movq %rax, %r8
movq (%rax), %rax
cmpq %rdi, %rax
jne 0x4664
movq (%rdi), %r9
cmpq %r8, %r10
je 0x4690
testq %r9, %r9
je 0x46d0
movq 0x20(%r9), %rax
xorl %edx, %edx
divq %r11
cmpq %rcx, %rdx
je 0x46d0
movq %r8, (%rsi,%rdx,8)
jmp 0x46d0
testq %r9, %r9
je 0x46b3
movq 0x20(%r9), %rax
xorl %edx, %edx
divq %r11
cmpq %rcx, %rdx
je 0x46d0
movq %r10, (%rsi,%rdx,8)
movq 0x120(%rsp), %rsi
movq (%rsi,%rcx,8), %r10
leaq 0x130(%rsp), %rax
cmpq %r10, %rax
jne 0x46c8
movq %r9, 0x130(%rsp)
movq $0x0, (%rsi,%rcx,8)
movq (%rdi), %rbx
movq %rbx, (%r8)
callq 0x31c0
decq 0x138(%rsp)
movq %rbx, %rdi
testq %rbx, %rbx
jne 0x4633
movq 0xf0(%rsp), %rbx
subq 0xe8(%rsp), %rbx
movq 0xc8ea(%rip), %rdi      # 0x10ff0
leaq 0x8488(%rip), %rsi      # 0xcb95
movl $0x12, %edx
callq 0x3210
movq 0xc8d2(%rip), %rdi      # 0x10ff0
movq %rbx, %rsi
callq 0x3130
leaq 0x849b(%rip), %rsi      # 0xcbc8
movl $0x2, %edx
movq %rax, %rdi
callq 0x3210
movq 0xc8af(%rip), %rdi      # 0x10ff0
leaq 0x8460(%rip), %rsi      # 0xcba8
movl $0xb, %edx
callq 0x3210
movq 0x138(%rsp), %rsi
movq 0xc88f(%rip), %rdi      # 0x10ff0
callq 0x3130
leaq 0x8447(%rip), %rsi      # 0xcbb4
movl $0x2, %edx
movq %rax, %rdi
movq %rax, %r14
callq 0x3210
movl 0xe0(%rsp), %eax
subq %rax, %rbx
addq %rbx, %rbx
subq 0x138(%rsp), %rbx
addq $0x2, %rbx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3130
leaq 0x840f(%rip), %rsi      # 0xcbb7
movl $0x13, %edx
movq %rax, %rdi
callq 0x3210
movq 0xc834(%rip), %rdi      # 0x10ff0
leaq 0x8408(%rip), %rsi      # 0xcbcb
movl $0x16, %edx
callq 0x3210
movq 0x178(%rsp), %rsi
subq 0x170(%rsp), %rsi
sarq $0x2, %rsi
movq 0xc808(%rip), %rdi      # 0x10ff0
callq 0x3130
leaq 0x83d4(%rip), %rsi      # 0xcbc8
movl $0x2, %edx
movq %rax, %rdi
callq 0x3210
movq 0xc7e8(%rip), %rdi      # 0x10ff0
leaq 0x83d3(%rip), %rsi      # 0xcbe2
movl $0xd, %edx
callq 0x3210
movq 0x160(%rsp), %r12
movq 0x158(%rsp), %r15
addq $-0x10, %r12
cmpq %r12, %r15
je 0x489a
movq 0xc7b7(%rip), %rbx      # 0x10ff0
movb $0x20, %al
leaq 0x628(%rsp), %r14
movb %al, 0x628(%rsp)
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3210
movq (%r15), %rsi
incq %rsi
movq %rax, %rdi
callq 0x3130
movb $0x3a, 0x628(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %r14, %rsi
callq 0x3210
movq 0x8(%r15), %rsi
incq %rsi
movq %rax, %rdi
callq 0x3130
addq $0x10, %r15
movb $0x2c, %al
cmpq %r12, %r15
jne 0x4843
movq 0xc74f(%rip), %rbp      # 0x10ff0
leaq 0x8320(%rip), %rsi      # 0xcbc8
movl $0x2, %edx
movq %rbp, %rdi
callq 0x3210
movq 0xc714(%rip), %r12      # 0x10fd0
addl $0x2, (%r12)
testb $0x1, 0x50(%rsp)
je 0x493e
movl $0x200, %edi            # imm = 0x200
callq 0x31f0
movq 0x1b0(%rsp), %rsi
movq 0x1b8(%rsp), %rdx
leaq 0x638(%rsp), %rbx
movq %rax, %r15
movq %rbx, -0x10(%rbx)
addq %rsi, %rdx
leaq 0x628(%rsp), %rdi
callq 0xa520
leaq 0x7f53(%rip), %rsi      # 0xc85b
leaq 0x628(%rsp), %rdi
callq 0x33f0
leaq 0x628(%rsp), %rsi
movl $0x10, %edx
movq %r15, %rdi
callq 0x3400
movq 0x628(%rsp), %rdi
cmpq %rbx, %rdi
je 0x4941
callq 0x31c0
jmp 0x4941
xorl %r15d, %r15d
movq 0xa0(%rsp), %rsi
movq 0xa8(%rsp), %rdx
leaq 0x638(%rsp), %rax
movq %rax, -0x10(%rax)
addq %rsi, %rdx
leaq 0x628(%rsp), %rdi
callq 0xa520
cmpq $0x40, 0xa8(%rsp)
movq %r15, 0xd0(%rsp)
jne 0x6b9a
movq 0x628(%rsp), %rbx
movq 0x630(%rsp), %r15
leaq (%rbx,%r15), %r14
testq %r15, %r15
je 0x49fa
lzcntq %r15, %rdx
addl %edx, %edx
xorq $0x7e, %rdx
movq %rbx, %rdi
movq %r14, %rsi
callq 0xa5b5
movq %rbx, %rdi
movq %r14, %rsi
callq 0xa690
movl $0x1, %edx
cmpq %rdx, %r15
je 0x49fa
movb -0x1(%rbx,%rdx), %cl
leaq 0x1(%rdx), %rax
cmpb (%rbx,%rdx), %cl
movq %rax, %rdx
jne 0x49c3
leaq -0x2(%rbx,%rax), %r14
cmpq %rax, %r15
je 0x49f7
movl %ecx, %edx
movb (%rbx,%rax), %cl
cmpb %cl, %dl
je 0x49f2
movb %cl, 0x1(%r14)
incq %r14
incq %rax
jmp 0x49dd
incq %r14
subq %rbx, %r14
leaq 0x628(%rsp), %r15
movq %r14, %rsi
xorl %edx, %edx
movq %r15, %rdi
callq 0x3090
movq 0x628(%rsp), %rax
movq 0xa0(%rsp), %rcx
xorl %edx, %edx
addq 0x630(%rsp), %rax
subq %rbx, %rax
testq %rax, %rax
jle 0x4a5f
movb (%rcx,%rdx), %dil
movq %rax, %r9
movq %rbx, %rsi
movq %rax, %r8
shrq %r8
cmpb %dil, (%rsi,%r8)
jge 0x4a55
leaq 0x1(%rsi,%r8), %rsi
notq %r8
addq %r9, %r8
movq %r8, %r9
testq %r8, %r8
jg 0x4a41
jmp 0x4a62
movq %rbx, %rsi
subq %rbx, %rsi
movq %rsi, 0x648(%rsp,%rdx,8)
incq %rdx
cmpq $0x40, %rdx
jne 0x4a2f
movb 0x68(%rsp), %al
movl 0xdc(%rsp), %ecx
leaq 0xe0(%rsp), %rdx
movabsq $0x3d226357e16ecf, %rsi # imm = 0x3D226357E16ECF
movq %rdx, 0x280(%rsp)
movb %al, 0x288(%rsp)
movl %ecx, 0x28c(%rsp)
movq 0x90(%rdx), %rcx
movq 0x98(%rdx), %rdx
movq %r15, 0x290(%rsp)
movq %rdx, %rax
subq %rcx, %rax
sarq $0x2, %rax
cmpq %rsi, %rax
jae 0x6be7
leaq 0x298(%rsp), %rsi
vxorpd %xmm1, %xmm1, %xmm1
vmovupd %xmm1, (%rsi)
movq $0x0, 0x10(%rsi)
cmpq %rcx, %rdx
je 0x4b23
imulq $0x218, %rax, %r14      # imm = 0x218
movq %r14, %rdi
callq 0x31f0
movq %rax, %rbx
movq %rax, 0x298(%rsp)
leaq (%rax,%r14), %r15
movq %rax, %rdi
xorl %esi, %esi
movq %r14, %rdx
callq 0x3110
addq %r14, %rbx
vxorpd %xmm1, %xmm1, %xmm1
jmp 0x4b28
xorl %r15d, %r15d
xorl %ebx, %ebx
leaq 0x380(%rsp), %rax
vxorpd %xmm0, %xmm0, %xmm0
leaq 0x3a0(%rsp), %rdi
leaq 0x3c0(%rsp), %rsi
movl 0x58(%rsp), %edx
xorl %ecx, %ecx
testb $0x1, 0x8(%rsp)
movq %r15, -0xd8(%rax)
movq 0xd0(%rsp), %r15
movq %rbx, -0xe0(%rax)
vmovupd %ymm0, -0xd0(%rax)
vxorpd %xmm0, %xmm0, %xmm0
movq %r15, -0xb0(%rax)
vmovupd %xmm1, -0x28(%rax)
movq %rcx, -0x18(%rax)
vmovupd %zmm0, -0xa8(%rax)
vmovupd %zmm0, -0x70(%rax)
movq %rax, -0x10(%rax)
movq %rcx, -0x8(%rax)
movb %cl, (%rax)
movq %rdi, -0x10(%rdi)
movq %rcx, -0x8(%rdi)
movb %cl, (%rdi)
movq %rsi, -0x10(%rsi)
movq %rcx, -0x8(%rsi)
movb %cl, (%rsi)
movslq (%r12), %rax
movq (%rsp), %rsi
movslq %edx, %rcx
leaq (%rsi,%rax,8), %r14
leaq (%rsi,%rcx,8), %rsi
movq %rsi, 0x1f0(%rsp)
je 0x54c5
shlq $0x3, %rax
shlq $0x3, %rcx
movl %eax, %edx
subl %ecx, %edx
testb $0x8, %dl
jne 0x6ccd
vxorpd %xmm0, %xmm0, %xmm0
xorl %edx, %edx
movq %rdx, 0x1e0(%rsp)
movq %rdx, 0x230(%rsp)
movq %rdx, 0x3e0(%rsp)
movq %rdx, 0x250(%rsp)
vmovapd %xmm0, 0x1d0(%rsp)
vmovapd %xmm0, 0x220(%rsp)
vmovapd %xmm0, 0x3d0(%rsp)
vmovapd %xmm0, 0x240(%rsp)
cmpq %rcx, %rax
je 0x548e
leaq 0x200(%rsp), %r12
movq $0x0, 0x1e8(%rsp)
movq (%r14), %rbx
movq 0x8(%r14), %r15
movl $0x8, %edx
leaq 0x8014(%rip), %rsi      # 0xcc77
movq %rbp, %rdi
vzeroupper
callq 0x3210
testq %rbx, %rbx
je 0x4c8b
movq %rbx, %rdi
callq 0x30e0
movq %rbp, %rdi
movq %rbx, %rsi
movq %rax, %rdx
callq 0x3210
jmp 0x4ca4
movq (%rbp), %rax
movq -0x18(%rax), %rax
movl 0x20(%rbp,%rax), %esi
leaq (%rbp,%rax), %rdi
orl $0x1, %esi
callq 0x3360
movl $0x5, %edx
leaq 0x814a(%rip), %rsi      # 0xcdfa
movq %rbp, %rdi
callq 0x3210
testq %r15, %r15
je 0x4cd5
movq %r15, %rdi
callq 0x30e0
movq %rbp, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x3210
jmp 0x4cee
movq (%rbp), %rax
movq -0x18(%rax), %rax
movl 0x20(%rbp,%rax), %esi
leaq (%rbp,%rax), %rdi
orl $0x1, %esi
callq 0x3360
movl $0x3, %edx
leaq 0x7f86(%rip), %rsi      # 0xcc80
movq %rbp, %rdi
callq 0x3210
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x31d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3140
leaq 0x610(%rsp), %rdi
movq %rbx, %rsi
callq 0x77a4
leaq 0x5f8(%rsp), %rdi
movq %r15, %rsi
movq %rbx, 0x58(%rsp)
movq %r15, 0x50(%rsp)
callq 0x77a4
addq $0x10, %r14
xorl %ebp, %ebp
movq %r14, 0x60(%rsp)
leaq 0x610(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x3d0(%rsp), %rdx
callq 0x7882
testb %al, %al
je 0x53cf
movq 0x1d8(%rsp), %rbx
subq 0x1d0(%rsp), %rbx
leaq 0x5f8(%rsp), %rdi
leaq 0x220(%rsp), %rsi
leaq 0x240(%rsp), %rdx
callq 0x7882
testb %al, %al
je 0x63a7
movq 0x220(%rsp), %r15
movq 0x228(%rsp), %rax
subq %r15, %rax
cmpq %rax, %rbx
jne 0x63a7
movq 0x1d8(%rsp), %rax
movq 0x1d0(%rsp), %r14
movq %rax, (%rsp)
cmpq %rax, %r14
je 0x4d5f
movq 0x240(%rsp), %r13
movq 0x3d0(%rsp), %rbx
addq $0x2, 0x2b0(%rsp)
movq %r12, %rdi
movq 0x280(%rsp), %rsi
movq (%r14), %rdx
movq 0x8(%r14), %rcx
callq 0x8012
movq 0x280(%rsp), %rsi
movq (%r15), %rdx
movq 0x8(%r15), %rcx
leaq 0x260(%rsp), %rdi
callq 0x8012
movq 0x200(%rsp), %rcx
movq 0x208(%rsp), %rax
cmpq %rax, %rcx
jne 0x4eaf
movq 0x2d0(%rsp), %rdi
movq 0x58(%rsp), %rsi
movq %rbp, %rdx
movq %r14, %rcx
movq %rbx, %r8
callq 0x816a
movq 0x260(%rsp), %rax
leaq 0x260(%rsp), %rcx
movq %r15, %rsi
movq %r13, %rdx
cmpq 0x268(%rsp), %rax
jne 0x4f1e
movq 0x2d0(%rsp), %rdi
movq 0x50(%rsp), %rsi
movq %rbp, %rdx
movq %r15, %rcx
movq %r13, %r8
callq 0x816a
jmp 0x4f2b
movq 0x260(%rsp), %rdx
movq 0x268(%rsp), %rsi
cmpq %rsi, %rdx
jne 0x4eea
movq 0x2d0(%rsp), %rdi
movq 0x50(%rsp), %rsi
movq %rbp, %rdx
movq %r15, %rcx
movq %r13, %r8
callq 0x816a
movq %r14, %rsi
movq %rbx, %rdx
movq %r12, %rcx
jmp 0x4f1e
cmpq %rsi, %rcx
setbe %cl
cmpq %rax, %rdx
setbe %al
testb %cl, %al
jne 0x4f4d
leaq 0x280(%rsp), %rdi
movq %r14, %rsi
movq %rbx, %rdx
movq %r12, %rcx
callq 0x82b6
leaq 0x260(%rsp), %rcx
movq %r15, %rsi
movq %r13, %rdx
leaq 0x280(%rsp), %rdi
callq 0x82b6
incq %rbp
addq $0x18, %r14
addq $0x18, %r15
addq $0x18, %rbx
addq $0x18, %r13
cmpq (%rsp), %r14
jne 0x4e02
jmp 0x4d5f
addq $0x2, 0x2b8(%rsp)
leaq 0x3f0(%rsp), %rdi
leaq 0x280(%rsp), %rsi
movq %r14, %rdx
movq %rbx, %rcx
movq %r12, %r8
callq 0x83d6
movl 0x28c(%rsp), %eax
cmpq %rax, 0x400(%rsp)
ja 0x4fbe
movq 0x408(%rsp), %rcx
movq 0x410(%rsp), %rax
movq %rax, 0x48(%rsp)
subq %rcx, %rax
movq %rcx, 0x8(%rsp)
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
sarq $0x3, %rax
imulq %rcx, %rax
cmpq $0x2, %rax
jb 0x5040
leaq 0x10(%rsp), %rdi
leaq 0x280(%rsp), %rsi
movq %r12, %rdx
movq %r14, %rcx
movq %rbx, %r8
callq 0x853e
vmovups 0x10(%rsp), %xmm0
movq 0x20(%rsp), %rax
movq %rax, 0x400(%rsp)
movq 0x28(%rsp), %rax
vmovaps %xmm0, 0x3f0(%rsp)
vmovupd 0x30(%rsp), %xmm0
movq 0x408(%rsp), %rdi
movq %rax, 0x408(%rsp)
movq %rax, 0x8(%rsp)
vmovapd %xmm0, 0x410(%rsp)
testq %rdi, %rdi
je 0x503a
vmovapd %xmm0, 0xc0(%rsp)
callq 0x31c0
vmovapd 0xc0(%rsp), %xmm0
vmovlpd %xmm0, 0x48(%rsp)
leaq 0x10(%rsp), %rdi
leaq 0x280(%rsp), %rsi
leaq 0x260(%rsp), %r8
movq %r15, %rdx
movq %r13, %rcx
callq 0x83d6
movq 0x20(%rsp), %rax
movl 0x28c(%rsp), %ecx
cmpq %rcx, %rax
ja 0x50a5
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdi
movq %rdi, %rdx
subq %rsi, %rdx
movq %rsi, 0xc0(%rsp)
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
sarq $0x3, %rdx
imulq %rsi, %rdx
cmpq $0x2, %rdx
jb 0x5134
leaq 0x70(%rsp), %rdi
leaq 0x280(%rsp), %rsi
leaq 0x260(%rsp), %rdx
movq %r15, %rcx
movq %r13, %r8
callq 0x853e
vmovups 0x70(%rsp), %xmm0
movq 0x80(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x88(%rsp), %rax
vmovaps %xmm0, 0x10(%rsp)
vmovdqu 0x90(%rsp), %xmm0
movq 0x28(%rsp), %rdi
movq %rax, 0x28(%rsp)
movq %rax, 0xc0(%rsp)
vmovdqa %xmm0, 0x30(%rsp)
testq %rdi, %rdi
je 0x5123
vmovdqa %xmm0, 0x1a0(%rsp)
callq 0x31c0
vmovdqa 0x1a0(%rsp), %xmm0
movl 0x28c(%rsp), %ecx
movq 0x20(%rsp), %rax
vmovq %xmm0, %rdi
movq 0x400(%rsp), %rdx
cmpq %rcx, %rdx
jbe 0x5159
cmpq %rcx, %rax
ja 0x534a
leaq 0x280(%rsp), %rdi
leaq 0x10(%rsp), %rsi
jmp 0x516e
cmpq %rcx, %rax
jbe 0x5178
leaq 0x280(%rsp), %rdi
leaq 0x3f0(%rsp), %rsi
callq 0x9106
jmp 0x534a
movq %rdi, 0x1a0(%rsp)
movq 0x3f0(%rsp), %rcx
movq 0x10(%rsp), %rdi
movq 0x3f8(%rsp), %rsi
movq 0x18(%rsp), %r8
movq 0x48(%rsp), %r12
cmpq %rcx, %rdi
cmovbq %rdi, %rcx
cmpq %r8, %rsi
cmovaq %rsi, %r8
subq 0x8(%rsp), %r12
addq %rax, %rdx
movabsq $-0x5555555555555555, %rax # imm = 0xAAAAAAAAAAAAAAAB
movq %rcx, 0x70(%rsp)
movq %r8, 0x78(%rsp)
movq %rdx, 0x80(%rsp)
movq %r12, %rdi
sarq $0x3, %rdi
imulq %rax, %rdi
callq 0x9544
movq 0x8(%rsp), %rsi
movq %rax, %rcx
addq %r12, %rcx
movq %rax, 0x88(%rsp)
movq %rcx, 0x98(%rsp)
cmpq %rsi, 0x48(%rsp)
je 0x5214
movq %r12, %rdx
movq %rax, %rdi
movq %rcx, %r12
callq 0x3320
movq %r12, %rcx
movq %rcx, 0x90(%rsp)
movq %rcx, %rsi
movq 0xc0(%rsp), %rdx
movq 0x1a0(%rsp), %rcx
leaq 0x88(%rsp), %rdi
callq 0x95e8
movq 0x88(%rsp), %rdi
movq 0x90(%rsp), %rsi
leaq 0x200(%rsp), %r12
movq %rdi, 0x48(%rsp)
cmpq %rsi, %rdi
je 0x5329
movq %rsi, %r12
subq %rdi, %r12
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
movq %rbp, 0x1a0(%rsp)
movq %rsi, %rbp
movq %r12, %rax
sarq $0x3, %rax
imulq %rcx, %rax
lzcntq %rax, %rdx
addl %edx, %edx
xorq $0x7e, %rdx
callq 0x97e6
cmpq $0x181, %r12            # imm = 0x181
jl 0x52d6
movq 0x48(%rsp), %rdi
leaq 0x180(%rdi), %r12
movq %r12, %rsi
callq 0x9c59
movq %rbp, %rsi
cmpq %rbp, %r12
je 0x52e6
movq %r12, %rdi
movq %rsi, %rbp
callq 0x9cfe
addq $0x18, %r12
movq %rbp, %rsi
cmpq %rbp, %r12
jne 0x52bd
jmp 0x52e6
movq 0x48(%rsp), %rdi
movq %rbp, %rsi
callq 0x9c59
movq %rbp, %rsi
movq 0x48(%rsp), %rcx
movq 0x1a0(%rsp), %rbp
leaq 0x200(%rsp), %r12
leaq 0x18(%rcx), %rax
cmpq %rsi, %rax
je 0x5329
movl (%rcx), %ecx
movl %ecx, %edx
movl (%rax), %ecx
cmpl %ecx, %edx
jne 0x5320
movq -0x10(%rax), %rdx
cmpq 0x8(%rax), %rdx
jne 0x5320
movl -0x8(%rax), %edx
cmpl 0x10(%rax), %edx
je 0x5374
addq $0x18, %rax
cmpq %rsi, %rax
jne 0x5306
leaq 0x280(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x9106
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x534a
callq 0x31c0
movq 0xc0(%rsp), %rdi
testq %rdi, %rdi
je 0x535c
callq 0x31c0
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x4f2b
callq 0x31c0
jmp 0x4f2b
leaq -0x18(%rax), %rcx
cmpq %rsi, %rcx
je 0x5329
addq $0x18, %rax
cmpq %rsi, %rax
je 0x53b5
movl (%rcx), %edx
cmpl (%rax), %edx
jne 0x539e
movq 0x8(%rcx), %rdx
cmpq 0x8(%rax), %rdx
jne 0x539e
movl 0x10(%rcx), %edx
cmpl 0x10(%rax), %edx
je 0x537d
movq 0x10(%rax), %rdx
movq %rdx, 0x28(%rcx)
vmovupd (%rax), %xmm0
vmovupd %xmm0, 0x18(%rcx)
addq $0x18, %rcx
jmp 0x537d
addq $0x18, %rcx
cmpq %rsi, %rcx
je 0x5329
movq %rcx, 0x90(%rsp)
jmp 0x5329
leaq 0x5f8(%rsp), %rdi
leaq 0x220(%rsp), %rsi
leaq 0x240(%rsp), %rdx
callq 0x7882
movq 0xd0(%rsp), %r15
movq 0x60(%rsp), %r14
testb %al, %al
jne 0x66db
movq 0xbbe8(%rip), %rdi      # 0x10ff0
movq %rbp, %rsi
callq 0x3130
movl $0x14, %edx
leaq 0x7a18(%rip), %rsi      # 0xce34
movq %rax, %rdi
movq %rax, %rbx
callq 0x3210
movq 0x1e8(%rsp), %rsi
movq %rbx, %rdi
callq 0x3130
movl $0x2, %edx
leaq 0x7785(%rip), %rsi      # 0xcbc8
movq %rax, %rdi
callq 0x3210
movq 0x5f8(%rsp), %rdi
testq %rdi, %rdi
je 0x545e
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x610(%rsp), %rdi
movq 0xbb83(%rip), %rbp      # 0x10ff0
testq %rdi, %rdi
je 0x5478
movq (%rdi), %rax
callq *0x8(%rax)
incq 0x1e8(%rsp)
cmpq 0x1f0(%rsp), %r14
jne 0x4c50
leaq 0x240(%rsp), %rdi
vzeroupper
callq 0xa8c2
leaq 0x3d0(%rsp), %rdi
callq 0xa8c2
leaq 0x220(%rsp), %rdi
callq 0xa8c2
leaq 0x1d0(%rsp), %rdi
jmp 0x56e2
vxorpd %xmm0, %xmm0, %xmm0
xorl %ecx, %ecx
movq %rcx, 0x20(%rsp)
movq %rcx, 0x80(%rsp)
vmovapd %xmm0, 0x10(%rsp)
vmovapd %xmm0, 0x70(%rsp)
cmpl %edx, %eax
je 0x56d0
movq %r14, %rax
leaq 0x3f0(%rsp), %r14
xorl %r12d, %r12d
movq (%rax), %rbx
movq %rax, 0x60(%rsp)
movl $0x8, %edx
leaq 0x7769(%rip), %rsi      # 0xcc77
movq %rbp, %rdi
vzeroupper
callq 0x3210
testq %rbx, %rbx
je 0x5536
movq %rbx, %rdi
callq 0x30e0
movq %rbp, %rdi
movq %rbx, %rsi
movq %rax, %rdx
callq 0x3210
jmp 0x554f
movq (%rbp), %rax
movq -0x18(%rax), %rax
movl 0x20(%rbp,%rax), %esi
leaq (%rbp,%rax), %rdi
orl $0x1, %esi
callq 0x3360
movl $0x3, %edx
leaq 0x7725(%rip), %rsi      # 0xcc80
movq %rbp, %rdi
callq 0x3210
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x31d0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3140
leaq 0x200(%rsp), %rdi
movq %rbx, %rsi
movq %r12, (%rsp)
callq 0x77a4
addq $0x8, 0x60(%rsp)
xorl %r13d, %r13d
leaq 0x200(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0x70(%rsp), %rdx
callq 0x7882
testb %al, %al
je 0x5653
movq 0x10(%rsp), %rbp
movq 0x18(%rsp), %r15
cmpq %r15, %rbp
je 0x55a8
movq 0x70(%rsp), %r12
incq 0x2b0(%rsp)
movq %r14, %rdi
movq 0x280(%rsp), %rsi
movq (%rbp), %rdx
movq 0x8(%rbp), %rcx
callq 0x8012
movq 0x3f0(%rsp), %rax
cmpq 0x3f8(%rsp), %rax
jne 0x5628
movq 0x2d0(%rsp), %rdi
movq %rbx, %rsi
movq %r13, %rdx
movq %rbp, %rcx
movq %r12, %r8
callq 0x816a
jmp 0x563e
leaq 0x280(%rsp), %rdi
movq %rbp, %rsi
movq %r12, %rdx
movq %r14, %rcx
callq 0x82b6
incq %r13
addq $0x18, %r12
addq $0x18, %rbp
cmpq %r15, %rbp
jne 0x55db
jmp 0x55a8
movq 0xb996(%rip), %rbp      # 0x10ff0
movq %r13, %rsi
movq %rbp, %rdi
callq 0x3130
movq (%rsp), %r12
movl $0xf, %edx
leaq 0x760f(%rip), %rsi      # 0xcc84
movq %rax, %rdi
movq %rax, %rbx
callq 0x3210
movq %rbx, %rdi
movq %r12, %rsi
callq 0x3130
movl $0x2, %edx
leaq 0x7531(%rip), %rsi      # 0xcbc8
movq %rax, %rdi
callq 0x3210
movq 0x200(%rsp), %rdi
movq 0xd0(%rsp), %r15
testq %rdi, %rdi
je 0x56ba
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x60(%rsp), %rax
incq %r12
cmpq 0x1f0(%rsp), %rax
jne 0x54fa
leaq 0x70(%rsp), %rdi
vzeroupper
callq 0xa8c2
leaq 0x10(%rsp), %rdi
callq 0xa8c2
movq 0xb902(%rip), %rdi      # 0x10ff0
leaq 0x7177(%rip), %rsi      # 0xc86c
movl $0xf, %edx
callq 0x3210
movq 0x2b0(%rsp), %rax
vcvtusi2sd %rax, %xmm2, %xmm0
vcvtusi2sdq 0x2b8(%rsp), %xmm2, %xmm1
testq %rax, %rax
sete %cl
kmovd %ecx, %k1
vdivsd %xmm0, %xmm1, %xmm0
vxorpd %xmm1, %xmm1, %xmm1
vmulsd 0x68e1(%rip), %xmm0, %xmm0 # 0xc010
vmovsd %xmm1, %xmm0, %xmm0 {%k1}
movq 0xb8b4(%rip), %rdi      # 0x10ff0
callq 0x3310
leaq 0x78b2(%rip), %rsi      # 0xcffa
movl $0x2, %edx
movq %rax, %rdi
callq 0x3210
testq %r15, %r15
je 0x5763
movq (%r15), %rax
movq %r15, %rdi
callq *0x8(%rax)
movq 0x1b0(%rsp), %rsi
movq 0x1b8(%rsp), %rdx
leaq 0x20(%rsp), %rax
movq %rax, -0x10(%rax)
addq %rsi, %rdx
leaq 0x10(%rsp), %rdi
callq 0xa520
leaq 0x70ec(%rip), %rsi      # 0xc87c
leaq 0x10(%rsp), %rdi
callq 0x33f0
leaq 0x3f0(%rsp), %rdi
leaq 0x10(%rsp), %rsi
movl $0x10, %edx
callq 0x3400
leaq 0x7691(%rip), %rsi      # 0xce49
leaq 0x3f0(%rsp), %rdi
movl $0xff, %edx
callq 0x3210
movq 0x298(%rsp), %r12
movq 0x2a0(%rsp), %r13
cmpq %r13, %r12
je 0x582e
leaq 0x3f0(%rsp), %rbx
leaq 0x70(%rsp), %r14
movb $0xa, %al
xorl %ebp, %ebp
movq (%r12,%rbp), %r15
movb %al, 0x70(%rsp)
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3210
movq %rax, %rdi
movq %r15, %rsi
callq 0x3130
addq $0x8, %rbp
movb $0x9, %al
cmpq $0x200, %rbp            # imm = 0x200
jne 0x57f0
addq $0x218, %r12            # imm = 0x218
cmpq %r13, %r12
jne 0x57ec
leaq 0x70(%rsp), %rsi
movb $0xa, (%rsi)
leaq 0x3f0(%rsp), %rdi
movl $0x1, %edx
callq 0x3210
leaq 0x3f0(%rsp), %rdi
callq 0x3280
movq 0x3f0(%rsp), %rax
movq -0x18(%rax), %rax
testb $0x5, 0x410(%rsp,%rax)
jne 0x6bf3
movq 0xb73a(%rip), %rax      # 0x10fb0
leaq 0x3f8(%rsp), %rdi
movq (%rax), %rbx
movq 0x18(%rax), %r14
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r14, 0x3f0(%rsp,%rax)
callq 0x3190
leaq 0x4e8(%rsp), %rdi
callq 0x30a0
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x58bb
callq 0x31c0
movq 0x1b0(%rsp), %rsi
movq 0x1b8(%rsp), %rdx
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
movq %rax, (%rdi)
addq %rsi, %rdx
callq 0xa520
leaq 0x6f9a(%rip), %rsi      # 0xc881
leaq 0x10(%rsp), %rdi
callq 0x33f0
leaq 0x3f0(%rsp), %rdi
leaq 0x10(%rsp), %rsi
movl $0x10, %edx
movq %r14, 0x58(%rsp)
movq %rbx, 0x50(%rsp)
callq 0x3400
movq 0x290(%rsp), %rax
movq 0x8(%rax), %r12
testq %r12, %r12
je 0x5978
movq (%rax), %r13
leaq 0x763d(%rip), %r15      # 0xcf6a
leaq 0x3f0(%rsp), %rbx
xorl %ebp, %ebp
movb (%r13,%rbp), %r14b
movq %r15, %rdi
callq 0x30e0
movq %rbx, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x3210
movb %r14b, 0x70(%rsp)
movl $0x1, %edx
leaq 0x70(%rsp), %rsi
movq %rbx, %rdi
callq 0x3210
incq %rbp
leaq 0x75f6(%rip), %r15      # 0xcf69
cmpq %rbp, %r12
jne 0x5937
movq 0x2a0(%rsp), %rax
movq 0x298(%rsp), %rbx
vxorpd %xmm0, %xmm0, %xmm0
movq $0x0, 0x80(%rsp)
vmovapd %xmm0, 0x70(%rsp)
movq %rax, (%rsp)
cmpq %rax, %rbx
je 0x5a1a
leaq 0x3f0(%rsp), %r15
leaq 0x200(%rsp), %r12
movq 0x290(%rsp), %rdi
leaq 0x70(%rsp), %rdx
movq %rbx, %rsi
callq 0x9d4e
movq 0x70(%rsp), %r14
movq 0x78(%rsp), %rbp
cmpq %rbp, %r14
je 0x5a0d
movb $0xa, %al
movq (%r14), %r13
movb %al, 0x200(%rsp)
movl $0x1, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x3210
movq %rax, %rdi
movq %r13, %rsi
callq 0x3130
addq $0x8, %r14
movb $0x9, %al
cmpq %rbp, %r14
jne 0x59dd
addq $0x218, %rbx            # imm = 0x218
cmpq (%rsp), %rbx
jne 0x59b7
leaq 0x200(%rsp), %rsi
movb $0xa, (%rsi)
leaq 0x3f0(%rsp), %rdi
movl $0x1, %edx
callq 0x3210
movq 0x58(%rsp), %rbp
leaq 0x3f0(%rsp), %rdi
callq 0x3280
movq 0x3f0(%rsp), %rax
movq 0x50(%rsp), %r13
movq -0x18(%rax), %rax
testb $0x5, 0x410(%rsp,%rax)
jne 0x6c2e
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x5a77
callq 0x31c0
leaq 0x3f8(%rsp), %rdi
movq %r13, -0x8(%rdi)
movq -0x18(%r13), %rax
movq %rbp, 0x3f0(%rsp,%rax)
callq 0x3190
leaq 0x4e8(%rsp), %rdi
callq 0x30a0
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x5ab5
callq 0x31c0
movq 0x1b0(%rsp), %rsi
movq 0x1b8(%rsp), %rdx
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
movq %rax, (%rdi)
addq %rsi, %rdx
callq 0xa520
leaq 0x6da4(%rip), %rsi      # 0xc885
leaq 0x10(%rsp), %rdi
callq 0x33f0
leaq 0x3f0(%rsp), %rdi
leaq 0x10(%rsp), %rsi
movl $0x10, %edx
callq 0x3400
leaq 0x7487(%rip), %rsi      # 0xcf90
leaq 0x3f0(%rsp), %rdi
movl $0xe, %edx
callq 0x3210
movq 0x298(%rsp), %r15
movq 0x2a0(%rsp), %r12
cmpq %r12, %r15
je 0x5bb9
leaq 0x3f0(%rsp), %rbx
leaq 0x70(%rsp), %r14
movq 0x200(%r15), %rsi
movq %rbx, %rdi
callq 0x3130
movb $0x9, 0x70(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %r14, %rsi
callq 0x3210
movq 0x208(%r15), %rsi
movq %rax, %rdi
callq 0x3130
movb $0x9, 0x70(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %r14, %rsi
callq 0x3210
movq 0x210(%r15), %rsi
movq %rax, %rdi
callq 0x3130
movb $0xa, 0x70(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %r14, %rsi
callq 0x3210
addq $0x218, %r15            # imm = 0x218
cmpq %r12, %r15
jne 0x5b41
leaq 0x3f0(%rsp), %rdi
callq 0x3280
movq 0x3f0(%rsp), %rax
movq -0x18(%rax), %rax
testb $0x5, 0x410(%rsp,%rax)
jne 0x6c69
leaq 0x3f8(%rsp), %rdi
movq %r13, -0x8(%rdi)
movq -0x18(%r13), %rax
movq %rbp, 0x3f0(%rsp,%rax)
callq 0x3190
leaq 0x4e8(%rsp), %rdi
callq 0x30a0
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x5c1e
callq 0x31c0
cmpq $0x0, 0x2b8(%rsp)
je 0x6ca4
movq 0xb394(%rip), %rdi      # 0x10fc8
movq 0x280(%rsp), %rax
movq (%rdi), %r8
movq 0x90(%rax), %rbx
movq -0x18(%r8), %rcx
movq $0x5, 0x8(%rdi,%rcx)
movl $0xfffffefb, %ecx       # imm = 0xFFFFFEFB
movq -0x18(%r8), %rax
andl 0x18(%rdi,%rax), %ecx
orl $0x4, %ecx
movl %ecx, 0x18(%rdi,%rax)
leaq 0x7371(%rip), %rsi      # 0xcfdf
movl $0x1d, %edx
callq 0x3210
movq 0x2a0(%rsp), %rax
movq 0x298(%rsp), %r13
vxorpd %xmm0, %xmm0, %xmm0
movq $-0x1, %r12
movq $0x0, 0x400(%rsp)
xorl %ebp, %ebp
vmovapd %xmm0, 0x3f0(%rsp)
movq %rax, 0xd0(%rsp)
cmpq %rax, %r13
je 0x6080
xorl %r14d, %r14d
movq $0x0, 0x8(%rsp)
movq $0x0, 0x50(%rsp)
movq $0x0, 0x58(%rsp)
movq 0x290(%rsp), %rdi
leaq 0x3f0(%rsp), %rdx
movq %r13, %rsi
callq 0x9d4e
movq 0x290(%rsp), %rax
movl (%rbx), %ecx
vpmovsxbq 0x6333(%rip), %zmm10 # 0xc038
vpmovsxbq 0x6319(%rip), %zmm11 # 0xc028
movq 0x20(%rax,%rcx,8), %rdx
movq 0x3f0(%rsp), %rax
movq 0x3f8(%rsp), %rcx
movq %rdx, 0xc0(%rsp)
cmpq %rcx, %rax
je 0x5ecd
subq %rax, %rcx
leaq (%rax,%rdx,8), %rdx
vpternlogd $0xff, %zmm3, %zmm3, %zmm3
vpxor %xmm8, %xmm8, %xmm8
vpxor %xmm9, %xmm9, %xmm9
vpxor %xmm7, %xmm7, %xmm7
addq $-0x8, %rcx
vpbroadcastq %rcx, %zmm0
shrq $0x3, %rcx
vpbroadcastq %rdx, %zmm5
xorl %edx, %edx
addq $0x8, %rcx
vpsrlq $0x3, %zmm0, %zmm4
andq $-0x8, %rcx
vpbroadcastq %rdx, %zmm12
vmovdqa64 %zmm9, %zmm2
vmovdqa64 %zmm8, %zmm6
vpbroadcastq %rax, %zmm8
vmovdqa64 %zmm3, %zmm0
vmovdqa64 %zmm7, %zmm1
addq $0x8, %rdx
addq $0x40, %rax
vporq %zmm11, %zmm12, %zmm9
vpaddq %zmm10, %zmm8, %zmm8
vpcmpleuq %zmm4, %zmm9, %k1
vmovq %xmm8, %rsi
vpcmpneqq %zmm5, %zmm8, %k2 {%k1}
vmovdqu64 (%rsi), %zmm8 {%k2} {z}
vptestmq %zmm8, %zmm8, %k0 {%k2}
vpminuq %zmm3, %zmm8, %zmm3 {%k2}
vpmaxuq %zmm7, %zmm8, %zmm7 {%k2}
vpaddq %zmm8, %zmm2, %zmm9
vpmovm2q %k0, %zmm8
vpsubq %zmm8, %zmm6, %zmm8
cmpq %rdx, %rcx
jne 0x5d76
vmovdqa64 %zmm3, %zmm0 {%k1}
vmovdqa64 %zmm8, %zmm6 {%k1}
vextracti64x4 $0x1, %zmm6, %ymm3
vmovdqa64 %zmm9, %zmm2 {%k1}
vmovdqa64 %zmm7, %zmm1 {%k1}
vpaddq %zmm3, %zmm6, %zmm3
vextracti128 $0x1, %ymm3, %xmm4
vpaddq %xmm4, %xmm3, %xmm3
vpshufd $0xee, %xmm3, %xmm4     # xmm4 = xmm3[2,3,2,3]
vpaddq %xmm4, %xmm3, %xmm3
vmovq %xmm3, %r15
vextracti64x4 $0x1, %zmm2, %ymm3
vpaddq %zmm3, %zmm2, %zmm2
vextracti128 $0x1, %ymm2, %xmm3
vpaddq %xmm3, %xmm2, %xmm2
vpshufd $0xee, %xmm2, %xmm3     # xmm3 = xmm2[2,3,2,3]
vpaddq %xmm3, %xmm2, %xmm2
vmovq %xmm2, %rax
vextracti64x4 $0x1, %zmm1, %ymm2
vpmaxuq %zmm2, %zmm1, %zmm1
vextracti128 $0x1, %ymm1, %xmm2
vpmaxuq %xmm2, %xmm1, %xmm1
vpshufd $0xee, %xmm1, %xmm2     # xmm2 = xmm1[2,3,2,3]
vpmaxuq %xmm2, %xmm1, %xmm1
vmovq %xmm1, %rcx
vextracti64x4 $0x1, %zmm0, %ymm1
vpminuq %zmm1, %zmm0, %zmm0
vextracti128 $0x1, %ymm0, %xmm1
vpminuq %xmm1, %xmm0, %xmm0
vpshufd $0xee, %xmm0, %xmm1     # xmm1 = xmm0[2,3,2,3]
vpminuq %xmm1, %xmm0, %xmm0
vmovq %xmm0, %rdx
vcvtusi2sd %rdx, %xmm13, %xmm0
vmovsd %xmm0, 0x48(%rsp)
vcvtusi2sd %rax, %xmm13, %xmm0
vmovsd %xmm0, 0x1a0(%rsp)
vcvtusi2sd %rcx, %xmm13, %xmm0
vmovsd %xmm0, 0x60(%rsp)
jmp 0x5ef5
vxorpd %xmm0, %xmm0, %xmm0
xorl %r15d, %r15d
vmovsd %xmm0, 0x60(%rsp)
vmovsd 0x6136(%rip), %xmm0     # 0xc018
vmovsd %xmm0, 0x48(%rsp)
vxorpd %xmm0, %xmm0, %xmm0
vmovsd %xmm0, 0x1a0(%rsp)
vcvtusi2sdq 0x210(%r13), %xmm13, %xmm0
incl %ebp
vdivsd 0x610a(%rip), %xmm0, %xmm0 # 0xc010
vmovsd %xmm0, (%rsp)
movq 0xb0b6(%rip), %rdi      # 0x10fc8
movq %rbp, %rsi
vzeroupper
callq 0x3130
movb $0x9, 0x10(%rsp)
movl $0x1, %edx
leaq 0x10(%rsp), %rsi
movq %rax, %rdi
callq 0x3210
movq 0x290(%rsp), %rcx
movq 0xc0(%rsp), %rdx
movq (%rcx), %rcx
movb (%rcx,%rdx), %cl
movb %cl, 0x10(%rsp)
movl $0x1, %edx
leaq 0x10(%rsp), %rsi
movq %rax, %rdi
callq 0x3210
movb $0x9, 0x10(%rsp)
movl $0x1, %edx
leaq 0x10(%rsp), %rsi
movq %rax, %rdi
callq 0x3210
vmovsd 0x48(%rsp), %xmm0
vdivsd (%rsp), %xmm0, %xmm0
movq %rax, %rdi
callq 0x3310
movb $0x9, 0x10(%rsp)
movl $0x1, %edx
leaq 0x10(%rsp), %rsi
movq %rax, %rdi
callq 0x3210
vmovsd 0x1a0(%rsp), %xmm0
movq 0x3f8(%rsp), %rcx
vdivsd (%rsp), %xmm0, %xmm0
subq 0x3f0(%rsp), %rcx
sarq $0x3, %rcx
decq %rcx
vcvtusi2sd %rcx, %xmm13, %xmm1
vdivsd %xmm1, %xmm0, %xmm0
movq %rax, %rdi
callq 0x3310
movb $0x9, 0x10(%rsp)
movl $0x1, %edx
leaq 0x10(%rsp), %rsi
movq %rax, %rdi
callq 0x3210
vmovsd 0x60(%rsp), %xmm0
vdivsd (%rsp), %xmm0, %xmm0
movq %rax, %rdi
callq 0x3310
movb $0xa, 0x10(%rsp)
movl $0x1, %edx
leaq 0x10(%rsp), %rsi
movq %rax, %rdi
callq 0x3210
movq 0x8(%rsp), %rax
movq 0x50(%rsp), %rcx
movq 0x58(%rsp), %rdx
addq $0x4, %rbx
cmpq %r12, %r15
cmovbq %r15, %r12
cmovbq %rbp, %rax
cmpq %rcx, %r15
cmovaq %rbp, %rdx
cmovaq %r15, %rcx
addq %r15, %r14
addq $0x218, %r13            # imm = 0x218
movq %rax, 0x8(%rsp)
movq %rdx, 0x58(%rsp)
movq %rcx, 0x50(%rsp)
cmpq 0xd0(%rsp), %r13
jne 0x5cd9
vcvtusi2sd %r14, %xmm5, %xmm0
movq 0x58(%rsp), %rbx
movq 0x50(%rsp), %r14
movq 0x8(%rsp), %r15
jmp 0x608c
vxorpd %xmm0, %xmm0, %xmm0
xorl %ebx, %ebx
xorl %r14d, %r14d
xorl %r15d, %r15d
vmovsd %xmm0, (%rsp)
movq 0xaf30(%rip), %rdi      # 0x10fc8
leaq 0x6f5e(%rip), %rsi      # 0xcffd
movl $0x1f, %edx
callq 0x3210
movq 0xaf18(%rip), %rdi      # 0x10fc8
leaq 0x6f66(%rip), %rsi      # 0xd01d
movl $0x4, %edx
callq 0x3210
movq 0xaf00(%rip), %rdi      # 0x10fc8
movq %r12, %rsi
callq 0x3130
leaq 0x69f1(%rip), %rsi      # 0xcac8
movl $0xb, %edx
movq %rax, %rdi
movq %rax, %r12
callq 0x3210
movq %r12, %rdi
movq %r15, %rsi
callq 0x3130
leaq 0x10(%rsp), %rsi
movb $0xa, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x3210
movq 0xaeba(%rip), %rdi      # 0x10fc8
leaq 0x6f0d(%rip), %rsi      # 0xd022
movl $0x5, %edx
callq 0x3210
movq 0x2a0(%rsp), %rax
movabsq $-0xf4898d5f85bb395, %rcx # imm = 0xF0B7672A07A44C6B
vmovsd (%rsp), %xmm1
subq 0x298(%rsp), %rax
sarq $0x3, %rax
imulq %rax, %rcx
vcvtusi2sd %rcx, %xmm2, %xmm0
vdivsd %xmm0, %xmm1, %xmm0
movq 0xae71(%rip), %rdi      # 0x10fc8
callq 0x3310
leaq 0x10(%rsp), %rsi
movb $0xa, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x3210
movq 0xae50(%rip), %rdi      # 0x10fc8
leaq 0x6ea9(%rip), %rsi      # 0xd028
movl $0x4, %edx
callq 0x3210
movq 0xae38(%rip), %rdi      # 0x10fc8
movq %r14, %rsi
callq 0x3130
leaq 0x6929(%rip), %rsi      # 0xcac8
movl $0xb, %edx
movq %rax, %rdi
movq %rax, %r14
callq 0x3210
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3130
leaq 0x10(%rsp), %rsi
movb $0xa, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x3210
movq 0xadf2(%rip), %rdi      # 0x10fc8
leaq 0x6e50(%rip), %rsi      # 0xd02d
movl $0xe, %edx
callq 0x3210
vcvtusi2sdq 0x2c0(%rsp), %xmm2, %xmm0
vmulsd 0x5e19(%rip), %xmm0, %xmm0 # 0xc010
vcvtusi2sdq 0x2b8(%rsp), %xmm2, %xmm1
vdivsd %xmm1, %xmm0, %xmm0
movq 0xadbe(%rip), %rdi      # 0x10fc8
callq 0x3310
leaq 0x6e26(%rip), %rsi      # 0xd03c
movl $0x37, %edx
movq %rax, %rdi
callq 0x3210
vcvtusi2sdq 0x2c8(%rsp), %xmm2, %xmm0
vmulsd 0x5ddd(%rip), %xmm0, %xmm0 # 0xc010
vcvtusi2sdq 0x2b8(%rsp), %xmm2, %xmm1
vdivsd %xmm1, %xmm0, %xmm0
movq 0xad82(%rip), %rdi      # 0x10fc8
callq 0x3310
leaq 0x6e22(%rip), %rsi      # 0xd074
movl $0x35, %edx
movq %rax, %rdi
callq 0x3210
movq 0x3f0(%rsp), %rdi
testq %rdi, %rdi
je 0x6271
callq 0x31c0
leaq 0x280(%rsp), %rdi
callq 0x71a8
movq 0x628(%rsp), %rdi
leaq 0x638(%rsp), %rax
cmpq %rax, %rdi
je 0x6298
callq 0x31c0
movq 0x188(%rsp), %rdi
testq %rdi, %rdi
je 0x62aa
callq 0x31c0
movq 0x170(%rsp), %rdi
testq %rdi, %rdi
je 0x62bc
callq 0x31c0
movq 0x158(%rsp), %rdi
testq %rdi, %rdi
je 0x62ce
callq 0x31c0
leaq 0x118(%rsp), %rdi
callq 0x7746
movq 0x100(%rsp), %rdi
testq %rdi, %rdi
je 0x62ed
callq 0x31c0
movq 0xe8(%rsp), %rdi
testq %rdi, %rdi
je 0x62ff
callq 0x31c0
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x6319
callq 0x31c0
movq 0x1b0(%rsp), %rdi
leaq 0x1c0(%rsp), %rax
cmpq %rax, %rdi
je 0x6333
callq 0x31c0
xorl %eax, %eax
addq $0x848, %rsp            # imm = 0x848
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0xaca2(%rip), %rdi      # 0x10ff0
leaq 0x674a(%rip), %rsi      # 0xca9f
movl $0xf, %edx
callq 0x3210
movq 0xac8a(%rip), %rdi      # 0x10ff0
movq %r15, %rsi
callq 0x3130
leaq 0x673a(%rip), %rsi      # 0xcaaf
movl $0xb, %edx
movq %rax, %rdi
movq %rax, %rbx
callq 0x3210
movq 0x3f8(%rsp), %rdx
movq 0x3f0(%rsp), %rsi
movq %rbx, %rdi
callq 0x3210
movq %rax, %rdi
callq 0x30f0
jmp 0x63cb
movq 0xac42(%rip), %rdi      # 0x10ff0
leaq 0x6a4b(%rip), %rsi      # 0xce00
movl $0x33, %edx
callq 0x3210
movq 0xac2a(%rip), %rdi      # 0x10ff0
callq 0x30f0
movl $0x1, %edi
callq 0x3220
movq 0xac14(%rip), %rdi      # 0x10ff0
leaq 0x66bc(%rip), %rsi      # 0xca9f
movl $0xf, %edx
callq 0x3210
movq 0xabfc(%rip), %rdi      # 0x10ff0
movq %r15, %rsi
callq 0x3130
leaq 0x66ac(%rip), %rsi      # 0xcaaf
movl $0xb, %edx
movq %rax, %rdi
movq %rax, %rbx
callq 0x3210
movq 0x3f8(%rsp), %rdx
movq 0x3f0(%rsp), %rsi
movq %rbx, %rdi
callq 0x3210
movq %rax, %rdi
callq 0x30f0
jmp 0x63cb
movq $0x0, 0x150(%rsp)
jmp 0x3a63
movq 0xaba3(%rip), %rdi      # 0x10ff0
leaq 0x664b(%rip), %rsi      # 0xca9f
movl $0xf, %edx
callq 0x3210
movq 0xab8b(%rip), %rdi      # 0x10ff0
movq %r15, %rsi
callq 0x3130
leaq 0x6647(%rip), %rsi      # 0xcabb
movl $0x18, %edx
movq %rax, %rdi
movq %rax, %rbx
callq 0x3210
leaq 0x280(%rsp), %rdi
movl %r13d, %esi
callq 0x73c4
movq 0x288(%rsp), %rdx
movq 0x280(%rsp), %rsi
movq %rbx, %rdi
callq 0x3210
leaq 0x6621(%rip), %rsi      # 0xcad4
movl $0x26, %edx
movq %rax, %rdi
movq %rax, %rbx
callq 0x3210
leaq 0x10(%rsp), %rdi
movl %ebp, %esi
callq 0x73c4
movq 0x18(%rsp), %rdx
movq 0x10(%rsp), %rsi
movq %rbx, %rdi
callq 0x3210
leaq 0x6613(%rip), %rsi      # 0xcafb
movl $0x12, %edx
movq %rax, %rdi
movq %rax, %rbx
callq 0x3210
movq %rbx, %rdi
callq 0x30f0
jmp 0x63cb
movq 0xaab4(%rip), %rbx      # 0x10fc0
movl (%rbx), %ecx
leal -0x4b(%rcx), %eax
cmpl $0x9, %eax
ja 0x6704
leaq 0x5c07(%rip), %rcx      # 0xc128
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0xaabf(%rip), %rdi      # 0x10ff0
leaq 0x6146(%rip), %rsi      # 0xc67e
movl $0x24, %edx
callq 0x3210
movq 0xaaa7(%rip), %rdi      # 0x10ff0
callq 0x30f0
jmp 0x63cb
movq 0xaa96(%rip), %rdi      # 0x10ff0
leaq 0x5f77(%rip), %rsi      # 0xc4d8
movl $0x13, %edx
callq 0x3210
movq 0xaa26(%rip), %rax      # 0x10f98
movq (%rax), %rsi
movq 0xaa74(%rip), %rdi      # 0x10ff0
callq 0x31e0
leaq 0x5f64(%rip), %rsi      # 0xc4ec
movl $0x3f, %edx
movq %rax, %rdi
movq %rax, %rbx
callq 0x3210
movq %rbx, %rdi
callq 0x30f0
jmp 0x63cb
movq 0xaa44(%rip), %rdi      # 0x10ff0
leaq 0x64ec(%rip), %rsi      # 0xca9f
movl $0xf, %edx
leaq 0x400(%rsp), %r12
callq 0x3210
movq 0xaa24(%rip), %rdi      # 0x10ff0
movq %r15, %rsi
callq 0x3130
leaq 0x64d4(%rip), %rsi      # 0xcaaf
movl $0xb, %edx
movq %rax, %rdi
movq %rax, %rbx
callq 0x3210
movq 0x3f8(%rsp), %rdx
movq 0x3f0(%rsp), %rsi
movq %rbx, %rdi
callq 0x3210
movq %rax, %rdi
callq 0x30f0
jmp 0x63cb
movq 0xa9d9(%rip), %rdi      # 0x10ff0
leaq 0x62d9(%rip), %rsi      # 0xc8f7
movl $0x1b, %edx
callq 0x3210
movl %r14d, %esi
movq 0xa9be(%rip), %rdi      # 0x10ff0
callq 0x3130
movq %rax, %rdi
callq 0x30f0
jmp 0x63cb
movq 0xa9a5(%rip), %rdi      # 0x10ff0
leaq 0x62c1(%rip), %rsi      # 0xc913
movl $0x1d, %edx
callq 0x3210
movl %r14d, %esi
movq 0xa98a(%rip), %rdi      # 0x10ff0
callq 0x3130
movq %rax, %rdi
callq 0x30f0
jmp 0x63cb
movq 0xa971(%rip), %rdi      # 0x10ff0
leaq 0x62ab(%rip), %rsi      # 0xc931
movl $0x21, %edx
callq 0x3210
movl %r14d, %esi
movq 0xa956(%rip), %rdi      # 0x10ff0
callq 0x3130
leaq 0x6412(%rip), %rsi      # 0xcab8
movl $0x2, %edx
movq %rax, %rdi
movq %rax, %rbx
callq 0x3210
movq 0x3f8(%rsp), %rdx
movq 0x3f0(%rsp), %rsi
movq %rbx, %rdi
callq 0x3210
movq %rax, %rdi
callq 0x30f0
jmp 0x63cb
movq 0xa90e(%rip), %rdi      # 0x10ff0
leaq 0x6717(%rip), %rsi      # 0xce00
movl $0x33, %edx
callq 0x3210
movq 0xa8f6(%rip), %rdi      # 0x10ff0
callq 0x30f0
jmp 0x63cb
cmpl $0x45, %ecx
jne 0x6732
movq 0xa8e0(%rip), %rdi      # 0x10ff0
leaq 0x5f3f(%rip), %rsi      # 0xc656
movl $0x27, %edx
callq 0x3210
movq 0xa8c8(%rip), %rdi      # 0x10ff0
callq 0x30f0
jmp 0x63cb
movq 0xa8b7(%rip), %rdi      # 0x10ff0
leaq 0x601c(%rip), %rsi      # 0xc75c
movl $0x19, %edx
callq 0x3210
movl (%rbx), %esi
movq 0xa89d(%rip), %rdi      # 0x10ff0
callq 0x3370
movq %rax, %rdi
callq 0x30f0
jmp 0x63cb
movq 0xa884(%rip), %rdi      # 0x10ff0
leaq 0x5f30(%rip), %rsi      # 0xc6a3
movl $0x30, %edx
callq 0x3210
movq 0xa86c(%rip), %rdi      # 0x10ff0
callq 0x30f0
jmp 0x63cb
movq 0xa85b(%rip), %rdi      # 0x10ff0
leaq 0x5f38(%rip), %rsi      # 0xc6d4
movl $0x2a, %edx
callq 0x3210
movq 0xa843(%rip), %rdi      # 0x10ff0
callq 0x30f0
jmp 0x63cb
movq 0xa832(%rip), %rdi      # 0x10ff0
leaq 0x5f3a(%rip), %rsi      # 0xc6ff
movl $0x2c, %edx
callq 0x3210
movq 0xa81a(%rip), %rdi      # 0x10ff0
callq 0x30f0
jmp 0x63cb
movq 0xa809(%rip), %rdi      # 0x10ff0
leaq 0x5f3e(%rip), %rsi      # 0xc72c
movl $0x2f, %edx
callq 0x3210
movq 0xa7f1(%rip), %rdi      # 0x10ff0
callq 0x30f0
jmp 0x63cb
movq 0xa7e0(%rip), %rdi      # 0x10ff0
leaq 0x5df6(%rip), %rsi      # 0xc60d
movl $0x13, %edx
callq 0x3210
movq 0xa770(%rip), %rax      # 0x10f98
movq (%rax), %rsi
movq 0xa7be(%rip), %rdi      # 0x10ff0
callq 0x31e0
leaq 0x5de3(%rip), %rsi      # 0xc621
movl $0x34, %edx
movq %rax, %rdi
movq %rax, %rbx
callq 0x3210
movq %rbx, %rdi
callq 0x30f0
jmp 0x63cb
movq 0xa78e(%rip), %rdi      # 0x10ff0
leaq 0x5d65(%rip), %rsi      # 0xc5ce
movl $0x13, %edx
callq 0x3210
movq 0xa71e(%rip), %rax      # 0x10f98
movq (%rax), %rsi
movq 0xa76c(%rip), %rdi      # 0x10ff0
callq 0x31e0
leaq 0x5d52(%rip), %rsi      # 0xc5e2
movl $0x2a, %edx
movq %rax, %rdi
movq %rax, %rbx
callq 0x3210
movq %rbx, %rdi
callq 0x30f0
jmp 0x63cb
movq 0xa73c(%rip), %rdi      # 0x10ff0
leaq 0x5cbe(%rip), %rsi      # 0xc579
movl $0x13, %edx
callq 0x3210
movq 0xa6cc(%rip), %rax      # 0x10f98
movq (%rax), %rsi
movq 0xa71a(%rip), %rdi      # 0x10ff0
callq 0x31e0
leaq 0x5cab(%rip), %rsi      # 0xc58d
movl $0x40, %edx
movq %rax, %rdi
movq %rax, %rbx
callq 0x3210
movq %rbx, %rdi
callq 0x30f0
jmp 0x63cb
movq 0xa6ea(%rip), %rdi      # 0x10ff0
leaq 0x5c1f(%rip), %rsi      # 0xc52c
movl $0x13, %edx
callq 0x3210
movq 0xa67a(%rip), %rax      # 0x10f98
movq (%rax), %rsi
movq 0xa6c8(%rip), %rdi      # 0x10ff0
callq 0x31e0
leaq 0x5c0c(%rip), %rsi      # 0xc540
movl $0x38, %edx
movq %rax, %rdi
movq %rax, %rbx
callq 0x3210
movq %rbx, %rdi
callq 0x30f0
jmp 0x63cb
movq 0xa698(%rip), %rdi      # 0x10ff0
leaq 0x5f65(%rip), %rsi      # 0xc8c4
movl $0x32, %edx
leaq 0x400(%rsp), %r12
callq 0x3210
movq 0xa678(%rip), %rdi      # 0x10ff0
callq 0x30f0
jmp 0x63cb
movq 0xa667(%rip), %rdi      # 0x10ff0
leaq 0x5de6(%rip), %rsi      # 0xc776
movl $0xe4, %edx
callq 0x3210
movq 0xa64f(%rip), %rdi      # 0x10ff0
callq 0x30f0
jmp 0x63cb
movq 0xa63e(%rip), %rdi      # 0x10ff0
leaq 0x5ed4(%rip), %rsi      # 0xc88d
movl $0x1b, %edx
callq 0x3210
movq 0xa626(%rip), %rdi      # 0x10ff0
movq %rbx, %rsi
callq 0x31e0
movq %rax, %rdi
callq 0x30f0
jmp 0x63cb
movq 0xa60a(%rip), %rdi      # 0x10ff0
leaq 0x5ebc(%rip), %rsi      # 0xc8a9
movl $0x1a, %edx
callq 0x3210
movq 0xa5f2(%rip), %rdi      # 0x10ff0
callq 0x30f0
jmp 0x63cb
movq 0xa5e1(%rip), %rdi      # 0x10ff0
leaq 0x5f3d(%rip), %rsi      # 0xc953
movl $0x15, %edx
callq 0x3210
movq 0xa5c9(%rip), %rdi      # 0x10ff0
callq 0x30f0
jmp 0x63cb
movq 0xa5b8(%rip), %rdi      # 0x10ff0
leaq 0x5f62(%rip), %rsi      # 0xc9a1
movl $0x29, %edx
callq 0x3210
movq 0xa5a0(%rip), %rdi      # 0x10ff0
callq 0x30f0
jmp 0x63cb
movq 0xa58f(%rip), %rdi      # 0x10ff0
leaq 0x5f63(%rip), %rsi      # 0xc9cb
movl $0xf, %edx
callq 0x3210
movq 0xf0(%rsp), %rsi
subq 0xe8(%rsp), %rsi
movq 0xa567(%rip), %rdi      # 0x10ff0
callq 0x3130
leaq 0x5f46(%rip), %rsi      # 0xc9db
movl $0x2b, %edx
movq %rax, %rdi
movq %rax, %rbx
callq 0x3210
movq %rbx, %rdi
callq 0x30f0
jmp 0x63cb
movq 0xa537(%rip), %rdi      # 0x10ff0
leaq 0x5fab(%rip), %rsi      # 0xca6b
movl $0x16, %edx
callq 0x3210
movq 0xa51f(%rip), %rdi      # 0x10ff0
movq 0xc0(%rsp), %rsi
callq 0x31e0
movq %rax, %rdi
callq 0x30f0
jmp 0x63cb
movq 0xa4fe(%rip), %rdi      # 0x10ff0
leaq 0x5f89(%rip), %rsi      # 0xca82
movl $0x1c, %edx
callq 0x3210
movq 0xa4e6(%rip), %rdi      # 0x10ff0
callq 0x30f0
jmp 0x63cb
movq 0xa4d5(%rip), %rdi      # 0x10ff0
leaq 0x5fec(%rip), %rsi      # 0xcb0e
movl $0xe, %edx
leaq 0x400(%rsp), %r12
callq 0x3210
movq 0x190(%rsp), %rsi
subq 0x188(%rsp), %rsi
sarq $0x3, %rsi
movq 0xa4a1(%rip), %rdi      # 0x10ff0
callq 0x3130
leaq 0x5fc2(%rip), %rsi      # 0xcb1d
movl $0x1b, %edx
movq %rax, %rdi
movq %rax, %r14
callq 0x3210
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3130
leaq 0x5fbc(%rip), %rsi      # 0xcb39
movl $0x8, %edx
movq %rax, %rdi
movq %rax, %rbx
callq 0x3210
movq %rbx, %rdi
callq 0x30f0
jmp 0x63cb
movq 0xa44f(%rip), %rdi      # 0x10ff0
leaq 0x6048(%rip), %rsi      # 0xcbf0
movl $0x2b, %edx
callq 0x3210
movq 0xa437(%rip), %rdi      # 0x10ff0
movl $0x40, %esi
callq 0x3130
leaq 0x5a7f(%rip), %rsi      # 0xc649
movl $0xc, %edx
movq %rax, %rdi
movq %rax, %rbx
callq 0x3210
movq %rbx, %rdi
callq 0x30f0
jmp 0x63cb
leaq 0x6058(%rip), %rdi      # 0xcc46
callq 0x3100
movq 0xa3f6(%rip), %rdi      # 0x10ff0
leaq 0x6348(%rip), %rsi      # 0xcf49
movl $0x1f, %edx
callq 0x3210
movq 0x18(%rsp), %rdx
movq 0x10(%rsp), %rsi
movq 0xa3d4(%rip), %rdi      # 0x10ff0
callq 0x3210
movq %rax, %rdi
callq 0x30f0
jmp 0x63cb
movq 0xa3bb(%rip), %rdi      # 0x10ff0
leaq 0x632f(%rip), %rsi      # 0xcf6b
movl $0x24, %edx
callq 0x3210
movq 0x18(%rsp), %rdx
movq 0x10(%rsp), %rsi
movq 0xa399(%rip), %rdi      # 0x10ff0
callq 0x3210
movq %rax, %rdi
callq 0x30f0
jmp 0x63cb
movq 0xa380(%rip), %rdi      # 0x10ff0
leaq 0x6328(%rip), %rsi      # 0xcf9f
movl $0x1f, %edx
callq 0x3210
movq 0x18(%rsp), %rdx
movq 0x10(%rsp), %rsi
movq 0xa35e(%rip), %rdi      # 0x10ff0
callq 0x3210
movq %rax, %rdi
callq 0x30f0
jmp 0x63cb
movq 0xa345(%rip), %rdi      # 0x10ff0
leaq 0x630d(%rip), %rsi      # 0xcfbf
movl $0x1f, %edx
callq 0x3210
movq 0xa32d(%rip), %rdi      # 0x10ff0
callq 0x30f0
jmp 0x63cb
movq 0xa31c(%rip), %rdi      # 0x10ff0
leaq 0x60d8(%rip), %rsi      # 0xcdb3
movl $0x46, %edx
vzeroupper
callq 0x3210
movq 0xa301(%rip), %rdi      # 0x10ff0
callq 0x30f0
jmp 0x63cb
jmp 0x6fc4
jmp 0x6d00
movq 0x628(%rsp), %rdi
movq %rax, %r14
cmpq %rbx, %rdi
je 0x6d1a
callq 0x31c0
jmp 0x6d1a
movq %rax, %r14
movq %r15, %rdi
jmp 0x7159
jmp 0x6f2f
jmp 0x6fc4
jmp 0x6da7
jmp 0x6d9d
jmp 0x6d44
jmp 0x6d44
jmp 0x6e10
jmp 0x6d44
jmp 0x6d44
jmp 0x6e10
jmp 0x6d44
movq %rax, %r14
jmp 0x7096
jmp 0x6e10
jmp 0x6d9d
jmp 0x6f2f
jmp 0x6e88
jmp 0x6e88
jmp 0x6fc4
movq %rax, %r14
jmp 0x7185
leaq 0x20(%rsp), %rcx
movq %rax, %r14
movq -0x10(%rcx), %rdi
cmpq %rcx, %rdi
je 0x6e31
callq 0x31c0
jmp 0x6e31
jmp 0x6d9d
jmp 0x6e2e
movq %rax, %r14
jmp 0x7024
movq %rax, %r14
jmp 0x7144
jmp 0x6da7
movq %rax, %r14
jmp 0x6fe1
jmp 0x6eaf
jmp 0x6eaf
jmp 0x6eaf
jmp 0x6eaf
jmp 0x6ed8
jmp 0x6ef1
jmp 0x6eaf
jmp 0x6ed8
jmp 0x6ef1
jmp 0x6eaf
jmp 0x6ed8
jmp 0x6ef1
jmp 0x6efe
jmp 0x7086
jmp 0x7072
jmp 0x7086
jmp 0x6fc4
jmp 0x6efe
jmp 0x6e80
jmp 0x6ef1
movq %rax, %r14
jmp 0x7137
jmp 0x70da
jmp 0x6e88
jmp 0x6e80
jmp 0x6f1d
movq %rax, %r14
jmp 0x70f0
movq %rax, %r14
leaq 0x290(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x6e9c
jmp 0x6fc7
jmp 0x6f10
jmp 0x6fc4
jmp 0x6fc4
jmp 0x6f2f
jmp 0x6fc4
jmp 0x6fc4
jmp 0x6fc4
jmp 0x6f65
jmp 0x6fc4
jmp 0x6f65
jmp 0x7072
jmp 0x6e80
movq %rax, %r14
jmp 0x6fee
movq 0x280(%rsp), %rdi
movq %rax, %r14
testq %rdi, %rdi
je 0x6fc7
callq 0x31c0
jmp 0x6fc7
jmp 0x6ef1
jmp 0x6fc4
jmp 0x6eaf
movq 0xa102(%rip), %rsi      # 0x10fb8
leaq 0x628(%rsp), %rdi
movq %rax, %r14
callq 0x3290
leaq 0x6a0(%rsp), %rdi
callq 0x30a0
jmp 0x716b
movq 0x3f0(%rsp), %rdi
movq %rax, %r14
cmpq %r12, %rdi
jne 0x7054
jmp 0x716b
movq %rax, %r14
jmp 0x716b
jmp 0x70b3
movq %rax, %r14
jmp 0x6fcf
jmp 0x70da
jmp 0x7086
movq %rax, %r14
jmp 0x70c9
jmp 0x6fc4
movq %rax, %r14
jmp 0x7103
jmp 0x6fc4
jmp 0x6fc4
movq %rax, %r14
jmp 0x715e
jmp 0x7086
jmp 0x6fc4
movq %rax, %r14
jmp 0x6f5b
movq 0x88(%rsp), %rdi
movq %rax, %r14
testq %rdi, %rdi
je 0x6f5b
callq 0x31c0
movq 0xc0(%rsp), %rdi
jmp 0x6fb1
movq 0x3f0(%rsp), %rdi
movq %rax, %r14
testq %rdi, %rdi
jne 0x70a9
jmp 0x7137
jmp 0x70da
jmp 0x70da
jmp 0x70b3
jmp 0x6fc4
jmp 0x70da
movq 0x408(%rsp), %rcx
movq %rax, %r14
movq %rcx, 0x8(%rsp)
jmp 0x7061
movq 0x28(%rsp), %rdi
movq %rax, %r14
testq %rdi, %rdi
je 0x7061
callq 0x31c0
jmp 0x7061
movq %rax, %r14
leaq 0x400(%rsp), %r12
movq 0x3f0(%rsp), %rdi
cmpq %r12, %rdi
je 0x6fe1
callq 0x31c0
leaq 0x628(%rsp), %rdi
callq 0x3060
movq 0x188(%rsp), %rdi
testq %rdi, %rdi
je 0x7000
callq 0x31c0
movq 0x170(%rsp), %rdi
testq %rdi, %rdi
je 0x7012
callq 0x31c0
movq 0x158(%rsp), %rdi
testq %rdi, %rdi
je 0x7024
callq 0x31c0
leaq 0x118(%rsp), %rdi
callq 0x7746
movq 0x100(%rsp), %rdi
testq %rdi, %rdi
je 0x7043
callq 0x31c0
movq 0xe8(%rsp), %rdi
testq %rdi, %rdi
je 0x716b
callq 0x31c0
jmp 0x716b
movq %rax, %r14
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x70dd
callq 0x31c0
jmp 0x70dd
movq 0x70(%rsp), %rdi
movq %rax, %r14
testq %rdi, %rdi
je 0x7089
callq 0x31c0
jmp 0x7089
movq %rax, %r14
leaq 0x3f0(%rsp), %rdi
callq 0x32d0
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x7137
callq 0x31c0
jmp 0x7137
movq 0x200(%rsp), %rdi
movq %rax, %r14
testq %rdi, %rdi
je 0x70c9
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x70(%rsp), %rdi
callq 0xa8c2
leaq 0x10(%rsp), %rdi
jmp 0x7132
movq %rax, %r14
movq 0x5f8(%rsp), %rdi
testq %rdi, %rdi
je 0x70f0
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x610(%rsp), %rdi
testq %rdi, %rdi
je 0x7103
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x240(%rsp), %rdi
callq 0xa8c2
leaq 0x3d0(%rsp), %rdi
callq 0xa8c2
leaq 0x220(%rsp), %rdi
callq 0xa8c2
leaq 0x1d0(%rsp), %rdi
callq 0xa8c2
leaq 0x280(%rsp), %rdi
callq 0x71a8
movq 0x628(%rsp), %rdi
leaq 0x638(%rsp), %rax
cmpq %rax, %rdi
je 0x715e
callq 0x31c0
leaq 0xe0(%rsp), %rdi
callq 0x7266
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x7185
callq 0x31c0
movq 0x1b0(%rsp), %rdi
leaq 0x1c0(%rsp), %rax
cmpq %rax, %rdi
je 0x719f
callq 0x31c0
movq %r14, %rdi
callq 0x33a0
nop