// File: /workspace/github_cpp_makefile_star2_O2/lindorx[P]train/InsPro.cpp
// Function: Push(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, int, int)
std::vector<unsigned char>Push(const std::string& str, int n,int num)
{
	using namespace std;
	vector<unsigned char>data;
	vector<unsigned char>d;
	string ch;
	ch = CutStr(str,n);
	if (ch == "AX" || ch == "ax"){
		data.push_back(0x50);
		return data;
	}
	else if (ch == "CX" || ch == "cx"){
		data.push_back(0x51);
		return data;
	}
	else if (ch == "DX" || ch == "dx"){
		data.push_back(0x52);
		return data;
	}
	else if (ch == "BX" || ch == "bx"){
		data.push_back(0x53);
		return data;
	}
	else if (ch == "SP" || ch == "sp"){
		data.push_back(0x54);
		return data;
	}
	else if (ch == "BP" || ch == "bp"){
		data.push_back(0x55);
		return data;
	}
	else if (ch == "SI" || ch == "si"){
		data.push_back(0x56);
		return data;
	}
	else if (ch == "DI" || ch == "di"){
		data.push_back(0x57);
		return data;
	}
	else if (ch == "ES" || ch == "es"){
		data.push_back(0x6);
		return data;
	}
	else if (ch == "CS" || ch == "cs"){
		data.push_back(0xe);
		return data;
	}
	else if (ch == "SS" || ch == "ss"){
		data.push_back(0x16);
		return data;
	}
	else if (ch == "DS" || ch == "ds"){
		data.push_back(0x1e);
		return data;
	}
	else {
		int k = IntNum(ch, num);
		if (k > 0x7f){
			data.push_back(0x68);
			d = Num(ch, 2, num);
			data.insert(data.end(), d.begin(), d.end());
			return data;
		}
		else if(k>=0&&k<0x80){
			data.push_back(0x6a);
			d = Num(ch, 1, num);
			data.insert(data.end(), d.begin(), d.end());
			return data;
		}
		else{
			return data;
			//��������data��СΪ0��˵��Ϊ����
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x60, %rsp
movl %ecx, %r14d
movq %rdi, %rbx
andq $0x0, 0x10(%rdi)
xorps %xmm0, %xmm0
andq $0x0, -0x70(%rbp)
movups %xmm0, (%rdi)
movaps %xmm0, -0x80(%rbp)
leaq -0x30(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq -0x60(%rbp), %rdi
callq 0x35dc
leaq -0x40(%rbp), %r15
leaq -0x60(%rbp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2220
movq %r12, %rdi
callq 0x2358
leaq 0x406a(%rip), %rsi      # 0xd138
movq %r15, %rdi
callq 0x5ad5
testb %al, %al
jne 0x90ee
leaq 0x406f(%rip), %rsi      # 0xd150
leaq -0x40(%rbp), %rdi
callq 0x5ad5
testb %al, %al
je 0x911f
leaq -0x60(%rbp), %rsi
movb $0x50, (%rsi)
movq %rbx, %rdi
callq 0x5c1e
leaq -0x40(%rbp), %rdi
callq 0x2358
leaq -0x80(%rbp), %rdi
callq 0x5be8
movq %rbx, %rax
addq $0x60, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0x4015(%rip), %rsi      # 0xd13b
leaq -0x40(%rbp), %rdi
callq 0x5ad5
testb %al, %al
jne 0x9147
leaq 0x4019(%rip), %rsi      # 0xd153
leaq -0x40(%rbp), %rdi
callq 0x5ad5
testb %al, %al
je 0x9158
leaq -0x60(%rbp), %rsi
movb $0x51, (%rsi)
movq %rbx, %rdi
callq 0x5c1e
jmp 0x90fd
leaq 0x3fdf(%rip), %rsi      # 0xd13e
leaq -0x40(%rbp), %rdi
callq 0x5ad5
testb %al, %al
jne 0x9180
leaq 0x3fe3(%rip), %rsi      # 0xd156
leaq -0x40(%rbp), %rdi
callq 0x5ad5
testb %al, %al
je 0x9194
leaq -0x60(%rbp), %rsi
movb $0x52, (%rsi)
movq %rbx, %rdi
callq 0x5c1e
jmp 0x90fd
leaq 0x3fa6(%rip), %rsi      # 0xd141
leaq -0x40(%rbp), %rdi
callq 0x5ad5
testb %al, %al
jne 0x91bc
leaq 0x3faa(%rip), %rsi      # 0xd159
leaq -0x40(%rbp), %rdi
callq 0x5ad5
testb %al, %al
je 0x91d0
leaq -0x60(%rbp), %rsi
movb $0x53, (%rsi)
movq %rbx, %rdi
callq 0x5c1e
jmp 0x90fd
leaq 0x3f6d(%rip), %rsi      # 0xd144
leaq -0x40(%rbp), %rdi
callq 0x5ad5
testb %al, %al
jne 0x91f8
leaq 0x3f71(%rip), %rsi      # 0xd15c
leaq -0x40(%rbp), %rdi
callq 0x5ad5
testb %al, %al
je 0x920c
leaq -0x60(%rbp), %rsi
movb $0x54, (%rsi)
movq %rbx, %rdi
callq 0x5c1e
jmp 0x90fd
leaq 0x3f34(%rip), %rsi      # 0xd147
leaq -0x40(%rbp), %rdi
callq 0x5ad5
testb %al, %al
jne 0x9234
leaq 0x3f38(%rip), %rsi      # 0xd15f
leaq -0x40(%rbp), %rdi
callq 0x5ad5
testb %al, %al
je 0x9248
leaq -0x60(%rbp), %rsi
movb $0x55, (%rsi)
movq %rbx, %rdi
callq 0x5c1e
jmp 0x90fd
leaq 0x3efb(%rip), %rsi      # 0xd14a
leaq -0x40(%rbp), %rdi
callq 0x5ad5
testb %al, %al
jne 0x9270
leaq 0x3eff(%rip), %rsi      # 0xd162
leaq -0x40(%rbp), %rdi
callq 0x5ad5
testb %al, %al
je 0x9284
leaq -0x60(%rbp), %rsi
movb $0x56, (%rsi)
movq %rbx, %rdi
callq 0x5c1e
jmp 0x90fd
leaq 0x3ec2(%rip), %rsi      # 0xd14d
leaq -0x40(%rbp), %rdi
callq 0x5ad5
testb %al, %al
jne 0x92ac
leaq 0x3ec6(%rip), %rsi      # 0xd165
leaq -0x40(%rbp), %rdi
callq 0x5ad5
testb %al, %al
je 0x92c0
leaq -0x60(%rbp), %rsi
movb $0x57, (%rsi)
movq %rbx, %rdi
callq 0x5c1e
jmp 0x90fd
leaq 0x3ea1(%rip), %rsi      # 0xd168
leaq -0x40(%rbp), %rdi
callq 0x5ad5
testb %al, %al
jne 0x92e8
leaq 0x3e99(%rip), %rsi      # 0xd174
leaq -0x40(%rbp), %rdi
callq 0x5ad5
testb %al, %al
je 0x92fc
leaq -0x60(%rbp), %rsi
movb $0x6, (%rsi)
movq %rbx, %rdi
callq 0x5c1e
jmp 0x90fd
leaq 0x3e68(%rip), %rsi      # 0xd16b
leaq -0x40(%rbp), %rdi
callq 0x5ad5
testb %al, %al
jne 0x9324
leaq 0x3e60(%rip), %rsi      # 0xd177
leaq -0x40(%rbp), %rdi
callq 0x5ad5
testb %al, %al
je 0x9338
leaq -0x60(%rbp), %rsi
movb $0xe, (%rsi)
movq %rbx, %rdi
callq 0x5c1e
jmp 0x90fd
leaq 0x3e2f(%rip), %rsi      # 0xd16e
leaq -0x40(%rbp), %rdi
callq 0x5ad5
testb %al, %al
jne 0x9360
leaq 0x3e27(%rip), %rsi      # 0xd17a
leaq -0x40(%rbp), %rdi
callq 0x5ad5
testb %al, %al
je 0x9374
leaq -0x60(%rbp), %rsi
movb $0x16, (%rsi)
movq %rbx, %rdi
callq 0x5c1e
jmp 0x90fd
leaq 0x3df6(%rip), %rsi      # 0xd171
leaq -0x40(%rbp), %rdi
callq 0x5ad5
testb %al, %al
jne 0x939c
leaq 0x3dee(%rip), %rsi      # 0xd17d
leaq -0x40(%rbp), %rdi
callq 0x5ad5
testb %al, %al
je 0x93b0
leaq -0x60(%rbp), %rsi
movb $0x1e, (%rsi)
movq %rbx, %rdi
callq 0x5c1e
jmp 0x90fd
leaq -0x40(%rbp), %rdi
movl %r14d, %esi
callq 0x3f4c
cmpl $0x80, %eax
jl 0x9418
leaq -0x60(%rbp), %rsi
movb $0x68, (%rsi)
movq %rbx, %rdi
callq 0x5c1e
leaq -0x60(%rbp), %rdi
leaq -0x40(%rbp), %rsi
pushq $0x2
popq %rdx
movl %r14d, %ecx
callq 0x420a
leaq -0x80(%rbp), %r14
leaq -0x60(%rbp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x5d96
movq %r15, %rdi
callq 0x5be8
movq 0x8(%rbx), %rsi
movq (%r14), %rdx
movq 0x8(%r14), %rcx
movq %rbx, %rdi
callq 0x5b08
jmp 0x90fd
testl %eax, %eax
js 0x90fd
leaq -0x60(%rbp), %rsi
movb $0x6a, (%rsi)
movq %rbx, %rdi
callq 0x5c1e
leaq -0x60(%rbp), %rdi
leaq -0x40(%rbp), %rsi
pushq $0x1
popq %rdx
movl %r14d, %ecx
callq 0x420a
leaq -0x80(%rbp), %r14
leaq -0x60(%rbp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x5d96
movq %r15, %rdi
callq 0x5be8
movq 0x8(%rbx), %rsi
movq (%r14), %rdx
movq 0x8(%r14), %rcx
movq %rbx, %rdi
callq 0x5b08
jmp 0x90fd
jmp 0x949b
jmp 0x949b
jmp 0x949b
jmp 0x949b
jmp 0x949b
jmp 0x949b
jmp 0x949b
jmp 0x949b
jmp 0x949b
jmp 0x949b
jmp 0x949b
jmp 0x949b
jmp 0x949b
jmp 0x949b
jmp 0x949b
jmp 0x949b
jmp 0x949b
jmp 0x949b
jmp 0x949b
movq %rax, %r14
leaq -0x40(%rbp), %rdi
callq 0x2358
leaq -0x80(%rbp), %rdi
callq 0x5be8
movq %rbx, %rdi
callq 0x5be8
movq %r14, %rdi
callq 0x2300