// File: /workspace/github_cpp_makefile_star2_O3/neubig[P]egret/Egret/src/Main.cpp
// Function: main
int main(int argc, char *argv[])
{
	JKArgs args(argc,argv);
	//seconds=time(NULL);
	bitime=0;
	unatime=0;
	setutime=0;
	qutime=0;
	inbitime=0;
	initime=0;
	alltime=0;

	alltime=clock();
	if(args.is_set("debug"))dlevel=atoi(args.value("debug").c_str());
	if(!(args.is_set("pcfg")||args.is_set("io")||args.is_set("lapcfg")))
		usage();

	if(args.is_set("unary_fine"))unary_fine=atoi(args.value("unary_fine").c_str());
	if(args.is_set("pcfg"))
	{
		if(!(args.is_set("g")&&args.is_set("i")))usage();
		ifstream ruleStream(args.value("g").c_str());
		cerr<<"load rule"<<endl;
		RuleSet ruleSet(ruleStream);
		cerr<<"done"<<endl;
		ruleSet.print(cout);
		ifstream textStream(args.value("i").c_str());
		if(!textStream.good())usage();
		int nbest=1;
		if(args.is_set("n")) 
			nbest=atoi(args.value("n").c_str());
		int dlevel=0;
		if(args.is_set("debug"))
			dlevel=atoi(args.value("debug").c_str());

		int count=0;
		while(!textStream.eof())
		{
			++count;
			string curline;
			getline(textStream, curline);
			if(curline=="")continue;
			
			vector<Tree*> trees;
			Forest forest(curline);
			forest.viterbi(ruleSet);
			if(nbest>1)
			{
				cout<<"sentence "<<count<<": \n"<<curline<<endl;
				cout<<nbest<<" best:"<<endl;
			}
			//forest.print_hyperedges(cout);
			forest.genTrees(nbest,trees);
			for(int i=0;(size_t)i<trees.size();i++)
			{
				//if(!args.is_set("interNode"))
				//	trees[i]->delInterNode();
				if(dlevel>0)
					trees[i]->print(cout);
				else
					trees[i]->tinyPrint(cout);
				trees[i]->destroy();
			}
		}
	}
	else if(args.is_set("io"))
	{
		//alltime=clock();
		if(!(args.is_set("g")&&args.is_set("i")))usage();
		ifstream ruleStream(args.value("g").c_str());
		RuleSet ruleSet(ruleStream);
		//ruleSet.print(cout);

		int nbest=1;

		int dlevel=0;
		if(args.is_set("debug"))
			dlevel=atoi(args.value("debug").c_str());
		int pass=1;
		if(args.is_set("pass"))
			pass=atoi(args.value("pass").c_str());
		double threshold=0;
		if(args.is_set("threshold"))
			threshold=atof(args.value("threshold").c_str());

		ERSet erSet;
		for(int i=0;i<pass;i++)
		{
			if(dlevel)
			{
				cout<<"pass:"<<i<<endl;
				ruleSet.print(cout);
				cout<<endl;
			}
			erSet.clear();
			int count=0;
			ifstream textStream(args.value("i").c_str());
			if((!textStream.good())||textStream.eof())usage();
			while(!textStream.eof())
			{
				string curline;
				getline(textStream, curline);
				if(curline=="")continue;
				//cerr<<count++<<":"<<curline<<endl;
				vector<Tree*> trees;
				Forest forest(curline);
				forest.io(ruleSet,erSet);
			}
			ruleSet.clear();
			erSet.thresholding(threshold);
			erSet.makeRuleSet(ruleSet);

			textStream.close();
		}
		cerr<<"new grammar generated!"<<endl;
		erSet.print(cout);
	}
	else if(args.is_set("lapcfg"))
	{
		if(!args.is_set("i"))usage();

		string grammar_directory="chn_grammar";
		if(args.is_set("data"))
			grammar_directory=args.value("data");
#ifdef WIN32
		grammar_directory+="\\level";
#else
		grammar_directory+="/level";
#endif
		int level=6;
		if(args.is_set("grammarLevel"))
			level=atoi(args.value("grammarLevel").c_str())+1;
		BerkeleyRuleSets ruleSets;
		ruleSets.init(grammar_directory,level);
		loading_time+=clock()-alltime;
		ifstream textStream(args.value("i").c_str());
		if(!textStream.good())usage();
		int nbest=1;
		if(args.is_set("n")) 
			nbest=atoi(args.value("n").c_str());
		int dlevel=0;
		if(args.is_set("debug"))
			dlevel=atoi(args.value("debug").c_str());

		ObjectFunctionType oft=MAX_RULE_PRODUCT;
		if(args.is_set("oft"))
			oft=string2oft(args.value("oft"));

		//cerr<<"rule loaded!"<<endl;
		for(int i=0;(size_t)i<ruleSets.size();i++)
		{
		//	ruleSets[i].save(intToString(i)+".temp");
		}		

		int start=0;
		double stop=1E10;
		if(args.is_set("range"))
		{
			string range=args.value("range");
			start=atoi(range.substr(0,range.find("-")).c_str());
			stop=atof(range.substr(range.find("-")+1).c_str());
			cerr<<"start:"<<start<<",stop:"<<stop<<endl;
		}

		int count=0;
		while(!textStream.eof())
		{
			cerr<<++count<<endl;
			//getchar();
			string curline;
			getline(textStream, curline);
			if(curline=="")continue;
			if(count<start)continue;
			if(count>stop)break;

			vector<Tree*> trees;
			Forest forest(curline);
			forest.berkeley_viterbi_coarse2fine(ruleSets,oft);

			string rootSymbol="ROOT";
			
			if(args.is_set("printForest"))
			{

				if(forest.topS(rootSymbol)==NULL)
				{
					cerr<<"parse failed!"<<endl;
					cout<<"sentence "<<count<<" :"<<endl;
					cout<<curline<<endl;
					cout<<"\n"<<endl;
					continue;
				}

				forest.io_afterParse(rootSymbol,MAX);
				//cerr<<"finished viterbi io"<<endl;
				double threshold=10;
				int nbest4threshold=100;

				if(args.is_set("threshold"))
					threshold=atof(args.value("threshold").c_str());
				else 
				{	
					if(args.is_set("nbest4threshold"))
						nbest4threshold=atoi(args.value("nbest4threshold").c_str());
					//cerr<<"computing threshold:"<<endl;
					double bestscore,lastscore;
					bestscore=lastscore=0;
					if(forest.topS(rootSymbol)!=NULL)
					{
						forest.topS(rootSymbol)->getNthBest(1,bestscore);
						lastscore=bestscore;
						forest.topS(rootSymbol)->getNthBest(nbest4threshold,lastscore);		
						threshold=bestscore-lastscore;
					}
				}
				if(threshold>0)
				{
					cerr<<"threshold : "<<threshold<<endl;
					forest.prune(rootSymbol,threshold);
					//cerr<<"finished prune"<<endl;
				}
				forest.replace_interLabel(Berkeley);
				
				cout<<"sentence "<<count<<" :"<<endl;
				cout<<curline<<endl;
				forest.print_hyperedges(cout);
				cout<<endl;
				continue;
			}

			if(nbest>1)
			{
				cout<<"sentence "<<count<<": \n"<<curline<<endl;
				cout<<nbest<<" best:"<<endl;
			}
			if(oft==NONE)
				forest.genTrees(nbest,trees,"ROOT_0");
			else
				forest.genTrees(nbest,trees,"ROOT");

			if(trees.size()==0)
				cout<<"(())"<<endl;
			else
			for(int i=0;(size_t)i<trees.size();i++)
			{
				//trees[i]->tinyPrint(cout);
				//	cout<<endl;
				if(!args.is_set("interNode"))
					trees[i]->delInterNode();
				if(dlevel>0)
				{
					trees[i]->print(cout);
					cout<<endl;
				}
				else
				{
					trees[i]->tinyPrint(cout);
					cout<<endl;
				}
				trees[i]->destroy();
			}
			
		}	
		alltime=clock()-alltime;
		//seconds=time(NULL)-seconds;
		cerr<<"all time:"<<(double)alltime/CLOCKS_PER_SEC<<"s"<<endl;
		cerr<<"rule loading time:"<<(double)loading_time/CLOCKS_PER_SEC<<"s"<<endl<<endl;

		cerr<<"init binary rule time:"<<(double)init_bitime/CLOCKS_PER_SEC<<"s"<<endl;
		cerr<<"init unary rule time:"<<(double)init_unatime/CLOCKS_PER_SEC<<"s"<<endl<<endl;

		cerr<<"middle binary rule time:"<<(double)bitime/CLOCKS_PER_SEC<<"s"<<endl;
		cerr<<"middle unary rule time"<<(double)unatime/CLOCKS_PER_SEC<<"s"<<endl<<endl;

		cerr<<"final binary rule time:"<<(double)final_bitime/CLOCKS_PER_SEC<<"s"<<endl;
		cerr<<"final unary rule time"<<(double)final_unatime/CLOCKS_PER_SEC<<"s"<<endl<<endl;
		
		cerr<<"set unary node time:"<<(double)setutime/CLOCKS_PER_SEC<<"s"<<endl;
		cerr<<"query time:"<<(double)qutime/CLOCKS_PER_SEC<<"s"<<endl;
		cerr<<"inside binart rule time:"<<(double)inbitime/CLOCKS_PER_SEC<<"s"<<endl;
		cerr<<"init time:"<<(double)initime/CLOCKS_PER_SEC<<"s"<<endl;
	}
	
	return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xd58, %rsp            # imm = 0xD58
movq %rsi, %rdx
movl %edi, %esi
leaq 0x70(%rsp), %rdi
callq 0x2c218
xorl %eax, %eax
movq %rax, 0x24670(%rip)     # 0x55320
movq %rax, 0x24699(%rip)     # 0x55350
movq %rax, 0x2469a(%rip)     # 0x55358
movq %rax, 0x2469b(%rip)     # 0x55360
movq %rax, 0x2469c(%rip)     # 0x55368
movq %rax, 0x2469d(%rip)     # 0x55370
movq %rax, 0x2464e(%rip)     # 0x55328
callq 0x31c0
movq %rax, 0x24642(%rip)     # 0x55328
leaq 0x910(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xff64(%rip), %rsi      # 0x40c5d
leaq 0xff62(%rip), %rdx      # 0x40c62
leaq 0x900(%rsp), %rdi
callq 0xb7d0
leaq 0x70(%rsp), %rdi
leaq 0x900(%rsp), %rsi
callq 0x2c614
movl %eax, %ebx
movq 0x900(%rsp), %rdi
cmpq %r15, %rdi
je 0x30d3e
movq 0x910(%rsp), %rsi
incq %rsi
callq 0x32e0
testb %bl, %bl
je 0x30dd9
leaq 0x8f0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xff04(%rip), %rsi      # 0x40c5d
leaq 0xff02(%rip), %rdx      # 0x40c62
leaq 0x8e0(%rsp), %rdi
callq 0xb7d0
leaq 0xb50(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x8e0(%rsp), %rdx
callq 0x2c62a
leaq 0xb60(%rsp), %r14
movq -0x10(%r14), %rbx
movq %rbx, %rdi
callq 0x3450
leaq 0x2456e(%rip), %rcx     # 0x55310
movl %eax, (%rcx)
cmpq %r14, %rbx
je 0x30dbc
movq 0xb60(%rsp), %rsi
incq %rsi
movq %rbx, %rdi
callq 0x32e0
movq 0x8e0(%rsp), %rdi
cmpq %r15, %rdi
je 0x30dd9
movq 0x8f0(%rsp), %rsi
incq %rsi
callq 0x32e0
leaq 0x8d0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xfc8e(%rip), %rsi      # 0x40a7a
leaq 0xfc8b(%rip), %rdx      # 0x40a7e
leaq 0x8c0(%rsp), %rdi
callq 0xb7d0
leaq 0x70(%rsp), %rdi
leaq 0x8c0(%rsp), %rsi
callq 0x2c614
movb $0x1, %bl
testb %al, %al
jne 0x30ed1
leaq 0x8b0(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xfe33(%rip), %rsi      # 0x40c63
leaq 0xfe2e(%rip), %rdx      # 0x40c65
leaq 0x8a0(%rsp), %rdi
callq 0xb7d0
leaq 0x70(%rsp), %rdi
leaq 0x8a0(%rsp), %rsi
callq 0x2c614
movb $0x1, %bl
testb %al, %al
jne 0x30eb4
leaq 0x890(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0xfdf7(%rip), %rsi      # 0x40c66
leaq 0xfdf6(%rip), %rdx      # 0x40c6c
leaq 0x880(%rsp), %rdi
callq 0xb7d0
leaq 0x70(%rsp), %rdi
leaq 0x880(%rsp), %rsi
callq 0x2c614
movl %eax, %ebx
movq 0x880(%rsp), %rdi
cmpq %r13, %rdi
je 0x30eb4
movq 0x890(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x8a0(%rsp), %rdi
cmpq %r12, %rdi
je 0x30ed1
movq 0x8b0(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x8c0(%rsp), %rdi
cmpq %r15, %rdi
je 0x30eee
movq 0x8d0(%rsp), %rsi
incq %rsi
callq 0x32e0
testb %bl, %bl
je 0x33e3f
leaq 0x870(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xfd64(%rip), %rsi      # 0x40c6d
leaq 0xfd67(%rip), %rdx      # 0x40c77
leaq 0x860(%rsp), %rdi
callq 0xb7d0
leaq 0x70(%rsp), %rdi
leaq 0x860(%rsp), %rsi
callq 0x2c614
movl %eax, %ebx
movq 0x860(%rsp), %rdi
cmpq %r15, %rdi
je 0x30f4e
movq 0x870(%rsp), %rsi
incq %rsi
callq 0x32e0
testb %bl, %bl
je 0x30fe9
leaq 0x850(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xfd04(%rip), %rsi      # 0x40c6d
leaq 0xfd07(%rip), %rdx      # 0x40c77
leaq 0x840(%rsp), %rdi
callq 0xb7d0
leaq 0xb50(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x840(%rsp), %rdx
callq 0x2c62a
leaq 0xb60(%rsp), %r14
movq -0x10(%r14), %rbx
movq %rbx, %rdi
callq 0x3450
leaq 0x2432a(%rip), %rcx     # 0x552dc
movl %eax, (%rcx)
cmpq %r14, %rbx
je 0x30fcc
movq 0xb60(%rsp), %rsi
incq %rsi
movq %rbx, %rdi
callq 0x32e0
movq 0x840(%rsp), %rdi
cmpq %r15, %rdi
je 0x30fe9
movq 0x850(%rsp), %rsi
incq %rsi
callq 0x32e0
leaq 0x830(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xfa7e(%rip), %rsi      # 0x40a7a
leaq 0xfa7b(%rip), %rdx      # 0x40a7e
leaq 0x820(%rsp), %rdi
callq 0xb7d0
leaq 0x70(%rsp), %rdi
leaq 0x820(%rsp), %rsi
callq 0x2c614
movl %eax, %ebx
movq 0x820(%rsp), %rdi
cmpq %r15, %rdi
je 0x31041
movq 0x830(%rsp), %rsi
incq %rsi
callq 0x32e0
testb %bl, %bl
je 0x310ec
leaq 0x810(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xfe78(%rip), %rsi      # 0x40ed4
leaq 0xfe72(%rip), %rdx      # 0x40ed5
leaq 0x800(%rsp), %rdi
callq 0xb7d0
leaq 0x70(%rsp), %rdi
leaq 0x800(%rsp), %rsi
callq 0x2c614
testb %al, %al
je 0x311ef
leaq 0x7f0(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xfbbd(%rip), %rsi      # 0x40c5b
leaq 0xfbb7(%rip), %rdx      # 0x40c5c
leaq 0x7e0(%rsp), %rdi
callq 0xb7d0
leaq 0x70(%rsp), %rdi
leaq 0x7e0(%rsp), %rsi
callq 0x2c614
movl %eax, %ebx
movq 0x7e0(%rsp), %rdi
cmpq %r12, %rdi
je 0x311f1
movq 0x7f0(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0x311f1
leaq 0x710(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xfb64(%rip), %rsi      # 0x40c63
leaq 0xfb5f(%rip), %rdx      # 0x40c65
leaq 0x700(%rsp), %rdi
callq 0xb7d0
leaq 0x70(%rsp), %rdi
leaq 0x700(%rsp), %rsi
callq 0x2c614
movl %eax, %ebx
movq 0x700(%rsp), %rdi
cmpq %r15, %rdi
je 0x31144
movq 0x710(%rsp), %rsi
incq %rsi
callq 0x32e0
testb %bl, %bl
je 0x315fe
leaq 0x6f0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xfd75(%rip), %rsi      # 0x40ed4
leaq 0xfd6f(%rip), %rdx      # 0x40ed5
leaq 0x6e0(%rsp), %rdi
callq 0xb7d0
leaq 0x70(%rsp), %rdi
leaq 0x6e0(%rsp), %rsi
callq 0x2c614
testb %al, %al
je 0x31fc7
leaq 0x6d0(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xfaba(%rip), %rsi      # 0x40c5b
leaq 0xfab4(%rip), %rdx      # 0x40c5c
leaq 0x6c0(%rsp), %rdi
callq 0xb7d0
leaq 0x70(%rsp), %rdi
leaq 0x6c0(%rsp), %rsi
callq 0x2c614
movl %eax, %ebx
movq 0x6c0(%rsp), %rdi
cmpq %r12, %rdi
je 0x31fc9
movq 0x6d0(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0x31fc9
xorl %ebx, %ebx
movq 0x800(%rsp), %rdi
cmpq %r15, %rdi
je 0x3120e
movq 0x810(%rsp), %rsi
incq %rsi
callq 0x32e0
testb %bl, %bl
je 0x33e3f
leaq 0x7d0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xfcab(%rip), %rsi      # 0x40ed4
leaq 0xfca5(%rip), %rdx      # 0x40ed5
leaq 0x7c0(%rsp), %rdi
callq 0xb7d0
leaq 0x940(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x7c0(%rsp), %rdx
callq 0x2c62a
movq 0x940(%rsp), %rsi
leaq 0xb50(%rsp), %rdi
movl $0x8, %edx
callq 0x3550
leaq 0x950(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x31292
movq 0x950(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x7c0(%rsp), %rdi
cmpq %rbx, %rdi
je 0x312af
movq 0x7d0(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x23d3a(%rip), %rbx     # 0x54ff0
leaq 0xf9bb(%rip), %rsi      # 0x40c78
movl $0x9, %edx
movq %rbx, %rdi
callq 0x3350
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq 0x23d08(%rip), %rdi     # 0x54ff0
callq 0x3030
movq %rax, %rdi
callq 0x31e0
leaq 0xf8(%rsp), %rdi
leaq 0xb50(%rsp), %rsi
callq 0x3ccb6
movq 0x23cdf(%rip), %rbx     # 0x54ff0
leaq 0xf96a(%rip), %rsi      # 0x40c82
movl $0x4, %edx
movq %rbx, %rdi
callq 0x3350
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq 0x23cad(%rip), %rdi     # 0x54ff0
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq 0x23c79(%rip), %rsi     # 0x54fd0
leaq 0xf8(%rsp), %rdi
callq 0x34b1a
leaq 0x7b0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xf8e4(%rip), %rsi      # 0x40c5b
leaq 0xf8de(%rip), %rdx      # 0x40c5c
leaq 0x7a0(%rsp), %rdi
callq 0xb7d0
leaq 0xb0(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x7a0(%rsp), %rdx
callq 0x2c62a
movq 0xb0(%rsp), %rsi
leaq 0x940(%rsp), %rdi
movl $0x8, %edx
callq 0x3550
leaq 0xc0(%rsp), %r15
movq -0x10(%r15), %rdi
cmpq %r15, %rdi
je 0x313e0
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x7a0(%rsp), %rdi
cmpq %rbx, %rdi
je 0x313fd
movq 0x7b0(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x940(%rsp), %rax
movq -0x18(%rax), %rax
cmpl $0x0, 0x960(%rsp,%rax)
jne 0x33e44
leaq 0x790(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xed20(%rip), %rsi      # 0x4014b
leaq 0xed1a(%rip), %rdx      # 0x4014c
leaq 0x780(%rsp), %rdi
callq 0xb7d0
leaq 0x70(%rsp), %rdi
leaq 0x780(%rsp), %rsi
callq 0x2c614
movl %eax, %ebx
movq 0x780(%rsp), %rdi
cmpq %r12, %rdi
je 0x31470
movq 0x790(%rsp), %rsi
incq %rsi
callq 0x32e0
movl $0x1, (%rsp)
testb %bl, %bl
je 0x31509
leaq 0x770(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xecb8(%rip), %rsi      # 0x4014b
leaq 0xecb2(%rip), %rdx      # 0x4014c
leaq 0x760(%rsp), %rdi
callq 0xb7d0
leaq 0xb0(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x760(%rsp), %rdx
callq 0x2c62a
movq 0xb0(%rsp), %rbx
movq %rbx, %rdi
callq 0x3450
movl %eax, (%rsp)
cmpq %r15, %rbx
je 0x314ec
movq 0xc0(%rsp), %rsi
incq %rsi
movq %rbx, %rdi
callq 0x32e0
movq 0x760(%rsp), %rdi
cmpq %r12, %rdi
je 0x31509
movq 0x770(%rsp), %rsi
incq %rsi
callq 0x32e0
leaq 0x750(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xf740(%rip), %rsi      # 0x40c5d
leaq 0xf73e(%rip), %rdx      # 0x40c62
leaq 0x740(%rsp), %rdi
callq 0xb7d0
leaq 0x70(%rsp), %rdi
leaq 0x740(%rsp), %rsi
callq 0x2c614
movl %eax, %ebx
movq 0x740(%rsp), %rdi
cmpq %r12, %rdi
je 0x31562
movq 0x750(%rsp), %rsi
incq %rsi
callq 0x32e0
testb %bl, %bl
je 0x31c90
leaq 0x730(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xf6df(%rip), %rsi      # 0x40c5d
leaq 0xf6dd(%rip), %rdx      # 0x40c62
leaq 0x720(%rsp), %rdi
callq 0xb7d0
leaq 0xb0(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x720(%rsp), %rdx
callq 0x2c62a
movq 0xb0(%rsp), %r14
movq %r14, %rdi
callq 0x3450
movl %eax, %ebx
cmpq %r15, %r14
je 0x315d6
movq 0xc0(%rsp), %rsi
incq %rsi
movq %r14, %rdi
callq 0x32e0
movq 0x720(%rsp), %rdi
cmpq %r12, %rdi
je 0x315f3
movq 0x730(%rsp), %rsi
incq %rsi
callq 0x32e0
testl %ebx, %ebx
setg %r12b
jmp 0x31c93
leaq 0x5d0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xf655(%rip), %rsi      # 0x40c66
leaq 0xf654(%rip), %rdx      # 0x40c6c
leaq 0x5c0(%rsp), %rdi
callq 0xb7d0
leaq 0x70(%rsp), %rdi
leaq 0x5c0(%rsp), %rsi
callq 0x2c614
movl %eax, %ebx
movq 0x5c0(%rsp), %rdi
cmpq %r15, %rdi
je 0x31656
movq 0x5d0(%rsp), %rsi
incq %rsi
callq 0x32e0
testb %bl, %bl
je 0x3277d
leaq 0x5b0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xf5ea(%rip), %rsi      # 0x40c5b
leaq 0xf5e4(%rip), %rdx      # 0x40c5c
leaq 0x5a0(%rsp), %rdi
callq 0xb7d0
leaq 0x70(%rsp), %rdi
leaq 0x5a0(%rsp), %rsi
callq 0x2c614
movl %eax, %ebx
movq 0x5a0(%rsp), %rdi
cmpq %r15, %rdi
je 0x316b6
movq 0x5b0(%rsp), %rsi
incq %rsi
callq 0x32e0
testb %bl, %bl
je 0x33e3f
leaq 0xc0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0xf5ed(%rip), %rsi      # 0x40cbe
leaq 0xf5f1(%rip), %rdx      # 0x40cc9
leaq 0xb0(%rsp), %rdi
callq 0xb7d0
leaq 0x590(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xf5d2(%rip), %rsi      # 0x40cca
leaq 0xf5cf(%rip), %rdx      # 0x40cce
leaq 0x580(%rsp), %rdi
callq 0xb7d0
leaq 0x70(%rsp), %rdi
leaq 0x580(%rsp), %rsi
callq 0x2c614
movl %eax, %ebx
movq 0x580(%rsp), %rdi
cmpq %r15, %rdi
je 0x3173d
movq 0x590(%rsp), %rsi
incq %rsi
callq 0x32e0
testb %bl, %bl
je 0x317db
leaq 0x570(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xf572(%rip), %rsi      # 0x40cca
leaq 0xf56f(%rip), %rdx      # 0x40cce
leaq 0x560(%rsp), %rdi
callq 0xb7d0
leaq 0xb50(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x560(%rsp), %rdx
callq 0x2c62a
leaq 0xb0(%rsp), %rdi
leaq 0xb50(%rsp), %rbx
movq %rbx, %rsi
callq 0x3380
movq (%rbx), %rdi
leaq 0xb60(%rsp), %rax
cmpq %rax, %rdi
je 0x317be
movq 0xb60(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x560(%rsp), %rdi
cmpq %r15, %rdi
je 0x317db
movq 0x570(%rsp), %rsi
incq %rsi
callq 0x32e0
leaq 0xf4ed(%rip), %rsi      # 0x40ccf
leaq 0xb0(%rsp), %rdi
callq 0x3570
leaq 0x550(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xf4d4(%rip), %rsi      # 0x40cd6
leaq 0xf4d9(%rip), %rdx      # 0x40ce2
leaq 0x540(%rsp), %rdi
callq 0xb7d0
leaq 0x70(%rsp), %rdi
leaq 0x540(%rsp), %rsi
callq 0x2c614
movl %eax, %ebp
movq 0x540(%rsp), %rdi
cmpq %rbx, %rdi
je 0x31847
movq 0x550(%rsp), %rsi
incq %rsi
callq 0x32e0
movl $0x6, %ebx
testb %bpl, %bpl
je 0x318e4
leaq 0x530(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xf46e(%rip), %rsi      # 0x40cd6
leaq 0xf473(%rip), %rdx      # 0x40ce2
leaq 0x520(%rsp), %rdi
callq 0xb7d0
leaq 0xb50(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x520(%rsp), %rdx
callq 0x2c62a
leaq 0xb60(%rsp), %r12
movq -0x10(%r12), %r14
movq %r14, %rdi
callq 0x3450
movl %eax, %ebx
cmpq %r12, %r14
je 0x318c5
movq 0xb60(%rsp), %rsi
incq %rsi
movq %r14, %rdi
callq 0x32e0
movq 0x520(%rsp), %rdi
cmpq %r15, %rdi
je 0x318e2
movq 0x530(%rsp), %rsi
incq %rsi
callq 0x32e0
incl %ebx
xorpd %xmm0, %xmm0
leaq 0x960(%rsp), %rax
movapd %xmm0, -0x20(%rax)
xorl %ecx, %ecx
movq %rcx, -0x10(%rax)
movl %ecx, (%rax)
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq 0x990(%rsp), %rax
movl %ecx, (%rax)
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq 0x9c0(%rsp), %rax
movl %ecx, (%rax)
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq 0x9f0(%rsp), %rax
movl %ecx, (%rax)
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq 0xa20(%rsp), %rax
movl %ecx, (%rax)
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movapd %xmm0, 0x30(%rax)
movapd %xmm0, 0x20(%rax)
leaq 0x510(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0xb0(%rsp), %rsi
movq 0xb8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x500(%rsp), %rdi
callq 0x6afc
leaq 0x940(%rsp), %rdi
leaq 0x500(%rsp), %rsi
movl %ebx, %edx
callq 0xfa5c
movq 0x500(%rsp), %rdi
cmpq %r15, %rdi
je 0x319db
movq 0x510(%rsp), %rsi
incq %rsi
callq 0x32e0
callq 0x31c0
subq 0x23941(%rip), %rax     # 0x55328
addq %rax, 0x2398a(%rip)     # 0x55378
leaq 0x4f0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xf25a(%rip), %rsi      # 0x40c5b
leaq 0xf254(%rip), %rdx      # 0x40c5c
leaq 0x4e0(%rsp), %rdi
callq 0xb7d0
leaq 0xf8(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x4e0(%rsp), %rdx
callq 0x2c62a
movq 0xf8(%rsp), %rsi
leaq 0xb50(%rsp), %rbp
movq %rbp, %rdi
movl $0x8, %edx
callq 0x3550
leaq 0x108(%rsp), %r15
movq -0x10(%r15), %rdi
cmpq %r15, %rdi
je 0x31a6d
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x4e0(%rsp), %rdi
cmpq %rbx, %rdi
je 0x31a8a
movq 0x4f0(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0xb50(%rsp), %rax
movq -0x18(%rax), %rax
cmpl $0x0, 0xb70(%rsp,%rax)
jne 0x33e49
leaq 0x4d0(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xe693(%rip), %rsi      # 0x4014b
leaq 0xe68d(%rip), %rdx      # 0x4014c
leaq 0x4c0(%rsp), %rdi
callq 0xb7d0
leaq 0x70(%rsp), %rdi
leaq 0x4c0(%rsp), %rsi
callq 0x2c614
movl %eax, %ebx
movq 0x4c0(%rsp), %rdi
cmpq %r12, %rdi
je 0x31afd
movq 0x4d0(%rsp), %rsi
incq %rsi
callq 0x32e0
movl $0x1, 0x4(%rsp)
testb %bl, %bl
je 0x31b98
leaq 0x4b0(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xe62a(%rip), %rsi      # 0x4014b
leaq 0xe624(%rip), %rdx      # 0x4014c
leaq 0x4a0(%rsp), %rdi
callq 0xb7d0
leaq 0xf8(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x4a0(%rsp), %rdx
callq 0x2c62a
movq 0xf8(%rsp), %rbx
movq %rbx, %rdi
callq 0x3450
movl %eax, 0x4(%rsp)
cmpq %r15, %rbx
je 0x31b7b
movq 0x108(%rsp), %rsi
incq %rsi
movq %rbx, %rdi
callq 0x32e0
movq 0x4a0(%rsp), %rdi
cmpq %r12, %rdi
je 0x31b98
movq 0x4b0(%rsp), %rsi
incq %rsi
callq 0x32e0
leaq 0x490(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xf0b1(%rip), %rsi      # 0x40c5d
leaq 0xf0af(%rip), %rdx      # 0x40c62
leaq 0x480(%rsp), %rdi
callq 0xb7d0
leaq 0x70(%rsp), %rdi
leaq 0x480(%rsp), %rsi
callq 0x2c614
movl %eax, %ebx
movq 0x480(%rsp), %rdi
cmpq %r12, %rdi
je 0x31bf1
movq 0x490(%rsp), %rsi
incq %rsi
callq 0x32e0
testb %bl, %bl
je 0x3279b
leaq 0x470(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xf050(%rip), %rsi      # 0x40c5d
leaq 0xf04e(%rip), %rdx      # 0x40c62
leaq 0x460(%rsp), %rdi
callq 0xb7d0
leaq 0xf8(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x460(%rsp), %rdx
callq 0x2c62a
movq 0xf8(%rsp), %r14
movq %r14, %rdi
callq 0x3450
movl %eax, %ebx
cmpq %r15, %r14
je 0x31c65
movq 0x108(%rsp), %rsi
incq %rsi
movq %r14, %rdi
callq 0x32e0
movq 0x460(%rsp), %rdi
cmpq %r12, %rdi
je 0x31c82
movq 0x470(%rsp), %rsi
incq %rsi
callq 0x32e0
testl %ebx, %ebx
setg %al
movl %eax, 0x8(%rsp)
jmp 0x327a3
xorl %r12d, %r12d
movq 0x940(%rsp), %rax
movq -0x18(%rax), %rcx
testb $0x2, 0x960(%rsp,%rcx)
jne 0x31fb5
addq $-0x18, %rax
movq $0x0, 0x8(%rsp)
leaq 0x340(%rsp), %rbp
leaq 0xb0(%rsp), %r13
movq 0x232ff(%rip), %rbx     # 0x54fd0
leaq 0x320(%rsp), %r15
movl %r12d, 0x38(%rsp)
movq %rbx, %r12
movq %r15, %rbx
movq %r13, %r15
movq %rbp, %r13
leaq 0x50(%rsp), %rcx
movq %rcx, 0x40(%rsp)
movq $0x0, 0x48(%rsp)
movb $0x0, 0x50(%rsp)
movq (%rax), %rdi
leaq 0x940(%rsp), %r14
addq %r14, %rdi
movl $0xa, %esi
callq 0x32b0
leaq 0x40(%rsp), %rbp
movsbl %al, %edx
movq %r14, %rdi
movq %rbp, %rsi
callq 0x3560
movq 0x8(%rsp), %rax
incl %eax
movq %rax, 0x8(%rsp)
movq %rbp, %rdi
leaq 0xf173(%rip), %rsi      # 0x40eb6
callq 0x30c0
testl %eax, %eax
movq %r13, %rbp
movq %r15, %r13
movq %rbx, %r15
movq %r12, %rbx
movl 0x38(%rsp), %r12d
je 0x31f7b
xorpd %xmm0, %xmm0
movapd %xmm0, 0x10(%rsp)
movq $0x0, 0x20(%rsp)
leaq 0x350(%rsp), %rax
movq %rax, 0x340(%rsp)
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
addq %rsi, %rdx
movq %rbp, %rdi
callq 0x6afc
movq %r13, %rdi
movq %rbp, %rsi
callq 0x25f84
movq 0x340(%rsp), %rdi
leaq 0x350(%rsp), %rax
cmpq %rax, %rdi
je 0x31dc9
movq 0x350(%rsp), %rsi
incq %rsi
callq 0x32e0
movq %r13, %rdi
leaq 0xf8(%rsp), %rsi
callq 0x2979c
cmpl $0x2, (%rsp)
jl 0x31ea0
movl $0x9, %edx
movq %rbx, %rdi
leaq 0xee95(%rip), %rsi      # 0x40c87
callq 0x3350
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
callq 0x3500
movq %rax, %r14
movl $0x3, %edx
movq %rax, %rdi
leaq 0xee7b(%rip), %rsi      # 0x40c91
callq 0x3350
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
movq %r14, %rdi
callq 0x3350
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq %rbx, %rdi
movl (%rsp), %esi
callq 0x3500
movq %rax, %r14
movl $0x6, %edx
movq %rax, %rdi
leaq 0xee21(%rip), %rsi      # 0x40c95
callq 0x3350
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
leaq 0x330(%rsp), %rax
movq %rax, 0x320(%rsp)
movq %r15, %rdi
leaq 0xe602(%rip), %rsi      # 0x404bc
leaq 0xe5ff(%rip), %rdx      # 0x404c0
callq 0xb7d0
movq %r13, %rdi
movl (%rsp), %esi
leaq 0x10(%rsp), %rdx
movq %r15, %rcx
callq 0x29e78
movq 0x320(%rsp), %rdi
leaq 0x330(%rsp), %rax
cmpq %rax, %rdi
je 0x31efe
movq 0x330(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x10(%rsp), %rax
cmpq %rax, 0x18(%rsp)
je 0x31f4f
xorl %r14d, %r14d
movq (%rax,%r14,8), %rdi
testb %r12b, %r12b
je 0x31f20
movq %rbx, %rsi
callq 0x3d974
jmp 0x31f28
movq %rbx, %rsi
callq 0x3e88a
movq 0x10(%rsp), %rax
movq (%rax,%r14,8), %rdi
callq 0x3edb6
incq %r14
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
subq %rax, %rcx
sarq $0x3, %rcx
cmpq %r14, %rcx
ja 0x31f0d
leaq 0xc8(%rsp), %rdi
callq 0x6186
movq %r13, %rdi
callq 0x2a518
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x31f7b
movq 0x20(%rsp), %rsi
subq %rdi, %rsi
callq 0x32e0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x31f97
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x940(%rsp), %rax
movq -0x18(%rax), %rcx
addq $-0x18, %rax
testb $0x2, 0x960(%rsp,%rcx)
je 0x31cde
leaq 0x940(%rsp), %rdi
callq 0x30a0
jmp 0x32756
xorl %ebx, %ebx
movq 0x6e0(%rsp), %rdi
cmpq %r15, %rdi
je 0x31fe6
movq 0x6f0(%rsp), %rsi
incq %rsi
callq 0x32e0
testb %bl, %bl
je 0x33e3f
leaq 0x6b0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xeed3(%rip), %rsi      # 0x40ed4
leaq 0xeecd(%rip), %rdx      # 0x40ed5
leaq 0x6a0(%rsp), %rdi
callq 0xb7d0
leaq 0x940(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x6a0(%rsp), %rdx
callq 0x2c62a
movq 0x940(%rsp), %rsi
leaq 0xb50(%rsp), %rdi
movl $0x8, %edx
callq 0x3550
leaq 0x950(%rsp), %rbx
movq -0x10(%rbx), %rdi
cmpq %rbx, %rdi
je 0x3206a
movq 0x950(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x6a0(%rsp), %rdi
cmpq %r15, %rdi
je 0x32087
movq 0x6b0(%rsp), %rsi
incq %rsi
callq 0x32e0
leaq 0xf8(%rsp), %rdi
leaq 0xb50(%rsp), %rsi
callq 0x3ccb6
leaq 0x690(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xebae(%rip), %rsi      # 0x40c5d
leaq 0xebac(%rip), %rdx      # 0x40c62
leaq 0x680(%rsp), %rdi
callq 0xb7d0
leaq 0x70(%rsp), %rdi
leaq 0x680(%rsp), %rsi
callq 0x2c614
movl %eax, %ebp
movq 0x680(%rsp), %rdi
cmpq %r15, %rdi
je 0x320f4
movq 0x690(%rsp), %rsi
incq %rsi
callq 0x32e0
movb $0x1, 0x38(%rsp)
testb %bpl, %bpl
je 0x32191
leaq 0x670(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xeb48(%rip), %rsi      # 0x40c5d
leaq 0xeb46(%rip), %rdx      # 0x40c62
leaq 0x660(%rsp), %rdi
callq 0xb7d0
leaq 0x940(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x660(%rsp), %rdx
callq 0x2c62a
movq 0x940(%rsp), %r14
movq %r14, %rdi
callq 0x3450
movl %eax, %ebp
cmpq %rbx, %r14
je 0x3216d
movq 0x950(%rsp), %rsi
incq %rsi
movq %r14, %rdi
callq 0x32e0
movq 0x660(%rsp), %rdi
cmpq %r15, %rdi
je 0x3218a
movq 0x670(%rsp), %rsi
incq %rsi
callq 0x32e0
testl %ebp, %ebp
sete 0x38(%rsp)
leaq 0x650(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xeaf8(%rip), %rsi      # 0x40c9c
leaq 0xeaf5(%rip), %rdx      # 0x40ca0
leaq 0x640(%rsp), %rdi
callq 0xb7d0
leaq 0x70(%rsp), %rdi
leaq 0x640(%rsp), %rsi
callq 0x2c614
movl %eax, %ebp
movq 0x640(%rsp), %rdi
cmpq %r15, %rdi
je 0x321e9
movq 0x650(%rsp), %rsi
incq %rsi
callq 0x32e0
movl $0x1, (%rsp)
testb %bpl, %bpl
je 0x32282
leaq 0x630(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xea90(%rip), %rsi      # 0x40c9c
leaq 0xea8d(%rip), %rdx      # 0x40ca0
leaq 0x620(%rsp), %rdi
callq 0xb7d0
leaq 0x940(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x620(%rsp), %rdx
callq 0x2c62a
movq 0x940(%rsp), %r14
movq %r14, %rdi
callq 0x3450
movl %eax, (%rsp)
cmpq %rbx, %r14
je 0x32265
movq 0x950(%rsp), %rsi
incq %rsi
movq %r14, %rdi
callq 0x32e0
movq 0x620(%rsp), %rdi
cmpq %r15, %rdi
je 0x32282
movq 0x630(%rsp), %rsi
incq %rsi
callq 0x32e0
leaq 0x610(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xea8b(%rip), %rsi      # 0x40d20
leaq 0xea8d(%rip), %rdx      # 0x40d29
leaq 0x600(%rsp), %rdi
callq 0xb7d0
leaq 0x70(%rsp), %rdi
leaq 0x600(%rsp), %rsi
callq 0x2c614
movl %eax, %ebp
movq 0x600(%rsp), %rdi
cmpq %r15, %rdi
je 0x322da
movq 0x610(%rsp), %rsi
incq %rsi
callq 0x32e0
xorpd %xmm0, %xmm0
movsd %xmm0, 0xa0(%rsp)
testb %bpl, %bpl
je 0x3237f
leaq 0x5f0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xea1d(%rip), %rsi      # 0x40d20
leaq 0xea1f(%rip), %rdx      # 0x40d29
leaq 0x5e0(%rsp), %rdi
callq 0xb7d0
leaq 0x940(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x5e0(%rsp), %rdx
callq 0x2c62a
movq 0x940(%rsp), %r14
movq %r14, %rdi
callq 0x3390
movsd %xmm0, 0xa0(%rsp)
cmpq %rbx, %r14
je 0x32362
movq 0x950(%rsp), %rsi
incq %rsi
movq %r14, %rdi
callq 0x32e0
movq 0x5e0(%rsp), %rdi
cmpq %r15, %rdi
je 0x3237f
movq 0x5f0(%rsp), %rsi
incq %rsi
callq 0x32e0
leaq 0xb8(%rsp), %rax
movl $0x0, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq $0x0, 0x8(%rsp)
movq %rcx, 0x20(%rax)
cmpl $0x0, (%rsp)
jle 0x326ef
leaq 0x20(%rsp), %rbx
leaq 0x40(%rsp), %rbp
leaq 0x10(%rsp), %r13
leaq 0x2e0(%rsp), %r12
leaq 0x2c0(%rsp), %r14
cmpb $0x0, 0x38(%rsp)
jne 0x32475
movl $0x5, %edx
movq 0x22be8(%rip), %rdi     # 0x54fd0
leaq 0xe8b2(%rip), %rsi      # 0x40ca1
callq 0x3350
movq 0x22bd5(%rip), %rdi     # 0x54fd0
movq 0x8(%rsp), %rsi
callq 0x3500
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
leaq 0xf8(%rsp), %rdi
movq 0x22b92(%rip), %rsi     # 0x54fd0
callq 0x34b1a
movq 0x22b86(%rip), %rcx     # 0x54fd0
movq (%rcx), %rax
movq -0x18(%rax), %rdi
addq %rcx, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq 0x22b68(%rip), %rdi     # 0x54fd0
callq 0x3030
movq %rax, %rdi
callq 0x31e0
leaq 0xb0(%rsp), %rdi
callq 0x34da2
leaq 0x310(%rsp), %rax
movq %rax, 0x300(%rsp)
leaq 0x300(%rsp), %r15
movq %r15, %rdi
leaq 0xe7b7(%rip), %rsi      # 0x40c5b
leaq 0xe7b1(%rip), %rdx      # 0x40c5c
callq 0xb7d0
movq %rbp, %rdi
leaq 0x70(%rsp), %rsi
movq %r15, %rdx
callq 0x2c62a
movq 0x40(%rsp), %rsi
leaq 0x940(%rsp), %rdi
movl $0x8, %edx
callq 0x3550
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x324f3
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x300(%rsp), %rdi
leaq 0x310(%rsp), %rax
cmpq %rax, %rdi
je 0x32518
movq 0x310(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x940(%rsp), %rax
movq -0x18(%rax), %rcx
cmpl $0x0, 0x960(%rsp,%rcx)
jne 0x33e3a
addq $-0x18, %rax
movq %rbx, 0x10(%rsp)
movq $0x0, 0x18(%rsp)
movb $0x0, 0x20(%rsp)
movq (%rax), %rdi
leaq 0x940(%rsp), %r15
addq %r15, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %edx
movq %r15, %rdi
movq %r13, %rsi
callq 0x3560
movq %r13, %rdi
leaq 0xe93d(%rip), %rsi      # 0x40eb6
callq 0x30c0
testl %eax, %eax
je 0x32653
leaq 0x2f0(%rsp), %rax
movq %rax, 0x2e0(%rsp)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0x6afc
movq %rbp, %rdi
movq %r12, %rsi
callq 0x25f84
movq 0x2e0(%rsp), %rdi
leaq 0x2f0(%rsp), %rax
cmpq %rax, %rdi
je 0x325db
movq 0x2f0(%rsp), %rsi
incq %rsi
callq 0x32e0
leaq 0x2d0(%rsp), %rax
movq %rax, 0x2c0(%rsp)
movq %r14, %rdi
leaq 0xdec7(%rip), %rsi      # 0x404bc
leaq 0xdec4(%rip), %rdx      # 0x404c0
callq 0xb7d0
movq %rbp, %rdi
leaq 0xf8(%rsp), %rsi
leaq 0xb0(%rsp), %rdx
movq %r14, %rcx
callq 0x299c8
movq 0x2c0(%rsp), %rdi
leaq 0x2d0(%rsp), %rax
cmpq %rax, %rdi
je 0x32641
movq 0x2d0(%rsp), %rsi
incq %rsi
callq 0x32e0
leaq 0x58(%rsp), %rdi
callq 0x6186
movq %rbp, %rdi
callq 0x2a518
movq 0x10(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3266a
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x940(%rsp), %rax
movq -0x18(%rax), %rcx
addq $-0x18, %rax
testb $0x2, 0x960(%rsp,%rcx)
je 0x32536
leaq 0xf8(%rsp), %rdi
callq 0x197f0
leaq 0xb0(%rsp), %rdi
movsd 0xa0(%rsp), %xmm0
callq 0x196b8
leaq 0xb0(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
callq 0x195fe
leaq 0x940(%rsp), %rdi
callq 0x3080
leaq 0x940(%rsp), %rdi
callq 0x30a0
movq 0x8(%rsp), %rax
incl %eax
movq %rax, 0x8(%rsp)
cmpl (%rsp), %eax
jne 0x323d1
movq 0x228fa(%rip), %rbx     # 0x54ff0
leaq 0xe5aa(%rip), %rsi      # 0x40ca7
movl $0x16, %edx
movq %rbx, %rdi
callq 0x3350
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq 0x228c8(%rip), %rdi     # 0x54ff0
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq 0x22894(%rip), %rsi     # 0x54fd0
leaq 0xb0(%rsp), %rdi
callq 0x19644
leaq 0xb0(%rsp), %rdi
callq 0x34ce8
leaq 0x128(%rsp), %rdi
callq 0x1988e
leaq 0xf8(%rsp), %rdi
callq 0x34cd4
leaq 0xb50(%rsp), %rdi
callq 0x30a0
leaq 0x70(%rsp), %rdi
callq 0x2c602
xorl %eax, %eax
addq $0xd58, %rsp            # imm = 0xD58
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x0, 0x8(%rsp)
leaq 0x450(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xe52c(%rip), %rsi      # 0x40ce3
leaq 0xe528(%rip), %rdx      # 0x40ce6
leaq 0x440(%rsp), %rdi
callq 0xb7d0
leaq 0x70(%rsp), %rdi
leaq 0x440(%rsp), %rsi
callq 0x2c614
movl %eax, %ebx
movq 0x440(%rsp), %rdi
cmpq %r12, %rdi
je 0x327fc
movq 0x450(%rsp), %rsi
incq %rsi
callq 0x32e0
movl $0x2, 0xa0(%rsp)
testb %bl, %bl
je 0x328a5
leaq 0x430(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xe4c0(%rip), %rsi      # 0x40ce3
leaq 0xe4bc(%rip), %rdx      # 0x40ce6
leaq 0x420(%rsp), %rdi
callq 0xb7d0
leaq 0x920(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x420(%rsp), %rdx
callq 0x2c62a
leaq 0x920(%rsp), %rbx
movq %rbx, %rdi
callq 0x30c06
movl %eax, 0xa0(%rsp)
movq (%rbx), %rdi
leaq 0x930(%rsp), %rax
cmpq %rax, %rdi
je 0x32888
movq 0x930(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x420(%rsp), %rdi
cmpq %r12, %rdi
je 0x328a5
movq 0x430(%rsp), %rsi
incq %rsi
callq 0x32e0
leaq 0x410(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xe42e(%rip), %rsi      # 0x40ce7
leaq 0xe42c(%rip), %rdx      # 0x40cec
leaq 0x400(%rsp), %rdi
callq 0xb7d0
leaq 0x70(%rsp), %rdi
leaq 0x400(%rsp), %rsi
callq 0x2c614
movl %eax, %ebx
movq 0x400(%rsp), %rdi
cmpq %r12, %rdi
je 0x328fe
movq 0x410(%rsp), %rsi
incq %rsi
callq 0x32e0
testb %bl, %bl
je 0x32ab0
leaq 0x3f0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xe3ce(%rip), %rsi      # 0x40ce7
leaq 0xe3cc(%rip), %rdx      # 0x40cec
leaq 0x3e0(%rsp), %rdi
callq 0xb7d0
leaq 0xf8(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x3e0(%rsp), %rdx
callq 0x2c62a
movq 0x3e0(%rsp), %rdi
cmpq %rbx, %rdi
je 0x32964
movq 0x3f0(%rsp), %rsi
incq %rsi
callq 0x32e0
leaq 0xe382(%rip), %rsi      # 0x40ced
leaq 0xf8(%rsp), %rbx
movl $0x1, %ecx
movq %rbx, %rdi
xorl %edx, %edx
callq 0x3510
leaq 0x40(%rsp), %rdi
movq %rbx, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x3300
leaq 0x50(%rsp), %r14
movq -0x10(%r14), %rbx
movq %rbx, %rdi
callq 0x3450
movl %eax, (%rsp)
cmpq %r14, %rbx
je 0x329bd
movq 0x50(%rsp), %rsi
incq %rsi
movq %rbx, %rdi
callq 0x32e0
leaq 0xe329(%rip), %rsi      # 0x40ced
leaq 0xf8(%rsp), %rbx
movl $0x1, %ecx
movq %rbx, %rdi
xorl %edx, %edx
callq 0x3510
leaq 0x1(%rax), %rdx
leaq 0x40(%rsp), %rdi
movq %rbx, %rsi
movq $-0x1, %rcx
callq 0x3300
movq 0x40(%rsp), %rbx
movq %rbx, %rdi
callq 0x3390
movsd %xmm0, 0x38(%rsp)
cmpq %r14, %rbx
je 0x32a1b
movq 0x50(%rsp), %rsi
incq %rsi
movq %rbx, %rdi
callq 0x32e0
movq 0x225ce(%rip), %rdi     # 0x54ff0
leaq 0xe2c6(%rip), %rsi      # 0x40cef
movl $0x6, %edx
callq 0x3350
movq 0x225b6(%rip), %rdi     # 0x54ff0
movl (%rsp), %esi
callq 0x3500
movq %rax, %rbx
leaq 0xe2aa(%rip), %rsi      # 0x40cf6
movl $0x6, %edx
movq %rax, %rdi
callq 0x3350
movq %rbx, %rdi
movsd 0x38(%rsp), %xmm0
callq 0x34a0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq 0xf8(%rsp), %rdi
cmpq %r15, %rdi
je 0x32ac5
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0x32ac5
movsd 0xdaf8(%rip), %xmm0     # 0x405b0
movsd %xmm0, 0x38(%rsp)
movl $0x0, (%rsp)
leaq 0x40(%rsp), %rcx
leaq 0x3c0(%rsp), %r14
movq 0x224f7(%rip), %r13     # 0x54fd0
xorl %r15d, %r15d
movq 0xb50(%rsp), %rax
movq -0x18(%rax), %rax
testb $0x2, 0xb70(%rsp,%rax)
jne 0x3374b
movq %r14, %r12
movq %rcx, %rbx
incl %r15d
movq 0x224ea(%rip), %rdi     # 0x54ff0
movl %r15d, %esi
callq 0x3500
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
leaq 0x50(%rsp), %rax
movq %rax, 0x40(%rsp)
movq $0x0, 0x48(%rsp)
movb $0x0, 0x50(%rsp)
movq 0xb50(%rsp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x32b0
movq %rbx, %r14
movsbl %al, %edx
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x3560
movq %r14, %rdi
leaq 0xe332(%rip), %rsi      # 0x40eb6
callq 0x30c0
testl %eax, %eax
sete %al
cmpl (%rsp), %r15d
setl %cl
orb %al, %cl
jne 0x33710
xorps %xmm0, %xmm0
cvtsi2sd %r15d, %xmm0
movb $0x1, %bpl
ucomisd 0x38(%rsp), %xmm0
movq %rbx, %rcx
movq %r12, %r14
ja 0x33718
xorpd %xmm0, %xmm0
movapd %xmm0, 0xe0(%rsp)
movq $0x0, 0xf0(%rsp)
leaq 0x3d0(%rsp), %rbp
movq %rbp, 0x3c0(%rsp)
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
addq %rsi, %rdx
movq %r14, %rdi
callq 0x6afc
leaq 0xf8(%rsp), %rdi
movq %r14, %rsi
callq 0x25f84
movq 0x3c0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x32c25
movq 0x3d0(%rsp), %rsi
incq %rsi
callq 0x32e0
leaq 0xf8(%rsp), %rdi
leaq 0x940(%rsp), %rsi
movl 0xa0(%rsp), %edx
callq 0x1fc96
leaq 0x2a0(%rsp), %r14
leaq 0x20(%rsp), %rax
movq %rax, 0x10(%rsp)
leaq 0x10(%rsp), %rdi
leaq 0xd85d(%rip), %rsi      # 0x404bc
leaq 0xd85a(%rip), %rdx      # 0x404c0
callq 0xb7d0
leaq 0x2b0(%rsp), %rax
movq %rax, 0x2a0(%rsp)
movq %r14, %rdi
leaq 0xe078(%rip), %rsi      # 0x40cfd
leaq 0xe07c(%rip), %rdx      # 0x40d08
callq 0xb7d0
leaq 0x70(%rsp), %rdi
movq %r14, %rsi
callq 0x2c614
movl %eax, %r14d
movq 0x2a0(%rsp), %rdi
leaq 0x2b0(%rsp), %rax
cmpq %rax, %rdi
je 0x32cc6
movq 0x2b0(%rsp), %rsi
incq %rsi
callq 0x32e0
testb %r14b, %r14b
je 0x32ebe
leaq 0x210(%rsp), %rax
movq %rax, 0x200(%rsp)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
addq %rsi, %rdx
leaq 0x200(%rsp), %rdi
callq 0x6afc
leaq 0xf8(%rsp), %rdi
leaq 0x200(%rsp), %rsi
callq 0x29e0c
movq %rax, %r14
movq 0x200(%rsp), %rdi
leaq 0x210(%rsp), %rax
cmpq %rax, %rdi
je 0x32d36
movq 0x210(%rsp), %rsi
incq %rsi
callq 0x32e0
testq %r14, %r14
je 0x3316c
leaq 0x1f0(%rsp), %rax
movq %rax, 0x1e0(%rsp)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
addq %rsi, %rdx
leaq 0x1e0(%rsp), %rdi
callq 0x6afc
leaq 0xf8(%rsp), %rdi
leaq 0x1e0(%rsp), %rsi
movl $0x1, %edx
callq 0x34b54
movq 0x1e0(%rsp), %rdi
leaq 0x1f0(%rsp), %rax
cmpq %rax, %rdi
leaq 0x3b0(%rsp), %rbp
je 0x32db0
movq 0x1f0(%rsp), %rsi
incq %rsi
callq 0x32e0
movq %rbp, 0x3a0(%rsp)
leaq 0x3a0(%rsp), %r14
movq %r14, %rdi
leaq 0xdf56(%rip), %rsi      # 0x40d20
leaq 0xdf58(%rip), %rdx      # 0x40d29
callq 0xb7d0
leaq 0x70(%rsp), %rdi
movq %r14, %rsi
callq 0x2c614
movl %eax, %r14d
movq 0x3a0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x32e03
movq 0x3b0(%rsp), %rsi
incq %rsi
callq 0x32e0
testb %r14b, %r14b
leaq 0x280(%rsp), %r14
leaq 0x260(%rsp), %rbp
je 0x332a3
leaq 0x290(%rsp), %rax
movq %rax, 0x280(%rsp)
movq %r14, %rdi
leaq 0xdeea(%rip), %rsi      # 0x40d20
leaq 0xdeec(%rip), %rdx      # 0x40d29
callq 0xb7d0
leaq 0x160(%rsp), %rdi
leaq 0x70(%rsp), %rsi
movq %r14, %rdx
callq 0x2c62a
movq 0x160(%rsp), %r14
movq %r14, %rdi
callq 0x3390
movsd %xmm0, 0xa8(%rsp)
leaq 0x170(%rsp), %rax
cmpq %rax, %r14
je 0x32e90
movq 0x170(%rsp), %rsi
incq %rsi
movq %r14, %rdi
callq 0x32e0
movq 0x280(%rsp), %rdi
leaq 0x290(%rsp), %rax
cmpq %rax, %rdi
je 0x33555
movq 0x290(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0x33555
cmpl $0x2, 0x4(%rsp)
jl 0x32f85
movl $0x9, %edx
movq %r13, %rdi
leaq 0xddaf(%rip), %rsi      # 0x40c87
callq 0x3350
movq %r13, %rdi
movl %r15d, %esi
callq 0x3500
movq %rax, %r14
movl $0x3, %edx
movq %rax, %rdi
leaq 0xdd97(%rip), %rsi      # 0x40c91
callq 0x3350
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
movq %r14, %rdi
callq 0x3350
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq %r13, %rdi
movl 0x4(%rsp), %esi
callq 0x3500
movq %rax, %r14
movl $0x6, %edx
movq %rax, %rdi
leaq 0xdd3c(%rip), %rsi      # 0x40c95
callq 0x3350
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
cmpl $0x3, 0xa0(%rsp)
jne 0x32feb
leaq 0x390(%rsp), %rax
movq %rax, 0x380(%rsp)
leaq 0x380(%rsp), %r14
movq %r14, %rdi
leaq 0xd3df(%rip), %rsi      # 0x40390
leaq 0xd3de(%rip), %rdx      # 0x40396
callq 0xb7d0
leaq 0xf8(%rsp), %rdi
movl 0x4(%rsp), %esi
leaq 0xe0(%rsp), %rdx
movq %r14, %rcx
callq 0x29e78
movq 0x380(%rsp), %rdi
leaq 0x390(%rsp), %rcx
jmp 0x33045
leaq 0x370(%rsp), %rax
movq %rax, 0x360(%rsp)
leaq 0x360(%rsp), %r14
movq %r14, %rdi
leaq 0xd4af(%rip), %rsi      # 0x404bc
leaq 0xd4ac(%rip), %rdx      # 0x404c0
callq 0xb7d0
leaq 0xf8(%rsp), %rdi
movl 0x4(%rsp), %esi
leaq 0xe0(%rsp), %rdx
movq %r14, %rcx
callq 0x29e78
movq 0x360(%rsp), %rdi
leaq 0x370(%rsp), %rcx
movq %rcx, %rax
cmpq %rcx, %rdi
je 0x33058
movq (%rax), %rsi
incq %rsi
callq 0x32e0
movq 0xe8(%rsp), %rax
cmpq 0xe0(%rsp), %rax
je 0x3325e
xorl %ebp, %ebp
leaq 0x230(%rsp), %rax
movq %rax, 0x220(%rsp)
leaq 0x220(%rsp), %r14
movq %r14, %rdi
leaq 0xdcaa(%rip), %rsi      # 0x40d3c
leaq 0xdcac(%rip), %rdx      # 0x40d45
callq 0xb7d0
leaq 0x70(%rsp), %rdi
movq %r14, %rsi
callq 0x2c614
movl %eax, %r14d
movq 0x220(%rsp), %rdi
leaq 0x230(%rsp), %rax
cmpq %rax, %rdi
je 0x330d3
movq 0x230(%rsp), %rsi
incq %rsi
callq 0x32e0
testb %r14b, %r14b
jne 0x330e9
movq 0xe0(%rsp), %rax
movq (%rax,%rbp,8), %rdi
callq 0x3ee58
movq 0xe0(%rsp), %rax
movq (%rax,%rbp,8), %rdi
cmpb $0x0, 0x8(%rsp)
je 0x33106
movq %r13, %rsi
callq 0x3d974
jmp 0x3310e
movq %r13, %rsi
callq 0x3e88a
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %r13, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq 0xe0(%rsp), %rax
movq (%rax,%rbp,8), %rdi
callq 0x3edb6
incq %rbp
movq 0xe8(%rsp), %rax
subq 0xe0(%rsp), %rax
sarq $0x3, %rax
cmpq %rbp, %rax
ja 0x33070
jmp 0x336bd
movl $0xd, %edx
movq 0x21e78(%rip), %rdi     # 0x54ff0
leaq 0xdb8a(%rip), %rsi      # 0x40d09
callq 0x3350
movq 0x21e65(%rip), %rcx     # 0x54ff0
movq (%rcx), %rax
movq -0x18(%rax), %rdi
addq %rcx, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq 0x21e47(%rip), %rdi     # 0x54ff0
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movl $0x9, %edx
movq %r13, %rdi
leaq 0xdac2(%rip), %rsi      # 0x40c87
callq 0x3350
movq %r13, %rdi
movl %r15d, %esi
callq 0x3500
movq %rax, %r14
movl $0x2, %edx
movq %rax, %rdi
leaq 0xdb30(%rip), %rsi      # 0x40d17
callq 0x3350
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
movq %r13, %rdi
callq 0x3350
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movl $0x1, %r14d
movq %rax, %rdi
callq 0x31e0
leaq 0xda37(%rip), %rsi      # 0x40c93
jmp 0x3326b
movl $0x4, %r14d
leaq 0xdacc(%rip), %rsi      # 0x40d37
movq %r13, %rdi
movq %r14, %rdx
callq 0x3350
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %r13, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
jmp 0x336bd
leaq 0x270(%rsp), %rax
movq %rax, 0x260(%rsp)
movq %rbp, %rdi
leaq 0xda5d(%rip), %rsi      # 0x40d1a
leaq 0xda65(%rip), %rdx      # 0x40d29
callq 0xb7d0
leaq 0x70(%rsp), %rdi
movq %rbp, %rsi
callq 0x2c614
movl %eax, %r14d
movq 0x260(%rsp), %rdi
leaq 0x270(%rsp), %rax
cmpq %rax, %rdi
je 0x332fe
movq 0x270(%rsp), %rsi
incq %rsi
callq 0x32e0
movl $0x64, %ebp
testb %r14b, %r14b
je 0x333a6
leaq 0x250(%rsp), %rax
movq %rax, 0x240(%rsp)
leaq 0x240(%rsp), %r14
movq %r14, %rdi
leaq 0xd9ec(%rip), %rsi      # 0x40d1a
leaq 0xd9f4(%rip), %rdx      # 0x40d29
callq 0xb7d0
leaq 0x160(%rsp), %rdi
leaq 0x70(%rsp), %rsi
movq %r14, %rdx
callq 0x2c62a
movq 0x160(%rsp), %r14
movq %r14, %rdi
callq 0x3450
movl %eax, %ebp
leaq 0x170(%rsp), %rax
cmpq %rax, %r14
je 0x33381
movq 0x170(%rsp), %rsi
incq %rsi
movq %r14, %rdi
callq 0x32e0
movq 0x240(%rsp), %rdi
leaq 0x250(%rsp), %rax
cmpq %rax, %rdi
je 0x333a6
movq 0x250(%rsp), %rsi
incq %rsi
callq 0x32e0
xorl %eax, %eax
movq %rax, 0x158(%rsp)
movq %rax, 0x160(%rsp)
leaq 0x1d0(%rsp), %rax
movq %rax, 0x1c0(%rsp)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
addq %rsi, %rdx
leaq 0x1c0(%rsp), %rdi
callq 0x6afc
leaq 0xf8(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
callq 0x29e0c
movq %rax, %r14
movq 0x1c0(%rsp), %rdi
leaq 0x1d0(%rsp), %rax
cmpq %rax, %rdi
je 0x3341f
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x32e0
movsd 0xd191(%rip), %xmm0     # 0x405b8
movsd %xmm0, 0xa8(%rsp)
testq %r14, %r14
je 0x33555
leaq 0x1b0(%rsp), %rax
movq %rax, 0x1a0(%rsp)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
addq %rsi, %rdx
leaq 0x1a0(%rsp), %rdi
callq 0x6afc
leaq 0xf8(%rsp), %rdi
leaq 0x1a0(%rsp), %rsi
callq 0x29e0c
movq %rax, %rdi
movl $0x1, %esi
leaq 0x160(%rsp), %rdx
callq 0x2cffa
movq 0x1a0(%rsp), %rdi
leaq 0x1b0(%rsp), %rax
cmpq %rax, %rdi
je 0x334b2
movq 0x1b0(%rsp), %rsi
incq %rsi
callq 0x32e0
movsd 0x160(%rsp), %xmm0
movsd %xmm0, 0x158(%rsp)
leaq 0x190(%rsp), %rax
movq %rax, 0x180(%rsp)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
addq %rsi, %rdx
leaq 0x180(%rsp), %rdi
callq 0x6afc
leaq 0xf8(%rsp), %rdi
leaq 0x180(%rsp), %rsi
callq 0x29e0c
movq %rax, %rdi
movl %ebp, %esi
leaq 0x158(%rsp), %rdx
callq 0x2cffa
movq 0x180(%rsp), %rdi
leaq 0x190(%rsp), %rax
cmpq %rax, %rdi
je 0x3353a
movq 0x190(%rsp), %rsi
incq %rsi
callq 0x32e0
movsd 0x160(%rsp), %xmm0
subsd 0x158(%rsp), %xmm0
movsd %xmm0, 0xa8(%rsp)
movsd 0xa8(%rsp), %xmm0
ucomisd 0xcdfa(%rip), %xmm0     # 0x40360
jbe 0x335da
movl $0xc, %edx
movq 0x21a7c(%rip), %rdi     # 0x54ff0
leaq 0xd7af(%rip), %rsi      # 0x40d2a
callq 0x3350
movq 0x21a69(%rip), %rdi     # 0x54ff0
movsd 0xa8(%rsp), %xmm0
callq 0x34a0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
leaq 0xf8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
movsd 0xa8(%rsp), %xmm0
callq 0x2a172
leaq 0xf8(%rsp), %rdi
movl $0x1, %esi
callq 0x2a2d2
movl $0x9, %edx
movq %r13, %rdi
leaq 0xd68c(%rip), %rsi      # 0x40c87
callq 0x3350
movq %r13, %rdi
movl %r15d, %esi
callq 0x3500
movq %rax, %r14
movl $0x2, %edx
movq %rax, %rdi
leaq 0xd6fa(%rip), %rsi      # 0x40d17
callq 0x3350
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
movq %r13, %rdi
callq 0x3350
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
leaq 0xf8(%rsp), %rdi
movq %r13, %rsi
callq 0x26268
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %r13, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x336d9
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x32e0
leaq 0x110(%rsp), %rdi
callq 0x6186
leaq 0xf8(%rsp), %rdi
callq 0x2a518
movq 0xe0(%rsp), %rdi
testq %rdi, %rdi
je 0x33710
movq 0xf0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32e0
xorl %ebp, %ebp
movq %rbx, %rcx
movq %r12, %r14
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x3373a
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x32e0
movq %r12, %r14
movq %rbx, %rcx
testb %bpl, %bpl
leaq 0xb50(%rsp), %rbp
je 0x32adc
callq 0x31c0
subq 0x21bd1(%rip), %rax     # 0x55328
movq %rax, 0x21bca(%rip)     # 0x55328
movq 0x2188b(%rip), %rdi     # 0x54ff0
leaq 0xd5da(%rip), %rsi      # 0x40d46
movl $0x9, %edx
callq 0x3350
xorps %xmm0, %xmm0
cvtsi2sdq 0x21ba6(%rip), %xmm0 # 0x55328
divsd 0xce36(%rip), %xmm0     # 0x405c0
movq 0x2185f(%rip), %rdi     # 0x54ff0
callq 0x34a0
movq %rax, %rbx
leaq 0xc905(%rip), %rsi      # 0x400a5
movl $0x1, %edx
movq %rax, %rdi
callq 0x3350
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq 0x21815(%rip), %rdi     # 0x54ff0
leaq 0xd56e(%rip), %rsi      # 0x40d50
movl $0x12, %edx
callq 0x3350
xorps %xmm0, %xmm0
cvtsi2sdq 0x21b80(%rip), %xmm0 # 0x55378
divsd 0xcdc0(%rip), %xmm0     # 0x405c0
movq 0x217e9(%rip), %rdi     # 0x54ff0
callq 0x34a0
movq %rax, %rbx
leaq 0xc88f(%rip), %rsi      # 0x400a5
movl $0x1, %edx
movq %rax, %rdi
callq 0x3350
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq 0x21775(%rip), %rdi     # 0x54ff0
leaq 0xd4e1(%rip), %rsi      # 0x40d63
movl $0x16, %edx
callq 0x3350
xorps %xmm0, %xmm0
cvtsi2sdq 0x21a98(%rip), %xmm0 # 0x55330
divsd 0xcd20(%rip), %xmm0     # 0x405c0
movq 0x21749(%rip), %rdi     # 0x54ff0
callq 0x34a0
movq %rax, %rbx
leaq 0xc7ef(%rip), %rsi      # 0x400a5
movl $0x1, %edx
movq %rax, %rdi
callq 0x3350
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq 0x216ff(%rip), %rdi     # 0x54ff0
leaq 0xd482(%rip), %rsi      # 0x40d7a
movl $0x15, %edx
callq 0x3350
xorps %xmm0, %xmm0
cvtsi2sdq 0x21a2a(%rip), %xmm0 # 0x55338
divsd 0xccaa(%rip), %xmm0     # 0x405c0
movq 0x216d3(%rip), %rdi     # 0x54ff0
callq 0x34a0
movq %rax, %rbx
leaq 0xc779(%rip), %rsi      # 0x400a5
movl $0x1, %edx
movq %rax, %rdi
callq 0x3350
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq 0x2165f(%rip), %rdi     # 0x54ff0
leaq 0xd3f8(%rip), %rsi      # 0x40d90
movl $0x18, %edx
callq 0x3350
xorps %xmm0, %xmm0
cvtsi2sdq 0x21972(%rip), %xmm0 # 0x55320
divsd 0xcc0a(%rip), %xmm0     # 0x405c0
movq 0x21633(%rip), %rdi     # 0x54ff0
callq 0x34a0
movq %rax, %rbx
leaq 0xc6d9(%rip), %rsi      # 0x400a5
movl $0x1, %edx
movq %rax, %rdi
callq 0x3350
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq 0x215e9(%rip), %rdi     # 0x54ff0
leaq 0xd39b(%rip), %rsi      # 0x40da9
movl $0x16, %edx
callq 0x3350
xorps %xmm0, %xmm0
cvtsi2sdq 0x2192c(%rip), %xmm0 # 0x55350
divsd 0xcb94(%rip), %xmm0     # 0x405c0
movq 0x215bd(%rip), %rdi     # 0x54ff0
callq 0x34a0
movq %rax, %rbx
leaq 0xc663(%rip), %rsi      # 0x400a5
movl $0x1, %edx
movq %rax, %rdi
callq 0x3350
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq 0x21549(%rip), %rdi     # 0x54ff0
leaq 0xd312(%rip), %rsi      # 0x40dc0
movl $0x17, %edx
callq 0x3350
xorps %xmm0, %xmm0
cvtsi2sdq 0x21884(%rip), %xmm0 # 0x55348
divsd 0xcaf4(%rip), %xmm0     # 0x405c0
movq 0x2151d(%rip), %rdi     # 0x54ff0
callq 0x34a0
movq %rax, %rbx
leaq 0xc5c3(%rip), %rsi      # 0x400a5
movl $0x1, %edx
movq %rax, %rdi
callq 0x3350
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq 0x214d3(%rip), %rdi     # 0x54ff0
leaq 0xd2b4(%rip), %rsi      # 0x40dd8
movl $0x15, %edx
callq 0x3350
xorps %xmm0, %xmm0
cvtsi2sdq 0x21806(%rip), %xmm0 # 0x55340
divsd 0xca7e(%rip), %xmm0     # 0x405c0
movq 0x214a7(%rip), %rdi     # 0x54ff0
callq 0x34a0
movq %rax, %rbx
leaq 0xc54d(%rip), %rsi      # 0x400a5
movl $0x1, %edx
movq %rax, %rdi
callq 0x3350
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq 0x21433(%rip), %rdi     # 0x54ff0
leaq 0xd22a(%rip), %rsi      # 0x40dee
movl $0x14, %edx
callq 0x3350
xorps %xmm0, %xmm0
cvtsi2sdq 0x2177e(%rip), %xmm0 # 0x55358
divsd 0xc9de(%rip), %xmm0     # 0x405c0
movq 0x21407(%rip), %rdi     # 0x54ff0
callq 0x34a0
movq %rax, %rbx
leaq 0xc4ad(%rip), %rsi      # 0x400a5
movl $0x1, %edx
movq %rax, %rdi
callq 0x3350
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq 0x213bd(%rip), %rdi     # 0x54ff0
leaq 0xd1c9(%rip), %rsi      # 0x40e03
movl $0xb, %edx
callq 0x3350
xorps %xmm0, %xmm0
cvtsi2sdq 0x21710(%rip), %xmm0 # 0x55360
divsd 0xc968(%rip), %xmm0     # 0x405c0
movq 0x21391(%rip), %rdi     # 0x54ff0
callq 0x34a0
movq %rax, %rbx
leaq 0xc437(%rip), %rsi      # 0x400a5
movl $0x1, %edx
movq %rax, %rdi
callq 0x3350
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq 0x21347(%rip), %rdi     # 0x54ff0
leaq 0xd15f(%rip), %rsi      # 0x40e0f
movl $0x18, %edx
callq 0x3350
xorps %xmm0, %xmm0
cvtsi2sdq 0x216a2(%rip), %xmm0 # 0x55368
divsd 0xc8f2(%rip), %xmm0     # 0x405c0
movq 0x2131b(%rip), %rdi     # 0x54ff0
callq 0x34a0
movq %rax, %rbx
leaq 0xc3c1(%rip), %rsi      # 0x400a5
movl $0x1, %edx
movq %rax, %rdi
callq 0x3350
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq 0x212d1(%rip), %rdi     # 0x54ff0
leaq 0xd102(%rip), %rsi      # 0x40e28
movl $0xa, %edx
callq 0x3350
xorps %xmm0, %xmm0
cvtsi2sdq 0x21634(%rip), %xmm0 # 0x55370
divsd 0xc87c(%rip), %xmm0     # 0x405c0
movq 0x212a5(%rip), %rdi     # 0x54ff0
callq 0x34a0
movq %rax, %rbx
leaq 0xc34b(%rip), %rsi      # 0x400a5
movl $0x1, %edx
movq %rax, %rdi
callq 0x3350
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
leaq 0xb50(%rsp), %rdi
callq 0x30a0
movq 0xa48(%rsp), %rdi
testq %rdi, %rdi
leaq 0xc0(%rsp), %r15
je 0x33dc0
movq 0xa58(%rsp), %rsi
subq %rdi, %rsi
callq 0x32e0
leaq 0x958(%rsp), %rbx
leaq 0xa18(%rsp), %rdi
callq 0x1462a
leaq 0x9e8(%rsp), %rdi
callq 0x69de
leaq 0x988(%rsp), %r14
leaq 0x9b8(%rsp), %rdi
callq 0x10d44
movq %r14, %rdi
callq 0x10d92
movq %rbx, %rdi
callq 0x34d8e
leaq 0x940(%rsp), %rdi
callq 0x34d44
movq 0xb0(%rsp), %rdi
cmpq %r15, %rdi
je 0x3277d
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0x3277d
callq 0x309d8
callq 0x309d8
callq 0x309d8
callq 0x309d8
movq %rax, %r14
movq 0x240(%rsp), %rdi
leaq 0x250(%rsp), %rax
cmpq %rax, %rdi
je 0x3491e
movq 0x250(%rsp), %rsi
jmp 0x3481f
jmp 0x3491b
jmp 0x34503
jmp 0x34503
movq %rax, %r14
movq 0x3e0(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3498d
movq 0x3f0(%rsp), %rsi
jmp 0x34985
jmp 0x348fb
movq %rax, %r14
movq 0x420(%rsp), %rdi
cmpq %r12, %rdi
je 0x3498d
movq 0x430(%rsp), %rsi
jmp 0x34985
jmp 0x348fb
movq %rax, %r14
movq 0x460(%rsp), %rdi
cmpq %r12, %rdi
je 0x3498d
movq 0x470(%rsp), %rsi
jmp 0x34985
jmp 0x348fb
movq %rax, %r14
movq 0x4a0(%rsp), %rdi
cmpq %r12, %rdi
je 0x3498d
movq 0x4b0(%rsp), %rsi
jmp 0x34985
jmp 0x348fb
movq %rax, %r14
movq 0x520(%rsp), %rdi
cmpq %r15, %rdi
je 0x349a7
movq 0x530(%rsp), %rsi
jmp 0x34261
jmp 0x3426e
movq %rax, %r14
movq 0x560(%rsp), %rdi
cmpq %r15, %rdi
je 0x349a7
movq 0x570(%rsp), %rsi
jmp 0x34261
jmp 0x3426e
movq %rax, %r14
movq 0x280(%rsp), %rdi
leaq 0x290(%rsp), %rax
cmpq %rax, %rdi
je 0x3491e
movq 0x290(%rsp), %rsi
jmp 0x3481f
jmp 0x3491b
movq %rax, %r14
movq 0x1c0(%rsp), %rdi
leaq 0x1d0(%rsp), %rax
cmpq %rax, %rdi
je 0x3491e
movq 0x1d0(%rsp), %rsi
jmp 0x3481f
movq %rax, %r14
movq 0x260(%rsp), %rdi
leaq 0x270(%rsp), %rax
cmpq %rax, %rdi
je 0x3491e
movq 0x270(%rsp), %rsi
jmp 0x3481f
jmp 0x3491b
movq %rax, %r14
movq 0x180(%rsp), %rdi
leaq 0x190(%rsp), %rax
cmpq %rax, %rdi
je 0x3491e
movq 0x190(%rsp), %rsi
jmp 0x3481f
movq %rax, %r14
movq 0x1a0(%rsp), %rdi
leaq 0x1b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3491e
movq 0x1b0(%rsp), %rsi
jmp 0x3481f
movq %rax, %r14
movq 0x380(%rsp), %rdi
leaq 0x390(%rsp), %rax
cmpq %rax, %rdi
je 0x3491e
movq 0x390(%rsp), %rsi
jmp 0x3481f
jmp 0x3491b
movq %rax, %r14
movq 0x360(%rsp), %rdi
leaq 0x370(%rsp), %rax
cmpq %rax, %rdi
je 0x3491e
movq 0x370(%rsp), %rsi
jmp 0x3481f
jmp 0x3491b
movq %rax, %r14
movq 0x400(%rsp), %rdi
cmpq %r12, %rdi
je 0x3498d
movq 0x410(%rsp), %rsi
jmp 0x34985
jmp 0x348fb
movq %rax, %r14
movq 0x440(%rsp), %rdi
cmpq %r12, %rdi
je 0x3498d
movq 0x450(%rsp), %rsi
jmp 0x34985
jmp 0x348fb
movq %rax, %r14
movq 0x480(%rsp), %rdi
cmpq %r12, %rdi
je 0x3498d
movq 0x490(%rsp), %rsi
jmp 0x34985
jmp 0x348fb
movq %rax, %r14
movq 0x4c0(%rsp), %rdi
cmpq %r12, %rdi
je 0x3498d
movq 0x4d0(%rsp), %rsi
jmp 0x34985
jmp 0x348fb
jmp 0x348fb
movq %rax, %r14
movq 0x5e0(%rsp), %rdi
cmpq %r15, %rdi
je 0x34ae0
movq 0x5f0(%rsp), %rsi
jmp 0x3461d
movq %rax, %r14
leaq 0x108(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x34189
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0x34189
jmp 0x347e1
movq %rax, %r14
movq 0x4e0(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3499a
movq 0x4f0(%rsp), %rsi
jmp 0x341e3
jmp 0x341f5
movq %rax, %r14
movq 0x620(%rsp), %rdi
cmpq %r15, %rdi
je 0x34ae0
movq 0x630(%rsp), %rsi
jmp 0x3461d
movq %rax, %r14
movq 0x500(%rsp), %rdi
cmpq %r15, %rdi
je 0x3499a
movq 0x510(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0x3499a
jmp 0x347e1
movq %rax, %r14
jmp 0x3499a
movq %rax, %r14
movq 0x660(%rsp), %rdi
cmpq %r15, %rdi
je 0x34ae0
movq 0x670(%rsp), %rsi
jmp 0x3461d
movq %rax, %r14
movq 0x540(%rsp), %rdi
cmpq %rbx, %rdi
je 0x349a7
movq 0x550(%rsp), %rsi
jmp 0x34261
jmp 0x347e1
jmp 0x3426e
jmp 0x3426e
movq %rax, %r14
movq 0x580(%rsp), %rdi
cmpq %r15, %rdi
je 0x349a7
movq 0x590(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0x349a7
movq %rax, %r14
jmp 0x349a7
jmp 0x347d1
movq %rax, %r14
movq 0x5a0(%rsp), %rdi
cmpq %r15, %rdi
je 0x34b07
movq 0x5b0(%rsp), %rsi
jmp 0x349c8
movq %rax, %r14
movq 0x6c0(%rsp), %rdi
cmpq %r12, %rdi
je 0x3447f
movq 0x6d0(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0x3447f
jmp 0x347d1
jmp 0x3447c
movq %rax, %r14
movq 0x3a0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x3491e
movq 0x3b0(%rsp), %rsi
jmp 0x3481f
jmp 0x3491b
movq %rax, %r14
movq 0x1e0(%rsp), %rdi
leaq 0x1f0(%rsp), %rax
cmpq %rax, %rdi
je 0x3491e
movq 0x1f0(%rsp), %rsi
jmp 0x3481f
jmp 0x3491b
movq %rax, %r14
movq 0x200(%rsp), %rdi
leaq 0x210(%rsp), %rax
cmpq %rax, %rdi
je 0x3491e
movq 0x210(%rsp), %rsi
jmp 0x3481f
movq %rax, %r14
movq 0x720(%rsp), %rdi
cmpq %r12, %rdi
je 0x34a9d
movq 0x730(%rsp), %rsi
jmp 0x34a95
jmp 0x345d3
movq %rax, %r14
movq 0x760(%rsp), %rdi
cmpq %r12, %rdi
je 0x34a9d
movq 0x770(%rsp), %rsi
jmp 0x34a95
jmp 0x345d3
movq %rax, %r14
movq 0x600(%rsp), %rdi
cmpq %r15, %rdi
je 0x34ae0
movq 0x610(%rsp), %rsi
jmp 0x3461d
jmp 0x347e1
movq %rax, %r14
movq 0x640(%rsp), %rdi
cmpq %r15, %rdi
je 0x34ae0
movq 0x650(%rsp), %rsi
jmp 0x3461d
jmp 0x347e1
movq %rax, %r14
movq 0x680(%rsp), %rdi
cmpq %r15, %rdi
je 0x34ae0
movq 0x690(%rsp), %rsi
jmp 0x3461d
jmp 0x347e1
jmp 0x347d9
movq %rax, %r14
leaq 0x950(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x34438
movq 0x950(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0x34438
movq %rax, %r14
movq 0x6a0(%rsp), %rdi
cmpq %r15, %rdi
je 0x34b07
movq 0x6b0(%rsp), %rsi
jmp 0x349c8
jmp 0x347d1
movq %rax, %r14
movq 0x5c0(%rsp), %rdi
cmpq %r15, %rdi
je 0x34b07
movq 0x5d0(%rsp), %rsi
jmp 0x349c8
movq %rax, %r14
movq 0x6e0(%rsp), %rdi
cmpq %r15, %rdi
je 0x34b07
movq 0x6f0(%rsp), %rsi
jmp 0x349c8
movq %rax, %r14
movq 0x7e0(%rsp), %rdi
cmpq %r12, %rdi
je 0x346a4
movq 0x7f0(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0x346a4
jmp 0x347d1
jmp 0x347d1
jmp 0x346a1
movq %rax, %r14
movq 0x880(%rsp), %rdi
cmpq %r13, %rdi
je 0x346f5
movq 0x890(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0x346f5
jmp 0x346f2
movq %rax, %r14
movq 0xf8(%rsp), %rdi
cmpq %r15, %rdi
je 0x3498d
movq 0x108(%rsp), %rsi
jmp 0x34985
movq %rax, %r14
movq 0x2a0(%rsp), %rdi
leaq 0x2b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3491e
movq 0x2b0(%rsp), %rsi
jmp 0x3481f
jmp 0x3491b
jmp 0x34554
movq %rax, %r14
jmp 0x3493a
movq %rax, %r14
movq 0x3c0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x34954
movq 0x3d0(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0x34954
movq %rax, %r14
jmp 0x34954
movq %rax, %r14
movq 0x740(%rsp), %rdi
cmpq %r12, %rdi
je 0x34a9d
movq 0x750(%rsp), %rsi
jmp 0x34a95
jmp 0x345d3
movq %rax, %r14
movq 0x780(%rsp), %rdi
cmpq %r12, %rdi
je 0x34a9d
movq 0x790(%rsp), %rsi
jmp 0x34a95
jmp 0x345d3
movq %rax, %r14
jmp 0x34a9d
movq %rax, %r14
leaq 0xc0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x34604
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0x34604
movq %rax, %r14
movq 0x7a0(%rsp), %rdi
cmpq %rbx, %rdi
je 0x34ae0
movq 0x7b0(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0x34ae0
jmp 0x347e1
jmp 0x347d9
movq %rax, %r14
leaq 0x950(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x3465d
movq 0x950(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0x3465d
movq %rax, %r14
movq 0x7c0(%rsp), %rdi
cmpq %rbx, %rdi
je 0x34b07
movq 0x7d0(%rsp), %rsi
jmp 0x349c8
jmp 0x347d1
movq %rax, %r14
movq 0x700(%rsp), %rdi
cmpq %r15, %rdi
je 0x34b07
movq 0x710(%rsp), %rsi
jmp 0x349c8
movq %rax, %r14
movq 0x800(%rsp), %rdi
cmpq %r15, %rdi
je 0x34b07
movq 0x810(%rsp), %rsi
jmp 0x349c8
jmp 0x347d1
jmp 0x347d1
movq %rax, %r14
movq 0x840(%rsp), %rdi
cmpq %r15, %rdi
je 0x34b07
movq 0x850(%rsp), %rsi
jmp 0x349c8
jmp 0x347d1
movq %rax, %r14
movq 0x8a0(%rsp), %rdi
cmpq %r12, %rdi
je 0x34789
movq 0x8b0(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0x34789
jmp 0x34786
movq %rax, %r14
movq 0x8e0(%rsp), %rdi
cmpq %r15, %rdi
je 0x34b07
movq 0x8f0(%rsp), %rsi
jmp 0x349c8
jmp 0x347d1
movq %rax, %r14
movq 0x820(%rsp), %rdi
cmpq %r15, %rdi
je 0x34b07
movq 0x830(%rsp), %rsi
jmp 0x349c8
jmp 0x347d1
movq %rax, %r14
movq 0x860(%rsp), %rdi
cmpq %r15, %rdi
je 0x34b07
movq 0x870(%rsp), %rsi
jmp 0x349c8
jmp 0x347d1
movq %rax, %r14
movq 0x8c0(%rsp), %rdi
cmpq %r15, %rdi
je 0x34b07
movq 0x8d0(%rsp), %rsi
jmp 0x349c8
jmp 0x347d1
movq %rax, %r14
movq 0x900(%rsp), %rdi
cmpq %r15, %rdi
je 0x34b07
movq 0x910(%rsp), %rsi
jmp 0x349c8
jmp 0x347d1
jmp 0x34913
movq %rax, %r14
jmp 0x34b07
movq %rax, %r14
jmp 0x34afa
movq %rax, %r14
jmp 0x34ae0
jmp 0x3491b
jmp 0x3491b
movq %rax, %r14
jmp 0x34971
movq %rax, %r14
movq 0x220(%rsp), %rdi
leaq 0x230(%rsp), %rax
cmpq %rax, %rdi
je 0x3491e
movq 0x230(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0x3491e
jmp 0x3491b
jmp 0x34913
movq %rax, %r14
jmp 0x3485a
movq %rax, %r14
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x3485a
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x300(%rsp), %rdi
leaq 0x310(%rsp), %rax
cmpq %rax, %rdi
je 0x34ad3
movq 0x310(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0x34ad3
jmp 0x34903
movq %rax, %r14
movq 0x320(%rsp), %rdi
leaq 0x330(%rsp), %rax
cmpq %rax, %rdi
je 0x34a50
movq 0x330(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0x34a50
movq %rax, %r14
movq 0x340(%rsp), %rdi
leaq 0x350(%rsp), %rax
cmpq %rax, %rdi
je 0x34a6a
movq 0x350(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0x34a6a
jmp 0x34a4d
movq %rax, %r14
jmp 0x34a6a
jmp 0x348fb
movq %rax, %r14
jmp 0x3498d
movq %rax, %r14
jmp 0x34ac6
movq %rax, %r14
jmp 0x34a81
movq %rax, %r14
jmp 0x34ad3
movq %rax, %r14
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x3493a
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x32e0
leaq 0x110(%rsp), %rdi
callq 0x6186
leaq 0xf8(%rsp), %rdi
callq 0x2a518
movq 0xe0(%rsp), %rdi
testq %rdi, %rdi
je 0x34971
movq 0xf0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32e0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x3498d
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x32e0
leaq 0xb50(%rsp), %rdi
callq 0x30a0
leaq 0x940(%rsp), %rdi
callq 0x34c30
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x34b07
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0x34b07
jmp 0x34a4d
movq %rax, %r14
movq 0x2c0(%rsp), %rdi
leaq 0x2d0(%rsp), %rax
cmpq %rax, %rdi
je 0x34a37
movq 0x2d0(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0x34a37
jmp 0x34aac
movq %rax, %r14
movq 0x2e0(%rsp), %rdi
leaq 0x2f0(%rsp), %rax
cmpq %rax, %rdi
je 0x34aaf
movq 0x2f0(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0x34aaf
movq %rax, %r14
leaq 0x58(%rsp), %rdi
callq 0x6186
leaq 0x40(%rsp), %rdi
callq 0x2a518
jmp 0x34aaf
movq %rax, %r14
leaq 0xc8(%rsp), %rdi
callq 0x6186
leaq 0xb0(%rsp), %rdi
callq 0x2a518
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x34a81
movq 0x20(%rsp), %rsi
subq %rdi, %rsi
callq 0x32e0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x34a9d
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x32e0
leaq 0x940(%rsp), %rdi
callq 0x30a0
jmp 0x34ae0
movq %rax, %r14
movq 0x10(%rsp), %rdi
cmpq %rbx, %rdi
je 0x34ac6
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x32e0
leaq 0x940(%rsp), %rdi
callq 0x30a0
leaq 0xb0(%rsp), %rdi
callq 0x34ce8
leaq 0x128(%rsp), %rdi
callq 0x1988e
leaq 0xf8(%rsp), %rdi
callq 0x34cd4
leaq 0xb50(%rsp), %rdi
callq 0x30a0
leaq 0x70(%rsp), %rdi
callq 0x2c602
movq %r14, %rdi
callq 0x3530
nop