// File: /workspace/github_cpp_makefile_star2_O2/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 0x47b2
cmpl $0x2, %esi
jne 0x4909
leaq 0x8acb(%rip), %rsi      # 0xd13b
movq %rbx, %rdi
callq 0x5ad5
movb $-0x17, %r14b
testb %al, %al
jne 0x490c
leaq 0x8ab4(%rip), %rsi      # 0xd13e
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
jne 0x47df
leaq 0x8aa0(%rip), %rsi      # 0xd141
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
jne 0x47fa
leaq 0x8a8c(%rip), %rsi      # 0xd144
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
jne 0x4815
leaq 0x8a78(%rip), %rsi      # 0xd147
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
jne 0x4830
leaq 0x8a64(%rip), %rsi      # 0xd14a
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
jne 0x484b
leaq 0x8a50(%rip), %rsi      # 0xd14d
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
jne 0x4866
leaq 0x8a3f(%rip), %rsi      # 0xd153
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
jne 0x490c
leaq 0x8a2b(%rip), %rsi      # 0xd156
movq %rbx, %rdi
callq 0x5ad5
movb $-0x16, %r14b
testb %al, %al
jne 0x490c
leaq 0x8a14(%rip), %rsi      # 0xd159
movq %rbx, %rdi
callq 0x5ad5
movb $-0x15, %r14b
testb %al, %al
jne 0x490c
leaq 0x89fd(%rip), %rsi      # 0xd15c
movq %rbx, %rdi
callq 0x5ad5
movb $-0x14, %r14b
testb %al, %al
jne 0x490c
leaq 0x89e6(%rip), %rsi      # 0xd15f
movq %rbx, %rdi
callq 0x5ad5
movb $-0x13, %r14b
testb %al, %al
jne 0x490c
leaq 0x89cf(%rip), %rsi      # 0xd162
movq %rbx, %rdi
callq 0x5ad5
movb $-0x12, %r14b
testb %al, %al
jne 0x490c
leaq 0x89b8(%rip), %rsi      # 0xd165
jmp 0x48fa
leaq 0x8970(%rip), %rsi      # 0xd129
movq %rbx, %rdi
callq 0x5ad5
movb $-0x17, %r14b
testb %al, %al
jne 0x490c
leaq 0x895c(%rip), %rsi      # 0xd12f
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
je 0x47e7
movb $-0x16, %r14b
jmp 0x490c
leaq 0x8947(%rip), %rsi      # 0xd135
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
je 0x4802
movb $-0x15, %r14b
jmp 0x490c
leaq 0x8917(%rip), %rsi      # 0xd120
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
je 0x481d
movb $-0x14, %r14b
jmp 0x490c
leaq 0x8902(%rip), %rsi      # 0xd126
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
je 0x4838
movb $-0x13, %r14b
jmp 0x490c
leaq 0x88ed(%rip), %rsi      # 0xd12c
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
je 0x4853
movb $-0x12, %r14b
jmp 0x490c
leaq 0x88d8(%rip), %rsi      # 0xd132
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
je 0x486e
movb $-0x11, %r14b
jmp 0x490c
leaq 0x889c(%rip), %rsi      # 0xd111
movq %rbx, %rdi
callq 0x5ad5
testb %al, %al
jne 0x490c
leaq 0x888b(%rip), %rsi      # 0xd117
movq %rbx, %rdi
callq 0x5ad5
movb $-0x16, %r14b
testb %al, %al
jne 0x490c
leaq 0x887b(%rip), %rsi      # 0xd11d
movq %rbx, %rdi
callq 0x5ad5
movb $-0x15, %r14b
testb %al, %al
jne 0x490c
leaq 0x8850(%rip), %rsi      # 0xd108
movq %rbx, %rdi
callq 0x5ad5
movb $-0x14, %r14b
testb %al, %al
jne 0x490c
leaq 0x8840(%rip), %rsi      # 0xd10e
movq %rbx, %rdi
callq 0x5ad5
movb $-0x13, %r14b
testb %al, %al
jne 0x490c
leaq 0x8830(%rip), %rsi      # 0xd114
movq %rbx, %rdi
callq 0x5ad5
movb $-0x12, %r14b
testb %al, %al
jne 0x490c
leaq 0x8820(%rip), %rsi      # 0xd11a
movq %rbx, %rdi
callq 0x5ad5
movb $-0x11, %r14b
testb %al, %al
jne 0x490c
xorl %r14d, %r14d
movl %r14d, %eax
popq %rbx
popq %r14
popq %rbp
retq