// File: lindorx[P]train/main.cpp
// Function: jmpch()
void jmpch(void)
{
	using namespace std;
	int i, j, n, k = 50;//k����ѭ������
	vector<unsigned char>d;
	//ע��������ʹ�ö���if��Ƕ
	for (i = 0; i < (int)Title.size(); i++)
		for (j = k - 1; j >= 0; j--) {
			//------------------------�������ָ���-----------------------------//
			if (j < (int)jp_p.size()) {//�����������������ó���Χ
				if (Title[i].str == jp_p[j].str) {
					//jp���鴦��
					n = Title[i].num - jp_p[j].num - 2;
					if (n > 0x7f) {//����n=0x80��˵����jmpָ��ռ3�ַ���������������Ϊ0xe9,0xxx,0xxx
						Data[jp_p[j].s] = 0xe9;
						//��nת��Ϊ��Ӧ�Ŀ�����������
						d = NumToUc(n - 1, 2);
						Data[jp_p[j].s + 1] = d[0];
						Data.insert(Data.begin() + jp_p[j].s + 2, 1, d[1]);
					}
					else {
						d = NumToUc(n, 1);
						Data[jp_p[j].s + 1] = d[0];
					}
				}
			}
			//------------------------�������ָ���-----------------------------//
			if (j < (int)je_p.size()) {
				if (Title[i].str == je_p[j].str) {
					n = Title[i].num - je_p[j].num - 2;
					if (n > 0x7f) {
						Data[je_p[j].s] = 0x0f;
						Data[je_p[j].s + 1] = 0x84;
						d = NumToUc(n, 2);
						Data.insert(Data.begin() + je_p[j].s + 2, d.begin(), d.end());
					}
					else {
						d = NumToUc(n, 1);
						Data[je_p[j].s + 1] = d[0];
					}
				}
			}
			//------------------------�������ָ���-----------------------------//
			//JB����
			if (j < (int)jb_p.size()) {
				if (Title[i].str == jb_p[j].str) {
					n = Title[i].num - jb_p[j].num - 2;
					if (n > 0x7f) {
						Data[jb_p[j].s] = 0x0f;
						Data[jb_p[j].s + 1] = 0x82;
						d = NumToUc(n, 2);
						Data.insert(Data.begin() + jb_p[j].s + 2, d.begin(), d.end());
					}
					else {
						d = NumToUc(n, 1);
						Data[jb_p[j].s + 1] = d[0];
					}
				}
			}
			//------------------------�������ָ���-----------------------------//
			if (j < (int)jbe_p.size()) {
				if (Title[i].str == jbe_p[j].str) {
					n = Title[i].num - jbe_p[j].num - 2;
					if (n > 0x7f) {
						Data[jbe_p[j].s] = 0x0f;
						Data[jbe_p[j].s + 1] = 0x86;
						d = NumToUc(n, 2);
						Data.insert(Data.begin() + jbe_p[j].s + 2, d.begin(), d.end());
					}
					else {
						d = NumToUc(n, 1);
						Data[jbe_p[j].s + 1] = d[0];
					}
				}
			}
			//------------------------�������ָ���-----------------------------//
			if (j < (int)push_p.size()) {
				//push_p���鴦��
				if (Title[i].str == push_p[j].str) {
					//jp���鴦��
					n = Title[i].num;
					if (n > 0x7f) {//����n=0x80��˵����jmpָ��ռ3�ַ���������������Ϊ0xe9,0xxx,0xxx
						Data[push_p[j].s] = 0x68;
						//��nת��Ϊ��Ӧ�Ŀ�����������
						d = NumToUc(n, 2);
						Data[push_p[j].s + 1] = d[0];
						Data.insert(Data.begin() + push_p[j].s + 2, 1, d[1]);
					}
					else {
						d = NumToUc(n, 1);
						Data[push_p[j].s + 1] = d[0];
					}
				}
			}
			//------------------------�������ָ���-----------------------------//
		}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x3a0, %rsp            # imm = 0x3A0
movl $0x32, -0x10(%rbp)
leaq -0x28(%rbp), %rdi
callq 0xa8d0
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
movl %eax, -0x224(%rbp)
leaq 0x9116(%rip), %rdi      # 0x220e8
callq 0x19f40
movq %rax, %rcx
movl -0x224(%rbp), %eax
cmpl %ecx, %eax
jge 0x19ca6
movl -0x10(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x8(%rbp)
cmpl $0x0, -0x8(%rbp)
jl 0x19c96
movl -0x8(%rbp), %eax
movl %eax, -0x228(%rbp)
leaq 0x9135(%rip), %rdi      # 0x22140
callq 0x19f40
movq %rax, %rcx
movl -0x228(%rbp), %eax
cmpl %ecx, %eax
jge 0x19287
movslq -0x4(%rbp), %rsi
leaq 0x90bc(%rip), %rdi      # 0x220e8
callq 0x19f70
movq %rax, -0x230(%rbp)
movslq -0x8(%rbp), %rsi
leaq 0x90fd(%rip), %rdi      # 0x22140
callq 0x19f70
movq -0x230(%rbp), %rdi
movq %rax, %rsi
callq 0xa810
testb $0x1, %al
jne 0x19060
jmp 0x19285
movslq -0x4(%rbp), %rsi
leaq 0x907d(%rip), %rdi      # 0x220e8
callq 0x19f70
movl 0x20(%rax), %eax
movl %eax, -0x234(%rbp)
movslq -0x8(%rbp), %rsi
leaq 0x90bc(%rip), %rdi      # 0x22140
callq 0x19f70
movq %rax, %rcx
movl -0x234(%rbp), %eax
subl 0x20(%rcx), %eax
subl $0x2, %eax
movl %eax, -0xc(%rbp)
cmpl $0x7f, -0xc(%rbp)
jle 0x1920e
movslq -0x8(%rbp), %rsi
leaq 0x9090(%rip), %rdi      # 0x22140
callq 0x19f70
movslq 0x24(%rax), %rsi
leaq 0x8fd0(%rip), %rdi      # 0x22090
callq 0xaa70
movb $-0x17, (%rax)
movl -0xc(%rbp), %eax
decl %eax
movslq %eax, %rsi
leaq -0x40(%rbp), %rdi
movl $0x2, %edx
callq 0x75f0
jmp 0x190e0
leaq -0x28(%rbp), %rdi
movq %rdi, -0x258(%rbp)
leaq -0x40(%rbp), %rsi
movq %rsi, -0x270(%rbp)
callq 0xa9b0
movq -0x270(%rbp), %rdi
callq 0xa920
movq -0x258(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xaa70
movb (%rax), %al
movb %al, -0x261(%rbp)
movslq -0x8(%rbp), %rsi
leaq 0x9016(%rip), %rdi      # 0x22140
movq %rdi, -0x260(%rbp)
callq 0x19f70
movl 0x24(%rax), %eax
incl %eax
movslq %eax, %rsi
leaq 0x8f4b(%rip), %rdi      # 0x22090
movq %rdi, -0x250(%rbp)
callq 0xaa70
movb -0x261(%rbp), %cl
movq -0x250(%rbp), %rdi
movb %cl, (%rax)
callq 0xabb0
movq -0x260(%rbp), %rdi
movq %rax, -0x70(%rbp)
movslq -0x8(%rbp), %rsi
callq 0x19f70
movslq 0x24(%rax), %rsi
leaq -0x70(%rbp), %rdi
callq 0xbf10
movq %rax, -0x68(%rbp)
leaq -0x68(%rbp), %rdi
movl $0x2, %esi
callq 0xbf10
movq %rax, -0x60(%rbp)
leaq -0x58(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0xab70
movq -0x258(%rbp), %rdi
movl $0x1, %esi
movq %rsi, -0x248(%rbp)
callq 0xaa70
movq -0x250(%rbp), %rdi
movq -0x248(%rbp), %rdx
movq %rax, %rcx
movq -0x58(%rbp), %rsi
callq 0x156c0
movq %rax, -0x240(%rbp)
jmp 0x191e4
movq -0x240(%rbp), %rax
movq %rax, -0x78(%rbp)
jmp 0x19283
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x28(%rbp), %rdi
callq 0xa920
jmp 0x19cb8
movslq -0xc(%rbp), %rsi
leaq -0x90(%rbp), %rdi
movl $0x1, %edx
callq 0x75f0
jmp 0x19225
leaq -0x28(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0xa9b0
leaq -0x90(%rbp), %rdi
callq 0xa920
leaq -0x28(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xaa70
movb (%rax), %al
movb %al, -0x271(%rbp)
movslq -0x8(%rbp), %rsi
leaq 0x8edf(%rip), %rdi      # 0x22140
callq 0x19f70
movl 0x24(%rax), %eax
addl $0x1, %eax
movslq %eax, %rsi
leaq 0x8e1a(%rip), %rdi      # 0x22090
callq 0xaa70
movb -0x271(%rbp), %cl
movb %cl, (%rax)
jmp 0x19285
jmp 0x19287
movl -0x8(%rbp), %eax
movl %eax, -0x278(%rbp)
leaq 0x8ed9(%rip), %rdi      # 0x22170
callq 0x19f40
movq %rax, %rcx
movl -0x278(%rbp), %eax
cmpl %ecx, %eax
jge 0x1950f
movslq -0x4(%rbp), %rsi
leaq 0x8e30(%rip), %rdi      # 0x220e8
callq 0x19f70
movq %rax, -0x280(%rbp)
movslq -0x8(%rbp), %rsi
leaq 0x8ea1(%rip), %rdi      # 0x22170
callq 0x19f70
movq -0x280(%rbp), %rdi
movq %rax, %rsi
callq 0xa810
testb $0x1, %al
jne 0x192ec
jmp 0x1950d
movslq -0x4(%rbp), %rsi
leaq 0x8df1(%rip), %rdi      # 0x220e8
callq 0x19f70
movl 0x20(%rax), %eax
movl %eax, -0x284(%rbp)
movslq -0x8(%rbp), %rsi
leaq 0x8e60(%rip), %rdi      # 0x22170
callq 0x19f70
movq %rax, %rcx
movl -0x284(%rbp), %eax
subl 0x20(%rcx), %eax
subl $0x2, %eax
movl %eax, -0xc(%rbp)
cmpl $0x7f, -0xc(%rbp)
jle 0x19496
movslq -0x8(%rbp), %rsi
leaq 0x8e34(%rip), %rdi      # 0x22170
movq %rdi, -0x298(%rbp)
callq 0x19f70
movslq 0x24(%rax), %rsi
leaq 0x8d3d(%rip), %rdi      # 0x22090
movq %rdi, -0x290(%rbp)
callq 0xaa70
movq -0x298(%rbp), %rdi
movb $0xf, (%rax)
movslq -0x8(%rbp), %rsi
callq 0x19f70
movq -0x290(%rbp), %rdi
movl 0x24(%rax), %eax
incl %eax
movslq %eax, %rsi
callq 0xaa70
movb $-0x7c, (%rax)
movslq -0xc(%rbp), %rsi
leaq -0xa8(%rbp), %rdi
movl $0x2, %edx
callq 0x75f0
jmp 0x193a0
leaq -0x28(%rbp), %rdi
movq %rdi, -0x2b0(%rbp)
leaq -0xa8(%rbp), %rsi
movq %rsi, -0x2b8(%rbp)
callq 0xa9b0
movq -0x2b8(%rbp), %rdi
callq 0xa920
leaq 0x8cbf(%rip), %rdi      # 0x22090
movq %rdi, -0x2a8(%rbp)
callq 0xabb0
movq %rax, -0xc8(%rbp)
movslq -0x8(%rbp), %rsi
leaq 0x8d81(%rip), %rdi      # 0x22170
callq 0x19f70
movslq 0x24(%rax), %rsi
leaq -0xc8(%rbp), %rdi
callq 0xbf10
movq %rax, -0xc0(%rbp)
leaq -0xc0(%rbp), %rdi
movl $0x2, %esi
callq 0xbf10
movq %rax, -0xb8(%rbp)
leaq -0xb0(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0xab70
movq -0x2b0(%rbp), %rdi
callq 0xabb0
movq -0x2b0(%rbp), %rdi
movq %rax, -0xd0(%rbp)
callq 0xab40
movq -0x2a8(%rbp), %rdi
movq %rax, -0xd8(%rbp)
movq -0xb0(%rbp), %rsi
movq -0xd0(%rbp), %rdx
movq -0xd8(%rbp), %rcx
callq 0xaa90
movq %rax, -0x2a0(%rbp)
jmp 0x19486
movq -0x2a0(%rbp), %rax
movq %rax, -0xe0(%rbp)
jmp 0x1950b
movslq -0xc(%rbp), %rsi
leaq -0xf8(%rbp), %rdi
movl $0x1, %edx
callq 0x75f0
jmp 0x194ad
leaq -0x28(%rbp), %rdi
leaq -0xf8(%rbp), %rsi
callq 0xa9b0
leaq -0xf8(%rbp), %rdi
callq 0xa920
leaq -0x28(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xaa70
movb (%rax), %al
movb %al, -0x2b9(%rbp)
movslq -0x8(%rbp), %rsi
leaq 0x8c87(%rip), %rdi      # 0x22170
callq 0x19f70
movl 0x24(%rax), %eax
addl $0x1, %eax
movslq %eax, %rsi
leaq 0x8b92(%rip), %rdi      # 0x22090
callq 0xaa70
movb -0x2b9(%rbp), %cl
movb %cl, (%rax)
jmp 0x1950d
jmp 0x1950f
movl -0x8(%rbp), %eax
movl %eax, -0x2c0(%rbp)
leaq 0x8c81(%rip), %rdi      # 0x221a0
callq 0x19f40
movq %rax, %rcx
movl -0x2c0(%rbp), %eax
cmpl %ecx, %eax
jge 0x19797
movslq -0x4(%rbp), %rsi
leaq 0x8ba8(%rip), %rdi      # 0x220e8
callq 0x19f70
movq %rax, -0x2c8(%rbp)
movslq -0x8(%rbp), %rsi
leaq 0x8c49(%rip), %rdi      # 0x221a0
callq 0x19f70
movq -0x2c8(%rbp), %rdi
movq %rax, %rsi
callq 0xa810
testb $0x1, %al
jne 0x19574
jmp 0x19795
movslq -0x4(%rbp), %rsi
leaq 0x8b69(%rip), %rdi      # 0x220e8
callq 0x19f70
movl 0x20(%rax), %eax
movl %eax, -0x2cc(%rbp)
movslq -0x8(%rbp), %rsi
leaq 0x8c08(%rip), %rdi      # 0x221a0
callq 0x19f70
movq %rax, %rcx
movl -0x2cc(%rbp), %eax
subl 0x20(%rcx), %eax
subl $0x2, %eax
movl %eax, -0xc(%rbp)
cmpl $0x7f, -0xc(%rbp)
jle 0x1971e
movslq -0x8(%rbp), %rsi
leaq 0x8bdc(%rip), %rdi      # 0x221a0
movq %rdi, -0x2e0(%rbp)
callq 0x19f70
movslq 0x24(%rax), %rsi
leaq 0x8ab5(%rip), %rdi      # 0x22090
movq %rdi, -0x2d8(%rbp)
callq 0xaa70
movq -0x2e0(%rbp), %rdi
movb $0xf, (%rax)
movslq -0x8(%rbp), %rsi
callq 0x19f70
movq -0x2d8(%rbp), %rdi
movl 0x24(%rax), %eax
incl %eax
movslq %eax, %rsi
callq 0xaa70
movb $-0x7e, (%rax)
movslq -0xc(%rbp), %rsi
leaq -0x110(%rbp), %rdi
movl $0x2, %edx
callq 0x75f0
jmp 0x19628
leaq -0x28(%rbp), %rdi
movq %rdi, -0x2f8(%rbp)
leaq -0x110(%rbp), %rsi
movq %rsi, -0x300(%rbp)
callq 0xa9b0
movq -0x300(%rbp), %rdi
callq 0xa920
leaq 0x8a37(%rip), %rdi      # 0x22090
movq %rdi, -0x2f0(%rbp)
callq 0xabb0
movq %rax, -0x130(%rbp)
movslq -0x8(%rbp), %rsi
leaq 0x8b29(%rip), %rdi      # 0x221a0
callq 0x19f70
movslq 0x24(%rax), %rsi
leaq -0x130(%rbp), %rdi
callq 0xbf10
movq %rax, -0x128(%rbp)
leaq -0x128(%rbp), %rdi
movl $0x2, %esi
callq 0xbf10
movq %rax, -0x120(%rbp)
leaq -0x118(%rbp), %rdi
leaq -0x120(%rbp), %rsi
callq 0xab70
movq -0x2f8(%rbp), %rdi
callq 0xabb0
movq -0x2f8(%rbp), %rdi
movq %rax, -0x138(%rbp)
callq 0xab40
movq -0x2f0(%rbp), %rdi
movq %rax, -0x140(%rbp)
movq -0x118(%rbp), %rsi
movq -0x138(%rbp), %rdx
movq -0x140(%rbp), %rcx
callq 0xaa90
movq %rax, -0x2e8(%rbp)
jmp 0x1970e
movq -0x2e8(%rbp), %rax
movq %rax, -0x148(%rbp)
jmp 0x19793
movslq -0xc(%rbp), %rsi
leaq -0x160(%rbp), %rdi
movl $0x1, %edx
callq 0x75f0
jmp 0x19735
leaq -0x28(%rbp), %rdi
leaq -0x160(%rbp), %rsi
callq 0xa9b0
leaq -0x160(%rbp), %rdi
callq 0xa920
leaq -0x28(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xaa70
movb (%rax), %al
movb %al, -0x301(%rbp)
movslq -0x8(%rbp), %rsi
leaq 0x8a2f(%rip), %rdi      # 0x221a0
callq 0x19f70
movl 0x24(%rax), %eax
addl $0x1, %eax
movslq %eax, %rsi
leaq 0x890a(%rip), %rdi      # 0x22090
callq 0xaa70
movb -0x301(%rbp), %cl
movb %cl, (%rax)
jmp 0x19795
jmp 0x19797
movl -0x8(%rbp), %eax
movl %eax, -0x308(%rbp)
leaq 0x89e1(%rip), %rdi      # 0x22188
callq 0x19f40
movq %rax, %rcx
movl -0x308(%rbp), %eax
cmpl %ecx, %eax
jge 0x19a1f
movslq -0x4(%rbp), %rsi
leaq 0x8920(%rip), %rdi      # 0x220e8
callq 0x19f70
movq %rax, -0x310(%rbp)
movslq -0x8(%rbp), %rsi
leaq 0x89a9(%rip), %rdi      # 0x22188
callq 0x19f70
movq -0x310(%rbp), %rdi
movq %rax, %rsi
callq 0xa810
testb $0x1, %al
jne 0x197fc
jmp 0x19a1d
movslq -0x4(%rbp), %rsi
leaq 0x88e1(%rip), %rdi      # 0x220e8
callq 0x19f70
movl 0x20(%rax), %eax
movl %eax, -0x314(%rbp)
movslq -0x8(%rbp), %rsi
leaq 0x8968(%rip), %rdi      # 0x22188
callq 0x19f70
movq %rax, %rcx
movl -0x314(%rbp), %eax
subl 0x20(%rcx), %eax
subl $0x2, %eax
movl %eax, -0xc(%rbp)
cmpl $0x7f, -0xc(%rbp)
jle 0x199a6
movslq -0x8(%rbp), %rsi
leaq 0x893c(%rip), %rdi      # 0x22188
movq %rdi, -0x328(%rbp)
callq 0x19f70
movslq 0x24(%rax), %rsi
leaq 0x882d(%rip), %rdi      # 0x22090
movq %rdi, -0x320(%rbp)
callq 0xaa70
movq -0x328(%rbp), %rdi
movb $0xf, (%rax)
movslq -0x8(%rbp), %rsi
callq 0x19f70
movq -0x320(%rbp), %rdi
movl 0x24(%rax), %eax
incl %eax
movslq %eax, %rsi
callq 0xaa70
movb $-0x7a, (%rax)
movslq -0xc(%rbp), %rsi
leaq -0x178(%rbp), %rdi
movl $0x2, %edx
callq 0x75f0
jmp 0x198b0
leaq -0x28(%rbp), %rdi
movq %rdi, -0x340(%rbp)
leaq -0x178(%rbp), %rsi
movq %rsi, -0x348(%rbp)
callq 0xa9b0
movq -0x348(%rbp), %rdi
callq 0xa920
leaq 0x87af(%rip), %rdi      # 0x22090
movq %rdi, -0x338(%rbp)
callq 0xabb0
movq %rax, -0x198(%rbp)
movslq -0x8(%rbp), %rsi
leaq 0x8889(%rip), %rdi      # 0x22188
callq 0x19f70
movslq 0x24(%rax), %rsi
leaq -0x198(%rbp), %rdi
callq 0xbf10
movq %rax, -0x190(%rbp)
leaq -0x190(%rbp), %rdi
movl $0x2, %esi
callq 0xbf10
movq %rax, -0x188(%rbp)
leaq -0x180(%rbp), %rdi
leaq -0x188(%rbp), %rsi
callq 0xab70
movq -0x340(%rbp), %rdi
callq 0xabb0
movq -0x340(%rbp), %rdi
movq %rax, -0x1a0(%rbp)
callq 0xab40
movq -0x338(%rbp), %rdi
movq %rax, -0x1a8(%rbp)
movq -0x180(%rbp), %rsi
movq -0x1a0(%rbp), %rdx
movq -0x1a8(%rbp), %rcx
callq 0xaa90
movq %rax, -0x330(%rbp)
jmp 0x19996
movq -0x330(%rbp), %rax
movq %rax, -0x1b0(%rbp)
jmp 0x19a1b
movslq -0xc(%rbp), %rsi
leaq -0x1c8(%rbp), %rdi
movl $0x1, %edx
callq 0x75f0
jmp 0x199bd
leaq -0x28(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0xa9b0
leaq -0x1c8(%rbp), %rdi
callq 0xa920
leaq -0x28(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xaa70
movb (%rax), %al
movb %al, -0x349(%rbp)
movslq -0x8(%rbp), %rsi
leaq 0x878f(%rip), %rdi      # 0x22188
callq 0x19f70
movl 0x24(%rax), %eax
addl $0x1, %eax
movslq %eax, %rsi
leaq 0x8682(%rip), %rdi      # 0x22090
callq 0xaa70
movb -0x349(%rbp), %cl
movb %cl, (%rax)
jmp 0x19a1d
jmp 0x19a1f
movl -0x8(%rbp), %eax
movl %eax, -0x350(%rbp)
leaq 0x8729(%rip), %rdi      # 0x22158
callq 0x19f40
movq %rax, %rcx
movl -0x350(%rbp), %eax
cmpl %ecx, %eax
jge 0x19c86
movslq -0x4(%rbp), %rsi
leaq 0x8698(%rip), %rdi      # 0x220e8
callq 0x19f70
movq %rax, -0x358(%rbp)
movslq -0x8(%rbp), %rsi
leaq 0x86f1(%rip), %rdi      # 0x22158
callq 0x19f70
movq -0x358(%rbp), %rdi
movq %rax, %rsi
callq 0xa810
testb $0x1, %al
jne 0x19a84
jmp 0x19c84
movslq -0x4(%rbp), %rsi
leaq 0x8659(%rip), %rdi      # 0x220e8
callq 0x19f70
movl 0x20(%rax), %eax
movl %eax, -0xc(%rbp)
cmpl $0x7f, -0xc(%rbp)
jle 0x19c0d
movslq -0x8(%rbp), %rsi
leaq 0x86a9(%rip), %rdi      # 0x22158
callq 0x19f70
movslq 0x24(%rax), %rsi
leaq 0x85d1(%rip), %rdi      # 0x22090
callq 0xaa70
movb $0x68, (%rax)
movslq -0xc(%rbp), %rsi
leaq -0x1e0(%rbp), %rdi
movl $0x2, %edx
callq 0x75f0
jmp 0x19ade
leaq -0x28(%rbp), %rdi
movq %rdi, -0x378(%rbp)
leaq -0x1e0(%rbp), %rsi
movq %rsi, -0x390(%rbp)
callq 0xa9b0
movq -0x390(%rbp), %rdi
callq 0xa920
movq -0x378(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xaa70
movb (%rax), %al
movb %al, -0x381(%rbp)
movslq -0x8(%rbp), %rsi
leaq 0x862d(%rip), %rdi      # 0x22158
movq %rdi, -0x380(%rbp)
callq 0x19f70
movl 0x24(%rax), %eax
incl %eax
movslq %eax, %rsi
leaq 0x854a(%rip), %rdi      # 0x22090
movq %rdi, -0x370(%rbp)
callq 0xaa70
movb -0x381(%rbp), %cl
movq -0x370(%rbp), %rdi
movb %cl, (%rax)
callq 0xabb0
movq -0x380(%rbp), %rdi
movq %rax, -0x200(%rbp)
movslq -0x8(%rbp), %rsi
callq 0x19f70
movslq 0x24(%rax), %rsi
leaq -0x200(%rbp), %rdi
callq 0xbf10
movq %rax, -0x1f8(%rbp)
leaq -0x1f8(%rbp), %rdi
movl $0x2, %esi
callq 0xbf10
movq %rax, -0x1f0(%rbp)
leaq -0x1e8(%rbp), %rdi
leaq -0x1f0(%rbp), %rsi
callq 0xab70
movq -0x378(%rbp), %rdi
movl $0x1, %esi
movq %rsi, -0x368(%rbp)
callq 0xaa70
movq -0x370(%rbp), %rdi
movq -0x368(%rbp), %rdx
movq %rax, %rcx
movq -0x1e8(%rbp), %rsi
callq 0x156c0
movq %rax, -0x360(%rbp)
jmp 0x19bfd
movq -0x360(%rbp), %rax
movq %rax, -0x208(%rbp)
jmp 0x19c82
movslq -0xc(%rbp), %rsi
leaq -0x220(%rbp), %rdi
movl $0x1, %edx
callq 0x75f0
jmp 0x19c24
leaq -0x28(%rbp), %rdi
leaq -0x220(%rbp), %rsi
callq 0xa9b0
leaq -0x220(%rbp), %rdi
callq 0xa920
leaq -0x28(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xaa70
movb (%rax), %al
movb %al, -0x391(%rbp)
movslq -0x8(%rbp), %rsi
leaq 0x84f8(%rip), %rdi      # 0x22158
callq 0x19f70
movl 0x24(%rax), %eax
addl $0x1, %eax
movslq %eax, %rsi
leaq 0x841b(%rip), %rdi      # 0x22090
callq 0xaa70
movb -0x391(%rbp), %cl
movb %cl, (%rax)
jmp 0x19c84
jmp 0x19c86
jmp 0x19c88
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x18ff1
jmp 0x19c98
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x18fc2
leaq -0x28(%rbp), %rdi
callq 0xa920
addq $0x3a0, %rsp            # imm = 0x3A0
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0x33f0
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)