// File: /workspace/github_c_makefile_star2_O0/asford[P]tmalign/./TMalign.h
// Function: output_results(char*, char*, int, int, double*, double (*) [3], double, double, double, double, int*, int*, int, int, double, double, double)
void output_results(char *xname,
					 char *yname,
					 int x_len,
					 int y_len,
					 double t[3],
					 double u[3][3],
					 double TM1,
					 double TM2,
					 double rmsd,
					 double d0_out,
					 int m1[], 
					 int m2[],
					 int n_ali8,
					 int n_ali,
					 double TM_0,
					 double Lnorm_0,
					 double d0_0
					 )
{
    double seq_id;          
    int i, j, k;
    double d;
    int ali_len=x_len+y_len; //maximum length of alignment
	char *seqM, *seqxA, *seqyA;
	seqM=new char[ali_len];
	seqxA=new char[ali_len];
	seqyA=new char[ali_len];
	

	do_rotation(xa, xt, x_len, t, u);

	seq_id=0;
	int kk=0, i_old=0, j_old=0;
	for(k=0; k<n_ali8; k++)
	{
		for(i=i_old; i<m1[k]; i++)
		{
			//align x to gap
			seqxA[kk]=seqx[i];
			seqyA[kk]='-';
			seqM[kk]=' ';					
			kk++;
		}

		for(j=j_old; j<m2[k]; j++)
		{
			//align y to gap
			seqxA[kk]='-';
            seqyA[kk]=seqy[j];
            seqM[kk]=' ';
            kk++;
		}

		seqxA[kk]=seqx[m1[k]];
		seqyA[kk]=seqy[m2[k]];
		if(seqxA[kk]==seqyA[kk])
		{
			seq_id++;
		}
		d=sqrt(dist(&xt[m1[k]][0], &ya[m2[k]][0]));
		if(d<d0_out)
		{
			seqM[kk]=':';
		}
		else
		{
			seqM[kk]='.';
		} 
		kk++;  
		i_old=m1[k]+1;
		j_old=m2[k]+1;
	}

	//tail
	for(i=i_old; i<x_len; i++)
	{
		//align x to gap
		seqxA[kk]=seqx[i];
		seqyA[kk]='-';
		seqM[kk]=' ';					
		kk++;
	}    
	for(j=j_old; j<y_len; j++)
	{
		//align y to gap
		seqxA[kk]='-';
		seqyA[kk]=seqy[j];
		seqM[kk]=' ';
		kk++;
	}
 
    seqxA[kk]='\0';
    seqyA[kk]='\0';
    seqM[kk]='\0';
	

	seq_id=seq_id/( n_ali8+0.00000001); //what did by TMalign, but not reasonable, it should be n_ali8    




 



	
	cout <<endl;	
	cout << " *****************************************************************************" << endl
		 << " * TM-align (Version "<< version <<"): A protein structural alignment algorithm     *" << endl
		 << " * Reference: Y Zhang and J Skolnick, Nucl Acids Res 33, 2302-9 (2005)       *" << endl
		 << " * Please email your comments and suggestions to Yang Zhang (zhng@umich.edu) *" << endl
		 << " *****************************************************************************" << endl;	


	
	printf("\nName of structure A: %s\n", yname); 
	printf("Name of structure B: %s (to be superimposed onto structure A)\n", xname); 
	printf("Length of structure A: %d residues\n", y_len);
	printf("Length of structure B: %d residues\n\n", x_len);

	printf("Aligned length=%d, RMSD=%6.2f, Seq_ID=n_identical/n_aligned=%4.3f\n\n", n_ali8, rmsd, seq_id); 
	
	printf("TM-score=%6.5f (if normalized by length of structure B, i.e., LN=%d, d0=%.2f)\n", TM2, x_len, d0B);
	printf("TM-score=%6.5f (if normalized by length of structure A, i.e., LN=%d, d0=%.2f)\n", TM1, y_len, d0A);
	if(a_opt)
	{
		double L_ave=(x_len+y_len)*0.5;
		printf("TM-score=%6.5f (if normalized by average length of two structures, i.e., LN=%.2f, d0=%.2f)\n", TM3, L_ave, d0a);
	}
	if(u_opt)
	{		
		printf("TM-score=%6.5f (if normalized by user-specified LN=%.2f and d0=%.2f)\n", TM4, Lnorm_ass, d0u);
	}
	if(d_opt)
	{		
		printf("TM-score=%6.5f (if scaled by user-specified d0=%.2f, and LN=%.2f)\n", TM5, d0_scale, Lnorm_0);
	}
	printf("(You should use TM-score normalized by length of the reference protein)\n");

   

    printf("\n----- The rotation matrix to rotate Structure B to Structure A -----\n");
    
    printf("i\t%18s %15s %15s %15s\n", "t[i]", "u[i][0]", "u[i][1]", "u[i][2]");
    for(k=0; k<3; k++)
    {
        printf("%d\t%18.10f %15.10f %15.10f %15.10f\n",\
                k, t[k], u[k][0], u[k][1] ,u[k][2]);
    }
    printf("\nCode for rotating Structure B from (x,y,z) to (X,Y,Z):\n");
    printf("for(k=0; k<L; k++)\n");
    printf("{\n");
    printf("   X[k] = t[0] + u[0][0]*x[k] + u[0][1]*y[k] + u[0][2]*z[k]\n");
    printf("   Y[k] = t[1] + u[1][0]*x[k] + u[1][1]*y[k] + u[1][2]*z[k]\n");
    printf("   Z[k] = t[2] + u[2][0]*x[k] + u[2][1]*y[k] + u[2][2]*z[k]\n");    
    printf("}\n"); 
    
    
    //output structure alignment
    printf("\n(\":\" denotes residue pairs of d < %4.1f Angstrom, ", d0_out);
    printf("\".\" denotes other aligned residues)\n");
    printf("%s\n", seqxA);
    printf("%s\n", seqM);
    printf("%s\n", seqyA);

	cout << endl;




	if(o_opt)
	{
		output_superpose(xname, yname, x_len, y_len, t, u, rmsd, d0_out, m1, m2, n_ali8, seq_id, TM_0, Lnorm_0, d0_0);
	}


	delete [] seqM;
	delete [] seqxA;
	delete [] seqyA;
    
}

// Assembly:
subq $0xe8, %rsp
movl 0x108(%rsp), %eax
movl 0x100(%rsp), %eax
movq 0xf8(%rsp), %rax
movq 0xf0(%rsp), %rax
movq %rdi, 0xe0(%rsp)
movq %rsi, 0xd8(%rsp)
movl %edx, 0xd4(%rsp)
movl %ecx, 0xd0(%rsp)
movq %r8, 0xc8(%rsp)
movq %r9, 0xc0(%rsp)
movsd %xmm0, 0xb8(%rsp)
movsd %xmm1, 0xb0(%rsp)
movsd %xmm2, 0xa8(%rsp)
movsd %xmm3, 0xa0(%rsp)
movsd %xmm4, 0x98(%rsp)
movsd %xmm5, 0x90(%rsp)
movsd %xmm6, 0x88(%rsp)
movl 0xd4(%rsp), %eax
addl 0xd0(%rsp), %eax
movl %eax, 0x64(%rsp)
movslq 0x64(%rsp), %rdi
callq 0x411b60
movq %rax, 0x58(%rsp)
movslq 0x64(%rsp), %rdi
callq 0x411b60
movq %rax, 0x50(%rsp)
movslq 0x64(%rsp), %rdi
callq 0x411b60
movq %rax, 0x48(%rsp)
movq 0x1fc948(%rip), %rdi    # 0x60a5c0
movq 0x1fc971(%rip), %rsi    # 0x60a5f0
movl 0xd4(%rsp), %edx
movq 0xc8(%rsp), %rcx
movq 0xc0(%rsp), %r8
callq 0x4061b0
xorps %xmm0, %xmm0
movsd %xmm0, 0x80(%rsp)
movl $0x0, 0x44(%rsp)
movl $0x0, 0x40(%rsp)
movl $0x0, 0x3c(%rsp)
movl $0x0, 0x74(%rsp)
movl 0x74(%rsp), %eax
cmpl 0x100(%rsp), %eax
jge 0x40df01
movl 0x40(%rsp), %eax
movl %eax, 0x7c(%rsp)
movl 0x7c(%rsp), %eax
movq 0xf0(%rsp), %rcx
movslq 0x74(%rsp), %rdx
cmpl (%rcx,%rdx,4), %eax
jge 0x40dd46
movq 0x1fc8fb(%rip), %rax    # 0x60a5f8
movslq 0x7c(%rsp), %rcx
movb (%rax,%rcx), %dl
movq 0x50(%rsp), %rax
movslq 0x44(%rsp), %rcx
movb %dl, (%rax,%rcx)
movq 0x48(%rsp), %rax
movslq 0x44(%rsp), %rcx
movb $0x2d, (%rax,%rcx)
movq 0x58(%rsp), %rax
movslq 0x44(%rsp), %rcx
movb $0x20, (%rax,%rcx)
movl 0x44(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x44(%rsp)
movl 0x7c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x7c(%rsp)
jmp 0x40dce0
movl 0x3c(%rsp), %eax
movl %eax, 0x78(%rsp)
movl 0x78(%rsp), %eax
movq 0xf8(%rsp), %rcx
movslq 0x74(%rsp), %rdx
cmpl (%rcx,%rdx,4), %eax
jge 0x40ddb4
movq 0x50(%rsp), %rax
movslq 0x44(%rsp), %rcx
movb $0x2d, (%rax,%rcx)
movq 0x1fc887(%rip), %rax    # 0x60a600
movslq 0x78(%rsp), %rcx
movb (%rax,%rcx), %dl
movq 0x48(%rsp), %rax
movslq 0x44(%rsp), %rcx
movb %dl, (%rax,%rcx)
movq 0x58(%rsp), %rax
movslq 0x44(%rsp), %rcx
movb $0x20, (%rax,%rcx)
movl 0x44(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x44(%rsp)
movl 0x78(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x78(%rsp)
jmp 0x40dd4e
movq 0x1fc83d(%rip), %rax    # 0x60a5f8
movq 0xf0(%rsp), %rcx
movslq 0x74(%rsp), %rdx
movslq (%rcx,%rdx,4), %rcx
movb (%rax,%rcx), %dl
movq 0x50(%rsp), %rax
movslq 0x44(%rsp), %rcx
movb %dl, (%rax,%rcx)
movq 0x1fc81d(%rip), %rax    # 0x60a600
movq 0xf8(%rsp), %rcx
movslq 0x74(%rsp), %rdx
movslq (%rcx,%rdx,4), %rcx
movb (%rax,%rcx), %dl
movq 0x48(%rsp), %rax
movslq 0x44(%rsp), %rcx
movb %dl, (%rax,%rcx)
movq 0x50(%rsp), %rax
movslq 0x44(%rsp), %rcx
movsbl (%rax,%rcx), %eax
movq 0x48(%rsp), %rcx
movslq 0x44(%rsp), %rdx
movsbl (%rcx,%rdx), %ecx
cmpl %ecx, %eax
jne 0x40de3e
movsd 0x17e1dc(%rip), %xmm0   # 0x58c008
addsd 0x80(%rsp), %xmm0
movsd %xmm0, 0x80(%rsp)
movq 0x1fc7ab(%rip), %rax    # 0x60a5f0
movq 0xf0(%rsp), %rcx
movslq 0x74(%rsp), %rdx
movslq (%rcx,%rdx,4), %rcx
movq (%rax,%rcx,8), %rdi
movq 0x1fc767(%rip), %rax    # 0x60a5c8
movq 0xf8(%rsp), %rcx
movslq 0x74(%rsp), %rdx
movslq (%rcx,%rdx,4), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x406000
sqrtsd %xmm0, %xmm0
movsd %xmm0, 0x68(%rsp)
movsd 0x68(%rsp), %xmm1
movsd 0xa0(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x40deaa
movq 0x58(%rsp), %rax
movslq 0x44(%rsp), %rcx
movb $0x3a, (%rax,%rcx)
jmp 0x40deb8
movq 0x58(%rsp), %rax
movslq 0x44(%rsp), %rcx
movb $0x2e, (%rax,%rcx)
movl 0x44(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x44(%rsp)
movq 0xf0(%rsp), %rax
movslq 0x74(%rsp), %rcx
movl (%rax,%rcx,4), %eax
addl $0x1, %eax
movl %eax, 0x40(%rsp)
movq 0xf8(%rsp), %rax
movslq 0x74(%rsp), %rcx
movl (%rax,%rcx,4), %eax
addl $0x1, %eax
movl %eax, 0x3c(%rsp)
movl 0x74(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x74(%rsp)
jmp 0x40dcc7
movl 0x40(%rsp), %eax
movl %eax, 0x7c(%rsp)
movl 0x7c(%rsp), %eax
cmpl 0xd4(%rsp), %eax
jge 0x40df66
movq 0x1fc6db(%rip), %rax    # 0x60a5f8
movslq 0x7c(%rsp), %rcx
movb (%rax,%rcx), %dl
movq 0x50(%rsp), %rax
movslq 0x44(%rsp), %rcx
movb %dl, (%rax,%rcx)
movq 0x48(%rsp), %rax
movslq 0x44(%rsp), %rcx
movb $0x2d, (%rax,%rcx)
movq 0x58(%rsp), %rax
movslq 0x44(%rsp), %rcx
movb $0x20, (%rax,%rcx)
movl 0x44(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x44(%rsp)
movl 0x7c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x7c(%rsp)
jmp 0x40df09
movl 0x3c(%rsp), %eax
movl %eax, 0x78(%rsp)
movl 0x78(%rsp), %eax
cmpl 0xd0(%rsp), %eax
jge 0x40dfcb
movq 0x50(%rsp), %rax
movslq 0x44(%rsp), %rcx
movb $0x2d, (%rax,%rcx)
movq 0x1fc670(%rip), %rax    # 0x60a600
movslq 0x78(%rsp), %rcx
movb (%rax,%rcx), %dl
movq 0x48(%rsp), %rax
movslq 0x44(%rsp), %rcx
movb %dl, (%rax,%rcx)
movq 0x58(%rsp), %rax
movslq 0x44(%rsp), %rcx
movb $0x20, (%rax,%rcx)
movl 0x44(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x44(%rsp)
movl 0x78(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x78(%rsp)
jmp 0x40df6e
movq 0x50(%rsp), %rax
movslq 0x44(%rsp), %rcx
movb $0x0, (%rax,%rcx)
movq 0x48(%rsp), %rax
movslq 0x44(%rsp), %rcx
movb $0x0, (%rax,%rcx)
movq 0x58(%rsp), %rax
movslq 0x44(%rsp), %rcx
movb $0x0, (%rax,%rcx)
movsd 0x80(%rsp), %xmm0
cvtsi2sdl 0x100(%rsp), %xmm1
movsd 0x17e001(%rip), %xmm2   # 0x58c010
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x80(%rsp)
movq $0x60dd20, %rdi         # imm = 0x60DD20
movq $0x479750, %rsi         # imm = 0x479750
callq 0x478960
movq $0x60dd20, %rdi         # imm = 0x60DD20
leaq 0x17e39b(%rip), %rsi    # 0x58c3dc
callq 0x479e70
movq %rax, %rdi
movq $0x479750, %rsi         # imm = 0x479750
callq 0x478960
movq %rax, %rdi
leaq 0x17e3cc(%rip), %rsi    # 0x58c42b
callq 0x479e70
movq %rax, %rdi
leaq 0x1fc4e2(%rip), %rsi    # 0x60a550
callq 0x479e70
movq %rax, %rdi
leaq 0x17e3c4(%rip), %rsi    # 0x58c441
callq 0x479e70
movq %rax, %rdi
movq $0x479750, %rsi         # imm = 0x479750
callq 0x478960
movq %rax, %rdi
leaq 0x17e3d8(%rip), %rsi    # 0x58c473
callq 0x479e70
movq %rax, %rdi
movq $0x479750, %rsi         # imm = 0x479750
callq 0x478960
movq %rax, %rdi
leaq 0x17e409(%rip), %rsi    # 0x58c4c2
callq 0x479e70
movq %rax, %rdi
movq $0x479750, %rsi         # imm = 0x479750
callq 0x478960
movq %rax, %rdi
leaq 0x17e305(%rip), %rsi    # 0x58c3dc
callq 0x479e70
movq %rax, %rdi
movq $0x479750, %rsi         # imm = 0x479750
callq 0x478960
movq 0xd8(%rsp), %rsi
leaq 0x17e417(%rip), %rdi    # 0x58c511
movb $0x0, %al
callq 0x4e1d40
movq 0xe0(%rsp), %rsi
leaq 0x17e41b(%rip), %rdi    # 0x58c52b
movb $0x0, %al
callq 0x4e1d40
movl 0xd0(%rsp), %esi
leaq 0x17e445(%rip), %rdi    # 0x58c56a
movb $0x0, %al
callq 0x4e1d40
movl 0xd4(%rsp), %esi
leaq 0x17e454(%rip), %rdi    # 0x58c58e
movb $0x0, %al
callq 0x4e1d40
movl 0x100(%rsp), %esi
movsd 0xa8(%rsp), %xmm0
movsd 0x80(%rsp), %xmm1
leaq 0x17e452(%rip), %rdi    # 0x58c5b3
movb $0x2, %al
callq 0x4e1d40
movsd 0xb0(%rsp), %xmm0
movl 0xd4(%rsp), %esi
movsd 0x1fec50(%rip), %xmm1   # 0x60cdd0
leaq 0x17e470(%rip), %rdi    # 0x58c5f7
movb $0x2, %al
callq 0x4e1d40
movsd 0xb8(%rsp), %xmm0
movl 0xd0(%rsp), %esi
movsd 0x1fec22(%rip), %xmm1   # 0x60cdc8
leaq 0x17e499(%rip), %rdi    # 0x58c646
movb $0x2, %al
callq 0x4e1d40
testb $0x1, 0x1fec2e(%rip)    # 0x60cde9
je 0x40e205
movl 0xd4(%rsp), %eax
addl 0xd0(%rsp), %eax
cvtsi2sd %eax, %xmm0
movsd 0x17de61(%rip), %xmm1   # 0x58c038
mulsd %xmm1, %xmm0
movsd %xmm0, 0x30(%rsp)
movsd 0x1fec07(%rip), %xmm0   # 0x60cdf0
movsd 0x30(%rsp), %xmm1
movsd 0x1febe9(%rip), %xmm2   # 0x60cde0
leaq 0x17e497(%rip), %rdi    # 0x58c695
movb $0x3, %al
callq 0x4e1d40
testb $0x1, 0x1febde(%rip)    # 0x60cdea
je 0x40e234
movsd 0x1febe2(%rip), %xmm0   # 0x60cdf8
movsd 0x1feb92(%rip), %xmm1   # 0x60cdb0
movsd 0x1febb2(%rip), %xmm2   # 0x60cdd8
leaq 0x17e4c4(%rip), %rdi    # 0x58c6f1
movb $0x3, %al
callq 0x4e1d40
testb $0x1, 0x1febb0(%rip)    # 0x60cdeb
je 0x40e264
movsd 0x1febbb(%rip), %xmm0   # 0x60ce00
movsd 0x1feb73(%rip), %xmm1   # 0x60cdc0
movsd 0x90(%rsp), %xmm2
leaq 0x17e4da(%rip), %rdi    # 0x58c737
movb $0x3, %al
callq 0x4e1d40
leaq 0x17e50f(%rip), %rdi    # 0x58c77a
movb $0x0, %al
callq 0x4e1d40
leaq 0x17e54a(%rip), %rdi    # 0x58c7c3
movb $0x0, %al
callq 0x4e1d40
leaq 0x17e583(%rip), %rdi    # 0x58c80a
leaq 0x17e593(%rip), %rsi    # 0x58c821
leaq 0x17e591(%rip), %rdx    # 0x58c826
leaq 0x17e592(%rip), %rcx    # 0x58c82e
leaq 0x17e593(%rip), %r8     # 0x58c836
movb $0x0, %al
callq 0x4e1d40
movl $0x0, 0x74(%rsp)
cmpl $0x3, 0x74(%rsp)
jge 0x40e337
movl 0x74(%rsp), %esi
movq 0xc8(%rsp), %rax
movslq 0x74(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0xc0(%rsp), %rax
movslq 0x74(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd (%rax), %xmm1
movq 0xc0(%rsp), %rax
movslq 0x74(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd 0x8(%rax), %xmm2
movq 0xc0(%rsp), %rax
movslq 0x74(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd 0x10(%rax), %xmm3
leaq 0x17e51e(%rip), %rdi    # 0x58c83e
movb $0x4, %al
callq 0x4e1d40
movl 0x74(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x74(%rsp)
jmp 0x40e2b2
leaq 0x17e524(%rip), %rdi    # 0x58c862
movb $0x0, %al
callq 0x4e1d40
leaq 0x17e54f(%rip), %rdi    # 0x58c89b
movb $0x0, %al
callq 0x4e1d40
leaq 0x17e555(%rip), %rdi    # 0x58c8af
movb $0x0, %al
callq 0x4e1d40
leaq 0x17e54a(%rip), %rdi    # 0x58c8b2
movb $0x0, %al
callq 0x4e1d40
leaq 0x17e579(%rip), %rdi    # 0x58c8ef
movb $0x0, %al
callq 0x4e1d40
leaq 0x17e5a8(%rip), %rdi    # 0x58c92c
movb $0x0, %al
callq 0x4e1d40
leaq 0x17e5d7(%rip), %rdi    # 0x58c969
movb $0x0, %al
callq 0x4e1d40
movsd 0xa0(%rsp), %xmm0
leaq 0x17e5c3(%rip), %rdi    # 0x58c96c
movb $0x1, %al
callq 0x4e1d40
leaq 0x17e5e9(%rip), %rdi    # 0x58c9a0
movb $0x0, %al
callq 0x4e1d40
movq 0x50(%rsp), %rsi
leaq 0x17e15d(%rip), %rdi    # 0x58c527
movb $0x0, %al
callq 0x4e1d40
movq 0x58(%rsp), %rsi
leaq 0x17e14a(%rip), %rdi    # 0x58c527
movb $0x0, %al
callq 0x4e1d40
movq 0x48(%rsp), %rsi
leaq 0x17e137(%rip), %rdi    # 0x58c527
movb $0x0, %al
callq 0x4e1d40
movq $0x60dd20, %rdi         # imm = 0x60DD20
movq $0x479750, %rsi         # imm = 0x479750
callq 0x478960
testb $0x1, 0x1fe9d7(%rip)    # 0x60cde8
je 0x40e4a4
movq 0xe0(%rsp), %rdi
movq 0xd8(%rsp), %rsi
movl 0xd4(%rsp), %edx
movl 0xd0(%rsp), %ecx
movq 0xc8(%rsp), %r8
movq 0xc0(%rsp), %r9
movsd 0xa8(%rsp), %xmm0
movsd 0xa0(%rsp), %xmm1
movq 0xf0(%rsp), %r11
movq 0xf8(%rsp), %r10
movl 0x100(%rsp), %eax
movsd 0x80(%rsp), %xmm2
movsd 0x98(%rsp), %xmm3
movsd 0x90(%rsp), %xmm4
movsd 0x88(%rsp), %xmm5
movq %r11, (%rsp)
movq %r10, 0x8(%rsp)
movl %eax, 0x10(%rsp)
callq 0x40ced0
movq 0x58(%rsp), %rax
movq %rax, 0x28(%rsp)
cmpq $0x0, %rax
je 0x40e4be
movq 0x28(%rsp), %rdi
callq 0x410cc0
movq 0x50(%rsp), %rax
movq %rax, 0x20(%rsp)
cmpq $0x0, %rax
je 0x40e4d8
movq 0x20(%rsp), %rdi
callq 0x410cc0
movq 0x48(%rsp), %rax
movq %rax, 0x18(%rsp)
cmpq $0x0, %rax
je 0x40e4f2
movq 0x18(%rsp), %rdi
callq 0x410cc0
addq $0xe8, %rsp
retq
nopw (%rax,%rax)