// File: IdelCoder[P]PTransE-ag/Test_TransE_path.cpp
// Function: prepare()
void prepare()
{
	ifstream ip("../../data/degree/estat.csv");
    if(!ip.is_open()) cout << "ERROR: estat not exists" << endl;
    string eName, eId, eDeg;
    while(ip.good()) {
        getline(ip, eName, ',');
        if(eName == "") break;
        getline(ip, eId, ',');
        getline(ip, eDeg, '\n');
        entity_degree[atoi(eId.c_str())] = atoi(eDeg.c_str());
    }

    FILE* f1 = fopen("../../data/entity2id.txt","r");
	FILE* f2 = fopen("../../data/relation2id.txt","r");
	int x;
	while (fscanf(f1,"%s%d",buf,&x)==2)
	{
		string st=buf;
		entity2id[st]=x;
		id2entity[x]=st;
		entity_num++;
	}
	while (fscanf(f2,"%s%d",buf,&x)==2)
	{
		string st=buf;
		relation2id[st]=x;
		id2relation[x]=st;
		relation_num++;
	}
    FILE* f_kb = fopen("../../data/path2/test_pra.txt","r");
	while (fscanf(f_kb,"%s",buf)==1)
    {
        string s1=buf;
        fscanf(f_kb,"%s",buf);
        string s2=buf;
        if (entity2id.count(s1)==0)
        {
            cout<<"miss entity:"<<s1<<endl;
        }
        if (entity2id.count(s2)==0)
        {
            cout<<"miss entity:"<<s2<<endl;
        }
        int e1 = entity2id[s1];
        int e2 = entity2id[s2];
        int rel;
		fscanf(f_kb,"%d",&rel);
		fscanf(f_kb,"%d",&x);
		vector<pair<vector<int>,double> > b;
		b.clear();
		for (int i = 0; i<x; i++)
		{
			int y,z;
			vector<int> rel_path;
			rel_path.clear();
			fscanf(f_kb,"%d",&y);
			for (int j=0; j<y; j++)
			{
				fscanf(f_kb,"%d",&z);
				rel_path.push_back(z);
			}
			double pr;
			fscanf(f_kb,"%lf",&pr);
			b.push_back(make_pair(rel_path,pr));
		}
		//cout<<e1<<' '<<e2<<' '<<rel<<' '<<b.size()<<endl;
		b.clear();
        test.add(e1,e2,rel,b);
    }
    fclose(f_kb);
	cout<<415<<endl;
    FILE* f_path = fopen("../../data/path2/path2.txt","r");
	while (fscanf(f_path,"%s",buf)==1)
    {
        string s1=buf;
        fscanf(f_path,"%s",buf);
        string s2=buf;
        if (entity2id.count(s1)==0)
        {
            cout<<"miss entity:"<<s1<<endl;
        }
        if (entity2id.count(s2)==0)
        {
            cout<<"miss entity:"<<s2<<endl;
        }
        int e1 = entity2id[s1];
        int e2 = entity2id[s2];
		fscanf(f_path,"%d",&x);
		vector<pair<vector<int>,double> > b;
		b.clear();
		for (int i = 0; i<x; i++)
		{
			int y,z;
			vector<int> rel_path;
			rel_path.clear();
			fscanf(f_path,"%d",&y);
			for (int j=0; j<y; j++)
			{
				fscanf(f_path,"%d",&z);
				rel_path.push_back(z);
			}
			double pr;
			fscanf(f_path,"%lf",&pr);
			b.push_back(make_pair(rel_path,pr));
		}
		//cout<<e1<<' '<<e2<<' '<<rel<<' '<<b.size()<<endl;
		//b.clear();
        test.add(e1,e2,-1,b);
    }
	cout<<454<<endl;
	fclose(f_path);
    FILE* f_kb1 = fopen("../../data/train.txt","r");
	while (fscanf(f_kb1,"%s",buf)==1)
    {
        string s1=buf;
        fscanf(f_kb1,"%s",buf);
        string s2=buf;
        fscanf(f_kb1,"%s",buf);
        string s3=buf;
        if (entity2id.count(s1)==0)
        {
            cout<<"miss entity:"<<s1<<endl;
        }
        if (entity2id.count(s2)==0)
        {
            cout<<"miss entity:"<<s2<<endl;
        }
        if (relation2id.count(s3)==0)
        {
            relation2id[s3] = relation_num;
            relation_num++;
        }
        entity2num[relation2id[s3]][entity2id[s1]]+=1;
        entity2num[relation2id[s3]][entity2id[s2]]+=1;
        e2num[entity2id[s1]]+=1;
        e2num[entity2id[s2]]+=1;
        test.add(entity2id[s1],entity2id[s2],relation2id[s3],false);
    }
    fclose(f_kb1);
    FILE* f_kb2 = fopen("../../data/valid.txt","r");
	while (fscanf(f_kb2,"%s",buf)==1)
    {
        string s1=buf;
        fscanf(f_kb2,"%s",buf);
        string s2=buf;
        fscanf(f_kb2,"%s",buf);
        string s3=buf;
        if (entity2id.count(s1)==0)
        {
            cout<<"miss entity:"<<s1<<endl;
        }
        if (entity2id.count(s2)==0)
        {
            cout<<"miss entity:"<<s2<<endl;
        }
        if (relation2id.count(s3)==0)
        {
            relation2id[s3] = relation_num;
            relation_num++;
        }
        test.add(entity2id[s1],entity2id[s2],relation2id[s3],false);
    }
    fclose(f_kb2);
	FILE* f_confidence = fopen("../../data/path2/confidence.txt","r");
	while (fscanf(f_confidence,"%d",&x)==1)
	{
		string s = "";
		for (int i=0; i<x; i++)
		{
			fscanf(f_confidence,"%s",buf);
			s = s + string(buf)+" ";
		}
		fscanf(f_confidence,"%d",&x);
		for (int i=0; i<x; i++)
		{
			int y;
			double pr;
			fscanf(f_confidence,"%d%lf",&y,&pr);
		//	cout<<s<<' '<<y<<' '<<pr<<endl;
			path_confidence[make_pair(s,y)] = pr;
		}
	}
	fclose(f_confidence);
    FILE* f7 = fopen("../../data/n2n.txt","r");
    {
        double x,y;
        while (fscanf(f7,"%lf%lf",&x,&y)==2)
        {
            //cout<<x<<' '<<y<<endl;
            if (x<1.5)
            {
                if (y<1.5)
                    rel_type.push_back(0);
                else
                    rel_type.push_back(1);

            }
            else
                if (y<1.5)
                    rel_type.push_back(2);
                else
                    rel_type.push_back(3);
        }
    }
    fclose(f7);
	
}

