// File: 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:
pushq %rbp
movq %rsp, %rbp
subq $0x120, %rsp            # imm = 0x120
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x120(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x267a
jmp 0x3850
leaq -0x100(%rbp), %rdi
xorl %esi, %esi
movl $0xc8, %edx
callq 0x20b0
movq -0x10(%rbp), %rdi
leaq 0xcab4(%rip), %rsi      # 0xf14c
callq 0x2190
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x26bb
leaq 0xca1a(%rip), %rdi      # 0xf0c9
movb $0x0, %al
callq 0x2050
jmp 0x3850
jmp 0x26bd
leaq -0x100(%rbp), %rdi
movq -0x18(%rbp), %rdx
movl $0xc8, %esi
callq 0x2210
cmpq $0x0, %rax
je 0x3847
movsbl -0x100(%rbp), %eax
cmpl $0x23, %eax
je 0x26f4
movsbl -0x100(%rbp), %eax
cmpl $0x20, %eax
jne 0x26f6
jmp 0x26bd
leaq -0x100(%rbp), %rdi
movl $0x3d, %esi
callq 0x20a0
movq %rax, -0x118(%rbp)
cmpq $0x0, -0x118(%rbp)
jne 0x271a
jmp 0x26bd
movq -0x118(%rbp), %rax
leaq -0x100(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x108(%rbp)
movl -0x108(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10c(%rbp)
movl -0x108(%rbp), %eax
subl $0x1, %eax
cltq
movsbl -0x100(%rbp,%rax), %eax
cmpl $0x20, %eax
jne 0x2769
movl -0x108(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x108(%rbp)
jmp 0x2740
movslq -0x108(%rbp), %rax
movb $0x0, -0x100(%rbp,%rax)
leaq -0x100(%rbp), %rdi
leaq 0xc963(%rip), %rsi      # 0xf0e9
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x27c8
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x88, %rdx
leaq 0xc869(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x382f
leaq -0x100(%rbp), %rdi
leaq 0xc91e(%rip), %rsi      # 0xf0f4
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x2818
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x8c, %rdx
leaq 0xc819(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x382d
leaq -0x100(%rbp), %rdi
leaq 0xc8dc(%rip), %rsi      # 0xf102
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x2868
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x90, %rdx
leaq 0xc7c9(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x382b
leaq -0x100(%rbp), %rdi
leaq 0xc899(%rip), %rsi      # 0xf10f
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x28b8
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x94, %rdx
leaq 0xc779(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x3829
leaq -0x100(%rbp), %rdi
leaq 0xc853(%rip), %rsi      # 0xf119
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x2908
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x98, %rdx
leaq 0xc729(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x3827
leaq -0x100(%rbp), %rdi
leaq 0xc812(%rip), %rsi      # 0xf128
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x2958
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x22c, %rdx            # imm = 0x22C
leaq 0xc6d9(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x3825
leaq -0x100(%rbp), %rdi
leaq 0xc7cf(%rip), %rsi      # 0xf135
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x29a8
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x230, %rdx            # imm = 0x230
leaq 0xc689(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x3823
leaq -0x100(%rbp), %rdi
leaq 0xc78c(%rip), %rsi      # 0xf142
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x29f8
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x234, %rdx            # imm = 0x234
leaq 0xc639(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x3821
leaq -0x100(%rbp), %rdi
leaq 0xc748(%rip), %rsi      # 0xf14e
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x2a48
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x238, %rdx            # imm = 0x238
leaq 0xc5e9(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x381f
leaq -0x100(%rbp), %rdi
leaq 0xc708(%rip), %rsi      # 0xf15e
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x2a98
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x23c, %rdx            # imm = 0x23C
leaq 0xc599(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x381d
leaq -0x100(%rbp), %rdi
leaq 0xc6b5(%rip), %rsi      # 0xf15b
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x2ae8
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x240, %rdx            # imm = 0x240
leaq 0xc549(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x381b
leaq -0x100(%rbp), %rdi
leaq 0xc676(%rip), %rsi      # 0xf16c
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x2b38
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x29c, %rdx            # imm = 0x29C
leaq 0xc4f9(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x3819
leaq -0x100(%rbp), %rdi
leaq 0xc62d(%rip), %rsi      # 0xf173
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x2b8c
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x29c, %rdx            # imm = 0x29C
addq $0x4, %rdx
leaq 0xc4a5(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x3817
leaq -0x100(%rbp), %rdi
leaq 0xc5e0(%rip), %rsi      # 0xf17a
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x2be0
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x29c, %rdx            # imm = 0x29C
addq $0x8, %rdx
leaq 0xc451(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x3815
leaq -0x100(%rbp), %rdi
leaq 0xc593(%rip), %rsi      # 0xf181
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x2c34
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x29c, %rdx            # imm = 0x29C
addq $0x30, %rdx
leaq 0xc3fd(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x3813
leaq -0x100(%rbp), %rdi
leaq 0xc544(%rip), %rsi      # 0xf186
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x2c88
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x29c, %rdx            # imm = 0x29C
addq $0x3c, %rdx
leaq 0xc3a9(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x3811
leaq -0x100(%rbp), %rdi
leaq 0xc4f4(%rip), %rsi      # 0xf18a
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x2cdc
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x29c, %rdx            # imm = 0x29C
addq $0x54, %rdx
leaq 0xc355(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x380f
leaq -0x100(%rbp), %rdi
leaq 0xc4a5(%rip), %rsi      # 0xf18f
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x2d2c
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x244, %rdx            # imm = 0x244
leaq 0xc305(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x380d
leaq -0x100(%rbp), %rdi
leaq 0xc461(%rip), %rsi      # 0xf19b
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x2d7c
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x248, %rdx            # imm = 0x248
leaq 0xc2b5(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x380b
leaq -0x100(%rbp), %rdi
leaq 0xc421(%rip), %rsi      # 0xf1ab
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x2dcc
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x24c, %rdx            # imm = 0x24C
leaq 0xc265(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x3809
leaq -0x100(%rbp), %rdi
leaq 0xc51a(%rip), %rsi      # 0xf2f4
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x2e1c
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x250, %rdx            # imm = 0x250
leaq 0xc215(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x3807
leaq -0x100(%rbp), %rdi
leaq 0xc38f(%rip), %rsi      # 0xf1b9
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x2e6c
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x254, %rdx            # imm = 0x254
leaq 0xc1c5(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x3805
leaq -0x100(%rbp), %rdi
leaq 0xc353(%rip), %rsi      # 0xf1cd
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x2ebc
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x25c, %rdx            # imm = 0x25C
leaq 0xc329(%rip), %rsi      # 0xf1d9
movb $0x0, %al
callq 0x2100
jmp 0x3803
leaq -0x100(%rbp), %rdi
leaq 0xc312(%rip), %rsi      # 0xf1dc
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x2f0c
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x260, %rdx            # imm = 0x260
leaq 0xc2d9(%rip), %rsi      # 0xf1d9
movb $0x0, %al
callq 0x2100
jmp 0x3801
leaq -0x100(%rbp), %rdi
leaq 0xc2cf(%rip), %rsi      # 0xf1e9
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x2f5c
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x264, %rdx            # imm = 0x264
leaq 0xc0d5(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x37ff
leaq -0x100(%rbp), %rdi
leaq 0xc294(%rip), %rsi      # 0xf1fe
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x2fac
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x338, %rdx            # imm = 0x338
leaq 0xc239(%rip), %rsi      # 0xf1d9
movb $0x0, %al
callq 0x2100
jmp 0x37fd
leaq -0x100(%rbp), %rdi
leaq 0xc252(%rip), %rsi      # 0xf20c
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x2ffc
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x26c, %rdx            # imm = 0x26C
leaq 0xc035(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x37fb
leaq -0x100(%rbp), %rdi
leaq 0xc212(%rip), %rsi      # 0xf21c
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x304c
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x278, %rdx            # imm = 0x278
leaq 0xbfe5(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x37f9
leaq -0x100(%rbp), %rdi
leaq 0xc1cb(%rip), %rsi      # 0xf225
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x309c
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x27c, %rdx            # imm = 0x27C
leaq 0xbf95(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x37f7
leaq -0x100(%rbp), %rdi
leaq 0xc188(%rip), %rsi      # 0xf232
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x30ec
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x280, %rdx            # imm = 0x280
leaq 0xbf45(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x37f5
leaq -0x100(%rbp), %rdi
leaq 0xc143(%rip), %rsi      # 0xf23d
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x313c
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x270, %rdx            # imm = 0x270
leaq 0xbef5(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x37f3
leaq -0x100(%rbp), %rdi
leaq 0xc0fd(%rip), %rsi      # 0xf247
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x318c
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x274, %rdx            # imm = 0x274
leaq 0xbea5(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x37f1
leaq -0x100(%rbp), %rdi
leaq 0xc0bf(%rip), %rsi      # 0xf259
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x31dc
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x284, %rdx            # imm = 0x284
leaq 0xbe55(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x37ef
leaq -0x100(%rbp), %rdi
leaq 0xc07c(%rip), %rsi      # 0xf266
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x322c
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x28c, %rdx            # imm = 0x28C
leaq 0xbfb9(%rip), %rsi      # 0xf1d9
movb $0x0, %al
callq 0x2100
jmp 0x37ed
leaq -0x100(%rbp), %rdi
leaq 0xc03e(%rip), %rsi      # 0xf278
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x327c
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x288, %rdx            # imm = 0x288
leaq 0xbf69(%rip), %rsi      # 0xf1d9
movb $0x0, %al
callq 0x2100
jmp 0x37eb
leaq -0x100(%rbp), %rdi
leaq 0xbffe(%rip), %rsi      # 0xf288
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x32cc
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x290, %rdx            # imm = 0x290
leaq 0xbf19(%rip), %rsi      # 0xf1d9
movb $0x0, %al
callq 0x2100
jmp 0x37e9
leaq -0x100(%rbp), %rdi
leaq 0xbfc2(%rip), %rsi      # 0xf29c
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x331c
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x294, %rdx            # imm = 0x294
leaq 0xbd15(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x37e7
leaq -0x100(%rbp), %rdi
leaq 0xbf83(%rip), %rsi      # 0xf2ad
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x3369
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x78, %rdx
leaq 0xbcc8(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x37e5
leaq -0x100(%rbp), %rdi
leaq 0xbf43(%rip), %rsi      # 0xf2ba
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x33b6
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x64, %rdx
leaq 0xbc7b(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x37e3
leaq -0x100(%rbp), %rdi
leaq 0xbf0b(%rip), %rsi      # 0xf2cf
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x3403
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x68, %rdx
leaq 0xbc2e(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x37e1
leaq -0x100(%rbp), %rdi
leaq 0xbecf(%rip), %rsi      # 0xf2e0
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x3450
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x6c, %rdx
leaq 0xbbe1(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x37df
leaq -0x100(%rbp), %rdi
leaq 0xbe8f(%rip), %rsi      # 0xf2ed
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x349d
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x70, %rdx
leaq 0xbb94(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x37dd
leaq -0x100(%rbp), %rdi
leaq 0xbe4c(%rip), %rsi      # 0xf2f7
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x34ed
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x298, %rdx            # imm = 0x298
leaq 0xbb44(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x37db
leaq -0x100(%rbp), %rdi
leaq 0xbe0b(%rip), %rsi      # 0xf306
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x353a
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x74, %rdx
leaq 0xbaf7(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x37d9
leaq -0x100(%rbp), %rdi
leaq 0xbdcb(%rip), %rsi      # 0xf313
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x358a
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x324, %rdx            # imm = 0x324
leaq 0xbc5b(%rip), %rsi      # 0xf1d9
movb $0x0, %al
callq 0x2100
jmp 0x37d7
leaq -0x100(%rbp), %rdi
leaq 0xbd88(%rip), %rsi      # 0xf320
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x35da
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x330, %rdx            # imm = 0x330
leaq 0xba57(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x37d5
leaq -0x100(%rbp), %rdi
leaq 0xbd4e(%rip), %rsi      # 0xf336
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x362a
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x32c, %rdx            # imm = 0x32C
leaq 0xba07(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x37d3
leaq -0x100(%rbp), %rdi
leaq 0xbd0b(%rip), %rsi      # 0xf343
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x367a
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x328, %rdx            # imm = 0x328
leaq 0xb9b7(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x37d1
leaq -0x100(%rbp), %rdi
leaq 0xbcc9(%rip), %rsi      # 0xf351
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x36ca
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x80, %rdx
leaq 0xbc9e(%rip), %rsi      # 0xf35c
movb $0x0, %al
callq 0x2100
jmp 0x37cf
leaq -0x100(%rbp), %rdi
leaq 0xbc88(%rip), %rsi      # 0xf360
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x371a
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x334, %rdx            # imm = 0x334
leaq 0xb917(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x37cd
leaq -0x100(%rbp), %rdi
leaq 0xbc49(%rip), %rsi      # 0xf371
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x3767
movq -0x120(%rbp), %rax
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rcx
addq %rcx, %rdi
movq 0x340(%rax), %rdx
leaq 0xb8ca(%rip), %rsi      # 0xf028
movb $0x0, %al
callq 0x2100
jmp 0x37cb
leaq -0x100(%rbp), %rdi
leaq 0xbc07(%rip), %rsi      # 0xf37c
callq 0x21e0
movl %eax, -0x110(%rbp)
cmpl $0x0, %eax
jne 0x37b4
movq -0x120(%rbp), %rdx
leaq -0x100(%rbp), %rdi
movslq -0x10c(%rbp), %rax
addq %rax, %rdi
addq $0x348, %rdx            # imm = 0x348
leaq 0xb87a(%rip), %rsi      # 0xf025
movb $0x0, %al
callq 0x2100
jmp 0x37c9
leaq -0x100(%rbp), %rsi
leaq 0xbbc4(%rip), %rdi      # 0xf386
movb $0x0, %al
callq 0x2050
jmp 0x37cb
jmp 0x37cd
jmp 0x37cf
jmp 0x37d1
jmp 0x37d3
jmp 0x37d5
jmp 0x37d7
jmp 0x37d9
jmp 0x37db
jmp 0x37dd
jmp 0x37df
jmp 0x37e1
jmp 0x37e3
jmp 0x37e5
jmp 0x37e7
jmp 0x37e9
jmp 0x37eb
jmp 0x37ed
jmp 0x37ef
jmp 0x37f1
jmp 0x37f3
jmp 0x37f5
jmp 0x37f7
jmp 0x37f9
jmp 0x37fb
jmp 0x37fd
jmp 0x37ff
jmp 0x3801
jmp 0x3803
jmp 0x3805
jmp 0x3807
jmp 0x3809
jmp 0x380b
jmp 0x380d
jmp 0x380f
jmp 0x3811
jmp 0x3813
jmp 0x3815
jmp 0x3817
jmp 0x3819
jmp 0x381b
jmp 0x381d
jmp 0x381f
jmp 0x3821
jmp 0x3823
jmp 0x3825
jmp 0x3827
jmp 0x3829
jmp 0x382b
jmp 0x382d
jmp 0x382f
leaq -0x100(%rbp), %rdi
xorl %esi, %esi
movl $0xc8, %edx
callq 0x20b0
jmp 0x26bd
movq -0x18(%rbp), %rdi
callq 0x2120
addq $0x120, %rsp            # imm = 0x120
popq %rbp
retq
nopl (%rax)