// File: /workspace/github_cpp_makefile_star2_O3/lindorx[P]train/HelpInsPro.cpp
// Function: regsub(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, int)
unsigned char regsub(const std::string& str, int num)
{
	if (num == 2){
		if (str == "CX")return CX_SUB;
		if (str == "DX")return DX_SUB;
		if (str == "BX")return BX_SUB;
		if (str == "SP")return SP_SUB;
		if (str == "BP")return BP_SUB;
		if (str == "SI")return SI_SUB;
		if (str == "DI")return DI_SUB;

		if (str == "cx")return CX_SUB;
		if (str == "dx")return DX_SUB;
		if (str == "bx")return BX_SUB;
		if (str == "sp")return SP_SUB;
		if (str == "bp")return BP_SUB;
		if (str == "si")return SI_SUB;
		if (str == "di")return DI_SUB;
	}
	else if (num == 1){
		if (str == "cl")return CL_SUB;
		if (str == "dl")return DL_SUB;
		if (str == "bl")return BL_SUB;
		if (str == "ah")return AH_SUB;
		if (str == "ch")return CH_SUB;
		if (str == "dh")return DH_SUB;
		if (str == "bh")return BH_SUB;

		if (str == "CL")return CL_SUB;
		if (str == "DL")return DL_SUB;
		if (str == "BL")return BL_SUB;
		if (str == "AH")return AH_SUB;
		if (str == "CH")return CH_SUB;
		if (str == "DH")return DH_SUB;
		if (str == "BH")return BH_SUB;
	}
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rdi, %rbx
cmpl $0x1, %esi
je 0x4e85
cmpl $0x2, %esi
jne 0x4fc8
leaq 0xc3f8(%rip), %rsi      # 0x1113b
movq %rbx, %rdi
callq 0x20a0
movb $-0x17, %r14b
testl %eax, %eax
je 0x4fe9
leaq 0xc3e1(%rip), %rsi      # 0x1113e
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4fcd
leaq 0xc3cd(%rip), %rsi      # 0x11141
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4fd2
leaq 0xc3b9(%rip), %rsi      # 0x11144
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4fd7
leaq 0xc3a5(%rip), %rsi      # 0x11147
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4fdc
leaq 0xc391(%rip), %rsi      # 0x1114a
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4fe1
leaq 0xc37d(%rip), %rsi      # 0x1114d
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4fe6
leaq 0xc36c(%rip), %rsi      # 0x11153
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4fe9
leaq 0xc358(%rip), %rsi      # 0x11156
movq %rbx, %rdi
callq 0x20a0
movb $-0x16, %r14b
testl %eax, %eax
je 0x4fe9
leaq 0xc341(%rip), %rsi      # 0x11159
movq %rbx, %rdi
callq 0x20a0
movb $-0x15, %r14b
testl %eax, %eax
je 0x4fe9
leaq 0xc32a(%rip), %rsi      # 0x1115c
movq %rbx, %rdi
callq 0x20a0
movb $-0x14, %r14b
testl %eax, %eax
je 0x4fe9
leaq 0xc313(%rip), %rsi      # 0x1115f
movq %rbx, %rdi
callq 0x20a0
movb $-0x13, %r14b
testl %eax, %eax
je 0x4fe9
leaq 0xc2fc(%rip), %rsi      # 0x11162
movq %rbx, %rdi
callq 0x20a0
movb $-0x12, %r14b
testl %eax, %eax
je 0x4fe9
leaq 0xc2e5(%rip), %rsi      # 0x11165
jmp 0x4fb9
leaq 0xc29d(%rip), %rsi      # 0x11129
movq %rbx, %rdi
callq 0x20a0
movb $-0x17, %r14b
testl %eax, %eax
je 0x4fe9
leaq 0xc289(%rip), %rsi      # 0x1112f
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4fcd
leaq 0xc278(%rip), %rsi      # 0x11135
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4fd2
leaq 0xc24c(%rip), %rsi      # 0x11120
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4fd7
leaq 0xc23b(%rip), %rsi      # 0x11126
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4fdc
leaq 0xc22a(%rip), %rsi      # 0x1112c
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4fe1
leaq 0xc219(%rip), %rsi      # 0x11132
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4fe6
leaq 0xc1e1(%rip), %rsi      # 0x11111
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4fe9
leaq 0xc1d0(%rip), %rsi      # 0x11117
movq %rbx, %rdi
callq 0x20a0
movb $-0x16, %r14b
testl %eax, %eax
je 0x4fe9
leaq 0xc1bc(%rip), %rsi      # 0x1111d
movq %rbx, %rdi
callq 0x20a0
movb $-0x15, %r14b
testl %eax, %eax
je 0x4fe9
leaq 0xc191(%rip), %rsi      # 0x11108
movq %rbx, %rdi
callq 0x20a0
movb $-0x14, %r14b
testl %eax, %eax
je 0x4fe9
leaq 0xc181(%rip), %rsi      # 0x1110e
movq %rbx, %rdi
callq 0x20a0
movb $-0x13, %r14b
testl %eax, %eax
je 0x4fe9
leaq 0xc171(%rip), %rsi      # 0x11114
movq %rbx, %rdi
callq 0x20a0
movb $-0x12, %r14b
testl %eax, %eax
je 0x4fe9
leaq 0xc161(%rip), %rsi      # 0x1111a
movq %rbx, %rdi
callq 0x20a0
movb $-0x11, %r14b
testl %eax, %eax
je 0x4fe9
xorl %r14d, %r14d
jmp 0x4fe9
movb $-0x16, %r14b
jmp 0x4fe9
movb $-0x15, %r14b
jmp 0x4fe9
movb $-0x14, %r14b
jmp 0x4fe9
movb $-0x13, %r14b
jmp 0x4fe9
movb $-0x12, %r14b
jmp 0x4fe9
movb $-0x11, %r14b
movl %r14d, %eax
popq %rbx
popq %r14
popq %rbp
retq