// File: /workspace/github_c_makefile_star2_O1/dapogon[P]cellcoal/src/cellcoal.c
// Function: PrintRunInformation
static void	PrintRunInformation (FILE *fp)
    {
    int		i;
		
    fprintf (fp, "\n\nRun settings\n------------");
	fprintf (fp, "\n[Parameter file = %s]\n", parameterFile);
	if (noisy > 1)
		fprintf (fp, "\n[Assumptions in brackets]\n");
	fprintf (fp, "\nGeneral");
    fprintf (fp, "\n Seed                                         =   %-3ld", originalSeed);
    fprintf (fp, "\n Number replicate data sets                   =   %-3d",  numDataSets);
    fprintf (fp, "\n Number of cells                              =   %-3d",  numCells);
	if (doUserGenome == YES)
		fprintf (fp, "\n Number of sites in the user genome           =   %-3d",  numSites);
	else
		fprintf (fp, "\n Number of genomic sites                      =   %-3d",  numSites);
		
    fprintf (fp, "\n\nDemographics");
    fprintf (fp, "\n Effective population size                    =   %-3d",  N);
    if (doExponential == YES)
        fprintf (fp, "\n Exponential growth rate                      =   %2.1e", growthRate);
	if (doOthsukiInnanCoal == YES)
		{
		fprintf (fp, "\n Cell birth rate                              =   %2.1e", birthRate);
		fprintf (fp, "\n Cell death rate                              =   %2.1e", deathRate);
		fprintf (fp, "\n Exponential growth rate                      =   %2.1e", growthRate);
		}
	else if (doDemographics == YES)
        {
        fprintf (fp, "\n Period   Nbegin     Nend    Duration    Growth rate");
        for (i=1; i<=numPeriods; i++)
            fprintf (fp, "\n   %d    %7d   %7d     %7d       %+2.1e",
                     i, Nbegin[i], Nend[i], cumDuration[i]-cumDuration[i-1], periodGrowth[i]);
        }
	if (doUserTree == YES)
		fprintf (fp, "\n\nUser tree file                                =   %s", userTreeFile);
	else
		{
		fprintf (fp, "\n\nGenealogy");
		fprintf (fp, "\n Mean time to the MRCA (Ne generations)       =   %6.4f", meanTMRCA);
		if (noisy > 1)
			fprintf (fp, "\n Exp time to the MRCA [constant Ne]           =   %6.4f", expTMRCA);
		if (numDataSets > 1)
			{
			fprintf (fp, "\n Variance time MRCA                           =   %6.4f", varTMRCA);
			if (noisy > 1)
				fprintf (fp, "\n Exp variance time MRCA [constant Ne]         =   %6.4f", expVarTMRCA);
			}
	 
		if (rateVarAmongLineages == YES)
			fprintf (fp, "\n Rate variation among branches (alpha)        =   %-3.2f", alphaBranches);
		else if (doTreeRateSwitches == YES)
			fprintf (fp, "\n Number of tree rate switches                 =   %-3d",  numTreeRateSwitches);
		else
			fprintf (fp, "\n No rate variation among branches");
		}
    fprintf (fp, "\n\nUser-defined branches");
    fprintf (fp, "\n Transforming branch length ratio             =   %2.1e", transformingBranchLengthRatio);
    fprintf (fp, "\n Healthy tip branch length ratio              =   %2.1e", healthyTipBranchLengthRatio);

	if (doUserGenome == YES)
		fprintf (fp, "\n\nUser genome file                              =   %s", userGenomeFile);

    if (doSimulateData == YES)
        {
        fprintf (fp, "\n\nMutation models");
        fprintf (fp, "\n Character alphabet                           =   ");
        if (alphabet == BINARY)
            fprintf (fp, "0/1");
        else if (alphabet == DNA)
            fprintf (fp, "DNA");
		
		if (doGeneticSignatures == YES)
			{
			fprintf (fp, "\n Number of trinucleotide genetic signatures   =   %d", numUserSignatures);
			for (i=0; i<numUserSignatures; i++)
				fprintf (fp, "\n  signature %02d weight                         =   %4.2f", signatureID[i], signatureWeight[i]);
			}
        else if (propAltModelSites == 0)
            fprintf (fp, "\n All sites evolving under the ISM diploid");
			
        else if (propAltModelSites > 0)
            {
			fprintf (fp, "\n Proportion of ISM diploid sites              =   %-3.2f", 1.0 - propAltModelSites);
			fprintf (fp, "\n Proportion of non-ISM diploid sites          =   %-3.2f", propAltModelSites);
			fprintf (fp, "\n Non-ISM diploid mutation model               =   ");
            if (altModel == 0) /* ISM haploid model */
                fprintf (fp, "ISM haploid");
            else if (altModel == 1) /* Markov (Mk2) model */
                fprintf (fp, "Markov 0/1");
             else if (altModel == 2) /* finite DNA model */
                {
                fprintf (fp, "Markov finite DNA: ");
				if (doJC == YES)
					fprintf (fp, "JC");
				else if (doHKY == YES)
					fprintf (fp, "HKY");
				else if (doGTR == YES)
					fprintf (fp, "GTR");
				else if (doGTnR == YES)
					fprintf (fp, "GTnR");
				}
			
			if (rateVarAmongSites == YES)
				fprintf (fp, "\n Rate variation among sites (alpha)           =   %-3.2f", alphaSites);
			else
				fprintf (fp, "\n Equal rates among sites");
		   }

        if (alphabet == DNA && propAltModelSites > 0 && altModel == 2 && doGeneticSignatures == NO)
            {
            fprintf (fp, "\n Base frequencies (ACGT)                      =   %3.2f %3.2f %3.2f %3.2f", freq[0], freq[1], freq[2], freq[3]);
			if (doHKY == YES)
				fprintf (fp, "\n Transition/transversion ratio                =   %3.2f  (kappa = %3.2f)", titv, kappa);
			if (thereIsMij == YES)
				{
				fprintf (fp, "\n Mutation rate matrix                         =   %3.2f %3.2f %3.2f %3.2f", Mij[0][0], Mij[0][1], Mij[0][2], Mij[0][3]);
				fprintf (fp, "\n                                                  %3.2f %3.2f %3.2f %3.2f", Mij[1][0], Mij[1][1], Mij[1][2], Mij[1][3]);
				fprintf (fp, "\n                                                  %3.2f %3.2f %3.2f %3.2f", Mij[2][0], Mij[2][1], Mij[2][2], Mij[2][3]);
				fprintf (fp, "\n                                                  %3.2f %3.2f %3.2f %3.2f", Mij[3][0], Mij[3][1], Mij[3][2], Mij[3][3]);
				}
			}
        if (SNPrate > 0)
            fprintf (fp, "\n SNPrate                                      =   %2.1e", SNPrate);
			
		fprintf (fp, "\n\nSNV rates");
        if (doSimulateFixedNumMutations == YES)
            fprintf (fp, "\n Fixed number of mutations                    =   %-3d", numFixedMutations);
        else
            {
            fprintf (fp, "\n Mutation rate                                =   %2.1e", mutationRate);
            fprintf (fp, "\n Population mutation parameter (4Nu2L)        =   %3.2f", theta);
            if (noisy > 1)
				fprintf (fp, "\n Exp num mutation events [Ne=cte,ISMh]        =   %3.2f", expNumMU);
            }
        fprintf (fp, "\n Mean number of mutation events               =   %3.2f", meanNumMU);
        if (numDataSets > 1)
            {
            if (doSimulateFixedNumMutations == NO)
				{
                if (noisy > 1)
					fprintf (fp, "\n Exp variance num mut events [Ne=cte,ISM]     =   %3.2f", expVarNumMU);
				fprintf (fp, "\n Variance number of mutation events           =   %3.2f", varNumMU);
				}
             }
        fprintf (fp, "\n Mean number of SNVs                          =   %3.2f", meanNumSNVs);
        if (numDataSets > 1)
            {
			fprintf (fp, "\n Variance number of SNVs                      =   %3.2f", varNumSNVs);
			fprintf (fp, "\n Proportion of reps without SNV sites         =   %3.2f", zeroSNVs/(double)numDataSets);
			}

		if (deletionRate > 0)
			{
			fprintf (fp, "\n\nDeletion rates");
			fprintf (fp, "\n Deletion rate                                =   %2.1e", deletionRate);
			fprintf (fp, "\n Mean number of deletion events               =   %3.2f", meanNumDEL);
			if (numDataSets > 1)
				fprintf (fp, "\n Variance number of deletion events           =   %3.2f", varNumDEL);
			}

		if (CNLOHrate > 0)
			{
			fprintf (fp, "\n\nCopy-neutral LOH rates");
			fprintf (fp, "\n CN-LOH rate                                  =   %2.1e", CNLOHrate);
			fprintf (fp, "\n Mean number of CN-LOH events                 =   %3.2f", meanNumCNLOH);
			if (numDataSets > 1)
				fprintf (fp, "\n Variance number of CN-LOH events             =   %3.2f", varNumCNLOH);
			}
 
		fprintf (fp, "\n\nSingle-cell WGA");
		if (fixedADOrate == 0 & doADOcell == NO & doADOsite == NO)
			fprintf (fp, "\n Alellic dropout                              =   %2.1f", fixedADOrate);
		if (fixedADOrate > 0)
			fprintf (fp, "\n Alellic dropout fixed                        =   %2.1e", fixedADOrate);
		if (doADOcell == YES)
			fprintf (fp, "\n Alellic dropout per cell (mean, var)         =   %2.1e, %2.1e", meanADOcell, varADOcell);
		if (doADOsite == YES)
			fprintf (fp, "\n Alellic dropout per site (mean, var)         =   %2.1e, %2.1e", meanADOsite, varADOsite);

		if (doNGS == YES)
			{
			if (doAllelicImbalance == YES)
				fprintf (fp, "\n Maternal allelic imbalance (mean, var)       =   %2.1e, %2.1e", meanAllelicImbalance, varAllelicImbalance);
			else
				fprintf (fp, "\n Maternal allelic imbalance                   =   %2.1f", meanAllelicImbalance);

			if (meanAmplificationError > 0)
				{
				fprintf (fp, "\n Amplification error ");
				if (simulateOnlyTwoTemplates == YES)
					fprintf (fp, "\n  (2-template model)");
				else
					fprintf (fp, "\n  (4-template model)");
				fprintf (fp, " (mean, var)              =   %2.1e, %2.1e", meanAmplificationError, varAmplificationError);
				}
			else
				fprintf (fp, "\n Amplification error                          =   %2.1f", meanAmplificationError);

			if (meanDoubletRate > 0)
				fprintf (fp, "\n Doublet rate per cell (mean, var)            =   %2.1e, %2.1e", meanDoubletRate, varDoubletRate);
			else
				fprintf (fp, "\n Doublet rate per cell                        =   %2.1f", meanDoubletRate);
			}
	
		if (meanGenotypingError == 0 && doNGS == NO)
			fprintf (fp, "\n\nNGS genotype errors are not being simulated");

		if (meanGenotypingError > 0)
			{
			fprintf (fp, "\n\nGenotyping");
			fprintf (fp, "\n Genotype error (mean, var)                   =   %2.1e, %2.1e", meanGenotypingError, varGenotypingError);
			//fprintf (fp, "\n Exp number of FP SNVs due to genotype errors =   %3.2f", (1 - pow(1-genotypingError, numCells+1)) * numSites);
			}

		fprintf (fp, "\n\nNGS");
		if (doNGS == YES)
			{
			if (rateVarCoverage == NO)
				fprintf (fp, "\n Sequencing coverage (Poisson)                =   %-3.2fX", coverage);
			else
				{
				fprintf (fp, "\n Sequencing coverage (Negative binomial)");
				fprintf (fp, "\n  mean                                        =   %-3.2fX", coverage);
				fprintf (fp, "\n  dispersion (alpha)                          =   %-3.2f", alphaCoverage);
				}
			fprintf (fp, "\n Haploid coverage reduction                   =   %-3.2f", haploidCoverageReduction);
			fprintf (fp, "\n Sequencing error                             =   %2.1e", sequencingError);
			if (thereIsEij == YES)
				{
				fprintf (fp, "\n NGS error rate matrix                        =   %3.2f %3.2f %3.2f %3.2f", Eij[0][0], Eij[0][1], Eij[0][2], Eij[0][3]);
				fprintf (fp, "\n                                                  %3.2f %3.2f %3.2f %3.2f", Eij[1][0], Eij[1][1], Eij[1][2], Eij[1][3]);
				fprintf (fp, "\n                                                  %3.2f %3.2f %3.2f %3.2f", Eij[2][0], Eij[2][1], Eij[2][2], Eij[2][3]);
				fprintf (fp, "\n                                                  %3.2f %3.2f %3.2f %3.2f", Eij[3][0], Eij[3][1], Eij[3][2], Eij[3][3]);
				}
			}
		else
			fprintf (fp, "\n No sequencing reads were produced");
		}

	   fprintf (fp, "\n\n\nOutput files are in folder \"%s\":", resultsDir);
		   
		   if (doPrintTree == YES)
			   {
			   fprintf (fp, "\n Tree printed to file \"%s\"", treeFile);
			   if (doPrintSeparateReplicates == YES)
				   fprintf (fp, " in folder \"%s\"", treeDir);
	   
			   }
	
		   if (doPrintTimes == YES)
			   {
			   fprintf (fp, "\n Times printed to file \"%s\"", timesFile);
			   if (doPrintSeparateReplicates == YES)
				   fprintf (fp, " in folder \"%s\"", timesDir);
			   }
		   
		   if (doSimulateData == YES)
			   {
			   if (doPrintSNVgenotypes == YES)
				   {
				   fprintf (fp, "\n SNV genotypes printed to file \"%s\"", SNVgenotypesFile);
				   if (doPrintSeparateReplicates == YES)
					   fprintf (fp, " in folder \"%s\"", SNVgenotypesDir);
				  }
	
			   if (doPrintFullGenotypes == YES)
				   {
				   fprintf (fp, "\n Full genotypes printed to file \"%s\"", fullGenotypesFile);
				   if (doPrintSeparateReplicates == YES)
					   fprintf (fp, " in folder \"%s\"", fullGenotypesDir);
				   }
	
			   if (doPrintSNVhaplotypes == YES)
				   {
				   if (doPrintIUPAChaplotypes == YES)
					   fprintf (fp, "\n SNV haplotypes (IUPAC codes) printed to file \"%s\"", SNVhaplotypesFile);
				   else
					   fprintf (fp, "\n SNV haplotypes printed to file \"%s\"", SNVhaplotypesFile);
				   if (doPrintSeparateReplicates == YES)
					   fprintf (fp, " in folder \"%s\"", SNVhaplotypesDir);
				   }

			   if (doPrintFullHaplotypes == YES)
				   {
				   if (doPrintIUPAChaplotypes == YES)
					   fprintf (fp, "\n Full haplotypes (IUPAC codes) printed to file \"%s\"", fullHaplotypesFile);
				   else
					   fprintf (fp, "\n Full haplotypes printed to file \"%s\"", fullHaplotypesFile);
				   if (doPrintSeparateReplicates == YES)
					   fprintf (fp, " in folder \"%s\"", fullHaplotypesDir);
				   }

			   if (doPrintTrueHaplotypes == YES)
				   {
				   if (doPrintIUPAChaplotypes == YES)
					   fprintf (fp, "\n True haplotypes (IUPAC codes) printed to file \"%s\"", trueHaplotypesFile);
				   else
					   fprintf (fp, "\n True haplotypes printed to file \"%s\"", trueHaplotypesFile);
				   if (doPrintSeparateReplicates == YES)
					   fprintf (fp, " in folder \"%s\"", trueHaplotypesDir);
				   }

			   if (doNGS == YES)
				   {
				   fprintf (fp, "\n Genotype likelihoods (%s model) printed to file \"%s\"", GLmodel, VCFfile);
				   if (doPrintSeparateReplicates == YES)
					   fprintf (fp, " in folder \"%s\"", VCFdir);
				   }

			   if (doPrintCATG == YES)
				   {
				   fprintf (fp, "\n Read counts printed in CATG format to file \"%s\"", CATGfile);
				   if (doPrintSeparateReplicates == YES)
					   fprintf (fp, " in folder \"%s\"", CATGdir);
				   }

			   if (doPrintPILEUP == YES)
				   {
				   fprintf (fp, "\n Read counts printed in PILEUP format to file \"%s\"", PILEUPfile);
				   if (doPrintSeparateReplicates == YES)
					   fprintf (fp, " in folder \"%s\"", PILEUPdir);
				   }
			  }
		   else
			   fprintf (fp, "\n\n\nNo output data files");

	}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
