// File: /workspace/github_cpp_makefile_star2_O3/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 $0x58, %rsp
movl %r8d, %r12d
movl %ecx, -0x44(%rbp)
movq %rdi, %rbx
movq %rsi, -0x60(%rbp)
movq %rsi, %rdi
movl %edx, %esi
callq 0x3c1c
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movq %rbx, -0x38(%rbp)
movq $0x0, 0x10(%rbx)
movq %rax, -0x40(%rbp)
movq 0x8(%rax), %r15
leal -0x8(%r12), %eax
movq %rax, -0x58(%rbp)
movl %r12d, %eax
movq %rax, -0x50(%rbp)
leaq 0x9bcb(%rip), %r12      # 0x15cf0
leaq 0x99cc(%rip), %rbx      # 0x15af8
xorl %r14d, %r14d
movl $0x0, -0x30(%rbp)
xorl %r13d, %r13d
cmpq (%rbx), %r15
jne 0xc17f
testq %r15, %r15
je 0xc166
movq -0x8(%rbx), %rsi
movq -0x40(%rbp), %rax
movq (%rax), %rdi
movq %r15, %rdx
callq 0x21f0
testl %eax, %eax
je 0xc166
movq %r12, %rax
cmpq 0x8(%r12), %r15
je 0xc19c
jmp 0xc1cb
cmpq $0x8, %r14
jb 0xc172
movq -0x58(%rbp), %rax
jmp 0xc176
movq -0x50(%rbp), %rax
addl %r14d, %eax
movl %eax, -0x30(%rbp)
movb $-0x40, %r13b
cmpq 0x8(%r12), %r15
jne 0xc1cb
testq %r15, %r15
je 0xc1b2
movq %r14, %rax
shlq $0x5, %rax
leaq 0x9b57(%rip), %rcx      # 0x15cf0
addq %rcx, %rax
movq (%rax), %rsi
movq -0x40(%rbp), %rax
movq (%rax), %rdi
movq %r15, %rdx
callq 0x21f0
testl %eax, %eax
jne 0xc1cb
cmpq $0x8, %r14
jb 0xc1be
movq -0x58(%rbp), %rax
jmp 0xc1c2
movq -0x50(%rbp), %rax
addl %r14d, %eax
movl %eax, -0x30(%rbp)
movb $-0x3f, %r13b
incq %r14
addq $0x20, %r12
addq $0x20, %rbx
cmpq $0x10, %r14
jne 0xc139
movl -0x30(%rbp), %ebx
movb %bl, -0x29(%rbp)
movb %r13b, -0x2a(%rbp)
movq -0x40(%rbp), %rsi
addq $0x20, %rsi
leaq -0x78(%rbp), %rdi
movl $0x1, %edx
movl -0x44(%rbp), %ecx
callq 0x48ee
movq -0x78(%rbp), %r15
movl -0x70(%rbp), %eax
movq -0x68(%rbp), %r12
subl %r15d, %eax
testl %eax, %eax
jle 0xc24c
testb %r13b, %r13b
je 0xc24c
testb %bl, %bl
je 0xc24c
leaq -0x2a(%rbp), %rdx
movq -0x38(%rbp), %rbx
movq %rbx, %rdi
xorl %esi, %esi
callq 0x67cc
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0xc2ab
movb -0x29(%rbp), %al
movb %al, (%rsi)
movq 0x8(%rbx), %rsi
incq %rsi
movq %rsi, 0x8(%rbx)
jmp 0xc2bb
movq 0x8d85(%rip), %rdi      # 0x14fd8
leaq 0x5265(%rip), %rsi      # 0x114bf
movl $0x16, %edx
movq -0x38(%rbp), %rbx
callq 0x2210
movq -0x60(%rbp), %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq 0x8d5e(%rip), %rdi      # 0x14fd8
callq 0x2210
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21b0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2130
jmp 0xc2d7
movq %rbx, %rdi
leaq -0x29(%rbp), %rdx
callq 0x67cc
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0xc2cc
movb (%r15), %al
movb %al, (%rsi)
incq 0x8(%rbx)
jmp 0xc2dc
movq %rbx, %rdi
movq %r15, %rdx
callq 0x67cc
testq %r15, %r15
je 0xc2ea
subq %r15, %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x21d0
movq %rbx, %rax
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
jmp 0xc317
movq %rax, %r14
testq %r15, %r15
je 0xc317
subq %r15, %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x21d0
movq -0x38(%rbp), %rax
movq (%rax), %rdi
testq %rdi, %rdi
je 0xc333
movq -0x38(%rbp), %rax
movq 0x10(%rax), %rsi
subq %rdi, %rsi
callq 0x21d0
movq %r14, %rdi
callq 0x2300