// File: /workspace/github_cpp_makefile_star2_O1/lindorx[P]train/InsPro.cpp
// Function: Shl_Shr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, int, int, unsigned char)
std::vector<unsigned char>Shl_Shr(const std::string& str, int n, int num,unsigned char cmd_ch)
{
	using namespace std;
	string *ch;
	ch = CS(str, n);//CS����������ȡ���������ߵ�Ŀ���Ĵ�������Դ���������Զ�ȥ���ո�
	unsigned char m[2] = {0};
	vector<unsigned char>data;
	vector<unsigned char>d;
	for (int i = 0; i < 16; ++i){
		if (ch[0] == reg_1[i]){
			m[0] = 0xc0;
			if (i>7)m[1] = cmd_ch + i - 8;
			else m[1] = cmd_ch + i;

		}
		if (ch[0] == reg2[i]){
			m[0] = 0xc1;
			if (i>7)m[1] = cmd_ch + i - 8;
			else m[1] = cmd_ch + i;
		}
	}
	d = Num(ch[1], 1, num);
	if ((int)d.size() > 0 && m[0] != 0 && m[1] != 0){
		data.push_back(m[0]);
		data.push_back(m[1]);
		data.push_back(d[0]);
		return data;
	}
	cout << "����-021��������ָ�" << str << endl;
	return data;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movl %r8d, %r15d
movl %ecx, -0x3c(%rbp)
movq %rdi, %rbx
movq %rsi, -0x48(%rbp)
movq %rsi, %rdi
movl %edx, %esi
callq 0x3c1e
movq %rax, %r13
movw $0x0, -0x2a(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movq %rbx, -0x38(%rbp)
movq $0x0, 0x10(%rbx)
movq 0x8(%rax), %r14
movl $0x8, %r12d
xorl %ebx, %ebx
leaq 0x97ce(%rip), %rcx      # 0x15af0
leaq 0x99c7(%rip), %rdx      # 0x15cf0
cmpq (%r12,%rcx), %r14
jne 0xc36e
testq %r14, %r14
je 0xc357
movq -0x8(%r12,%rcx), %rsi
movq (%r13), %rdi
movq %r14, %rdx
callq 0x21f0
leaq 0x99a4(%rip), %rdx      # 0x15cf0
leaq 0x979d(%rip), %rcx      # 0x15af0
testl %eax, %eax
jne 0xc36e
movb $-0x40, -0x2a(%rbp)
cmpq $0x8, %rbx
jb 0xc36a
leal -0x8(%r15), %eax
movb %al, -0x29(%rbp)
jmp 0xc36e
movb %r15b, -0x29(%rbp)
cmpq (%r12,%rdx), %r14
jne 0xc3b3
testq %r14, %r14
je 0xc39c
movq -0x8(%r12,%rdx), %rsi
movq (%r13), %rdi
movq %r14, %rdx
callq 0x21f0
leaq 0x995f(%rip), %rdx      # 0x15cf0
leaq 0x9758(%rip), %rcx      # 0x15af0
testl %eax, %eax
jne 0xc3b3
movb $-0x3f, -0x2a(%rbp)
cmpq $0x8, %rbx
jb 0xc3af
leal -0x8(%r15), %eax
movb %al, -0x29(%rbp)
jmp 0xc3b3
movb %r15b, -0x29(%rbp)
incq %rbx
incb %r15b
addq $0x20, %r12
cmpq $0x10, %rbx
jne 0xc329
addq $0x20, %r13
leaq -0x60(%rbp), %rdi
movq %r13, %rsi
movl $0x1, %edx
movl -0x3c(%rbp), %ecx
callq 0x48ff
movq -0x60(%rbp), %r14
movl -0x58(%rbp), %eax
movq -0x50(%rbp), %r15
subl %r14d, %eax
testl %eax, %eax
movq -0x38(%rbp), %rbx
jle 0xc414
movb -0x2a(%rbp), %al
testb %al, %al
je 0xc414
cmpb $0x0, -0x29(%rbp)
je 0xc414
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0xc46f
movb %al, (%rsi)
incq 0x8(%rbx)
jmp 0xc47b
movq 0x8bbd(%rip), %rdi      # 0x14fd8
leaq 0x509d(%rip), %rsi      # 0x114bf
movl $0x16, %edx
callq 0x2210
movq -0x48(%rbp), %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq 0x8b9a(%rip), %rdi      # 0x14fd8
callq 0x2210
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x21b0
movsbl %al, %esi
movq %r12, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2130
jmp 0xc4bc
leaq -0x2a(%rbp), %rdx
movq %rbx, %rdi
callq 0x6920
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0xc490
movb -0x29(%rbp), %al
movb %al, (%rsi)
incq 0x8(%rbx)
jmp 0xc49c
leaq -0x29(%rbp), %rdx
movq %rbx, %rdi
callq 0x6920
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0xc4b1
movb (%r14), %al
movb %al, (%rsi)
incq 0x8(%rbx)
jmp 0xc4bc
movq %rbx, %rdi
movq %r14, %rdx
callq 0x6920
testq %r14, %r14
je 0xc4cf
subq %r14, %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x21d0
movq %rbx, %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r12
xorl %r14d, %r14d
xorl %r15d, %r15d
jmp 0xc4ef
movq %rax, %r12
testq %r14, %r14
je 0xc502
subq %r14, %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x21d0
movq -0x38(%rbp), %rax
movq (%rax), %rdi
testq %rdi, %rdi
je 0xc51e
movq -0x38(%rbp), %rax
movq 0x10(%rax), %rsi
subq %rdi, %rsi
callq 0x21d0
movq %r12, %rdi
callq 0x2300