// File: /workspace/github_cpp_makefile_star2_O3/narges64[P]SIMBA/common.cpp
// Function: parameter_value::load_parameters(char*)
void parameter_value::load_parameters(char *parameter_file)
{
	if (parameter_file == NULL) return;
	FILE * fp;
	FILE * fp1;
	FILE * fp2;
	//errno_t ferr;
	parameter_value *p;
	char buf[BUFSIZE];
	int i;
	int pre_eql,next_eql;
	int res_eql;
	char *ptr;

	memset(buf,0,BUFSIZE);

	fp=fopen(parameter_file,"r");
	if(fp == NULL)
	{
		printf("the file parameter_file error!\n");
		return;
	}

	while(fgets(buf,200,fp)){
		if(buf[0] =='#' || buf[0] == ' ') continue;
		ptr=strchr(buf,'=');
		if(!ptr) continue;

		pre_eql = ptr - buf;
		next_eql = pre_eql + 1;

		while(buf[pre_eql-1] == ' ') pre_eql--;
		buf[pre_eql] = 0;
		if((res_eql=strcmp(buf,"lun number")) ==0){
			sscanf(buf + next_eql,"%d",&lun_num);
		}else if((res_eql=strcmp(buf,"dram capacity")) ==0){
			sscanf(buf + next_eql,"%d",&dram_capacity);
		}else if((res_eql=strcmp(buf,"gcb capacity")) ==0){
			sscanf(buf + next_eql,"%d",&gcb_capacity);
		}else if((res_eql=strcmp(buf,"cpu sdram")) ==0){
			sscanf(buf + next_eql,"%d",&cpu_sdram);
		}else if((res_eql=strcmp(buf,"channel number")) ==0){
			sscanf(buf + next_eql,"%d",&channel_number);
		}else if((res_eql=strcmp(buf,"plane number")) ==0){
			sscanf(buf + next_eql,"%d",&plane_lun);
		}else if((res_eql=strcmp(buf,"block number")) ==0){
			sscanf(buf + next_eql,"%d",&block_plane);
		}else if((res_eql=strcmp(buf,"page number")) ==0){
			sscanf(buf + next_eql,"%d",&page_block);
		}else if((res_eql=strcmp(buf,"subpage page")) ==0){
			sscanf(buf + next_eql,"%d",&subpage_page);
		}else if((res_eql=strcmp(buf,"page capacity")) ==0){
			sscanf(buf + next_eql,"%d",&page_capacity);
		}else if((res_eql=strcmp(buf,"subpage capacity")) ==0){
			sscanf(buf + next_eql,"%d",&subpage_capacity);
		}else if((res_eql=strcmp(buf,"t_PROG")) ==0){
			sscanf(buf + next_eql,"%d",&time_characteristics.tPROG);
		}else if((res_eql=strcmp(buf,"t_DBSY")) ==0){
			sscanf(buf + next_eql,"%d",&time_characteristics.tDBSY);
		}else if((res_eql=strcmp(buf,"t_BERS")) ==0){
			sscanf(buf + next_eql,"%d",&time_characteristics.tBERS);
		}else if((res_eql=strcmp(buf,"t_WC")) ==0){
			sscanf(buf + next_eql,"%d",&time_characteristics.tWC);
		}else if((res_eql=strcmp(buf,"t_R")) ==0){
			sscanf(buf + next_eql,"%d",&time_characteristics.tR);
		}else if((res_eql=strcmp(buf,"t_RC")) ==0){
			sscanf(buf + next_eql,"%d",&time_characteristics.tRC);
		}else if((res_eql=strcmp(buf,"erase limit")) ==0){
			sscanf(buf + next_eql,"%d",&ers_limit);
		}else if((res_eql=strcmp(buf,"address mapping")) ==0){
			sscanf(buf + next_eql,"%d",&address_mapping);
		}else if((res_eql=strcmp(buf,"wear leveling")) ==0){
			sscanf(buf + next_eql,"%d",&wear_leveling);
		}else if((res_eql=strcmp(buf,"gc")) ==0){
			sscanf(buf + next_eql,"%d",&gc);
		}else if((res_eql=strcmp(buf,"clean in background")) ==0){
			sscanf(buf + next_eql,"%d",&clean_in_background);
		}else if((res_eql=strcmp(buf,"overprovide")) ==0){
			sscanf(buf + next_eql,"%f",&overprovide);
		}else if((res_eql=strcmp(buf,"gc threshold")) ==0){
			sscanf(buf + next_eql,"%f",&gc_threshold);
		}else if((res_eql=strcmp(buf,"scheduling algorithm")) ==0){
			sscanf(buf + next_eql,"%d",&scheduling_algorithm);
		}else if((res_eql=strcmp(buf,"gc time ratio")) ==0){
			sscanf(buf + next_eql,"%f",&gc_time_ratio);
		}else if((res_eql=strcmp(buf,"related mapping")) ==0){
			sscanf(buf + next_eql,"%d",&related_mapping);
		}else if((res_eql=strcmp(buf,"striping")) ==0){
			sscanf(buf + next_eql,"%d",&striping);
		}else if((res_eql=strcmp(buf,"interleaving")) ==0){
			sscanf(buf + next_eql,"%d",&interleaving);
		}else if((res_eql=strcmp(buf,"pipelining")) ==0){
			sscanf(buf + next_eql,"%d",&pipelining);
		}else if((res_eql=strcmp(buf,"time_step")) ==0){
			sscanf(buf + next_eql,"%d",&time_step);
		}else if((res_eql=strcmp(buf,"small large write")) ==0){
			sscanf(buf + next_eql,"%d",&small_large_write);
		}else if((res_eql=strcmp(buf,"active write")) ==0){
			sscanf(buf + next_eql,"%d",&active_write);
		}else if((res_eql=strcmp(buf,"gc down threshold")) ==0){
			sscanf(buf + next_eql,"%f",&gc_down_threshold);
		}else if ((res_eql = strcmp(buf, "gc up threshold")) == 0){
			sscanf(buf + next_eql, "%f", &gc_up_threshold);
		}else if ((res_eql = strcmp(buf, "gc mplane threshold")) == 0){
			sscanf(buf + next_eql, "%f", &gc_mplane_threshold);
		}else if((res_eql=strcmp(buf,"advanced command")) ==0){
			sscanf(buf + next_eql,"%d",&advanced_commands);
		}else if((res_eql=strcmp(buf,"queue length")) ==0){
			sscanf(buf + next_eql,"%d",&queue_length);
		}else if((res_eql=strcmp(buf,"consolidation degree")) == 0) {
			sscanf(buf + next_eql,"%d",&consolidation_degree);
		}else if((res_eql=strcmp(buf,"MP address check")) == 0){
			sscanf(buf + next_eql,"%d",&MP_address_check);
		}else if((res_eql=strcmp(buf,"repeat trace")) == 0) {
			sscanf(buf + next_eql,"%d",&repeat_trace);
		}else if((res_eql=strcmp(buf,"mplane gc")) == 0) {
			sscanf(buf + next_eql,"%d",&mplane_gc);
		}else if ((res_eql = strcmp(buf, "pargc approach")) == 0) {
			sscanf(buf + next_eql, "%d", &pargc_approach);
		}else if ((res_eql = strcmp(buf, "gc algorithm")) == 0) {
			sscanf(buf + next_eql,"%d",&gc_algorithm);
		}else if((res_eql=strcmp(buf,"syn rd ratio")) == 0){
			sscanf(buf + next_eql, "%f",&syn_rd_ratio);
		}else if((res_eql=strcmp(buf,"syn interarrival mean")) == 0){
			sscanf(buf + next_eql, "%d",&syn_interarrival_mean);
		}else if((res_eql=strcmp(buf,"syn req size")) == 0){
			sscanf(buf + next_eql, "%d",&syn_req_size);
		}else if((res_eql=strcmp(buf,"syn req count")) == 0){
			sscanf(buf + next_eql, "%d",&syn_req_count);
		}else if((res_eql=strcmp(buf,"time scale")) == 0){
			sscanf(buf + next_eql,"%lf",&time_scale);
		}else if((res_eql=strcmp(buf,"plane level tech")) == 0){
			sscanf(buf + next_eql,"%d",&plane_level_tech); 
		}else if((res_eql=strcmp(buf,"trace file")) == 0){
			sscanf(buf + next_eql,"%s",trace_filename); 
		}else if((res_eql=strcmp(buf,"synthetic")) == 0) {
			sscanf(buf + next_eql,"%d",&synthetic); // 0 or 1 
		}else{
			printf("don't match\t %s\n",buf);
		}

		memset(buf,0,BUFSIZE);

	}
	fclose(fp);

}

