// File: /workspace/github_cpp_makefile_star2_O3/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 0xf8(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x1500(%rsi), %rsi
movq 0x1508(%r14), %rdx
addq %rsi, %rdx
leaq 0xe8(%rsp), %rbx
movq %rbx, %rdi
callq 0x3213c
leaq 0x5ad91(%rip), %rsi     # 0xff857
movq %rbx, %rdi
callq 0x233b0
movq 0x14c0(%r14), %rsi
movq 0x14c8(%r14), %rdx
leaq 0xe8(%rsp), %rdi
callq 0x222b0
leaq 0x138(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa4b19
movq %rdx, 0x128(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x138(%rsp)
jmp 0xa4b1f
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq 0x128(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x5ad12(%rip), %rsi     # 0xff857
callq 0x233b0
leaq 0x10(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa4b70
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0xa4b76
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 0x108(%rsp), %rdi
callq 0xbfa49
movq (%rsp), %rcx
movq 0x8(%rsp), %r8
movq 0x110(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %edi
leaq 0x10(%rsp), %rsi
cmpq %rsi, %rcx
je 0xa4bcd
movq 0x10(%rsp), %rdi
movq 0x108(%rsp), %rsi
cmpq %rdi, %rax
jbe 0xa4bf9
leaq 0x118(%rsp), %r9
movl $0xf, %edi
cmpq %r9, %rsi
je 0xa4bf4
movq 0x118(%rsp), %rdi
cmpq %rdi, %rax
jbe 0xa4c03
movq %rsp, %rdi
callq 0x222b0
jmp 0xa4c14
leaq 0x108(%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 0xa4c41
movq %rsi, 0x1c8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1d8(%rsp)
jmp 0xa4c47
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 0x5abe9(%rip), %rsi     # 0xff857
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 0xa4cab
movq %rdx, 0x1a0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1b0(%rsp)
jmp 0xa4cb1
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 0xa4ced
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x229c0
leaq 0x118(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xa4d0e
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x229c0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0xa4d29
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rcx
cmpq %rcx, %rdi
je 0xa4d56
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x229c0
leaq 0x138(%rsp), %rcx
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0xa4d83
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x229c0
leaq 0x138(%rsp), %rcx
movq %rcx, 0x128(%rsp)
xorl %eax, %eax
movq %rax, 0x130(%rsp)
movb %al, 0x138(%rsp)
leaq 0xf8(%rsp), %rcx
movq %rcx, 0xe8(%rsp)
movq %rax, 0xf0(%rsp)
movb %al, 0xf8(%rsp)
leaq 0x118(%rsp), %rcx
movq %rcx, 0x108(%rsp)
movq %rax, 0x110(%rsp)
movb %al, 0x118(%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, 0xb0(%rsp)
cmpq %rax, %rcx
je 0xa603d
leaq 0x15e8(%r14), %rax
movq %rax, 0x1c0(%rsp)
movq %rsp, %rbp
leaq 0x70(%rsp), %r13
leaq 0x1c8(%rsp), %r12
movq %r14, 0xe0(%rsp)
movl $0xa, %edx
movq 0xd10fe(%rip), %rdi     # 0x175fa8
leaq 0x5c802(%rip), %rsi     # 0x1016b3
callq 0x22ab0
movq 0xb0(%rsp), %rax
movl 0x20(%rax), %esi
movq 0xd10e0(%rip), %rdi     # 0x175fa8
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 0x15c0(%r14), %rax
movq 0x15c8(%r14), %rcx
cmpq %rax, %rcx
je 0xa6012
xorl %r14d, %r14d
movq %rcx, %rdx
subq %rax, %rdx
sarq $0x3, %rdx
cmpq %rax, %rcx
je 0xa5fb8
xorps %xmm0, %xmm0
movss %xmm0, 0xdc(%rsp)
xorl %esi, %esi
cmpq %r14, %rdx
jbe 0xa6182
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 0x3213c
leaq 0x108(%rsp), %rdi
movq %rbp, %rsi
callq 0x22bb0
movq (%rsp), %rdi
cmpq %rbx, %rdi
je 0xa4f89
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
leaq 0x328(%rsp), %rax
movq %rax, 0x318(%rsp)
movq 0x108(%rsp), %rsi
movq 0x110(%rsp), %rdx
addq %rsi, %rdx
leaq 0x318(%rsp), %rbx
movq %rbx, %rdi
callq 0x3213c
movq %rbp, %rdi
movq %rbx, %rsi
callq 0xbeb1d
leaq 0x298(%rsp), %rdi
movq %rbp, %rsi
callq 0x22bb0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0xa4ff2
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x318(%rsp), %rdi
leaq 0x328(%rsp), %rax
cmpq %rax, %rdi
je 0xa5017
movq 0x328(%rsp), %rsi
incq %rsi
callq 0x229c0
leaq 0x148(%rsp), %rbx
movq %rbx, %rdi
leaq 0x1a0(%rsp), %rsi
leaq 0x298(%rsp), %rdx
callq 0x335a4
movq %rbx, %rdi
leaq 0x52dd6(%rip), %rsi     # 0xf7e17
callq 0x233b0
leaq 0x60(%rsp), %rsi
movq %rsi, 0x50(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa506e
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0xa5074
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 0xb0(%rsp), %rax
movl 0x20(%rax), %esi
leaq 0xb8(%rsp), %rdi
callq 0xbfa49
movq 0x50(%rsp), %rcx
movl $0xf, %edi
leaq 0x60(%rsp), %rax
cmpq %rax, %rcx
je 0xa50bd
movq 0x60(%rsp), %rdi
movq 0x58(%rsp), %r8
movq 0xb8(%rsp), %rsi
movq 0xc0(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0xa50fa
movl $0xf, %edi
leaq 0xc8(%rsp), %r9
cmpq %r9, %rsi
je 0xa50f5
movq 0xc8(%rsp), %rdi
cmpq %rdi, %rax
jbe 0xa5106
leaq 0x50(%rsp), %rdi
callq 0x222b0
jmp 0xa5117
leaq 0xb8(%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 0xa513c
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0xa5142
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 0x52cac(%rip), %rsi     # 0xf7e17
callq 0x233b0
leaq 0xa0(%rsp), %rsi
movq %rsi, 0x90(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa51a4
movq %rdx, 0x90(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xa0(%rsp)
jmp 0xa51aa
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 0x53a08(%rip), %rsi     # 0xf8bdc
callq 0x233b0
leaq 0x80(%rsp), %rsi
movq %rsi, 0x70(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa5207
movq %rdx, 0x70(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x80(%rsp)
jmp 0xa520d
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 0x53847(%rip), %rsi     # 0xf8a76
callq 0x233b0
leaq 0x10(%rsp), %rbx
movq %rbx, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa525a
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0xa5260
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 0x128(%rsp), %rdi
movq %rbp, %rsi
callq 0x22bb0
movq (%rsp), %rdi
cmpq %rbx, %rdi
je 0xa529e
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0xa52c0
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0xa52e5
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0xa5301
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0xb8(%rsp), %rdi
leaq 0xc8(%rsp), %rax
cmpq %rax, %rdi
je 0xa5326
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0xa5342
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0xa5367
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0xe0(%rsp), %rcx
movq 0x15c0(%rcx), %rax
movq 0x15c8(%rcx), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
movq 0x178(%rsp), %rsi
cmpq %rsi, %rdx
jbe 0xa6174
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 0x3213c
leaq 0x108(%rsp), %rdi
movq %rbp, %rsi
callq 0x22bb0
movq (%rsp), %rdi
cmpq %rbx, %rdi
je 0xa53db
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
leaq 0x308(%rsp), %rax
movq %rax, 0x2f8(%rsp)
movq 0x108(%rsp), %rsi
movq 0x110(%rsp), %rdx
addq %rsi, %rdx
leaq 0x2f8(%rsp), %rbx
movq %rbx, %rdi
callq 0x3213c
movq %rbp, %rdi
movq %rbx, %rsi
callq 0xbeb1d
leaq 0x1f8(%rsp), %rdi
movq %rbp, %rsi
callq 0x22bb0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0xa5444
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x2f8(%rsp), %rdi
leaq 0x308(%rsp), %rax
cmpq %rax, %rdi
je 0xa5469
movq 0x308(%rsp), %rsi
incq %rsi
callq 0x229c0
leaq 0x148(%rsp), %rbx
movq %rbx, %rdi
leaq 0x1a0(%rsp), %rsi
leaq 0x1f8(%rsp), %rdx
callq 0x335a4
movq %rbx, %rdi
leaq 0x52984(%rip), %rsi     # 0xf7e17
callq 0x233b0
leaq 0x60(%rsp), %rsi
movq %rsi, 0x50(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa54c0
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0xa54c6
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 0xb0(%rsp), %rax
movl 0x20(%rax), %esi
leaq 0xb8(%rsp), %rdi
callq 0xbfa49
movq 0x50(%rsp), %rcx
movl $0xf, %edi
leaq 0x60(%rsp), %rax
cmpq %rax, %rcx
je 0xa550f
movq 0x60(%rsp), %rdi
movq 0x58(%rsp), %r8
movq 0xb8(%rsp), %rsi
movq 0xc0(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0xa554c
movl $0xf, %edi
leaq 0xc8(%rsp), %r9
cmpq %r9, %rsi
je 0xa5547
movq 0xc8(%rsp), %rdi
cmpq %rdi, %rax
jbe 0xa5558
leaq 0x50(%rsp), %rdi
callq 0x222b0
jmp 0xa5569
leaq 0xb8(%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 0xa558e
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0xa5594
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 0x5285a(%rip), %rsi     # 0xf7e17
callq 0x233b0
leaq 0xa0(%rsp), %rsi
movq %rsi, 0x90(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa55f6
movq %rdx, 0x90(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xa0(%rsp)
jmp 0xa55fc
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 0x535b6(%rip), %rsi     # 0xf8bdc
callq 0x233b0
leaq 0x80(%rsp), %rsi
movq %rsi, 0x70(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa5659
movq %rdx, 0x70(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x80(%rsp)
jmp 0xa565f
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 0x533f5(%rip), %rsi     # 0xf8a76
callq 0x233b0
leaq 0x10(%rsp), %rbx
movq %rbx, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa56ac
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0xa56b2
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 0xe8(%rsp), %rdi
movq %rbp, %rsi
callq 0x22bb0
movq (%rsp), %rdi
cmpq %rbx, %rdi
je 0xa56f0
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0xa5712
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0xa5737
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0xa5753
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0xb8(%rsp), %rdi
leaq 0xc8(%rsp), %rax
cmpq %rax, %rdi
je 0xa5778
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0xa5794
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0xa57b9
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x229c0
movl $0xa, %edx
movq 0xd07e3(%rip), %rdi     # 0x175fa8
leaq 0x5bef2(%rip), %rsi     # 0x1016be
callq 0x22ab0
movq 0x128(%rsp), %rsi
movq 0x130(%rsp), %rdx
movq 0xd07c0(%rip), %rdi     # 0x175fa8
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 0xd0785(%rip), %rdi     # 0x175fa8
leaq 0x5be9f(%rip), %rsi     # 0x1016c9
callq 0x22ab0
movq 0xe8(%rsp), %rsi
movq 0xf0(%rsp), %rdx
movq 0xd0762(%rip), %rdi     # 0x175fa8
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 0x335a4
movq %rbx, %rdi
leaq 0x5be35(%rip), %rsi     # 0x1016d4
callq 0x233b0
leaq 0x60(%rsp), %rsi
movq %rsi, 0x50(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa58cc
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0xa58d2
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 0xa592c
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0xa5932
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 0x524c1(%rip), %rsi     # 0xf7e17
callq 0x233b0
leaq 0xa0(%rsp), %rsi
movq %rsi, 0x90(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa598f
movq %rdx, 0x90(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xa0(%rsp)
jmp 0xa5995
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 0xb0(%rsp), %rax
movl 0x20(%rax), %esi
leaq 0xb8(%rsp), %rdi
callq 0xbfa49
movq 0x90(%rsp), %rcx
movl $0xf, %edi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rcx
je 0xa59ea
movq 0xa0(%rsp), %rdi
movq 0x98(%rsp), %r8
movq 0xb8(%rsp), %rsi
movq 0xc0(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0xa5a2a
movl $0xf, %edi
leaq 0xc8(%rsp), %r9
cmpq %r9, %rsi
je 0xa5a25
movq 0xc8(%rsp), %rdi
cmpq %rdi, %rax
jbe 0xa5a39
leaq 0x90(%rsp), %rdi
callq 0x222b0
jmp 0xa5a4a
leaq 0xb8(%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 0xa5a75
movq %rdx, 0x70(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x80(%rsp)
jmp 0xa5a7b
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 0x59dd0(%rip), %rsi     # 0xff872
callq 0x233b0
leaq 0x10(%rsp), %rbx
movq %rbx, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa5acd
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0xa5ad3
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 0xa5b11
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0xa5b33
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0xb8(%rsp), %rdi
leaq 0xc8(%rsp), %rax
cmpq %rax, %rdi
je 0xa5b58
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0xa5b7d
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0xa5b99
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0xa5bb5
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0xa5bda
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0xe0(%rsp), %rax
movq 0x15f8(%rax), %r15
cmpq 0x1c0(%rsp), %r15
je 0xa5f75
leaq 0x268(%rsp), %rax
movq %rax, 0x258(%rsp)
movq 0x28(%r15), %rsi
movq 0x30(%r15), %rdx
addq %rsi, %rdx
leaq 0x258(%rsp), %rdi
callq 0x3213c
leaq 0x2e8(%rsp), %rax
movq %rax, 0x2d8(%rsp)
leaq 0x2d8(%rsp), %rbx
movq %rbx, %rdi
leaq 0x5b7e3(%rip), %rsi     # 0x101424
leaq 0x5b7dd(%rip), %rdx     # 0x101425
callq 0x321d2
movq %r13, %rdi
leaq 0x258(%rsp), %rsi
movq %rbx, %rdx
callq 0xbe638
movq 0x190(%rsp), %rax
movaps 0x70(%rsp), %xmm0
movq 0x80(%rsp), %rcx
movq %rcx, 0x190(%rsp)
movaps 0x180(%rsp), %xmm1
movaps %xmm0, 0x180(%rsp)
movaps %xmm1, (%rsp)
movq %rax, 0x10(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x70(%rsp)
movq $0x0, 0x80(%rsp)
movq %rbp, %rdi
callq 0x31a0a
movq %r13, %rdi
callq 0x31a0a
movq 0x2d8(%rsp), %rdi
leaq 0x2e8(%rsp), %rax
cmpq %rax, %rdi
je 0xa5cdf
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x258(%rsp), %rdi
leaq 0x268(%rsp), %rax
cmpq %rax, %rdi
je 0xa5d04
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 0x3213c
movq %r12, %rdi
movq %rbp, %rsi
callq 0xbd05c
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xa5d58
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x180(%rsp), %rbx
movq 0x20(%rbx), %rdi
callq 0x22fe0
cmpl %eax, %r14d
jne 0xa5f54
movq 0x40(%rbx), %rdi
callq 0x22fe0
cmpl %eax, 0x178(%rsp)
jne 0xa5f54
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 0x128(%rsp), %rsi
movq 0x130(%rsp), %rdx
addq %rsi, %rdx
leaq 0x238(%rsp), %rdi
callq 0x3213c
leaq 0x228(%rsp), %rax
movq %rax, 0x218(%rsp)
movq 0xe8(%rsp), %rsi
movq 0xf0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x218(%rsp), %rdi
callq 0x3213c
leaq 0x348(%rsp), %rdi
movq %r12, %rsi
callq 0xad7a2
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 0x3213c
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 0x73907
movss %xmm0, 0x170(%rsp)
movq 0x2b8(%rsp), %rdi
leaq 0x2c8(%rsp), %rax
cmpq %rax, %rdi
je 0xa5eb5
movq 0x2c8(%rsp), %rsi
incq %rsi
callq 0x229c0
leaq 0x348(%rsp), %rdi
callq 0x3428c
movq 0x218(%rsp), %rdi
leaq 0x228(%rsp), %rax
cmpq %rax, %rdi
je 0xa5ee7
movq 0x228(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x238(%rsp), %rdi
leaq 0x248(%rsp), %rax
cmpq %rax, %rdi
je 0xa5f0c
movq 0x248(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0xb0(%rsp), %rax
movl 0x20(%rax), %edi
movq 0xe0(%rsp), %rax
movq 0x15c8(%rax), %rdx
subq 0x15c0(%rax), %rdx
shrq $0x3, %rdx
movl %r14d, %esi
callq 0xbe989
movss 0xdc(%rsp), %xmm0
addss 0x170(%rsp), %xmm0
movss %xmm0, 0xdc(%rsp)
movq %r12, %rdi
callq 0xbd134
movq %r15, %rdi
callq 0x22670
movq %rax, %r15
cmpq 0x1c0(%rsp), %rax
jne 0xa5bf7
movq 0x178(%rsp), %rsi
incl %esi
movq 0xe0(%rsp), %rcx
movq 0x15c0(%rcx), %rax
movq 0x15c8(%rcx), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
cmpq %rsi, %rdx
ja 0xa4f32
movd 0xdc(%rsp), %xmm0
movd %xmm0, %ebx
shlq $0x20, %rbx
jmp 0xa5fba
xorl %ebx, %ebx
movq 0xb0(%rsp), %rax
movl 0x20(%rax), %edi
movl %r14d, %esi
callq 0xbe989
movl %eax, %eax
orq %rax, %rbx
movq %rbx, (%rsp)
movq 0x168(%rsp), %rdi
movq %rbp, %rsi
callq 0xbcede
incl %r14d
movq 0xe0(%rsp), %rcx
movq 0x15c0(%rcx), %rax
movq 0x15c8(%rcx), %rcx
movq %rcx, %rdx
subq %rax, %rdx
sarq $0x3, %rdx
cmpq %r14, %rdx
ja 0xa4f11
movq 0xb0(%rsp), %rdi
callq 0x22670
movq %rax, 0xb0(%rsp)
cmpq 0x338(%rsp), %rax
movq 0xe0(%rsp), %r14
jne 0xa4e9e
leaq 0x180(%rsp), %rdi
callq 0x31a0a
leaq 0x1c8(%rsp), %rdi
callq 0x3428c
movq 0x278(%rsp), %rdi
leaq 0x288(%rsp), %rax
cmpq %rax, %rdi
je 0xa607c
movq 0x288(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x1f8(%rsp), %rdi
leaq 0x208(%rsp), %rax
cmpq %rax, %rdi
je 0xa60a1
movq 0x208(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x298(%rsp), %rdi
leaq 0x2a8(%rsp), %rax
cmpq %rax, %rdi
je 0xa60c6
movq 0x2a8(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0xa60eb
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0xa6110
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0xa6135
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x1a0(%rsp), %rdi
leaq 0x1b0(%rsp), %rax
cmpq %rax, %rdi
je 0xa615a
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 0x4d4fe(%rip), %rdi     # 0xf3679
xorl %eax, %eax
callq 0x22f40
leaq 0x4d4f0(%rip), %rdi     # 0xf3679
movq %r14, %rsi
xorl %eax, %eax
callq 0x22f40
movq %rax, %rbx
leaq 0x1d8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xa61bc
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0xa61bc
movq %rax, %rbx
leaq 0x118(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xa61e2
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0xa61e2
movq %rax, %rbx
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0xa6202
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0xa6202
movq %rax, %rbx
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0xa622e
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0xa622e
jmp 0xa622b
movq %rax, %rbx
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0xa66cc
movq 0xf8(%rsp), %rsi
jmp 0xa66c4
jmp 0xa654d
jmp 0xa654d
jmp 0xa654d
jmp 0xa6342
jmp 0xa633a
jmp 0xa63a9
jmp 0xa63d3
jmp 0xa6378
jmp 0xa654d
movq %rax, %rbx
jmp 0xa62e4
jmp 0xa643a
movq %rax, %rbx
jmp 0xa6309
jmp 0xa633a
movq %rax, %rbx
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0xa62bf
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0xa62bf
movq %rax, %rbx
movq 0xb8(%rsp), %rdi
leaq 0xc8(%rsp), %rax
cmpq %rax, %rdi
je 0xa62e4
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0xa6309
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0xa6417
movq 0x40(%rsp), %rsi
jmp 0xa640f
jmp 0xa654d
jmp 0xa654d
jmp 0xa654d
jmp 0xa654d
movq %rax, %rbx
jmp 0xa6417
movq %rax, %rbx
jmp 0xa63f2
jmp 0xa643a
movq %rax, %rbx
movq 0x318(%rsp), %rdi
leaq 0x328(%rsp), %rax
cmpq %rax, %rdi
je 0xa6593
movq 0x328(%rsp), %rsi
jmp 0xa658b
movq %rax, %rbx
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0xa63ac
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0xa63ac
jmp 0xa654d
jmp 0xa654d
movq %rax, %rbx
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0xa63d6
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0xa63d6
movq %rax, %rbx
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0xa63f2
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0xb8(%rsp), %rdi
leaq 0xc8(%rsp), %rax
cmpq %rax, %rdi
je 0xa6417
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0xa643d
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0xa643d
jmp 0xa654d
movq %rax, %rbx
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0xa6593
movq 0x158(%rsp), %rsi
jmp 0xa658b
movq %rax, %rbx
movq 0x2f8(%rsp), %rdi
leaq 0x308(%rsp), %rax
cmpq %rax, %rdi
je 0xa6593
movq 0x308(%rsp), %rsi
jmp 0xa658b
jmp 0xa654d
movq %rax, %rbx
jmp 0xa64d5
movq %rax, %rbx
jmp 0xa64fa
movq %rax, %rbx
movq 0x2b8(%rsp), %rdi
leaq 0x2c8(%rsp), %rax
cmpq %rax, %rdi
je 0xa64c8
movq 0x2c8(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0xa64c8
movq %rax, %rbx
leaq 0x348(%rsp), %rdi
callq 0x3428c
movq 0x218(%rsp), %rdi
leaq 0x228(%rsp), %rax
cmpq %rax, %rdi
je 0xa64fa
movq 0x228(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x238(%rsp), %rdi
leaq 0x248(%rsp), %rax
cmpq %rax, %rdi
je 0xa6593
movq 0x248(%rsp), %rsi
jmp 0xa658b
jmp 0xa654d
jmp 0xa654d
jmp 0xa654d
movq %rax, %rbx
movq 0x2d8(%rsp), %rdi
leaq 0x2e8(%rsp), %rax
cmpq %rax, %rdi
je 0xa656e
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0xa656e
movq %rax, %rbx
jmp 0xa6593
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xa6593
movq 0x18(%rsp), %rsi
jmp 0xa658b
movq %rax, %rbx
movq 0x258(%rsp), %rdi
leaq 0x268(%rsp), %rax
cmpq %rax, %rdi
je 0xa6593
movq 0x268(%rsp), %rsi
incq %rsi
callq 0x229c0
leaq 0x180(%rsp), %rdi
callq 0x31a0a
leaq 0x1c8(%rsp), %rdi
callq 0x3428c
movq 0x168(%rsp), %rax
movq (%rax), %rdi
testq %rdi, %rdi
je 0xa65c9
movq 0x10(%rax), %rsi
subq %rdi, %rsi
callq 0x229c0
movq 0x278(%rsp), %rdi
leaq 0x288(%rsp), %rax
cmpq %rax, %rdi
je 0xa65ee
movq 0x288(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x1f8(%rsp), %rdi
leaq 0x208(%rsp), %rax
cmpq %rax, %rdi
je 0xa6613
movq 0x208(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x298(%rsp), %rdi
leaq 0x2a8(%rsp), %rax
cmpq %rax, %rdi
je 0xa6638
movq 0x2a8(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0xa665d
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0xa6682
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0xa66a7
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x1a0(%rsp), %rdi
leaq 0x1b0(%rsp), %rax
cmpq %rax, %rdi
je 0xa66cc
movq 0x1b0(%rsp), %rsi
incq %rsi
callq 0x229c0
movq %rbx, %rdi
callq 0x23240