// File: /workspace/github_cpp_makefile_star2_O1/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 $0x378, %rsp            # imm = 0x378
movq %rsi, %r14
movq %rdi, 0x168(%rsp)
leaq 0xf0(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x1500(%rsi), %rsi
movq 0x1508(%r14), %rdx
addq %rsi, %rdx
leaq 0xe0(%rsp), %rbx
movq %rbx, %rdi
callq 0x32180
leaq 0x5a2fd(%rip), %rsi     # 0xff7e7
movq %rbx, %rdi
callq 0x233b0
movq 0x14c0(%r14), %rsi
movq 0x14c8(%r14), %rdx
leaq 0xe0(%rsp), %rdi
callq 0x222b0
leaq 0x130(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa553d
movq %rdx, 0x120(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x130(%rsp)
jmp 0xa5543
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq 0x120(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x5a27e(%rip), %rsi     # 0xff7e7
callq 0x233b0
leaq 0x10(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa5594
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0xa559a
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl 0x13e8(%r14), %esi
decl %esi
leaq 0x100(%rsp), %rdi
callq 0xc03b8
movq (%rsp), %rcx
movq 0x8(%rsp), %r8
movq 0x108(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %esi
leaq 0x10(%rsp), %rdi
cmpq %rdi, %rcx
je 0xa55f1
movq 0x10(%rsp), %rsi
cmpq %rsi, %rax
jbe 0xa5616
leaq 0x110(%rsp), %rdi
movl $0xf, %esi
cmpq %rdi, -0x10(%rdi)
je 0xa5611
movq 0x110(%rsp), %rsi
cmpq %rsi, %rax
jbe 0xa5628
movq 0x100(%rsp), %rsi
movq %rsp, %rdi
callq 0x222b0
jmp 0xa5639
leaq 0x100(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x22a80
leaq 0x1d8(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0xa5666
movq %rsi, 0x1c8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1d8(%rsp)
jmp 0xa566c
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x1d0(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x5a154(%rip), %rsi     # 0xff7e7
leaq 0x1c8(%rsp), %rdi
callq 0x233b0
leaq 0x1b0(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa56d0
movq %rdx, 0x1a0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1b0(%rsp)
jmp 0xa56d6
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x1a8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x1d8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xa5712
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x229c0
leaq 0x110(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xa5733
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x229c0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0xa574e
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x120(%rsp), %rdi
leaq 0x130(%rsp), %rcx
cmpq %rcx, %rdi
je 0xa577b
movq 0x130(%rsp), %rsi
incq %rsi
callq 0x229c0
leaq 0x130(%rsp), %rcx
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0xa57a8
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x229c0
leaq 0x130(%rsp), %rcx
movq %rcx, 0x120(%rsp)
xorl %eax, %eax
movq %rax, 0x128(%rsp)
movb %al, 0x130(%rsp)
leaq 0xf0(%rsp), %rcx
movq %rcx, 0xe0(%rsp)
movq %rax, 0xe8(%rsp)
movb %al, 0xf0(%rsp)
leaq 0x110(%rsp), %rcx
movq %rcx, 0x100(%rsp)
movq %rax, 0x108(%rsp)
movb %al, 0x110(%rsp)
leaq 0x2a8(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x208(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x288(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
movq 0x168(%rsp), %rcx
movq %rax, 0x10(%rcx)
xorps %xmm0, %xmm0
movups %xmm0, (%rcx)
leaq 0x1d0(%rsp), %rcx
movl $0x0, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
movq %rax, 0x190(%rsp)
movaps %xmm0, 0x180(%rsp)
movq 0x1478(%r14), %rcx
leaq 0x1468(%r14), %rax
movq %rax, 0x338(%rsp)
movq %rcx, 0xd0(%rsp)
cmpq %rax, %rcx
je 0xa6a7a
leaq 0x15e8(%r14), %rax
movq %rax, 0x1c0(%rsp)
movq 0xd06de(%rip), %rdi     # 0x175f90
movq %rsp, %rbp
leaq 0x70(%rsp), %r13
leaq 0x1c8(%rsp), %r12
movq %r14, 0x140(%rsp)
movl $0xa, %edx
leaq 0x5bdf6(%rip), %rsi     # 0x1016cc
callq 0x22ab0
movq 0xd0(%rsp), %rax
movl 0x20(%rax), %esi
movq 0xd06a3(%rip), %rdi     # 0x175f90
callq 0x22650
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x22940
movsbl %al, %esi
movq %rbx, %rdi
callq 0x22050
movq %rax, %rdi
callq 0x22660
movq 0x15c8(%r14), %rax
cmpq 0x15c0(%r14), %rax
movq %r14, %rbx
je 0xa6a4d
xorl %r14d, %r14d
movq 0x15c0(%rbx), %rax
movq 0x15c8(%rbx), %rcx
movq %rcx, %rdx
subq %rax, %rdx
sarq $0x3, %rdx
cmpq %rax, %rcx
je 0xa69f9
xorps %xmm0, %xmm0
movss %xmm0, 0xdc(%rsp)
xorl %esi, %esi
cmpq %r14, %rdx
jbe 0xa6bbf
movq %rsi, 0x178(%rsp)
movq (%rax,%r14,8), %rax
leaq 0x10(%rsp), %rbx
movq %rbx, (%rsp)
movq 0x68(%rax), %rsi
movq 0x70(%rax), %rdx
addq %rsi, %rdx
movq %rbp, %rdi
callq 0x32180
leaq 0x100(%rsp), %rdi
movq %rbp, %rsi
callq 0x22bb0
movq (%rsp), %rdi
cmpq %rbx, %rdi
je 0xa59bc
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
leaq 0x328(%rsp), %rax
movq %rax, 0x318(%rsp)
movq 0x100(%rsp), %rsi
movq 0x108(%rsp), %rdx
addq %rsi, %rdx
leaq 0x318(%rsp), %rbx
movq %rbx, %rdi
callq 0x32180
movq %rbp, %rdi
movq %rbx, %rsi
callq 0xbf437
leaq 0x298(%rsp), %rdi
movq %rbp, %rsi
callq 0x22bb0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0xa5a25
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x318(%rsp), %rdi
leaq 0x328(%rsp), %rax
cmpq %rax, %rdi
je 0xa5a4a
movq 0x328(%rsp), %rsi
incq %rsi
callq 0x229c0
leaq 0x148(%rsp), %rbx
movq %rbx, %rdi
leaq 0x1a0(%rsp), %rsi
leaq 0x298(%rsp), %rdx
callq 0x33608
movq %rbx, %rdi
leaq 0x523f3(%rip), %rsi     # 0xf7e67
callq 0x233b0
leaq 0x60(%rsp), %rsi
movq %rsi, 0x50(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa5aa1
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0xa5aa7
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x58(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0xd0(%rsp), %rax
movl 0x20(%rax), %esi
leaq 0xb0(%rsp), %rdi
callq 0xc03b8
movq 0x50(%rsp), %rcx
movl $0xf, %esi
leaq 0x60(%rsp), %rax
cmpq %rax, %rcx
je 0xa5af0
movq 0x60(%rsp), %rsi
movq 0x58(%rsp), %r8
movq 0xb8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0xa5b2a
movl $0xf, %esi
leaq 0xc0(%rsp), %rdi
cmpq %rdi, 0xb0(%rsp)
je 0xa5b25
movq 0xc0(%rsp), %rsi
cmpq %rsi, %rax
jbe 0xa5b3e
movq 0xb0(%rsp), %rsi
leaq 0x50(%rsp), %rdi
callq 0x222b0
jmp 0xa5b4f
leaq 0xb0(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x22a80
leaq 0x40(%rsp), %rsi
movq %rsi, 0x30(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0xa5b74
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0xa5b7a
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x38(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x30(%rsp), %rdi
leaq 0x522c4(%rip), %rsi     # 0xf7e67
callq 0x233b0
leaq 0xa0(%rsp), %rsi
movq %rsi, 0x90(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa5bdc
movq %rdx, 0x90(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xa0(%rsp)
jmp 0xa5be2
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x98(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x90(%rsp), %rdi
leaq 0x52ff0(%rip), %rsi     # 0xf8bfc
callq 0x233b0
leaq 0x80(%rsp), %rsi
movq %rsi, 0x70(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa5c3f
movq %rdx, 0x70(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x80(%rsp)
jmp 0xa5c45
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x78(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r13, %rdi
leaq 0x52e2f(%rip), %rsi     # 0xf8a96
callq 0x233b0
leaq 0x10(%rsp), %rbx
movq %rbx, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa5c92
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0xa5c98
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x120(%rsp), %rdi
movq %rbp, %rsi
callq 0x22bb0
movq (%rsp), %rdi
cmpq %rbx, %rdi
je 0xa5cd6
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0xa5cf8
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0xa5d1d
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0xa5d39
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0xa5d5e
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0xa5d7a
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0xa5d9f
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x140(%rsp), %rcx
movq 0x15c0(%rcx), %rax
movq 0x15c8(%rcx), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
movq 0x178(%rsp), %rsi
cmpq %rsi, %rdx
jbe 0xa6bb1
movq (%rax,%rsi,8), %rax
leaq 0x10(%rsp), %rbx
movq %rbx, (%rsp)
movq 0x68(%rax), %rsi
movq 0x70(%rax), %rdx
addq %rsi, %rdx
movq %rbp, %rdi
callq 0x32180
leaq 0x100(%rsp), %rdi
movq %rbp, %rsi
callq 0x22bb0
movq (%rsp), %rdi
cmpq %rbx, %rdi
je 0xa5e13
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
leaq 0x308(%rsp), %rax
movq %rax, 0x2f8(%rsp)
movq 0x100(%rsp), %rsi
movq 0x108(%rsp), %rdx
addq %rsi, %rdx
leaq 0x2f8(%rsp), %rbx
movq %rbx, %rdi
callq 0x32180
movq %rbp, %rdi
movq %rbx, %rsi
callq 0xbf437
leaq 0x1f8(%rsp), %rdi
movq %rbp, %rsi
callq 0x22bb0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0xa5e7c
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x2f8(%rsp), %rdi
leaq 0x308(%rsp), %rax
cmpq %rax, %rdi
je 0xa5ea1
movq 0x308(%rsp), %rsi
incq %rsi
callq 0x229c0
leaq 0x148(%rsp), %rbx
movq %rbx, %rdi
leaq 0x1a0(%rsp), %rsi
leaq 0x1f8(%rsp), %rdx
callq 0x33608
movq %rbx, %rdi
leaq 0x51f9c(%rip), %rsi     # 0xf7e67
callq 0x233b0
leaq 0x60(%rsp), %rsi
movq %rsi, 0x50(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa5ef8
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0xa5efe
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x58(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0xd0(%rsp), %rax
movl 0x20(%rax), %esi
leaq 0xb0(%rsp), %rdi
callq 0xc03b8
movq 0x50(%rsp), %rcx
movl $0xf, %esi
leaq 0x60(%rsp), %rax
cmpq %rax, %rcx
je 0xa5f47
movq 0x60(%rsp), %rsi
movq 0x58(%rsp), %r8
movq 0xb8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0xa5f81
movl $0xf, %esi
leaq 0xc0(%rsp), %rdi
cmpq %rdi, 0xb0(%rsp)
je 0xa5f7c
movq 0xc0(%rsp), %rsi
cmpq %rsi, %rax
jbe 0xa5f95
movq 0xb0(%rsp), %rsi
leaq 0x50(%rsp), %rdi
callq 0x222b0
jmp 0xa5fa6
leaq 0xb0(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x22a80
leaq 0x40(%rsp), %rsi
movq %rsi, 0x30(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0xa5fcb
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0xa5fd1
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x38(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x30(%rsp), %rdi
leaq 0x51e6d(%rip), %rsi     # 0xf7e67
callq 0x233b0
leaq 0xa0(%rsp), %rsi
movq %rsi, 0x90(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa6033
movq %rdx, 0x90(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xa0(%rsp)
jmp 0xa6039
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x98(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x90(%rsp), %rdi
leaq 0x52b99(%rip), %rsi     # 0xf8bfc
callq 0x233b0
leaq 0x80(%rsp), %rsi
movq %rsi, 0x70(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa6096
movq %rdx, 0x70(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x80(%rsp)
jmp 0xa609c
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x78(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r13, %rdi
leaq 0x529d8(%rip), %rsi     # 0xf8a96
callq 0x233b0
leaq 0x10(%rsp), %rbx
movq %rbx, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa60e9
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0xa60ef
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xe0(%rsp), %rdi
movq %rbp, %rsi
callq 0x22bb0
movq (%rsp), %rdi
cmpq %rbx, %rdi
je 0xa612d
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
movq 0xcfe4c(%rip), %rbx     # 0x175f90
je 0xa6156
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0xa617b
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0xa6197
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0xa61bc
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0xa61d8
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0xa61fd
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x229c0
movl $0xa, %edx
movq %rbx, %rdi
leaq 0x5b4cb(%rip), %rsi     # 0x1016d7
callq 0x22ab0
movq 0x120(%rsp), %rsi
movq 0x128(%rsp), %rdx
movq %rbx, %rdi
callq 0x22ab0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x22940
movsbl %al, %esi
movq %r15, %rdi
callq 0x22050
movq %rax, %rdi
callq 0x22660
movl $0xa, %edx
movq %rbx, %rdi
leaq 0x5b480(%rip), %rsi     # 0x1016e2
callq 0x22ab0
movq 0xe0(%rsp), %rsi
movq 0xe8(%rsp), %rdx
movq %rbx, %rdi
callq 0x22ab0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x22940
movsbl %al, %esi
movq %r15, %rdi
callq 0x22050
movq %rax, %rdi
callq 0x22660
leaq 0x148(%rsp), %rbx
movq %rbx, %rdi
leaq 0x1a0(%rsp), %rsi
leaq 0x298(%rsp), %rdx
callq 0x33608
movq %rbx, %rdi
leaq 0x5b41a(%rip), %rsi     # 0x1016ed
callq 0x233b0
leaq 0x60(%rsp), %rsi
movq %rsi, 0x50(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa6300
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0xa6306
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x58(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x1f8(%rsp), %rsi
movq 0x200(%rsp), %rdx
leaq 0x50(%rsp), %rdi
callq 0x222b0
leaq 0x40(%rsp), %rsi
movq %rsi, 0x30(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa6360
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0xa6366
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x38(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x30(%rsp), %rdi
leaq 0x51add(%rip), %rsi     # 0xf7e67
callq 0x233b0
leaq 0xa0(%rsp), %rsi
movq %rsi, 0x90(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa63c3
movq %rdx, 0x90(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xa0(%rsp)
jmp 0xa63c9
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x98(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0xd0(%rsp), %rax
movl 0x20(%rax), %esi
leaq 0xb0(%rsp), %rdi
callq 0xc03b8
movq 0x90(%rsp), %rcx
movl $0xf, %esi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rcx
je 0xa641e
movq 0xa0(%rsp), %rsi
movq 0x98(%rsp), %r8
movq 0xb8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0xa645b
movl $0xf, %esi
leaq 0xc0(%rsp), %rdi
cmpq %rdi, 0xb0(%rsp)
je 0xa6456
movq 0xc0(%rsp), %rsi
cmpq %rsi, %rax
jbe 0xa6472
movq 0xb0(%rsp), %rsi
leaq 0x90(%rsp), %rdi
callq 0x222b0
jmp 0xa6483
leaq 0xb0(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x22a80
leaq 0x80(%rsp), %rsi
movq %rsi, 0x70(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0xa64ae
movq %rdx, 0x70(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x80(%rsp)
jmp 0xa64b4
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x78(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq %r13, %rdi
leaq 0x593b0(%rip), %rsi     # 0xff88b
callq 0x233b0
leaq 0x10(%rsp), %rbx
movq %rbx, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa6506
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0xa650c
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x278(%rsp), %rdi
movq %rbp, %rsi
callq 0x22bb0
movq (%rsp), %rdi
cmpq %rbx, %rdi
je 0xa654a
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0xa656c
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0xa6591
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0xa65b6
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0xa65d2
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0xa65ee
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0xa6613
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x140(%rsp), %rax
movq 0x15f8(%rax), %r15
cmpq 0x1c0(%rsp), %r15
je 0xa69b6
leaq 0x268(%rsp), %rax
movq %rax, 0x258(%rsp)
movq 0x28(%r15), %rsi
movq 0x30(%r15), %rdx
addq %rsi, %rdx
leaq 0x258(%rsp), %rdi
callq 0x32180
leaq 0x2e8(%rsp), %rax
movq %rax, 0x2d8(%rsp)
leaq 0x2d8(%rsp), %rbx
movq %rbx, %rdi
leaq 0x5adc3(%rip), %rsi     # 0x10143d
leaq 0x5adbd(%rip), %rdx     # 0x10143e
callq 0x32210
movq %r13, %rdi
leaq 0x258(%rsp), %rsi
movq %rbx, %rdx
callq 0xbef52
xorps %xmm0, %xmm0
movaps %xmm0, (%rsp)
movaps 0x180(%rsp), %xmm0
movq 0x190(%rsp), %rax
movups 0x70(%rsp), %xmm1
movaps %xmm1, 0x180(%rsp)
movq 0x80(%rsp), %rcx
movq %rcx, 0x190(%rsp)
movaps (%rsp), %xmm1
movaps %xmm0, (%rsp)
movq %rax, 0x10(%rsp)
movups %xmm1, 0x70(%rsp)
movq $0x0, 0x80(%rsp)
movq %rbp, %rdi
callq 0x31a9e
movq %r13, %rdi
callq 0x31a9e
movq 0x2d8(%rsp), %rdi
leaq 0x2e8(%rsp), %rax
cmpq %rax, %rdi
je 0xa6720
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x258(%rsp), %rdi
leaq 0x268(%rsp), %rax
cmpq %rax, %rdi
je 0xa6745
movq 0x268(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x180(%rsp), %rax
movl 0x20(%r15), %ecx
movl %ecx, (%rsp)
leaq 0x18(%rsp), %rcx
movq %rcx, 0x8(%rsp)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %rdi
callq 0x32180
movq %r12, %rdi
movq %rbp, %rsi
callq 0xbd930
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xa6799
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x180(%rsp), %rbx
movq 0x20(%rbx), %rdi
callq 0x22fe0
cmpl %eax, %r14d
jne 0xa6995
movq 0x40(%rbx), %rdi
callq 0x22fe0
cmpl %eax, 0x178(%rsp)
jne 0xa6995
movq 0x60(%rbx), %rdi
callq 0x22be0
movsd %xmm0, 0x170(%rsp)
movq 0x80(%rbx), %rdi
callq 0x22be0
movsd %xmm0, 0x340(%rsp)
leaq 0x248(%rsp), %rax
movq %rax, 0x238(%rsp)
movq 0x120(%rsp), %rsi
movq 0x128(%rsp), %rdx
addq %rsi, %rdx
leaq 0x238(%rsp), %rdi
callq 0x32180
leaq 0x228(%rsp), %rax
movq %rax, 0x218(%rsp)
movq 0xe0(%rsp), %rsi
movq 0xe8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x218(%rsp), %rdi
callq 0x32180
leaq 0x348(%rsp), %rdi
movq %r12, %rsi
callq 0xadf42
leaq 0x2c8(%rsp), %rax
movq %rax, 0x2b8(%rsp)
movq 0x278(%rsp), %rsi
movq 0x280(%rsp), %rdx
addq %rsi, %rdx
leaq 0x2b8(%rsp), %rbx
movq %rbx, %rdi
callq 0x32180
xorps %xmm0, %xmm0
cvtsd2ss 0x170(%rsp), %xmm0
cvtsd2ss 0x340(%rsp), %xmm1
leaq 0x238(%rsp), %rdi
leaq 0x218(%rsp), %rsi
leaq 0x348(%rsp), %rdx
movq %rbx, %rcx
callq 0x73f17
movss %xmm0, 0x170(%rsp)
movq 0x2b8(%rsp), %rdi
leaq 0x2c8(%rsp), %rax
cmpq %rax, %rdi
je 0xa68f6
movq 0x2c8(%rsp), %rsi
incq %rsi
callq 0x229c0
leaq 0x348(%rsp), %rdi
callq 0x342dc
movq 0x218(%rsp), %rdi
leaq 0x228(%rsp), %rax
cmpq %rax, %rdi
je 0xa6928
movq 0x228(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x238(%rsp), %rdi
leaq 0x248(%rsp), %rax
cmpq %rax, %rdi
je 0xa694d
movq 0x248(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0xd0(%rsp), %rax
movl 0x20(%rax), %edi
movq 0x140(%rsp), %rax
movq 0x15c8(%rax), %rdx
subq 0x15c0(%rax), %rdx
shrq $0x3, %rdx
movl %r14d, %esi
callq 0xbf2a3
movss 0xdc(%rsp), %xmm0
addss 0x170(%rsp), %xmm0
movss %xmm0, 0xdc(%rsp)
movq %r12, %rdi
callq 0xbda08
movq %r15, %rdi
callq 0x22670
movq %rax, %r15
cmpq 0x1c0(%rsp), %rax
jne 0xa6630
movq 0x178(%rsp), %rsi
incl %esi
movq 0x140(%rsp), %rcx
movq 0x15c0(%rcx), %rax
movq 0x15c8(%rcx), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
cmpq %rsi, %rdx
ja 0xa5965
movd 0xdc(%rsp), %xmm0
movd %xmm0, %ebx
shlq $0x20, %rbx
jmp 0xa69fb
xorl %ebx, %ebx
movq 0xd0(%rsp), %rax
movl 0x20(%rax), %edi
movl %r14d, %esi
callq 0xbf2a3
movl %eax, %eax
orq %rax, %rbx
movq %rbx, (%rsp)
movq 0x168(%rsp), %rdi
movq %rbp, %rsi
callq 0xbd7ba
incl %r14d
movq 0x140(%rsp), %rbx
movq 0x15c8(%rbx), %rax
subq 0x15c0(%rbx), %rax
sarq $0x3, %rax
cmpq %r14, %rax
ja 0xa5936
movq 0xd0(%rsp), %rdi
callq 0x22670
movq %rax, 0xd0(%rsp)
cmpq 0x338(%rsp), %rax
movq %rbx, %r14
movq 0xcf51c(%rip), %rdi     # 0x175f90
jne 0xa58ca
leaq 0x180(%rsp), %rdi
callq 0x31a9e
leaq 0x1c8(%rsp), %rdi
callq 0x342dc
movq 0x278(%rsp), %rdi
leaq 0x288(%rsp), %rax
cmpq %rax, %rdi
je 0xa6ab9
movq 0x288(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x1f8(%rsp), %rdi
leaq 0x208(%rsp), %rax
cmpq %rax, %rdi
je 0xa6ade
movq 0x208(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x298(%rsp), %rdi
leaq 0x2a8(%rsp), %rax
cmpq %rax, %rdi
je 0xa6b03
movq 0x2a8(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x100(%rsp), %rdi
leaq 0x110(%rsp), %rax
cmpq %rax, %rdi
je 0xa6b28
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0xa6b4d
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x120(%rsp), %rdi
leaq 0x130(%rsp), %rax
cmpq %rax, %rdi
je 0xa6b72
movq 0x130(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x1a0(%rsp), %rdi
leaq 0x1b0(%rsp), %rax
cmpq %rax, %rdi
je 0xa6b97
movq 0x1b0(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x168(%rsp), %rax
addq $0x378, %rsp            # imm = 0x378
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x4cb0d(%rip), %rdi     # 0xf36c5
xorl %eax, %eax
callq 0x22f40
leaq 0x4caff(%rip), %rdi     # 0xf36c5
movq %r14, %rsi
xorl %eax, %eax
callq 0x22f40
movq %rax, %rbx
leaq 0x1d8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xa6bf9
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0xa6bf9
movq %rax, %rbx
leaq 0x110(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xa6c1f
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0xa6c1f
movq %rax, %rbx
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0xa6c3f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0xa6c3f
movq %rax, %rbx
movq 0x120(%rsp), %rdi
leaq 0x130(%rsp), %rax
cmpq %rax, %rdi
je 0xa6c6b
movq 0x130(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0xa6c6b
jmp 0xa6c68
movq %rax, %rbx
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0xa7109
movq 0xf0(%rsp), %rsi
jmp 0xa7101
jmp 0xa6f8a
jmp 0xa6f8a
jmp 0xa6f8a
jmp 0xa6d7f
jmp 0xa6d77
jmp 0xa6de6
jmp 0xa6e10
jmp 0xa6db5
jmp 0xa6f8a
movq %rax, %rbx
jmp 0xa6d21
jmp 0xa6e77
movq %rax, %rbx
jmp 0xa6d46
jmp 0xa6d77
movq %rax, %rbx
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0xa6cfc
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0xa6cfc
movq %rax, %rbx
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0xa6d21
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0xa6d46
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0xa6e54
movq 0x40(%rsp), %rsi
jmp 0xa6e4c
jmp 0xa6f8a
jmp 0xa6f8a
jmp 0xa6f8a
jmp 0xa6f8a
movq %rax, %rbx
jmp 0xa6e54
movq %rax, %rbx
jmp 0xa6e2f
jmp 0xa6e77
movq %rax, %rbx
movq 0x318(%rsp), %rdi
leaq 0x328(%rsp), %rax
cmpq %rax, %rdi
je 0xa6fd0
movq 0x328(%rsp), %rsi
jmp 0xa6fc8
movq %rax, %rbx
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0xa6de9
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0xa6de9
jmp 0xa6f8a
jmp 0xa6f8a
movq %rax, %rbx
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0xa6e13
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0xa6e13
movq %rax, %rbx
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0xa6e2f
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0xa6e54
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0xa6e7a
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0xa6e7a
jmp 0xa6f8a
movq %rax, %rbx
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0xa6fd0
movq 0x158(%rsp), %rsi
jmp 0xa6fc8
movq %rax, %rbx
movq 0x2f8(%rsp), %rdi
leaq 0x308(%rsp), %rax
cmpq %rax, %rdi
je 0xa6fd0
movq 0x308(%rsp), %rsi
jmp 0xa6fc8
jmp 0xa6f8a
movq %rax, %rbx
jmp 0xa6f12
movq %rax, %rbx
jmp 0xa6f37
movq %rax, %rbx
movq 0x2b8(%rsp), %rdi
leaq 0x2c8(%rsp), %rax
cmpq %rax, %rdi
je 0xa6f05
movq 0x2c8(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0xa6f05
movq %rax, %rbx
leaq 0x348(%rsp), %rdi
callq 0x342dc
movq 0x218(%rsp), %rdi
leaq 0x228(%rsp), %rax
cmpq %rax, %rdi
je 0xa6f37
movq 0x228(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x238(%rsp), %rdi
leaq 0x248(%rsp), %rax
cmpq %rax, %rdi
je 0xa6fd0
movq 0x248(%rsp), %rsi
jmp 0xa6fc8
jmp 0xa6f8a
jmp 0xa6f8a
jmp 0xa6f8a
movq %rax, %rbx
movq 0x2d8(%rsp), %rdi
leaq 0x2e8(%rsp), %rax
cmpq %rax, %rdi
je 0xa6fab
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0xa6fab
movq %rax, %rbx
jmp 0xa6fd0
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xa6fd0
movq 0x18(%rsp), %rsi
jmp 0xa6fc8
movq %rax, %rbx
movq 0x258(%rsp), %rdi
leaq 0x268(%rsp), %rax
cmpq %rax, %rdi
je 0xa6fd0
movq 0x268(%rsp), %rsi
incq %rsi
callq 0x229c0
leaq 0x180(%rsp), %rdi
callq 0x31a9e
leaq 0x1c8(%rsp), %rdi
callq 0x342dc
movq 0x168(%rsp), %rax
movq (%rax), %rdi
testq %rdi, %rdi
je 0xa7006
movq 0x10(%rax), %rsi
subq %rdi, %rsi
callq 0x229c0
movq 0x278(%rsp), %rdi
leaq 0x288(%rsp), %rax
cmpq %rax, %rdi
je 0xa702b
movq 0x288(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x1f8(%rsp), %rdi
leaq 0x208(%rsp), %rax
cmpq %rax, %rdi
je 0xa7050
movq 0x208(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x298(%rsp), %rdi
leaq 0x2a8(%rsp), %rax
cmpq %rax, %rdi
je 0xa7075
movq 0x2a8(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x100(%rsp), %rdi
leaq 0x110(%rsp), %rax
cmpq %rax, %rdi
je 0xa709a
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0xa70bf
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x120(%rsp), %rdi
leaq 0x130(%rsp), %rax
cmpq %rax, %rdi
je 0xa70e4
movq 0x130(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x1a0(%rsp), %rdi
leaq 0x1b0(%rsp), %rax
cmpq %rax, %rdi
je 0xa7109
movq 0x1b0(%rsp), %rsi
incq %rsi
callq 0x229c0
movq %rbx, %rdi
callq 0x23240