// File: /workspace/github_c_makefile_star2_O3/asford[P]tmalign/./TMalign.h
// Function: output_superpose(char*, char*, int, int, double*, double (*) [3], double, double, int*, int*, int, double, double, double, double)
void output_superpose(char *xname,
					  char *yname,
					  int x_len,
					  int y_len,
					  double t[3],
					  double u[3][3],
					  double rmsd,
					  double d0_out,
					  int m1[], 
					  int m2[],
					  int n_ali8,
					  double seq_id,
					  double TM_0,
					  double Lnorm_0,
					  double d0_0
					 )
{
	int i, j, j1;
	double dis2;

	int max=2000;


	//aligned region
	FILE *fp=fopen(out_reg, "w");
	fprintf(fp, "load inline\n");
	fprintf(fp, "select atomno<%d\n", max);
	fprintf(fp, "wireframe .45\n");
	fprintf(fp, "select none\n");
	fprintf(fp, "select atomno>%d\n", max);
	fprintf(fp, "wireframe .20\n");
	fprintf(fp, "color white\n");


	do_rotation(xa, xt, x_len, t, u);
	for(i=0; i<n_ali8; i++)
	{
		j=m1[i];
		j1=m2[i];
		dis2=sqrt(dist(&xt[j][0], &ya[j1][0])) ;
		if(dis2<=d0_out)
		{
			fprintf(fp, "select atomno=%d\n", j+1);
			fprintf(fp, "color red\n");

			fprintf(fp, "select atomno=%d\n", max+j1+1);
			fprintf(fp, "color red\n");
		}
	}

	fprintf(fp, "select all\n");
	fprintf(fp, "exit\n");
	fprintf(fp, "REMARK TM-align Version %s\n", version);
	fprintf(fp, "REMARK Structure A:%s   Size=%d\n", yname, y_len);
	fprintf(fp, "REMARK Structure B:%s   Size=%d\n", xname, x_len);
	fprintf(fp, "REMARK TM-score is normalized by %.2f, d0=%.2f\n",  Lnorm_0, d0_0);
	fprintf(fp, "REMARK Aligned length=%d, RMSD=%.2f, TM-score=%.5f, ID=%.3f\n", n_ali8, rmsd, TM_0, seq_id);


	char AA[3];
	//superposed structure B
	for(i=0; i<n_ali8; i++)
	{
		j=m1[i];
		AAmap3(seqx[j], AA);
		fprintf(fp, "ATOM  %5d  CA  %3s %5d    %8.3f%8.3f%8.3f\n", j+1, AA, xresno[j], xt[j][0], xt[j][1], xt[j][2]);
	}
	fprintf(fp, "TER\n");

	for(i=1; i<n_ali8; i++)
	{
		j=m1[i-1]+1;
		j1=m1[i]+1;
		fprintf(fp, "CONECT%5d%5d\n", j, j1);
	}
	//structure A
	for(i=0; i<n_ali8; i++)
	{
		j=m2[i];
		AAmap3(seqy[j], AA);
		fprintf(fp, "ATOM  %5d  CA  %3s %5d    %8.3f%8.3f%8.3f\n", j+max+1, AA, yresno[j], ya[j][0], ya[j][1], ya[j][2]);
	}
	fprintf(fp, "TER\n");
	for(i=1; i<n_ali8; i++)
	{
		j=max+m2[i-1]+1;
		j1=max+m2[i]+1;
		fprintf(fp, "CONECT%5d%5d\n", j, j1);
	}

	fclose(fp);








	//all regions
	char str[3000];
	sprintf(str, "%s_all", out_reg);
	fp=fopen(str, "w");
	fprintf(fp, "load inline\n");
	fprintf(fp, "select atomno<%d\n", max);
	fprintf(fp, "wireframe .45\n");
	fprintf(fp, "select none\n");
	fprintf(fp, "select atomno>%d\n", max);
	fprintf(fp, "wireframe .20\n");
	fprintf(fp, "color white\n");

	for(i=0; i<n_ali8; i++)
	{
		j=m1[i];
		j1=m2[i];
		dis2=sqrt(dist(&xt[j][0], &ya[j1][0])) ;
		if(dis2<=d0_out)
		{
			fprintf(fp, "select atomno=%d\n", j+1);
			fprintf(fp, "color red\n");

			fprintf(fp, "select atomno=%d\n", max+j1+1);
			fprintf(fp, "color red\n");
		}
	}


	fprintf(fp, "select all\n");
	fprintf(fp, "exit\n");
	fprintf(fp, "REMARK TM-align Version %s\n", version);
	fprintf(fp, "REMARK Structure A:%s   Size=%d\n", yname, y_len);
	fprintf(fp, "REMARK Structure B:%s   Size=%d\n", xname, x_len);
	fprintf(fp, "REMARK TM-score is normalized by %.2f, d0=%.2f\n",  Lnorm_0, d0_0);
	fprintf(fp, "REMARK Aligned length=%d, RMSD=%.2f, TM-score=%.5f, ID=%.3f\n", n_ali8, rmsd, TM_0, seq_id);



	//superposed structure B
	for(i=0; i<x_len; i++)
	{
		j=i;
		AAmap3(seqx[j], AA);
		fprintf(fp, "ATOM  %5d  CA  %3s %5d    %8.3f%8.3f%8.3f\n", j+1, AA, xresno[j], xt[j][0], xt[j][1], xt[j][2]);
	}
	fprintf(fp, "TER\n");

	for(i=1; i<x_len; i++)
	{
		fprintf(fp, "CONECT%5d%5d\n", i, i+1);
	}
	//structure A
	for(i=0; i<y_len; i++)
	{
		j=i;
		AAmap3(seqy[j], AA);
		fprintf(fp, "ATOM  %5d  CA  %3s %5d    %8.3f%8.3f%8.3f\n", j+max+1, AA, yresno[j], ya[j][0], ya[j][1], ya[j][2]);
	}
	fprintf(fp, "TER\n");
	for(i=1; i<y_len; i++)
	{
		fprintf(fp, "CONECT%5d%5d\n", max+i, max+i+1);
	}

	fclose(fp);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xc18, %rsp            # imm = 0xC18
movsd %xmm5, 0x38(%rsp)
movsd %xmm4, 0x30(%rsp)
movsd %xmm3, 0x48(%rsp)
movsd %xmm2, 0x50(%rsp)
movsd %xmm1, 0x58(%rsp)
movsd %xmm0, 0x40(%rsp)
movq %r9, 0x18(%rsp)
movq %r8, %r12
movq %rcx, 0x10(%rsp)
movl %edx, %ebx
movq %rsi, 0x20(%rsp)
movq %rdi, 0x28(%rsp)
leaq 0x1f8cc2(%rip), %rdi    # 0x6026a0
leaq 0x17f384(%rip), %rsi    # 0x588d69
callq 0x4e8710
movq %rax, %r13
leaq 0x17a87c(%rip), %rdi    # 0x584270
movl $0xc, %esi
movl $0x1, %edx
movq %rax, %rcx
callq 0x4e8a40
leaq 0x17a870(%rip), %rsi    # 0x58427d
movq %r13, %rdi
movl $0x7d0, %edx            # imm = 0x7D0
xorl %eax, %eax
callq 0x4d99f0
leaq 0x17a86c(%rip), %rdi    # 0x58428f
movl $0xe, %esi
movl $0x1, %edx
movq %r13, %rcx
callq 0x4e8a40
leaq 0x17a862(%rip), %rdi    # 0x58429e
movl $0xc, %esi
movl $0x1, %edx
movq %r13, %rcx
callq 0x4e8a40
leaq 0x17a856(%rip), %rsi    # 0x5842ab
movq %r13, %rdi
movl $0x7d0, %edx            # imm = 0x7D0
xorl %eax, %eax
callq 0x4d99f0
leaq 0x17a852(%rip), %rdi    # 0x5842bd
movl $0xe, %esi
movl $0x1, %edx
movq %r13, %rcx
callq 0x4e8a40
leaq 0x17a848(%rip), %rdi    # 0x5842cc
movl $0xc, %esi
movl $0x1, %edx
movq %r13, %rcx
callq 0x4e8a40
movl %ebx, %r15d
movl %ebx, 0x8(%rsp)
testl %ebx, %ebx
jle 0x409ace
movq 0x1f8b18(%rip), %rbx    # 0x6025c0
movq 0x1f8b41(%rip), %r14    # 0x6025f0
xorl %ebp, %ebp
movq (%rbx,%rbp,8), %rdx
movq (%r14,%rbp,8), %rcx
movq %r12, %rdi
movq 0x18(%rsp), %rsi
callq 0x4058ff
incq %rbp
cmpq %rbp, %r15
jne 0x409ab1
movq %r15, 0x18(%rsp)
movq 0xc58(%rsp), %r8
movq 0xc50(%rsp), %r9
movl 0xc60(%rsp), %r12d
movl %r12d, %ebp
testl %r12d, %r12d
jle 0x409d84
movq 0x1f8af2(%rip), %rax    # 0x6025f0
movq 0x1f8ac3(%rip), %rcx    # 0x6025c8
leaq 0x17a7cd(%rip), %r15    # 0x5842d9
leaq 0x17a7d8(%rip), %r12    # 0x5842eb
xorl %ebx, %ebx
movslq (%r9,%rbx,4), %rdx
movslq (%r8,%rbx,4), %r14
movq (%rax,%rdx,8), %rsi
movq (%rcx,%r14,8), %rdi
movsd (%rsi), %xmm0
subsd (%rdi), %xmm0
mulsd %xmm0, %xmm0
movupd 0x8(%rsi), %xmm1
movupd 0x8(%rdi), %xmm2
subpd %xmm2, %xmm1
mulpd %xmm1, %xmm1
addsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
xorps %xmm0, %xmm0
sqrtsd %xmm1, %xmm0
ucomisd 0x58(%rsp), %xmm0
ja 0x409bcc
incl %edx
movq %r13, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x4d99f0
movl $0xa, %esi
movl $0x1, %edx
movq %r12, %rdi
movq %r13, %rcx
callq 0x4e8a40
addl $0x7d1, %r14d           # imm = 0x7D1
movq %r13, %rdi
movq %r15, %rsi
movl %r14d, %edx
xorl %eax, %eax
callq 0x4d99f0
movl $0xa, %esi
movl $0x1, %edx
movq %r12, %rdi
movq %r13, %rcx
callq 0x4e8a40
movq 0xc50(%rsp), %r9
movq 0xc58(%rsp), %r8
movq 0x1f8a2b(%rip), %rax    # 0x6025f0
movq 0x1f89fc(%rip), %rcx    # 0x6025c8
incq %rbx
cmpq %rbx, %rbp
jne 0x409b15
leaq 0x17a717(%rip), %rdi    # 0x5842f6
movl $0xb, %esi
movl $0x1, %edx
movq %r13, %rcx
callq 0x4e8a40
leaq 0x17a70a(%rip), %rdi    # 0x584302
movl $0x5, %esi
movl $0x1, %edx
movq %r13, %rcx
callq 0x4e8a40
leaq 0x17a6f7(%rip), %rsi    # 0x584308
leaq 0x1f8938(%rip), %rdx    # 0x602550
movq %r13, %rdi
xorl %eax, %eax
callq 0x4d99f0
leaq 0x17a6fb(%rip), %rsi    # 0x584324
movq %r13, %rdi
movq 0x20(%rsp), %rdx
movq 0x10(%rsp), %rcx
xorl %eax, %eax
callq 0x4d99f0
leaq 0x17a701(%rip), %rsi    # 0x584345
movq %r13, %rdi
movq 0x28(%rsp), %rdx
movl 0x8(%rsp), %ecx
xorl %eax, %eax
callq 0x4d99f0
leaq 0x17a708(%rip), %rsi    # 0x584366
movq %r13, %rdi
movsd 0x30(%rsp), %xmm0
movsd 0x38(%rsp), %xmm1
movb $0x2, %al
callq 0x4d99f0
leaq 0x17a71b(%rip), %rsi    # 0x584396
movq %r13, %rdi
movl 0xc60(%rsp), %r12d
movl %r12d, %edx
movsd 0x40(%rsp), %xmm0
movsd 0x48(%rsp), %xmm1
movsd 0x50(%rsp), %xmm2
movb $0x3, %al
callq 0x4d99f0
testl %r12d, %r12d
jle 0x409e46
xorl %ebx, %ebx
leaq 0x5(%rsp), %r14
movq 0xc50(%rsp), %r15
movslq (%r15,%rbx,4), %r12
movq 0x1f8933(%rip), %rax    # 0x6025f8
movsbl (%rax,%r12), %edi
movq %r14, %rsi
callq 0x40497a
leal 0x1(%r12), %edx
movq 0x1f88f2(%rip), %rax    # 0x6025d0
movl (%rax,%r12,4), %r8d
movq 0x1f8907(%rip), %rax    # 0x6025f0
movq (%rax,%r12,8), %rax
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
movsd 0x10(%rax), %xmm2
movq %r13, %rdi
leaq 0x17a6ce(%rip), %rsi    # 0x5843d3
movq %r14, %rcx
movb $0x3, %al
callq 0x4d99f0
incq %rbx
cmpq %rbx, %rbp
jne 0x409cba
leaq 0x17a6e0(%rip), %rdi    # 0x5843fe
movl $0x1, %ebx
movl $0x4, %esi
movl $0x1, %edx
movq %r13, %rcx
callq 0x4e8a40
movl 0xc60(%rsp), %r15d
cmpl $0x1, %r15d
setne %al
je 0x409e7c
movl %eax, 0xc(%rsp)
leaq 0x17a6ae(%rip), %r14    # 0x584403
movq 0xc50(%rsp), %r12
movl -0x4(%r12,%rbx,4), %edx
movl (%r12,%rbx,4), %ecx
incl %edx
incl %ecx
movq %r13, %rdi
movq %r14, %rsi
xorl %eax, %eax
callq 0x4d99f0
incq %rbx
cmpq %rbx, %rbp
jne 0x409d5d
jmp 0x409e84
leaq 0x17a56b(%rip), %rdi    # 0x5842f6
movl $0xb, %esi
movl $0x1, %edx
movq %r13, %rcx
callq 0x4e8a40
leaq 0x17a55e(%rip), %rdi    # 0x584302
movl $0x5, %esi
movl $0x1, %edx
movq %r13, %rcx
callq 0x4e8a40
leaq 0x17a54b(%rip), %rsi    # 0x584308
leaq 0x1f878c(%rip), %rdx    # 0x602550
movq %r13, %rdi
xorl %eax, %eax
callq 0x4d99f0
leaq 0x17a54f(%rip), %rsi    # 0x584324
movq %r13, %rdi
movq 0x20(%rsp), %rdx
movq 0x10(%rsp), %rcx
xorl %eax, %eax
callq 0x4d99f0
leaq 0x17a555(%rip), %rsi    # 0x584345
movq %r13, %rdi
movq 0x28(%rsp), %rdx
movl 0x8(%rsp), %ecx
xorl %eax, %eax
callq 0x4d99f0
leaq 0x17a55c(%rip), %rsi    # 0x584366
movq %r13, %rdi
movsd 0x30(%rsp), %xmm0
movsd 0x38(%rsp), %xmm1
movb $0x2, %al
callq 0x4d99f0
leaq 0x17a56f(%rip), %rsi    # 0x584396
movq %r13, %rdi
movl %r12d, %edx
movsd 0x40(%rsp), %xmm0
movsd 0x48(%rsp), %xmm1
movsd 0x50(%rsp), %xmm2
movb $0x3, %al
callq 0x4d99f0
leaq 0x17a5b1(%rip), %r14    # 0x5843fe
movl $0x4, %esi
movl $0x1, %edx
movq %r14, %rdi
movq %r13, %rcx
callq 0x4e8a40
movl $0x4, %esi
movl $0x1, %edx
movq %r14, %rdi
movq %r13, %rcx
callq 0x4e8a40
jmp 0x409f5f
movl $0x0, 0xc(%rsp)
testl %r15d, %r15d
jle 0x409efb
xorl %ebx, %ebx
leaq 0x5(%rsp), %r14
leaq 0x17a53c(%rip), %r15    # 0x5843d3
movq 0xc58(%rsp), %rax
movslq (%rax,%rbx,4), %r12
movq 0x1f8756(%rip), %rax    # 0x602600
movsbl (%rax,%r12), %edi
movq %r14, %rsi
callq 0x40497a
leal 0x7d1(%r12), %edx
movq 0x1f8712(%rip), %rax    # 0x6025d8
movl (%rax,%r12,4), %r8d
movq 0x1f86f7(%rip), %rax    # 0x6025c8
movq (%rax,%r12,8), %rax
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
movsd 0x10(%rax), %xmm2
movq %r13, %rdi
movq %r15, %rsi
movq %r14, %rcx
movb $0x3, %al
callq 0x4d99f0
incq %rbx
cmpq %rbx, %rbp
jne 0x409e97
leaq 0x17a4fc(%rip), %rdi    # 0x5843fe
movl $0x1, %ebx
movl $0x4, %esi
movl $0x1, %edx
movq %r13, %rcx
callq 0x4e8a40
cmpb $0x0, 0xc(%rsp)
movl 0xc60(%rsp), %r12d
je 0x409f5f
movl $0x7d1, %r15d           # imm = 0x7D1
leaq 0x17a4ce(%rip), %r14    # 0x584403
movq 0xc58(%rsp), %rax
movl -0x4(%rax,%rbx,4), %edx
addl %r15d, %edx
movl (%rax,%rbx,4), %ecx
addl %r15d, %ecx
movq %r13, %rdi
movq %r14, %rsi
xorl %eax, %eax
callq 0x4d99f0
incq %rbx
cmpq %rbx, %rbp
jne 0x409f35
movq %r13, %rdi
callq 0x4e7fe0
leaq 0x17a4a3(%rip), %rsi    # 0x584411
leaq 0x1f872b(%rip), %rdx    # 0x6026a0
leaq 0x60(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x4d9b80
leaq 0x17edde(%rip), %rsi    # 0x588d69
movq %r14, %rdi
callq 0x4e8710
movq %rax, %r13
leaq 0x17a2d3(%rip), %rdi    # 0x584270
movl $0xc, %esi
movl $0x1, %edx
movq %rax, %rcx
callq 0x4e8a40
leaq 0x17a2c7(%rip), %rsi    # 0x58427d
movq %r13, %rdi
movl $0x7d0, %edx            # imm = 0x7D0
xorl %eax, %eax
callq 0x4d99f0
leaq 0x17a2c3(%rip), %rdi    # 0x58428f
movl $0xe, %esi
movl $0x1, %edx
movq %r13, %rcx
callq 0x4e8a40
leaq 0x17a2b9(%rip), %rdi    # 0x58429e
movl $0xc, %esi
movl $0x1, %edx
movq %r13, %rcx
callq 0x4e8a40
leaq 0x17a2ad(%rip), %rsi    # 0x5842ab
movq %r13, %rdi
movl $0x7d0, %edx            # imm = 0x7D0
xorl %eax, %eax
callq 0x4d99f0
leaq 0x17a2a9(%rip), %rdi    # 0x5842bd
movl $0xe, %esi
movl $0x1, %edx
movq %r13, %rcx
callq 0x4e8a40
leaq 0x17a29f(%rip), %rdi    # 0x5842cc
movl $0xc, %esi
movl $0x1, %edx
movq %r13, %rcx
callq 0x4e8a40
testl %r12d, %r12d
movq 0xc58(%rsp), %r8
movq 0xc50(%rsp), %r9
jle 0x40a139
movq 0x1f8591(%rip), %rax    # 0x6025f0
movq 0x1f8562(%rip), %rcx    # 0x6025c8
leaq 0x17a26c(%rip), %r15    # 0x5842d9
leaq 0x17a277(%rip), %r12    # 0x5842eb
xorl %ebx, %ebx
movslq (%r9,%rbx,4), %rdx
movslq (%r8,%rbx,4), %r14
movq (%rax,%rdx,8), %rsi
movq (%rcx,%r14,8), %rdi
movsd (%rsi), %xmm0
subsd (%rdi), %xmm0
mulsd %xmm0, %xmm0
movupd 0x8(%rsi), %xmm1
movupd 0x8(%rdi), %xmm2
subpd %xmm2, %xmm1
mulpd %xmm1, %xmm1
addsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
xorps %xmm0, %xmm0
sqrtsd %xmm1, %xmm0
ucomisd 0x58(%rsp), %xmm0
ja 0x40a12d
incl %edx
movq %r13, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x4d99f0
movl $0xa, %esi
movl $0x1, %edx
movq %r12, %rdi
movq %r13, %rcx
callq 0x4e8a40
addl $0x7d1, %r14d           # imm = 0x7D1
movq %r13, %rdi
movq %r15, %rsi
movl %r14d, %edx
xorl %eax, %eax
callq 0x4d99f0
movl $0xa, %esi
movl $0x1, %edx
movq %r12, %rdi
movq %r13, %rcx
callq 0x4e8a40
movq 0xc50(%rsp), %r9
movq 0xc58(%rsp), %r8
movq 0x1f84ca(%rip), %rax    # 0x6025f0
movq 0x1f849b(%rip), %rcx    # 0x6025c8
incq %rbx
cmpq %rbx, %rbp
jne 0x40a076
leaq 0x17a1b6(%rip), %rdi    # 0x5842f6
movl $0xb, %esi
movl $0x1, %edx
movq %r13, %rcx
callq 0x4e8a40
leaq 0x17a1a9(%rip), %rdi    # 0x584302
movl $0x5, %esi
movl $0x1, %edx
movq %r13, %rcx
callq 0x4e8a40
leaq 0x17a196(%rip), %rsi    # 0x584308
leaq 0x1f83d7(%rip), %rdx    # 0x602550
movq %r13, %rdi
xorl %eax, %eax
callq 0x4d99f0
leaq 0x17a19a(%rip), %rsi    # 0x584324
movq %r13, %rdi
movq 0x20(%rsp), %rdx
movq 0x10(%rsp), %rcx
xorl %eax, %eax
callq 0x4d99f0
leaq 0x17a1a0(%rip), %rsi    # 0x584345
movq %r13, %rdi
movq 0x28(%rsp), %rdx
movl 0x8(%rsp), %ebx
movl %ebx, %ecx
xorl %eax, %eax
callq 0x4d99f0
leaq 0x17a1a5(%rip), %rsi    # 0x584366
movq %r13, %rdi
movsd 0x30(%rsp), %xmm0
movsd 0x38(%rsp), %xmm1
movb $0x2, %al
callq 0x4d99f0
leaq 0x17a1b8(%rip), %rsi    # 0x584396
movq %r13, %rdi
movl 0xc60(%rsp), %edx
movsd 0x40(%rsp), %xmm0
movsd 0x48(%rsp), %xmm1
movsd 0x50(%rsp), %xmm2
movb $0x3, %al
callq 0x4d99f0
testl %ebx, %ebx
jle 0x40a2ba
xorl %ebx, %ebx
leaq 0x5(%rsp), %r14
leaq 0x17a1bc(%rip), %r15    # 0x5843d3
movq 0x18(%rsp), %rbp
movq 0x1f83d5(%rip), %rax    # 0x6025f8
movsbl (%rax,%rbx), %edi
movq %r14, %rsi
callq 0x40497a
leaq 0x1(%rbx), %r12
movq 0x1f8396(%rip), %rax    # 0x6025d0
movl (%rax,%rbx,4), %r8d
movq 0x1f83ab(%rip), %rax    # 0x6025f0
movq (%rax,%rbx,8), %rax
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
movsd 0x10(%rax), %xmm2
movq %r13, %rdi
movq %r15, %rsi
movl %r12d, %edx
movq %r14, %rcx
movb $0x3, %al
callq 0x4d99f0
movq %r12, %rbx
cmpq %r12, %rbp
jne 0x40a21c
leaq 0x17a185(%rip), %rdi    # 0x5843fe
movl $0x4, %esi
movl $0x1, %edx
movq %r13, %rcx
callq 0x4e8a40
cmpl $0x1, 0x8(%rsp)
je 0x40a2d3
movl $0x1, %edx
leaq 0x17a165(%rip), %r14    # 0x584403
leal 0x1(%rdx), %ebp
movq %r13, %rdi
movq %r14, %rsi
movl %ebp, %ecx
xorl %eax, %eax
callq 0x4d99f0
movl %ebp, %edx
cmpl %ebp, 0x18(%rsp)
jne 0x40a29e
jmp 0x40a2d3
leaq 0x17a13d(%rip), %rdi    # 0x5843fe
movl $0x4, %esi
movl $0x1, %edx
movq %r13, %rcx
callq 0x4e8a40
movq 0x10(%rsp), %rbp
testl %ebp, %ebp
jle 0x40a3a1
movl %ebp, %ebx
xorl %r12d, %r12d
leaq 0x5(%rsp), %r14
leaq 0x17a0e2(%rip), %r15    # 0x5843d3
movq 0x1f8308(%rip), %rax    # 0x602600
movsbl (%rax,%r12), %edi
movq %r14, %rsi
callq 0x40497a
movq 0x1f82cc(%rip), %rax    # 0x6025d8
movl (%rax,%r12,4), %r8d
movq 0x1f82b1(%rip), %rax    # 0x6025c8
movq (%rax,%r12,8), %rax
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
movsd 0x10(%rax), %xmm2
leal 0x7d1(%r12), %edx
movq %r13, %rdi
movq %r15, %rsi
movq %r14, %rcx
movb $0x3, %al
callq 0x4d99f0
incq %r12
cmpq %r12, %rbx
jne 0x40a2f1
leaq 0x17a0ae(%rip), %rdi    # 0x5843fe
movl $0x4, %esi
movl $0x1, %edx
movq %r13, %rcx
callq 0x4e8a40
cmpl $0x1, %ebx
je 0x40a3ba
negl %ebp
movl $0x7d2, %r15d           # imm = 0x7D2
leaq 0x17a08d(%rip), %r14    # 0x584403
leal -0x1(%r15), %edx
movq %r13, %rdi
movq %r14, %rsi
movl %r15d, %ecx
xorl %eax, %eax
callq 0x4d99f0
leal (%r15,%rbp), %eax
incl %eax
movl %r15d, %ecx
incl %ecx
movl %ecx, %r15d
cmpl $0x7d1, %eax            # imm = 0x7D1
jne 0x40a376
jmp 0x40a3ba
leaq 0x17a056(%rip), %rdi    # 0x5843fe
movl $0x4, %esi
movl $0x1, %edx
movq %r13, %rcx
callq 0x4e8a40
movq %r13, %rdi
callq 0x4e7fe0
addq $0xc18, %rsp            # imm = 0xC18
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq