// File: WeiqiangZhou[P]BIRD/source/create_library_function.cpp
// Function: ReadParam(char*, int*, char**)
int ReadParam(char *infile, int *parameter, char **filename)
{
	FILE * p_in;
	char par_name[255];
	int temp_int;
	char temp_char[255];
	p_in = fopen(infile, "r");
	if (p_in != NULL)
	{
		std::cout << "Reading " << infile << "..." << std::endl;
		while (!feof(p_in) && fscanf(p_in, "%s", par_name) == 1)
		{
			if (strcmp(par_name, "NumLoci") == 0)
			{
				fscanf(p_in, "%d", &temp_int);
				parameter[0] = temp_int;
				std::cout << "NumLoci=" << temp_int << std::endl;
			}
			else if (strcmp(par_name, "NumGene") == 0)
			{
				fscanf(p_in, "%d", &temp_int);
				parameter[1] = temp_int;
				std::cout << "NumGene=" << temp_int << std::endl;
			}
			else if (strcmp(par_name, "NumCluster") == 0)
			{
				fscanf(p_in, "%d", &temp_int);
				parameter[2] = temp_int;
				std::cout << "NumCluster=" << temp_int << std::endl;
			}
			else if (strcmp(par_name, "NumBin") == 0)
			{
				fscanf(p_in, "%d", &temp_int);
				parameter[3] = temp_int;
				std::cout << "NumBin=" << temp_int << std::endl;
			}
			else if (strcmp(par_name, "NumVar") == 0)
			{
				fscanf(p_in, "%d", &temp_int);
				parameter[4] = temp_int;
				std::cout << "NumVar=" << temp_int << std::endl;
			}
			else if (strcmp(par_name, "DHCluterNum1") == 0)
			{
				fscanf(p_in, "%d", &temp_int);
				parameter[5] = temp_int;
				std::cout << "DHCluterNum1=" << temp_int << std::endl;
			}
			else if (strcmp(par_name, "DHCluterNum2") == 0)
			{
				fscanf(p_in, "%d", &temp_int);
				parameter[6] = temp_int;
				std::cout << "DHCluterNum2=" << temp_int << std::endl;
			}
			else if (strcmp(par_name, "DHCluterNum3") == 0)
			{
				fscanf(p_in, "%d", &temp_int);
				parameter[7] = temp_int;
				std::cout << "DHCluterNum3=" << temp_int << std::endl;
			}
			else if (strcmp(par_name, "GeneQuantile") == 0)
			{
				fscanf(p_in, "%s", temp_char);
				strcpy(filename[0], temp_char);
			}
			else if (strcmp(par_name, "GeneMean") == 0)
			{
				fscanf(p_in, "%s", temp_char);
				strcpy(filename[1], temp_char);
			}
			else if (strcmp(par_name, "GeneSD") == 0)
			{
				fscanf(p_in, "%s", temp_char);
				strcpy(filename[2], temp_char);
			}
			else if (strcmp(par_name, "ClusterIndex") == 0)
			{
				fscanf(p_in, "%s", temp_char);
				strcpy(filename[3], temp_char);
			}
			else if (strcmp(par_name, "DNaseMean") == 0)
			{
				fscanf(p_in, "%s", temp_char);
				strcpy(filename[4], temp_char);
			}
			else if (strcmp(par_name, "DNaseSD") == 0)
			{
				fscanf(p_in, "%s", temp_char);
				strcpy(filename[5], temp_char);
			}
			else if (strcmp(par_name, "RegressionCoef") == 0)
			{
				fscanf(p_in, "%s", temp_char);
				strcpy(filename[6], temp_char);
			}
			else if (strcmp(par_name, "RegressionPredictor") == 0)
			{
				fscanf(p_in, "%s", temp_char);
				strcpy(filename[7], temp_char);
			}
			else if (strcmp(par_name, "GenomicLoci") == 0)
			{
				fscanf(p_in, "%s", temp_char);
				strcpy(filename[8], temp_char);
			}
			else if (strcmp(par_name, "GeneName") == 0)
			{
				fscanf(p_in, "%s", temp_char);
				strcpy(filename[9], temp_char);
			}
			else if (strcmp(par_name, "DistanceMatrix") == 0)
			{
				fscanf(p_in, "%s", temp_char);
				strcpy(filename[10], temp_char);
			}
			else if (strcmp(par_name, "DHCluster") == 0)
			{
				fscanf(p_in, "%s", temp_char);
				strcpy(filename[11], temp_char);
			}
			else if (strcmp(par_name, "DHClusterCoef1") == 0)
			{
				fscanf(p_in, "%s", temp_char);
				strcpy(filename[12], temp_char);
			}
			else if (strcmp(par_name, "DHClusterCoef2") == 0)
			{
				fscanf(p_in, "%s", temp_char);
				strcpy(filename[13], temp_char);
			}
			else if (strcmp(par_name, "DHClusterCoef3") == 0)
			{
				fscanf(p_in, "%s", temp_char);
				strcpy(filename[14], temp_char);
			}
			else if (strcmp(par_name, "DHClusterPredictor1") == 0)
			{
				fscanf(p_in, "%s", temp_char);
				strcpy(filename[15], temp_char);
			}
			else if (strcmp(par_name, "DHClusterPredictor2") == 0)
			{
				fscanf(p_in, "%s", temp_char);
				strcpy(filename[16], temp_char);
			}
			else if (strcmp(par_name, "DHClusterPredictor3") == 0)
			{
				fscanf(p_in, "%s", temp_char);
				strcpy(filename[17], temp_char);
			}
			else
			{
				break;
			}
		}

	}
	else
	{
		std::cout << "Error! File "<<infile<< " not found!" << std::endl;
		return 1;
	}

	std::cout << "Sucessfully read in parameter file." << std::endl;
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x250, %rsp            # imm = 0x250
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rdi
leaq 0x2815(%rip), %rsi      # 0x63e7
callq 0x2120
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x4574
movq 0x43eb(%rip), %rdi      # 0x7fd8
leaq 0x2797(%rip), %rsi      # 0x638b
callq 0x20f0
movq %rax, %rdi
movq -0x10(%rbp), %rsi
callq 0x20f0
movq %rax, %rdi
leaq 0x273e(%rip), %rsi      # 0x634d
callq 0x20f0
movq %rax, %rdi
movq 0x43aa(%rip), %rsi      # 0x7fc8
callq 0x2110
movq -0x28(%rbp), %rdi
callq 0x2190
movl %eax, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x241(%rbp)
jne 0x3c60
movq -0x28(%rbp), %rdi
leaq -0x130(%rbp), %rdx
leaq 0x2747(%rip), %rsi      # 0x6394
movb $0x0, %al
callq 0x2210
cmpl $0x1, %eax
sete %al
movb %al, -0x241(%rbp)
movb -0x241(%rbp), %al
testb $0x1, %al
jne 0x3c6f
jmp 0x4572
leaq -0x130(%rbp), %rdi
leaq 0x271a(%rip), %rsi      # 0x6397
callq 0x2170
cmpl $0x0, %eax
jne 0x3ce1
movq -0x28(%rbp), %rdi
leaq 0x270d(%rip), %rsi      # 0x639f
leaq -0x134(%rbp), %rdx
movb $0x0, %al
callq 0x2210
movl -0x134(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
movq 0x4325(%rip), %rdi      # 0x7fd8
leaq 0x26e8(%rip), %rsi      # 0x63a2
callq 0x20f0
movq %rax, %rdi
movl -0x134(%rbp), %esi
callq 0x21e0
movq %rax, %rdi
movq 0x42f1(%rip), %rsi      # 0x7fc8
callq 0x2110
jmp 0x456d
leaq -0x130(%rbp), %rdi
leaq 0x26bc(%rip), %rsi      # 0x63ab
callq 0x2170
cmpl $0x0, %eax
jne 0x3d54
movq -0x28(%rbp), %rdi
leaq 0x269b(%rip), %rsi      # 0x639f
leaq -0x134(%rbp), %rdx
movb $0x0, %al
callq 0x2210
movl -0x134(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x4(%rax)
movq 0x42b2(%rip), %rdi      # 0x7fd8
leaq 0x2686(%rip), %rsi      # 0x63b3
callq 0x20f0
movq %rax, %rdi
movl -0x134(%rbp), %esi
callq 0x21e0
movq %rax, %rdi
movq 0x427e(%rip), %rsi      # 0x7fc8
callq 0x2110
jmp 0x456b
leaq -0x130(%rbp), %rdi
leaq 0x265a(%rip), %rsi      # 0x63bc
callq 0x2170
cmpl $0x0, %eax
jne 0x3dc7
movq -0x28(%rbp), %rdi
leaq 0x2628(%rip), %rsi      # 0x639f
leaq -0x134(%rbp), %rdx
movb $0x0, %al
callq 0x2210
movl -0x134(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x8(%rax)
movq 0x423f(%rip), %rdi      # 0x7fd8
leaq 0x2627(%rip), %rsi      # 0x63c7
callq 0x20f0
movq %rax, %rdi
movl -0x134(%rbp), %esi
callq 0x21e0
movq %rax, %rdi
movq 0x420b(%rip), %rsi      # 0x7fc8
callq 0x2110
jmp 0x4569
leaq -0x130(%rbp), %rdi
leaq 0x25fe(%rip), %rsi      # 0x63d3
callq 0x2170
cmpl $0x0, %eax
jne 0x3e3a
movq -0x28(%rbp), %rdi
leaq 0x25b5(%rip), %rsi      # 0x639f
leaq -0x134(%rbp), %rdx
movb $0x0, %al
callq 0x2210
movl -0x134(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0xc(%rax)
movq 0x41cc(%rip), %rdi      # 0x7fd8
leaq 0x25c7(%rip), %rsi      # 0x63da
callq 0x20f0
movq %rax, %rdi
movl -0x134(%rbp), %esi
callq 0x21e0
movq %rax, %rdi
movq 0x4198(%rip), %rsi      # 0x7fc8
callq 0x2110
jmp 0x4567
leaq -0x130(%rbp), %rdi
leaq 0x259a(%rip), %rsi      # 0x63e2
callq 0x2170
cmpl $0x0, %eax
jne 0x3ead
movq -0x28(%rbp), %rdi
leaq 0x2542(%rip), %rsi      # 0x639f
leaq -0x134(%rbp), %rdx
movb $0x0, %al
callq 0x2210
movl -0x134(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x10(%rax)
movq 0x4159(%rip), %rdi      # 0x7fd8
leaq 0x2563(%rip), %rsi      # 0x63e9
callq 0x20f0
movq %rax, %rdi
movl -0x134(%rbp), %esi
callq 0x21e0
movq %rax, %rdi
movq 0x4125(%rip), %rsi      # 0x7fc8
callq 0x2110
jmp 0x4565
leaq -0x130(%rbp), %rdi
leaq 0x2536(%rip), %rsi      # 0x63f1
callq 0x2170
cmpl $0x0, %eax
jne 0x3f20
movq -0x28(%rbp), %rdi
leaq 0x24cf(%rip), %rsi      # 0x639f
leaq -0x134(%rbp), %rdx
movb $0x0, %al
callq 0x2210
movl -0x134(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x14(%rax)
movq 0x40e6(%rip), %rdi      # 0x7fd8
leaq 0x2505(%rip), %rsi      # 0x63fe
callq 0x20f0
movq %rax, %rdi
movl -0x134(%rbp), %esi
callq 0x21e0
movq %rax, %rdi
movq 0x40b2(%rip), %rsi      # 0x7fc8
callq 0x2110
jmp 0x4563
leaq -0x130(%rbp), %rdi
leaq 0x24de(%rip), %rsi      # 0x640c
callq 0x2170
cmpl $0x0, %eax
jne 0x3f93
movq -0x28(%rbp), %rdi
leaq 0x245c(%rip), %rsi      # 0x639f
leaq -0x134(%rbp), %rdx
movb $0x0, %al
callq 0x2210
movl -0x134(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x18(%rax)
movq 0x4073(%rip), %rdi      # 0x7fd8
leaq 0x24ad(%rip), %rsi      # 0x6419
callq 0x20f0
movq %rax, %rdi
movl -0x134(%rbp), %esi
callq 0x21e0
movq %rax, %rdi
movq 0x403f(%rip), %rsi      # 0x7fc8
callq 0x2110
jmp 0x4561
leaq -0x130(%rbp), %rdi
leaq 0x2486(%rip), %rsi      # 0x6427
callq 0x2170
cmpl $0x0, %eax
jne 0x4006
movq -0x28(%rbp), %rdi
leaq 0x23e9(%rip), %rsi      # 0x639f
leaq -0x134(%rbp), %rdx
movb $0x0, %al
callq 0x2210
movl -0x134(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1c(%rax)
movq 0x4000(%rip), %rdi      # 0x7fd8
leaq 0x2455(%rip), %rsi      # 0x6434
callq 0x20f0
movq %rax, %rdi
movl -0x134(%rbp), %esi
callq 0x21e0
movq %rax, %rdi
movq 0x3fcc(%rip), %rsi      # 0x7fc8
callq 0x2110
jmp 0x455f
leaq -0x130(%rbp), %rdi
leaq 0x242e(%rip), %rsi      # 0x6442
callq 0x2170
cmpl $0x0, %eax
jne 0x404f
movq -0x28(%rbp), %rdi
leaq -0x240(%rbp), %rdx
leaq 0x2364(%rip), %rsi      # 0x6394
movb $0x0, %al
callq 0x2210
movq -0x20(%rbp), %rax
movq (%rax), %rdi
leaq -0x240(%rbp), %rsi
callq 0x20e0
jmp 0x455d
leaq -0x130(%rbp), %rdi
leaq 0x23f2(%rip), %rsi      # 0x644f
callq 0x2170
cmpl $0x0, %eax
jne 0x4099
movq -0x28(%rbp), %rdi
leaq -0x240(%rbp), %rdx
leaq 0x231b(%rip), %rsi      # 0x6394
movb $0x0, %al
callq 0x2210
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rdi
leaq -0x240(%rbp), %rsi
callq 0x20e0
jmp 0x455b
leaq -0x130(%rbp), %rdi
leaq 0x23b1(%rip), %rsi      # 0x6458
callq 0x2170
cmpl $0x0, %eax
jne 0x40e3
movq -0x28(%rbp), %rdi
leaq -0x240(%rbp), %rdx
leaq 0x22d1(%rip), %rsi      # 0x6394
movb $0x0, %al
callq 0x2210
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rdi
leaq -0x240(%rbp), %rsi
callq 0x20e0
jmp 0x4559
leaq -0x130(%rbp), %rdi
leaq 0x236e(%rip), %rsi      # 0x645f
callq 0x2170
cmpl $0x0, %eax
jne 0x412d
movq -0x28(%rbp), %rdi
leaq -0x240(%rbp), %rdx
leaq 0x2287(%rip), %rsi      # 0x6394
movb $0x0, %al
callq 0x2210
movq -0x20(%rbp), %rax
movq 0x18(%rax), %rdi
leaq -0x240(%rbp), %rsi
callq 0x20e0
jmp 0x4557
leaq -0x130(%rbp), %rdi
leaq 0x2331(%rip), %rsi      # 0x646c
callq 0x2170
cmpl $0x0, %eax
jne 0x4177
movq -0x28(%rbp), %rdi
leaq -0x240(%rbp), %rdx
leaq 0x223d(%rip), %rsi      # 0x6394
movb $0x0, %al
callq 0x2210
movq -0x20(%rbp), %rax
movq 0x20(%rax), %rdi
leaq -0x240(%rbp), %rsi
callq 0x20e0
jmp 0x4555
leaq -0x130(%rbp), %rdi
leaq 0x22f1(%rip), %rsi      # 0x6476
callq 0x2170
cmpl $0x0, %eax
jne 0x41c1
movq -0x28(%rbp), %rdi
leaq -0x240(%rbp), %rdx
leaq 0x21f3(%rip), %rsi      # 0x6394
movb $0x0, %al
callq 0x2210
movq -0x20(%rbp), %rax
movq 0x28(%rax), %rdi
leaq -0x240(%rbp), %rsi
callq 0x20e0
jmp 0x4553
leaq -0x130(%rbp), %rdi
leaq 0x22af(%rip), %rsi      # 0x647e
callq 0x2170
cmpl $0x0, %eax
jne 0x420b
movq -0x28(%rbp), %rdi
leaq -0x240(%rbp), %rdx
leaq 0x21a9(%rip), %rsi      # 0x6394
movb $0x0, %al
callq 0x2210
movq -0x20(%rbp), %rax
movq 0x30(%rax), %rdi
leaq -0x240(%rbp), %rsi
callq 0x20e0
jmp 0x4551
leaq -0x130(%rbp), %rdi
leaq 0x2274(%rip), %rsi      # 0x648d
callq 0x2170
cmpl $0x0, %eax
jne 0x4255
movq -0x28(%rbp), %rdi
leaq -0x240(%rbp), %rdx
leaq 0x215f(%rip), %rsi      # 0x6394
movb $0x0, %al
callq 0x2210
movq -0x20(%rbp), %rax
movq 0x38(%rax), %rdi
leaq -0x240(%rbp), %rsi
callq 0x20e0
jmp 0x454f
leaq -0x130(%rbp), %rdi
leaq 0x223e(%rip), %rsi      # 0x64a1
callq 0x2170
cmpl $0x0, %eax
jne 0x429f
movq -0x28(%rbp), %rdi
leaq -0x240(%rbp), %rdx
leaq 0x2115(%rip), %rsi      # 0x6394
movb $0x0, %al
callq 0x2210
movq -0x20(%rbp), %rax
movq 0x40(%rax), %rdi
leaq -0x240(%rbp), %rsi
callq 0x20e0
jmp 0x454d
leaq -0x130(%rbp), %rdi
leaq 0x2200(%rip), %rsi      # 0x64ad
callq 0x2170
cmpl $0x0, %eax
jne 0x42e9
movq -0x28(%rbp), %rdi
leaq -0x240(%rbp), %rdx
leaq 0x20cb(%rip), %rsi      # 0x6394
movb $0x0, %al
callq 0x2210
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rdi
leaq -0x240(%rbp), %rsi
callq 0x20e0
jmp 0x454b
leaq -0x130(%rbp), %rdi
leaq 0x21bf(%rip), %rsi      # 0x64b6
callq 0x2170
cmpl $0x0, %eax
jne 0x4333
movq -0x28(%rbp), %rdi
leaq -0x240(%rbp), %rdx
leaq 0x2081(%rip), %rsi      # 0x6394
movb $0x0, %al
callq 0x2210
movq -0x20(%rbp), %rax
movq 0x50(%rax), %rdi
leaq -0x240(%rbp), %rsi
callq 0x20e0
jmp 0x4549
leaq -0x130(%rbp), %rdi
leaq 0x2184(%rip), %rsi      # 0x64c5
callq 0x2170
cmpl $0x0, %eax
jne 0x437d
movq -0x28(%rbp), %rdi
leaq -0x240(%rbp), %rdx
leaq 0x2037(%rip), %rsi      # 0x6394
movb $0x0, %al
callq 0x2210
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rdi
leaq -0x240(%rbp), %rsi
callq 0x20e0
jmp 0x4547
leaq -0x130(%rbp), %rdi
leaq 0x2144(%rip), %rsi      # 0x64cf
callq 0x2170
cmpl $0x0, %eax
jne 0x43c7
movq -0x28(%rbp), %rdi
leaq -0x240(%rbp), %rdx
leaq 0x1fed(%rip), %rsi      # 0x6394
movb $0x0, %al
callq 0x2210
movq -0x20(%rbp), %rax
movq 0x60(%rax), %rdi
leaq -0x240(%rbp), %rsi
callq 0x20e0
jmp 0x4545
leaq -0x130(%rbp), %rdi
leaq 0x2109(%rip), %rsi      # 0x64de
callq 0x2170
cmpl $0x0, %eax
jne 0x4411
movq -0x28(%rbp), %rdi
leaq -0x240(%rbp), %rdx
leaq 0x1fa3(%rip), %rsi      # 0x6394
movb $0x0, %al
callq 0x2210
movq -0x20(%rbp), %rax
movq 0x68(%rax), %rdi
leaq -0x240(%rbp), %rsi
callq 0x20e0
jmp 0x4543
leaq -0x130(%rbp), %rdi
leaq 0x20ce(%rip), %rsi      # 0x64ed
callq 0x2170
cmpl $0x0, %eax
jne 0x445b
movq -0x28(%rbp), %rdi
leaq -0x240(%rbp), %rdx
leaq 0x1f59(%rip), %rsi      # 0x6394
movb $0x0, %al
callq 0x2210
movq -0x20(%rbp), %rax
movq 0x70(%rax), %rdi
leaq -0x240(%rbp), %rsi
callq 0x20e0
jmp 0x4541
leaq -0x130(%rbp), %rdi
leaq 0x2093(%rip), %rsi      # 0x64fc
callq 0x2170
cmpl $0x0, %eax
jne 0x44a5
movq -0x28(%rbp), %rdi
leaq -0x240(%rbp), %rdx
leaq 0x1f0f(%rip), %rsi      # 0x6394
movb $0x0, %al
callq 0x2210
movq -0x20(%rbp), %rax
movq 0x78(%rax), %rdi
leaq -0x240(%rbp), %rsi
callq 0x20e0
jmp 0x453f
leaq -0x130(%rbp), %rdi
leaq 0x205d(%rip), %rsi      # 0x6510
callq 0x2170
cmpl $0x0, %eax
jne 0x44ef
movq -0x28(%rbp), %rdi
leaq -0x240(%rbp), %rdx
leaq 0x1ec5(%rip), %rsi      # 0x6394
movb $0x0, %al
callq 0x2210
movq -0x20(%rbp), %rax
movq 0x80(%rax), %rdi
leaq -0x240(%rbp), %rsi
callq 0x20e0
jmp 0x453d
leaq -0x130(%rbp), %rdi
leaq 0x2027(%rip), %rsi      # 0x6524
callq 0x2170
cmpl $0x0, %eax
jne 0x4539
movq -0x28(%rbp), %rdi
leaq -0x240(%rbp), %rdx
leaq 0x1e7b(%rip), %rsi      # 0x6394
movb $0x0, %al
callq 0x2210
movq -0x20(%rbp), %rax
movq 0x88(%rax), %rdi
leaq -0x240(%rbp), %rsi
callq 0x20e0
jmp 0x453b
jmp 0x4572
jmp 0x453d
jmp 0x453f
jmp 0x4541
jmp 0x4543
jmp 0x4545
jmp 0x4547
jmp 0x4549
jmp 0x454b
jmp 0x454d
jmp 0x454f
jmp 0x4551
jmp 0x4553
jmp 0x4555
jmp 0x4557
jmp 0x4559
jmp 0x455b
jmp 0x455d
jmp 0x455f
jmp 0x4561
jmp 0x4563
jmp 0x4565
jmp 0x4567
jmp 0x4569
jmp 0x456b
jmp 0x456d
jmp 0x3c23
jmp 0x45ba
movq 0x3a5d(%rip), %rdi      # 0x7fd8
leaq 0x1fb6(%rip), %rsi      # 0x6538
callq 0x20f0
movq %rax, %rdi
movq -0x10(%rbp), %rsi
callq 0x20f0
movq %rax, %rdi
leaq 0x1fa8(%rip), %rsi      # 0x6545
callq 0x20f0
movq %rax, %rdi
movq 0x3a1c(%rip), %rsi      # 0x7fc8
callq 0x2110
movl $0x1, -0x4(%rbp)
jmp 0x45e3
movq 0x3a17(%rip), %rdi      # 0x7fd8
leaq 0x1f89(%rip), %rsi      # 0x6551
callq 0x20f0
movq %rax, %rdi
movq 0x39f1(%rip), %rsi      # 0x7fc8
callq 0x2110
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x250, %rsp            # imm = 0x250
popq %rbp
retq
nop