// File: dcarrey[P]hgt-detection/./fonctions.cpp
// Function: readParameters(Parameters*, char**, int)
int readParameters(struct Parameters * param, char **argv, int nargc){

	char champs[100];
	char contenu[100];
	char input[100];
	char output[100];
	char hgtResultFile[100];
	int i;
	sprintf((*param).sort,"yes");
  	sprintf((*param).printWeb,"yes");
	sprintf((*param).criterion,"bd");
	sprintf((*param).verbose,"no");
	sprintf((*param).mode,"multicheck");
	sprintf((*param).viewtree,"no");
	sprintf((*param).generoot,"midpoint");
	sprintf((*param).speciesroot,"midpoint");
	sprintf((*param).load,"no");
	sprintf((*param).version,"consol");
	sprintf((*param).multiple,"no");
	sprintf((*param).multigene,"no");
	sprintf((*param).path,"");
	sprintf(input,"");
	sprintf(output,"output.txt");
	sprintf(hgtResultFile,"hgtresultfile.txt");
	sprintf((*param).scenario,"unique");
	sprintf((*param).subtree,"yes");
	sprintf((*param).bootstrap,"no");
	(*param).nbhgt = 100;
	(*param).bootmin = 0;
	sprintf((*param).special,"no");
	(*param).rand_bootstrap = 0;
	sprintf((*param).stepbystep,"no");
	
	//printf("\nhgt : reading parameters (%d)",nargc);
	
	for(i=1;i<nargc;i++){

		if(ExtraireDonnees(argv[i],champs,contenu)){

			//printf("\nhgt : [%s] -> champs = %s , contenu = %s",argv[i],champs,contenu);

			if(strcmp("help",champs) == 0)
				return -1;
			//======== input file ==============
			if(strcmp("printWeb",champs) == 0){
				strcpy((*param).printWeb,contenu);
			}
			//======== input file ==============
			else if(strcmp("inputfile",champs) == 0){
				strcpy(input,contenu);
			}
			//============ output file ===============
			else if(strcmp("outputfile",champs) == 0){
				strcpy(output,contenu);
			}
			//============ output file ===============
			else if(strcmp("hgtresultfile",champs) == 0){
				strcpy(hgtResultFile,contenu);
			}
			//============ criterion ================
			else if(strcmp("criterion",champs) == 0){
				strcpy((*param).criterion,contenu);
				if(strcmp(contenu,"rf")!=0 && strcmp(contenu,"bd")!=0 && strcmp(contenu,"ls")!=0){
					printf("\nhgt : invalid criterion, accepted values : rf, bd and ls");
					exit(-1);
				}
			}//============ stepbystep ================
			else if(strcmp("stepbystep",champs) == 0){
				strcpy((*param).stepbystep,contenu);
				if(strcmp(contenu,"yes")!=0 && strcmp(contenu,"no")!=0){
					printf("\nhgt : invalid stepbystep value, accepted values : yes or no");
					exit(-1);
				}
			}
			//============= version ===============
			else if(strcmp("version",champs) == 0){
				strcpy((*param).version,contenu);
			}
			//============ species root ===============
			else if(strcmp("speciesroot",champs) == 0){
				strcpy((*param).speciesroot,contenu);
				if(strcmp(contenu,"file")!=0 && strcmp(contenu,"midpoint")!=0){
					printf("\nhgt : invalid speciesroot, accepted values : file and midpoint");
				exit(-1);
				}
			}
			//============ gene root ===============
			else if(strcmp("generoot",champs) == 0){
				strcpy((*param).generoot,contenu);
				if(strcmp(contenu,"file")!=0 && strcmp(contenu,"midpoint")!=0 && strcmp(contenu,"bestrfbranch")!=0){
					printf("\nhgt : invalid generoot, accepted values : file, bestbipartition and midpoint");
					exit(-1);
				}
			}
			//======== load structure ==========
			else if(strcmp("load",champs) == 0){
				strcpy((*param).load,contenu);
			}
			//============ view tree ===============
			else if(strcmp("viewtree",champs) == 0){
				strcpy((*param).viewtree,contenu);
			}
			//============ path data ===========
			else if(strcmp("path",champs) == 0){
				strcpy((*param).path,contenu);
			}
			//============ special ===========
			else if(strcmp("special",champs) == 0){
				strcpy((*param).special,contenu);
			}
			//============ subtree ===========
			else if(strcmp("subtree",champs) == 0){
				strcpy((*param).subtree,contenu);
			}
			//============ scenario ===========
			else if(strcmp("scenario",champs) == 0){
				strcpy((*param).scenario,contenu);
			}
			//============ nbHGT ===========
			else if(strcmp("nbhgt",champs) == 0){
				(*param).nbhgt = atoi(contenu);
			}
			//============ nbHGT ===========
			else if(strcmp("randbootstrap",champs) == 0){
				(*param).rand_bootstrap = atoi(contenu);
			}
			//============ sort ===========
			else if(strcmp("sort",champs) == 0){
				sprintf((*param).sort,"%s",contenu);
				if(strcmp(contenu,"yes") != 0 && strcmp(contenu,"no") !=0){
					printf("\nhgt : incorrect value for [sort], accepted values : yes or no");
					exit(-1);
				}
			}
			//============ bootstrap ===========
			else if(strcmp("bootstrap",champs) == 0){
				sprintf((*param).bootstrap,"%s",contenu);
				if(strcmp(contenu,"yes") != 0 && strcmp(contenu,"no") !=0){
					printf("\nhgt : incorrect value for [bootstrap], accepted values : yes or no");
					exit(-1);
				}
			}
			//============ multigene ===========
			else if(strcmp("multigene",champs) == 0){
				sprintf((*param).multigene,"%s",contenu);
			}
			//============ bootmin ===========
			else if(strcmp("bootmin",champs) == 0){
				(*param).bootmin = atoi(contenu);
			}
			//============ mode ===========
			else if(strcmp("mode",champs) == 0){
				sprintf((*param).mode,"%s",contenu);
				if(strcmp(contenu,"multicheck") != 0 && strcmp(contenu,"monocheck") !=0){
					printf("\nincorrect value for %s, accepted values : multicheck or monocheck",(*param).mode);
					exit(-1);
				}
			}
			//============ verbose ===========
			else if(strcmp("verbose",champs) == 0){
				sprintf((*param).verbose,"%s",contenu);
				if(strcmp(contenu,"yes") != 0 && strcmp(contenu,"no") !=0){
					printf("\nincorrect value for %s, accepted values : yes or no",(*param).verbose);
					exit(-1);
				}
			}
			else{
				printf("\nhgt : incorrect prameter : %s",champs);
				exit(-1);
			}
		}
		else{
			printf("\nhgt : invalid syntax for parameter : %s (needed -parameter=value)" , argv[i]);
			exit(-1);
		}
	}
	
	if(strcmp(input,"")==0){
		printf("\nerror hgt : there is no input file");
		exit(-1);
	}

	sprintf((*param).inputfile,"%s%s",(*param).path,input);
	sprintf((*param).input,"%sinput_.txt",(*param).path);
	sprintf((*param).outputfile,"%s%s",(*param).path,output);
	sprintf((*param).results,"%sresults.txt",(*param).path);
	sprintf((*param).results_bouba,"%sresults2.txt",(*param).path);
	sprintf((*param).hgtResultFile,"%s%s",(*param).path,hgtResultFile);
	sprintf((*param).speciesTree,"%sspeciesTree.txt",(*param).path);
	sprintf((*param).geneTree,"%sgeneTree.txt",(*param).path);
	sprintf((*param).speciesRootfile,"%sspeciesRoot.txt",(*param).path);
	sprintf((*param).speciesRootfileLeaves,"%sspeciesRootLeaves.txt",(*param).path);
	sprintf((*param).geneRootfile,"%sgeneRoot.txt",(*param).path);
	sprintf((*param).errorFile,"%serrorFile.txt",(*param).path);
	sprintf((*param).geneRootfileLeaves,"%sgeneRootLeaves.txt",(*param).path);
	sprintf((*param).speciesTreeWeb,"%sspeciesTreeWeb.txt",(*param).path);
	sprintf((*param).geneTreeWeb,"%sgeneTreeWeb.txt",(*param).path);
	sprintf((*param).outputWeb,"%soutputWeb.txt",(*param).path);
	sprintf((*param).noMoreHgtfile,"%snomorehgt.txt",(*param).path);
	sprintf((*param).prehgtfile,"%sprehgt.txt",(*param).path);
	
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x250, %rsp            # imm = 0x250
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movq -0x10(%rbp), %rdi
addq $0xf78, %rdi            # imm = 0xF78
leaq 0x9973(%rip), %rsi      # 0x259db
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0xa, %rdi
leaq 0x995d(%rip), %rsi      # 0x259db
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0x3fc, %rdi            # imm = 0x3FC
leaq 0x9848(%rip), %rsi      # 0x258df
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0xf46, %rdi            # imm = 0xF46
leaq 0xa66d(%rip), %rsi      # 0x2671d
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0xf14, %rdi            # imm = 0xF14
leaq 0xa403(%rip), %rsi      # 0x264cc
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0x43c, %rdi            # imm = 0x43C
leaq 0xa63b(%rip), %rsi      # 0x2671d
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0x41a, %rdi            # imm = 0x41A
leaq 0xa4fd(%rip), %rsi      # 0x265f8
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0x42e, %rdi            # imm = 0x42E
leaq 0xa4e4(%rip), %rsi      # 0x265f8
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0x438, %rdi            # imm = 0x438
leaq 0xa5f0(%rip), %rsi      # 0x2671d
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0x406, %rdi            # imm = 0x406
leaq 0xa391(%rip), %rsi      # 0x264d7
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0x440, %rdi            # imm = 0x440
leaq 0xa5be(%rip), %rsi      # 0x2671d
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0xf10, %rdi            # imm = 0xF10
leaq 0xa5a5(%rip), %rsi      # 0x2671d
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0x444, %rdi            # imm = 0x444
leaq 0xa067(%rip), %rsi      # 0x261f8
movb $0x0, %al
callq 0x1040
leaq -0x160(%rbp), %rdi
leaq 0xa052(%rip), %rsi      # 0x261f8
movb $0x0, %al
callq 0x1040
leaq -0x1d0(%rbp), %rdi
leaq 0x91e0(%rip), %rsi      # 0x2539b
movb $0x0, %al
callq 0x1040
leaq -0x240(%rbp), %rdi
leaq 0xa30e(%rip), %rsi      # 0x264de
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0xea2, %rdi            # imm = 0xEA2
leaq 0xabf6(%rip), %rsi      # 0x26ddf
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0xe9e, %rdi            # imm = 0xE9E
leaq 0x97d9(%rip), %rsi      # 0x259db
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0xf0c, %rdi            # imm = 0xF0C
leaq 0xa502(%rip), %rsi      # 0x2671d
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rax
movl $0x64, 0xf08(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0xf84(%rax)
movq -0x10(%rbp), %rdi
leaq 0xa4d4(%rip), %rsi      # 0x2671d
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rax
movl $0x0, 0xf88(%rax)
movq -0x10(%rbp), %rdi
addq $0xf8c, %rdi            # imm = 0xF8C
leaq 0xa4ad(%rip), %rsi      # 0x2671d
movb $0x0, %al
callq 0x1040
movl $0x1, -0x244(%rbp)
movl -0x244(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x1ca64
movq -0x18(%rbp), %rax
movslq -0x244(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq -0x80(%rbp), %rsi
leaq -0xf0(%rbp), %rdx
callq 0x1bf30
cmpl $0x0, %eax
je 0x1ca27
leaq -0x80(%rbp), %rsi
leaq 0xa22d(%rip), %rdi      # 0x264f0
callq 0x1130
cmpl $0x0, %eax
jne 0x1c2d9
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x1cd35
leaq -0x80(%rbp), %rsi
leaq 0xa211(%rip), %rdi      # 0x264f5
callq 0x1130
cmpl $0x0, %eax
jne 0x1c307
movq -0x10(%rbp), %rdi
addq $0xa, %rdi
leaq -0xf0(%rbp), %rsi
callq 0x1080
jmp 0x1ca25
leaq -0x80(%rbp), %rsi
leaq 0xa1ec(%rip), %rdi      # 0x264fe
callq 0x1130
cmpl $0x0, %eax
jne 0x1c334
leaq -0x160(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0x1080
jmp 0x1ca23
leaq -0x80(%rbp), %rsi
leaq 0xa1c9(%rip), %rdi      # 0x26508
callq 0x1130
cmpl $0x0, %eax
jne 0x1c361
leaq -0x1d0(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0x1080
jmp 0x1ca21
leaq -0x80(%rbp), %rsi
leaq 0xa1a7(%rip), %rdi      # 0x26513
callq 0x1130
cmpl $0x0, %eax
jne 0x1c38e
leaq -0x240(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0x1080
jmp 0x1ca1f
leaq -0x80(%rbp), %rsi
leaq 0xa188(%rip), %rdi      # 0x26521
callq 0x1130
cmpl $0x0, %eax
jne 0x1c41f
movq -0x10(%rbp), %rdi
addq $0x3fc, %rdi            # imm = 0x3FC
leaq -0xf0(%rbp), %rsi
callq 0x1080
leaq -0xf0(%rbp), %rdi
leaq 0x94e9(%rip), %rsi      # 0x258b1
callq 0x1130
cmpl $0x0, %eax
je 0x1c41a
leaq -0xf0(%rbp), %rdi
leaq 0x94ff(%rip), %rsi      # 0x258df
callq 0x1130
cmpl $0x0, %eax
je 0x1c41a
leaq -0xf0(%rbp), %rdi
leaq 0xa16a(%rip), %rsi      # 0x26562
callq 0x1130
cmpl $0x0, %eax
je 0x1c41a
leaq 0xa122(%rip), %rdi      # 0x2652b
movb $0x0, %al
callq 0x1030
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x10f0
jmp 0x1ca1d
leaq -0x80(%rbp), %rsi
leaq 0xa13b(%rip), %rdi      # 0x26565
callq 0x1130
cmpl $0x0, %eax
jne 0x1c498
movq -0x10(%rbp), %rdi
addq $0xf8c, %rdi            # imm = 0xF8C
leaq -0xf0(%rbp), %rsi
callq 0x1080
leaq -0xf0(%rbp), %rdi
leaq 0x9582(%rip), %rsi      # 0x259db
callq 0x1130
cmpl $0x0, %eax
je 0x1c493
leaq -0xf0(%rbp), %rdi
leaq 0xa2ac(%rip), %rsi      # 0x2671d
callq 0x1130
cmpl $0x0, %eax
je 0x1c493
leaq 0xa0ee(%rip), %rdi      # 0x26570
movb $0x0, %al
callq 0x1030
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x10f0
jmp 0x1ca1b
leaq -0x80(%rbp), %rsi
leaq 0xa10a(%rip), %rdi      # 0x265ad
callq 0x1130
cmpl $0x0, %eax
jne 0x1c4c9
movq -0x10(%rbp), %rdi
addq $0x406, %rdi            # imm = 0x406
leaq -0xf0(%rbp), %rsi
callq 0x1080
jmp 0x1ca19
leaq -0x80(%rbp), %rsi
leaq 0xa0e1(%rip), %rdi      # 0x265b5
callq 0x1130
cmpl $0x0, %eax
jne 0x1c542
movq -0x10(%rbp), %rdi
addq $0x42e, %rdi            # imm = 0x42E
leaq -0xf0(%rbp), %rsi
callq 0x1080
leaq -0xf0(%rbp), %rdi
leaq 0xa44e(%rip), %rsi      # 0x26951
callq 0x1130
cmpl $0x0, %eax
je 0x1c53d
leaq -0xf0(%rbp), %rdi
leaq 0xa0dd(%rip), %rsi      # 0x265f8
callq 0x1130
cmpl $0x0, %eax
je 0x1c53d
leaq 0xa095(%rip), %rdi      # 0x265c1
movb $0x0, %al
callq 0x1030
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x10f0
jmp 0x1ca17
leaq -0x80(%rbp), %rsi
leaq 0xa0b4(%rip), %rdi      # 0x26601
callq 0x1130
cmpl $0x0, %eax
jne 0x1c5d3
movq -0x10(%rbp), %rdi
addq $0x41a, %rdi            # imm = 0x41A
leaq -0xf0(%rbp), %rsi
callq 0x1080
leaq -0xf0(%rbp), %rdi
leaq 0xa3d5(%rip), %rsi      # 0x26951
callq 0x1130
cmpl $0x0, %eax
je 0x1c5ce
leaq -0xf0(%rbp), %rdi
leaq 0xa064(%rip), %rsi      # 0x265f8
callq 0x1130
cmpl $0x0, %eax
je 0x1c5ce
leaq -0xf0(%rbp), %rdi
leaq 0x9ebd(%rip), %rsi      # 0x26469
callq 0x1130
cmpl $0x0, %eax
je 0x1c5ce
leaq 0xa04d(%rip), %rdi      # 0x2660a
movb $0x0, %al
callq 0x1030
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x10f0
jmp 0x1ca15
leaq -0x80(%rbp), %rsi
leaq 0xa07a(%rip), %rdi      # 0x26658
callq 0x1130
cmpl $0x0, %eax
jne 0x1c604
movq -0x10(%rbp), %rdi
addq $0x438, %rdi            # imm = 0x438
leaq -0xf0(%rbp), %rsi
callq 0x1080
jmp 0x1ca13
leaq -0x80(%rbp), %rsi
leaq 0xa04e(%rip), %rdi      # 0x2665d
callq 0x1130
cmpl $0x0, %eax
jne 0x1c635
movq -0x10(%rbp), %rdi
addq $0x43c, %rdi            # imm = 0x43C
leaq -0xf0(%rbp), %rsi
callq 0x1080
jmp 0x1ca11
leaq -0x80(%rbp), %rsi
leaq 0xa026(%rip), %rdi      # 0x26666
callq 0x1130
cmpl $0x0, %eax
jne 0x1c666
movq -0x10(%rbp), %rdi
addq $0x444, %rdi            # imm = 0x444
leaq -0xf0(%rbp), %rsi
callq 0x1080
jmp 0x1ca0f
leaq -0x80(%rbp), %rsi
leaq 0x9ffa(%rip), %rdi      # 0x2666b
callq 0x1130
cmpl $0x0, %eax
jne 0x1c690
movq -0x10(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0x1080
jmp 0x1ca0d
leaq -0x80(%rbp), %rsi
leaq 0x9fd8(%rip), %rdi      # 0x26673
callq 0x1130
cmpl $0x0, %eax
jne 0x1c6c1
movq -0x10(%rbp), %rdi
addq $0xe9e, %rdi            # imm = 0xE9E
leaq -0xf0(%rbp), %rsi
callq 0x1080
jmp 0x1ca0b
leaq -0x80(%rbp), %rsi
leaq 0x9faf(%rip), %rdi      # 0x2667b
callq 0x1130
cmpl $0x0, %eax
jne 0x1c6f2
movq -0x10(%rbp), %rdi
addq $0xea2, %rdi            # imm = 0xEA2
leaq -0xf0(%rbp), %rsi
callq 0x1080
jmp 0x1ca09
leaq -0x80(%rbp), %rsi
leaq 0x9f87(%rip), %rdi      # 0x26684
callq 0x1130
cmpl $0x0, %eax
jne 0x1c724
leaq -0xf0(%rbp), %rdi
callq 0x1150
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0xf08(%rax)
jmp 0x1ca07
leaq -0x80(%rbp), %rsi
leaq 0x9f5b(%rip), %rdi      # 0x2668a
callq 0x1130
cmpl $0x0, %eax
jne 0x1c756
leaq -0xf0(%rbp), %rdi
callq 0x1150
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0xf88(%rax)
jmp 0x1ca05
leaq -0x80(%rbp), %rsi
leaq 0x9f37(%rip), %rdi      # 0x26698
callq 0x1130
cmpl $0x0, %eax
jne 0x1c7d8
movq -0x10(%rbp), %rdi
addq $0xf78, %rdi            # imm = 0xF78
leaq -0xf0(%rbp), %rdx
leaq 0x9d45(%rip), %rsi      # 0x264c9
movb $0x0, %al
callq 0x1040
leaq -0xf0(%rbp), %rdi
leaq 0x9242(%rip), %rsi      # 0x259db
callq 0x1130
cmpl $0x0, %eax
je 0x1c7d3
leaq -0xf0(%rbp), %rdi
leaq 0x9f6c(%rip), %rsi      # 0x2671d
callq 0x1130
cmpl $0x0, %eax
je 0x1c7d3
leaq 0x9edb(%rip), %rdi      # 0x2669d
movb $0x0, %al
callq 0x1030
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x10f0
jmp 0x1ca03
leaq -0x80(%rbp), %rsi
leaq 0x9eab(%rip), %rdi      # 0x2668e
callq 0x1130
cmpl $0x0, %eax
jne 0x1c85a
movq -0x10(%rbp), %rdi
addq $0xf0c, %rdi            # imm = 0xF0C
leaq -0xf0(%rbp), %rdx
leaq 0x9cc3(%rip), %rsi      # 0x264c9
movb $0x0, %al
callq 0x1040
leaq -0xf0(%rbp), %rdi
leaq 0x91c0(%rip), %rsi      # 0x259db
callq 0x1130
cmpl $0x0, %eax
je 0x1c855
leaq -0xf0(%rbp), %rdi
leaq 0x9eea(%rip), %rsi      # 0x2671d
callq 0x1130
cmpl $0x0, %eax
je 0x1c855
leaq 0x9e98(%rip), %rdi      # 0x266dc
movb $0x0, %al
callq 0x1030
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x10f0
jmp 0x1ca01
leaq -0x80(%rbp), %rsi
leaq 0x9ebb(%rip), %rdi      # 0x26720
callq 0x1130
cmpl $0x0, %eax
jne 0x1c894
movq -0x10(%rbp), %rdi
addq $0xf10, %rdi            # imm = 0xF10
leaq -0xf0(%rbp), %rdx
leaq 0x9c41(%rip), %rsi      # 0x264c9
movb $0x0, %al
callq 0x1040
jmp 0x1c9ff
leaq -0x80(%rbp), %rsi
leaq 0x9e8b(%rip), %rdi      # 0x2672a
callq 0x1130
cmpl $0x0, %eax
jne 0x1c8c6
leaq -0xf0(%rbp), %rdi
callq 0x1150
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0xf84(%rax)
jmp 0x1c9fd
leaq -0x80(%rbp), %rsi
leaq 0x9e61(%rip), %rdi      # 0x26732
callq 0x1130
cmpl $0x0, %eax
jne 0x1c953
movq -0x10(%rbp), %rdi
addq $0xf14, %rdi            # imm = 0xF14
leaq -0xf0(%rbp), %rdx
leaq 0x9bd5(%rip), %rsi      # 0x264c9
movb $0x0, %al
callq 0x1040
leaq -0xf0(%rbp), %rdi
leaq 0x9bc3(%rip), %rsi      # 0x264cc
callq 0x1130
cmpl $0x0, %eax
je 0x1c94e
leaq -0xf0(%rbp), %rdi
leaq 0x9e4f(%rip), %rsi      # 0x26770
callq 0x1130
cmpl $0x0, %eax
je 0x1c94e
movq -0x10(%rbp), %rsi
addq $0xf14, %rsi            # imm = 0xF14
leaq 0x9dfa(%rip), %rdi      # 0x26737
movb $0x0, %al
callq 0x1030
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x10f0
jmp 0x1c9fb
leaq -0x80(%rbp), %rsi
leaq 0x9e1c(%rip), %rdi      # 0x2677a
callq 0x1130
cmpl $0x0, %eax
jne 0x1c9dd
movq -0x10(%rbp), %rdi
addq $0xf46, %rdi            # imm = 0xF46
leaq -0xf0(%rbp), %rdx
leaq 0x9b48(%rip), %rsi      # 0x264c9
movb $0x0, %al
callq 0x1040
leaq -0xf0(%rbp), %rdi
leaq 0x9045(%rip), %rsi      # 0x259db
callq 0x1130
cmpl $0x0, %eax
je 0x1c9db
leaq -0xf0(%rbp), %rdi
leaq 0x9d6f(%rip), %rsi      # 0x2671d
callq 0x1130
cmpl $0x0, %eax
je 0x1c9db
movq -0x10(%rbp), %rsi
addq $0xf46, %rsi            # imm = 0xF46
leaq 0x9db8(%rip), %rdi      # 0x26782
movb $0x0, %al
callq 0x1030
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x10f0
jmp 0x1c9f9
leaq -0x80(%rbp), %rsi
leaq 0x9dcf(%rip), %rdi      # 0x267b7
movb $0x0, %al
callq 0x1030
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x10f0
jmp 0x1c9fb
jmp 0x1c9fd
jmp 0x1c9ff
jmp 0x1ca01
jmp 0x1ca03
jmp 0x1ca05
jmp 0x1ca07
jmp 0x1ca09
jmp 0x1ca0b
jmp 0x1ca0d
jmp 0x1ca0f
jmp 0x1ca11
jmp 0x1ca13
jmp 0x1ca15
jmp 0x1ca17
jmp 0x1ca19
jmp 0x1ca1b
jmp 0x1ca1d
jmp 0x1ca1f
jmp 0x1ca21
jmp 0x1ca23
jmp 0x1ca25
jmp 0x1ca4e
movq -0x18(%rbp), %rax
movslq -0x244(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
leaq 0x9d99(%rip), %rdi      # 0x267d6
movb $0x0, %al
callq 0x1030
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x10f0
jmp 0x1ca50
movl -0x244(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x244(%rbp)
jmp 0x1c281
leaq -0x160(%rbp), %rdi
leaq 0x9786(%rip), %rsi      # 0x261f8
callq 0x1130
cmpl $0x0, %eax
jne 0x1ca94
leaq 0x9d96(%rip), %rdi      # 0x26819
movb $0x0, %al
callq 0x1030
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x10f0
movq -0x10(%rbp), %rdi
addq $0x14, %rdi
movq -0x10(%rbp), %rdx
addq $0x444, %rdx            # imm = 0x444
leaq -0x160(%rbp), %rcx
leaq 0x97e7(%rip), %rsi      # 0x2629c
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0x476, %rdi            # imm = 0x476
movq -0x10(%rbp), %rdx
addq $0x444, %rdx            # imm = 0x444
leaq 0x9d64(%rip), %rsi      # 0x2683d
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0x26c, %rdi            # imm = 0x26C
movq -0x10(%rbp), %rdx
addq $0x444, %rdx            # imm = 0x444
leaq -0x1d0(%rbp), %rcx
leaq 0x9798(%rip), %rsi      # 0x2629c
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0xdc, %rdi
movq -0x10(%rbp), %rdx
addq $0x444, %rdx            # imm = 0x444
leaq 0x9d22(%rip), %rsi      # 0x2684a
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0x1a4, %rdi            # imm = 0x1A4
movq -0x10(%rbp), %rdx
addq $0x444, %rdx            # imm = 0x444
leaq 0x9d0c(%rip), %rsi      # 0x26858
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0x334, %rdi            # imm = 0x334
movq -0x10(%rbp), %rdx
addq $0x444, %rdx            # imm = 0x444
leaq -0x240(%rbp), %rcx
leaq 0x9725(%rip), %rsi      # 0x2629c
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0x53e, %rdi            # imm = 0x53E
movq -0x10(%rbp), %rdx
addq $0x444, %rdx            # imm = 0x444
leaq 0x9ccc(%rip), %rsi      # 0x26867
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0x606, %rdi            # imm = 0x606
movq -0x10(%rbp), %rdx
addq $0x444, %rdx            # imm = 0x444
leaq 0x9cba(%rip), %rsi      # 0x26879
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0x85e, %rdi            # imm = 0x85E
movq -0x10(%rbp), %rdx
addq $0x444, %rdx            # imm = 0x444
leaq 0x9ca5(%rip), %rsi      # 0x26888
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0x926, %rdi            # imm = 0x926
movq -0x10(%rbp), %rdx
addq $0x444, %rdx            # imm = 0x444
leaq 0x9c93(%rip), %rsi      # 0x2689a
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0x9ee, %rdi            # imm = 0x9EE
movq -0x10(%rbp), %rdx
addq $0x444, %rdx            # imm = 0x444
leaq 0x9c87(%rip), %rsi      # 0x268b2
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0x6ce, %rdi            # imm = 0x6CE
movq -0x10(%rbp), %rdx
addq $0x444, %rdx            # imm = 0x444
leaq 0x9c72(%rip), %rsi      # 0x268c1
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0xab6, %rdi            # imm = 0xAB6
movq -0x10(%rbp), %rdx
addq $0x444, %rdx            # imm = 0x444
leaq 0x9c5e(%rip), %rsi      # 0x268d1
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0xb7e, %rdi            # imm = 0xB7E
movq -0x10(%rbp), %rdx
addq $0x444, %rdx            # imm = 0x444
leaq 0x9c4f(%rip), %rsi      # 0x268e6
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0xc46, %rdi            # imm = 0xC46
movq -0x10(%rbp), %rdx
addq $0x444, %rdx            # imm = 0x444
leaq 0x9c40(%rip), %rsi      # 0x268fb
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0xd0e, %rdi            # imm = 0xD0E
movq -0x10(%rbp), %rdx
addq $0x444, %rdx            # imm = 0x444
leaq 0x9c2e(%rip), %rsi      # 0x2690d
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0x796, %rdi            # imm = 0x796
movq -0x10(%rbp), %rdx
addq $0x444, %rdx            # imm = 0x444
leaq 0x9c1a(%rip), %rsi      # 0x2691d
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rdi
addq $0xdd6, %rdi            # imm = 0xDD6
movq -0x10(%rbp), %rdx
addq $0x444, %rdx            # imm = 0x444
leaq 0x9c06(%rip), %rsi      # 0x2692d
movb $0x0, %al
callq 0x1040
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x250, %rsp            # imm = 0x250
popq %rbp
retq
nopw %cs:(%rax,%rax)