// File: /workspace/github_cpp_makefile_star2_O2/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 0x44eb
cmpl $0x2, %esi
jne 0x4642
leaq 0x8d92(%rip), %rsi      # 0xd13b
movq %rbx, %rdi
callq 0x5ad5
movb $-0x3f, %r14b
testb %al, %al
jne 0x4645
leaq 0x8d7b(%rip), %rsi      # 0xd13e
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
jne 0x4518
leaq 0x8d67(%rip), %rsi      # 0xd141
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
jne 0x4533
leaq 0x8d53(%rip), %rsi      # 0xd144
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
jne 0x454e
leaq 0x8d3f(%rip), %rsi      # 0xd147
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
jne 0x4569
leaq 0x8d2b(%rip), %rsi      # 0xd14a
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
jne 0x4584
leaq 0x8d17(%rip), %rsi      # 0xd14d
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
jne 0x459f
leaq 0x8d06(%rip), %rsi      # 0xd153
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
jne 0x4645
leaq 0x8cf2(%rip), %rsi      # 0xd156
movq %rbx, %rdi
callq 0x5ad5
movb $-0x3e, %r14b
testb %al, %al
jne 0x4645
leaq 0x8cdb(%rip), %rsi      # 0xd159
movq %rbx, %rdi
callq 0x5ad5
movb $-0x3d, %r14b
testb %al, %al
jne 0x4645
leaq 0x8cc4(%rip), %rsi      # 0xd15c
movq %rbx, %rdi
callq 0x5ad5
movb $-0x3c, %r14b
testb %al, %al
jne 0x4645
leaq 0x8cad(%rip), %rsi      # 0xd15f
movq %rbx, %rdi
callq 0x5ad5
movb $-0x3b, %r14b
testb %al, %al
jne 0x4645
leaq 0x8c96(%rip), %rsi      # 0xd162
movq %rbx, %rdi
callq 0x5ad5
movb $-0x3a, %r14b
testb %al, %al
jne 0x4645
leaq 0x8c7f(%rip), %rsi      # 0xd165
jmp 0x4633
leaq 0x8c37(%rip), %rsi      # 0xd129
movq %rbx, %rdi
callq 0x5ad5
movb $-0x3f, %r14b
testb %al, %al
jne 0x4645
leaq 0x8c23(%rip), %rsi      # 0xd12f
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
je 0x4520
movb $-0x3e, %r14b
jmp 0x4645
leaq 0x8c0e(%rip), %rsi      # 0xd135
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
je 0x453b
movb $-0x3d, %r14b
jmp 0x4645
leaq 0x8bde(%rip), %rsi      # 0xd120
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
je 0x4556
movb $-0x3c, %r14b
jmp 0x4645
leaq 0x8bc9(%rip), %rsi      # 0xd126
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
je 0x4571
movb $-0x3b, %r14b
jmp 0x4645
leaq 0x8bb4(%rip), %rsi      # 0xd12c
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
je 0x458c
movb $-0x3a, %r14b
jmp 0x4645
leaq 0x8b9f(%rip), %rsi      # 0xd132
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
je 0x45a7
movb $-0x39, %r14b
jmp 0x4645
leaq 0x8b63(%rip), %rsi      # 0xd111
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
jne 0x4645
leaq 0x8b52(%rip), %rsi      # 0xd117
movq %rbx, %rdi
callq 0x5ad5
movb $-0x3e, %r14b
testb %al, %al
jne 0x4645
leaq 0x8b42(%rip), %rsi      # 0xd11d
movq %rbx, %rdi
callq 0x5ad5
movb $-0x3d, %r14b
testb %al, %al
jne 0x4645
leaq 0x8b17(%rip), %rsi      # 0xd108
movq %rbx, %rdi
callq 0x5ad5
movb $-0x3c, %r14b
testb %al, %al
jne 0x4645
leaq 0x8b07(%rip), %rsi      # 0xd10e
movq %rbx, %rdi
callq 0x5ad5
movb $-0x3b, %r14b
testb %al, %al
jne 0x4645
leaq 0x8af7(%rip), %rsi      # 0xd114
movq %rbx, %rdi
callq 0x5ad5
movb $-0x3a, %r14b
testb %al, %al
jne 0x4645
leaq 0x8ae7(%rip), %rsi      # 0xd11a
movq %rbx, %rdi
callq 0x5ad5
movb $-0x39, %r14b
testb %al, %al
jne 0x4645
xorl %r14d, %r14d
movl %r14d, %eax
popq %rbx
popq %r14
popq %rbp
retq