// Assembly:
subq $0xa18, %rsp            # imm = 0xA18
leaq 0x1d4f5(%rip), %rsi     # 0x20083
leaq 0x810(%rsp), %rdi
movq %rdi, 0x358(%rsp)
movl $0x8, %edx
callq 0x2390
movq 0x358(%rsp), %rdi
callq 0x2300
movb %al, 0x367(%rsp)
jmp 0x2bbe
movb 0x367(%rsp), %al
testb $0x1, %al
jne 0x2c19
jmp 0x2bcb
movq 0x2a406(%rip), %rdi     # 0x2cfd8
leaq 0x1d4c6(%rip), %rsi     # 0x2009f
callq 0x21c0
movq %rax, 0x350(%rsp)
jmp 0x2be8
movq 0x350(%rsp), %rdi
movq 0x2a3c9(%rip), %rsi     # 0x2cfc0
callq 0x2210
jmp 0x2bfe
jmp 0x2c19
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0x4c95
leaq 0x7e0(%rsp), %rdi
callq 0x2290
leaq 0x7c0(%rsp), %rdi
callq 0x2290
leaq 0x7a0(%rsp), %rdi
callq 0x2290
movq 0x810(%rsp), %rax
movq -0x18(%rax), %rax
leaq 0x810(%rsp,%rax), %rdi
callq 0x2330
movb %al, 0x34f(%rsp)
jmp 0x2c62
movb 0x34f(%rsp), %al
testb $0x1, %al
jne 0x2c72
jmp 0x2d7a
leaq 0x810(%rsp), %rdi
leaq 0x7e0(%rsp), %rsi
movl $0x2c, %edx
callq 0x23b0
jmp 0x2c8e
leaq 0x1d3d3(%rip), %rsi     # 0x20068
leaq 0x7e0(%rsp), %rdi
callq 0x5070
movb %al, 0x34e(%rsp)
jmp 0x2cab
movb 0x34e(%rsp), %al
testb $0x1, %al
jne 0x2cb8
jmp 0x2cd6
jmp 0x2d7a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0x4c6e
leaq 0x810(%rsp), %rdi
leaq 0x7c0(%rsp), %rsi
movl $0x2c, %edx
callq 0x23b0
jmp 0x2cf2
leaq 0x810(%rsp), %rdi
leaq 0x7a0(%rsp), %rsi
movl $0xa, %edx
callq 0x23b0
jmp 0x2d0e
leaq 0x7a0(%rsp), %rdi
callq 0x20e0
movq %rax, %rdi
callq 0x22d0
movl %eax, 0x33c(%rsp)
leaq 0x7c0(%rsp), %rdi
callq 0x20e0
movq %rax, %rdi
callq 0x22d0
movl %eax, 0x79c(%rsp)
leaq 0x2a72b(%rip), %rdi     # 0x2d478
leaq 0x79c(%rsp), %rsi
callq 0x50a0
movq %rax, 0x340(%rsp)
jmp 0x2d64
movq 0x340(%rsp), %rax
movl 0x33c(%rsp), %ecx
movl %ecx, (%rax)
jmp 0x2c40
leaq 0x1d336(%rip), %rdi     # 0x200b7
leaq 0x1d348(%rip), %rsi     # 0x200d0
callq 0x2240
movq %rax, 0x330(%rsp)
jmp 0x2d97
movq 0x330(%rsp), %rax
movq %rax, 0x790(%rsp)
leaq 0x1d324(%rip), %rdi     # 0x200d2
leaq 0x1d31b(%rip), %rsi     # 0x200d0
callq 0x2240
movq %rax, 0x328(%rsp)
jmp 0x2dc4
movq 0x328(%rsp), %rax
movq %rax, 0x788(%rsp)
movq 0x790(%rsp), %rdi
leaq 0x1d30a(%rip), %rsi     # 0x200ed
leaq 0x2a6c6(%rip), %rdx     # 0x2d4b0
xorl %eax, %eax
leaq 0x784(%rsp), %rcx
callq 0x23a0
movl %eax, 0x324(%rsp)
jmp 0x2e02
movl 0x324(%rsp), %eax
cmpl $0x2, %eax
jne 0x2f31
leaq 0x75f(%rsp), %rdi
movq %rdi, 0x318(%rsp)
callq 0x2370
movq 0x318(%rsp), %rdx
leaq 0x2a67a(%rip), %rsi     # 0x2d4b0
leaq 0x760(%rsp), %rdi
callq 0x2280
jmp 0x2e45
leaq 0x75f(%rsp), %rdi
callq 0x2220
movl 0x784(%rsp), %eax
movl %eax, 0x30c(%rsp)
leaq 0x2a4a9(%rip), %rdi     # 0x2d310
leaq 0x760(%rsp), %rsi
callq 0x5190
movq %rax, 0x310(%rsp)
jmp 0x2e7e
movq 0x310(%rsp), %rax
movl 0x30c(%rsp), %ecx
movl %ecx, (%rax)
leaq 0x2a4aa(%rip), %rdi     # 0x2d340
leaq 0x784(%rsp), %rsi
callq 0x5280
movq %rax, 0x300(%rsp)
jmp 0x2ead
movq 0x300(%rsp), %rdi
leaq 0x760(%rsp), %rsi
callq 0x2040
jmp 0x2ec4
movl 0x2a5e2(%rip), %eax     # 0x2d4ac
addl $0x1, %eax
movl %eax, 0x2a5d9(%rip)     # 0x2d4ac
leaq 0x760(%rsp), %rdi
callq 0x23f8
jmp 0x2dd4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x75f(%rsp), %rdi
callq 0x2220
jmp 0x4c6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x760(%rsp), %rdi
callq 0x23f8
jmp 0x4c6e
jmp 0x2f33
movq 0x788(%rsp), %rdi
leaq 0x1d1ab(%rip), %rsi     # 0x200ed
leaq 0x2a567(%rip), %rdx     # 0x2d4b0
xorl %eax, %eax
leaq 0x784(%rsp), %rcx
callq 0x23a0
movl %eax, 0x2fc(%rsp)
jmp 0x2f61
movl 0x2fc(%rsp), %eax
cmpl $0x2, %eax
jne 0x3090
leaq 0x737(%rsp), %rdi
movq %rdi, 0x2f0(%rsp)
callq 0x2370
movq 0x2f0(%rsp), %rdx
leaq 0x2a51b(%rip), %rsi     # 0x2d4b0
leaq 0x738(%rsp), %rdi
callq 0x2280
jmp 0x2fa4
leaq 0x737(%rsp), %rdi
callq 0x2220
movl 0x784(%rsp), %eax
movl %eax, 0x2e4(%rsp)
leaq 0x2a31a(%rip), %rdi     # 0x2d2e0
leaq 0x738(%rsp), %rsi
callq 0x5190
movq %rax, 0x2e8(%rsp)
jmp 0x2fdd
movq 0x2e8(%rsp), %rax
movl 0x2e4(%rsp), %ecx
movl %ecx, (%rax)
leaq 0x2a37b(%rip), %rdi     # 0x2d370
leaq 0x784(%rsp), %rsi
callq 0x5280
movq %rax, 0x2d8(%rsp)
jmp 0x300c
movq 0x2d8(%rsp), %rdi
leaq 0x738(%rsp), %rsi
callq 0x2040
jmp 0x3023
movl 0x2a47f(%rip), %eax     # 0x2d4a8
addl $0x1, %eax
movl %eax, 0x2a476(%rip)     # 0x2d4a8
leaq 0x738(%rsp), %rdi
callq 0x23f8
jmp 0x2f33
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x737(%rsp), %rdi
callq 0x2220
jmp 0x4c6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x738(%rsp), %rdi
callq 0x23f8
jmp 0x4c6e
leaq 0x1d05b(%rip), %rdi     # 0x200f2
leaq 0x1d032(%rip), %rsi     # 0x200d0
callq 0x2240
movq %rax, 0x2d0(%rsp)
jmp 0x30ad
movq 0x2d0(%rsp), %rax
movq %rax, 0x728(%rsp)
movq 0x728(%rsp), %rdi
leaq 0x1d044(%rip), %rsi     # 0x20110
leaq 0x2a3dd(%rip), %rdx     # 0x2d4b0
xorl %eax, %eax
callq 0x23a0
movl %eax, 0x2cc(%rsp)
jmp 0x30e3
movl 0x2cc(%rsp), %eax
cmpl $0x1, %eax
jne 0x3683
leaq 0x707(%rsp), %rdi
movq %rdi, 0x2c0(%rsp)
callq 0x2370
movq 0x2c0(%rsp), %rdx
leaq 0x2a399(%rip), %rsi     # 0x2d4b0
leaq 0x708(%rsp), %rdi
callq 0x2280
jmp 0x3126
leaq 0x707(%rsp), %rdi
callq 0x2220
movq 0x728(%rsp), %rdi
leaq 0x1cfce(%rip), %rsi     # 0x20110
leaq 0x2a367(%rip), %rdx     # 0x2d4b0
xorl %eax, %eax
callq 0x23a0
jmp 0x3152
leaq 0x6df(%rsp), %rdi
movq %rdi, 0x2b8(%rsp)
callq 0x2370
movq 0x2b8(%rsp), %rdx
leaq 0x2a33a(%rip), %rsi     # 0x2d4b0
leaq 0x6e0(%rsp), %rdi
callq 0x2280
jmp 0x3185
leaq 0x6df(%rsp), %rdi
callq 0x2220
leaq 0x2a177(%rip), %rdi     # 0x2d310
leaq 0x708(%rsp), %rsi
callq 0x5370
movq %rax, 0x2b0(%rsp)
jmp 0x31b0
movq 0x2b0(%rsp), %rax
cmpq $0x0, %rax
jne 0x3294
movq 0x29e0f(%rip), %rdi     # 0x2cfd8
leaq 0x1cf43(%rip), %rsi     # 0x20113
callq 0x21c0
movq %rax, 0x2a8(%rsp)
jmp 0x31df
movq 0x2a8(%rsp), %rdi
leaq 0x708(%rsp), %rsi
callq 0x21a0
movq %rax, 0x2a0(%rsp)
jmp 0x31fe
movq 0x2a0(%rsp), %rdi
movq 0x29db3(%rip), %rsi     # 0x2cfc0
callq 0x2210
jmp 0x3214
jmp 0x3294
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x707(%rsp), %rdi
callq 0x2220
jmp 0x4c6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0x3671
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x6df(%rsp), %rdi
callq 0x2220
jmp 0x3671
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0x3664
leaq 0x2a075(%rip), %rdi     # 0x2d310
leaq 0x6e0(%rsp), %rsi
callq 0x5370
movq %rax, 0x298(%rsp)
jmp 0x32b2
movq 0x298(%rsp), %rax
cmpq $0x0, %rax
jne 0x3314
movq 0x29d11(%rip), %rdi     # 0x2cfd8
leaq 0x1ce45(%rip), %rsi     # 0x20113
callq 0x21c0
movq %rax, 0x290(%rsp)
jmp 0x32dd
movq 0x290(%rsp), %rdi
leaq 0x6e0(%rsp), %rsi
callq 0x21a0
movq %rax, 0x288(%rsp)
jmp 0x32fc
movq 0x288(%rsp), %rdi
movq 0x29cb5(%rip), %rsi     # 0x2cfc0
callq 0x2210
jmp 0x3312
jmp 0x3314
leaq 0x29ff5(%rip), %rdi     # 0x2d310
leaq 0x708(%rsp), %rsi
callq 0x5190
movq %rax, 0x280(%rsp)
jmp 0x3332
movq 0x280(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x6d8(%rsp)
leaq 0x29fc6(%rip), %rdi     # 0x2d310
leaq 0x6e0(%rsp), %rsi
callq 0x5190
movq %rax, 0x278(%rsp)
jmp 0x3361
movq 0x278(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x6d4(%rsp)
movq 0x728(%rsp), %rdi
leaq 0x1cd6e(%rip), %rsi     # 0x200ef
xorl %eax, %eax
leaq 0x6d0(%rsp), %rdx
callq 0x23a0
jmp 0x3392
movq 0x728(%rsp), %rdi
leaq 0x1cd4e(%rip), %rsi     # 0x200ef
xorl %eax, %eax
leaq 0x784(%rsp), %rdx
callq 0x23a0
jmp 0x33b2
leaq 0x6b8(%rsp), %rdi
callq 0x53d0
leaq 0x6b8(%rsp), %rdi
callq 0x53e0
movl $0x0, 0x6b4(%rsp)
movl 0x6b4(%rsp), %eax
cmpl 0x784(%rsp), %eax
jge 0x3566
leaq 0x690(%rsp), %rdi
movq %rdi, 0x270(%rsp)
callq 0x4d50
movq 0x270(%rsp), %rdi
callq 0x5400
movq 0x728(%rsp), %rdi
leaq 0x1ccd3(%rip), %rsi     # 0x200ef
xorl %eax, %eax
leaq 0x6b0(%rsp), %rdx
callq 0x23a0
jmp 0x342d
movl $0x0, 0x68c(%rsp)
movl 0x68c(%rsp), %eax
cmpl 0x6b0(%rsp), %eax
jge 0x34ad
movq 0x728(%rsp), %rdi
leaq 0x1cc98(%rip), %rsi     # 0x200ef
xorl %eax, %eax
leaq 0x6ac(%rsp), %rdx
callq 0x23a0
jmp 0x3468
leaq 0x690(%rsp), %rdi
leaq 0x6ac(%rsp), %rsi
callq 0x5420
jmp 0x347f
jmp 0x3481
movl 0x68c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x68c(%rsp)
jmp 0x3438
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0x3554
movq 0x728(%rsp), %rdi
leaq 0x1cccd(%rip), %rsi     # 0x20189
xorl %eax, %eax
leaq 0x680(%rsp), %rdx
callq 0x23a0
jmp 0x34cd
leaq 0x660(%rsp), %rdi
leaq 0x690(%rsp), %rsi
leaq 0x680(%rsp), %rdx
callq 0x54c0
jmp 0x34ec
leaq 0x6b8(%rsp), %rdi
leaq 0x660(%rsp), %rsi
callq 0x5490
jmp 0x3503
leaq 0x660(%rsp), %rdi
callq 0x5500
leaq 0x690(%rsp), %rdi
callq 0x4d60
movl 0x6b4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x6b4(%rsp)
jmp 0x33d7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x660(%rsp), %rdi
callq 0x5500
leaq 0x690(%rsp), %rdi
callq 0x4d60
jmp 0x3657
leaq 0x6b8(%rsp), %rdi
movq %rdi, 0x258(%rsp)
callq 0x53e0
movq 0x258(%rsp), %rsi
movl 0x6d8(%rsp), %eax
movl %eax, 0x264(%rsp)
movl 0x6d4(%rsp), %eax
movl %eax, 0x268(%rsp)
movl 0x6d0(%rsp), %eax
movl %eax, 0x26c(%rsp)
leaq 0x648(%rsp), %rdi
callq 0x5620
jmp 0x35bc
movl 0x26c(%rsp), %ecx
movl 0x268(%rsp), %edx
movl 0x264(%rsp), %esi
leaq 0x5ac18(%rip), %rdi     # 0x5e1f0
leaq 0x648(%rsp), %r8
callq 0x5510
jmp 0x35e7
leaq 0x648(%rsp), %rdi
callq 0x5720
leaq 0x6b8(%rsp), %rdi
callq 0x5720
leaq 0x6e0(%rsp), %rdi
callq 0x23f8
leaq 0x708(%rsp), %rdi
callq 0x23f8
jmp 0x30bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0x3657
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x648(%rsp), %rdi
callq 0x5720
leaq 0x6b8(%rsp), %rdi
callq 0x5720
leaq 0x6e0(%rsp), %rdi
callq 0x23f8
leaq 0x708(%rsp), %rdi
callq 0x23f8
jmp 0x4c6e
movq 0x728(%rsp), %rdi
callq 0x21d0
jmp 0x3692
movq 0x2993f(%rip), %rdi     # 0x2cfd8
movl $0x19f, %esi            # imm = 0x19F
callq 0x2350
movq %rax, 0x250(%rsp)
jmp 0x36ad
movq 0x250(%rsp), %rdi
movq 0x29904(%rip), %rsi     # 0x2cfc0
callq 0x2210
jmp 0x36c3
leaq 0x1ca56(%rip), %rdi     # 0x20120
leaq 0x1c9ff(%rip), %rsi     # 0x200d0
callq 0x2240
movq %rax, 0x248(%rsp)
jmp 0x36e0
movq 0x248(%rsp), %rax
movq %rax, 0x640(%rsp)
movq 0x640(%rsp), %rdi
leaq 0x1ca11(%rip), %rsi     # 0x20110
leaq 0x29daa(%rip), %rdx     # 0x2d4b0
xorl %eax, %eax
callq 0x23a0
movl %eax, 0x244(%rsp)
jmp 0x3716
movl 0x244(%rsp), %eax
cmpl $0x1, %eax
jne 0x3c71
leaq 0x61f(%rsp), %rdi
movq %rdi, 0x238(%rsp)
callq 0x2370
movq 0x238(%rsp), %rdx
leaq 0x29d66(%rip), %rsi     # 0x2d4b0
leaq 0x620(%rsp), %rdi
callq 0x2280
jmp 0x3759
leaq 0x61f(%rsp), %rdi
callq 0x2220
movq 0x640(%rsp), %rdi
leaq 0x1c99b(%rip), %rsi     # 0x20110
leaq 0x29d34(%rip), %rdx     # 0x2d4b0
xorl %eax, %eax
callq 0x23a0
jmp 0x3785
leaq 0x5f7(%rsp), %rdi
movq %rdi, 0x230(%rsp)
callq 0x2370
movq 0x230(%rsp), %rdx
leaq 0x29d07(%rip), %rsi     # 0x2d4b0
leaq 0x5f8(%rsp), %rdi
callq 0x2280
jmp 0x37b8
leaq 0x5f7(%rsp), %rdi
callq 0x2220
leaq 0x29b44(%rip), %rdi     # 0x2d310
leaq 0x620(%rsp), %rsi
callq 0x5370
movq %rax, 0x228(%rsp)
jmp 0x37e3
movq 0x228(%rsp), %rax
cmpq $0x0, %rax
jne 0x38c7
movq 0x297dc(%rip), %rdi     # 0x2cfd8
leaq 0x1c910(%rip), %rsi     # 0x20113
callq 0x21c0
movq %rax, 0x220(%rsp)
jmp 0x3812
movq 0x220(%rsp), %rdi
leaq 0x620(%rsp), %rsi
callq 0x21a0
movq %rax, 0x218(%rsp)
jmp 0x3831
movq 0x218(%rsp), %rdi
movq 0x29780(%rip), %rsi     # 0x2cfc0
callq 0x2210
jmp 0x3847
jmp 0x38c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x61f(%rsp), %rdi
callq 0x2220
jmp 0x4c6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0x3c5f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x5f7(%rsp), %rdi
callq 0x2220
jmp 0x3c5f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0x3c52
leaq 0x29a42(%rip), %rdi     # 0x2d310
leaq 0x5f8(%rsp), %rsi
callq 0x5370
movq %rax, 0x210(%rsp)
jmp 0x38e5
movq 0x210(%rsp), %rax
cmpq $0x0, %rax
jne 0x3947
movq 0x296de(%rip), %rdi     # 0x2cfd8
leaq 0x1c812(%rip), %rsi     # 0x20113
callq 0x21c0
movq %rax, 0x208(%rsp)
jmp 0x3910
movq 0x208(%rsp), %rdi
leaq 0x5f8(%rsp), %rsi
callq 0x21a0
movq %rax, 0x200(%rsp)
jmp 0x392f
movq 0x200(%rsp), %rdi
movq 0x29682(%rip), %rsi     # 0x2cfc0
callq 0x2210
jmp 0x3945
jmp 0x3947
leaq 0x299c2(%rip), %rdi     # 0x2d310
leaq 0x620(%rsp), %rsi
callq 0x5190
movq %rax, 0x1f8(%rsp)
jmp 0x3965
movq 0x1f8(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x5f0(%rsp)
leaq 0x29993(%rip), %rdi     # 0x2d310
leaq 0x5f8(%rsp), %rsi
callq 0x5190
movq %rax, 0x1f0(%rsp)
jmp 0x3994
movq 0x1f0(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x5ec(%rsp)
movq 0x640(%rsp), %rdi
leaq 0x1c73b(%rip), %rsi     # 0x200ef
xorl %eax, %eax
leaq 0x784(%rsp), %rdx
callq 0x23a0
jmp 0x39c5
leaq 0x5d0(%rsp), %rdi
callq 0x53d0
leaq 0x5d0(%rsp), %rdi
callq 0x53e0
movl $0x0, 0x5cc(%rsp)
movl 0x5cc(%rsp), %eax
cmpl 0x784(%rsp), %eax
jge 0x3b79
leaq 0x5a8(%rsp), %rdi
movq %rdi, 0x1e8(%rsp)
callq 0x4d50
movq 0x1e8(%rsp), %rdi
callq 0x5400
movq 0x640(%rsp), %rdi
leaq 0x1c6c0(%rip), %rsi     # 0x200ef
xorl %eax, %eax
leaq 0x5c8(%rsp), %rdx
callq 0x23a0
jmp 0x3a40
movl $0x0, 0x5a4(%rsp)
movl 0x5a4(%rsp), %eax
cmpl 0x5c8(%rsp), %eax
jge 0x3ac0
movq 0x640(%rsp), %rdi
leaq 0x1c685(%rip), %rsi     # 0x200ef
xorl %eax, %eax
leaq 0x5c4(%rsp), %rdx
callq 0x23a0
jmp 0x3a7b
leaq 0x5a8(%rsp), %rdi
leaq 0x5c4(%rsp), %rsi
callq 0x5420
jmp 0x3a92
jmp 0x3a94
movl 0x5a4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x5a4(%rsp)
jmp 0x3a4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0x3b67
movq 0x640(%rsp), %rdi
leaq 0x1c6ba(%rip), %rsi     # 0x20189
xorl %eax, %eax
leaq 0x598(%rsp), %rdx
callq 0x23a0
jmp 0x3ae0
leaq 0x578(%rsp), %rdi
leaq 0x5a8(%rsp), %rsi
leaq 0x598(%rsp), %rdx
callq 0x54c0
jmp 0x3aff
leaq 0x5d0(%rsp), %rdi
leaq 0x578(%rsp), %rsi
callq 0x5490
jmp 0x3b16
leaq 0x578(%rsp), %rdi
callq 0x5500
leaq 0x5a8(%rsp), %rdi
callq 0x4d60
movl 0x5cc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x5cc(%rsp)
jmp 0x39ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x578(%rsp), %rdi
callq 0x5500
leaq 0x5a8(%rsp), %rdi
callq 0x4d60
jmp 0x3c45
movl 0x5f0(%rsp), %eax
movl %eax, 0x1e0(%rsp)
movl 0x5ec(%rsp), %eax
movl %eax, 0x1e4(%rsp)
leaq 0x560(%rsp), %rdi
leaq 0x5d0(%rsp), %rsi
callq 0x5620
jmp 0x3bac
movl 0x1e4(%rsp), %edx
movl 0x1e0(%rsp), %esi
leaq 0x5a62f(%rip), %rdi     # 0x5e1f0
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
leaq 0x560(%rsp), %r8
callq 0x5510
jmp 0x3bd5
leaq 0x560(%rsp), %rdi
callq 0x5720
leaq 0x5d0(%rsp), %rdi
callq 0x5720
leaq 0x5f8(%rsp), %rdi
callq 0x23f8
leaq 0x620(%rsp), %rdi
callq 0x23f8
jmp 0x36f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0x3c45
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x560(%rsp), %rdi
callq 0x5720
leaq 0x5d0(%rsp), %rdi
callq 0x5720
leaq 0x5f8(%rsp), %rdi
callq 0x23f8
leaq 0x620(%rsp), %rdi
callq 0x23f8
jmp 0x4c6e
movq 0x29360(%rip), %rdi     # 0x2cfd8
movl $0x1c6, %esi            # imm = 0x1C6
callq 0x2350
movq %rax, 0x1d8(%rsp)
jmp 0x3c8c
movq 0x1d8(%rsp), %rdi
movq 0x29325(%rip), %rsi     # 0x2cfc0
callq 0x2210
jmp 0x3ca2
movq 0x640(%rsp), %rdi
callq 0x21d0
jmp 0x3cb1
leaq 0x1c483(%rip), %rdi     # 0x2013b
leaq 0x1c411(%rip), %rsi     # 0x200d0
callq 0x2240
movq %rax, 0x1d0(%rsp)
jmp 0x3cce
movq 0x1d0(%rsp), %rax
movq %rax, 0x558(%rsp)
movq 0x558(%rsp), %rdi
leaq 0x1c423(%rip), %rsi     # 0x20110
leaq 0x297bc(%rip), %rdx     # 0x2d4b0
xorl %eax, %eax
callq 0x23a0
movl %eax, 0x1cc(%rsp)
jmp 0x3d04
movl 0x1cc(%rsp), %eax
cmpl $0x1, %eax
jne 0x42ec
leaq 0x537(%rsp), %rdi
movq %rdi, 0x1c0(%rsp)
callq 0x2370
movq 0x1c0(%rsp), %rdx
leaq 0x29778(%rip), %rsi     # 0x2d4b0
leaq 0x538(%rsp), %rdi
callq 0x2280
jmp 0x3d47
leaq 0x537(%rsp), %rdi
callq 0x2220
movq 0x558(%rsp), %rdi
leaq 0x1c3ad(%rip), %rsi     # 0x20110
leaq 0x29746(%rip), %rdx     # 0x2d4b0
xorl %eax, %eax
callq 0x23a0
jmp 0x3d73
leaq 0x50f(%rsp), %rdi
movq %rdi, 0x1b8(%rsp)
callq 0x2370
movq 0x1b8(%rsp), %rdx
leaq 0x29719(%rip), %rsi     # 0x2d4b0
leaq 0x510(%rsp), %rdi
callq 0x2280
jmp 0x3da6
leaq 0x50f(%rsp), %rdi
callq 0x2220
movq 0x558(%rsp), %rdi
leaq 0x1c34e(%rip), %rsi     # 0x20110
leaq 0x296e7(%rip), %rdx     # 0x2d4b0
xorl %eax, %eax
callq 0x23a0
jmp 0x3dd2
leaq 0x4e7(%rsp), %rdi
movq %rdi, 0x1b0(%rsp)
callq 0x2370
movq 0x1b0(%rsp), %rdx
leaq 0x296ba(%rip), %rsi     # 0x2d4b0
leaq 0x4e8(%rsp), %rdi
callq 0x2280
jmp 0x3e05
leaq 0x4e7(%rsp), %rdi
callq 0x2220
leaq 0x294f7(%rip), %rdi     # 0x2d310
leaq 0x538(%rsp), %rsi
callq 0x5370
movq %rax, 0x1a8(%rsp)
jmp 0x3e30
movq 0x1a8(%rsp), %rax
cmpq $0x0, %rax
jne 0x3f63
movq 0x2918f(%rip), %rdi     # 0x2cfd8
leaq 0x1c2c3(%rip), %rsi     # 0x20113
callq 0x21c0
movq %rax, 0x1a0(%rsp)
jmp 0x3e5f
movq 0x1a0(%rsp), %rdi
leaq 0x538(%rsp), %rsi
callq 0x21a0
movq %rax, 0x198(%rsp)
jmp 0x3e7e
movq 0x198(%rsp), %rdi
movq 0x29133(%rip), %rsi     # 0x2cfc0
callq 0x2210
jmp 0x3e94
jmp 0x3f63
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x537(%rsp), %rdi
callq 0x2220
jmp 0x4c6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0x42da
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x50f(%rsp), %rdi
callq 0x2220
jmp 0x42da
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0x42cd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x4e7(%rsp), %rdi
callq 0x2220
jmp 0x42cd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x4e8(%rsp), %rdi
callq 0x23f8
jmp 0x42cd
leaq 0x293a6(%rip), %rdi     # 0x2d310
leaq 0x510(%rsp), %rsi
callq 0x5370
movq %rax, 0x190(%rsp)
jmp 0x3f81
movq 0x190(%rsp), %rax
cmpq $0x0, %rax
jne 0x3fe3
movq 0x29042(%rip), %rdi     # 0x2cfd8
leaq 0x1c176(%rip), %rsi     # 0x20113
callq 0x21c0
movq %rax, 0x188(%rsp)
jmp 0x3fac
movq 0x188(%rsp), %rdi
leaq 0x510(%rsp), %rsi
callq 0x21a0
movq %rax, 0x180(%rsp)
jmp 0x3fcb
movq 0x180(%rsp), %rdi
movq 0x28fe6(%rip), %rsi     # 0x2cfc0
callq 0x2210
jmp 0x3fe1
jmp 0x3fe3
leaq 0x292f6(%rip), %rdi     # 0x2d2e0
leaq 0x4e8(%rsp), %rsi
callq 0x5370
movq %rax, 0x178(%rsp)
jmp 0x4001
movq 0x178(%rsp), %rax
cmpq $0x0, %rax
jne 0x405a
movl 0x29493(%rip), %eax     # 0x2d4a8
movl %eax, 0x16c(%rsp)
leaq 0x292bd(%rip), %rdi     # 0x2d2e0
leaq 0x4e8(%rsp), %rsi
callq 0x5190
movq %rax, 0x170(%rsp)
jmp 0x403a
movq 0x170(%rsp), %rax
movl 0x16c(%rsp), %ecx
movl %ecx, (%rax)
movl 0x29457(%rip), %eax     # 0x2d4a8
addl $0x1, %eax
movl %eax, 0x2944e(%rip)     # 0x2d4a8
leaq 0x2927f(%rip), %rdi     # 0x2d2e0
leaq 0x4e8(%rsp), %rsi
callq 0x5190
movq %rax, 0x160(%rsp)
jmp 0x4078
movq 0x160(%rsp), %rsi
leaq 0x29319(%rip), %rdi     # 0x2d3a0
callq 0x5780
movq %rax, 0x158(%rsp)
jmp 0x4096
leaq 0x29273(%rip), %rdi     # 0x2d310
leaq 0x538(%rsp), %rsi
callq 0x5190
movq %rax, 0x150(%rsp)
jmp 0x40b4
movq 0x150(%rsp), %rsi
movq 0x158(%rsp), %rdi
callq 0x5870
movq %rax, 0x148(%rsp)
jmp 0x40d3
movq 0x148(%rsp), %rax
movl (%rax), %ecx
incl %ecx
movl %ecx, (%rax)
leaq 0x291f8(%rip), %rdi     # 0x2d2e0
leaq 0x4e8(%rsp), %rsi
callq 0x5190
movq %rax, 0x140(%rsp)
jmp 0x40ff
movq 0x140(%rsp), %rsi
leaq 0x29292(%rip), %rdi     # 0x2d3a0
callq 0x5780
movq %rax, 0x138(%rsp)
jmp 0x411d
leaq 0x291ec(%rip), %rdi     # 0x2d310
leaq 0x510(%rsp), %rsi
callq 0x5190
movq %rax, 0x130(%rsp)
jmp 0x413b
movq 0x130(%rsp), %rsi
movq 0x138(%rsp), %rdi
callq 0x5870
movq %rax, 0x128(%rsp)
jmp 0x415a
movq 0x128(%rsp), %rax
movl (%rax), %ecx
incl %ecx
movl %ecx, (%rax)
leaq 0x291a1(%rip), %rdi     # 0x2d310
leaq 0x538(%rsp), %rsi
callq 0x5190
movq %rax, 0x120(%rsp)
jmp 0x4186
movq 0x120(%rsp), %rsi
leaq 0x2923b(%rip), %rdi     # 0x2d3d0
callq 0x5870
movq %rax, 0x118(%rsp)
jmp 0x41a4
movq 0x118(%rsp), %rax
movl (%rax), %ecx
incl %ecx
movl %ecx, (%rax)
leaq 0x29157(%rip), %rdi     # 0x2d310
leaq 0x510(%rsp), %rsi
callq 0x5190
movq %rax, 0x110(%rsp)
jmp 0x41d0
movq 0x110(%rsp), %rsi
leaq 0x291f1(%rip), %rdi     # 0x2d3d0
callq 0x5870
movq %rax, 0x108(%rsp)
jmp 0x41ee
movq 0x108(%rsp), %rax
movl (%rax), %ecx
incl %ecx
movl %ecx, (%rax)
leaq 0x2910d(%rip), %rdi     # 0x2d310
leaq 0x538(%rsp), %rsi
callq 0x5190
movq %rax, 0x100(%rsp)
jmp 0x421a
movq 0x100(%rsp), %rax
movl (%rax), %eax
movl %eax, 0xf4(%rsp)
leaq 0x290de(%rip), %rdi     # 0x2d310
leaq 0x510(%rsp), %rsi
callq 0x5190
movq %rax, 0xf8(%rsp)
jmp 0x4249
movq 0xf8(%rsp), %rax
movl (%rax), %eax
movl %eax, 0xe4(%rsp)
leaq 0x2907f(%rip), %rdi     # 0x2d2e0
leaq 0x4e8(%rsp), %rsi
callq 0x5190
movq %rax, 0xe8(%rsp)
jmp 0x4278
movl 0xe4(%rsp), %edx
movl 0xf4(%rsp), %esi
movq 0xe8(%rsp), %rax
movl (%rax), %ecx
leaq 0x59f59(%rip), %rdi     # 0x5e1f0
xorl %r8d, %r8d
callq 0x5960
jmp 0x42a1
leaq 0x4e8(%rsp), %rdi
callq 0x23f8
leaq 0x510(%rsp), %rdi
callq 0x23f8
leaq 0x538(%rsp), %rdi
callq 0x23f8
jmp 0x3cde
leaq 0x510(%rsp), %rdi
callq 0x23f8
leaq 0x538(%rsp), %rdi
callq 0x23f8
jmp 0x4c6e
movq 0x558(%rsp), %rdi
callq 0x21d0
jmp 0x42fb
leaq 0x1be4e(%rip), %rdi     # 0x20150
leaq 0x1bdc7(%rip), %rsi     # 0x200d0
callq 0x2240
movq %rax, 0xd8(%rsp)
jmp 0x4318
movq 0xd8(%rsp), %rax
movq %rax, 0x4d8(%rsp)
movq 0x4d8(%rsp), %rdi
leaq 0x1bdd9(%rip), %rsi     # 0x20110
leaq 0x29172(%rip), %rdx     # 0x2d4b0
xorl %eax, %eax
callq 0x23a0
movl %eax, 0xd4(%rsp)
jmp 0x434e
movl 0xd4(%rsp), %eax
cmpl $0x1, %eax
jne 0x476a
leaq 0x4b7(%rsp), %rdi
movq %rdi, 0xc8(%rsp)
callq 0x2370
movq 0xc8(%rsp), %rdx
leaq 0x2912e(%rip), %rsi     # 0x2d4b0
leaq 0x4b8(%rsp), %rdi
callq 0x2280
jmp 0x4391
leaq 0x4b7(%rsp), %rdi
callq 0x2220
movq 0x4d8(%rsp), %rdi
leaq 0x1bd63(%rip), %rsi     # 0x20110
leaq 0x290fc(%rip), %rdx     # 0x2d4b0
xorl %eax, %eax
callq 0x23a0
jmp 0x43bd
leaq 0x48f(%rsp), %rdi
movq %rdi, 0xc0(%rsp)
callq 0x2370
movq 0xc0(%rsp), %rdx
leaq 0x290cf(%rip), %rsi     # 0x2d4b0
leaq 0x490(%rsp), %rdi
callq 0x2280
jmp 0x43f0
leaq 0x48f(%rsp), %rdi
callq 0x2220
movq 0x4d8(%rsp), %rdi
leaq 0x1bd04(%rip), %rsi     # 0x20110
leaq 0x2909d(%rip), %rdx     # 0x2d4b0
xorl %eax, %eax
callq 0x23a0
jmp 0x441c
leaq 0x467(%rsp), %rdi
movq %rdi, 0xb8(%rsp)
callq 0x2370
movq 0xb8(%rsp), %rdx
leaq 0x29070(%rip), %rsi     # 0x2d4b0
leaq 0x468(%rsp), %rdi
callq 0x2280
jmp 0x444f
leaq 0x467(%rsp), %rdi
callq 0x2220
leaq 0x28ead(%rip), %rdi     # 0x2d310
leaq 0x4b8(%rsp), %rsi
callq 0x5370
movq %rax, 0xb0(%rsp)
jmp 0x447a
movq 0xb0(%rsp), %rax
cmpq $0x0, %rax
jne 0x45ad
movq 0x28b45(%rip), %rdi     # 0x2cfd8
leaq 0x1bc79(%rip), %rsi     # 0x20113
callq 0x21c0
movq %rax, 0xa8(%rsp)
jmp 0x44a9
movq 0xa8(%rsp), %rdi
leaq 0x4b8(%rsp), %rsi
callq 0x21a0
movq %rax, 0xa0(%rsp)
jmp 0x44c8
movq 0xa0(%rsp), %rdi
movq 0x28ae9(%rip), %rsi     # 0x2cfc0
callq 0x2210
jmp 0x44de
jmp 0x45ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x4b7(%rsp), %rdi
callq 0x2220
jmp 0x4c6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0x4758
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x48f(%rsp), %rdi
callq 0x2220
jmp 0x4758
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0x474b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x467(%rsp), %rdi
callq 0x2220
jmp 0x474b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x468(%rsp), %rdi
callq 0x23f8
jmp 0x474b
leaq 0x28d5c(%rip), %rdi     # 0x2d310
leaq 0x490(%rsp), %rsi
callq 0x5370
movq %rax, 0x98(%rsp)
jmp 0x45cb
movq 0x98(%rsp), %rax
cmpq $0x0, %rax
jne 0x462d
movq 0x289f8(%rip), %rdi     # 0x2cfd8
leaq 0x1bb2c(%rip), %rsi     # 0x20113
callq 0x21c0
movq %rax, 0x90(%rsp)
jmp 0x45f6
movq 0x90(%rsp), %rdi
leaq 0x490(%rsp), %rsi
callq 0x21a0
movq %rax, 0x88(%rsp)
jmp 0x4615
movq 0x88(%rsp), %rdi
movq 0x2899c(%rip), %rsi     # 0x2cfc0
callq 0x2210
jmp 0x462b
jmp 0x462d
leaq 0x28cac(%rip), %rdi     # 0x2d2e0
leaq 0x468(%rsp), %rsi
callq 0x5370
movq %rax, 0x80(%rsp)
jmp 0x464b
movq 0x80(%rsp), %rax
cmpq $0x0, %rax
jne 0x4698
movl 0x28e49(%rip), %eax     # 0x2d4a8
movl %eax, 0x74(%rsp)
leaq 0x28c76(%rip), %rdi     # 0x2d2e0
leaq 0x468(%rsp), %rsi
callq 0x5190
movq %rax, 0x78(%rsp)
jmp 0x467e
movq 0x78(%rsp), %rax
movl 0x74(%rsp), %ecx
movl %ecx, (%rax)
movl 0x28e19(%rip), %eax     # 0x2d4a8
addl $0x1, %eax
movl %eax, 0x28e10(%rip)     # 0x2d4a8
leaq 0x28c71(%rip), %rdi     # 0x2d310
leaq 0x4b8(%rsp), %rsi
callq 0x5190
movq %rax, 0x68(%rsp)
jmp 0x46b3
movq 0x68(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x5c(%rsp)
leaq 0x28c4b(%rip), %rdi     # 0x2d310
leaq 0x490(%rsp), %rsi
callq 0x5190
movq %rax, 0x60(%rsp)
jmp 0x46d9
movq 0x60(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x4c(%rsp)
leaq 0x28bf5(%rip), %rdi     # 0x2d2e0
leaq 0x468(%rsp), %rsi
callq 0x5190
movq %rax, 0x50(%rsp)
jmp 0x46ff
movl 0x4c(%rsp), %edx
movl 0x5c(%rsp), %esi
movq 0x50(%rsp), %rax
movl (%rax), %ecx
leaq 0x59adb(%rip), %rdi     # 0x5e1f0
xorl %r8d, %r8d
callq 0x5960
jmp 0x471f
leaq 0x468(%rsp), %rdi
callq 0x23f8
leaq 0x490(%rsp), %rdi
callq 0x23f8
leaq 0x4b8(%rsp), %rdi
callq 0x23f8
jmp 0x4328
leaq 0x490(%rsp), %rdi
callq 0x23f8
leaq 0x4b8(%rsp), %rdi
callq 0x23f8
jmp 0x4c6e
movq 0x4d8(%rsp), %rdi
callq 0x21d0
jmp 0x4779
leaq 0x1b9e5(%rip), %rdi     # 0x20165
leaq 0x1b949(%rip), %rsi     # 0x200d0
callq 0x2240
movq %rax, 0x40(%rsp)
jmp 0x4793
movq 0x40(%rsp), %rax
movq %rax, 0x458(%rsp)
movq 0x458(%rsp), %rdi
leaq 0x1b940(%rip), %rsi     # 0x200ef
xorl %eax, %eax
leaq 0x784(%rsp), %rdx
callq 0x23a0
movl %eax, 0x3c(%rsp)
jmp 0x47c4
movl 0x3c(%rsp), %eax
cmpl $0x1, %eax
jne 0x4ae6
leaq 0x437(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x2370
movq 0x30(%rsp), %rdx
leaq 0x1b879(%rip), %rsi     # 0x20068
leaq 0x438(%rsp), %rdi
callq 0x2280
jmp 0x47fe
leaq 0x437(%rsp), %rdi
callq 0x2220
movl $0x0, 0x430(%rsp)
movl 0x430(%rsp), %eax
cmpl 0x784(%rsp), %eax
jge 0x49bd
movq 0x458(%rsp), %rdi
leaq 0x1b8d7(%rip), %rsi     # 0x20110
leaq 0x28c70(%rip), %rdx     # 0x2d4b0
xorl %eax, %eax
callq 0x23a0
jmp 0x4849
leaq 0x3cf(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x2370
movq 0x28(%rsp), %rdx
leaq 0x28c49(%rip), %rsi     # 0x2d4b0
leaq 0x3d0(%rsp), %rdi
callq 0x2280
jmp 0x4876
leaq 0x3f0(%rsp), %rdi
leaq 0x438(%rsp), %rsi
leaq 0x3d0(%rsp), %rdx
callq 0x5a70
jmp 0x4895
leaq 0x1b8e9(%rip), %rdx     # 0x20185
leaq 0x410(%rsp), %rdi
leaq 0x3f0(%rsp), %rsi
callq 0x5a20
jmp 0x48b3
leaq 0x438(%rsp), %rdi
leaq 0x410(%rsp), %rsi
callq 0x2250
leaq 0x410(%rsp), %rdi
callq 0x23f8
leaq 0x3f0(%rsp), %rdi
callq 0x23f8
leaq 0x3d0(%rsp), %rdi
callq 0x23f8
leaq 0x3cf(%rsp), %rdi
callq 0x2220
movl 0x430(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x430(%rsp)
jmp 0x4816
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x437(%rsp), %rdi
callq 0x2220
jmp 0x4c6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0x4ad4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0x49ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0x499e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x3f0(%rsp), %rdi
callq 0x23f8
leaq 0x3d0(%rsp), %rdi
callq 0x23f8
leaq 0x3cf(%rsp), %rdi
callq 0x2220
jmp 0x4ad4
movq 0x458(%rsp), %rdi
leaq 0x1b723(%rip), %rsi     # 0x200ef
xorl %eax, %eax
leaq 0x784(%rsp), %rdx
callq 0x23a0
jmp 0x49dd
movl $0x0, 0x3c8(%rsp)
movl 0x3c8(%rsp), %eax
cmpl 0x784(%rsp), %eax
jge 0x4ac2
movq 0x458(%rsp), %rdi
leaq 0x1b77c(%rip), %rsi     # 0x20187
xorl %eax, %eax
leaq 0x3c4(%rsp), %rdx
leaq 0x3b8(%rsp), %rcx
callq 0x23a0
jmp 0x4a24
movsd 0x3b8(%rsp), %xmm0
movsd %xmm0, 0x20(%rsp)
leaq 0x390(%rsp), %rdi
leaq 0x438(%rsp), %rsi
leaq 0x3c4(%rsp), %rdx
callq 0x5bb0
jmp 0x4a52
leaq 0x287ff(%rip), %rdi     # 0x2d258
leaq 0x390(%rsp), %rsi
callq 0x5ac0
movq %rax, 0x18(%rsp)
jmp 0x4a6d
movq 0x18(%rsp), %rax
movsd 0x20(%rsp), %xmm0
movsd %xmm0, (%rax)
leaq 0x390(%rsp), %rdi
callq 0x5bf0
movl 0x3c8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x3c8(%rsp)
jmp 0x49e8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x390(%rsp), %rdi
callq 0x5bf0
jmp 0x4ad4
leaq 0x438(%rsp), %rdi
callq 0x23f8
jmp 0x47a0
leaq 0x438(%rsp), %rdi
callq 0x23f8
jmp 0x4c6e
movq 0x458(%rsp), %rdi
callq 0x21d0
jmp 0x4af5
leaq 0x1b691(%rip), %rdi     # 0x2018d
leaq 0x1b5cd(%rip), %rsi     # 0x200d0
callq 0x2240
movq %rax, 0x10(%rsp)
jmp 0x4b0f
movq 0x10(%rsp), %rax
movq %rax, 0x388(%rsp)
movq 0x388(%rsp), %rdi
leaq 0x1b675(%rip), %rsi     # 0x201a0
xorl %eax, %eax
leaq 0x380(%rsp), %rdx
leaq 0x378(%rsp), %rcx
callq 0x23a0
movl %eax, 0xc(%rsp)
jmp 0x4b48
movl 0xc(%rsp), %eax
cmpl $0x2, %eax
jne 0x4c23
movsd 0x1b4b3(%rip), %xmm0    # 0x20010
ucomisd 0x380(%rsp), %xmm0
jbe 0x4bc3
movsd 0x1b4a0(%rip), %xmm0    # 0x20010
ucomisd 0x378(%rsp), %xmm0
jbe 0x4b9e
movl $0x0, 0x374(%rsp)
leaq 0x286fb(%rip), %rdi     # 0x2d288
leaq 0x374(%rsp), %rsi
callq 0x5c00
jmp 0x4b9c
jmp 0x4bc1
movl $0x1, 0x370(%rsp)
leaq 0x286d8(%rip), %rdi     # 0x2d288
leaq 0x370(%rsp), %rsi
callq 0x5c00
jmp 0x4bbf
jmp 0x4bc1
jmp 0x4c1e
movsd 0x1b445(%rip), %xmm0    # 0x20010
ucomisd 0x378(%rsp), %xmm0
jbe 0x4bf9
movl $0x2, 0x36c(%rsp)
leaq 0x286a0(%rip), %rdi     # 0x2d288
leaq 0x36c(%rsp), %rsi
callq 0x5c00
jmp 0x4bf7
jmp 0x4c1c
movl $0x3, 0x368(%rsp)
leaq 0x2867d(%rip), %rdi     # 0x2d288
leaq 0x368(%rsp), %rsi
callq 0x5c00
jmp 0x4c1a
jmp 0x4c1c
jmp 0x4c1e
jmp 0x4b1c
movq 0x388(%rsp), %rdi
callq 0x21d0
jmp 0x4c32
leaq 0x7a0(%rsp), %rdi
callq 0x23f8
leaq 0x7c0(%rsp), %rdi
callq 0x23f8
leaq 0x7e0(%rsp), %rdi
callq 0x23f8
leaq 0x810(%rsp), %rdi
callq 0x2080
addq $0xa18, %rsp            # imm = 0xA18
retq
leaq 0x7a0(%rsp), %rdi
callq 0x23f8
leaq 0x7c0(%rsp), %rdi
callq 0x23f8
leaq 0x7e0(%rsp), %rdi
callq 0x23f8
leaq 0x810(%rsp), %rdi
callq 0x2080
movq 0x808(%rsp), %rdi
callq 0x2360
nop