// File: /workspace/github_cpp_makefile_star2_O3/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
pushq %r14
pushq %rbx
movq %rdi, %rbx
cmpl $0x1, %esi
je 0x4bb4
cmpl $0x2, %esi
jne 0x4cf7
leaq 0xc6c9(%rip), %rsi      # 0x1113b
movq %rbx, %rdi
callq 0x20a0
movb $-0x3f, %r14b
testl %eax, %eax
je 0x4d18
leaq 0xc6b2(%rip), %rsi      # 0x1113e
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4cfc
leaq 0xc69e(%rip), %rsi      # 0x11141
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4d01
leaq 0xc68a(%rip), %rsi      # 0x11144
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4d06
leaq 0xc676(%rip), %rsi      # 0x11147
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4d0b
leaq 0xc662(%rip), %rsi      # 0x1114a
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4d10
leaq 0xc64e(%rip), %rsi      # 0x1114d
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4d15
leaq 0xc63d(%rip), %rsi      # 0x11153
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4d18
leaq 0xc629(%rip), %rsi      # 0x11156
movq %rbx, %rdi
callq 0x20a0
movb $-0x3e, %r14b
testl %eax, %eax
je 0x4d18
leaq 0xc612(%rip), %rsi      # 0x11159
movq %rbx, %rdi
callq 0x20a0
movb $-0x3d, %r14b
testl %eax, %eax
je 0x4d18
leaq 0xc5fb(%rip), %rsi      # 0x1115c
movq %rbx, %rdi
callq 0x20a0
movb $-0x3c, %r14b
testl %eax, %eax
je 0x4d18
leaq 0xc5e4(%rip), %rsi      # 0x1115f
movq %rbx, %rdi
callq 0x20a0
movb $-0x3b, %r14b
testl %eax, %eax
je 0x4d18
leaq 0xc5cd(%rip), %rsi      # 0x11162
movq %rbx, %rdi
callq 0x20a0
movb $-0x3a, %r14b
testl %eax, %eax
je 0x4d18
leaq 0xc5b6(%rip), %rsi      # 0x11165
jmp 0x4ce8
leaq 0xc56e(%rip), %rsi      # 0x11129
movq %rbx, %rdi
callq 0x20a0
movb $-0x3f, %r14b
testl %eax, %eax
je 0x4d18
leaq 0xc55a(%rip), %rsi      # 0x1112f
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4cfc
leaq 0xc549(%rip), %rsi      # 0x11135
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4d01
leaq 0xc51d(%rip), %rsi      # 0x11120
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4d06
leaq 0xc50c(%rip), %rsi      # 0x11126
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4d0b
leaq 0xc4fb(%rip), %rsi      # 0x1112c
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4d10
leaq 0xc4ea(%rip), %rsi      # 0x11132
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4d15
leaq 0xc4b2(%rip), %rsi      # 0x11111
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4d18
leaq 0xc4a1(%rip), %rsi      # 0x11117
movq %rbx, %rdi
callq 0x20a0
movb $-0x3e, %r14b
testl %eax, %eax
je 0x4d18
leaq 0xc48d(%rip), %rsi      # 0x1111d
movq %rbx, %rdi
callq 0x20a0
movb $-0x3d, %r14b
testl %eax, %eax
je 0x4d18
leaq 0xc462(%rip), %rsi      # 0x11108
movq %rbx, %rdi
callq 0x20a0
movb $-0x3c, %r14b
testl %eax, %eax
je 0x4d18
leaq 0xc452(%rip), %rsi      # 0x1110e
movq %rbx, %rdi
callq 0x20a0
movb $-0x3b, %r14b
testl %eax, %eax
je 0x4d18
leaq 0xc442(%rip), %rsi      # 0x11114
movq %rbx, %rdi
callq 0x20a0
movb $-0x3a, %r14b
testl %eax, %eax
je 0x4d18
leaq 0xc432(%rip), %rsi      # 0x1111a
movq %rbx, %rdi
callq 0x20a0
movb $-0x39, %r14b
testl %eax, %eax
je 0x4d18
xorl %r14d, %r14d
jmp 0x4d18
movb $-0x3e, %r14b
jmp 0x4d18
movb $-0x3d, %r14b
jmp 0x4d18
movb $-0x3c, %r14b
jmp 0x4d18
movb $-0x3b, %r14b
jmp 0x4d18
movb $-0x3a, %r14b
jmp 0x4d18
movb $-0x39, %r14b
movl %r14d, %eax
popq %rbx
popq %r14
popq %rbp
retq