// File: lindorx[P]train/HelpInsPro.cpp
// Function: BX_BP_SI_DI(char, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int)
std::vector<unsigned char>BX_BP_SI_DI(char cmd1, char cmd2, std::string explain,std::string str,int num)
{
	using namespace std;
	bool n=false;
	short a=0, b=0;
	//��������
	

	vector<unsigned char>data;
	vector<unsigned char>d;
	if (cmd1 == 'b' && (cmd2 >= 0 && cmd2 < 8))n = true;//0<=cmd2<8˵��Ϊ16λ�Ĵ�����ֻ��16λ�Ĵ���ǰ��ָ����byte����Ҫ����0x3e
	if (cmd2 == 0){ a = 1; b = 0; }
	if (cmd2 == 1){ a = 1; b = 1; }
	if (cmd2 == 2){ a = 1; b = 2; }
	if (cmd2 == 3){ a = 1; b = 3; }
	if (cmd2 == 4){ a = 1; b = 4; }
	if (cmd2 == 5){ a = 1; b = 5; }
	if (cmd2 == 6){ a = 1; b = 6; }
	if (cmd2 == 7){ a = 1; b = 7; }
	if (cmd2 == 8){ a = 0; b = 0; }
	if (cmd2 == 9){ a = 0; b = 1; }
	if (cmd2 == 10){ a = 0; b = 2; }
	if (cmd2 == 11){ a = 0; b = 3; }
	if (cmd2 == 12){ a = 0; b = 4; }
	if (cmd2 == 13){ a = 0; b = 5; }
	if (cmd2 == 14){ a = 0; b = 6; }
	if (cmd2 == 15){ a = 0; b = 7; }
//*************************************************************
	if (str == "bx" || str == "BX"){
		if (n)
		data.push_back(0x3e);
		data.push_back(a1[a]);
		data.push_back(b1[b][0]);
		return data;
	}
	if (str == "bp" || str == "BP"){
		if (n)
		data.push_back(0x3e);
		data.push_back(a1[a]);
		data.push_back(b1[b][1]);
		data.push_back(0x00);
		return data;
	}
	if (str == "si" || str == "SI"){
		if (n)
		data.push_back(0x3e);
		data.push_back(a1[a]);
		data.push_back(b1[b][2]);
		
		return data;
	}
	if (str == "di" || str == "DI"){
		if (n)
		data.push_back(0x3e);
		data.push_back(a1[a]);
		data.push_back(b1[b][3]);
		return data;
	}
	//�ж�һ���Ƿ�Ϊ�����ַ���
	int number = IntNum(str, num);
	if (number>-1){//˵��number��һ��������ȡֵ��Ч
		if ((explain == "word" || explain == "WORD" || explain == "n") && cmd1 == 'b'&& cmd2<8){//��Ӧ��ָ����ʽ��mov byte 16λ�Ĵ�����[0x00]
			data.push_back(0x3e);
			data.push_back(0x8b);
			data.push_back(m_unch[cmd2]);
			d = NumToUc(number, 2);
			data.insert(data.end(), d.begin(), d.end());
			return data;
		}
		if (explain == "n" && cmd1 == 'b'&& cmd2 > 7){//��Ӧ��ָ����ʽ��mov byte 8λ�Ĵ�����[0x00]<==>mov 8λ�Ĵ�����[0x00]
			data.push_back(0x8a);
			data.push_back(m_unch[cmd2 - 8]);
			d = NumToUc(number, 2);
			data.insert(data.end(), d.begin(), d.end());
			return data;
		}
		if ((explain == "word" || explain == "WORD" || explain == "n") && cmd1 == 'w'&& cmd2<8){//��Ӧ��ָ����ʽ��mov word 16λ�Ĵ�����[0x00]<==>mov 16λ�Ĵ�����[0x00]
			if (cmd2 == 0)data.push_back(0xa1);
			else{
				data.push_back(0x8b);
				data.push_back(m_unch[cmd2]);
			}
			d = NumToUc(number, 2);
			data.insert(data.end(), d.begin(), d.end());
			return data;
		}
		if (explain == "n" && cmd1 == 'w'&& cmd2 > 7){//��Ӧ��ָ����ʽ��mov word 8λ�Ĵ�����[0x00];���ָ�ʽ�Ǵ�����
			cout << "����-012�����������룺" << str << endl;
			return data;
		}
		if ((explain == "byte" || explain == "BYTE") && cmd1 == 'b'&& cmd2<8){//��Ӧָ����ʽ mov	byte 16λ�Ĵ��� ,byte [0x23]��������Ŀ���Ĵ���ֻ����8λ�Ĵ���
			cout << "����-013��Ŀ���Ĵ���ֻ����8λ�Ĵ���:" <<str<< endl;
			return data;
		}
		if ((explain == "byte" || explain == "BYTE") && cmd1 == 'b'&& cmd2>7){//��Ӧָ����ʽ mov	byte 8λ�Ĵ��� ,byte [0x23]��
			if (cmd2 == 8)data.push_back(0xa0);
			else{
				data.push_back(0x8a);
				data.push_back(m_unch[cmd2 - 8]);
			}
			d = NumToUc(number, 2);
			data.insert(data.end(), d.begin(), d.end());
			return data;
		}//************************************************
		if ((explain == "byte" || explain == "BYTE") && cmd1 == 'w'){//��Ӧָ����ʽ mov	byte 16λ�Ĵ��� ,byte [0x23]��������Ŀ���Ĵ���ֻ����8λ�Ĵ���
			cout << "����-014��Ŀ���Ĵ���ֻ����16λ�Ĵ���:" << str << endl;
			return data;
		}
		if ((explain == "word" || explain == "WORD") && cmd1 == 'b'){//����
			cout << "����-015��Ŀ���Ĵ���Ӧָ��Ϊword:" << str << endl;
		}
	}
	cout << "[]�ڽ�����bx��bp��si��di,���������룺" << str << endl;
	return data;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2a0, %rsp            # imm = 0x2A0
movq %r8, -0x1a0(%rbp)
movq %rcx, -0x198(%rbp)
movq %rdi, -0x190(%rbp)
movb %dl, %al
movb %sil, %dl
movq %rdi, %rsi
movq %rsi, -0x188(%rbp)
movq %rdi, -0x8(%rbp)
movb %dl, -0x9(%rbp)
movb %al, -0xa(%rbp)
movq %rcx, -0x18(%rbp)
movq %r8, -0x20(%rbp)
movl %r9d, -0x24(%rbp)
movb $0x0, -0x25(%rbp)
movw $0x0, -0x28(%rbp)
movw $0x0, -0x2a(%rbp)
movb $0x0, -0x2b(%rbp)
callq 0xa8d0
leaq -0x48(%rbp), %rdi
callq 0xa8d0
movsbl -0x9(%rbp), %eax
cmpl $0x62, %eax
jne 0x8aa6
movsbl -0xa(%rbp), %eax
cmpl $0x0, %eax
jl 0x8aa6
movsbl -0xa(%rbp), %eax
cmpl $0x8, %eax
jge 0x8aa6
movb $0x1, -0x25(%rbp)
movsbl -0xa(%rbp), %eax
cmpl $0x0, %eax
jne 0x8abb
movw $0x1, -0x28(%rbp)
movw $0x0, -0x2a(%rbp)
movsbl -0xa(%rbp), %eax
cmpl $0x1, %eax
jne 0x8ad0
movw $0x1, -0x28(%rbp)
movw $0x1, -0x2a(%rbp)
movsbl -0xa(%rbp), %eax
cmpl $0x2, %eax
jne 0x8ae5
movw $0x1, -0x28(%rbp)
movw $0x2, -0x2a(%rbp)
movsbl -0xa(%rbp), %eax
cmpl $0x3, %eax
jne 0x8afa
movw $0x1, -0x28(%rbp)
movw $0x3, -0x2a(%rbp)
movsbl -0xa(%rbp), %eax
cmpl $0x4, %eax
jne 0x8b0f
movw $0x1, -0x28(%rbp)
movw $0x4, -0x2a(%rbp)
movsbl -0xa(%rbp), %eax
cmpl $0x5, %eax
jne 0x8b24
movw $0x1, -0x28(%rbp)
movw $0x5, -0x2a(%rbp)
movsbl -0xa(%rbp), %eax
cmpl $0x6, %eax
jne 0x8b39
movw $0x1, -0x28(%rbp)
movw $0x6, -0x2a(%rbp)
movsbl -0xa(%rbp), %eax
cmpl $0x7, %eax
jne 0x8b4e
movw $0x1, -0x28(%rbp)
movw $0x7, -0x2a(%rbp)
movsbl -0xa(%rbp), %eax
cmpl $0x8, %eax
jne 0x8b63
movw $0x0, -0x28(%rbp)
movw $0x0, -0x2a(%rbp)
movsbl -0xa(%rbp), %eax
cmpl $0x9, %eax
jne 0x8b78
movw $0x0, -0x28(%rbp)
movw $0x1, -0x2a(%rbp)
movsbl -0xa(%rbp), %eax
cmpl $0xa, %eax
jne 0x8b8d
movw $0x0, -0x28(%rbp)
movw $0x2, -0x2a(%rbp)
movsbl -0xa(%rbp), %eax
cmpl $0xb, %eax
jne 0x8ba2
movw $0x0, -0x28(%rbp)
movw $0x3, -0x2a(%rbp)
movsbl -0xa(%rbp), %eax
cmpl $0xc, %eax
jne 0x8bb7
movw $0x0, -0x28(%rbp)
movw $0x4, -0x2a(%rbp)
movsbl -0xa(%rbp), %eax
cmpl $0xd, %eax
jne 0x8bcc
movw $0x0, -0x28(%rbp)
movw $0x5, -0x2a(%rbp)
movsbl -0xa(%rbp), %eax
cmpl $0xe, %eax
jne 0x8be1
movw $0x0, -0x28(%rbp)
movw $0x6, -0x2a(%rbp)
movsbl -0xa(%rbp), %eax
cmpl $0xf, %eax
jne 0x8bf6
movw $0x0, -0x28(%rbp)
movw $0x7, -0x2a(%rbp)
movq -0x1a0(%rbp), %rdi
leaq 0x125c5(%rip), %rsi     # 0x1b1c9
callq 0xa8a0
movb %al, -0x1a1(%rbp)
jmp 0x8c11
movb -0x1a1(%rbp), %al
testb $0x1, %al
jne 0x8c47
jmp 0x8c1d
movq -0x1a0(%rbp), %rdi
leaq 0x12586(%rip), %rsi     # 0x1b1b1
callq 0xa8a0
movb %al, -0x1a2(%rbp)
jmp 0x8c38
movb -0x1a2(%rbp), %al
testb $0x1, %al
jne 0x8c47
jmp 0x8cd6
testb $0x1, -0x25(%rbp)
je 0x8c8b
movq -0x190(%rbp), %rdi
movb $0x3e, -0x55(%rbp)
leaq -0x55(%rbp), %rsi
callq 0xa8f0
jmp 0x8c63
jmp 0x8c8b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x48(%rbp), %rdi
callq 0xa920
movq -0x190(%rbp), %rdi
callq 0xa920
jmp 0x98e0
movq -0x190(%rbp), %rdi
movswq -0x28(%rbp), %rax
leaq 0x12496(%rip), %rsi     # 0x1b134
addq %rax, %rsi
callq 0xaa00
jmp 0x8ca8
movq -0x190(%rbp), %rdi
movswq -0x2a(%rbp), %rcx
leaq 0x12485(%rip), %rax     # 0x1b140
leaq (%rax,%rcx,4), %rsi
callq 0xaa00
jmp 0x8cc6
movb $0x1, -0x2b(%rbp)
movl $0x1, -0x5c(%rbp)
jmp 0x98b5
movq -0x1a0(%rbp), %rdi
leaq 0x124eb(%rip), %rsi     # 0x1b1cf
callq 0xa8a0
movb %al, -0x1a3(%rbp)
jmp 0x8cf1
movb -0x1a3(%rbp), %al
testb $0x1, %al
jne 0x8d27
jmp 0x8cfd
movq -0x1a0(%rbp), %rdi
leaq 0x124ac(%rip), %rsi     # 0x1b1b7
callq 0xa8a0
movb %al, -0x1a4(%rbp)
jmp 0x8d18
movb -0x1a4(%rbp), %al
testb $0x1, %al
jne 0x8d27
jmp 0x8da7
testb $0x1, -0x25(%rbp)
je 0x8d45
movq -0x190(%rbp), %rdi
movb $0x3e, -0x5d(%rbp)
leaq -0x5d(%rbp), %rsi
callq 0xa8f0
jmp 0x8d43
jmp 0x8d45
movq -0x190(%rbp), %rdi
movswq -0x28(%rbp), %rax
leaq 0x123dc(%rip), %rsi     # 0x1b134
addq %rax, %rsi
callq 0xaa00
jmp 0x8d62
movq -0x190(%rbp), %rdi
movswq -0x2a(%rbp), %rcx
leaq 0x123cb(%rip), %rax     # 0x1b140
leaq 0x1(%rax,%rcx,4), %rsi
callq 0xaa00
jmp 0x8d81
movq -0x190(%rbp), %rdi
movb $0x0, -0x5e(%rbp)
leaq -0x5e(%rbp), %rsi
callq 0xa8f0
jmp 0x8d97
movb $0x1, -0x2b(%rbp)
movl $0x1, -0x5c(%rbp)
jmp 0x98b5
movq -0x1a0(%rbp), %rdi
leaq 0x1241d(%rip), %rsi     # 0x1b1d2
callq 0xa8a0
movb %al, -0x1a5(%rbp)
jmp 0x8dc2
movb -0x1a5(%rbp), %al
testb $0x1, %al
jne 0x8df5
jmp 0x8dce
movq -0x1a0(%rbp), %rdi
leaq 0x123de(%rip), %rsi     # 0x1b1ba
callq 0xa8a0
movb %al, -0x1a6(%rbp)
jmp 0x8de9
movb -0x1a6(%rbp), %al
testb $0x1, %al
jne 0x8df5
jmp 0x8e5f
testb $0x1, -0x25(%rbp)
je 0x8e13
movq -0x190(%rbp), %rdi
movb $0x3e, -0x5f(%rbp)
leaq -0x5f(%rbp), %rsi
callq 0xa8f0
jmp 0x8e11
jmp 0x8e13
movq -0x190(%rbp), %rdi
movswq -0x28(%rbp), %rax
leaq 0x1230e(%rip), %rsi     # 0x1b134
addq %rax, %rsi
callq 0xaa00
jmp 0x8e30
movq -0x190(%rbp), %rdi
movswq -0x2a(%rbp), %rcx
leaq 0x122fd(%rip), %rax     # 0x1b140
leaq 0x2(%rax,%rcx,4), %rsi
callq 0xaa00
jmp 0x8e4f
movb $0x1, -0x2b(%rbp)
movl $0x1, -0x5c(%rbp)
jmp 0x98b5
movq -0x1a0(%rbp), %rdi
leaq 0x12368(%rip), %rsi     # 0x1b1d5
callq 0xa8a0
movb %al, -0x1a7(%rbp)
jmp 0x8e7a
movb -0x1a7(%rbp), %al
testb $0x1, %al
jne 0x8ead
jmp 0x8e86
movq -0x1a0(%rbp), %rdi
leaq 0x12329(%rip), %rsi     # 0x1b1bd
callq 0xa8a0
movb %al, -0x1a8(%rbp)
jmp 0x8ea1
movb -0x1a8(%rbp), %al
testb $0x1, %al
jne 0x8ead
jmp 0x8f17
testb $0x1, -0x25(%rbp)
je 0x8ecb
movq -0x190(%rbp), %rdi
movb $0x3e, -0x60(%rbp)
leaq -0x60(%rbp), %rsi
callq 0xa8f0
jmp 0x8ec9
jmp 0x8ecb
movq -0x190(%rbp), %rdi
movswq -0x28(%rbp), %rax
leaq 0x12256(%rip), %rsi     # 0x1b134
addq %rax, %rsi
callq 0xaa00
jmp 0x8ee8
movq -0x190(%rbp), %rdi
movswq -0x2a(%rbp), %rcx
leaq 0x12245(%rip), %rax     # 0x1b140
leaq 0x3(%rax,%rcx,4), %rsi
callq 0xaa00
jmp 0x8f07
movb $0x1, -0x2b(%rbp)
movl $0x1, -0x5c(%rbp)
jmp 0x98b5
movq -0x1a0(%rbp), %rdi
movl -0x24(%rbp), %esi
callq 0x7720
movq %rax, -0x1b0(%rbp)
jmp 0x8f2f
movq -0x1b0(%rbp), %rax
movl %eax, -0x64(%rbp)
cmpl $-0x1, -0x64(%rbp)
jle 0x985d
movq -0x198(%rbp), %rdi
leaq 0x1231d(%rip), %rsi     # 0x1b26e
callq 0xa8a0
movb %al, -0x1b1(%rbp)
jmp 0x8f5e
movb -0x1b1(%rbp), %al
testb $0x1, %al
jne 0x8fbb
jmp 0x8f6a
movq -0x198(%rbp), %rdi
leaq 0x122fb(%rip), %rsi     # 0x1b273
callq 0xa8a0
movb %al, -0x1b2(%rbp)
jmp 0x8f85
movb -0x1b2(%rbp), %al
testb $0x1, %al
jne 0x8fbb
jmp 0x8f91
movq -0x198(%rbp), %rdi
leaq 0x126f5(%rip), %rsi     # 0x1b694
callq 0xa8a0
movb %al, -0x1b3(%rbp)
jmp 0x8fac
movb -0x1b3(%rbp), %al
testb $0x1, %al
jne 0x8fbb
jmp 0x90ed
movsbl -0x9(%rbp), %eax
cmpl $0x62, %eax
jne 0x90ed
movsbl -0xa(%rbp), %eax
cmpl $0x8, %eax
jge 0x90ed
movq -0x190(%rbp), %rdi
movb $0x3e, -0x65(%rbp)
leaq -0x65(%rbp), %rsi
callq 0xa8f0
jmp 0x8feb
movq -0x190(%rbp), %rdi
movb $-0x75, -0x66(%rbp)
leaq -0x66(%rbp), %rsi
callq 0xa8f0
jmp 0x9001
movq -0x190(%rbp), %rdi
movsbq -0xa(%rbp), %rax
leaq 0x1214c(%rip), %rsi     # 0x1b160
addq %rax, %rsi
callq 0xaa00
jmp 0x901e
movslq -0x64(%rbp), %rsi
leaq -0x80(%rbp), %rdi
movl $0x2, %edx
callq 0x75f0
jmp 0x9032
leaq -0x48(%rbp), %rdi
movq %rdi, -0x1c8(%rbp)
leaq -0x80(%rbp), %rsi
movq %rsi, -0x1d0(%rbp)
callq 0xa9b0
movq -0x1d0(%rbp), %rdi
callq 0xa920
movq -0x190(%rbp), %rdi
callq 0xab40
movq %rax, -0x90(%rbp)
leaq -0x88(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0xab70
movq -0x1c8(%rbp), %rdi
callq 0xabb0
movq -0x1c8(%rbp), %rdi
movq %rax, -0x98(%rbp)
callq 0xab40
movq -0x190(%rbp), %rdi
movq %rax, -0xa0(%rbp)
movq -0x88(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq -0xa0(%rbp), %rcx
callq 0xaa90
movq %rax, -0x1c0(%rbp)
jmp 0x90cf
movq -0x1c0(%rbp), %rax
movq %rax, -0xa8(%rbp)
movb $0x1, -0x2b(%rbp)
movl $0x1, -0x5c(%rbp)
jmp 0x98b5
movq -0x198(%rbp), %rdi
leaq 0x12599(%rip), %rsi     # 0x1b694
callq 0xa8a0
movb %al, -0x1d1(%rbp)
jmp 0x9108
movb -0x1d1(%rbp), %al
testb $0x1, %al
jne 0x9117
jmp 0x9241
movsbl -0x9(%rbp), %eax
cmpl $0x62, %eax
jne 0x9241
movsbl -0xa(%rbp), %eax
cmpl $0x7, %eax
jle 0x9241
movq -0x190(%rbp), %rdi
movb $-0x76, -0xa9(%rbp)
leaq -0xa9(%rbp), %rsi
callq 0xa8f0
jmp 0x914d
movq -0x190(%rbp), %rdi
movsbq -0xa(%rbp), %rax
leaq 0x12000(%rip), %rcx     # 0x1b160
leaq -0x8(%rax,%rcx), %rsi
callq 0xaa00
jmp 0x916c
movslq -0x64(%rbp), %rsi
leaq -0xc8(%rbp), %rdi
movl $0x2, %edx
callq 0x75f0
jmp 0x9183
leaq -0x48(%rbp), %rdi
movq %rdi, -0x1e8(%rbp)
leaq -0xc8(%rbp), %rsi
movq %rsi, -0x1f0(%rbp)
callq 0xa9b0
movq -0x1f0(%rbp), %rdi
callq 0xa920
movq -0x190(%rbp), %rdi
callq 0xab40
movq %rax, -0xd8(%rbp)
leaq -0xd0(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0xab70
movq -0x1e8(%rbp), %rdi
callq 0xabb0
movq -0x1e8(%rbp), %rdi
movq %rax, -0xe0(%rbp)
callq 0xab40
movq -0x190(%rbp), %rdi
movq %rax, -0xe8(%rbp)
movq -0xd0(%rbp), %rsi
movq -0xe0(%rbp), %rdx
movq -0xe8(%rbp), %rcx
callq 0xaa90
movq %rax, -0x1e0(%rbp)
jmp 0x9223
movq -0x1e0(%rbp), %rax
movq %rax, -0xf0(%rbp)
movb $0x1, -0x2b(%rbp)
movl $0x1, -0x5c(%rbp)
jmp 0x98b5
movq -0x198(%rbp), %rdi
leaq 0x1201f(%rip), %rsi     # 0x1b26e
callq 0xa8a0
movb %al, -0x1f1(%rbp)
jmp 0x925c
movb -0x1f1(%rbp), %al
testb $0x1, %al
jne 0x92b9
jmp 0x9268
movq -0x198(%rbp), %rdi
leaq 0x11ffd(%rip), %rsi     # 0x1b273
callq 0xa8a0
movb %al, -0x1f2(%rbp)
jmp 0x9283
movb -0x1f2(%rbp), %al
testb $0x1, %al
jne 0x92b9
jmp 0x928f
movq -0x198(%rbp), %rdi
leaq 0x123f7(%rip), %rsi     # 0x1b694
callq 0xa8a0
movb %al, -0x1f3(%rbp)
jmp 0x92aa
movb -0x1f3(%rbp), %al
testb $0x1, %al
jne 0x92b9
jmp 0x940a
movsbl -0x9(%rbp), %eax
cmpl $0x77, %eax
jne 0x940a
movsbl -0xa(%rbp), %eax
cmpl $0x8, %eax
jge 0x940a
movsbl -0xa(%rbp), %eax
cmpl $0x0, %eax
jne 0x92fa
movq -0x190(%rbp), %rdi
movb $-0x5f, -0xf1(%rbp)
leaq -0xf1(%rbp), %rsi
callq 0xa8f0
jmp 0x92f8
jmp 0x9335
movq -0x190(%rbp), %rdi
movb $-0x75, -0xf2(%rbp)
leaq -0xf2(%rbp), %rsi
callq 0xa8f0
jmp 0x9316
movq -0x190(%rbp), %rdi
movsbq -0xa(%rbp), %rax
leaq 0x11e37(%rip), %rsi     # 0x1b160
addq %rax, %rsi
callq 0xaa00
jmp 0x9333
jmp 0x9335
movslq -0x64(%rbp), %rsi
leaq -0x110(%rbp), %rdi
movl $0x2, %edx
callq 0x75f0
jmp 0x934c
leaq -0x48(%rbp), %rdi
movq %rdi, -0x208(%rbp)
leaq -0x110(%rbp), %rsi
movq %rsi, -0x210(%rbp)
callq 0xa9b0
movq -0x210(%rbp), %rdi
callq 0xa920
movq -0x190(%rbp), %rdi
callq 0xab40
movq %rax, -0x120(%rbp)
leaq -0x118(%rbp), %rdi
leaq -0x120(%rbp), %rsi
callq 0xab70
movq -0x208(%rbp), %rdi
callq 0xabb0
movq -0x208(%rbp), %rdi
movq %rax, -0x128(%rbp)
callq 0xab40
movq -0x190(%rbp), %rdi
movq %rax, -0x130(%rbp)
movq -0x118(%rbp), %rsi
movq -0x128(%rbp), %rdx
movq -0x130(%rbp), %rcx
callq 0xaa90
movq %rax, -0x200(%rbp)
jmp 0x93ec
movq -0x200(%rbp), %rax
movq %rax, -0x138(%rbp)
movb $0x1, -0x2b(%rbp)
movl $0x1, -0x5c(%rbp)
jmp 0x98b5
movq -0x198(%rbp), %rdi
leaq 0x1227c(%rip), %rsi     # 0x1b694
callq 0xa8a0
movb %al, -0x211(%rbp)
jmp 0x9425
movb -0x211(%rbp), %al
testb $0x1, %al
jne 0x9431
jmp 0x94a0
movsbl -0x9(%rbp), %eax
cmpl $0x77, %eax
jne 0x94a0
movsbl -0xa(%rbp), %eax
cmpl $0x7, %eax
jle 0x94a0
movq 0x17b8e(%rip), %rdi     # 0x20fd8
leaq 0x11e8d(%rip), %rsi     # 0x1b2de
callq 0x31f0
movq %rax, -0x220(%rbp)
jmp 0x945f
movq -0x1a0(%rbp), %rsi
movq -0x220(%rbp), %rdi
callq 0x31e0
movq %rax, -0x228(%rbp)
jmp 0x947b
movq -0x228(%rbp), %rdi
movq 0x17b37(%rip), %rsi     # 0x20fc0
callq 0x3240
jmp 0x9490
movb $0x1, -0x2b(%rbp)
movl $0x1, -0x5c(%rbp)
jmp 0x98b5
movq -0x198(%rbp), %rdi
leaq 0x121f5(%rip), %rsi     # 0x1b6a3
callq 0xa8a0
movb %al, -0x229(%rbp)
jmp 0x94bb
movb -0x229(%rbp), %al
testb $0x1, %al
jne 0x94ee
jmp 0x94c7
movq -0x198(%rbp), %rdi
leaq 0x11d5e(%rip), %rsi     # 0x1b233
callq 0xa8a0
movb %al, -0x22a(%rbp)
jmp 0x94e2
movb -0x22a(%rbp), %al
testb $0x1, %al
jne 0x94ee
jmp 0x955d
movsbl -0x9(%rbp), %eax
cmpl $0x62, %eax
jne 0x955d
movsbl -0xa(%rbp), %eax
cmpl $0x8, %eax
jge 0x955d
movq 0x17ad1(%rip), %rdi     # 0x20fd8
leaq 0x11de7(%rip), %rsi     # 0x1b2f5
callq 0x31f0
movq %rax, -0x238(%rbp)
jmp 0x951c
movq -0x1a0(%rbp), %rsi
movq -0x238(%rbp), %rdi
callq 0x31e0
movq %rax, -0x240(%rbp)
jmp 0x9538
movq -0x240(%rbp), %rdi
movq 0x17a7a(%rip), %rsi     # 0x20fc0
callq 0x3240
jmp 0x954d
movb $0x1, -0x2b(%rbp)
movl $0x1, -0x5c(%rbp)
jmp 0x98b5
movq -0x198(%rbp), %rdi
leaq 0x12138(%rip), %rsi     # 0x1b6a3
callq 0xa8a0
movb %al, -0x241(%rbp)
jmp 0x9578
movb -0x241(%rbp), %al
testb $0x1, %al
jne 0x95ae
jmp 0x9584
movq -0x198(%rbp), %rdi
leaq 0x11ca1(%rip), %rsi     # 0x1b233
callq 0xa8a0
movb %al, -0x242(%rbp)
jmp 0x959f
movb -0x242(%rbp), %al
testb $0x1, %al
jne 0x95ae
jmp 0x9701
movsbl -0x9(%rbp), %eax
cmpl $0x62, %eax
jne 0x9701
movsbl -0xa(%rbp), %eax
cmpl $0x7, %eax
jle 0x9701
movsbl -0xa(%rbp), %eax
cmpl $0x8, %eax
jne 0x95ef
movq -0x190(%rbp), %rdi
movb $-0x60, -0x139(%rbp)
leaq -0x139(%rbp), %rsi
callq 0xa8f0
jmp 0x95ed
jmp 0x962c
movq -0x190(%rbp), %rdi
movb $-0x76, -0x13a(%rbp)
leaq -0x13a(%rbp), %rsi
callq 0xa8f0
jmp 0x960b
movq -0x190(%rbp), %rdi
movsbq -0xa(%rbp), %rax
leaq 0x11b42(%rip), %rcx     # 0x1b160
leaq -0x8(%rax,%rcx), %rsi
callq 0xaa00
jmp 0x962a
jmp 0x962c
movslq -0x64(%rbp), %rsi
leaq -0x158(%rbp), %rdi
movl $0x2, %edx
callq 0x75f0
jmp 0x9643
leaq -0x48(%rbp), %rdi
movq %rdi, -0x258(%rbp)
leaq -0x158(%rbp), %rsi
movq %rsi, -0x260(%rbp)
callq 0xa9b0
movq -0x260(%rbp), %rdi
callq 0xa920
movq -0x190(%rbp), %rdi
callq 0xab40
movq %rax, -0x168(%rbp)
leaq -0x160(%rbp), %rdi
leaq -0x168(%rbp), %rsi
callq 0xab70
movq -0x258(%rbp), %rdi
callq 0xabb0
movq -0x258(%rbp), %rdi
movq %rax, -0x170(%rbp)
callq 0xab40
movq -0x190(%rbp), %rdi
movq %rax, -0x178(%rbp)
movq -0x160(%rbp), %rsi
movq -0x170(%rbp), %rdx
movq -0x178(%rbp), %rcx
callq 0xaa90
movq %rax, -0x250(%rbp)
jmp 0x96e3
movq -0x250(%rbp), %rax
movq %rax, -0x180(%rbp)
movb $0x1, -0x2b(%rbp)
movl $0x1, -0x5c(%rbp)
jmp 0x98b5
movq -0x198(%rbp), %rdi
leaq 0x11f94(%rip), %rsi     # 0x1b6a3
callq 0xa8a0
movb %al, -0x261(%rbp)
jmp 0x971c
movb -0x261(%rbp), %al
testb $0x1, %al
jne 0x974f
jmp 0x9728
movq -0x198(%rbp), %rdi
leaq 0x11afd(%rip), %rsi     # 0x1b233
callq 0xa8a0
movb %al, -0x262(%rbp)
jmp 0x9743
movb -0x262(%rbp), %al
testb $0x1, %al
jne 0x974f
jmp 0x97b5
movsbl -0x9(%rbp), %eax
cmpl $0x77, %eax
jne 0x97b5
movq 0x17879(%rip), %rdi     # 0x20fd8
leaq 0x11bb4(%rip), %rsi     # 0x1b31a
callq 0x31f0
movq %rax, -0x270(%rbp)
jmp 0x9774
movq -0x1a0(%rbp), %rsi
movq -0x270(%rbp), %rdi
callq 0x31e0
movq %rax, -0x278(%rbp)
jmp 0x9790
movq -0x278(%rbp), %rdi
movq 0x17822(%rip), %rsi     # 0x20fc0
callq 0x3240
jmp 0x97a5
movb $0x1, -0x2b(%rbp)
movl $0x1, -0x5c(%rbp)
jmp 0x98b5
movq -0x198(%rbp), %rdi
leaq 0x11aab(%rip), %rsi     # 0x1b26e
callq 0xa8a0
movb %al, -0x279(%rbp)
jmp 0x97d0
movb -0x279(%rbp), %al
testb $0x1, %al
jne 0x9803
jmp 0x97dc
movq -0x198(%rbp), %rdi
leaq 0x11a89(%rip), %rsi     # 0x1b273
callq 0xa8a0
movb %al, -0x27a(%rbp)
jmp 0x97f7
movb -0x27a(%rbp), %al
testb $0x1, %al
jne 0x9803
jmp 0x985b
movsbl -0x9(%rbp), %eax
cmpl $0x62, %eax
jne 0x985b
movq 0x177c5(%rip), %rdi     # 0x20fd8
leaq 0x11b26(%rip), %rsi     # 0x1b340
callq 0x31f0
movq %rax, -0x288(%rbp)
jmp 0x9828
movq -0x1a0(%rbp), %rsi
movq -0x288(%rbp), %rdi
callq 0x31e0
movq %rax, -0x290(%rbp)
jmp 0x9844
movq -0x290(%rbp), %rdi
movq 0x1776e(%rip), %rsi     # 0x20fc0
callq 0x3240
jmp 0x9859
jmp 0x985b
jmp 0x985d
movq 0x17774(%rip), %rdi     # 0x20fd8
leaq 0x11af7(%rip), %rsi     # 0x1b362
callq 0x31f0
movq %rax, -0x298(%rbp)
jmp 0x9879
movq -0x1a0(%rbp), %rsi
movq -0x298(%rbp), %rdi
callq 0x31e0
movq %rax, -0x2a0(%rbp)
jmp 0x9895
movq -0x2a0(%rbp), %rdi
movq 0x1771d(%rip), %rsi     # 0x20fc0
callq 0x3240
jmp 0x98aa
movb $0x1, -0x2b(%rbp)
movl $0x1, -0x5c(%rbp)
leaq -0x48(%rbp), %rdi
callq 0xa920
testb $0x1, -0x2b(%rbp)
jne 0x98d0
movq -0x190(%rbp), %rdi
callq 0xa920
movq -0x188(%rbp), %rax
addq $0x2a0, %rsp            # imm = 0x2A0
popq %rbp
retq
movq -0x50(%rbp), %rdi
callq 0x33f0
nopl (%rax)