// File: lindorx[P]train/HelpInsPro.cpp
// Function: Num(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, int, int)
std::vector<unsigned char>Num(const std::string& str, int num, int a)
{
	using namespace std;
	vector<unsigned char>data;
	int i, sum = 0, n = str.size();
	int w = IntNum(str, a);
	if (!(w < 0)){ return NumToUc(w, num); }
	else if (str[0] == '0' && (str[1] == 'x' || str[1] == 'X')){
		for (i = 2; i < n; ++i){
			sum += (int)pow(16.0, (double)(n - 1 - i))*HexOct(str[i]);
		}
		return NumToUc(sum, num);
	}
	else if (IsHexNum(str)){
		//�������ַ���ת��Ϊ�ɹ������ĸ�ʽ
		for (i = 0; i < n; ++i){
			sum += (int)pow(10.0, (double)(n - i - 1))*HexOct(str[i]);
		}
		return NumToUc(sum, num);
		//cout << "Numת����������ȷ��Ϊ�Ĵ����ĸ�ֵ��ȷ��error-004!" << endl;
		//�����Ǳ����ַ���,����data�Ĵ�СΪ0
	}
	return data;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x68(%rbp)
movq %rdi, %rax
movq %rax, -0x60(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movl %ecx, -0x18(%rbp)
leaq -0x30(%rbp), %rdi
callq 0xa8d0
movl $0x0, -0x38(%rbp)
movq -0x10(%rbp), %rdi
callq 0x3160
movl %eax, -0x3c(%rbp)
movq -0x10(%rbp), %rdi
movl -0x18(%rbp), %esi
callq 0x7720
movq %rax, -0x58(%rbp)
jmp 0x7c32
movq -0x58(%rbp), %rax
movl %eax, -0x40(%rbp)
cmpl $0x0, -0x40(%rbp)
jl 0x7c77
movq -0x68(%rbp), %rdi
movslq -0x40(%rbp), %rsi
movl -0x14(%rbp), %edx
callq 0x75f0
jmp 0x7c51
movl $0x1, -0x50(%rbp)
jmp 0x7df7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0xa920
jmp 0x7e0d
movq -0x10(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3280
movsbl (%rax), %eax
cmpl $0x30, %eax
jne 0x7d48
movq -0x10(%rbp), %rdi
movl $0x1, %esi
callq 0x3280
movsbl (%rax), %eax
cmpl $0x78, %eax
je 0x7cc0
movq -0x10(%rbp), %rdi
movl $0x1, %esi
callq 0x3280
movsbl (%rax), %eax
cmpl $0x58, %eax
jne 0x7d48
movl $0x2, -0x34(%rbp)
movl -0x34(%rbp), %eax
cmpl -0x3c(%rbp), %eax
jge 0x7d2a
movl -0x3c(%rbp), %ecx
movl -0x34(%rbp), %eax
notl %eax
addl %ecx, %eax
cvtsi2sd %eax, %xmm1
movsd 0x1348b(%rip), %xmm0    # 0x1b170
callq 0x33e0
cvttsd2si %xmm0, %eax
movl %eax, -0x70(%rbp)
movq -0x10(%rbp), %rdi
movslq -0x34(%rbp), %rsi
callq 0x3280
movsbl (%rax), %edi
callq 0x7450
movw %ax, -0x6a(%rbp)
jmp 0x7d0c
movl -0x70(%rbp), %eax
movw -0x6a(%rbp), %cx
movswl %cx, %ecx
imull %ecx, %eax
addl -0x38(%rbp), %eax
movl %eax, -0x38(%rbp)
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x7cc7
movq -0x68(%rbp), %rdi
movslq -0x38(%rbp), %rsi
movl -0x14(%rbp), %edx
callq 0x75f0
jmp 0x7d3c
movl $0x1, -0x50(%rbp)
jmp 0x7df7
movq -0x10(%rbp), %rdi
callq 0x7580
testb $0x1, %al
jne 0x7d5a
jmp 0x7ddf
movl $0x0, -0x34(%rbp)
movl -0x34(%rbp), %eax
cmpl -0x3c(%rbp), %eax
jge 0x7dc4
movl -0x3c(%rbp), %ecx
movl -0x34(%rbp), %eax
notl %eax
addl %ecx, %eax
cvtsi2sd %eax, %xmm1
movsd 0x133e9(%rip), %xmm0    # 0x1b168
callq 0x33e0
cvttsd2si %xmm0, %eax
movl %eax, -0x78(%rbp)
movq -0x10(%rbp), %rdi
movslq -0x34(%rbp), %rsi
callq 0x3280
movsbl (%rax), %edi
callq 0x7450
movw %ax, -0x72(%rbp)
jmp 0x7da6
movl -0x78(%rbp), %eax
movw -0x72(%rbp), %cx
movswl %cx, %ecx
imull %ecx, %eax
addl -0x38(%rbp), %eax
movl %eax, -0x38(%rbp)
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x7d61
movq -0x68(%rbp), %rdi
movslq -0x38(%rbp), %rsi
movl -0x14(%rbp), %edx
callq 0x75f0
jmp 0x7dd6
movl $0x1, -0x50(%rbp)
jmp 0x7df7
jmp 0x7de1
jmp 0x7de3
movq -0x68(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0xa980
movl $0x1, -0x50(%rbp)
leaq -0x30(%rbp), %rdi
callq 0xa920
movq -0x60(%rbp), %rax
addq $0x80, %rsp
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0x33f0
nopw %cs:(%rax,%rax)