// File: /workspace/github_cpp_makefile_star2_O3/thunlp[P]KB2E/CTransR/Test_CTransR.cpp
// Function: Test::run()
void run()
    {

        FILE* f1 = fopen(("fb_relation2vec"+version).c_str(),"r");
        FILE* f2 = fopen(("relation2vec"+version).c_str(),"r");
        FILE* f3 = fopen(("entity2vec"+version).c_str(),"r");
        cout<<relation_num<<' '<<entity_num<<' '<<fb_relation_num<<endl;
        fb_relation_vec.resize(fb_relation_num);
        for (int i=0; i<relation_num;i++)
        {
            fb_relation_vec[i].resize(n);
            for (int ii=0; ii<n; ii++)
                fscanf(f1,"%lf",&fb_relation_vec[i][ii]);
        }
        relation_vec.resize(relation_num);
        for (int i=0; i<relation_num;i++)
        {
            relation_vec[i].resize(n);
            for (int ii=0; ii<n; ii++)
                fscanf(f2,"%lf",&relation_vec[i][ii]);
        }

        entity_vec.resize(entity_num);
        cout<<entity_num<<endl;
        for (int i=0; i<entity_num;i++)
        {
            entity_vec[i].resize(n);
            for (int ii=0; ii<n; ii++)
                fscanf(f3,"%lf",&entity_vec[i][ii]);
        }

        FILE* f4 = fopen(("A.txt"+version).c_str(),"r");

        A.resize(fb_relation_num);
		for (int i=0; i<fb_relation_num; i++)
		{
		    A[i].resize(n);
		    for (int jj=0; jj<n; jj++)
		    {
		        A[i][jj].resize(m);
		        for (int ii=0; ii<m; ii++)
                    fscanf(f4,"%lf",&A[i][jj][ii]);
		    }
		}
		fclose(f4);
        cout<<"Here"<<endl;
		double lsum=0 ,lsum_filter= 0;
		double rsum = 0,rsum_filter=0;
		double lp_n=0,lp_n_filter=0;
		double rp_n=0,rp_n_filter=0;
		map<int,double> lsum_r,lsum_filter_r;
		map<int,double> rsum_r,rsum_filter_r;
		map<int,double> lp_n_r,lp_n_filter_r;
		map<int,double> rp_n_r,rp_n_filter_r;
		map<int,int> rel_num;
        //cout<<"here"<<endl;


        FILE* f_test_cluster = fopen("../cluster/output/test_cluster.txt","r");
        for (int testid = 0; testid<fb_l.size(); testid+=1)
		{
		    vector<int> h_rel,l_rel;
		    for (int i=0; i<entity_num; i++)
            {
                int x;
                fscanf(f_test_cluster,"%d",&x);
                h_rel.push_back(x);
            }
            for (int i=0; i<entity_num; i++)
            {
                int x;
                fscanf(f_test_cluster,"%d",&x);
                l_rel.push_back(x);
            }
			int h = fb_h[testid];
			int l = fb_l[testid];
			int rel = fb_r[testid];



            if (h_rel[l]!=l_rel[h])
                cout<<"wrong"<<h_rel[l]<<' '<<l_rel[h]<<' '<<h<<' '<<l<<endl;

			double tmp = 0;
			rel_num[rel]+=1;
			vector<pair<int,double> > a;
			for (int i=0; i<entity_num; i++)
			{
				double sum  = calc_sum(i,l,h_rel[i]);
			//	for (int j=0; j<fb2cluster[rel].size(); j++)
              //      sum+= calc_sum(i,l,fb2cluster[rel][j]);
				a.push_back(make_pair(i,sum));
			}
			sort(a.begin(),a.end(),cmp);
			double ttt=0;
			int filter = 0;
			for (int i=a.size()-1; i>=0; i--)
			{
			    if (ok[make_pair(a[i].first,rel)].count(l)==0)
			    	filter+=1;
				if (a[i].first ==h)
				{
					lsum+=a.size()-i;
					lsum_filter+=filter+1;
					lsum_r[rel]+=a.size()-i;
					lsum_filter_r[rel]+=filter+1;
					if (a.size()-i<=10)
					{
						lp_n+=1;
						lp_n_r[rel]+=1;
					}
					if (filter<10)
					{
						lp_n_filter+=1;
						lp_n_filter_r[rel]+=1;
					}
					break;
				}
			}
			a.clear();
			for (int i=0; i<entity_num; i++)
			{
				double sum =  calc_sum(h,i,l_rel[i]);
				//for (int j=0; j<fb2cluster[rel].size(); j++)
                  //  sum+= calc_sum(h,i,fb2cluster[rel][j]);
				a.push_back(make_pair(i,sum));
			}
			sort(a.begin(),a.end(),cmp);
			ttt=0;
			filter=0;
			for (int i=a.size()-1; i>=0; i--)
			{
			    if (ok[make_pair(h,rel)].count(a[i].first)==0)
			    	filter+=1;
				if (a[i].first==l)
				{
					rsum+=a.size()-i;
					rsum_filter+=filter+1;
					rsum_r[rel]+=a.size()-i;
					rsum_filter_r[rel]+=filter+1;
					if (a.size()-i<=10)
					{
						rp_n+=1;
						rp_n_r[rel]+=1;
					}
					if (filter<10)
					{
						rp_n_filter+=1;
						rp_n_filter_r[rel]+=1;
					}
					break;
				}
			}
			//if (testid%100==0)
			//cout<<testid<<":"<<"\t"<<lsum/(testid+1)<<' '<<lp_n/(testid+1)<<' '<<rsum/(testid+1)<<' '<<rp_n/(testid+1)<<"\t"<<lsum_filter/(testid+1)<<' '<<lp_n_filter/(testid+1)<<' '<<rsum_filter/(testid+1)<<' '<<rp_n_filter/(testid+1)<<endl;
		}
		cout<<"left:"<<lsum/fb_l.size()<<'\t'<<lp_n/fb_l.size()<<"\t"<<lsum_filter/fb_l.size()<<'\t'<<lp_n_filter/fb_l.size()<<endl;
		cout<<"right:"<<rsum/fb_r.size()<<'\t'<<rp_n/fb_r.size()<<'\t'<<rsum_filter/fb_r.size()<<'\t'<<rp_n_filter/fb_r.size()<<endl;
		for (int rel=0; rel<fb_relation_num; rel++)
		{
			int num = rel_num[rel];
			cout<<"rel:"<<id2relation[rel]<<' '<<num<<endl;
			cout<<"left:"<<lsum_r[rel]/num<<'\t'<<lp_n_r[rel]/num<<"\t"<<lsum_filter_r[rel]/num<<'\t'<<lp_n_filter_r[rel]/num<<endl;
			cout<<"right:"<<rsum_r[rel]/num<<'\t'<<rp_n_r[rel]/num<<'\t'<<rsum_filter_r[rel]/num<<'\t'<<rp_n_filter_r[rel]/num<<endl;
		}
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2b8, %rsp            # imm = 0x2B8
movq %rdi, %r15
leaq 0x48ea(%rip), %rsi      # 0x8135
leaq 0x8946(%rip), %rdx      # 0xc198
leaq 0x100(%rsp), %r14
movq %r14, %rdi
callq 0x5760
movq (%r14), %rdi
leaq 0x483e(%rip), %rsi      # 0x80aa
callq 0x21d0
movq %rax, %r12
movq (%r14), %rdi
leaq 0x110(%rsp), %rbx
cmpq %rbx, %rdi
je 0x3894
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x21a0
movq %r12, 0x70(%rsp)
leaq 0x4898(%rip), %rsi      # 0x8138
leaq 0x88f1(%rip), %rdx      # 0xc198
leaq 0x100(%rsp), %r14
movq %r14, %rdi
callq 0x5760
movq (%r14), %rdi
leaq 0x47e9(%rip), %rsi      # 0x80aa
callq 0x21d0
movq %rax, %r12
movq (%r14), %rdi
cmpq %rbx, %rdi
je 0x38e1
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x21a0
movq %r12, 0x40(%rsp)
leaq 0x4858(%rip), %rsi      # 0x8145
leaq 0x88a4(%rip), %rdx      # 0xc198
leaq 0x100(%rsp), %r13
movq %r13, %rdi
callq 0x5760
movq (%r13), %rdi
leaq 0x479b(%rip), %rsi      # 0x80aa
callq 0x21d0
movq %rax, %r14
movq (%r13), %rdi
cmpq %rbx, %rdi
je 0x3930
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x21a0
movl 0x8a82(%rip), %esi      # 0xc3b8
movq 0x869b(%rip), %rdi      # 0xbfd8
callq 0x2260
movb $0x20, %bl
leaq 0x100(%rsp), %r13
movb %bl, (%r13)
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21c0
movl 0x8a56(%rip), %esi      # 0xc3bc
movq %rax, %rdi
callq 0x2260
movb %bl, (%r13)
leaq 0x100(%rsp), %rsi
movl $0x1, %edx
movq %rax, %rdi
callq 0x21c0
movl 0x8a33(%rip), %esi      # 0xc3c0
movq %rax, %rdi
callq 0x2260
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2100
movq %r15, 0x48(%rsp)
leaq 0x30(%r15), %r13
movslq 0x89f1(%rip), %rsi      # 0xc3c0
movq %r13, %rdi
callq 0x57e8
movslq 0x89da(%rip), %rsi      # 0xc3b8
testq %rsi, %rsi
movq %r14, 0x78(%rsp)
jle 0x3a6c
movl 0x877a(%rip), %eax      # 0xc16c
leaq 0x4757(%rip), %rbp      # 0x8150
xorl %ebx, %ebx
leaq (%rbx,%rbx,2), %r14
leaq (,%r14,8), %rdi
addq (%r13), %rdi
movslq %eax, %rsi
callq 0x5824
movl 0x8753(%rip), %eax      # 0xc16c
testl %eax, %eax
jle 0x3a5d
movq %rbx, 0x30(%rsp)
xorl %r15d, %r15d
xorl %r12d, %r12d
movq 0x70(%rsp), %rbx
movq (%r13), %rax
movq (%rax,%r14,8), %rdx
addq %r15, %rdx
movq %rbx, %rdi
movq %rbp, %rsi
xorl %eax, %eax
callq 0x22a0
incq %r12
movslq 0x871d(%rip), %rax      # 0xc16c
addq $0x8, %r15
cmpq %rax, %r12
jl 0x3a2d
movq 0x30(%rsp), %rbx
incq %rbx
movslq 0x8951(%rip), %rsi      # 0xc3b8
cmpq %rsi, %rbx
jl 0x39fb
movq 0x48(%rsp), %rbp
movq %rbp, %rdi
callq 0x57e8
cmpl $0x0, 0x8938(%rip)      # 0xc3b8
jle 0x3b0b
movl 0x86e0(%rip), %eax      # 0xc16c
leaq 0x46bd(%rip), %r12      # 0x8150
xorl %ebx, %ebx
leaq (%rbx,%rbx,2), %r14
leaq (,%r14,8), %rdi
addq (%rbp), %rdi
movslq %eax, %rsi
callq 0x5824
movl 0x86b9(%rip), %eax      # 0xc16c
testl %eax, %eax
jle 0x3afc
movq %rbx, 0x30(%rsp)
xorl %r15d, %r15d
xorl %r13d, %r13d
movq %rbp, %rbx
movq 0x40(%rsp), %rbp
movq (%rbx), %rax
movq (%rax,%r14,8), %rdx
addq %r15, %rdx
movq %rbp, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x22a0
incq %r13
movslq 0x8681(%rip), %rax      # 0xc16c
addq $0x8, %r15
cmpq %rax, %r13
jl 0x3aca
movq %rbx, %rbp
movq 0x30(%rsp), %rbx
incq %rbx
movslq 0x88b2(%rip), %rcx      # 0xc3b8
cmpq %rcx, %rbx
jl 0x3a95
leaq 0x18(%rbp), %r12
movslq 0x88a6(%rip), %rsi      # 0xc3bc
movq %r12, %rdi
callq 0x57e8
movl 0x8898(%rip), %esi      # 0xc3bc
movq 0x84ad(%rip), %rdi      # 0xbfd8
callq 0x2260
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2100
cmpl $0x0, 0x885b(%rip)      # 0xc3bc
jle 0x3beb
movl 0x85ff(%rip), %eax      # 0xc16c
leaq 0x45dc(%rip), %r13      # 0x8150
xorl %ebx, %ebx
leaq (%rbx,%rbx,2), %r14
leaq (,%r14,8), %rdi
addq (%r12), %rdi
movslq %eax, %rsi
callq 0x5824
movl 0x85d8(%rip), %eax      # 0xc16c
testl %eax, %eax
jle 0x3bdc
movq %rbx, 0x30(%rsp)
xorl %r15d, %r15d
xorl %ebp, %ebp
movq 0x78(%rsp), %rbx
movq (%r12), %rax
movq (%rax,%r14,8), %rdx
addq %r15, %rdx
movq %rbx, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x22a0
incq %rbp
movslq 0x85a3(%rip), %rax      # 0xc16c
addq $0x8, %r15
cmpq %rax, %rbp
jl 0x3ba7
movq 0x48(%rsp), %rbp
movq 0x30(%rsp), %rbx
incq %rbx
movslq 0x87d6(%rip), %rcx      # 0xc3bc
cmpq %rcx, %rbx
jl 0x3b76
leaq 0x4562(%rip), %rsi      # 0x8154
leaq 0x859f(%rip), %rdx      # 0xc198
leaq 0x100(%rsp), %r12
movq %r12, %rdi
callq 0x5760
movq (%r12), %rdi
leaq 0x4496(%rip), %rsi      # 0x80aa
callq 0x21d0
movq %rax, %r15
movq (%r12), %rdi
leaq 0x110(%rsp), %rax
cmpq %rax, %rdi
je 0x3c3d
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x21a0
leaq 0x48(%rbp), %r12
movslq 0x8778(%rip), %rsi      # 0xc3c0
movq %r12, %rdi
callq 0x5856
cmpl $0x0, 0x8769(%rip)      # 0xc3c0
jle 0x3d56
movl 0x8509(%rip), %ecx      # 0xc16c
leaq 0x44e6(%rip), %r14      # 0x8150
xorl %edx, %edx
movq %rdx, 0x40(%rsp)
leaq (%rdx,%rdx,2), %rbx
leaq (,%rbx,8), %rdi
addq (%r12), %rdi
movslq %ecx, %rsi
callq 0x57e8
movl 0x84dd(%rip), %ecx      # 0xc16c
testl %ecx, %ecx
jle 0x3d3e
movl 0x84d3(%rip), %eax      # 0xc170
xorl %r13d, %r13d
movq %rbx, 0x30(%rsp)
movq (%r12), %rcx
leaq (,%r13,2), %rbp
addq %r13, %rbp
leaq (,%rbp,8), %rdi
addq (%rcx,%rbx,8), %rdi
movslq %eax, %rsi
callq 0x5824
movl 0x84a2(%rip), %eax      # 0xc170
testl %eax, %eax
jle 0x3d26
movq %r13, 0x78(%rsp)
xorl %r13d, %r13d
movq %r12, %rbx
movq %r15, %r12
xorl %r15d, %r15d
movq (%rbx), %rax
movq 0x30(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq (%rax,%rbp,8), %rdx
addq %r13, %rdx
movq %r12, %rdi
movq %r14, %rsi
xorl %eax, %eax
callq 0x22a0
incq %r15
movslq 0x8463(%rip), %rax      # 0xc170
addq $0x8, %r13
cmpq %rax, %r15
jl 0x3ce3
movq %r12, %r15
movq %rbx, %r12
movq 0x30(%rsp), %rbx
movq 0x78(%rsp), %r13
incq %r13
movslq 0x843c(%rip), %rcx      # 0xc16c
cmpq %rcx, %r13
jl 0x3ca5
movq 0x48(%rsp), %rbp
movq 0x40(%rsp), %rdx
incq %rdx
movslq 0x8673(%rip), %rax      # 0xc3c0
cmpq %rax, %rdx
jl 0x3c6c
movq %r15, %rdi
callq 0x2180
leaq 0x43f5(%rip), %rsi      # 0x815a
movl $0x4, %edx
movq 0x8267(%rip), %rbx      # 0xbfd8
movq %rbx, %rdi
callq 0x21c0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2100
leaq 0x108(%rsp), %rcx
xorl %eax, %eax
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq 0x290(%rsp), %rcx
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq 0x260(%rsp), %rcx
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq 0x230(%rsp), %rcx
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq 0x200(%rsp), %rcx
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq 0x1d0(%rsp), %rcx
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq 0x1a0(%rsp), %rcx
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq 0x170(%rsp), %rcx
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq 0x140(%rsp), %rcx
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq 0x42cc(%rip), %rdi      # 0x815f
leaq 0x4210(%rip), %rsi      # 0x80aa
callq 0x21d0
movq %rax, %r14
movq 0xe0(%rbp), %rax
cmpq 0xd8(%rbp), %rax
je 0x4769
leaq 0x108(%rbp), %rax
movq %rax, 0x78(%rsp)
xorpd %xmm0, %xmm0
movsd %xmm0, 0xa8(%rsp)
leaq 0x41f0(%rip), %r12      # 0x80c6
leaq 0x10(%rsp), %r13
movsd %xmm0, 0xb0(%rsp)
movsd %xmm0, 0xb8(%rsp)
movsd %xmm0, 0xc0(%rsp)
movsd %xmm0, 0xc8(%rsp)
movsd %xmm0, 0xd0(%rsp)
movsd %xmm0, 0xd8(%rsp)
movsd %xmm0, 0x70(%rsp)
movq $0x0, 0x40(%rsp)
movq %r14, 0xf8(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x50(%rsp)
xorl %eax, %eax
movq %rax, 0x60(%rsp)
movq %rax, 0x90(%rsp)
movapd %xmm0, 0x80(%rsp)
cmpl $0x0, 0x846b(%rip)      # 0xc3bc
jle 0x3ff5
xorl %ebx, %ebx
movq %r14, %rdi
movq %r12, %rsi
movq %r13, %rdx
xorl %eax, %eax
callq 0x22a0
movq 0x58(%rsp), %rsi
cmpq 0x60(%rsp), %rsi
je 0x3f86
movl 0x10(%rsp), %eax
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x58(%rsp)
jmp 0x3f93
leaq 0x50(%rsp), %rdi
movq %r13, %rdx
callq 0x6c34
incl %ebx
movl 0x8421(%rip), %eax      # 0xc3bc
cmpl %eax, %ebx
jl 0x3f59
testl %eax, %eax
jle 0x3ff5
xorl %ebx, %ebx
movq %r14, %rdi
movq %r12, %rsi
movq %r13, %rdx
xorl %eax, %eax
callq 0x22a0
movq 0x88(%rsp), %rsi
cmpq 0x90(%rsp), %rsi
je 0x3fdb
movl 0x10(%rsp), %eax
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x88(%rsp)
jmp 0x3feb
leaq 0x80(%rsp), %rdi
movq %r13, %rdx
callq 0x6c34
incl %ebx
cmpl 0x83c9(%rip), %ebx      # 0xc3bc
jl 0x3fa5
movq 0xc0(%rbp), %rax
movq 0xd8(%rbp), %rcx
movq %rbp, %rdx
movq 0x40(%rsp), %rsi
movslq (%rax,%rsi,4), %rbp
movslq (%rcx,%rsi,4), %r12
movq 0xf0(%rdx), %rax
movl (%rax,%rsi,4), %eax
movl %eax, 0xc(%rsp)
movq 0x50(%rsp), %rax
movl (%rax,%r12,4), %eax
movq 0x80(%rsp), %rcx
cmpl (%rcx,%rbp,4), %eax
je 0x40f9
movl $0x5, %edx
movq 0x7f91(%rip), %rdi      # 0xbfd8
leaq 0x4134(%rip), %rsi      # 0x8182
callq 0x21c0
movq 0x50(%rsp), %rax
movl (%rax,%r12,4), %esi
movq 0x7f75(%rip), %rdi      # 0xbfd8
callq 0x2260
movb $0x20, 0x10(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21c0
movq 0x80(%rsp), %rcx
movl (%rcx,%rbp,4), %esi
movq %rax, %rdi
callq 0x2260
movb $0x20, 0x10(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21c0
movq %rax, %rdi
movl %ebp, %esi
callq 0x2260
movb $0x20, 0x10(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21c0
movq %rax, %rdi
movl %r12d, %esi
callq 0x2260
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2100
leaq 0x138(%rsp), %rdi
leaq 0xc(%rsp), %rsi
callq 0x366c
incl (%rax)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x10(%rsp)
movq $0x0, 0x20(%rsp)
cmpl $0x0, 0x8295(%rip)      # 0xc3bc
jle 0x41ef
xorl %r15d, %r15d
movq 0x50(%rsp), %rax
movl (%rax,%r15,4), %ecx
movq 0x48(%rsp), %rdi
movl %r15d, %esi
movl %r12d, %edx
callq 0x58d2
movl %r15d, 0x98(%rsp)
movsd %xmm0, 0xa0(%rsp)
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
je 0x417b
movupd 0x98(%rsp), %xmm0
movupd %xmm0, (%rsi)
addq $0x10, 0x18(%rsp)
jmp 0x418b
movq %r13, %rdi
leaq 0x98(%rsp), %rdx
callq 0x6112
incq %r15
movslq 0x8227(%rip), %rax      # 0xc3bc
cmpq %rax, %r15
jl 0x4130
movq 0x10(%rsp), %r13
movq 0x18(%rsp), %r15
cmpq %r15, %r13
je 0x41f5
movq %r15, %rax
subq %r13, %rax
sarq $0x4, %rax
bsrq %rax, %rdx
xorl $0x3f, %edx
addl %edx, %edx
xorq $0x7e, %rdx
movq %r13, %rdi
movq %r15, %rsi
leaq -0x1851(%rip), %rbx     # 0x297c
movq %rbx, %rcx
callq 0x6251
movq %r13, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x631c
movq 0x10(%rsp), %r13
movq 0x18(%rsp), %r15
jmp 0x41f5
xorl %r13d, %r13d
xorl %r15d, %r15d
movl %ebp, %eax
movq %rax, 0x30(%rsp)
subq %r13, %r15
shrq $0x4, %r15
movl %r15d, %r14d
xorl %r15d, %r15d
decq %r14
testl %r14d, %r14d
js 0x440d
movl %r14d, %ebp
andl $0x7fffffff, %ebp       # imm = 0x7FFFFFFF
movq %rbp, %rbx
shlq $0x4, %rbx
movl (%r13,%rbx), %eax
movl 0xc(%rsp), %ecx
shlq $0x20, %rcx
orq %rax, %rcx
movq %rcx, 0x98(%rsp)
movq 0x78(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0x542c
movq 0x10(%rax), %rdx
addq $0x8, %rax
movq %rax, %rsi
testq %rdx, %rdx
je 0x428d
movq %rax, %rcx
xorl %esi, %esi
cmpl %r12d, 0x20(%rdx)
setl %sil
cmovgeq %rdx, %rcx
movq 0x10(%rdx,%rsi,8), %rdx
testq %rdx, %rdx
jne 0x4262
movq %rax, %rsi
cmpq %rax, %rcx
je 0x428d
cmpl 0x20(%rcx), %r12d
cmovlq %rax, %rcx
movq %rcx, %rsi
xorl %ecx, %ecx
cmpq %rax, %rsi
sete %cl
addl %ecx, %r15d
movq 0x10(%rsp), %r13
movq 0x30(%rsp), %rax
cmpl %eax, (%r13,%rbx)
jne 0x4209
movq 0x18(%rsp), %rax
subq %r13, %rax
sarq $0x4, %rax
subq %rbp, %rax
movq %rax, %xmm0
punpckldq 0x3d57(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x3d5f(%rip), %xmm0     # 0x8030
movapd %xmm0, 0xe0(%rsp)
leaq 0x100(%rsp), %rdi
leaq 0xc(%rsp), %rsi
callq 0x5b5e
movapd 0xe0(%rsp), %xmm0
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
movsd (%rax), %xmm0
movapd %xmm1, 0xe0(%rsp)
addsd %xmm1, %xmm0
movsd %xmm0, (%rax)
leaq 0x288(%rsp), %rdi
leaq 0xc(%rsp), %rsi
callq 0x5b5e
leal 0x1(%r15), %ecx
xorps %xmm1, %xmm1
cvtsi2sd %ecx, %xmm1
movsd (%rax), %xmm0
movsd %xmm1, 0x130(%rsp)
addsd %xmm1, %xmm0
movsd %xmm0, (%rax)
movq 0x18(%rsp), %rax
subq 0x10(%rsp), %rax
sarq $0x4, %rax
subq %rbp, %rax
cmpq $0xa, %rax
ja 0x439b
leaq 0x1f8(%rsp), %rdi
leaq 0xc(%rsp), %rsi
callq 0x5b5e
movsd 0xc0(%rsp), %xmm0
movsd 0x3cde(%rip), %xmm1     # 0x8060
addsd %xmm1, %xmm0
movsd %xmm0, 0xc0(%rsp)
movsd (%rax), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax)
movsd 0x70(%rsp), %xmm0
addsd 0xe0(%rsp), %xmm0
movsd %xmm0, 0x70(%rsp)
movsd 0xd8(%rsp), %xmm0
addsd 0x130(%rsp), %xmm0
movsd %xmm0, 0xd8(%rsp)
cmpl $0x9, %r15d
ja 0x440d
leaq 0x1c8(%rsp), %rdi
leaq 0xc(%rsp), %rsi
callq 0x5b5e
movsd 0xb8(%rsp), %xmm0
movsd 0x3c6c(%rip), %xmm1     # 0x8060
addsd %xmm1, %xmm0
movsd %xmm0, 0xb8(%rsp)
movsd (%rax), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax)
movq 0x48(%rsp), %rbp
movq 0x10(%rsp), %r15
movq 0x18(%rsp), %r13
cmpq %r15, %r13
je 0x4429
movq %r15, 0x18(%rsp)
movq %r15, %r13
cmpl $0x0, 0x7f8c(%rip)      # 0xc3bc
jle 0x44b1
xorl %r15d, %r15d
leaq 0x10(%rsp), %rbx
movq 0x80(%rsp), %rax
movl (%rax,%r15,4), %ecx
movq %rbp, %rdi
movq 0x30(%rsp), %rsi
movl %r15d, %edx
callq 0x58d2
movl %r15d, 0x98(%rsp)
movsd %xmm0, 0xa0(%rsp)
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
je 0x4488
movupd 0x98(%rsp), %xmm0
movupd %xmm0, (%rsi)
addq $0x10, 0x18(%rsp)
jmp 0x4498
movq %rbx, %rdi
leaq 0x98(%rsp), %rdx
callq 0x6112
incq %r15
movslq 0x7f1a(%rip), %rax      # 0xc3bc
cmpq %rax, %r15
jl 0x443a
movq 0x10(%rsp), %r15
movq 0x18(%rsp), %r13
movq %r13, %rax
cmpq %r13, %r15
je 0x44fa
subq %r15, %rax
sarq $0x4, %rax
bsrq %rax, %rdx
xorl $0x3f, %edx
addl %edx, %edx
xorq $0x7e, %rdx
movq %r15, %rdi
movq %r13, %rsi
leaq -0x1b5e(%rip), %rbx     # 0x297c
movq %rbx, %rcx
callq 0x6251
movq %r15, %rdi
movq %r13, %rsi
movq %rbx, %rdx
callq 0x631c
movq 0x10(%rsp), %r13
movq 0x18(%rsp), %rax
subq %r13, %rax
shrq $0x4, %rax
movl %eax, %r14d
decq %r14
xorl %r15d, %r15d
testl %r14d, %r14d
js 0x46e0
movl 0xc(%rsp), %eax
shlq $0x20, %rax
addq 0x30(%rsp), %rax
movq %rax, 0x98(%rsp)
movq 0x78(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0x542c
movl %r14d, %ebx
andl $0x7fffffff, %ebx       # imm = 0x7FFFFFFF
movq %rbx, %r13
shlq $0x4, %r13
movq 0x10(%rsp), %rsi
addq %r13, %rsi
movq %rax, %rdi
callq 0x3624
cmpq $0x1, %rax
adcl $0x0, %r15d
movq 0x10(%rsp), %rax
decq %r14
cmpl %r12d, (%rax,%r13)
jne 0x450a
movq 0x18(%rsp), %rcx
subq %rax, %rcx
sarq $0x4, %rcx
subq %rbx, %rcx
movq %rcx, %xmm0
punpckldq 0x3a94(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x3a9c(%rip), %xmm0     # 0x8030
movapd %xmm0, 0x30(%rsp)
leaq 0x258(%rsp), %rdi
leaq 0xc(%rsp), %rsi
callq 0x5b5e
movq 0xf8(%rsp), %r14
leaq 0x3b0b(%rip), %r12      # 0x80c6
leaq 0x10(%rsp), %r13
movapd 0x30(%rsp), %xmm0
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
movsd (%rax), %xmm0
movapd %xmm1, 0x30(%rsp)
addsd %xmm1, %xmm0
movsd %xmm0, (%rax)
leaq 0x228(%rsp), %rdi
leaq 0xc(%rsp), %rsi
callq 0x5b5e
leal 0x1(%r15), %ecx
xorps %xmm1, %xmm1
cvtsi2sd %ecx, %xmm1
movsd (%rax), %xmm0
movsd %xmm1, 0xe0(%rsp)
addsd %xmm1, %xmm0
movsd %xmm0, (%rax)
movq 0x18(%rsp), %rax
subq 0x10(%rsp), %rax
sarq $0x4, %rax
subq %rbx, %rax
cmpq $0xa, %rax
ja 0x4669
leaq 0x198(%rsp), %rdi
leaq 0xc(%rsp), %rsi
callq 0x5b5e
movsd 0xb0(%rsp), %xmm0
movsd 0x3a10(%rip), %xmm1     # 0x8060
addsd %xmm1, %xmm0
movsd %xmm0, 0xb0(%rsp)
movsd (%rax), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax)
movsd 0xd0(%rsp), %xmm0
addsd 0x30(%rsp), %xmm0
movsd %xmm0, 0xd0(%rsp)
movsd 0xc8(%rsp), %xmm0
addsd 0xe0(%rsp), %xmm0
movsd %xmm0, 0xc8(%rsp)
cmpl $0x9, %r15d
ja 0x46f4
leaq 0x168(%rsp), %rdi
leaq 0xc(%rsp), %rsi
callq 0x5b5e
movsd 0xa8(%rsp), %xmm0
movsd 0x399b(%rip), %xmm1     # 0x8060
addsd %xmm1, %xmm0
movsd %xmm0, 0xa8(%rsp)
movsd (%rax), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax)
jmp 0x46f4
movq 0xf8(%rsp), %r14
leaq 0x39d7(%rip), %r12      # 0x80c6
leaq 0x10(%rsp), %r13
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x470b
movq 0x20(%rsp), %rsi
subq %rdi, %rsi
callq 0x21a0
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x4728
movq 0x90(%rsp), %rsi
subq %rdi, %rsi
callq 0x21a0
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x473f
movq 0x60(%rsp), %rsi
subq %rdi, %rsi
callq 0x21a0
movq 0x40(%rsp), %rdx
incq %rdx
movq 0xe0(%rbp), %rax
subq 0xd8(%rbp), %rax
sarq $0x2, %rax
movq %rdx, 0x40(%rsp)
cmpq %rdx, %rax
ja 0x3f28
jmp 0x47b2
xorpd %xmm0, %xmm0
movsd %xmm0, 0x70(%rsp)
movsd %xmm0, 0xd8(%rsp)
movsd %xmm0, 0xd0(%rsp)
movsd %xmm0, 0xc8(%rsp)
movsd %xmm0, 0xc0(%rsp)
movsd %xmm0, 0xb8(%rsp)
movsd %xmm0, 0xb0(%rsp)
movsd %xmm0, 0xa8(%rsp)
movq 0x781f(%rip), %rdi      # 0xbfd8
leaq 0x39c8(%rip), %rsi      # 0x8188
movl $0x5, %edx
callq 0x21c0
movq 0xe0(%rbp), %rax
subq 0xd8(%rbp), %rax
sarq $0x2, %rax
movq %rax, %xmm0
punpckldq 0x3837(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x383f(%rip), %xmm0     # 0x8030
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
movsd 0x70(%rsp), %xmm0
divsd %xmm1, %xmm0
movq 0x77ca(%rip), %rdi      # 0xbfd8
callq 0x2230
leaq 0x50(%rsp), %rsi
movb $0x9, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x21c0
movq 0xe0(%rbp), %rcx
subq 0xd8(%rbp), %rcx
sarq $0x2, %rcx
movq %rcx, %xmm0
punpckldq 0x37d9(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x37e1(%rip), %xmm0     # 0x8030
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
movsd 0xc0(%rsp), %xmm0
divsd %xmm1, %xmm0
movq %rax, %rdi
callq 0x2230
movq %rax, %r14
leaq 0x37fe(%rip), %rsi      # 0x8078
movl $0x1, %edx
movq %rax, %rdi
callq 0x21c0
movq 0xe0(%rbp), %rax
subq 0xd8(%rbp), %rax
sarq $0x2, %rax
movq %rax, %xmm0
punpckldq 0x377a(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x3782(%rip), %xmm0     # 0x8030
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
movsd 0xd8(%rsp), %xmm0
divsd %xmm1, %xmm0
movq %r14, %rdi
callq 0x2230
leaq 0x50(%rsp), %rsi
movb $0x9, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x21c0
movq 0xe0(%rbp), %rcx
subq 0xd8(%rbp), %rcx
sarq $0x2, %rcx
movq %rcx, %xmm0
punpckldq 0x371d(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x3725(%rip), %xmm0     # 0x8030
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
movsd 0xb8(%rsp), %xmm0
divsd %xmm1, %xmm0
movq %rax, %rdi
callq 0x2230
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2100
movq 0x767b(%rip), %rdi      # 0xbfd8
leaq 0x382a(%rip), %rsi      # 0x818e
movl $0x6, %edx
callq 0x21c0
movq 0xf8(%rbp), %rax
subq 0xf0(%rbp), %rax
sarq $0x2, %rax
movq %rax, %xmm0
punpckldq 0x3693(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x369b(%rip), %xmm0     # 0x8030
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
movsd 0xd0(%rsp), %xmm0
divsd %xmm1, %xmm0
movq 0x7623(%rip), %rdi      # 0xbfd8
callq 0x2230
leaq 0x50(%rsp), %rsi
movb $0x9, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x21c0
movq 0xf8(%rbp), %rcx
subq 0xf0(%rbp), %rcx
sarq $0x2, %rcx
movq %rcx, %xmm0
punpckldq 0x3632(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x363a(%rip), %xmm0     # 0x8030
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
movsd 0xb0(%rsp), %xmm0
divsd %xmm1, %xmm0
movq %rax, %rdi
callq 0x2230
leaq 0x50(%rsp), %rsi
movb $0x9, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x21c0
movq 0xf8(%rbp), %rcx
subq 0xf0(%rbp), %rcx
sarq $0x2, %rcx
movq %rcx, %xmm0
punpckldq 0x35d5(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x35dd(%rip), %xmm0     # 0x8030
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
movsd 0xc8(%rsp), %xmm0
divsd %xmm1, %xmm0
movq %rax, %rdi
callq 0x2230
leaq 0x50(%rsp), %rsi
movb $0x9, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x21c0
movq 0xf8(%rbp), %rcx
subq 0xf0(%rbp), %rcx
sarq $0x2, %rcx
movq %rcx, %xmm0
punpckldq 0x3578(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x3580(%rip), %xmm0     # 0x8030
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
movsd 0xa8(%rsp), %xmm0
divsd %xmm1, %xmm0
movq %rax, %rdi
callq 0x2230
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2100
movl $0x0, 0x50(%rsp)
cmpl $0x0, 0x78b6(%rip)      # 0xc3c0
jle 0x4e02
leaq 0x50(%rsp), %r14
movq 0x74bc(%rip), %r15      # 0xbfd8
leaq 0x80(%rsp), %rbp
leaq 0x168(%rsp), %r12
leaq 0x138(%rsp), %rdi
movq %r14, %rsi
callq 0x366c
movl (%rax), %r13d
movl $0x4, %edx
movq %r15, %rdi
leaq 0x3647(%rip), %rsi      # 0x8195
callq 0x21c0
leaq 0x770e(%rip), %rdi      # 0xc268
movq %r14, %rsi
callq 0x3542
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %r15, %rdi
callq 0x21c0
movb $0x20, 0x80(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x21c0
movq %rax, %rdi
movl %r13d, %esi
callq 0x2260
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2100
movl $0x5, %edx
movq %r15, %rdi
leaq 0x35bb(%rip), %rsi      # 0x8188
callq 0x21c0
leaq 0x100(%rsp), %rdi
movq %r14, %rsi
callq 0x5b5e
movsd (%rax), %xmm0
cvtsi2sd %r13d, %xmm1
movsd %xmm1, 0x30(%rsp)
divsd %xmm1, %xmm0
movq %r15, %rdi
callq 0x2230
movb $0x9, 0x80(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x21c0
movq %rax, %rbx
leaq 0x1f8(%rsp), %rdi
movq %r14, %rsi
callq 0x5b5e
movsd (%rax), %xmm0
divsd 0x30(%rsp), %xmm0
movq %rbx, %rdi
callq 0x2230
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
leaq 0x342c(%rip), %rsi      # 0x8078
callq 0x21c0
leaq 0x288(%rsp), %rdi
movq %r14, %rsi
callq 0x5b5e
movsd (%rax), %xmm0
divsd 0x30(%rsp), %xmm0
movq %r13, %rdi
callq 0x2230
movb $0x9, 0x80(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x21c0
movq %rax, %rbx
leaq 0x1c8(%rsp), %rdi
movq %r14, %rsi
callq 0x5b5e
movsd (%rax), %xmm0
divsd 0x30(%rsp), %xmm0
movq %rbx, %rdi
callq 0x2230
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2100
movl $0x6, %edx
movq %r15, %rdi
leaq 0x34a5(%rip), %rsi      # 0x818e
callq 0x21c0
leaq 0x258(%rsp), %rdi
movq %r14, %rsi
callq 0x5b5e
movsd (%rax), %xmm0
divsd 0x30(%rsp), %xmm0
movq %r15, %rdi
callq 0x2230
movb $0x9, 0x80(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x21c0
movq %rax, %rbx
leaq 0x198(%rsp), %rdi
movq %r14, %rsi
callq 0x5b5e
movsd (%rax), %xmm0
divsd 0x30(%rsp), %xmm0
movq %rbx, %rdi
callq 0x2230
movb $0x9, 0x80(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x21c0
movq %rax, %rbx
leaq 0x228(%rsp), %rdi
movq %r14, %rsi
callq 0x5b5e
movsd (%rax), %xmm0
divsd 0x30(%rsp), %xmm0
movq %rbx, %rdi
callq 0x2230
movb $0x9, 0x80(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x21c0
movq %rax, %rbx
movq %r12, %rdi
movq %r14, %rsi
callq 0x5b5e
movsd (%rax), %xmm0
divsd 0x30(%rsp), %xmm0
movq %rbx, %rdi
callq 0x2230
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2100
movl 0x50(%rsp), %eax
incl %eax
movl %eax, 0x50(%rsp)
cmpl 0x75c4(%rip), %eax      # 0xc3c0
jl 0x4b2c
leaq 0x138(%rsp), %rdi
callq 0x515e
leaq 0x168(%rsp), %rdi
callq 0x6b4e
leaq 0x198(%rsp), %rdi
callq 0x6b4e
leaq 0x1c8(%rsp), %rdi
callq 0x6b4e
leaq 0x1f8(%rsp), %rdi
callq 0x6b4e
leaq 0x228(%rsp), %rdi
callq 0x6b4e
leaq 0x258(%rsp), %rdi
callq 0x6b4e
leaq 0x288(%rsp), %rdi
callq 0x6b4e
leaq 0x100(%rsp), %rdi
callq 0x6b4e
addq $0x2b8, %rsp            # imm = 0x2B8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x4ea8
jmp 0x4ea3
jmp 0x4ef8
jmp 0x4ea8
jmp 0x4ea8
jmp 0x4ea8
jmp 0x4ea3
jmp 0x4ea8
jmp 0x4ea8
jmp 0x4ea8
jmp 0x4ea3
jmp 0x4ea8
jmp 0x4ea8
movq %rax, %rbx
jmp 0x4ec2
movq %rax, %rbx
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x4ec2
movq 0x20(%rsp), %rsi
subq %rdi, %rsi
callq 0x21a0
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x4edf
movq 0x90(%rsp), %rsi
subq %rdi, %rsi
callq 0x21a0
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x4efb
movq 0x60(%rsp), %rsi
subq %rdi, %rsi
callq 0x21a0
jmp 0x4efb
movq %rax, %rbx
leaq 0x138(%rsp), %rdi
callq 0x515e
leaq 0x168(%rsp), %rdi
callq 0x6b4e
leaq 0x198(%rsp), %rdi
callq 0x6b4e
leaq 0x1c8(%rsp), %rdi
callq 0x6b4e
leaq 0x1f8(%rsp), %rdi
callq 0x6b4e
leaq 0x228(%rsp), %rdi
callq 0x6b4e
leaq 0x258(%rsp), %rdi
callq 0x6b4e
leaq 0x288(%rsp), %rdi
callq 0x6b4e
leaq 0x100(%rsp), %rdi
callq 0x6b4e
movq %rbx, %rdi
callq 0x2270