// File: Silica[P]PSL/./PSL/tokenizer.h
// Function: PSL::variable::Tokenizer::getIdentifier()
bool getIdentifier()
	{
		if (!((s[i] >= 'a' && s[i] <= 'z') || (s[i] >= 'A' && s[i] <= 'Z') || s[i] == '_' || (s[i]&0x80)))
			return false;
		size_t h = i;
		for (++i; i < len; ++i)
		{
			if ((s[i] >= 'a' && s[i] <= 'z') || (s[i] >= 'A' && s[i] <= 'Z') || s[i] == '_' || (s[i] >= '0' && s[i] <= '9') || (s[i]&0x80))
				continue;
			break;
		}
		nstr = string(s+h, i-h);
		return true;
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rcx
movq %rcx, -0x38(%rbp)
movq 0x18(%rcx), %rax
movq 0x28(%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x2612a
movq -0x38(%rbp), %rcx
movq 0x18(%rcx), %rax
movq 0x28(%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x2618c
movq -0x38(%rbp), %rcx
movq 0x18(%rcx), %rax
movq 0x28(%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x41, %eax
jl 0x26154
movq -0x38(%rbp), %rcx
movq 0x18(%rcx), %rax
movq 0x28(%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x5a, %eax
jle 0x2618c
movq -0x38(%rbp), %rcx
movq 0x18(%rcx), %rax
movq 0x28(%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x2618c
movq -0x38(%rbp), %rcx
movq 0x18(%rcx), %rax
movq 0x28(%rcx), %rcx
movsbl (%rax,%rcx), %eax
andl $0x80, %eax
cmpl $0x0, %eax
jne 0x2618c
movb $0x0, -0x1(%rbp)
jmp 0x262dc
movq -0x38(%rbp), %rax
movq 0x28(%rax), %rcx
movq %rcx, -0x18(%rbp)
movq 0x28(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x28(%rax)
movq -0x38(%rbp), %rcx
movq 0x28(%rcx), %rax
cmpq 0x20(%rcx), %rax
jae 0x26280
movq -0x38(%rbp), %rcx
movq 0x18(%rcx), %rax
movq 0x28(%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x61, %eax
jl 0x261e4
movq -0x38(%rbp), %rcx
movq 0x18(%rcx), %rax
movq 0x28(%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x7a, %eax
jle 0x26267
movq -0x38(%rbp), %rcx
movq 0x18(%rcx), %rax
movq 0x28(%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x41, %eax
jl 0x2620e
movq -0x38(%rbp), %rcx
movq 0x18(%rcx), %rax
movq 0x28(%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x5a, %eax
jle 0x26267
movq -0x38(%rbp), %rcx
movq 0x18(%rcx), %rax
movq 0x28(%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x26267
movq -0x38(%rbp), %rcx
movq 0x18(%rcx), %rax
movq 0x28(%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x2624d
movq -0x38(%rbp), %rcx
movq 0x18(%rcx), %rax
movq 0x28(%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x26267
movq -0x38(%rbp), %rcx
movq 0x18(%rcx), %rax
movq 0x28(%rcx), %rcx
movsbl (%rax,%rcx), %eax
andl $0x80, %eax
cmpl $0x0, %eax
je 0x26269
jmp 0x2626b
jmp 0x26280
movq -0x38(%rbp), %rax
movq 0x28(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x28(%rax)
jmp 0x261a4
movq -0x38(%rbp), %rcx
movq -0x18(%rbp), %rax
movq 0x18(%rcx), %rsi
movq 0x28(%rcx), %rdx
addq %rax, %rsi
subq %rax, %rdx
leaq -0x20(%rbp), %rdi
movq %rdi, -0x40(%rbp)
callq 0x26790
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rsi
addq $0x68, %rdi
callq 0x120b0
jmp 0x262b6
leaq -0x20(%rbp), %rdi
callq 0xc950
movb $0x1, -0x1(%rbp)
jmp 0x262dc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x20(%rbp), %rdi
callq 0xc950
jmp 0x262e7
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x40, %rsp
popq %rbp
retq
movq -0x28(%rbp), %rdi
callq 0xc280