// File: /workspace/github_cpp_makefile_star2_O2/richardposner[P]BioNetFit2/src/code/Swarm.cpp
// Function: Swarm::resultChecking()
vector<pair<int,float> > Swarm::resultChecking(){
float result = 0;
	string outdir = options.outputDir + "/" + options.jobName + "/" + toString(currentGeneration-1) + "/";

	string inputFile1;
	string inputFile2;

	string path;
	string basename1;
	string basename2;

	string outname;

	vector<pair<int,float> > constraintsCount;
	map<int,string> constraint;

	int pnumber;
	int mnumber;
	int subnumber;
	float iteration1;
	float iteration2;

	vector<string> constraintParams;

	/* for(auto it = subparticleCurrParamSets_.begin(); it!=subparticleCurrParamSets_.end(); ++it){
		 //particle, model, parameters
		 for(int i = 0; i < options.models.size(); i++){
			 subnumber = fcalcsubParID(it->first, i, options.models.size());

			 constraintsCount.push_back(make_pair(subnumber,0));
		 }
	 }
*/
	 for(auto it = subparticleCurrParamSets_.begin(); it!=subparticleCurrParamSets_.end(); ++it){
		 cout << "particle :" << it->first << endl;

		 for(unsigned int i = 0; i < options.models.size(); i++){

			 //cout <<  "model: " << i << endl;
			 for(unsigned int j= 0; j < options.models.size(); j++){

				 //if(i!=j && i<j){

					 path = options.models.at(i)->getName();
					 basename1 = getFilename(path);
					 inputFile1 = outdir + basename1 + "_" + toString(it->first) + "_" + "1" + ".gdat";

					 path = options.models.at(j)->getName();
					 basename2 = getFilename(path);
					 inputFile2 = outdir + basename2 + "_" + toString(it->first) + "_" + "1" + ".gdat";

					 cout << "infile 1: " << inputFile1 << endl;
					 cout << "infile 2: " << inputFile2 << endl;
					 //		std::map<int,string> constraints_; //Raquel: added constraint options support
					 outname = outdir + basename1 + "_vs_" + basename2 + "_" + toString(it->first) + ".txt";
					 //add outname as the fourth input
					 //Raquel: adding support to receive different model numbers and time points as input
					 //cout << "Starting model checking, testing for " << options.constraints_.size() << " contraints." << endl;

					 for(auto constraintIt = options.constraints_.begin(); constraintIt != options.constraints_.end(); ++constraintIt){

						 constraintParams = split_string(constraintIt->second, " ");

						 //cout << "consParam 0 " << constraintParams[0] << "consParam 1 " <<  constraintParams[1] << "consParam 2 " <<  constraintParams[2] << "consParam 3 " << constraintParams[3] << "consParam 4 " << endl;
						 constraint.insert(make_pair(constraintIt->first,constraintParams[0]));
						 //cout << "COUNSTRAINT size from swarm: " << constraint.size() << endl;

						 if((i == (unsigned) atoi(constraintParams[1].c_str()) && j== (unsigned) atoi(constraintParams[2].c_str()))){
						 //if((i==atoi(constraintParams[1].c_str()) && j==atoi(constraintParams[2].c_str())) || (i==atoi(constraintParams[1].c_str()) && i==atoi(constraintParams[2].c_str())) || (j==atoi(constraintParams[1].c_str()) && j==atoi(constraintParams[2].c_str()))){

							 iteration1 = atof(constraintParams[3].c_str());
							 iteration2 = atof(constraintParams[4].c_str());


							 result += evaluateResults(inputFile1,inputFile2,constraint, outname, iteration1, iteration2);


							 pnumber = it->first;
							 mnumber = i;
							 subnumber = fcalcsubParID(pnumber, mnumber, options.models.size());

							 //for(auto conscountIt = constraintsCount.begin(); conscountIt != constraintsCount.end(); ++conscountIt){
								 //if(conscountIt->first == subnumber){
									 //constraintsCount.erase(conscountIt);
									 //cout << "adding result " << toString(conscountIt->second+result) << " to constraint count to subpar" << subnumber << endl;
									 //constraintsCount.push_back(make_pair(conscountIt->first, conscountIt->second+result));
								// }


							 //}
							 //constraintsCount[subnumber] = constraintsCount[subnumber]+(float)result;
							 //constraintsCount.push_back(make_pair(subnumber,(float)result));
						 }
						 constraint.clear();



					 }





				 //}

			 }

			 pnumber = it->first;
			 mnumber = i;
			 subnumber = fcalcsubParID(pnumber, mnumber, options.models.size());

			 constraintsCount.push_back(make_pair(subnumber, result));

			 result = 0;
			 //Raquel: added this break so only the first model(wild type), is compared versus the others for now
			//break;

		 }


	 }

	 //for(auto it2 = particleIterationCounter_.begin(); it2!=particleIterationCounter_.end(); it2++){
	//	 cout << "Iteration: " << it2->first << endl;

	 //}


	// for(auto i = constraintsCount.begin(); i != constraintsCount.end(); ++i){
	//	 cout << "constraintCount values: ";
	//	 cout << i->first << " ";
	//	 cout << i->second << endl;
//
//	 }

	 return constraintsCount;

}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x388, %rsp            # imm = 0x388
movq %rdi, 0x20(%rsp)
leaq 0x14c0(%rsi), %rbx
movq %rsi, 0x10(%rsp)
addq $0x1500, %rsi           # imm = 0x1500
leaq 0x594c9(%rip), %rdx     # 0xdd9b7
leaq 0xf0(%rsp), %r14
movq %r14, %rdi
callq 0x334ed
leaq 0xb0(%rsp), %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x334ce
leaq 0x5949f(%rip), %rdx     # 0xdd9b7
leaq 0x68(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
callq 0x3336c
movq 0x10(%rsp), %rax
movl 0x13e8(%rax), %esi
decl %esi
leaq 0x188(%rsp), %rdi
callq 0x9f56b
leaq 0x1c8(%rsp), %rdi
leaq 0x68(%rsp), %rsi
leaq 0x188(%rsp), %rdx
callq 0x4e6ed
leaq 0x59452(%rip), %rdx     # 0xdd9b7
leaq 0x1f8(%rsp), %rdi
leaq 0x1c8(%rsp), %rsi
callq 0x3336c
leaq 0x1c8(%rsp), %rdi
callq 0x295a0
leaq 0x188(%rsp), %r13
movq %r13, %rdi
callq 0x295a0
leaq 0x68(%rsp), %r12
movq %r12, %rdi
callq 0x295a0
leaq 0xb0(%rsp), %rdi
callq 0x295a0
leaq 0xf0(%rsp), %rdi
callq 0x295a0
leaq 0xc0(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
xorl %ecx, %ecx
leaq 0x100(%rsp), %rdx
movq %rdx, -0x10(%rdx)
andq $0x0, -0x8(%rdx)
leaq 0x198(%rsp), %rsi
movq %rsi, -0x10(%rsi)
andq $0x0, -0x8(%rsi)
movb %cl, (%rax)
movb %cl, (%rdx)
leaq 0x268(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
leaq 0x248(%rsp), %rdx
movq %rdx, -0x10(%rdx)
andq $0x0, -0x8(%rdx)
movb %cl, (%rsi)
movb %cl, (%rax)
movb %cl, (%rdx)
leaq 0x228(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb %cl, (%rax)
movq 0x20(%rsp), %rcx
andq $0x0, 0x10(%rcx)
leaq 0x1d0(%rsp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
xorps %xmm0, %xmm0
movups %xmm0, (%rcx)
leaq 0x110(%rsp), %rax
movaps %xmm0, (%rax)
andq $0x0, 0x10(%rax)
movq 0x10(%rsp), %rax
movq 0x1478(%rax), %rdx
leaq 0x1468(%rax), %rcx
movq %rcx, 0x130(%rsp)
leaq 0x15c0(%rax), %rcx
movq %rcx, 0x40(%rsp)
addq $0x15e8, %rax           # imm = 0x15E8
movq %rax, 0x140(%rsp)
leaq 0x168(%rsp), %r14
movq %rdx, 0x18(%rsp)
cmpq 0x130(%rsp), %rdx
je 0x84e0c
movq 0xe18d2(%rip), %rdi     # 0x165f98
leaq 0x5b1cf(%rip), %rsi     # 0xdf89c
callq 0x289f0
movq 0x18(%rsp), %rcx
movl 0x20(%rcx), %esi
movq %rax, %rdi
callq 0x286e0
movq %rax, %rdi
callq 0x284a0
xorl %esi, %esi
movl %esi, %esi
movq 0x10(%rsp), %rcx
movq 0x15c0(%rcx), %rax
movq 0x15c8(%rcx), %rdx
movq %rdx, %rcx
subq %rax, %rcx
sarq $0x3, %rcx
cmpq %rsi, %rcx
jbe 0x84dfa
xorl %edi, %edi
xorps %xmm0, %xmm0
movss %xmm0, 0xc(%rsp)
movq %rsi, 0x28(%rsp)
subq %rax, %rdx
movl %edi, %edi
sarq $0x3, %rdx
movq %rdi, 0x38(%rsp)
cmpq %rdi, %rdx
jbe 0x84dc4
movq 0x40(%rsp), %rdi
callq 0x3374c
movq (%rax), %rsi
addq $0x68, %rsi
movq %r12, %rdi
callq 0x28dd0
movq %r13, %rdi
movq %r12, %rsi
callq 0x28c40
movq %r12, %rdi
callq 0x295a0
leaq 0x368(%rsp), %r15
movq %r15, %rdi
movq %r13, %rsi
callq 0x28dd0
movq %r12, %rdi
movq %r15, %rsi
callq 0x9ed1e
leaq 0x258(%rsp), %rbx
movq %rbx, %rdi
movq %r12, %rsi
callq 0x28c40
movq %r12, %rdi
callq 0x295a0
movq %r15, %rdi
callq 0x295a0
movq %r14, %rdi
leaq 0x1f8(%rsp), %rsi
movq %rbx, %rdx
callq 0x34fc8
leaq 0x48(%rsp), %rdi
movq %r14, %rsi
leaq 0x5159d(%rip), %rdx     # 0xd5d67
callq 0x3336c
movq %r14, %rbx
movq 0x18(%rsp), %rax
movl 0x20(%rax), %esi
leaq 0x148(%rsp), %r14
movq %r14, %rdi
callq 0x9f56b
leaq 0xd0(%rsp), %r15
movq %r15, %rdi
leaq 0x48(%rsp), %rsi
movq %r14, %rdx
callq 0x4e6ed
leaq 0x90(%rsp), %r14
movq %r14, %rdi
movq %r15, %rsi
leaq 0x51550(%rip), %rdx     # 0xd5d67
callq 0x3336c
leaq 0x1a8(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
leaq 0x5bb7a(%rip), %rdx     # 0xe03ab
callq 0x3336c
leaq 0x68(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
leaq 0x5214e(%rip), %rdx     # 0xd6996
callq 0x3336c
leaq 0xb0(%rsp), %rdi
movq %r12, %rsi
callq 0x28c40
movq %r12, %rdi
callq 0x295a0
movq %r15, %rdi
callq 0x295a0
leaq 0x90(%rsp), %rdi
callq 0x295a0
leaq 0xd0(%rsp), %rdi
callq 0x295a0
leaq 0x148(%rsp), %rdi
callq 0x295a0
leaq 0x48(%rsp), %rdi
callq 0x295a0
movq %rbx, %rdi
callq 0x295a0
movq 0x40(%rsp), %rdi
movq 0x38(%rsp), %rsi
callq 0x3374c
movq (%rax), %rsi
addq $0x68, %rsi
movq %r12, %rdi
callq 0x28dd0
movq %r13, %rdi
movq %r12, %rsi
callq 0x28c40
movq %r12, %rdi
callq 0x295a0
leaq 0x348(%rsp), %r14
movq %r14, %rdi
movq %r13, %rsi
callq 0x28dd0
movq %r12, %rdi
movq %r14, %rsi
callq 0x9ed1e
leaq 0x238(%rsp), %r15
movq %r15, %rdi
movq %r12, %rsi
callq 0x28c40
movq %r12, %rdi
callq 0x295a0
movq %r14, %rdi
callq 0x295a0
movq %rbx, %rdi
leaq 0x1f8(%rsp), %rsi
movq %r15, %rdx
callq 0x34fc8
leaq 0x48(%rsp), %rdi
movq %rbx, %rsi
leaq 0x5142d(%rip), %rdx     # 0xd5d67
callq 0x3336c
movq 0x18(%rsp), %rbx
movl 0x20(%rbx), %esi
leaq 0x148(%rsp), %r14
movq %r14, %rdi
callq 0x9f56b
leaq 0xd0(%rsp), %r15
movq %r15, %rdi
leaq 0x48(%rsp), %rsi
movq %r14, %rdx
callq 0x4e6ed
leaq 0x90(%rsp), %r14
movq %r14, %rdi
movq %r15, %rsi
leaq 0x513e3(%rip), %rdx     # 0xd5d67
callq 0x3336c
leaq 0x1a8(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
leaq 0x5ba0d(%rip), %rdx     # 0xe03ab
callq 0x3336c
leaq 0x68(%rsp), %r14
movq %r14, %rdi
movq %r15, %rsi
leaq 0x51fe1(%rip), %rdx     # 0xd6996
callq 0x3336c
leaq 0xf0(%rsp), %rdi
movq %r14, %rsi
callq 0x28c40
movq %r14, %rdi
callq 0x295a0
movq %r15, %rdi
callq 0x295a0
leaq 0x90(%rsp), %rdi
callq 0x295a0
leaq 0xd0(%rsp), %rdi
callq 0x295a0
leaq 0x148(%rsp), %rdi
callq 0x295a0
leaq 0x48(%rsp), %rdi
callq 0x295a0
leaq 0x168(%rsp), %rdi
callq 0x295a0
movq 0xe1579(%rip), %rdi     # 0x165f98
leaq 0x5ae81(%rip), %rsi     # 0xdf8a7
callq 0x289f0
movq %rax, %rdi
leaq 0xb0(%rsp), %rsi
callq 0x28910
movq %rax, %rdi
callq 0x284a0
movq 0xe154e(%rip), %rdi     # 0x165f98
leaq 0x5ae61(%rip), %rsi     # 0xdf8b2
callq 0x289f0
movq %rax, %rdi
leaq 0xf0(%rsp), %rsi
callq 0x28910
movq %rax, %rdi
callq 0x284a0
leaq 0x168(%rsp), %r14
movq %r14, %rdi
leaq 0x1f8(%rsp), %rsi
leaq 0x258(%rsp), %rdx
callq 0x34fc8
leaq 0x48(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
leaq 0x5ae1d(%rip), %rdx     # 0xdf8bd
callq 0x3336c
leaq 0xd0(%rsp), %r14
movq %r14, %rdi
movq %r15, %rsi
leaq 0x238(%rsp), %rdx
callq 0x334ce
leaq 0x90(%rsp), %rdi
movq %r14, %rsi
leaq 0x51295(%rip), %rdx     # 0xd5d67
callq 0x3336c
movl 0x20(%rbx), %esi
leaq 0x148(%rsp), %rbx
movq %rbx, %rdi
callq 0x9f56b
leaq 0x1a8(%rsp), %r14
movq %r14, %rdi
leaq 0x90(%rsp), %rsi
movq %rbx, %rdx
callq 0x4e6ed
leaq 0x68(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
leaq 0x58f44(%rip), %rdx     # 0xdda5b
callq 0x3336c
leaq 0x218(%rsp), %rdi
movq %r15, %rsi
callq 0x28c40
movq %r15, %rdi
callq 0x295a0
movq %r14, %rdi
callq 0x295a0
movq %rbx, %rdi
callq 0x295a0
leaq 0x90(%rsp), %rdi
callq 0x295a0
leaq 0xd0(%rsp), %rdi
callq 0x295a0
leaq 0x48(%rsp), %rdi
callq 0x295a0
leaq 0x168(%rsp), %rdi
callq 0x295a0
movq 0x10(%rsp), %rax
movq 0x15f8(%rax), %rbx
leaq 0x328(%rsp), %r14
cmpq 0x140(%rsp), %rbx
je 0x84d8b
leaq 0x28(%rbx), %rsi
movq %r14, %rdi
callq 0x28dd0
leaq 0x308(%rsp), %rbp
movq %rbp, %rdi
leaq 0x5aa58(%rip), %rsi     # 0xdf60d
leaq 0x1a8(%rsp), %rdx
callq 0x33402
leaq 0x68(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
movq %rbp, %rdx
callq 0x9e9d4
leaq 0x20(%rbx), %r15
leaq 0x110(%rsp), %rdi
movq %r12, %rsi
callq 0x6230a
movq %r12, %rdi
callq 0x3355a
movq %rbp, %rdi
callq 0x295a0
movq %r14, %rdi
callq 0x295a0
movq 0x110(%rsp), %rdx
movq %r12, %rdi
movq %r15, %rsi
callq 0x8bbfa
leaq 0x1c8(%rsp), %rdi
movq %r12, %rsi
callq 0x9dad8
leaq 0x70(%rsp), %rdi
callq 0x295a0
movq 0x110(%rsp), %r15
movq 0x20(%r15), %rdi
callq 0x29050
cmpl %eax, 0x28(%rsp)
jne 0x84d6e
movq 0x40(%r15), %rdi
callq 0x29050
cmpl %eax, 0x38(%rsp)
jne 0x84d6e
movq 0x60(%r15), %rdi
callq 0x28c70
movsd %xmm0, 0x30(%rsp)
movq 0x80(%r15), %rdi
callq 0x28c70
movsd %xmm0, 0x138(%rsp)
leaq 0x278(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
callq 0x28dd0
leaq 0x2e8(%rsp), %r15
movq %r15, %rdi
leaq 0xf0(%rsp), %rsi
callq 0x28dd0
leaq 0x2b8(%rsp), %rdi
leaq 0x1c8(%rsp), %rsi
callq 0x8bc0a
leaq 0x298(%rsp), %r13
movq %r13, %rdi
leaq 0x218(%rsp), %rsi
callq 0x28dd0
cvtsd2ss 0x30(%rsp), %xmm0
cvtsd2ss 0x138(%rsp), %xmm1
movq %r15, %rbp
leaq 0x278(%rsp), %r15
movq %r15, %rdi
movq %rbp, %rsi
leaq 0x2b8(%rsp), %r12
movq %r12, %rdx
movq %r13, %rcx
callq 0x6763e
movss %xmm0, 0x30(%rsp)
movq %r13, %rdi
callq 0x295a0
movq %r12, %rdi
callq 0x35c80
movq %rbp, %rdi
callq 0x295a0
movq %r15, %rdi
callq 0x295a0
movq 0x18(%rsp), %rax
movl 0x20(%rax), %edi
movq 0x10(%rsp), %rax
movq 0x15c8(%rax), %rdx
subq 0x15c0(%rax), %rdx
shrq $0x3, %rdx
movq 0x28(%rsp), %rsi
callq 0x9ec09
movss 0xc(%rsp), %xmm0
addss 0x30(%rsp), %xmm0
movss %xmm0, 0xc(%rsp)
leaq 0x1c8(%rsp), %rdi
callq 0x9db92
movq %rbx, %rdi
callq 0x28700
movq %rax, %rbx
jmp 0x84b89
movq 0x38(%rsp), %rdi
incl %edi
movq 0x10(%rsp), %rcx
movq 0x15c0(%rcx), %rax
movq 0x15c8(%rcx), %rdx
leaq 0x188(%rsp), %r13
leaq 0x168(%rsp), %r14
leaq 0x68(%rsp), %r12
movq 0x28(%rsp), %rsi
jmp 0x84724
movq 0x18(%rsp), %rax
movl 0x20(%rax), %edi
callq 0x9ec09
movl %eax, 0x68(%rsp)
movss 0xc(%rsp), %xmm0
movss %xmm0, 0x6c(%rsp)
movq 0x20(%rsp), %rdi
movq %r12, %rsi
callq 0x9d95a
movq 0x28(%rsp), %rsi
incl %esi
jmp 0x846ec
movq 0x18(%rsp), %rdi
callq 0x28700
movq %rax, %rdx
jmp 0x846ac
leaq 0x110(%rsp), %rdi
callq 0x3355a
leaq 0x1c8(%rsp), %rdi
callq 0x35c80
leaq 0x218(%rsp), %rdi
callq 0x295a0
leaq 0x238(%rsp), %rdi
callq 0x295a0
leaq 0x258(%rsp), %rdi
callq 0x295a0
leaq 0x188(%rsp), %rdi
callq 0x295a0
leaq 0xf0(%rsp), %rdi
callq 0x295a0
leaq 0xb0(%rsp), %rdi
callq 0x295a0
leaq 0x1f8(%rsp), %rdi
callq 0x295a0
movq 0x20(%rsp), %rax
addq $0x388, %rsp            # imm = 0x388
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0x1c8(%rsp), %rdi
callq 0x295a0
jmp 0x84ead
movq %rax, %rbx
leaq 0x188(%rsp), %rdi
callq 0x295a0
jmp 0x84ebf
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0x295a0
jmp 0x84ece
movq %rax, %rbx
leaq 0xb0(%rsp), %rdi
callq 0x295a0
jmp 0x84ee0
movq %rax, %rbx
leaq 0xf0(%rsp), %rdi
jmp 0x850f0
jmp 0x8504f
jmp 0x8504f
jmp 0x8504f
jmp 0x84fcf
jmp 0x84f99
jmp 0x84fd4
movq %rax, %rbx
jmp 0x84f3b
jmp 0x84f8f
movq %rax, %rbx
jmp 0x84f48
jmp 0x84f8a
movq %rax, %rbx
jmp 0x84f2e
movq %rax, %rbx
leaq 0x1a8(%rsp), %rdi
callq 0x295a0
leaq 0x148(%rsp), %rdi
callq 0x295a0
leaq 0x90(%rsp), %rdi
callq 0x295a0
leaq 0xd0(%rsp), %rdi
jmp 0x84fdf
jmp 0x84f80
jmp 0x8504f
jmp 0x84f80
jmp 0x84fcf
movq %rax, %rbx
leaq 0x368(%rsp), %rdi
jmp 0x85071
movq %rax, %rbx
leaq 0x348(%rsp), %rdi
jmp 0x85071
movq %rax, %rbx
jmp 0x84fe4
jmp 0x8504f
movq %rax, %rbx
jmp 0x84fa9
movq %rax, %rbx
jmp 0x84fb6
jmp 0x8504f
movq %rax, %rbx
leaq 0x1a8(%rsp), %rdi
callq 0x295a0
leaq 0x90(%rsp), %rdi
callq 0x295a0
leaq 0xd0(%rsp), %rdi
callq 0x295a0
jmp 0x84fd7
jmp 0x8504f
jmp 0x8504f
movq %rax, %rbx
jmp 0x84fee
movq %rax, %rbx
leaq 0x148(%rsp), %rdi
callq 0x295a0
leaq 0x48(%rsp), %rdi
callq 0x295a0
leaq 0x168(%rsp), %rdi
jmp 0x85071
jmp 0x8504f
jmp 0x8504f
jmp 0x8504f
movq %rax, %rbx
jmp 0x8502a
movq %rax, %rbx
jmp 0x85037
movq %rax, %rbx
leaq 0x298(%rsp), %rdi
callq 0x295a0
jmp 0x8501d
movq %rax, %rbx
leaq 0x2b8(%rsp), %rdi
callq 0x35c80
leaq 0x2e8(%rsp), %rdi
callq 0x295a0
leaq 0x278(%rsp), %rdi
jmp 0x85071
jmp 0x8504f
jmp 0x8504f
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
jmp 0x85071
movq %rax, %rbx
jmp 0x85076
movq %rax, %rbx
jmp 0x85069
movq %rax, %rbx
leaq 0x308(%rsp), %rdi
callq 0x295a0
leaq 0x328(%rsp), %rdi
callq 0x295a0
leaq 0x110(%rsp), %rdi
callq 0x3355a
leaq 0x1c8(%rsp), %rdi
callq 0x35c80
movq 0x20(%rsp), %rdi
callq 0x8be82
leaq 0x218(%rsp), %rdi
callq 0x295a0
leaq 0x238(%rsp), %rdi
callq 0x295a0
leaq 0x258(%rsp), %rdi
callq 0x295a0
leaq 0x188(%rsp), %rdi
callq 0x295a0
leaq 0xf0(%rsp), %rdi
callq 0x295a0
leaq 0xb0(%rsp), %rdi
callq 0x295a0
leaq 0x1f8(%rsp), %rdi
callq 0x295a0
movq %rbx, %rdi
callq 0x292f0