// File: /workspace/github_cpp_makefile_star2_O1/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 0x4e96
cmpl $0x2, %esi
jne 0x4fd9
leaq 0xc3e7(%rip), %rsi      # 0x1113b
movq %rbx, %rdi
callq 0x20a0
movb $-0x17, %r14b
testl %eax, %eax
je 0x4ffa
leaq 0xc3d0(%rip), %rsi      # 0x1113e
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4fde
leaq 0xc3bc(%rip), %rsi      # 0x11141
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4fe3
leaq 0xc3a8(%rip), %rsi      # 0x11144
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4fe8
leaq 0xc394(%rip), %rsi      # 0x11147
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4fed
leaq 0xc380(%rip), %rsi      # 0x1114a
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4ff2
leaq 0xc36c(%rip), %rsi      # 0x1114d
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4ff7
leaq 0xc35b(%rip), %rsi      # 0x11153
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4ffa
leaq 0xc347(%rip), %rsi      # 0x11156
movq %rbx, %rdi
callq 0x20a0
movb $-0x16, %r14b
testl %eax, %eax
je 0x4ffa
leaq 0xc330(%rip), %rsi      # 0x11159
movq %rbx, %rdi
callq 0x20a0
movb $-0x15, %r14b
testl %eax, %eax
je 0x4ffa
leaq 0xc319(%rip), %rsi      # 0x1115c
movq %rbx, %rdi
callq 0x20a0
movb $-0x14, %r14b
testl %eax, %eax
je 0x4ffa
leaq 0xc302(%rip), %rsi      # 0x1115f
movq %rbx, %rdi
callq 0x20a0
movb $-0x13, %r14b
testl %eax, %eax
je 0x4ffa
leaq 0xc2eb(%rip), %rsi      # 0x11162
movq %rbx, %rdi
callq 0x20a0
movb $-0x12, %r14b
testl %eax, %eax
je 0x4ffa
leaq 0xc2d4(%rip), %rsi      # 0x11165
jmp 0x4fca
leaq 0xc28c(%rip), %rsi      # 0x11129
movq %rbx, %rdi
callq 0x20a0
movb $-0x17, %r14b
testl %eax, %eax
je 0x4ffa
leaq 0xc278(%rip), %rsi      # 0x1112f
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4fde
leaq 0xc267(%rip), %rsi      # 0x11135
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4fe3
leaq 0xc23b(%rip), %rsi      # 0x11120
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4fe8
leaq 0xc22a(%rip), %rsi      # 0x11126
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4fed
leaq 0xc219(%rip), %rsi      # 0x1112c
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4ff2
leaq 0xc208(%rip), %rsi      # 0x11132
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4ff7
leaq 0xc1d0(%rip), %rsi      # 0x11111
movq %rbx, %rdi
callq 0x20a0
testl %eax, %eax
je 0x4ffa
leaq 0xc1bf(%rip), %rsi      # 0x11117
movq %rbx, %rdi
callq 0x20a0
movb $-0x16, %r14b
testl %eax, %eax
je 0x4ffa
leaq 0xc1ab(%rip), %rsi      # 0x1111d
movq %rbx, %rdi
callq 0x20a0
movb $-0x15, %r14b
testl %eax, %eax
je 0x4ffa
leaq 0xc180(%rip), %rsi      # 0x11108
movq %rbx, %rdi
callq 0x20a0
movb $-0x14, %r14b
testl %eax, %eax
je 0x4ffa
leaq 0xc170(%rip), %rsi      # 0x1110e
movq %rbx, %rdi
callq 0x20a0
movb $-0x13, %r14b
testl %eax, %eax
je 0x4ffa
leaq 0xc160(%rip), %rsi      # 0x11114
movq %rbx, %rdi
callq 0x20a0
movb $-0x12, %r14b
testl %eax, %eax
je 0x4ffa
leaq 0xc150(%rip), %rsi      # 0x1111a
movq %rbx, %rdi
callq 0x20a0
movb $-0x11, %r14b
testl %eax, %eax
je 0x4ffa
xorl %r14d, %r14d
jmp 0x4ffa
movb $-0x16, %r14b
jmp 0x4ffa
movb $-0x15, %r14b
jmp 0x4ffa
movb $-0x14, %r14b
jmp 0x4ffa
movb $-0x13, %r14b
jmp 0x4ffa
movb $-0x12, %r14b
jmp 0x4ffa
movb $-0x11, %r14b
movl %r14d, %eax
popq %rbx
popq %r14
popq %rbp
retq