// File: zhengwangsun[P]pas2c/grammar.cpp
// Function: GrammarOutput()
void GrammarOutput(void)                  //输出语法分析的中间结果 
{
	ofstream fp("GrammarOut.txt");
	if(!fp)
	{
		cout<<"文法写入文件失败!"<<endl;
	}
	else
	{
		fp<<endl;
		fp<<"   输出说明："<<endl<<endl;
		fp<<"   1.此txt输出的是文法生成式以及FIRST集和FOLLOW集；"<<endl<<endl;
		fp<<"   2.FIRST部分输出的是每一个生成式右部符号串的FIRST集；"<<endl<<endl;
		fp<<"   3.FOLLOW部分输出的是生成式左部非终结符的FOLLOW集。"<<endl<<endl<<endl<<endl; 
	}
	fp<<"**************************文法生成式及FIRST、FOLLOW集**************************"<<endl<<endl;
	for(int i=0;i<GenerationNum;i++)
	{
		fp<<" ("<<i<<"): ";
		for(int j=0;j<VNnum;j++)	
		{
	  		if(g[i].left==vn[j].value)
	  		{
	  			fp<<vn[j].name;
	  			break;
			}
		}
		fp<<" -> ";
		int k=0;
		while(g[i].right[k]!=-1)
		{
	  		if(g[i].right[k]<100)
	  	  	{
				for(int j=0;j<VNnum;j++)
	  			{
	  	  			if(g[i].right[k]==vn[j].value)
	  	  			{
	  	  	  			fp<<vn[j].name<<" ";
	  	  	  			break;
					}
				}
			}
			else
			{
				for(int j=100;j<100+VTnum;j++)
	  			{
	  	  			if(g[i].right[k]==vt[j-100].value)
	  	  			{
	  	  				fp<<vt[j-100].name<<" ";
	  	  	  			break;
			  		}
		  		}
			}
	  	k++;	  
		}
		fp<<endl;
		fp<<"   FIRST : ";
		int m=0;
		while(g[i].FIRST[m]!=-1)
		{
			for(int k=0;k<VTnum;k++)
			{
				if(vt[k].value==g[i].FIRST[m])
					fp<<vt[k].name<<" ";
			}
			m++;
		}
		fp<<endl;
		fp<<"   FOLLOW: ";
		for(int m=0;m<FOLLOWnum;m++)
		{
			if(g[i].FOLLOW[m]==$)
				fp<<"$ ";
			else
			{
				for(int k=0;k<VTnum;k++)
				{
					if(vt[k].value==g[i].FOLLOW[m])
						fp<<vt[k].name<<" ";
				}
			}	
		}
		fp<<endl;
		fp<<endl;
	}
	fp<<"*******************************************************************************"<<endl; 
	fp.close();
	
	ofstream fp1("AnalysisTable.txt");
	if(!fp1)
	{
		cout<<"分析表写入文件失败!"<<endl;
	}
	else
	{
		fp1<<endl;
		fp1<<"   输出说明："<<endl<<endl;
		fp1<<"   1.此txt输出的是文法的LL(1)分析表；"<<endl<<endl;
		fp1<<"   2.横向第一行输出的是终结符的编号以及 $；"<<endl<<endl;
		fp1<<"   3.纵向第一列输出的是非终结符的编号；"<<endl<<endl;
		fp1<<"   4.-1代表此处为空，其他值代表的是生成式的编号(0～75)。"<<endl<<endl<<endl;
	}
	fp1<<endl<<"\t";
	for(int j=0;j<VTnum;j++)
		fp1<<j+100<<"\t";
	fp1<<"$"<<"\t"<<endl<<endl;
	for(int i=0;i<VNnum;i++)
	{
		fp1<<i<<"\t";
		for(int j=0;j<VTnum+1;j++)
		{
			fp1<<AnalysisTable[i][j]<<"\t";
		}
		fp1<<endl<<endl;
	}
	fp1.close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x590, %rsp            # imm = 0x590
leaq 0x62f7(%rip), %rsi      # 0x1efc9
leaq -0x200(%rbp), %rdi
movl $0x10, %edx
callq 0x32e0
movq -0x200(%rbp), %rax
movq -0x18(%rax), %rax
leaq -0x200(%rbp,%rax), %rdi
callq 0x3110
movb %al, -0x43d(%rbp)
jmp 0x18d03
movb -0x43d(%rbp), %al
testb $0x1, %al
jne 0x18d0f
jmp 0x18d5c
movq 0xd2b2(%rip), %rdi      # 0x25fc8
leaq 0x62bb(%rip), %rsi      # 0x1efd8
callq 0x3280
movq %rax, -0x448(%rbp)
jmp 0x18d2b
movq -0x448(%rbp), %rdi
movq 0xd277(%rip), %rsi      # 0x25fb0
callq 0x32b0
jmp 0x18d40
jmp 0x18edf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x208(%rbp)
movl %eax, -0x20c(%rbp)
jmp 0x19962
movq 0xd24d(%rip), %rsi      # 0x25fb0
leaq -0x200(%rbp), %rdi
callq 0x32b0
jmp 0x18d71
leaq 0x627a(%rip), %rsi      # 0x1eff2
leaq -0x200(%rbp), %rdi
callq 0x3280
movq %rax, -0x450(%rbp)
jmp 0x18d8d
movq -0x450(%rbp), %rdi
movq 0xd215(%rip), %rsi      # 0x25fb0
callq 0x32b0
movq %rax, -0x458(%rbp)
jmp 0x18da9
movq -0x458(%rbp), %rdi
movq 0xd1f9(%rip), %rsi      # 0x25fb0
callq 0x32b0
jmp 0x18dbe
leaq 0x6240(%rip), %rsi      # 0x1f005
leaq -0x200(%rbp), %rdi
callq 0x3280
movq %rax, -0x460(%rbp)
jmp 0x18dda
movq -0x460(%rbp), %rdi
movq 0xd1c8(%rip), %rsi      # 0x25fb0
callq 0x32b0
movq %rax, -0x468(%rbp)
jmp 0x18df6
movq -0x468(%rbp), %rdi
movq 0xd1ac(%rip), %rsi      # 0x25fb0
callq 0x32b0
jmp 0x18e0b
leaq 0x6237(%rip), %rsi      # 0x1f049
leaq -0x200(%rbp), %rdi
callq 0x3280
movq %rax, -0x470(%rbp)
jmp 0x18e27
movq -0x470(%rbp), %rdi
movq 0xd17b(%rip), %rsi      # 0x25fb0
callq 0x32b0
movq %rax, -0x478(%rbp)
jmp 0x18e43
movq -0x478(%rbp), %rdi
movq 0xd15f(%rip), %rsi      # 0x25fb0
callq 0x32b0
jmp 0x18e58
leaq 0x6236(%rip), %rsi      # 0x1f095
leaq -0x200(%rbp), %rdi
callq 0x3280
movq %rax, -0x480(%rbp)
jmp 0x18e74
movq -0x480(%rbp), %rdi
movq 0xd12e(%rip), %rsi      # 0x25fb0
callq 0x32b0
movq %rax, -0x488(%rbp)
jmp 0x18e90
movq -0x488(%rbp), %rdi
movq 0xd112(%rip), %rsi      # 0x25fb0
callq 0x32b0
movq %rax, -0x490(%rbp)
jmp 0x18eac
movq -0x490(%rbp), %rdi
movq 0xd0f6(%rip), %rsi      # 0x25fb0
callq 0x32b0
movq %rax, -0x498(%rbp)
jmp 0x18ec8
movq -0x498(%rbp), %rdi
movq 0xd0da(%rip), %rsi      # 0x25fb0
callq 0x32b0
jmp 0x18edd
jmp 0x18edf
leaq 0x61f7(%rip), %rsi      # 0x1f0dd
leaq -0x200(%rbp), %rdi
callq 0x3280
movq %rax, -0x4a0(%rbp)
jmp 0x18efb
movq -0x4a0(%rbp), %rdi
movq 0xd0a7(%rip), %rsi      # 0x25fb0
callq 0x32b0
movq %rax, -0x4a8(%rbp)
jmp 0x18f17
movq -0x4a8(%rbp), %rdi
movq 0xd08b(%rip), %rsi      # 0x25fb0
callq 0x32b0
jmp 0x18f2c
movl $0x0, -0x210(%rbp)
cmpl $0x4c, -0x210(%rbp)
jge 0x194ae
leaq 0x61eb(%rip), %rsi      # 0x1f135
leaq -0x200(%rbp), %rdi
callq 0x3280
movq %rax, -0x4b0(%rbp)
jmp 0x18f5f
movq -0x4b0(%rbp), %rdi
movl -0x210(%rbp), %esi
callq 0x3440
movq %rax, -0x4b8(%rbp)
jmp 0x18f7a
movq -0x4b8(%rbp), %rdi
leaq 0x61b0(%rip), %rsi      # 0x1f138
callq 0x3280
jmp 0x18f8f
movl $0x0, -0x214(%rbp)
cmpl $0x27, -0x214(%rbp)
jge 0x19010
movslq -0x210(%rbp), %rcx
leaq 0xa7990(%rip), %rax     # 0xc0940
imulq $0xd0, %rcx, %rcx
addq %rcx, %rax
movl 0x4(%rax), %eax
movslq -0x214(%rbp), %rdx
leaq 0x247425(%rip), %rcx    # 0x2603f0
imulq $0x28, %rdx, %rdx
addq %rdx, %rcx
cmpl 0x20(%rcx), %eax
jne 0x18ffd
movslq -0x214(%rbp), %rax
leaq (%rax,%rax,4), %rcx
leaq 0x247407(%rip), %rax    # 0x2603f0
leaq (%rax,%rcx,8), %rsi
leaq -0x200(%rbp), %rdi
callq 0x3260
jmp 0x18ffb
jmp 0x19010
jmp 0x18fff
movl -0x214(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x214(%rbp)
jmp 0x18f99
leaq 0x5fab(%rip), %rsi      # 0x1efc2
leaq -0x200(%rbp), %rdi
callq 0x3280
jmp 0x19025
movl $0x0, -0x218(%rbp)
movslq -0x210(%rbp), %rcx
leaq 0xa7903(%rip), %rax     # 0xc0940
imulq $0xd0, %rcx, %rcx
addq %rcx, %rax
movslq -0x218(%rbp), %rcx
cmpl $-0x1, 0x8(%rax,%rcx,4)
je 0x19202
movslq -0x210(%rbp), %rcx
leaq 0xa78d9(%rip), %rax     # 0xc0940
imulq $0xd0, %rcx, %rcx
addq %rcx, %rax
movslq -0x218(%rbp), %rcx
cmpl $0x64, 0x8(%rax,%rcx,4)
jge 0x19134
movl $0x0, -0x21c(%rbp)
cmpl $0x27, -0x21c(%rbp)
jge 0x1912f
movslq -0x210(%rbp), %rcx
leaq 0xa7898(%rip), %rax     # 0xc0940
imulq $0xd0, %rcx, %rcx
addq %rcx, %rax
movslq -0x218(%rbp), %rcx
movl 0x8(%rax,%rcx,4), %eax
movslq -0x21c(%rbp), %rdx
leaq 0x247325(%rip), %rcx    # 0x2603f0
imulq $0x28, %rdx, %rdx
addq %rdx, %rcx
cmpl 0x20(%rcx), %eax
jne 0x19119
movslq -0x21c(%rbp), %rax
leaq (%rax,%rax,4), %rcx
leaq 0x247307(%rip), %rax    # 0x2603f0
leaq (%rax,%rcx,8), %rsi
leaq -0x200(%rbp), %rdi
callq 0x3260
movq %rax, -0x4c0(%rbp)
jmp 0x19102
movq -0x4c0(%rbp), %rdi
leaq 0x53eb(%rip), %rsi      # 0x1e4fb
callq 0x3280
jmp 0x19117
jmp 0x1912f
jmp 0x1911b
movl -0x21c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x21c(%rbp)
jmp 0x1908d
jmp 0x191ee
movl $0x64, -0x220(%rbp)
cmpl $0x8d, -0x220(%rbp)
jge 0x191ec
movslq -0x210(%rbp), %rcx
leaq 0xa77e4(%rip), %rax     # 0xc0940
imulq $0xd0, %rcx, %rcx
addq %rcx, %rax
movslq -0x218(%rbp), %rcx
movl 0x8(%rax,%rcx,4), %eax
movl -0x220(%rbp), %ecx
subl $0x64, %ecx
movslq %ecx, %rdx
leaq 0x24788c(%rip), %rcx    # 0x260a10
imulq $0x28, %rdx, %rdx
addq %rdx, %rcx
cmpl 0x20(%rcx), %eax
jne 0x191d6
movl -0x220(%rbp), %eax
addl $-0x64, %eax
cltq
leaq (%rax,%rax,4), %rcx
leaq 0x24786a(%rip), %rax    # 0x260a10
leaq (%rax,%rcx,8), %rsi
leaq -0x200(%rbp), %rdi
callq 0x3260
movq %rax, -0x4c8(%rbp)
jmp 0x191bf
movq -0x4c8(%rbp), %rdi
leaq 0x532e(%rip), %rsi      # 0x1e4fb
callq 0x3280
jmp 0x191d4
jmp 0x191ec
jmp 0x191d8
movl -0x220(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x220(%rbp)
jmp 0x1913e
jmp 0x191ee
movl -0x218(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x218(%rbp)
jmp 0x1902f
movq 0xcda7(%rip), %rsi      # 0x25fb0
leaq -0x200(%rbp), %rdi
callq 0x32b0
jmp 0x19217
leaq 0x5f1e(%rip), %rsi      # 0x1f13c
leaq -0x200(%rbp), %rdi
callq 0x3280
jmp 0x1922c
movl $0x0, -0x224(%rbp)
movslq -0x210(%rbp), %rcx
leaq 0xa76fc(%rip), %rax     # 0xc0940
imulq $0xd0, %rcx, %rcx
addq %rcx, %rax
movslq -0x224(%rbp), %rcx
cmpl $-0x1, 0x30(%rax,%rcx,4)
je 0x19320
movl $0x0, -0x228(%rbp)
cmpl $0x29, -0x228(%rbp)
jge 0x1930c
movslq -0x228(%rbp), %rcx
leaq 0x24778b(%rip), %rax    # 0x260a10
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl 0x20(%rax), %eax
movslq -0x210(%rbp), %rdx
leaq 0xa76a3(%rip), %rcx     # 0xc0940
imulq $0xd0, %rdx, %rdx
addq %rdx, %rcx
movslq -0x224(%rbp), %rdx
cmpl 0x30(%rcx,%rdx,4), %eax
jne 0x192f6
movslq -0x228(%rbp), %rax
leaq (%rax,%rax,4), %rcx
leaq 0x24774a(%rip), %rax    # 0x260a10
leaq (%rax,%rcx,8), %rsi
leaq -0x200(%rbp), %rdi
callq 0x3260
movq %rax, -0x4d0(%rbp)
jmp 0x192df
movq -0x4d0(%rbp), %rdi
leaq 0x520e(%rip), %rsi      # 0x1e4fb
callq 0x3280
jmp 0x192f4
jmp 0x192f6
jmp 0x192f8
movl -0x228(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x228(%rbp)
jmp 0x1926a
movl -0x224(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x224(%rbp)
jmp 0x19236
movq 0xcc89(%rip), %rsi      # 0x25fb0
leaq -0x200(%rbp), %rdi
callq 0x32b0
jmp 0x19335
leaq 0x5e0c(%rip), %rsi      # 0x1f148
leaq -0x200(%rbp), %rdi
callq 0x3280
jmp 0x1934a
movl $0x0, -0x22c(%rbp)
cmpl $0x14, -0x22c(%rbp)
jge 0x1946e
movslq -0x210(%rbp), %rcx
leaq 0xa75d1(%rip), %rax     # 0xc0940
imulq $0xd0, %rcx, %rcx
addq %rcx, %rax
movslq -0x22c(%rbp), %rcx
cmpl $0x8d, 0x80(%rax,%rcx,4)
jne 0x193a7
leaq 0x5dc0(%rip), %rsi      # 0x1f154
leaq -0x200(%rbp), %rdi
callq 0x3280
jmp 0x193a2
jmp 0x19458
movl $0x0, -0x230(%rbp)
cmpl $0x29, -0x230(%rbp)
jge 0x19456
movslq -0x230(%rbp), %rcx
leaq 0x247644(%rip), %rax    # 0x260a10
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl 0x20(%rax), %eax
movslq -0x210(%rbp), %rdx
leaq 0xa755c(%rip), %rcx     # 0xc0940
imulq $0xd0, %rdx, %rdx
addq %rdx, %rcx
movslq -0x22c(%rbp), %rdx
cmpl 0x80(%rcx,%rdx,4), %eax
jne 0x19440
movslq -0x230(%rbp), %rax
leaq (%rax,%rax,4), %rcx
leaq 0x247600(%rip), %rax    # 0x260a10
leaq (%rax,%rcx,8), %rsi
leaq -0x200(%rbp), %rdi
callq 0x3260
movq %rax, -0x4d8(%rbp)
jmp 0x19429
movq -0x4d8(%rbp), %rdi
leaq 0x50c4(%rip), %rsi      # 0x1e4fb
callq 0x3280
jmp 0x1943e
jmp 0x19440
jmp 0x19442
movl -0x230(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x230(%rbp)
jmp 0x193b1
jmp 0x19458
jmp 0x1945a
movl -0x22c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x22c(%rbp)
jmp 0x19354
movq 0xcb3b(%rip), %rsi      # 0x25fb0
leaq -0x200(%rbp), %rdi
callq 0x32b0
jmp 0x19483
movq 0xcb26(%rip), %rsi      # 0x25fb0
leaq -0x200(%rbp), %rdi
callq 0x32b0
jmp 0x19498
jmp 0x1949a
movl -0x210(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x210(%rbp)
jmp 0x18f36
leaq 0x5ca2(%rip), %rsi      # 0x1f157
leaq -0x200(%rbp), %rdi
callq 0x3280
movq %rax, -0x4e0(%rbp)
jmp 0x194ca
movq -0x4e0(%rbp), %rdi
movq 0xcad8(%rip), %rsi      # 0x25fb0
callq 0x32b0
jmp 0x194df
leaq -0x200(%rbp), %rdi
callq 0x33b0
jmp 0x194ed
leaq 0x5cb3(%rip), %rsi      # 0x1f1a7
leaq -0x430(%rbp), %rdi
movl $0x10, %edx
callq 0x32e0
jmp 0x19507
movq -0x430(%rbp), %rax
movq -0x18(%rax), %rax
leaq -0x430(%rbp,%rax), %rdi
callq 0x3110
movb %al, -0x4e1(%rbp)
jmp 0x19527
movb -0x4e1(%rbp), %al
testb $0x1, %al
jne 0x19533
jmp 0x1958c
movq 0xca8e(%rip), %rdi      # 0x25fc8
leaq 0x5c78(%rip), %rsi      # 0x1f1b9
callq 0x3280
movq %rax, -0x4f0(%rbp)
jmp 0x1954f
movq -0x4f0(%rbp), %rdi
movq 0xca53(%rip), %rsi      # 0x25fb0
callq 0x32b0
jmp 0x19564
jmp 0x19740
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x208(%rbp)
movl %eax, -0x20c(%rbp)
leaq -0x430(%rbp), %rdi
callq 0x33d0
jmp 0x19962
movq 0xca1d(%rip), %rsi      # 0x25fb0
leaq -0x430(%rbp), %rdi
callq 0x32b0
jmp 0x195a1
leaq 0x5a4a(%rip), %rsi      # 0x1eff2
leaq -0x430(%rbp), %rdi
callq 0x3280
movq %rax, -0x4f8(%rbp)
jmp 0x195bd
movq -0x4f8(%rbp), %rdi
movq 0xc9e5(%rip), %rsi      # 0x25fb0
callq 0x32b0
movq %rax, -0x500(%rbp)
jmp 0x195d9
movq -0x500(%rbp), %rdi
movq 0xc9c9(%rip), %rsi      # 0x25fb0
callq 0x32b0
jmp 0x195ee
leaq 0x5be1(%rip), %rsi      # 0x1f1d6
leaq -0x430(%rbp), %rdi
callq 0x3280
movq %rax, -0x508(%rbp)
jmp 0x1960a
movq -0x508(%rbp), %rdi
movq 0xc998(%rip), %rsi      # 0x25fb0
callq 0x32b0
movq %rax, -0x510(%rbp)
jmp 0x19626
movq -0x510(%rbp), %rdi
movq 0xc97c(%rip), %rsi      # 0x25fb0
callq 0x32b0
jmp 0x1963b
leaq 0x5bc6(%rip), %rsi      # 0x1f208
leaq -0x430(%rbp), %rdi
callq 0x3280
movq %rax, -0x518(%rbp)
jmp 0x19657
movq -0x518(%rbp), %rdi
movq 0xc94b(%rip), %rsi      # 0x25fb0
callq 0x32b0
movq %rax, -0x520(%rbp)
jmp 0x19673
movq -0x520(%rbp), %rdi
movq 0xc92f(%rip), %rsi      # 0x25fb0
callq 0x32b0
jmp 0x19688
leaq 0x5bb7(%rip), %rsi      # 0x1f246
leaq -0x430(%rbp), %rdi
callq 0x3280
movq %rax, -0x528(%rbp)
jmp 0x196a4
movq -0x528(%rbp), %rdi
movq 0xc8fe(%rip), %rsi      # 0x25fb0
callq 0x32b0
movq %rax, -0x530(%rbp)
jmp 0x196c0
movq -0x530(%rbp), %rdi
movq 0xc8e2(%rip), %rsi      # 0x25fb0
callq 0x32b0
jmp 0x196d5
leaq 0x5ba3(%rip), %rsi      # 0x1f27f
leaq -0x430(%rbp), %rdi
callq 0x3280
movq %rax, -0x538(%rbp)
jmp 0x196f1
movq -0x538(%rbp), %rdi
movq 0xc8b1(%rip), %rsi      # 0x25fb0
callq 0x32b0
movq %rax, -0x540(%rbp)
jmp 0x1970d
movq -0x540(%rbp), %rdi
movq 0xc895(%rip), %rsi      # 0x25fb0
callq 0x32b0
movq %rax, -0x548(%rbp)
jmp 0x19729
movq -0x548(%rbp), %rdi
movq 0xc879(%rip), %rsi      # 0x25fb0
callq 0x32b0
jmp 0x1973e
jmp 0x19740
movq 0xc869(%rip), %rsi      # 0x25fb0
leaq -0x430(%rbp), %rdi
callq 0x32b0
movq %rax, -0x550(%rbp)
jmp 0x1975c
movq -0x550(%rbp), %rdi
leaq 0x4bbd(%rip), %rsi      # 0x1e327
callq 0x3280
jmp 0x19771
movl $0x0, -0x434(%rbp)
cmpl $0x29, -0x434(%rbp)
jge 0x197ca
movl -0x434(%rbp), %esi
addl $0x64, %esi
leaq -0x430(%rbp), %rdi
callq 0x3440
movq %rax, -0x558(%rbp)
jmp 0x197a2
movq -0x558(%rbp), %rdi
leaq 0x4b77(%rip), %rsi      # 0x1e327
callq 0x3280
jmp 0x197b7
jmp 0x197b9
movl -0x434(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x434(%rbp)
jmp 0x1977b
leaq 0x57f6(%rip), %rsi      # 0x1efc7
leaq -0x430(%rbp), %rdi
callq 0x3280
movq %rax, -0x560(%rbp)
jmp 0x197e6
movq -0x560(%rbp), %rdi
leaq 0x4b33(%rip), %rsi      # 0x1e327
callq 0x3280
movq %rax, -0x568(%rbp)
jmp 0x19802
movq -0x568(%rbp), %rdi
movq 0xc7a0(%rip), %rsi      # 0x25fb0
callq 0x32b0
movq %rax, -0x570(%rbp)
jmp 0x1981e
movq -0x570(%rbp), %rdi
movq 0xc784(%rip), %rsi      # 0x25fb0
callq 0x32b0
jmp 0x19833
movl $0x0, -0x438(%rbp)
cmpl $0x27, -0x438(%rbp)
jge 0x19933
movl -0x438(%rbp), %esi
leaq -0x430(%rbp), %rdi
callq 0x3440
movq %rax, -0x578(%rbp)
jmp 0x19865
movq -0x578(%rbp), %rdi
leaq 0x4ab4(%rip), %rsi      # 0x1e327
callq 0x3280
jmp 0x1987a
movl $0x0, -0x43c(%rbp)
cmpl $0x2a, -0x43c(%rbp)
jge 0x198ec
movslq -0x438(%rbp), %rax
imulq $0xa8, %rax, %rcx
leaq 0xaaeae(%rip), %rax     # 0xc4750
addq %rcx, %rax
movslq -0x43c(%rbp), %rcx
movl (%rax,%rcx,4), %esi
leaq -0x430(%rbp), %rdi
callq 0x3440
movq %rax, -0x580(%rbp)
jmp 0x198c4
movq -0x580(%rbp), %rdi
leaq 0x4a55(%rip), %rsi      # 0x1e327
callq 0x3280
jmp 0x198d9
jmp 0x198db
movl -0x43c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x43c(%rbp)
jmp 0x19884
movq 0xc6bd(%rip), %rsi      # 0x25fb0
leaq -0x430(%rbp), %rdi
callq 0x32b0
movq %rax, -0x588(%rbp)
jmp 0x19908
movq -0x588(%rbp), %rdi
movq 0xc69a(%rip), %rsi      # 0x25fb0
callq 0x32b0
jmp 0x1991d
jmp 0x1991f
movl -0x438(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x438(%rbp)
jmp 0x1983d
leaq -0x430(%rbp), %rdi
callq 0x33b0
jmp 0x19941
leaq -0x430(%rbp), %rdi
callq 0x33d0
leaq -0x200(%rbp), %rdi
callq 0x33d0
addq $0x590, %rsp            # imm = 0x590
popq %rbp
retq
leaq -0x200(%rbp), %rdi
callq 0x33d0
movq -0x208(%rbp), %rdi
callq 0x3450
nopw (%rax,%rax)