// File: /workspace/github_cpp_makefile_star2_O1/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 $0x298, %rsp            # imm = 0x298
movq %rdi, %r14
leaq 0x48ec(%rip), %rsi      # 0x8135
leaq 0x8948(%rip), %rdx      # 0xc198
leaq 0xe8(%rsp), %rbx
movq %rbx, %rdi
callq 0x5734
movq (%rbx), %rdi
leaq 0x4840(%rip), %rsi      # 0x80aa
callq 0x21d0
movq %rax, %r13
movq (%rbx), %rdi
leaq 0xf8(%rsp), %r15
cmpq %r15, %rdi
je 0x3892
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x21a0
leaq 0x489f(%rip), %rsi      # 0x8138
leaq 0x88f8(%rip), %rdx      # 0xc198
leaq 0xe8(%rsp), %rbx
movq %rbx, %rdi
callq 0x5734
movq (%rbx), %rdi
leaq 0x47f0(%rip), %rsi      # 0x80aa
callq 0x21d0
movq %rax, %r12
movq (%rbx), %rdi
cmpq %r15, %rdi
je 0x38da
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x21a0
movq %r13, 0x38(%rsp)
movq %r12, 0x40(%rsp)
leaq 0x485a(%rip), %rsi      # 0x8145
leaq 0x88a6(%rip), %rdx      # 0xc198
leaq 0xe8(%rsp), %rbx
movq %rbx, %rdi
callq 0x5734
movq (%rbx), %rdi
leaq 0x479e(%rip), %rsi      # 0x80aa
callq 0x21d0
movq %rax, 0x68(%rsp)
movq (%rbx), %rdi
cmpq %r15, %rdi
je 0x392e
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x21a0
movl 0x8a84(%rip), %esi      # 0xc3b8
movq 0x869d(%rip), %rdi      # 0xbfd8
callq 0x2260
movb $0x20, %bpl
leaq 0xe8(%rsp), %rbx
movb %bpl, (%rbx)
movl $0x1, %edx
movq %rax, %rdi
movq %rbx, %rsi
callq 0x21c0
movl 0x8a58(%rip), %esi      # 0xc3bc
movq %rax, %rdi
callq 0x2260
movb %bpl, (%rbx)
leaq 0xe8(%rsp), %rsi
movl $0x1, %edx
movq %rax, %rdi
callq 0x21c0
movl 0x8a36(%rip), %esi      # 0xc3c0
movq %rax, %rdi
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
leaq 0x30(%r14), %r13
movslq 0x89f9(%rip), %rsi      # 0xc3c0
movq %r13, %rdi
callq 0x57bc
movl 0x89e3(%rip), %eax      # 0xc3b8
testl %eax, %eax
movq %r14, 0x18(%rsp)
jle 0x3a64
leaq 0x4767(%rip), %rbp      # 0x8150
xorl %ecx, %ecx
movq 0x38(%rsp), %rbx
movq %rcx, 0x10(%rsp)
leaq (%rcx,%rcx,2), %r14
leaq (,%r14,8), %rdi
addq (%r13), %rdi
movslq 0x8760(%rip), %rsi      # 0xc16c
callq 0x57f8
cmpl $0x0, 0x8754(%rip)      # 0xc16c
jle 0x3a4b
xorl %r15d, %r15d
xorl %r12d, %r12d
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 0x872a(%rip), %rax      # 0xc16c
addq $0x8, %r15
cmpq %rax, %r12
jl 0x3a20
movq 0x10(%rsp), %rcx
incq %rcx
movslq 0x895e(%rip), %rax      # 0xc3b8
cmpq %rax, %rcx
jl 0x39f0
movq 0x18(%rsp), %r14
movslq %eax, %rsi
movq %r14, %rdi
callq 0x57bc
cmpl $0x0, 0x8942(%rip)      # 0xc3b8
jle 0x3afe
leaq 0x46cd(%rip), %r12      # 0x8150
xorl %ecx, %ecx
movq 0x18(%rsp), %rbp
movq 0x40(%rsp), %rbx
movq %rcx, 0x10(%rsp)
leaq (%rcx,%rcx,2), %r14
leaq (,%r14,8), %rdi
addq (%rbp), %rdi
movslq 0x86c1(%rip), %rsi      # 0xc16c
callq 0x57f8
cmpl $0x0, 0x86b5(%rip)      # 0xc16c
jle 0x3aea
xorl %r15d, %r15d
xorl %r13d, %r13d
movq (%rbp), %rax
movq (%rax,%r14,8), %rdx
addq %r15, %rdx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x22a0
incq %r13
movslq 0x868b(%rip), %rax      # 0xc16c
addq $0x8, %r15
cmpq %rax, %r13
jl 0x3abf
movq 0x10(%rsp), %rcx
incq %rcx
movslq 0x88bf(%rip), %rax      # 0xc3b8
cmpq %rax, %rcx
jl 0x3a8f
movq 0x18(%rsp), %rax
leaq 0x18(%rax), %r12
movslq 0x88ae(%rip), %rsi      # 0xc3bc
movq %r12, %rdi
callq 0x57bc
movl 0x88a0(%rip), %esi      # 0xc3bc
movq 0x84b5(%rip), %rdi      # 0xbfd8
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
cmpl $0x0, 0x8863(%rip)      # 0xc3bc
jle 0x3bd7
leaq 0x45ee(%rip), %r13      # 0x8150
xorl %ecx, %ecx
movq 0x68(%rsp), %rbx
movq %rcx, 0x10(%rsp)
leaq (%rcx,%rcx,2), %r14
leaq (,%r14,8), %rdi
addq (%r12), %rdi
movslq 0x85e7(%rip), %rsi      # 0xc16c
callq 0x57f8
cmpl $0x0, 0x85db(%rip)      # 0xc16c
jle 0x3bc3
xorl %r15d, %r15d
xorl %ebp, %ebp
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 0x85b2(%rip), %rax      # 0xc16c
addq $0x8, %r15
cmpq %rax, %rbp
jl 0x3b98
movq 0x10(%rsp), %rcx
incq %rcx
movslq 0x87ea(%rip), %rax      # 0xc3bc
cmpq %rax, %rcx
jl 0x3b69
leaq 0x4576(%rip), %rsi      # 0x8154
leaq 0x85b3(%rip), %rdx      # 0xc198
leaq 0xe8(%rsp), %rbx
movq %rbx, %rdi
callq 0x5734
movq (%rbx), %rdi
leaq 0x44ab(%rip), %rsi      # 0x80aa
callq 0x21d0
movq %rax, 0x40(%rsp)
movq (%rbx), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x3c29
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x21a0
movq 0x18(%rsp), %rax
leaq 0x48(%rax), %rbx
movslq 0x8787(%rip), %rsi      # 0xc3c0
movq %rbx, %rdi
callq 0x582a
cmpl $0x0, 0x8778(%rip)      # 0xc3c0
jle 0x3d2b
xorl %ecx, %ecx
movq %rbx, 0x10(%rsp)
movq 0x40(%rsp), %r12
movq %rcx, 0x38(%rsp)
leaq (%rcx,%rcx,2), %rbp
leaq (,%rbp,8), %rdi
addq (%rbx), %rdi
movslq 0x84f7(%rip), %rsi      # 0xc16c
callq 0x57bc
cmpl $0x0, 0x84eb(%rip)      # 0xc16c
jle 0x3d13
xorl %ecx, %ecx
movq (%rbx), %rax
movq %rcx, 0x68(%rsp)
leaq (%rcx,%rcx,2), %rbx
leaq (,%rbx,8), %rdi
addq (%rax,%rbp,8), %rdi
movslq 0x84c8(%rip), %rsi      # 0xc170
callq 0x57f8
cmpl $0x0, 0x84bc(%rip)      # 0xc170
leaq 0x4495(%rip), %r14      # 0x8150
jle 0x3cf6
xorl %r13d, %r13d
xorl %r15d, %r15d
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq (%rax,%rbp,8), %rax
movq (%rax,%rbx,8), %rdx
addq %r13, %rdx
movq %r12, %rdi
movq %r14, %rsi
xorl %eax, %eax
callq 0x22a0
incq %r15
movslq 0x8483(%rip), %rax      # 0xc170
addq $0x8, %r13
cmpq %rax, %r15
jl 0x3cc3
movq 0x68(%rsp), %rcx
incq %rcx
movslq 0x8467(%rip), %rax      # 0xc16c
cmpq %rax, %rcx
movq 0x10(%rsp), %rbx
jl 0x3c89
movq 0x38(%rsp), %rcx
incq %rcx
movslq 0x869e(%rip), %rax      # 0xc3c0
cmpq %rax, %rcx
jl 0x3c5a
movq 0x40(%rsp), %rdi
callq 0x2180
leaq 0x441e(%rip), %rsi      # 0x815a
movl $0x4, %edx
movq 0x8290(%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 0xf0(%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 0x270(%rsp), %rcx
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq 0x240(%rsp), %rcx
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq 0x210(%rsp), %rcx
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq 0x1e0(%rsp), %rcx
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq 0x1b0(%rsp), %rcx
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq 0x180(%rsp), %rcx
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq 0x150(%rsp), %rcx
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq 0x120(%rsp), %rcx
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq 0x42f5(%rip), %rdi      # 0x815f
leaq 0x4239(%rip), %rsi      # 0x80aa
callq 0x21d0
movq %rax, %r15
movq 0x18(%rsp), %r14
movq 0xe0(%r14), %rax
cmpq 0xd8(%r14), %rax
je 0x4714
leaq 0x108(%r14), %rax
movq %rax, 0x10(%rsp)
xorpd %xmm0, %xmm0
movsd %xmm0, 0xa0(%rsp)
leaq 0x4214(%rip), %r12      # 0x80c6
leaq 0x20(%rsp), %r13
leaq 0x50(%rsp), %rbp
movsd %xmm0, 0xa8(%rsp)
movsd %xmm0, 0xb0(%rsp)
movsd %xmm0, 0xb8(%rsp)
movsd %xmm0, 0xc0(%rsp)
movsd %xmm0, 0xc8(%rsp)
movsd %xmm0, 0xd0(%rsp)
movsd %xmm0, 0x38(%rsp)
movq $0x0, 0x68(%rsp)
movq %r15, 0xe0(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x50(%rsp)
xorl %eax, %eax
movq %rax, 0x60(%rsp)
movq %rax, 0x80(%rsp)
movapd %xmm0, 0x70(%rsp)
cmpl $0x0, 0x848d(%rip)      # 0xc3bc
jle 0x3f75
xorl %ebx, %ebx
movq %r15, %rdi
movq %r12, %rsi
movq %r13, %rdx
xorl %eax, %eax
callq 0x22a0
movq 0x58(%rsp), %rsi
cmpq 0x60(%rsp), %rsi
je 0x3f60
movl 0x20(%rsp), %eax
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x58(%rsp)
jmp 0x3f6b
movq %rbp, %rdi
movq %r13, %rdx
callq 0x6c04
incl %ebx
cmpl 0x8449(%rip), %ebx      # 0xc3bc
jl 0x3f33
cmpl $0x0, 0x8440(%rip)      # 0xc3bc
jle 0x3fc7
xorl %ebx, %ebx
movq %r15, %rdi
movq %r12, %rsi
movq %r13, %rdx
xorl %eax, %eax
callq 0x22a0
movq 0x78(%rsp), %rsi
cmpq 0x80(%rsp), %rsi
je 0x3fb0
movl 0x20(%rsp), %eax
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x78(%rsp)
jmp 0x3fbd
leaq 0x70(%rsp), %rdi
movq %r13, %rdx
callq 0x6c04
incl %ebx
cmpl 0x83f7(%rip), %ebx      # 0xc3bc
jl 0x3f80
movq 0xc0(%r14), %rax
movq 0xd8(%r14), %rcx
movq 0x68(%rsp), %rdx
movslq (%rax,%rdx,4), %rsi
movslq (%rcx,%rdx,4), %r12
movq 0xf0(%r14), %rax
movl (%rax,%rdx,4), %eax
movl %eax, 0xc(%rsp)
movq 0x50(%rsp), %rax
movl (%rax,%r12,4), %eax
movq 0x70(%rsp), %rcx
movq %rsi, 0x40(%rsp)
cmpl (%rcx,%rsi,4), %eax
je 0x40cf
movl $0x5, %edx
movq 0x7fc0(%rip), %rdi      # 0xbfd8
leaq 0x4163(%rip), %rsi      # 0x8182
callq 0x21c0
movq 0x50(%rsp), %rax
movl (%rax,%r12,4), %esi
movq 0x7fa4(%rip), %rdi      # 0xbfd8
callq 0x2260
movb $0x20, 0x20(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21c0
movq 0x70(%rsp), %rcx
movq 0x40(%rsp), %rdx
movl (%rcx,%rdx,4), %esi
movq %rax, %rdi
callq 0x2260
movb $0x20, 0x20(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21c0
movq %rax, %rdi
movq 0x40(%rsp), %rsi
callq 0x2260
movb $0x20, 0x20(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21c0
movq %rax, %rdi
movl %r12d, %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
leaq 0x118(%rsp), %rdi
leaq 0xc(%rsp), %rsi
callq 0x366e
incl (%rax)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
cmpl $0x0, 0x82bf(%rip)      # 0xc3bc
jle 0x4168
xorl %ebp, %ebp
movq 0x50(%rsp), %rax
movl (%rax,%rbp,4), %ecx
movq %r14, %rdi
movl %ebp, %esi
movl %r12d, %edx
callq 0x58a6
movl %ebp, 0x90(%rsp)
movsd %xmm0, 0x98(%rsp)
movq 0x28(%rsp), %rsi
cmpq 0x30(%rsp), %rsi
je 0x4147
movupd 0x90(%rsp), %xmm0
movupd %xmm0, (%rsi)
addq $0x10, 0x28(%rsp)
jmp 0x4159
leaq 0x20(%rsp), %rdi
leaq 0x90(%rsp), %rdx
callq 0x60d0
incq %rbp
movslq 0x8259(%rip), %rax      # 0xc3bc
cmpq %rax, %rbp
jl 0x4101
movq 0x20(%rsp), %r15
movq 0x28(%rsp), %rbp
cmpq %rbp, %r15
je 0x41b2
movq %rbp, %rax
subq %r15, %rax
sarq $0x4, %rax
bsrq %rax, %rdx
xorl $0x3f, %edx
addl %edx, %edx
xorq $0x7e, %rdx
movq %r15, %rdi
movq %rbp, %rsi
leaq -0x181f(%rip), %rcx     # 0x297c
callq 0x620f
movq %r15, %rdi
movq %rbp, %rsi
leaq -0x1831(%rip), %rdx     # 0x297c
callq 0x62da
movq 0x28(%rsp), %rax
subq 0x20(%rsp), %rax
movl 0x40(%rsp), %ebp
shrq $0x4, %rax
movl %eax, %r15d
xorl %ebx, %ebx
decq %r15
testl %r15d, %r15d
js 0x43bd
movl %r15d, %r14d
andl $0x7fffffff, %r14d      # imm = 0x7FFFFFFF
movq 0x20(%rsp), %rax
movq %r14, %r13
shlq $0x4, %r13
movl (%rax,%r13), %eax
movl 0xc(%rsp), %ecx
shlq $0x20, %rcx
orq %rax, %rcx
movq %rcx, 0x90(%rsp)
movq 0x10(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x53da
movq 0x10(%rax), %rdx
addq $0x8, %rax
movq %rax, %rcx
testq %rdx, %rdx
je 0x423f
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 0x4227
movq %rax, %rdx
cmpq %rax, %rcx
je 0x4252
cmpl 0x20(%rcx), %r12d
cmovlq %rax, %rcx
movq %rcx, %rdx
xorl %ecx, %ecx
cmpq %rax, %rdx
sete %cl
addl %ecx, %ebx
movq 0x20(%rsp), %rax
cmpl %ebp, (%rax,%r13)
jne 0x41c9
movq 0x28(%rsp), %rcx
subq %rax, %rcx
sarq $0x4, %rcx
subq %r14, %rcx
movq %rcx, %xmm0
punpckldq 0x3d99(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x3da1(%rip), %xmm0     # 0x8030
movapd %xmm0, 0x40(%rsp)
leaq 0xe8(%rsp), %rdi
leaq 0xc(%rsp), %rsi
callq 0x5b32
movapd 0x40(%rsp), %xmm0
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
movsd (%rax), %xmm0
movapd %xmm1, 0x40(%rsp)
addsd %xmm1, %xmm0
movsd %xmm0, (%rax)
leaq 0x268(%rsp), %rdi
leaq 0xc(%rsp), %rsi
callq 0x5b32
leal 0x1(%rbx), %ecx
xorps %xmm1, %xmm1
cvtsi2sd %ecx, %xmm1
movsd (%rax), %xmm0
movsd %xmm1, 0xd8(%rsp)
addsd %xmm1, %xmm0
movsd %xmm0, (%rax)
movq 0x28(%rsp), %rax
subq 0x20(%rsp), %rax
sarq $0x4, %rax
subq %r14, %rax
cmpq $0xa, %rax
ja 0x434f
leaq 0x1d8(%rsp), %rdi
leaq 0xc(%rsp), %rsi
callq 0x5b32
movsd 0xb8(%rsp), %xmm0
movsd 0x3d2a(%rip), %xmm1     # 0x8060
addsd %xmm1, %xmm0
movsd %xmm0, 0xb8(%rsp)
movsd (%rax), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax)
movsd 0x38(%rsp), %xmm0
addsd 0x40(%rsp), %xmm0
movsd %xmm0, 0x38(%rsp)
movsd 0xd0(%rsp), %xmm0
addsd 0xd8(%rsp), %xmm0
movsd %xmm0, 0xd0(%rsp)
cmpl $0x9, %ebx
ja 0x43bd
leaq 0x1a8(%rsp), %rdi
leaq 0xc(%rsp), %rsi
callq 0x5b32
movsd 0xb0(%rsp), %xmm0
movsd 0x3cbc(%rip), %xmm1     # 0x8060
addsd %xmm1, %xmm0
movsd %xmm0, 0xb0(%rsp)
movsd (%rax), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax)
movq 0x18(%rsp), %rbx
movq 0x20(%rsp), %rax
cmpq %rax, 0x28(%rsp)
je 0x43d3
movq %rax, 0x28(%rsp)
cmpl $0x0, 0x7fe2(%rip)      # 0xc3bc
jle 0x4448
xorl %r15d, %r15d
movq 0x70(%rsp), %rax
movl (%rax,%r15,4), %ecx
movq %rbx, %rdi
movl %ebp, %esi
movl %r15d, %edx
callq 0x58a6
movl %r15d, 0x90(%rsp)
movsd %xmm0, 0x98(%rsp)
movq 0x28(%rsp), %rsi
cmpq 0x30(%rsp), %rsi
je 0x4427
movupd 0x90(%rsp), %xmm0
movupd %xmm0, (%rsi)
addq $0x10, 0x28(%rsp)
jmp 0x4439
leaq 0x20(%rsp), %rdi
leaq 0x90(%rsp), %rdx
callq 0x60d0
incq %r15
movslq 0x7f79(%rip), %rax      # 0xc3bc
cmpq %rax, %r15
jl 0x43df
movq 0x20(%rsp), %r15
movq 0x28(%rsp), %rbx
cmpq %rbx, %r15
je 0x4492
movq %rbx, %rax
subq %r15, %rax
sarq $0x4, %rax
bsrq %rax, %rdx
xorl $0x3f, %edx
addl %edx, %edx
xorq $0x7e, %rdx
movq %r15, %rdi
movq %rbx, %rsi
leaq -0x1aff(%rip), %rcx     # 0x297c
callq 0x620f
movq %r15, %rdi
movq %rbx, %rsi
leaq -0x1b11(%rip), %rdx     # 0x297c
callq 0x62da
movq 0x28(%rsp), %rax
subq 0x20(%rsp), %rax
shrq $0x4, %rax
movl %eax, %r14d
decq %r14
xorl %ebx, %ebx
testl %r14d, %r14d
js 0x4684
movl 0xc(%rsp), %eax
shlq $0x20, %rax
orq %rbp, %rax
movq %rax, 0x90(%rsp)
movq 0x10(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x53da
movl %r14d, %r15d
andl $0x7fffffff, %r15d      # imm = 0x7FFFFFFF
movq %r15, %r13
shlq $0x4, %r13
movq 0x20(%rsp), %rsi
addq %r13, %rsi
movq %rax, %rdi
callq 0x3624
cmpq $0x1, %rax
adcl $0x0, %ebx
movq 0x20(%rsp), %rax
decq %r14
cmpl %r12d, (%rax,%r13)
jne 0x44a8
movq 0x28(%rsp), %rcx
subq %rax, %rcx
sarq $0x4, %rcx
subq %r15, %rcx
movq %rcx, %xmm0
punpckldq 0x3af8(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x3b00(%rip), %xmm0     # 0x8030
movapd %xmm0, 0x40(%rsp)
leaq 0x238(%rsp), %rdi
leaq 0xc(%rsp), %rsi
callq 0x5b32
movq 0x18(%rsp), %r14
leaq 0x3b72(%rip), %r12      # 0x80c6
leaq 0x20(%rsp), %r13
leaq 0x50(%rsp), %rbp
movapd 0x40(%rsp), %xmm0
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
movsd (%rax), %xmm0
movapd %xmm1, 0x40(%rsp)
addsd %xmm1, %xmm0
movsd %xmm0, (%rax)
leaq 0x208(%rsp), %rdi
leaq 0xc(%rsp), %rsi
callq 0x5b32
leal 0x1(%rbx), %ecx
xorps %xmm1, %xmm1
cvtsi2sd %ecx, %xmm1
movsd (%rax), %xmm0
movsd %xmm1, 0xd8(%rsp)
addsd %xmm1, %xmm0
movsd %xmm0, (%rax)
movq 0x28(%rsp), %rax
subq 0x20(%rsp), %rax
sarq $0x4, %rax
subq %r15, %rax
cmpq $0xa, %rax
ja 0x4606
leaq 0x178(%rsp), %rdi
leaq 0xc(%rsp), %rsi
callq 0x5b32
movsd 0xa8(%rsp), %xmm0
movsd 0x3a73(%rip), %xmm1     # 0x8060
addsd %xmm1, %xmm0
movsd %xmm0, 0xa8(%rsp)
movsd (%rax), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax)
movsd 0xc8(%rsp), %xmm0
addsd 0x40(%rsp), %xmm0
movsd %xmm0, 0xc8(%rsp)
movsd 0xc0(%rsp), %xmm0
addsd 0xd8(%rsp), %xmm0
movsd %xmm0, 0xc0(%rsp)
cmpl $0x9, %ebx
ja 0x467a
leaq 0x148(%rsp), %rdi
leaq 0xc(%rsp), %rsi
callq 0x5b32
movsd 0xa0(%rsp), %xmm0
movsd 0x39ff(%rip), %xmm1     # 0x8060
addsd %xmm1, %xmm0
movsd %xmm0, 0xa0(%rsp)
movsd (%rax), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax)
movq 0xe0(%rsp), %r15
jmp 0x46a2
movq 0x18(%rsp), %r14
movq 0xe0(%rsp), %r15
leaq 0x3a2e(%rip), %r12      # 0x80c6
leaq 0x20(%rsp), %r13
leaq 0x50(%rsp), %rbp
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x46b9
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x21a0
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x46d3
movq 0x80(%rsp), %rsi
subq %rdi, %rsi
callq 0x21a0
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x46ea
movq 0x60(%rsp), %rsi
subq %rdi, %rsi
callq 0x21a0
movq 0x68(%rsp), %rdx
incq %rdx
movq 0xe0(%r14), %rax
subq 0xd8(%r14), %rax
sarq $0x2, %rax
movq %rdx, 0x68(%rsp)
cmpq %rdx, %rax
ja 0x3f09
jmp 0x475d
xorpd %xmm0, %xmm0
movsd %xmm0, 0x38(%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)
movsd %xmm0, 0xa0(%rsp)
movq 0x7874(%rip), %rdi      # 0xbfd8
leaq 0x3a1d(%rip), %rsi      # 0x8188
movl $0x5, %edx
callq 0x21c0
movq 0x18(%rsp), %rcx
movq 0xe0(%rcx), %rax
subq 0xd8(%rcx), %rax
sarq $0x2, %rax
movq %rax, %xmm0
punpckldq 0x3887(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x388f(%rip), %xmm0     # 0x8030
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
movsd 0x38(%rsp), %xmm0
divsd %xmm1, %xmm0
movq 0x781a(%rip), %rdi      # 0xbfd8
callq 0x2230
leaq 0x50(%rsp), %rsi
movb $0x9, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x21c0
movq 0x18(%rsp), %rdx
movq 0xe0(%rdx), %rcx
subq 0xd8(%rdx), %rcx
sarq $0x2, %rcx
movq %rcx, %xmm0
punpckldq 0x3824(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x382c(%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
leaq 0x3849(%rip), %rsi      # 0x8078
movl $0x1, %edx
movq %rax, %rdi
callq 0x21c0
movq 0x18(%rsp), %rcx
movq 0xe0(%rcx), %rax
subq 0xd8(%rcx), %rax
sarq $0x2, %rax
movq %rax, %xmm0
punpckldq 0x37c0(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x37c8(%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 %r14, %rdi
callq 0x2230
leaq 0x50(%rsp), %rsi
movb $0x9, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x21c0
movq 0x18(%rsp), %rdx
movq 0xe0(%rdx), %rcx
subq 0xd8(%rdx), %rcx
sarq $0x2, %rcx
movq %rcx, %xmm0
punpckldq 0x375e(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x3766(%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
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
movq 0x76bc(%rip), %rdi      # 0xbfd8
leaq 0x386b(%rip), %rsi      # 0x818e
movl $0x6, %edx
callq 0x21c0
movq 0x18(%rsp), %rcx
movq 0xf8(%rcx), %rax
subq 0xf0(%rcx), %rax
sarq $0x2, %rax
movq %rax, %xmm0
punpckldq 0x36cf(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x36d7(%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 0x765f(%rip), %rdi      # 0xbfd8
callq 0x2230
leaq 0x50(%rsp), %rsi
movb $0x9, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x21c0
movq 0x18(%rsp), %rdx
movq 0xf8(%rdx), %rcx
subq 0xf0(%rdx), %rcx
sarq $0x2, %rcx
movq %rcx, %xmm0
punpckldq 0x3669(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x3671(%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
leaq 0x50(%rsp), %rsi
movb $0x9, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x21c0
movq 0x18(%rsp), %rdx
movq 0xf8(%rdx), %rcx
subq 0xf0(%rdx), %rcx
sarq $0x2, %rcx
movq %rcx, %xmm0
punpckldq 0x3607(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x360f(%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
leaq 0x50(%rsp), %rsi
movb $0x9, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x21c0
movq 0x18(%rsp), %rdx
movq 0xf8(%rdx), %rcx
subq 0xf0(%rdx), %rcx
sarq $0x2, %rcx
movq %rcx, %xmm0
punpckldq 0x35a5(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x35ad(%rip), %xmm0     # 0x8030
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
movsd 0xa0(%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, 0x78e3(%rip)      # 0xc3c0
jle 0x4dc0
leaq 0x50(%rsp), %r14
movq 0x74e9(%rip), %r15      # 0xbfd8
leaq 0x70(%rsp), %rbp
leaq 0x148(%rsp), %r12
leaq 0x118(%rsp), %rdi
movq %r14, %rsi
callq 0x366e
movl (%rax), %r13d
movl $0x4, %edx
movq %r15, %rdi
leaq 0x3677(%rip), %rsi      # 0x8195
callq 0x21c0
leaq 0x773e(%rip), %rdi      # 0xc268
movq %r14, %rsi
callq 0x3544
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %r15, %rdi
callq 0x21c0
movb $0x20, 0x70(%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 0x35ee(%rip), %rsi      # 0x8188
callq 0x21c0
leaq 0xe8(%rsp), %rdi
movq %r14, %rsi
callq 0x5b32
movsd (%rax), %xmm0
cvtsi2sd %r13d, %xmm1
movsd %xmm1, 0x10(%rsp)
divsd %xmm1, %xmm0
movq %r15, %rdi
callq 0x2230
movb $0x9, 0x70(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x21c0
movq %rax, %rbx
leaq 0x1d8(%rsp), %rdi
movq %r14, %rsi
callq 0x5b32
movsd (%rax), %xmm0
divsd 0x10(%rsp), %xmm0
movq %rbx, %rdi
callq 0x2230
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
leaq 0x3462(%rip), %rsi      # 0x8078
callq 0x21c0
leaq 0x268(%rsp), %rdi
movq %r14, %rsi
callq 0x5b32
movsd (%rax), %xmm0
divsd 0x10(%rsp), %xmm0
movq %r13, %rdi
callq 0x2230
movb $0x9, 0x70(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x21c0
movq %rax, %rbx
leaq 0x1a8(%rsp), %rdi
movq %r14, %rsi
callq 0x5b32
movsd (%rax), %xmm0
divsd 0x10(%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 0x34de(%rip), %rsi      # 0x818e
callq 0x21c0
leaq 0x238(%rsp), %rdi
movq %r14, %rsi
callq 0x5b32
movsd (%rax), %xmm0
divsd 0x10(%rsp), %xmm0
movq %r15, %rdi
callq 0x2230
movb $0x9, 0x70(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x21c0
movq %rax, %rbx
leaq 0x178(%rsp), %rdi
movq %r14, %rsi
callq 0x5b32
movsd (%rax), %xmm0
divsd 0x10(%rsp), %xmm0
movq %rbx, %rdi
callq 0x2230
movb $0x9, 0x70(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x21c0
movq %rax, %rbx
leaq 0x208(%rsp), %rdi
movq %r14, %rsi
callq 0x5b32
movsd (%rax), %xmm0
divsd 0x10(%rsp), %xmm0
movq %rbx, %rdi
callq 0x2230
movb $0x9, 0x70(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x21c0
movq %rax, %rbx
movq %r12, %rdi
movq %r14, %rsi
callq 0x5b32
movsd (%rax), %xmm0
divsd 0x10(%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 0x7606(%rip), %eax      # 0xc3c0
jl 0x4afc
leaq 0x118(%rsp), %rdi
callq 0x5118
leaq 0x148(%rsp), %rdi
callq 0x6b24
leaq 0x178(%rsp), %rdi
callq 0x6b24
leaq 0x1a8(%rsp), %rdi
callq 0x6b24
leaq 0x1d8(%rsp), %rdi
callq 0x6b24
leaq 0x208(%rsp), %rdi
callq 0x6b24
leaq 0x238(%rsp), %rdi
callq 0x6b24
leaq 0x268(%rsp), %rdi
callq 0x6b24
leaq 0xe8(%rsp), %rdi
callq 0x6b24
addq $0x298, %rsp            # imm = 0x298
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x4e61
jmp 0x4eb3
jmp 0x4e66
jmp 0x4e66
jmp 0x4e66
jmp 0x4e66
jmp 0x4e61
jmp 0x4e66
jmp 0x4e66
jmp 0x4e66
jmp 0x4e66
jmp 0x4e66
jmp 0x4e61
movq %rax, %rbx
jmp 0x4e80
movq %rax, %rbx
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x4e80
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x21a0
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x4e9a
movq 0x80(%rsp), %rsi
subq %rdi, %rsi
callq 0x21a0
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x4eb6
movq 0x60(%rsp), %rsi
subq %rdi, %rsi
callq 0x21a0
jmp 0x4eb6
movq %rax, %rbx
leaq 0x118(%rsp), %rdi
callq 0x5118
leaq 0x148(%rsp), %rdi
callq 0x6b24
leaq 0x178(%rsp), %rdi
callq 0x6b24
leaq 0x1a8(%rsp), %rdi
callq 0x6b24
leaq 0x1d8(%rsp), %rdi
callq 0x6b24
leaq 0x208(%rsp), %rdi
callq 0x6b24
leaq 0x238(%rsp), %rdi
callq 0x6b24
leaq 0x268(%rsp), %rdi
callq 0x6b24
leaq 0xe8(%rsp), %rdi
callq 0x6b24
movq %rbx, %rdi
callq 0x2270