// File: lindorx[P]train/InsPro.cpp
// Function: Pop(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, int)
std::vector<unsigned char>Pop(const std::string& str, int n)
{
	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(0x58);
		return data;
	}
	else if (ch == "CX" || ch == "cx"){
		data.push_back(0x59);
		return data;
	}
	else if (ch == "DX" || ch == "dx"){
		data.push_back(0x5a);
		return data;
	}
	else if (ch == "BX" || ch == "bx"){
		data.push_back(0x5b);
		return data;
	}
	else if (ch == "SP" || ch == "sp"){
		data.push_back(0x5c);
		return data;
	}
	else if (ch == "BP" || ch == "bp"){
		data.push_back(0x5d);
		return data;
	}
	else if (ch == "SI" || ch == "si"){
		data.push_back(0x5e);
		return data;
	}
	else if (ch == "DI" || ch == "di"){
		data.push_back(0x5f);
		return data;
	}
	else if (ch == "ES" || ch == "es"){
		data.push_back(0x7);
		return data;
	}
	else if (ch == "CS" || ch == "cs"){
		data.push_back(0xf);
		return data;
	}
	else if (ch == "SS" || ch == "ss"){
		data.push_back(0x17);
		return data;
	}
	else if (ch == "DS" || ch == "ds"){
		data.push_back(0x1f);
		return data;
	}
	else {
		cout << "������popָ��:" << str << endl;
	}
	return data;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rdi, -0xa0(%rbp)
