// File: lindorx[P]train/HelpInsPro.cpp
// Function: regadd(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, int)
unsigned char regadd(const std::string& str,int num)
{
	if (num == 2){
		if (str == "CX")return CX_ADD;
		if (str == "DX")return DX_ADD;
		if (str == "BX")return BX_ADD;
		if (str == "SP")return SP_ADD;
		if (str == "BP")return BP_ADD;
		if (str == "SI")return SI_ADD;
		if (str == "DI")return DI_ADD;

		if (str == "cx")return CX_ADD;
		if (str == "dx")return DX_ADD;
		if (str == "bx")return BX_ADD;
		if (str == "sp")return SP_ADD;
		if (str == "bp")return BP_ADD;
		if (str == "si")return SI_ADD;
		if (str == "di")return DI_ADD;
	}
	else if (num == 1){
		if (str == "cl")return CL_ADD;
		if (str == "dl")return DL_ADD;
		if (str == "bl")return BL_ADD;
		if (str == "ah")return AH_ADD;
		if (str == "ch")return CH_ADD;
		if (str == "dh")return DH_ADD;
		if (str == "bh")return BH_ADD;

		if (str == "CL")return CL_ADD;
		if (str == "DL")return DL_ADD;
		if (str == "BL")return BL_ADD;
		if (str == "AH")return AH_ADD;
		if (str == "CH")return CH_ADD;
		if (str == "DH")return DH_ADD;
		if (str == "BH")return BH_ADD;
	}
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
cmpl $0x2, -0x14(%rbp)
jne 0x7ff0
movq -0x10(%rbp), %rdi
leaq 0x13367(%rip), %rsi     # 0x1b1ab
callq 0xa8a0
testb $0x1, %al
jne 0x7e4f
jmp 0x7e58
movb $-0x3f, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x1334b(%rip), %rsi     # 0x1b1ae
callq 0xa8a0
testb $0x1, %al
jne 0x7e6e
jmp 0x7e77
movb $-0x3e, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x1332f(%rip), %rsi     # 0x1b1b1
callq 0xa8a0
testb $0x1, %al
jne 0x7e8d
jmp 0x7e96
movb $-0x3d, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x13313(%rip), %rsi     # 0x1b1b4
callq 0xa8a0
testb $0x1, %al
jne 0x7eac
jmp 0x7eb5
movb $-0x3c, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x132f7(%rip), %rsi     # 0x1b1b7
callq 0xa8a0
testb $0x1, %al
jne 0x7ecb
jmp 0x7ed4
movb $-0x3b, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x132db(%rip), %rsi     # 0x1b1ba
callq 0xa8a0
testb $0x1, %al
jne 0x7eea
jmp 0x7ef3
movb $-0x3a, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x132bf(%rip), %rsi     # 0x1b1bd
callq 0xa8a0
testb $0x1, %al
jne 0x7f09
jmp 0x7f12
movb $-0x39, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x132a6(%rip), %rsi     # 0x1b1c3
callq 0xa8a0
testb $0x1, %al
jne 0x7f28
jmp 0x7f31
movb $-0x3f, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x1328a(%rip), %rsi     # 0x1b1c6
callq 0xa8a0
testb $0x1, %al
jne 0x7f47
jmp 0x7f50
movb $-0x3e, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x1326e(%rip), %rsi     # 0x1b1c9
callq 0xa8a0
testb $0x1, %al
jne 0x7f66
jmp 0x7f6f
movb $-0x3d, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x13252(%rip), %rsi     # 0x1b1cc
callq 0xa8a0
testb $0x1, %al
jne 0x7f85
jmp 0x7f8e
movb $-0x3c, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x13236(%rip), %rsi     # 0x1b1cf
callq 0xa8a0
testb $0x1, %al
jne 0x7fa4
jmp 0x7fad
movb $-0x3b, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x1321a(%rip), %rsi     # 0x1b1d2
callq 0xa8a0
testb $0x1, %al
jne 0x7fc3
jmp 0x7fcc
movb $-0x3a, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x131fe(%rip), %rsi     # 0x1b1d5
callq 0xa8a0
testb $0x1, %al
jne 0x7fe2
jmp 0x7feb
movb $-0x39, -0x1(%rbp)
jmp 0x81a5
jmp 0x81a1
cmpl $0x1, -0x14(%rbp)
jne 0x819f
movq -0x10(%rbp), %rdi
leaq 0x13194(%rip), %rsi     # 0x1b199
callq 0xa8a0
testb $0x1, %al
jne 0x8010
jmp 0x8019
movb $-0x3f, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x1317b(%rip), %rsi     # 0x1b19f
callq 0xa8a0
testb $0x1, %al
jne 0x802f
jmp 0x8038
movb $-0x3e, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x13162(%rip), %rsi     # 0x1b1a5
callq 0xa8a0
testb $0x1, %al
jne 0x804e
jmp 0x8057
movb $-0x3d, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x1312e(%rip), %rsi     # 0x1b190
callq 0xa8a0
testb $0x1, %al
jne 0x806d
jmp 0x8076
movb $-0x3c, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x13115(%rip), %rsi     # 0x1b196
callq 0xa8a0
testb $0x1, %al
jne 0x808c
jmp 0x8095
movb $-0x3b, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x130fc(%rip), %rsi     # 0x1b19c
callq 0xa8a0
testb $0x1, %al
jne 0x80ab
jmp 0x80b4
movb $-0x3a, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x130e3(%rip), %rsi     # 0x1b1a2
callq 0xa8a0
testb $0x1, %al
jne 0x80ca
jmp 0x80d3
movb $-0x39, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x130a3(%rip), %rsi     # 0x1b181
callq 0xa8a0
testb $0x1, %al
jne 0x80e9
jmp 0x80f2
movb $-0x3f, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x1308a(%rip), %rsi     # 0x1b187
callq 0xa8a0
testb $0x1, %al
jne 0x8108
jmp 0x8111
movb $-0x3e, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x13071(%rip), %rsi     # 0x1b18d
callq 0xa8a0
testb $0x1, %al
jne 0x8127
jmp 0x812d
movb $-0x3d, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x13040(%rip), %rsi     # 0x1b178
callq 0xa8a0
testb $0x1, %al
jne 0x8143
jmp 0x8149
movb $-0x3c, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x1302a(%rip), %rsi     # 0x1b17e
callq 0xa8a0
testb $0x1, %al
jne 0x815f
jmp 0x8165
movb $-0x3b, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x13014(%rip), %rsi     # 0x1b184
callq 0xa8a0
testb $0x1, %al
jne 0x817b
jmp 0x8181
movb $-0x3a, -0x1(%rbp)
jmp 0x81a5
movq -0x10(%rbp), %rdi
leaq 0x12ffe(%rip), %rsi     # 0x1b18a
callq 0xa8a0
testb $0x1, %al
jne 0x8197
jmp 0x819d
movb $-0x39, -0x1(%rbp)
jmp 0x81a5
jmp 0x819f
jmp 0x81a1
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
addq $0x20, %rsp
popq %rbp
retq
nop