leaq 0x23024(%rip), %rdi     # 0x37cd6
movl $0x1b, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
leaq 0x23027(%rip), %rsi     # 0x37cf2
leaq 0x2d7de(%rip), %rdx     # 0x424b0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
cmpl $0x2, 0x2d7c5(%rip)     # 0x424a8
jl 0x14cfe
leaq 0x2301e(%rip), %rdi     # 0x37d0a
movl $0x1b, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
leaq 0x23021(%rip), %rdi     # 0x37d26
movl $0x8, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
movq 0x2d9aa(%rip), %rdx     # 0x426c8
leaq 0x2300a(%rip), %rsi     # 0x37d2f
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
movl 0x2d46b(%rip), %edx     # 0x421a0
leaq 0x2302c(%rip), %rsi     # 0x37d68
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
movl 0x2d458(%rip), %edx     # 0x421a4
leaq 0x2304d(%rip), %rsi     # 0x37da0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
movl 0x2d445(%rip), %edx     # 0x421a8
leaq 0x2306e(%rip), %rax     # 0x37dd8
leaq 0x2309f(%rip), %rsi     # 0x37e10
cmpb $0x0, 0x2d610(%rip)     # 0x42388
cmovneq %rax, %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
leaq 0x230bb(%rip), %rdi     # 0x37e48
movl $0xe, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
movl 0x2d407(%rip), %edx     # 0x421ac
leaq 0x230ab(%rip), %rsi     # 0x37e57
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
cmpb $0x1, 0x2d3fb(%rip)     # 0x421b8
jne 0x14dd8
movsd 0x2d3f9(%rip), %xmm0    # 0x421c0
leaq 0x230c1(%rip), %rsi     # 0x37e8f
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
cmpb $0x1, 0x2d8e1(%rip)     # 0x426c0
jne 0x14e31
movsd 0x2d3df(%rip), %xmm0    # 0x421c8
leaq 0x230d8(%rip), %rsi     # 0x37ec8
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
movsd 0x2d3ce(%rip), %xmm0    # 0x421d0
leaq 0x230f8(%rip), %rsi     # 0x37f01
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
movsd 0x2d3a5(%rip), %xmm0    # 0x421c0
leaq 0x2306d(%rip), %rsi     # 0x37e8f
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
jmp 0x14ec3
cmpb $0x1, 0x2d37c(%rip)     # 0x421b4
jne 0x14ec3
leaq 0x230f5(%rip), %rdi     # 0x37f3a
movl $0x1, %r14d
movl $0x35, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
cmpl $0x0, 0x2d34c(%rip)     # 0x421b0
jle 0x14ec3
leaq 0x23103(%rip), %r15     # 0x37f70
movq 0x2e8bc(%rip), %rax     # 0x43730
movl (%rax,%r14,4), %ecx
movq 0x2e8a9(%rip), %rax     # 0x43728
movl (%rax,%r14,4), %r8d
movq 0x2e8ae(%rip), %rax     # 0x43738
movl (%rax,%r14,4), %r9d
subl -0x4(%rax,%r14,4), %r9d
movq 0x2e8a6(%rip), %rax     # 0x43740
movsd (%rax,%r14,8), %xmm0
movq %rbx, %rdi
movq %r15, %rsi
movl %r14d, %edx
movb $0x1, %al
callq 0x21c0
leaq 0x1(%r14), %rax
movslq 0x2d2f5(%rip), %rcx     # 0x421b0
cmpq %rcx, %r14
movq %rax, %r14
jl 0x14e6d
cmpb $0x1, 0x2d4ba(%rip)     # 0x42384
jne 0x14ee9
leaq 0x230c6(%rip), %rsi     # 0x37f99
leaq 0x2e2f6(%rip), %rdx     # 0x431d0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
jmp 0x14fe0
leaq 0x230e0(%rip), %rdi     # 0x37fd0
movl $0xb, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
movsd 0x2e7a6(%rip), %xmm0    # 0x436b0
leaq 0x230cb(%rip), %rsi     # 0x37fdc
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
cmpl $0x2, 0x2d586(%rip)     # 0x424a8
jl 0x14f3d
movsd 0x2d61c(%rip), %xmm0    # 0x42548
leaq 0x230e2(%rip), %rsi     # 0x38015
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
cmpl $0x2, 0x2d25c(%rip)     # 0x421a0
jl 0x14f81
movsd 0x2e782(%rip), %xmm0    # 0x436d0
leaq 0x230f9(%rip), %rsi     # 0x3804e
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
cmpl $0x2, 0x2d542(%rip)     # 0x424a8
jl 0x14f81
movsd 0x2d5e0(%rip), %xmm0    # 0x42550
leaq 0x23110(%rip), %rsi     # 0x38087
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
cmpb $0x1, 0x2d260(%rip)     # 0x421e8
jne 0x14fa5
movsd 0x2d3de(%rip), %xmm0    # 0x42370
leaq 0x23127(%rip), %rsi     # 0x380c0
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
jmp 0x14fe0
cmpb $0x1, 0x2d240(%rip)     # 0x421ec
jne 0x14fc7
movl 0x2d23c(%rip), %edx     # 0x421f0
leaq 0x2313f(%rip), %rsi     # 0x380fa
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
jmp 0x14fe0
leaq 0x23164(%rip), %rdi     # 0x38132
movl $0x22, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
leaq 0x2316e(%rip), %rdi     # 0x38155
movl $0x17, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
movsd 0x2d3d7(%rip), %xmm0    # 0x423d8
leaq 0x23165(%rip), %rsi     # 0x3816d
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
movsd 0x2d3c6(%rip), %xmm0    # 0x423e0
leaq 0x23185(%rip), %rsi     # 0x381a6
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
cmpb $0x1, 0x2d356(%rip)     # 0x42388
jne 0x1504c
leaq 0x231a4(%rip), %rsi     # 0x381df
leaq 0x2e20e(%rip), %rdx     # 0x43250
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
cmpb $0x1, 0x2d36d(%rip)     # 0x423c0
jne 0x15a88
leaq 0x231b6(%rip), %rdi     # 0x38216
movl $0x11, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
leaq 0x231af(%rip), %rdi     # 0x38228
movl $0x33, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
movl 0x2d163(%rip), %eax     # 0x421f4
testl %eax, %eax
je 0x150a3
cmpl $0x1, %eax
jne 0x150bc
leaq 0x231bb(%rip), %rdi     # 0x3825c
jmp 0x150aa
leaq 0x2330d(%rip), %rdi     # 0x383b7
movl $0x3, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
cmpb $0x1, 0x2d309(%rip)     # 0x423cc
jne 0x1512c
movl 0x2d305(%rip), %edx     # 0x423d0
leaq 0x2318e(%rip), %rsi     # 0x38260
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
cmpl $0x0, 0x2d2ed(%rip)     # 0x423d0
jle 0x15275
xorl %r15d, %r15d
leaq 0x231a3(%rip), %r14     # 0x38296
movq 0x2e5f6(%rip), %rax     # 0x436f0
movl (%rax,%r15,4), %edx
movq 0x2e5e3(%rip), %rax     # 0x436e8
movsd (%rax,%r15,8), %xmm0
movq %rbx, %rdi
movq %r14, %rsi
movb $0x1, %al
callq 0x21c0
incq %r15
movslq 0x2d2ae(%rip), %rax     # 0x423d0
cmpq %rax, %r15
jl 0x150f3
jmp 0x15275
movsd 0x2d0cc(%rip), %xmm1    # 0x42200
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm1
jne 0x1515e
jp 0x1515e
leaq 0x2318a(%rip), %rdi     # 0x382d1
movl $0x2a, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
jmp 0x15275
jbe 0x15275
movsd 0x1ee9c(%rip), %xmm0    # 0x34008
subsd %xmm1, %xmm0
leaq 0x23185(%rip), %rsi     # 0x382fc
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
movsd 0x2d077(%rip), %xmm0    # 0x42200
leaq 0x231a6(%rip), %rsi     # 0x38336
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
leaq 0x231cf(%rip), %rdi     # 0x38370
movl $0x33, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
movl 0x2d03f(%rip), %eax     # 0x421f8
cmpl $0x2, %eax
je 0x151e7
cmpl $0x1, %eax
je 0x151d9
testl %eax, %eax
jne 0x1524f
leaq 0x231d2(%rip), %rdi     # 0x383a4
movl $0xb, %esi
jmp 0x15242
leaq 0x231d0(%rip), %rdi     # 0x383b0
movl $0xa, %esi
jmp 0x15242
leaq 0x231cd(%rip), %rdi     # 0x383bb
movl $0x13, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
cmpb $0x1, 0x2d149(%rip)     # 0x42350
jne 0x15217
leaq 0x231bf(%rip), %rdi     # 0x383cf
movl $0x2, %esi
jmp 0x15242
cmpb $0x1, 0x2d136(%rip)     # 0x42354
jne 0x15229
leaq 0x231ab(%rip), %rdi     # 0x383d2
jmp 0x1523d
cmpb $0x1, 0x2d128(%rip)     # 0x42358
jne 0x15db8
leaq 0x23199(%rip), %rdi     # 0x383d6
movl $0x3, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
cmpb $0x1, 0x2d10a(%rip)     # 0x42360
jne 0x15da7
movsd 0x2d104(%rip), %xmm0    # 0x42368
leaq 0x23174(%rip), %rsi     # 0x383df
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
cmpl $0x1, 0x2cf78(%rip)     # 0x421f4
jne 0x153d9
movsd 0x2cf76(%rip), %xmm0    # 0x42200
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jbe 0x153d9
cmpl $0x2, 0x2cf59(%rip)     # 0x421f8
jne 0x153d9
testb $0x1, 0x2d120(%rip)     # 0x423cc
jne 0x153d9
movsd 0x2cf56(%rip), %xmm0    # 0x42210
movsd 0x2cf56(%rip), %xmm1    # 0x42218
movsd 0x2cf56(%rip), %xmm2    # 0x42220
movsd 0x2cf56(%rip), %xmm3    # 0x42228
leaq 0x2315a(%rip), %rsi     # 0x38433
movq %rbx, %rdi
movb $0x4, %al
callq 0x21c0
cmpb $0x1, 0x2d06a(%rip)     # 0x42354
jne 0x1530d
movsd 0x2cf3c(%rip), %xmm0    # 0x42230
movsd 0x2e4fc(%rip), %xmm1    # 0x437f8
leaq 0x2317b(%rip), %rsi     # 0x3847e
movq %rbx, %rdi
movb $0x2, %al
callq 0x21c0
cmpb $0x1, 0x2cf24(%rip)     # 0x42238
jne 0x153d9
movsd 0x2cf1e(%rip), %xmm0    # 0x42240
movsd 0x2cf1e(%rip), %xmm1    # 0x42248
movsd 0x2cf1e(%rip), %xmm2    # 0x42250
movsd 0x2cf1e(%rip), %xmm3    # 0x42258
leaq 0x23187(%rip), %rsi     # 0x384c8
movq %rbx, %rdi
movb $0x4, %al
callq 0x21c0
movsd 0x2cf0d(%rip), %xmm0    # 0x42260
movsd 0x2cf0d(%rip), %xmm1    # 0x42268
movsd 0x2cf0d(%rip), %xmm2    # 0x42270
movsd 0x2cf0d(%rip), %xmm3    # 0x42278
leaq 0x231a1(%rip), %r14     # 0x38513
movq %rbx, %rdi
movq %r14, %rsi
movb $0x4, %al
callq 0x21c0
movsd 0x2cef9(%rip), %xmm0    # 0x42280
movsd 0x2cef9(%rip), %xmm1    # 0x42288
movsd 0x2cef9(%rip), %xmm2    # 0x42290
movsd 0x2cef9(%rip), %xmm3    # 0x42298
movq %rbx, %rdi
movq %r14, %rsi
movb $0x4, %al
callq 0x21c0
movsd 0x2ceec(%rip), %xmm0    # 0x422a0
movsd 0x2ceec(%rip), %xmm1    # 0x422a8
movsd 0x2ceec(%rip), %xmm2    # 0x422b0
movsd 0x2ceec(%rip), %xmm3    # 0x422b8
movq %rbx, %rdi
movq %r14, %rsi
movb $0x4, %al
callq 0x21c0
movsd 0x2cdff(%rip), %xmm0    # 0x421e0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jbe 0x153fc
leaq 0x2316c(%rip), %rsi     # 0x3855e
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
leaq 0x23194(%rip), %rdi     # 0x38597
movl $0xb, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
cmpb $0x1, 0x2cf64(%rip)     # 0x42380
jne 0x15437
movl 0x2e384(%rip), %edx     # 0x437a8
leaq 0x23178(%rip), %rsi     # 0x385a3
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
jmp 0x1548b
movsd 0x2cd99(%rip), %xmm0    # 0x421d8
leaq 0x23195(%rip), %rsi     # 0x385db
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
movsd 0x2d0d8(%rip), %xmm0    # 0x42530
leaq 0x231b5(%rip), %rsi     # 0x38614
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
cmpl $0x2, 0x2d038(%rip)     # 0x424a8
jl 0x1548b
movsd 0x2d0be(%rip), %xmm0    # 0x42538
leaq 0x231cc(%rip), %rsi     # 0x3864d
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
movsd 0x2e1fd(%rip), %xmm0    # 0x43690
leaq 0x231ec(%rip), %rsi     # 0x38686
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
cmpl $0x2, 0x2ccf5(%rip)     # 0x421a0
jl 0x154f1
testb $0x1, 0x2cecc(%rip)     # 0x42380
jne 0x154f1
cmpl $0x2, 0x2cfeb(%rip)     # 0x424a8
jl 0x154d8
movsd 0x2d079(%rip), %xmm0    # 0x42540
leaq 0x231f1(%rip), %rsi     # 0x386bf
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
movsd 0x2e1d8(%rip), %xmm0    # 0x436b8
leaq 0x23211(%rip), %rsi     # 0x386f8
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
movsd 0x2e19f(%rip), %xmm0    # 0x43698
leaq 0x23231(%rip), %rsi     # 0x38731
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
cmpl $0x2, 0x2cc8f(%rip)     # 0x421a0
jl 0x15557
movsd 0x2e1a5(%rip), %xmm0    # 0x436c0
leaq 0x23248(%rip), %rsi     # 0x3876a
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
xorps %xmm0, %xmm0
cvtsi2sdl 0x2d059(%rip), %xmm0 # 0x42590
xorps %xmm1, %xmm1
cvtsi2sdl 0x2cc5e(%rip), %xmm1 # 0x421a0
divsd %xmm1, %xmm0
leaq 0x23256(%rip), %rsi     # 0x387a3
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
movsd 0x2e0b1(%rip), %xmm0    # 0x43610
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jbe 0x155de
leaq 0x2326c(%rip), %rdi     # 0x387dc
movl $0x10, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
movsd 0x2e086(%rip), %xmm0    # 0x43610
leaq 0x2325c(%rip), %rsi     # 0x387ed
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
movsd 0x2e0fd(%rip), %xmm0    # 0x436a0
leaq 0x2327c(%rip), %rsi     # 0x38826
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
xorpd %xmm1, %xmm1
cmpl $0x2, 0x2cbe1(%rip)     # 0x421a0
jl 0x155de
movsd 0x2e0ff(%rip), %xmm0    # 0x436c8
leaq 0x2328f(%rip), %rsi     # 0x3885f
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
xorpd %xmm1, %xmm1
movsd 0x2e012(%rip), %xmm0    # 0x435f8
ucomisd %xmm1, %xmm0
jbe 0x15655
leaq 0x232a5(%rip), %rdi     # 0x38898
movl $0x18, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
movsd 0x2dfeb(%rip), %xmm0    # 0x435f8
leaq 0x2329d(%rip), %rsi     # 0x388b1
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
movsd 0x2e082(%rip), %xmm0    # 0x436a8
leaq 0x232bd(%rip), %rsi     # 0x388ea
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
cmpl $0x2, 0x2cb62(%rip)     # 0x421a0
jl 0x15655
leaq 0x232dc(%rip), %rsi     # 0x38923
xorpd %xmm0, %xmm0
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
leaq 0x23300(%rip), %rdi     # 0x3895c
movl $0x11, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
movsd 0x2cd82(%rip), %xmm0    # 0x423f8
xorpd %xmm3, %xmm3
ucomisd %xmm3, %xmm0
jne 0x156bb
jp 0x156bb
movsd 0x2cd7e(%rip), %xmm1    # 0x42408
ucomisd %xmm3, %xmm1
jne 0x156bb
jp 0x156bb
movsd 0x2cd76(%rip), %xmm1    # 0x42410
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm1
jne 0x156bb
jp 0x156bb
leaq 0x232c1(%rip), %rsi     # 0x3896e
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
xorpd %xmm3, %xmm3
movsd 0x2cd35(%rip), %xmm0    # 0x423f8
ucomisd %xmm3, %xmm0
jbe 0x156da
leaq 0x232d7(%rip), %rsi     # 0x389a7
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
movsd 0x2cd26(%rip), %xmm0    # 0x42408
ucomisd 0x1e91e(%rip), %xmm0    # 0x34008
jne 0x1570f
jp 0x1570f
movsd 0x2cd22(%rip), %xmm0    # 0x42418
movsd 0x2cd22(%rip), %xmm1    # 0x42420
leaq 0x232db(%rip), %rsi     # 0x389e0
movq %rbx, %rdi
movb $0x2, %al
callq 0x21c0
movsd 0x2ccf9(%rip), %xmm0    # 0x42410
ucomisd 0x1e8e9(%rip), %xmm0    # 0x34008
jne 0x15744
jp 0x15744
movsd 0x2ccfd(%rip), %xmm0    # 0x42428
movsd 0x2ccfd(%rip), %xmm1    # 0x42430
leaq 0x232e6(%rip), %rsi     # 0x38a20
movq %rbx, %rdi
movb $0x2, %al
callq 0x21c0
cmpb $0x1, 0x2cc61(%rip)     # 0x423ac
jne 0x15861
movsd 0x2cd17(%rip), %xmm0    # 0x42470
ucomisd 0x1e8a7(%rip), %xmm0    # 0x34008
movsd 0x2cd0f(%rip), %xmm0    # 0x42478
jne 0x15788
jp 0x15788
movsd 0x2cd0b(%rip), %xmm1    # 0x42480
leaq 0x232e4(%rip), %rsi     # 0x38a60
movq %rbx, %rdi
movb $0x2, %al
callq 0x21c0
jmp 0x15799
leaq 0x23311(%rip), %rsi     # 0x38aa0
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
movsd 0x2ccaf(%rip), %xmm0    # 0x42450
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jbe 0x15812
leaq 0x23327(%rip), %rdi     # 0x38ad9
movl $0x16, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
cmpl $0x1, 0x2cc95(%rip)     # 0x42460
leaq 0x2331e(%rip), %rax     # 0x38af0
leaq 0x2332d(%rip), %rdi     # 0x38b06
cmoveq %rax, %rdi
movl $0x15, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
movsd 0x2cc59(%rip), %xmm0    # 0x42450
movsd 0x2cc59(%rip), %xmm1    # 0x42458
leaq 0x23316(%rip), %rsi     # 0x38b1c
movq %rbx, %rdi
movb $0x2, %al
callq 0x21c0
jmp 0x15823
leaq 0x2332e(%rip), %rsi     # 0x38b47
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
movsd 0x2cc5d(%rip), %xmm0    # 0x42488
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jbe 0x15850
movsd 0x2cc53(%rip), %xmm1    # 0x42490
leaq 0x2333c(%rip), %rsi     # 0x38b80
movq %rbx, %rdi
movb $0x2, %al
callq 0x21c0
jmp 0x15861
leaq 0x23369(%rip), %rsi     # 0x38bc0
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
movsd 0x2cbd7(%rip), %xmm0    # 0x42440
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x1589b
jp 0x1589b
testb $0x1, 0x2cb30(%rip)     # 0x423ac
jne 0x1589b
leaq 0x23374(%rip), %rdi     # 0x38bf9
movl $0x2d, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
xorpd %xmm1, %xmm1
movsd 0x2cb9d(%rip), %xmm0    # 0x42440
ucomisd %xmm1, %xmm0
jbe 0x158e3
leaq 0x23377(%rip), %rdi     # 0x38c27
movl $0xc, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
movsd 0x2cb76(%rip), %xmm0    # 0x42440
movsd 0x2cb76(%rip), %xmm1    # 0x42448
leaq 0x2335b(%rip), %rsi     # 0x38c34
movq %rbx, %rdi
movb $0x2, %al
callq 0x21c0
leaq 0x2338a(%rip), %rdi     # 0x38c74
movl $0x5, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
cmpb $0x1, 0x2caa9(%rip)     # 0x423ac
jne 0x15950
cmpb $0x1, 0x2cae4(%rip)     # 0x423f0
jne 0x1596e
leaq 0x233a0(%rip), %rdi     # 0x38cb5
movl $0x29, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
movsd 0x2cab9(%rip), %xmm0    # 0x423e8
leaq 0x233a9(%rip), %rsi     # 0x38cdf
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
leaq 0x233d3(%rip), %rsi     # 0x38d1a
leaq 0x2ca2a(%rip), %rax     # 0x42378
jmp 0x1597c
leaq 0x234bb(%rip), %rdi     # 0x38e12
movl $0x23, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
jmp 0x15a88
leaq 0x23305(%rip), %rsi     # 0x38c7a
leaq 0x2ca6c(%rip), %rax     # 0x423e8
movsd (%rax), %xmm0
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
movsd 0x2cad6(%rip), %xmm0    # 0x42468
leaq 0x233bb(%rip), %rsi     # 0x38d54
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
movsd 0x2ca8d(%rip), %xmm0    # 0x42438
leaq 0x233dc(%rip), %rsi     # 0x38d8e
movq %rbx, %rdi
movb $0x1, %al
callq 0x21c0
cmpb $0x1, 0x2c8fd(%rip)     # 0x422c0
jne 0x15a88
movsd 0x2c8ff(%rip), %xmm0    # 0x422d0
movsd 0x2c8ff(%rip), %xmm1    # 0x422d8
movsd 0x2c8ff(%rip), %xmm2    # 0x422e0
movsd 0x2c8ff(%rip), %xmm3    # 0x422e8
leaq 0x233d7(%rip), %rsi     # 0x38dc7
movq %rbx, %rdi
movb $0x4, %al
callq 0x21c0
movsd 0x2c8ee(%rip), %xmm0    # 0x422f0
movsd 0x2c8ee(%rip), %xmm1    # 0x422f8
movsd 0x2c8ee(%rip), %xmm2    # 0x42300
movsd 0x2c8ee(%rip), %xmm3    # 0x42308
leaq 0x22af2(%rip), %r14     # 0x38513
movq %rbx, %rdi
movq %r14, %rsi
movb $0x4, %al
callq 0x21c0
movsd 0x2c8da(%rip), %xmm0    # 0x42310
movsd 0x2c8da(%rip), %xmm1    # 0x42318
movsd 0x2c8da(%rip), %xmm2    # 0x42320
movsd 0x2c8da(%rip), %xmm3    # 0x42328
movq %rbx, %rdi
movq %r14, %rsi
movb $0x4, %al
callq 0x21c0
movsd 0x2c8cd(%rip), %xmm0    # 0x42330
movsd 0x2c8cd(%rip), %xmm1    # 0x42338
movsd 0x2c8cd(%rip), %xmm2    # 0x42340
movsd 0x2c8cd(%rip), %xmm3    # 0x42348
movq %rbx, %rdi
movq %r14, %rsi
movb $0x4, %al
callq 0x21c0
leaq 0x233a7(%rip), %rsi     # 0x38e36
leaq 0x2ce3a(%rip), %rdx     # 0x428d0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
cmpb $0x1, 0x2c8f9(%rip)     # 0x423a0
jne 0x15ae2
leaq 0x233aa(%rip), %rsi     # 0x38e5a
leaq 0x2d619(%rip), %rdx     # 0x430d0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
cmpb $0x1, 0x2c8fc(%rip)     # 0x423c4
jne 0x15ae2
leaq 0x233a5(%rip), %rsi     # 0x38e76
leaq 0x2ce78(%rip), %rdx     # 0x42950
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
cmpb $0x1, 0x2c8bb(%rip)     # 0x423a4
jne 0x15b24
leaq 0x23394(%rip), %rsi     # 0x38e86
leaq 0x2d657(%rip), %rdx     # 0x43150
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
cmpb $0x1, 0x2c8ba(%rip)     # 0x423c4
jne 0x15b24
leaq 0x23363(%rip), %rsi     # 0x38e76
leaq 0x2ceb6(%rip), %rdx     # 0x429d0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
cmpb $0x1, 0x2c895(%rip)     # 0x423c0
jne 0x15d83
cmpb $0x1, 0x2c854(%rip)     # 0x4238c
jne 0x15b73
leaq 0x23362(%rip), %rsi     # 0x38ea3
leaq 0x2d308(%rip), %rdx     # 0x42e50
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
cmpb $0x1, 0x2c86b(%rip)     # 0x423c4
jne 0x15b73
leaq 0x23314(%rip), %rsi     # 0x38e76
leaq 0x2cee7(%rip), %rdx     # 0x42a50
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
cmpb $0x1, 0x2c822(%rip)     # 0x4239c
jne 0x15bb5
leaq 0x23345(%rip), %rsi     # 0x38ec8
leaq 0x2d4c6(%rip), %rdx     # 0x43050
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
cmpb $0x1, 0x2c829(%rip)     # 0x423c4
jne 0x15bb5
leaq 0x232d2(%rip), %rsi     # 0x38e76
leaq 0x2d0a5(%rip), %rdx     # 0x42c50
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
cmpb $0x1, 0x2c7d4(%rip)     # 0x42390
jne 0x15c09
leaq 0x23329(%rip), %rax     # 0x38eee
leaq 0x23356(%rip), %rsi     # 0x38f22
cmpb $0x0, 0x2c7f5(%rip)     # 0x423c8
cmovneq %rax, %rsi
leaq 0x2d2f2(%rip), %rdx     # 0x42ed0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
cmpb $0x1, 0x2c7d5(%rip)     # 0x423c4
jne 0x15c09
leaq 0x2327e(%rip), %rsi     # 0x38e76
leaq 0x2ced1(%rip), %rdx     # 0x42ad0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
cmpb $0x1, 0x2c788(%rip)     # 0x42398
jne 0x15c5d
leaq 0x2332f(%rip), %rax     # 0x38f48
leaq 0x2335d(%rip), %rsi     # 0x38f7d
cmpb $0x0, 0x2c7a1(%rip)     # 0x423c8
cmovneq %rax, %rsi
leaq 0x2d39e(%rip), %rdx     # 0x42fd0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
cmpb $0x1, 0x2c781(%rip)     # 0x423c4
jne 0x15c5d
leaq 0x2322a(%rip), %rsi     # 0x38e76
leaq 0x2cf7d(%rip), %rdx     # 0x42bd0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
cmpb $0x1, 0x2c730(%rip)     # 0x42394
jne 0x15cb1
leaq 0x23337(%rip), %rax     # 0x38fa4
leaq 0x23365(%rip), %rsi     # 0x38fd9
cmpb $0x0, 0x2c74d(%rip)     # 0x423c8
cmovneq %rax, %rsi
leaq 0x2d2ca(%rip), %rdx     # 0x42f50
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
cmpb $0x1, 0x2c72d(%rip)     # 0x423c4
jne 0x15cb1
leaq 0x231d6(%rip), %rsi     # 0x38e76
leaq 0x2cea9(%rip), %rdx     # 0x42b50
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
cmpb $0x1, 0x2c6f4(%rip)     # 0x423ac
jne 0x15cfa
leaq 0x2333f(%rip), %rsi     # 0x39000
leaq 0x2e398(%rip), %rdx     # 0x44060
leaq 0x2d701(%rip), %rcx     # 0x433d0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
cmpb $0x1, 0x2c6e4(%rip)     # 0x423c4
jne 0x15cfa
leaq 0x2318d(%rip), %rsi     # 0x38e76
leaq 0x2d0e0(%rip), %rdx     # 0x42dd0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
cmpb $0x1, 0x2c6b7(%rip)     # 0x423b8
jne 0x15d3c
leaq 0x2332d(%rip), %rsi     # 0x39037
leaq 0x2d5bf(%rip), %rdx     # 0x432d0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
cmpb $0x1, 0x2c6a2(%rip)     # 0x423c4
jne 0x15d3c
leaq 0x2314b(%rip), %rsi     # 0x38e76
leaq 0x2cf9e(%rip), %rdx     # 0x42cd0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
cmpb $0x1, 0x2c679(%rip)     # 0x423bc
jne 0x15da1
leaq 0x2331d(%rip), %rsi     # 0x39069
leaq 0x2d5fd(%rip), %rdx     # 0x43350
movq %rbx, %rdi
xorl %eax, %eax
callq 0x21c0
cmpb $0x1, 0x2c660(%rip)     # 0x423c4
jne 0x15da1
leaq 0x23109(%rip), %rsi     # 0x38e76
leaq 0x2cfdc(%rip), %rdx     # 0x42d50
movq %rbx, %rdi
xorl %eax, %eax
popq %rbx
popq %r14
popq %r15
jmp 0x21c0
leaq 0x23313(%rip), %rdi     # 0x3909d
movl $0x17, %esi
movl $0x1, %edx
movq %rbx, %rcx
popq %rbx
popq %r14
popq %r15
jmp 0x22b0
popq %rbx
popq %r14
popq %r15
retq
leaq 0x2266b(%rip), %rdi     # 0x38419
movl $0x19, %esi
jmp 0x1514c
cmpb $0x1, 0x2c59d(%rip)     # 0x4235c
jne 0x1524f
leaq 0x2260e(%rip), %rdi     # 0x383da
movl $0x4, %esi
jmp 0x15242