// File: /workspace/github_c_makefile_star2_O0/dapogon[P]cellcoal/src/cellcoal.c
// Function: PrintFullHaplotypes
static void PrintFullHaplotypes (FILE *fp)
    {
    int		 i, j;
		
	if (doPrintIUPAChaplotypes == NO)
		{
		if (doPrintAncestors == YES && doNGS == NO)
			fprintf (fp,"%d %d\n",2*(numCells+3), numSites);
		else
			fprintf (fp,"%d %d\n",2*(numCells+1), numSites);
		}
	else
		{
		if (doPrintAncestors == YES && doNGS == NO)
			fprintf (fp,"%d %d\n", numCells+3, numSites);
		else
			fprintf (fp,"%d %d\n", numCells+1, numSites);
		}
		
    if (alphabet == DNA)
        {
		if (doPrintIUPAChaplotypes == YES)
			{
			for (i=0; i<numCells+1; i++)
				{
				/* print IUPAC haplotype */
				if (i == numCells)
					fprintf (fp,"%s ", outCellName);
				else
					{
					if (doUserTree == NO)
						fprintf (fp,"%s%04d ", inCellName,i+1);

					else
						fprintf (fp,"%-*s ", stringPrecision, cellNames[i]);
					}
				for (j=0; j<numSites; j++)
					{
					if (doNGS == NO)
						fprintf (fp, "%c", WhichIUPAC(data[MATERNAL][i][j],data[PATERNAL][i][j]));
					else if (cell[i].hasDoublet == NO)
						fprintf (fp, "%c", WhichIUPAC(cell[i].site[j].MLmatAllele, cell[i].site[j].MLpatAllele));
					else
						fprintf (fp, "%c", WhichIUPAC(cell[i].site[j].MLmatAlleleDoublet, cell[i].site[j].MLpatAlleleDoublet));
					}
				fprintf (fp,"\n");
				}

			if (doPrintAncestors == YES && doNGS == NO)
				{
				fprintf (fp,"%s ", outRootCellName);
				for (j=0; j<numSites; j++)
					fprintf (fp, "%c", WhichIUPAC(data[MATERNAL][OUTGROUP_ROOT][j],data[PATERNAL][OUTGROUP_ROOT][j]));
				fprintf (fp,"\n%s ", inRootCellName);
				for (j=0; j<numSites; j++)
					fprintf (fp, "%c", WhichIUPAC(data[MATERNAL][INGROUP_ROOT][j],data[PATERNAL][INGROUP_ROOT][j]));
				fprintf (fp,"\n");
				}
			}
		else // print maternal and paternal DNA haplotypes
			{
			for (i=0; i<numCells+1; i++)
				{
				/* print maternal haplotype */
				if (i == numCells)
					fprintf (fp,"%sm  ", outCellName);
				else
					{
					if (doUserTree == NO)
						fprintf (fp,"%s%04dm  ", inCellName, i+1);

					else
						fprintf (fp,"m%-*s ", stringPrecision, cellNames[i]);
					}
	
				for (j=0; j<numSites; j++)
					{
					if (doNGS == NO)
						fprintf (fp, "%c", WhichNuc(data[MATERNAL][i][j]));
					else if (cell[i].hasDoublet == NO)
						fprintf (fp, "%c", WhichNuc(cell[i].site[j].MLmatAllele));
					else
						fprintf (fp, "%c", WhichNuc(cell[i].site[j].MLmatAlleleDoublet));
					}
				fprintf (fp,"\n");
				
				/* print paternal haplotype */
				if (i == numCells)
					fprintf (fp,"%sp  ", outCellName);
				else
					{
					if (doUserTree == NO)
						fprintf (fp,"%s%04dp  ", inCellName, i+1);
					else
						fprintf (fp,"p%-*s ", stringPrecision, cellNames[i]);
					}

				for (j=0; j<numSites; j++)
					{
					if (doNGS == NO)
						fprintf (fp, "%c", WhichNuc(data[PATERNAL][i][j]));
					else if (cell[i].hasDoublet == NO)
						fprintf (fp, "%c", WhichNuc(cell[i].site[j].MLpatAllele));
					else
						fprintf (fp, "%c", WhichNuc(cell[i].site[j].MLpatAlleleDoublet));
					}
				fprintf (fp,"\n");
				}

			if (doPrintAncestors == YES && doNGS == NO)
				{
				fprintf (fp,"%sm  ", outRootCellName);
				for (j=0; j<numSites; j++)
					fprintf (fp, "%c", WhichNuc(data[MATERNAL][OUTGROUP_ROOT][j]));
				fprintf (fp,"\n%sp  ", outRootCellName);
				for (j=0; j<numSites; j++)
					fprintf (fp, "%c", WhichNuc(data[PATERNAL][OUTGROUP_ROOT][j]));
				fprintf (fp,"\n%sm  ", inRootCellName);
				for (j=0; j<numSites; j++)
					fprintf (fp, "%c", WhichNuc(data[MATERNAL][INGROUP_ROOT][j]));
				fprintf (fp,"\n%sp  ", inRootCellName);
				for (j=0; j<numSites; j++)
					fprintf (fp, "%c", WhichNuc(data[PATERNAL][INGROUP_ROOT][j]));
				fprintf (fp,"\n");
				}
			}
		}
	else  //print binary haplotypes
        {
		if (doPrintIUPAChaplotypes == YES) // print binary consensus haplotypes
			{
			for (i=0; i<numCells+1; i++)
				{
				if (i == numCells)
					fprintf (fp,"%s ", outCellName);
				else
					{
					if (doUserTree == NO)
						fprintf (fp,"%s%04d ", inCellName,i+1);
					else
						fprintf (fp,"%-*s ", stringPrecision, cellNames[i]);
					}
				for (j=0; j<numSites; j++)
					fprintf (fp, "%c", WhichConsensusBinary(data[MATERNAL][i][j],data[PATERNAL][i][j]));
				fprintf (fp,"\n");
				}
			
			if (doPrintAncestors == YES)
				{
				fprintf (fp,"%s ", outRootCellName);
				for (j=0; j<numSites; j++)
					fprintf (fp, "%c", WhichConsensusBinary(data[MATERNAL][OUTGROUP_ROOT][j],data[PATERNAL][OUTGROUP_ROOT][j]));
				fprintf (fp,"\n%s ", inRootCellName);
				for (j=0; j<numSites; j++)
					fprintf (fp, "%c", WhichConsensusBinary(data[MATERNAL][INGROUP_ROOT][j],data[PATERNAL][INGROUP_ROOT][j]));
				fprintf (fp,"\n");
				}
			}
		else // print maternal and paternal binary haplotypes
			{
			for (i=0; i<numCells+1; i++)
				{
				/* print maternal haplotype */
				if (i == numCells)
					fprintf (fp,"%sm  ", outCellName);
				else
					{
					if (doUserTree == NO)
						fprintf (fp,"%s%04dm  ", inCellName, i+1);
					else
						fprintf (fp,"m%-*s ", stringPrecision, cellNames[i]);
					}
				for (j=0; j<numSites; j++)
					fprintf (fp, "%c", WhichMut(data[MATERNAL][i][j]));
				fprintf (fp,"\n");
					
				/* print paternal haplotype */
				if (i == numCells)
					fprintf (fp,"%sp  ", outCellName);
				else
					{
					if (doUserTree == NO)
						fprintf (fp,"%s%04dp  ", inCellName, i+1);
					else
						fprintf (fp,"p%-*s ", stringPrecision, cellNames[i]);
					}
				for (j=0; j<numSites; j++)
					fprintf (fp, "%c", WhichMut(data[PATERNAL][i][j]));
				fprintf (fp,"\n");
				}
			
			if (doPrintAncestors == YES)
				{
				fprintf (fp,"%sm  ", outRootCellName);
				for (j=0; j<numSites; j++)
					fprintf (fp, "%c", WhichMut(data[MATERNAL][OUTGROUP_ROOT][j]));
				fprintf (fp,"\n%sp  ", outRootCellName);
				for (j=0; j<numSites; j++)
					fprintf (fp, "%c", WhichMut(data[PATERNAL][OUTGROUP_ROOT][j]));
				fprintf (fp,"\n%sm  ", inRootCellName);
				for (j=0; j<numSites; j++)
					fprintf (fp, "%c", WhichMut(data[MATERNAL][INGROUP_ROOT][j]));
				fprintf (fp,"\n%sp  ", inRootCellName);
				for (j=0; j<numSites; j++)
					fprintf (fp, "%c", WhichMut(data[PATERNAL][INGROUP_ROOT][j]));
				fprintf (fp,"\n");
				}
			}
        }
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x8(%rbp)
cmpl $0x0, 0x3a622(%rip)     # 0x4e408
jne 0x13e44
cmpl $0x1, 0x3a5f9(%rip)     # 0x4e3e8
jne 0x13e1f
cmpl $0x0, 0x3a5f4(%rip)     # 0x4e3ec
jne 0x13e1f
movq -0x8(%rbp), %rdi
movl 0x3a3d0(%rip), %edx     # 0x4e1d4
addl $0x3, %edx
shll %edx
movl 0x3a3cd(%rip), %ecx     # 0x4e1dc
leaq 0x2e3a2(%rip), %rsi     # 0x421b8
movb $0x0, %al
callq 0x21b0
jmp 0x13e42
movq -0x8(%rbp), %rdi
movl 0x3a3ab(%rip), %edx     # 0x4e1d4
addl $0x1, %edx
shll %edx
movl 0x3a3a8(%rip), %ecx     # 0x4e1dc
leaq 0x2e37d(%rip), %rsi     # 0x421b8
movb $0x0, %al
callq 0x21b0
jmp 0x13e9c
cmpl $0x1, 0x3a59d(%rip)     # 0x4e3e8
jne 0x13e79
cmpl $0x0, 0x3a598(%rip)     # 0x4e3ec
jne 0x13e79
movq -0x8(%rbp), %rdi
movl 0x3a374(%rip), %edx     # 0x4e1d4
addl $0x3, %edx
movl 0x3a373(%rip), %ecx     # 0x4e1dc
leaq 0x2e348(%rip), %rsi     # 0x421b8
movb $0x0, %al
callq 0x21b0
jmp 0x13e9a
movq -0x8(%rbp), %rdi
movl 0x3a351(%rip), %edx     # 0x4e1d4
addl $0x1, %edx
movl 0x3a350(%rip), %ecx     # 0x4e1dc
leaq 0x2e325(%rip), %rsi     # 0x421b8
movb $0x0, %al
callq 0x21b0
jmp 0x13e9c
cmpl $0x1, 0x3a381(%rip)     # 0x4e224
jne 0x147a7
cmpl $0x1, 0x3a558(%rip)     # 0x4e408
jne 0x14232
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
movl 0x3a30e(%rip), %ecx     # 0x4e1d4
addl $0x1, %ecx
cmpl %ecx, %eax
jge 0x140df
movl -0xc(%rbp), %eax
cmpl 0x3a2fa(%rip), %eax     # 0x4e1d4
jne 0x13ef7
movq -0x8(%rbp), %rdi
leaq 0x2eed3(%rip), %rsi     # 0x42dba
leaq 0x3a8c2(%rip), %rdx     # 0x4e7b0
movb $0x0, %al
callq 0x21b0
jmp 0x13f4a
cmpl $0x0, 0x3a4c6(%rip)     # 0x4e3c4
jne 0x13f21
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %ecx
addl $0x1, %ecx
leaq 0x2e2ae(%rip), %rsi     # 0x421bf
leaq 0x3a818(%rip), %rdx     # 0x4e730
movb $0x0, %al
callq 0x21b0
jmp 0x13f48
movq -0x8(%rbp), %rdi
movl 0x3a4c9(%rip), %edx     # 0x4e3f4
movq 0x3b9be(%rip), %rax     # 0x4f8f0
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rcx
leaq 0x2ee8e(%rip), %rsi     # 0x42dcf
movb $0x0, %al
callq 0x21b0
jmp 0x13f4a
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl 0x3a282(%rip), %eax     # 0x4e1dc
jge 0x140bf
cmpl $0x0, 0x3a485(%rip)     # 0x4e3ec
jne 0x13fc3
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq 0x3b828(%rip), %rax     # 0x4f7a0
movq (%rax), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %edi
movq 0x3b80f(%rip), %rax     # 0x4f7a0
movq 0x8(%rax), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x21630
movq -0x18(%rbp), %rdi
movsbl %al, %edx
leaq 0x2e222(%rip), %rsi     # 0x421d9
movb $0x0, %al
callq 0x21b0
jmp 0x140af
movq 0x3b84e(%rip), %rax     # 0x4f818
movslq -0xc(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
cmpl $0x0, 0x8(%rax)
jne 0x14045
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq 0x3b82e(%rip), %rax     # 0x4f818
movslq -0xc(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
movslq -0x10(%rbp), %rcx
shlq $0x7, %rcx
addq %rcx, %rax
movl 0x48(%rax), %edi
movq 0x3b80b(%rip), %rax     # 0x4f818
movslq -0xc(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
movslq -0x10(%rbp), %rcx
shlq $0x7, %rcx
addq %rcx, %rax
movl 0x4c(%rax), %esi
callq 0x21630
movq -0x20(%rbp), %rdi
movsbl %al, %edx
leaq 0x2e19d(%rip), %rsi     # 0x421d9
movb $0x0, %al
callq 0x21b0
jmp 0x140ad
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
movq 0x3b7c4(%rip), %rax     # 0x4f818
movslq -0xc(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
movslq -0x10(%rbp), %rcx
shlq $0x7, %rcx
addq %rcx, %rax
movl 0x78(%rax), %edi
movq 0x3b7a1(%rip), %rax     # 0x4f818
movslq -0xc(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
movslq -0x10(%rbp), %rcx
shlq $0x7, %rcx
addq %rcx, %rax
movl 0x7c(%rax), %esi
callq 0x21630
movq -0x28(%rbp), %rdi
movsbl %al, %edx
leaq 0x2e133(%rip), %rsi     # 0x421d9
movb $0x0, %al
callq 0x21b0
jmp 0x140af
jmp 0x140b1
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x13f51
movq -0x8(%rbp), %rdi
leaq 0x32f6b(%rip), %rsi     # 0x47035
movb $0x0, %al
callq 0x21b0
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x13ebd
cmpl $0x1, 0x3a302(%rip)     # 0x4e3e8
jne 0x1422d
cmpl $0x0, 0x3a2f9(%rip)     # 0x4e3ec
jne 0x1422d
movq -0x8(%rbp), %rdi
leaq 0x2ecb6(%rip), %rsi     # 0x42dba
leaq 0x3a7a5(%rip), %rdx     # 0x4e8b0
movb $0x0, %al
callq 0x21b0
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl 0x3a0ba(%rip), %eax     # 0x4e1dc
jge 0x1418a
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
movq 0x3b66d(%rip), %rax     # 0x4f7a0
movq (%rax), %rax
movslq 0x3b603(%rip), %rcx     # 0x4f740
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %edi
movq 0x3b651(%rip), %rax     # 0x4f7a0
movq 0x8(%rax), %rax
movslq 0x3b5e6(%rip), %rcx     # 0x4f740
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x21630
movq -0x30(%rbp), %rdi
movsbl %al, %edx
leaq 0x2e061(%rip), %rsi     # 0x421d9
movb $0x0, %al
callq 0x21b0
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x14119
movq -0x8(%rbp), %rdi
leaq 0x2ec24(%rip), %rsi     # 0x42db9
leaq 0x3a694(%rip), %rdx     # 0x4e830
movb $0x0, %al
callq 0x21b0
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl 0x3a029(%rip), %eax     # 0x4e1dc
jge 0x1421b
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq 0x3b5dc(%rip), %rax     # 0x4f7a0
movq (%rax), %rax
movslq 0x3b576(%rip), %rcx     # 0x4f744
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %edi
movq 0x3b5c0(%rip), %rax     # 0x4f7a0
movq 0x8(%rax), %rax
movslq 0x3b559(%rip), %rcx     # 0x4f744
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x21630
movq -0x38(%rbp), %rdi
movsbl %al, %edx
leaq 0x2dfd0(%rip), %rsi     # 0x421d9
movb $0x0, %al
callq 0x21b0
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x141aa
movq -0x8(%rbp), %rdi
leaq 0x32e0f(%rip), %rsi     # 0x47035
movb $0x0, %al
callq 0x21b0
jmp 0x147a2
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
movl 0x39f92(%rip), %ecx     # 0x4e1d4
addl $0x1, %ecx
cmpl %ecx, %eax
jge 0x1459c
movl -0xc(%rbp), %eax
cmpl 0x39f7e(%rip), %eax     # 0x4e1d4
jne 0x14273
movq -0x8(%rbp), %rdi
leaq 0x2eb8b(%rip), %rsi     # 0x42dee
leaq 0x3a546(%rip), %rdx     # 0x4e7b0
movb $0x0, %al
callq 0x21b0
jmp 0x142c6
cmpl $0x0, 0x3a14a(%rip)     # 0x4e3c4
jne 0x1429d
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %ecx
addl $0x1, %ecx
leaq 0x2eb37(%rip), %rsi     # 0x42dc4
leaq 0x3a49c(%rip), %rdx     # 0x4e730
movb $0x0, %al
callq 0x21b0
jmp 0x142c4
movq -0x8(%rbp), %rdi
movl 0x3a14d(%rip), %edx     # 0x4e3f4
movq 0x3b642(%rip), %rax     # 0x4f8f0
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rcx
leaq 0x2eb11(%rip), %rsi     # 0x42dce
movb $0x0, %al
callq 0x21b0
jmp 0x142c6
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl 0x39f06(%rip), %eax     # 0x4e1dc
jge 0x143db
cmpl $0x0, 0x3a109(%rip)     # 0x4e3ec
jne 0x14325
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
movq 0x3b4ac(%rip), %rax     # 0x4f7a0
movq (%rax), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %edi
callq 0x18d80
movq -0x40(%rbp), %rdi
movsbl %al, %edx
leaq 0x2dec0(%rip), %rsi     # 0x421d9
movb $0x0, %al
callq 0x21b0
jmp 0x143cb
movq 0x3b4ec(%rip), %rax     # 0x4f818
movslq -0xc(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
cmpl $0x0, 0x8(%rax)
jne 0x14384
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
movq 0x3b4cc(%rip), %rax     # 0x4f818
movslq -0xc(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
movslq -0x10(%rbp), %rcx
shlq $0x7, %rcx
addq %rcx, %rax
movl 0x48(%rax), %edi
callq 0x18d80
movq -0x48(%rbp), %rdi
movsbl %al, %edx
leaq 0x2de5e(%rip), %rsi     # 0x421d9
movb $0x0, %al
callq 0x21b0
jmp 0x143c9
movq -0x8(%rbp), %rax
movq %rax, -0x50(%rbp)
movq 0x3b485(%rip), %rax     # 0x4f818
movslq -0xc(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
movslq -0x10(%rbp), %rcx
shlq $0x7, %rcx
addq %rcx, %rax
movl 0x78(%rax), %edi
callq 0x18d80
movq -0x50(%rbp), %rdi
movsbl %al, %edx
leaq 0x2de17(%rip), %rsi     # 0x421d9
movb $0x0, %al
callq 0x21b0
jmp 0x143cb
jmp 0x143cd
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x142cd
movq -0x8(%rbp), %rdi
leaq 0x32c4f(%rip), %rsi     # 0x47035
movb $0x0, %al
callq 0x21b0
movl -0xc(%rbp), %eax
cmpl 0x39dde(%rip), %eax     # 0x4e1d4
jne 0x14413
movq -0x8(%rbp), %rdi
leaq 0x2e9e4(%rip), %rsi     # 0x42de7
leaq 0x3a3a6(%rip), %rdx     # 0x4e7b0
movb $0x0, %al
callq 0x21b0
jmp 0x14466
cmpl $0x0, 0x39faa(%rip)     # 0x4e3c4
jne 0x1443d
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %ecx
addl $0x1, %ecx
leaq 0x2e9a8(%rip), %rsi     # 0x42dd5
leaq 0x3a2fc(%rip), %rdx     # 0x4e730
movb $0x0, %al
callq 0x21b0
jmp 0x14464
movq -0x8(%rbp), %rdi
movl 0x39fad(%rip), %edx     # 0x4e3f4
movq 0x3b4a2(%rip), %rax     # 0x4f8f0
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rcx
leaq 0x2e982(%rip), %rsi     # 0x42ddf
movb $0x0, %al
callq 0x21b0
jmp 0x14466
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl 0x39d66(%rip), %eax     # 0x4e1dc
jge 0x1457c
cmpl $0x0, 0x39f69(%rip)     # 0x4e3ec
jne 0x144c6
movq -0x8(%rbp), %rax
movq %rax, -0x58(%rbp)
movq 0x3b30c(%rip), %rax     # 0x4f7a0
movq 0x8(%rax), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %edi
callq 0x18d80
movq -0x58(%rbp), %rdi
movsbl %al, %edx
leaq 0x2dd1f(%rip), %rsi     # 0x421d9
movb $0x0, %al
callq 0x21b0
jmp 0x1456c
movq 0x3b34b(%rip), %rax     # 0x4f818
movslq -0xc(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
cmpl $0x0, 0x8(%rax)
jne 0x14525
movq -0x8(%rbp), %rax
movq %rax, -0x60(%rbp)
movq 0x3b32b(%rip), %rax     # 0x4f818
movslq -0xc(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
movslq -0x10(%rbp), %rcx
shlq $0x7, %rcx
addq %rcx, %rax
movl 0x4c(%rax), %edi
callq 0x18d80
movq -0x60(%rbp), %rdi
movsbl %al, %edx
leaq 0x2dcbd(%rip), %rsi     # 0x421d9
movb $0x0, %al
callq 0x21b0
jmp 0x1456a
movq -0x8(%rbp), %rax
movq %rax, -0x68(%rbp)
movq 0x3b2e4(%rip), %rax     # 0x4f818
movslq -0xc(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
movslq -0x10(%rbp), %rcx
shlq $0x7, %rcx
addq %rcx, %rax
movl 0x7c(%rax), %edi
callq 0x18d80
movq -0x68(%rbp), %rdi
movsbl %al, %edx
leaq 0x2dc76(%rip), %rsi     # 0x421d9
movb $0x0, %al
callq 0x21b0
jmp 0x1456c
jmp 0x1456e
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x1446d
movq -0x8(%rbp), %rdi
leaq 0x32aae(%rip), %rsi     # 0x47035
movb $0x0, %al
callq 0x21b0
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x14239
cmpl $0x1, 0x39e45(%rip)     # 0x4e3e8
jne 0x147a0
cmpl $0x0, 0x39e3c(%rip)     # 0x4e3ec
jne 0x147a0
movq -0x8(%rbp), %rdi
leaq 0x2e82d(%rip), %rsi     # 0x42dee
leaq 0x3a2e8(%rip), %rdx     # 0x4e8b0
movb $0x0, %al
callq 0x21b0
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl 0x39bfd(%rip), %eax     # 0x4e1dc
jge 0x1462a
movq -0x8(%rbp), %rax
movq %rax, -0x70(%rbp)
movq 0x3b1b0(%rip), %rax     # 0x4f7a0
movq (%rax), %rax
movslq 0x3b146(%rip), %rcx     # 0x4f740
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %edi
callq 0x18d80
movq -0x70(%rbp), %rdi
movsbl %al, %edx
leaq 0x2dbc1(%rip), %rsi     # 0x421d9
movb $0x0, %al
callq 0x21b0
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x145d6
movq -0x8(%rbp), %rdi
leaq 0x2e7b1(%rip), %rsi     # 0x42de6
leaq 0x3a274(%rip), %rdx     # 0x4e8b0
movb $0x0, %al
callq 0x21b0
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl 0x39b89(%rip), %eax     # 0x4e1dc
jge 0x1469f
movq -0x8(%rbp), %rax
movq %rax, -0x78(%rbp)
movq 0x3b13c(%rip), %rax     # 0x4f7a0
movq 0x8(%rax), %rax
movslq 0x3b0d1(%rip), %rcx     # 0x4f740
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %edi
callq 0x18d80
movq -0x78(%rbp), %rdi
movsbl %al, %edx
leaq 0x2db4c(%rip), %rsi     # 0x421d9
movb $0x0, %al
callq 0x21b0
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x1464a
movq -0x8(%rbp), %rdi
leaq 0x2e743(%rip), %rsi     # 0x42ded
leaq 0x3a17f(%rip), %rdx     # 0x4e830
movb $0x0, %al
callq 0x21b0
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl 0x39b14(%rip), %eax     # 0x4e1dc
jge 0x14713
movq -0x8(%rbp), %rax
movq %rax, -0x80(%rbp)
movq 0x3b0c7(%rip), %rax     # 0x4f7a0
movq (%rax), %rax
movslq 0x3b061(%rip), %rcx     # 0x4f744
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %edi
callq 0x18d80
movq -0x80(%rbp), %rdi
movsbl %al, %edx
leaq 0x2dad8(%rip), %rsi     # 0x421d9
movb $0x0, %al
callq 0x21b0
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x146bf
movq -0x8(%rbp), %rdi
leaq 0x2e6c8(%rip), %rsi     # 0x42de6
leaq 0x3a10b(%rip), %rdx     # 0x4e830
movb $0x0, %al
callq 0x21b0
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl 0x39aa0(%rip), %eax     # 0x4e1dc
jge 0x1478e
movq -0x8(%rbp), %rax
movq %rax, -0x88(%rbp)
movq 0x3b050(%rip), %rax     # 0x4f7a0
movq 0x8(%rax), %rax
movslq 0x3afe9(%rip), %rcx     # 0x4f744
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %edi
callq 0x18d80
movq -0x88(%rbp), %rdi
movsbl %al, %edx
leaq 0x2da5d(%rip), %rsi     # 0x421d9
movb $0x0, %al
callq 0x21b0
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x14733
movq -0x8(%rbp), %rdi
leaq 0x3289c(%rip), %rsi     # 0x47035
movb $0x0, %al
callq 0x21b0
jmp 0x147a2
jmp 0x14e3b
cmpl $0x1, 0x39c5a(%rip)     # 0x4e408
jne 0x14a32
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
movl 0x39a10(%rip), %ecx     # 0x4e1d4
addl $0x1, %ecx
cmpl %ecx, %eax
jge 0x148e0
movl -0xc(%rbp), %eax
cmpl 0x399fc(%rip), %eax     # 0x4e1d4
jne 0x147f5
movq -0x8(%rbp), %rdi
leaq 0x2e5d5(%rip), %rsi     # 0x42dba
leaq 0x39fc4(%rip), %rdx     # 0x4e7b0
movb $0x0, %al
callq 0x21b0
jmp 0x14848
cmpl $0x0, 0x39bc8(%rip)     # 0x4e3c4
jne 0x1481f
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %ecx
addl $0x1, %ecx
leaq 0x2d9b0(%rip), %rsi     # 0x421bf
leaq 0x39f1a(%rip), %rdx     # 0x4e730
movb $0x0, %al
callq 0x21b0
jmp 0x14846
movq -0x8(%rbp), %rdi
movl 0x39bcb(%rip), %edx     # 0x4e3f4
movq 0x3b0c0(%rip), %rax     # 0x4f8f0
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rcx
leaq 0x2e590(%rip), %rsi     # 0x42dcf
movb $0x0, %al
callq 0x21b0
jmp 0x14848
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl 0x39984(%rip), %eax     # 0x4e1dc
jge 0x148c0
movq -0x8(%rbp), %rax
movq %rax, -0x90(%rbp)
movq 0x3af34(%rip), %rax     # 0x4f7a0
movq (%rax), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %edi
movq 0x3af1b(%rip), %rax     # 0x4f7a0
movq 0x8(%rax), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x21f10
movq -0x90(%rbp), %rdi
movsbl %al, %edx
leaq 0x2d92b(%rip), %rsi     # 0x421d9
movb $0x0, %al
callq 0x21b0
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x1484f
movq -0x8(%rbp), %rdi
leaq 0x3276a(%rip), %rsi     # 0x47035
movb $0x0, %al
callq 0x21b0
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x147bb
cmpl $0x1, 0x39b01(%rip)     # 0x4e3e8
jne 0x14a2d
movq -0x8(%rbp), %rdi
leaq 0x2e4c2(%rip), %rsi     # 0x42dba
leaq 0x39fb1(%rip), %rdx     # 0x4e8b0
movb $0x0, %al
callq 0x21b0
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl 0x398c6(%rip), %eax     # 0x4e1dc
jge 0x14984
movq -0x8(%rbp), %rax
movq %rax, -0x98(%rbp)
movq 0x3ae76(%rip), %rax     # 0x4f7a0
movq (%rax), %rax
movslq 0x3ae0c(%rip), %rcx     # 0x4f740
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %edi
movq 0x3ae5a(%rip), %rax     # 0x4f7a0
movq 0x8(%rax), %rax
movslq 0x3adef(%rip), %rcx     # 0x4f740
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x21f10
movq -0x98(%rbp), %rdi
movsbl %al, %edx
leaq 0x2d867(%rip), %rsi     # 0x421d9
movb $0x0, %al
callq 0x21b0
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x1490d
movq -0x8(%rbp), %rdi
leaq 0x2e42a(%rip), %rsi     # 0x42db9
leaq 0x39e9a(%rip), %rdx     # 0x4e830
movb $0x0, %al
callq 0x21b0
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl 0x3982f(%rip), %eax     # 0x4e1dc
jge 0x14a1b
movq -0x8(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq 0x3addf(%rip), %rax     # 0x4f7a0
movq (%rax), %rax
movslq 0x3ad79(%rip), %rcx     # 0x4f744
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %edi
movq 0x3adc3(%rip), %rax     # 0x4f7a0
movq 0x8(%rax), %rax
movslq 0x3ad5c(%rip), %rcx     # 0x4f744
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x21f10
movq -0xa0(%rbp), %rdi
movsbl %al, %edx
leaq 0x2d7d0(%rip), %rsi     # 0x421d9
movb $0x0, %al
callq 0x21b0
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x149a4
movq -0x8(%rbp), %rdi
leaq 0x3260f(%rip), %rsi     # 0x47035
movb $0x0, %al
callq 0x21b0
jmp 0x14e39
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
movl 0x39792(%rip), %ecx     # 0x4e1d4
addl $0x1, %ecx
cmpl %ecx, %eax
jge 0x14c2e
movl -0xc(%rbp), %eax
cmpl 0x3977e(%rip), %eax     # 0x4e1d4
jne 0x14a73
movq -0x8(%rbp), %rdi
leaq 0x2e38b(%rip), %rsi     # 0x42dee
leaq 0x39d46(%rip), %rdx     # 0x4e7b0
movb $0x0, %al
callq 0x21b0
jmp 0x14ac6
cmpl $0x0, 0x3994a(%rip)     # 0x4e3c4
jne 0x14a9d
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %ecx
addl $0x1, %ecx
leaq 0x2e337(%rip), %rsi     # 0x42dc4
leaq 0x39c9c(%rip), %rdx     # 0x4e730
movb $0x0, %al
callq 0x21b0
jmp 0x14ac4
movq -0x8(%rbp), %rdi
movl 0x3994d(%rip), %edx     # 0x4e3f4
movq 0x3ae42(%rip), %rax     # 0x4f8f0
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rcx
leaq 0x2e311(%rip), %rsi     # 0x42dce
movb $0x0, %al
callq 0x21b0
jmp 0x14ac6
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl 0x39706(%rip), %eax     # 0x4e1dc
jge 0x14b24
movq -0x8(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq 0x3acb6(%rip), %rax     # 0x4f7a0
movq (%rax), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %edi
callq 0x21ed0
movq -0xa8(%rbp), %rdi
movsbl %al, %edx
leaq 0x2d6c7(%rip), %rsi     # 0x421d9
movb $0x0, %al
callq 0x21b0
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x14acd
movq -0x8(%rbp), %rdi
leaq 0x32506(%rip), %rsi     # 0x47035
movb $0x0, %al
callq 0x21b0
movl -0xc(%rbp), %eax
cmpl 0x39695(%rip), %eax     # 0x4e1d4
jne 0x14b5c
movq -0x8(%rbp), %rdi
leaq 0x2e29b(%rip), %rsi     # 0x42de7
leaq 0x39c5d(%rip), %rdx     # 0x4e7b0
movb $0x0, %al
callq 0x21b0
jmp 0x14baf
cmpl $0x0, 0x39861(%rip)     # 0x4e3c4
jne 0x14b86
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %ecx
addl $0x1, %ecx
leaq 0x2e25f(%rip), %rsi     # 0x42dd5
leaq 0x39bb3(%rip), %rdx     # 0x4e730
movb $0x0, %al
callq 0x21b0
jmp 0x14bad
movq -0x8(%rbp), %rdi
movl 0x39864(%rip), %edx     # 0x4e3f4
movq 0x3ad59(%rip), %rax     # 0x4f8f0
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rcx
leaq 0x2e239(%rip), %rsi     # 0x42ddf
movb $0x0, %al
callq 0x21b0
jmp 0x14baf
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl 0x3961d(%rip), %eax     # 0x4e1dc
jge 0x14c0e
movq -0x8(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq 0x3abcd(%rip), %rax     # 0x4f7a0
movq 0x8(%rax), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %edi
callq 0x21ed0
movq -0xb0(%rbp), %rdi
movsbl %al, %edx
leaq 0x2d5dd(%rip), %rsi     # 0x421d9
movb $0x0, %al
callq 0x21b0
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x14bb6
movq -0x8(%rbp), %rdi
leaq 0x3241c(%rip), %rsi     # 0x47035
movb $0x0, %al
callq 0x21b0
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x14a39
cmpl $0x1, 0x397b3(%rip)     # 0x4e3e8
jne 0x14e37
movq -0x8(%rbp), %rdi
leaq 0x2e1a8(%rip), %rsi     # 0x42dee
leaq 0x39c63(%rip), %rdx     # 0x4e8b0
movb $0x0, %al
callq 0x21b0
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl 0x39578(%rip), %eax     # 0x4e1dc
jge 0x14cb5
movq -0x8(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq 0x3ab28(%rip), %rax     # 0x4f7a0
movq (%rax), %rax
movslq 0x3aabe(%rip), %rcx     # 0x4f740
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %edi
callq 0x21ed0
movq -0xb8(%rbp), %rdi
movsbl %al, %edx
leaq 0x2d536(%rip), %rsi     # 0x421d9
movb $0x0, %al
callq 0x21b0
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x14c5b
movq -0x8(%rbp), %rdi
leaq 0x2e126(%rip), %rsi     # 0x42de6
leaq 0x39be9(%rip), %rdx     # 0x4e8b0
movb $0x0, %al
callq 0x21b0
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl 0x394fe(%rip), %eax     # 0x4e1dc
jge 0x14d30
movq -0x8(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq 0x3aaae(%rip), %rax     # 0x4f7a0
movq 0x8(%rax), %rax
movslq 0x3aa43(%rip), %rcx     # 0x4f740
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %edi
callq 0x21ed0
movq -0xc0(%rbp), %rdi
movsbl %al, %edx
leaq 0x2d4bb(%rip), %rsi     # 0x421d9
movb $0x0, %al
callq 0x21b0
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x14cd5
movq -0x8(%rbp), %rdi
leaq 0x2e0b2(%rip), %rsi     # 0x42ded
leaq 0x39aee(%rip), %rdx     # 0x4e830
movb $0x0, %al
callq 0x21b0
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl 0x39483(%rip), %eax     # 0x4e1dc
jge 0x14daa
movq -0x8(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq 0x3aa33(%rip), %rax     # 0x4f7a0
movq (%rax), %rax
movslq 0x3a9cd(%rip), %rcx     # 0x4f744
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %edi
callq 0x21ed0
movq -0xc8(%rbp), %rdi
movsbl %al, %edx
leaq 0x2d441(%rip), %rsi     # 0x421d9
movb $0x0, %al
callq 0x21b0
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x14d50
movq -0x8(%rbp), %rdi
leaq 0x2e031(%rip), %rsi     # 0x42de6
leaq 0x39a74(%rip), %rdx     # 0x4e830
movb $0x0, %al
callq 0x21b0
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl 0x39409(%rip), %eax     # 0x4e1dc
jge 0x14e25
movq -0x8(%rbp), %rax
movq %rax, -0xd0(%rbp)
movq 0x3a9b9(%rip), %rax     # 0x4f7a0
movq 0x8(%rax), %rax
movslq 0x3a952(%rip), %rcx     # 0x4f744
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %edi
callq 0x21ed0
movq -0xd0(%rbp), %rdi
movsbl %al, %edx
leaq 0x2d3c6(%rip), %rsi     # 0x421d9
movb $0x0, %al
callq 0x21b0
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x14dca
movq -0x8(%rbp), %rdi
leaq 0x32205(%rip), %rsi     # 0x47035
movb $0x0, %al
callq 0x21b0
jmp 0x14e39
jmp 0x14e3b
addq $0xd0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)