movq %rdi, %rax
movq %rax, -0x98(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movb $0x0, -0x15(%rbp)
callq 0xa8d0
leaq -0x30(%rbp), %rdi
callq 0xa8d0
leaq -0x50(%rbp), %rdi
callq 0x3330
movq -0x10(%rbp), %rsi
movl -0x14(%rbp), %edx
leaq -0x70(%rbp), %rdi
callq 0x67d0
jmp 0x130c4
leaq -0x50(%rbp), %rdi
movq %rdi, -0xb0(%rbp)
leaq -0x70(%rbp), %rsi
movq %rsi, -0xb8(%rbp)
callq 0x32c0
movq -0xb8(%rbp), %rdi
callq 0x3468
movq -0xb0(%rbp), %rdi
leaq 0x80af(%rip), %rsi      # 0x1b1a8
callq 0xa8a0
movb %al, -0xa1(%rbp)
jmp 0x13106
movb -0xa1(%rbp), %al
testb $0x1, %al
jne 0x13136
jmp 0x13112
leaq 0x80a7(%rip), %rsi      # 0x1b1c0
leaq -0x50(%rbp), %rdi
callq 0xa8a0
movb %al, -0xb9(%rbp)
jmp 0x1312a
movb -0xb9(%rbp), %al
testb $0x1, %al
jne 0x13136
jmp 0x1318e
movq -0xa0(%rbp), %rdi
movb $0x58, -0x7d(%rbp)
leaq -0x7d(%rbp), %rsi
callq 0xa8f0
jmp 0x1314c
movb $0x1, -0x15(%rbp)
movl $0x1, -0x84(%rbp)
jmp 0x13718
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x3468
leaq -0x30(%rbp), %rdi
callq 0xa920
movq -0xa0(%rbp), %rdi
callq 0xa920
jmp 0x1374c
leaq 0x8016(%rip), %rsi      # 0x1b1ab
leaq -0x50(%rbp), %rdi
callq 0xa8a0
movb %al, -0xba(%rbp)
jmp 0x131a6
movb -0xba(%rbp), %al
testb $0x1, %al
jne 0x131d6
jmp 0x131b2
leaq 0x800a(%rip), %rsi      # 0x1b1c3
leaq -0x50(%rbp), %rdi
callq 0xa8a0
movb %al, -0xbb(%rbp)
jmp 0x131ca
movb -0xbb(%rbp), %al
testb $0x1, %al
jne 0x131d6
jmp 0x13205
movq -0xa0(%rbp), %rdi
movb $0x59, -0x85(%rbp)
leaq -0x85(%rbp), %rsi
callq 0xa8f0
jmp 0x131f2
movb $0x1, -0x15(%rbp)
movl $0x1, -0x84(%rbp)
jmp 0x13718
leaq 0x7fa2(%rip), %rsi      # 0x1b1ae
leaq -0x50(%rbp), %rdi
callq 0xa8a0
movb %al, -0xbc(%rbp)
jmp 0x1321d
movb -0xbc(%rbp), %al
testb $0x1, %al
jne 0x1324d
jmp 0x13229
leaq 0x7f96(%rip), %rsi      # 0x1b1c6
leaq -0x50(%rbp), %rdi
callq 0xa8a0
movb %al, -0xbd(%rbp)
jmp 0x13241
movb -0xbd(%rbp), %al
testb $0x1, %al
jne 0x1324d
jmp 0x1327c
movq -0xa0(%rbp), %rdi
movb $0x5a, -0x86(%rbp)
leaq -0x86(%rbp), %rsi
callq 0xa8f0
jmp 0x13269
movb $0x1, -0x15(%rbp)
movl $0x1, -0x84(%rbp)
jmp 0x13718
leaq 0x7f2e(%rip), %rsi      # 0x1b1b1
leaq -0x50(%rbp), %rdi
callq 0xa8a0
movb %al, -0xbe(%rbp)
jmp 0x13294
movb -0xbe(%rbp), %al
testb $0x1, %al
jne 0x132c4
jmp 0x132a0
leaq 0x7f22(%rip), %rsi      # 0x1b1c9
leaq -0x50(%rbp), %rdi
callq 0xa8a0
movb %al, -0xbf(%rbp)
jmp 0x132b8
movb -0xbf(%rbp), %al
testb $0x1, %al
jne 0x132c4
jmp 0x132f3
movq -0xa0(%rbp), %rdi
movb $0x5b, -0x87(%rbp)
leaq -0x87(%rbp), %rsi
callq 0xa8f0
jmp 0x132e0
movb $0x1, -0x15(%rbp)
movl $0x1, -0x84(%rbp)
jmp 0x13718
leaq 0x7eba(%rip), %rsi      # 0x1b1b4
leaq -0x50(%rbp), %rdi
callq 0xa8a0
movb %al, -0xc0(%rbp)
jmp 0x1330b
movb -0xc0(%rbp), %al
testb $0x1, %al
jne 0x1333b
jmp 0x13317
leaq 0x7eae(%rip), %rsi      # 0x1b1cc
leaq -0x50(%rbp), %rdi
callq 0xa8a0
movb %al, -0xc1(%rbp)
jmp 0x1332f
movb -0xc1(%rbp), %al
testb $0x1, %al
jne 0x1333b
jmp 0x1336a
movq -0xa0(%rbp), %rdi
movb $0x5c, -0x88(%rbp)
leaq -0x88(%rbp), %rsi
callq 0xa8f0
jmp 0x13357
movb $0x1, -0x15(%rbp)
movl $0x1, -0x84(%rbp)
jmp 0x13718
leaq 0x7e46(%rip), %rsi      # 0x1b1b7
leaq -0x50(%rbp), %rdi
callq 0xa8a0
movb %al, -0xc2(%rbp)
jmp 0x13382
movb -0xc2(%rbp), %al
testb $0x1, %al
jne 0x133b2
jmp 0x1338e
leaq 0x7e3a(%rip), %rsi      # 0x1b1cf
leaq -0x50(%rbp), %rdi
callq 0xa8a0
movb %al, -0xc3(%rbp)
jmp 0x133a6
movb -0xc3(%rbp), %al
testb $0x1, %al
jne 0x133b2
jmp 0x133e1
movq -0xa0(%rbp), %rdi
movb $0x5d, -0x89(%rbp)
leaq -0x89(%rbp), %rsi
callq 0xa8f0
jmp 0x133ce
movb $0x1, -0x15(%rbp)
movl $0x1, -0x84(%rbp)
jmp 0x13718
leaq 0x7dd2(%rip), %rsi      # 0x1b1ba
leaq -0x50(%rbp), %rdi
callq 0xa8a0
movb %al, -0xc4(%rbp)
jmp 0x133f9
movb -0xc4(%rbp), %al
testb $0x1, %al
jne 0x13429
jmp 0x13405
leaq 0x7dc6(%rip), %rsi      # 0x1b1d2
leaq -0x50(%rbp), %rdi
callq 0xa8a0
movb %al, -0xc5(%rbp)
jmp 0x1341d
movb -0xc5(%rbp), %al
testb $0x1, %al
jne 0x13429
jmp 0x13458
movq -0xa0(%rbp), %rdi
movb $0x5e, -0x8a(%rbp)
leaq -0x8a(%rbp), %rsi
callq 0xa8f0
jmp 0x13445
movb $0x1, -0x15(%rbp)
movl $0x1, -0x84(%rbp)
jmp 0x13718
leaq 0x7d5e(%rip), %rsi      # 0x1b1bd
leaq -0x50(%rbp), %rdi
callq 0xa8a0
movb %al, -0xc6(%rbp)
jmp 0x13470
movb -0xc6(%rbp), %al
testb $0x1, %al
jne 0x134a0
jmp 0x1347c
leaq 0x7d52(%rip), %rsi      # 0x1b1d5
leaq -0x50(%rbp), %rdi
callq 0xa8a0
movb %al, -0xc7(%rbp)
jmp 0x13494
movb -0xc7(%rbp), %al
testb $0x1, %al
jne 0x134a0
jmp 0x134cf
movq -0xa0(%rbp), %rdi
movb $0x5f, -0x8b(%rbp)
leaq -0x8b(%rbp), %rsi
callq 0xa8f0
jmp 0x134bc
movb $0x1, -0x15(%rbp)
movl $0x1, -0x84(%rbp)
jmp 0x13718
leaq 0x7d02(%rip), %rsi      # 0x1b1d8
leaq -0x50(%rbp), %rdi
callq 0xa8a0
movb %al, -0xc8(%rbp)
jmp 0x134e7
movb -0xc8(%rbp), %al
testb $0x1, %al
jne 0x13517
jmp 0x134f3
leaq 0x7cea(%rip), %rsi      # 0x1b1e4
leaq -0x50(%rbp), %rdi
callq 0xa8a0
movb %al, -0xc9(%rbp)
jmp 0x1350b
movb -0xc9(%rbp), %al
testb $0x1, %al
jne 0x13517
jmp 0x13546
movq -0xa0(%rbp), %rdi
movb $0x7, -0x8c(%rbp)
leaq -0x8c(%rbp), %rsi
callq 0xa8f0
jmp 0x13533
movb $0x1, -0x15(%rbp)
movl $0x1, -0x84(%rbp)
jmp 0x13718
leaq 0x7c8e(%rip), %rsi      # 0x1b1db
leaq -0x50(%rbp), %rdi
callq 0xa8a0
movb %al, -0xca(%rbp)
jmp 0x1355e
movb -0xca(%rbp), %al
testb $0x1, %al
jne 0x1358e
jmp 0x1356a
leaq 0x7c76(%rip), %rsi      # 0x1b1e7
leaq -0x50(%rbp), %rdi
callq 0xa8a0
movb %al, -0xcb(%rbp)
jmp 0x13582
movb -0xcb(%rbp), %al
testb $0x1, %al
jne 0x1358e
jmp 0x135bd
movq -0xa0(%rbp), %rdi
movb $0xf, -0x8d(%rbp)
leaq -0x8d(%rbp), %rsi
callq 0xa8f0
jmp 0x135aa
movb $0x1, -0x15(%rbp)
movl $0x1, -0x84(%rbp)
jmp 0x13718
leaq 0x7c1a(%rip), %rsi      # 0x1b1de
leaq -0x50(%rbp), %rdi
callq 0xa8a0
movb %al, -0xcc(%rbp)
jmp 0x135d5
movb -0xcc(%rbp), %al
testb $0x1, %al
jne 0x13605
jmp 0x135e1
leaq 0x7c02(%rip), %rsi      # 0x1b1ea
leaq -0x50(%rbp), %rdi
callq 0xa8a0
movb %al, -0xcd(%rbp)
jmp 0x135f9
movb -0xcd(%rbp), %al
testb $0x1, %al
jne 0x13605
jmp 0x13634
movq -0xa0(%rbp), %rdi
movb $0x17, -0x8e(%rbp)
leaq -0x8e(%rbp), %rsi
callq 0xa8f0
jmp 0x13621
movb $0x1, -0x15(%rbp)
movl $0x1, -0x84(%rbp)
jmp 0x13718
leaq 0x7ba6(%rip), %rsi      # 0x1b1e1
leaq -0x50(%rbp), %rdi
callq 0xa8a0
movb %al, -0xce(%rbp)
jmp 0x1364c
movb -0xce(%rbp), %al
testb $0x1, %al
jne 0x1367c
jmp 0x13658
leaq 0x7b8e(%rip), %rsi      # 0x1b1ed
leaq -0x50(%rbp), %rdi
callq 0xa8a0
movb %al, -0xcf(%rbp)
jmp 0x13670
movb -0xcf(%rbp), %al
testb $0x1, %al
jne 0x1367c
jmp 0x136a8
movq -0xa0(%rbp), %rdi
movb $0x1f, -0x8f(%rbp)
leaq -0x8f(%rbp), %rsi
callq 0xa8f0
jmp 0x13698
movb $0x1, -0x15(%rbp)
movl $0x1, -0x84(%rbp)
jmp 0x13718
movq 0xd929(%rip), %rdi      # 0x20fd8
leaq 0x7e3e(%rip), %rsi      # 0x1b4f4
callq 0x31f0
movq %rax, -0xd8(%rbp)
jmp 0x136c4
movq -0xd8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x31e0
movq %rax, -0xe0(%rbp)
jmp 0x136dd
movq -0xe0(%rbp), %rdi
movq 0xd8d5(%rip), %rsi      # 0x20fc0
callq 0x3240
jmp 0x136f2
jmp 0x136f4
jmp 0x136f6
jmp 0x136f8
jmp 0x136fa
jmp 0x136fc
jmp 0x136fe
jmp 0x13700
jmp 0x13702
jmp 0x13704
jmp 0x13706
jmp 0x13708
jmp 0x1370a
movb $0x1, -0x15(%rbp)
movl $0x1, -0x84(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x3468
leaq -0x30(%rbp), %rdi
callq 0xa920
testb $0x1, -0x15(%rbp)
jne 0x1373c
movq -0xa0(%rbp), %rdi
callq 0xa920
movq -0x98(%rbp), %rax
addq $0xe0, %rsp
popq %rbp
retq
movq -0x78(%rbp), %rdi
callq 0x33f0
nopw %cs:(%rax,%rax)