// Assembly:
testq %rsi, %rsi
je 0x36ac
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x268, %rsp            # imm = 0x268
movq %rsi, %r14
movq %rdi, %rbx
movq %rsp, %rdi
movl $0xc8, %edx
xorl %esi, %esi
callq 0x20d0
leaq 0x7c09(%rip), %rsi      # 0xa22d
movq %r14, %rdi
callq 0x2200
testq %rax, %rax
je 0x368f
movq %rax, %r14
movq %rsp, %r15
movq %r15, %rdi
movl $0xc8, %esi
movq %rax, %rdx
callq 0x22b0
testq %rax, %rax
je 0x3685
movabsq $0x7265626d756e20, %r13 # imm = 0x7265626D756E20
leaq 0x348(%rbx), %rax
movq %rax, 0x128(%rsp)
leaq 0x334(%rbx), %rax
movq %rax, 0x120(%rsp)
leaq 0x80(%rbx), %rax
movq %rax, 0x118(%rsp)
leaq 0x328(%rbx), %rax
movq %rax, 0x110(%rsp)
leaq 0x32c(%rbx), %rax
movq %rax, 0x108(%rsp)
leaq 0x330(%rbx), %rax
movq %rax, 0x100(%rsp)
leaq 0x324(%rbx), %rax
movq %rax, 0xf8(%rsp)
leaq 0x74(%rbx), %rax
movq %rax, 0xf0(%rsp)
leaq 0x298(%rbx), %rax
movq %rax, 0xe8(%rsp)
leaq 0x70(%rbx), %rax
movq %rax, 0xe0(%rsp)
leaq 0x6c(%rbx), %rax
movq %rax, 0xd8(%rsp)
leaq 0x68(%rbx), %rax
movq %rax, 0xd0(%rsp)
leaq 0x64(%rbx), %rax
movq %rax, 0x140(%rsp)
leaq 0x78(%rbx), %rax
movq %rax, 0x138(%rsp)
leaq 0x294(%rbx), %rax
movq %rax, 0x130(%rsp)
leaq 0x290(%rbx), %rax
movq %rax, 0x148(%rsp)
leaq 0x288(%rbx), %rax
movq %rax, 0x150(%rsp)
leaq 0x28c(%rbx), %rax
movq %rax, 0x158(%rsp)
leaq 0x284(%rbx), %rax
movq %rax, 0x160(%rsp)
leaq 0x274(%rbx), %rax
movq %rax, 0x168(%rsp)
leaq 0x270(%rbx), %rax
movq %rax, 0x170(%rsp)
leaq 0x280(%rbx), %rax
movq %rax, 0x178(%rsp)
leaq 0x27c(%rbx), %rax
movq %rax, 0x180(%rsp)
leaq 0x278(%rbx), %rax
movq %rax, 0x188(%rsp)
leaq 0x26c(%rbx), %rax
movq %rax, 0x190(%rsp)
leaq 0x338(%rbx), %rax
movq %rax, 0x198(%rsp)
leaq 0x264(%rbx), %rax
movq %rax, 0x1a0(%rsp)
leaq 0x260(%rbx), %rax
movq %rax, 0x1a8(%rsp)
leaq 0x25c(%rbx), %rax
movq %rax, 0x1b0(%rsp)
leaq 0x254(%rbx), %rax
movq %rax, 0x1b8(%rsp)
leaq 0x250(%rbx), %rax
movq %rax, 0x1c0(%rsp)
leaq 0x24c(%rbx), %rax
movq %rax, 0x1c8(%rsp)
leaq 0x248(%rbx), %rax
movq %rax, 0x1d0(%rsp)
leaq 0x244(%rbx), %rax
movq %rax, 0x1d8(%rsp)
leaq 0x2f0(%rbx), %rax
movq %rax, 0x1e0(%rsp)
leaq 0x2d8(%rbx), %rax
movq %rax, 0x1e8(%rsp)
leaq 0x2cc(%rbx), %rax
movq %rax, 0x1f0(%rsp)
leaq 0x2a4(%rbx), %rax
movq %rax, 0x1f8(%rsp)
leaq 0x2a0(%rbx), %rax
movq %rax, 0x200(%rsp)
leaq 0x29c(%rbx), %rax
movq %rax, 0x208(%rsp)
leaq 0x240(%rbx), %rax
movq %rax, 0x210(%rsp)
leaq 0x23c(%rbx), %rax
movq %rax, 0x218(%rsp)
leaq 0x238(%rbx), %rax
movq %rax, 0x220(%rsp)
leaq 0x234(%rbx), %rax
movq %rax, 0x228(%rsp)
leaq 0x230(%rbx), %rax
movq %rax, 0x230(%rsp)
leaq 0x22c(%rbx), %rax
movq %rax, 0x238(%rsp)
leaq 0x98(%rbx), %rax
movq %rax, 0x240(%rsp)
leaq 0x94(%rbx), %rax
movq %rax, 0x248(%rsp)
leaq 0x90(%rbx), %rax
movq %rax, 0x250(%rsp)
leaq 0x8c(%rbx), %rax
movq %rax, 0x258(%rsp)
leaq 0x88(%rbx), %rax
movq %rax, 0x260(%rsp)
movabsq $-0x100000000, %rbp     # imm = 0xFFFFFFFF00000000
leaq 0x77eb(%rip), %r12      # 0xa145
movzbl (%rsp), %eax
cmpl $0x20, %eax
je 0x366c
cmpl $0x23, %eax
je 0x366c
movq %r15, %rdi
movl $0x3d, %esi
callq 0x20b0
testq %rax, %rax
je 0x366c
subq %r15, %rax
movslq %eax, %rdx
leaq -0x1(%rsp), %rcx
addq %rcx, %rdx
movq %rax, %rcx
shlq $0x20, %rcx
movabsq $0x100000000, %rsi      # imm = 0x100000000
addq %rsi, %rcx
addq %rbp, %rcx
cmpb $0x20, (%rdx)
leaq -0x1(%rdx), %rdx
je 0x29a8
incl %eax
sarq $0x20, %rcx
movb $0x0, (%rsp,%rcx)
movq (%rsp), %rcx
movabsq $0x626d756e206e756c, %rdx # imm = 0x626D756E206E756C
xorq %rdx, %rcx
movq 0x3(%rsp), %rdx
xorq %r13, %rdx
orq %rcx, %rdx
movabsq $0x79746963617061, %rsi # imm = 0x79746963617061
je 0x2bf3
movabsq $0x7061632065676170, %rcx # imm = 0x7061632065676170
addq $0x7fa10f4, %rcx        # imm = 0x7FA10F4
xorq (%rsp), %rcx
movq 0x6(%rsp), %rdx
xorq %rsi, %rdx
orq %rcx, %rdx
je 0x2c09
movq (%rsp), %rcx
movabsq $0x6170616320626367, %rdx # imm = 0x6170616320626367
xorq %rdx, %rcx
movq 0x5(%rsp), %rdx
xorq %rsi, %rdx
orq %rcx, %rdx
je 0x2c1f
movq (%rsp), %rcx
movabsq $0x6172647320757063, %rdx # imm = 0x6172647320757063
xorq %rdx, %rcx
movzwl 0x8(%rsp), %edx
xorq $0x6d, %rdx
orq %rcx, %rdx
je 0x2c35
movq (%rsp), %rcx
movabsq $0x206c656e6e616863, %rdx # imm = 0x206C656E6E616863
xorq %rdx, %rcx
movq 0x7(%rsp), %rdx
xorq %r13, %rdx
orq %rcx, %rdx
je 0x2c4b
movq (%rsp), %rcx
movabsq $0x756e20656e616c70, %rdx # imm = 0x756E20656E616C70
xorq %rdx, %rcx
movq 0x5(%rsp), %rdx
xorq %r13, %rdx
orq %rcx, %rdx
je 0x2c61
movq (%rsp), %rcx
movabsq $0x756e206b636f6c62, %rdx # imm = 0x756E206B636F6C62
xorq %rdx, %rcx
movq 0x5(%rsp), %rdx
xorq %r13, %rdx
orq %rcx, %rdx
je 0x2c77
movq (%rsp), %rcx
movabsq $0x6d756e2065676170, %rdx # imm = 0x6D756E2065676170
xorq %rdx, %rcx
movl 0x8(%rsp), %edx
xorq $0x726562, %rdx         # imm = 0x726562
orq %rcx, %rdx
je 0x2c8d
movq (%rsp), %rcx
movabsq $0x2065676170627573, %rdx # imm = 0x2065676170627573
xorq %rdx, %rcx
movq 0x5(%rsp), %rdx
movabsq $0x65676170206567, %rdi # imm = 0x65676170206567
xorq %rdi, %rdx
orq %rcx, %rdx
je 0x2ca3
movq (%rsp), %rcx
movabsq $0x7061632065676170, %rdx # imm = 0x7061632065676170
xorq %rdx, %rcx
movq 0x6(%rsp), %rdx
xorq %rsi, %rdx
orq %rcx, %rdx
je 0x2cb9
movq 0x8(%rsp), %rcx
movabsq $0x7974696361706163, %rdx # imm = 0x7974696361706163
xorq %rdx, %rcx
movq (%rsp), %rdx
movabsq $0x2065676170627573, %rsi # imm = 0x2065676170627573
xorq %rsi, %rdx
movzbl 0x10(%rsp), %esi
orq %rdx, %rsi
orq %rcx, %rsi
je 0x2ccf
movl (%rsp), %ecx
movl $0x52505f74, %edx       # imm = 0x52505F74
xorl %edx, %ecx
movl 0x3(%rsp), %edx
movl $0x474f52, %esi         # imm = 0x474F52
xorl %esi, %edx
orl %ecx, %edx
je 0x2ce5
movl (%rsp), %ecx
movl $0x42445f74, %edx       # imm = 0x42445F74
xorl %edx, %ecx
movl 0x3(%rsp), %edx
movl $0x595342, %esi         # imm = 0x595342
xorl %esi, %edx
orl %ecx, %edx
je 0x2cfb
movl (%rsp), %ecx
movl $0x45425f74, %edx       # imm = 0x45425F74
xorl %edx, %ecx
movl 0x3(%rsp), %edx
movl $0x535245, %esi         # imm = 0x535245
xorl %esi, %edx
orl %ecx, %edx
je 0x2d11
movl (%rsp), %ecx
movl $0x43575f74, %edx       # imm = 0x43575F74
xorl %edx, %ecx
movzbl 0x4(%rsp), %edx
orl %ecx, %edx
je 0x2d27
cmpl $0x525f74, (%rsp)       # imm = 0x525F74
jne 0x2d3d
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x1e8(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x260(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x258(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x250(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x248(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x240(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x238(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x230(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x228(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x220(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x218(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x210(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x208(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x200(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x1f8(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x1f0(%rsp), %rdx
jmp 0x3656
movl (%rsp), %ecx
movl $0x43525f74, %edx       # imm = 0x43525F74
xorl %edx, %ecx
movzbl 0x4(%rsp), %edx
orl %ecx, %edx
je 0x3332
movq (%rsp), %rcx
movabsq $0x696c206573617265, %rdx # imm = 0x696C206573617265
xorq %rdx, %rcx
movl 0x8(%rsp), %edx
xorq $0x74696d, %rdx         # imm = 0x74696D
orq %rcx, %rdx
je 0x3348
movdqa (%rsp), %xmm0
pcmpeqb 0x728a(%rip), %xmm0     # 0xa010
pmovmskb %xmm0, %ecx
cmpl $0xffff, %ecx           # imm = 0xFFFF
je 0x335e
movq (%rsp), %rcx
movabsq $0x76656c2072616577, %rdx # imm = 0x76656C2072616577
xorq %rdx, %rcx
movq 0x6(%rsp), %rdx
movabsq $0x676e696c657665, %rsi # imm = 0x676E696C657665
xorq %rsi, %rdx
orq %rcx, %rdx
je 0x3374
movl (%rsp), %ecx
movl $0x6367, %edx           # imm = 0x6367
xorl %edx, %ecx
movzbl 0x2(%rsp), %edx
orw %cx, %dx
je 0x338a
movd 0x10(%rsp), %xmm0
pcmpeqb 0x7238(%rip), %xmm0     # 0xa020
movdqa (%rsp), %xmm1
pcmpeqb 0x723b(%rip), %xmm1     # 0xa030
pand %xmm0, %xmm1
pmovmskb %xmm1, %ecx
cmpl $0xffff, %ecx           # imm = 0xFFFF
je 0x33a0
movq (%rsp), %rcx
movabsq $0x766f72707265766f, %rdx # imm = 0x766F72707265766F
xorq %rdx, %rcx
movl 0x8(%rsp), %edx
xorq $0x656469, %rdx         # imm = 0x656469
orq %rcx, %rdx
je 0x33b6
movq (%rsp), %rcx
movabsq $0x7365726874206367, %rdx # imm = 0x7365726874206367
xorq %rdx, %rcx
movq 0x5(%rsp), %rdx
movabsq $0x646c6f68736572, %rsi # imm = 0x646C6F68736572
xorq %rsi, %rdx
orq %rcx, %rdx
je 0x33d0
movdqu 0x5(%rsp), %xmm0
pcmpeqb 0x71d8(%rip), %xmm0     # 0xa040
movdqa (%rsp), %xmm1
pcmpeqb 0x71db(%rip), %xmm1     # 0xa050
pand %xmm0, %xmm1
pmovmskb %xmm1, %ecx
cmpl $0xffff, %ecx           # imm = 0xFFFF
je 0x33ea
movq (%rsp), %rcx
movabsq $0x20656d6974206367, %rdx # imm = 0x20656D6974206367
xorq %rdx, %rcx
movabsq $0x6f697461722064, %rdx # imm = 0x6F697461722064
incq %rdx
xorq 0x6(%rsp), %rdx
orq %rcx, %rdx
je 0x3400
movdqa (%rsp), %xmm0
pcmpeqb 0x719e(%rip), %xmm0     # 0xa060
pmovmskb %xmm0, %ecx
cmpl $0xffff, %ecx           # imm = 0xFFFF
je 0x341a
movq (%rsp), %rcx
movabsq $0x676e697069727473, %rdx # imm = 0x676E697069727473
xorq %rdx, %rcx
movzbl 0x8(%rsp), %edx
orq %rcx, %rdx
je 0x3430
movq (%rsp), %rcx
movabsq $0x61656c7265746e69, %rdx # imm = 0x61656C7265746E69
xorq %rdx, %rcx
movabsq $0x676e696c657665, %rdx # imm = 0x676E696C657665
addq $0x9fbef07, %rdx        # imm = 0x9FBEF07
xorq 0x5(%rsp), %rdx
orq %rcx, %rdx
je 0x3446
movq (%rsp), %rcx
movabsq $0x696e696c65706970, %rdx # imm = 0x696E696C65706970
xorq %rdx, %rcx
movabsq $0x676e696c657665, %rdx # imm = 0x676E696C657665
addq $0x203f600, %rdx        # imm = 0x203F600
xorq 0x3(%rsp), %rdx
orq %rcx, %rdx
je 0x345c
movq (%rsp), %rcx
movabsq $0x6574735f656d6974, %rdx # imm = 0x6574735F656D6974
xorq %rdx, %rcx
movzwl 0x8(%rsp), %edx
xorq $0x70, %rdx
orq %rcx, %rdx
je 0x3472
movzwl 0x10(%rsp), %ecx
movd %ecx, %xmm0
pcmpeqb 0x70fb(%rip), %xmm0     # 0xa080
movdqa (%rsp), %xmm1
pcmpeqb 0x70de(%rip), %xmm1     # 0xa070
pand %xmm0, %xmm1
pmovmskb %xmm1, %ecx
cmpl $0xffff, %ecx           # imm = 0xFFFF
je 0x3488
movq (%rsp), %rcx
movabsq $0x7720657669746361, %rdx # imm = 0x7720657669746361
xorq %rdx, %rcx
movq 0x5(%rsp), %rdx
movabsq $0x65746972772065, %rsi # imm = 0x65746972772065
xorq %rsi, %rdx
orq %rcx, %rdx
je 0x349e
movzwl 0x10(%rsp), %ecx
movd %ecx, %xmm0
pcmpeqb 0x70bd(%rip), %xmm0     # 0xa0a0
movdqa (%rsp), %xmm1
pcmpeqb 0x70a0(%rip), %xmm1     # 0xa090
pand %xmm0, %xmm1
pmovmskb %xmm1, %ecx
cmpl $0xffff, %ecx           # imm = 0xFFFF
je 0x34b4
movdqa (%rsp), %xmm0
pcmpeqb 0x709f(%rip), %xmm0     # 0xa0b0
pmovmskb %xmm0, %ecx
cmpl $0xffff, %ecx           # imm = 0xFFFF
je 0x34ce
movd 0x10(%rsp), %xmm0
pcmpeqb 0x7091(%rip), %xmm0     # 0xa0c0
movdqa (%rsp), %xmm1
pcmpeqb 0x7094(%rip), %xmm1     # 0xa0d0
pand %xmm0, %xmm1
pmovmskb %xmm1, %ecx
cmpl $0xffff, %ecx           # imm = 0xFFFF
je 0x34e8
movq 0x8(%rsp), %rcx
movabsq $0x646e616d6d6f6320, %rdx # imm = 0x646E616D6D6F6320
xorq %rdx, %rcx
movq (%rsp), %rdx
movabsq $0x6465636e61766461, %rsi # imm = 0x6465636E61766461
xorq %rsi, %rdx
movzbl 0x10(%rsp), %esi
orq %rdx, %rsi
orq %rcx, %rsi
je 0x3502
movq (%rsp), %rcx
movabsq $0x656c206575657571, %rdx # imm = 0x656C206575657571
xorq %rdx, %rcx
movq 0x5(%rsp), %rdx
movabsq $0x6874676e656c20, %rsi # imm = 0x6874676E656C20
xorq %rsi, %rdx
orq %rcx, %rdx
je 0x3518
movdqu 0x5(%rsp), %xmm0
pcmpeqb 0x7022(%rip), %xmm0     # 0xa0e0
movdqa (%rsp), %xmm1
pcmpeqb 0x7025(%rip), %xmm1     # 0xa0f0
pand %xmm0, %xmm1
pmovmskb %xmm1, %ecx
cmpl $0xffff, %ecx           # imm = 0xFFFF
je 0x352e
movq 0x8(%rsp), %rcx
movabsq $0x6b63656863207373, %rdx # imm = 0x6B63656863207373
xorq %rdx, %rcx
movq (%rsp), %rdx
movabsq $0x657264646120504d, %rsi # imm = 0x657264646120504D
xorq %rsi, %rdx
movzbl 0x10(%rsp), %esi
orq %rdx, %rsi
orq %rcx, %rsi
je 0x3544
movq (%rsp), %rcx
movabsq $0x7420746165706572, %rdx # imm = 0x7420746165706572
xorq %rdx, %rcx
movq 0x5(%rsp), %rdx
movabsq $0x65636172742074, %rsi # imm = 0x65636172742074
xorq %rsi, %rdx
orq %rcx, %rdx
je 0x355a
movq (%rsp), %rcx
movabsq $0x6720656e616c706d, %rdx # imm = 0x6720656E616C706D
xorq %rdx, %rcx
movzwl 0x8(%rsp), %edx
xorq $0x63, %rdx
orq %rcx, %rdx
je 0x3570
movq (%rsp), %rcx
movabsq $0x7061206367726170, %rdx # imm = 0x7061206367726170
xorq %rdx, %rcx
movq 0x7(%rsp), %rdx
movabsq $0x6863616f727070, %rsi # imm = 0x6863616F727070
xorq %rsi, %rdx
orq %rcx, %rdx
je 0x3586
movq (%rsp), %rcx
movabsq $0x726f676c61206367, %rdx # imm = 0x726F676C61206367
xorq %rdx, %rcx
movq 0x5(%rsp), %rdx
movabsq $0x6d687469726f67, %rsi # imm = 0x6D687469726F67
xorq %rsi, %rdx
orq %rcx, %rdx
je 0x359c
movq (%rsp), %rcx
movabsq $0x72206472206e7973, %rdx # imm = 0x72206472206E7973
xorq %rdx, %rcx
movq 0x5(%rsp), %rdx
movabsq $0x6f697461722064, %rsi # imm = 0x6F697461722064
xorq %rsi, %rdx
orq %rcx, %rdx
je 0x35b2
movdqu 0x6(%rsp), %xmm0
pcmpeqb 0x6f0c(%rip), %xmm0     # 0xa100
movdqa (%rsp), %xmm1
pcmpeqb 0x6f0f(%rip), %xmm1     # 0xa110
pand %xmm0, %xmm1
pmovmskb %xmm1, %ecx
cmpl $0xffff, %ecx           # imm = 0xFFFF
je 0x35cc
movq (%rsp), %rcx
movabsq $0x20716572206e7973, %rdx # imm = 0x20716572206E7973
xorq %rdx, %rcx
movq 0x5(%rsp), %rdx
movabsq $0x657a6973207165, %rsi # imm = 0x657A6973207165
xorq %rsi, %rdx
orq %rcx, %rdx
je 0x35df
movq (%rsp), %rcx
movabsq $0x20716572206e7973, %rdx # imm = 0x20716572206E7973
xorq %rdx, %rcx
movq 0x6(%rsp), %rdx
movabsq $0x746e756f632071, %rsi # imm = 0x746E756F632071
xorq %rsi, %rdx
orq %rcx, %rdx
je 0x35f2
movq (%rsp), %rcx
movabsq $0x61637320656d6974, %rdx # imm = 0x61637320656D6974
xorq %rdx, %rcx
movq 0x3(%rsp), %rdx
movabsq $0x656c6163732065, %rsi # imm = 0x656C6163732065
xorq %rsi, %rdx
orq %rcx, %rdx
je 0x3605
movq 0x8(%rsp), %rcx
movabsq $0x68636574206c6576, %rdx # imm = 0x68636574206C6576
xorq %rdx, %rcx
movq (%rsp), %rdx
movabsq $0x656c20656e616c70, %rsi # imm = 0x656C20656E616C70
xorq %rsi, %rdx
movzbl 0x10(%rsp), %esi
orq %rdx, %rsi
orq %rcx, %rsi
je 0x361c
movq (%rsp), %rcx
movabsq $0x6966206563617274, %rdx # imm = 0x6966206563617274
xorq %rdx, %rcx
movq 0x3(%rsp), %rdx
movabsq $0x656c6966206563, %rsi # imm = 0x656C6966206563
xorq %rsi, %rdx
orq %rcx, %rdx
je 0x362f
movq (%rsp), %rcx
movabsq $0x69746568746e7973, %rdx # imm = 0x69746568746E7973
xorq %rdx, %rcx
movzwl 0x8(%rsp), %edx
xorq $0x63, %rdx
orq %rcx, %rdx
je 0x3645
leaq 0x7140(%rip), %rdi      # 0xa463
movq %r15, %rsi
xorl %eax, %eax
callq 0x2060
jmp 0x365d
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x1e0(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x1d8(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x1d0(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x1c8(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x1c0(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x1b8(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
leaq 0x6ef3(%rip), %rsi      # 0xa2b6
movq 0x1b0(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
leaq 0x6ed9(%rip), %rsi      # 0xa2b6
movq 0x1a8(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x1a0(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
leaq 0x6ea9(%rip), %rsi      # 0xa2b6
movq 0x198(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x190(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x188(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x180(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x178(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x170(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x168(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x160(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
leaq 0x6df5(%rip), %rsi      # 0xa2b6
movq 0x158(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
leaq 0x6ddb(%rip), %rsi      # 0xa2b6
movq 0x150(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
leaq 0x6dc1(%rip), %rsi      # 0xa2b6
movq 0x148(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x130(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x138(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x140(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0xd0(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0xd8(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0xe0(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0xe8(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0xf0(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
leaq 0x6cf7(%rip), %rsi      # 0xa2b6
movq 0xf8(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x100(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x108(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x110(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
leaq 0x6e27(%rip), %rsi      # 0xa439
movq 0x118(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x120(%rsp), %rdx
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq 0x340(%rbx), %rdx
leaq 0x6b05(%rip), %rsi      # 0xa148
jmp 0x3656
cltq
leaq (%rsp,%rax), %rdi
movq %r12, %rsi
movq 0x128(%rsp), %rdx
xorl %eax, %eax
callq 0x2160
movl $0xc8, %edx
movq %r15, %rdi
xorl %esi, %esi
callq 0x20d0
movq %r15, %rdi
movl $0xc8, %esi
movq %r14, %rdx
callq 0x22b0
testq %rax, %rax
jne 0x295a
movq %r14, %rdi
callq 0x2180
jmp 0x369b
leaq 0x6ea0(%rip), %rdi      # 0xa536
callq 0x22a0
addq $0x268, %rsp            # imm = 0x268
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop