// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jslex.c
// Function: lexescape
static int lexescape(js_State *J)
{
	int x = 0;

	/* already consumed '\' */

	if (jsY_accept(J, '\n'))
		return 0;

	switch (J->lexchar) {
	case EOF: jsY_error(J, "unterminated escape sequence");
	case 'u':
		jsY_next(J);
		if (!jsY_ishex(J->lexchar)) return 1; else { x |= jsY_tohex(J->lexchar) << 12; jsY_next(J); }
		if (!jsY_ishex(J->lexchar)) return 1; else { x |= jsY_tohex(J->lexchar) << 8; jsY_next(J); }
		if (!jsY_ishex(J->lexchar)) return 1; else { x |= jsY_tohex(J->lexchar) << 4; jsY_next(J); }
		if (!jsY_ishex(J->lexchar)) return 1; else { x |= jsY_tohex(J->lexchar); jsY_next(J); }
		textpush(J, x);
		break;
	case 'x':
		jsY_next(J);
		if (!jsY_ishex(J->lexchar)) return 1; else { x |= jsY_tohex(J->lexchar) << 4; jsY_next(J); }
		if (!jsY_ishex(J->lexchar)) return 1; else { x |= jsY_tohex(J->lexchar); jsY_next(J); }
		textpush(J, x);
		break;
	case '0': textpush(J, 0); jsY_next(J); break;
	case '\\': textpush(J, '\\'); jsY_next(J); break;
	case '\'': textpush(J, '\''); jsY_next(J); break;
	case '"': textpush(J, '"'); jsY_next(J); break;
	case 'b': textpush(J, '\b'); jsY_next(J); break;
	case 'f': textpush(J, '\f'); jsY_next(J); break;
	case 'n': textpush(J, '\n'); jsY_next(J); break;
	case 'r': textpush(J, '\r'); jsY_next(J); break;
	case 't': textpush(J, '\t'); jsY_next(J); break;
	case 'v': textpush(J, '\v'); jsY_next(J); break;
	default: textpush(J, J->lexchar); jsY_next(J); break;
	}
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x10(%rbp), %rax
cmpl $0xa, 0x64(%rax)
jne 0x2588e
movq -0x10(%rbp), %rdi
callq 0xe0a0
movb $0x1, %al
testb $0x1, %al
jne 0x25896
jmp 0x258a2
xorl %eax, %eax
testb $0x1, %al
jne 0x25896
jmp 0x258a2
movl $0x0, -0x4(%rbp)
jmp 0x25b96
movq -0x10(%rbp), %rax
movl 0x64(%rax), %eax
incl %eax
movl %eax, %ecx
movq %rcx, -0x20(%rbp)
subl $0x79, %eax
ja 0x25b76
movq -0x20(%rbp), %rax
leaq 0xe3ab(%rip), %rcx      # 0x33c70
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x10(%rbp), %rdi
leaq 0x17666(%rip), %rsi     # 0x3cf3f
movb $0x0, %al
callq 0xf250
movq -0x10(%rbp), %rdi
callq 0xe0a0
movq -0x10(%rbp), %rax
movl 0x64(%rax), %edi
callq 0xdf80
cmpl $0x0, %eax
jne 0x25906
movl $0x1, -0x4(%rbp)
jmp 0x25b96
movq -0x10(%rbp), %rax
movl 0x64(%rax), %edi
callq 0xdfe0
shll $0xc, %eax
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movq -0x10(%rbp), %rdi
callq 0xe0a0
movq -0x10(%rbp), %rax
movl 0x64(%rax), %edi
callq 0xdf80
cmpl $0x0, %eax
jne 0x25941
movl $0x1, -0x4(%rbp)
jmp 0x25b96
movq -0x10(%rbp), %rax
movl 0x64(%rax), %edi
callq 0xdfe0
shll $0x8, %eax
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movq -0x10(%rbp), %rdi
callq 0xe0a0
movq -0x10(%rbp), %rax
movl 0x64(%rax), %edi
callq 0xdf80
cmpl $0x0, %eax
jne 0x2597c
movl $0x1, -0x4(%rbp)
jmp 0x25b96
movq -0x10(%rbp), %rax
movl 0x64(%rax), %edi
callq 0xdfe0
shll $0x4, %eax
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movq -0x10(%rbp), %rdi
callq 0xe0a0
movq -0x10(%rbp), %rax
movl 0x64(%rax), %edi
callq 0xdf80
cmpl $0x0, %eax
jne 0x259b7
movl $0x1, -0x4(%rbp)
jmp 0x25b96
movq -0x10(%rbp), %rax
movl 0x64(%rax), %edi
callq 0xdfe0
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movq -0x10(%rbp), %rdi
callq 0xe0a0
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x25590
jmp 0x25b8f
movq -0x10(%rbp), %rdi
callq 0xe0a0
movq -0x10(%rbp), %rax
movl 0x64(%rax), %edi
callq 0xdf80
cmpl $0x0, %eax
jne 0x25a09
movl $0x1, -0x4(%rbp)
jmp 0x25b96
movq -0x10(%rbp), %rax
movl 0x64(%rax), %edi
callq 0xdfe0
shll $0x4, %eax
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movq -0x10(%rbp), %rdi
callq 0xe0a0
movq -0x10(%rbp), %rax
movl 0x64(%rax), %edi
callq 0xdf80
cmpl $0x0, %eax
jne 0x25a44
movl $0x1, -0x4(%rbp)
jmp 0x25b96
movq -0x10(%rbp), %rax
movl 0x64(%rax), %edi
callq 0xdfe0
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movq -0x10(%rbp), %rdi
callq 0xe0a0
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x25590
jmp 0x25b8f
movq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0x25590
movq -0x10(%rbp), %rdi
callq 0xe0a0
jmp 0x25b8f
movq -0x10(%rbp), %rdi
movl $0x5c, %esi
callq 0x25590
movq -0x10(%rbp), %rdi
callq 0xe0a0
jmp 0x25b8f
movq -0x10(%rbp), %rdi
movl $0x27, %esi
callq 0x25590
movq -0x10(%rbp), %rdi
callq 0xe0a0
jmp 0x25b8f
movq -0x10(%rbp), %rdi
movl $0x22, %esi
callq 0x25590
movq -0x10(%rbp), %rdi
callq 0xe0a0
jmp 0x25b8f
movq -0x10(%rbp), %rdi
movl $0x8, %esi
callq 0x25590
movq -0x10(%rbp), %rdi
callq 0xe0a0
jmp 0x25b8f
movq -0x10(%rbp), %rdi
movl $0xc, %esi
callq 0x25590
movq -0x10(%rbp), %rdi
callq 0xe0a0
jmp 0x25b8f
movq -0x10(%rbp), %rdi
movl $0xa, %esi
callq 0x25590
movq -0x10(%rbp), %rdi
callq 0xe0a0
jmp 0x25b8f
movq -0x10(%rbp), %rdi
movl $0xd, %esi
callq 0x25590
movq -0x10(%rbp), %rdi
callq 0xe0a0
jmp 0x25b8f
movq -0x10(%rbp), %rdi
movl $0x9, %esi
callq 0x25590
movq -0x10(%rbp), %rdi
callq 0xe0a0
jmp 0x25b8f
movq -0x10(%rbp), %rdi
movl $0xb, %esi
callq 0x25590
movq -0x10(%rbp), %rdi
callq 0xe0a0
jmp 0x25b8f
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x64(%rax), %esi
callq 0x25590
movq -0x10(%rbp), %rdi
callq 0xe0a0
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nop