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

	/* already consumed '\' */

	switch (J->lexchar) {
	default: jsY_error(J, "invalid 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 '"': 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;
	}
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x10(%rbp), %rax
movl 0x64(%rax), %eax
addl $-0x22, %eax
movl %eax, %ecx
movq %rcx, -0x20(%rbp)
subl $0x53, %eax
ja 0x25bdc
movq -0x20(%rbp), %rax
leaq 0xe285(%rip), %rcx      # 0x33e58
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x10(%rbp), %rdi
leaq 0x167aa(%rip), %rsi     # 0x3c391
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 0x25c14
movl $0x1, -0x4(%rbp)
jmp 0x25dc4
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 0x25c4f
movl $0x1, -0x4(%rbp)
jmp 0x25dc4
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 0x25c8a
movl $0x1, -0x4(%rbp)
jmp 0x25dc4
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 0x25cc5
movl $0x1, -0x4(%rbp)
jmp 0x25dc4
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 0x25dbd
movq -0x10(%rbp), %rdi
movl $0x22, %esi
callq 0x25590
movq -0x10(%rbp), %rdi
callq 0xe0a0
jmp 0x25dbd
movq -0x10(%rbp), %rdi
movl $0x5c, %esi
callq 0x25590
movq -0x10(%rbp), %rdi
callq 0xe0a0
jmp 0x25dbd
movq -0x10(%rbp), %rdi
movl $0x2f, %esi
callq 0x25590
movq -0x10(%rbp), %rdi
callq 0xe0a0
jmp 0x25dbd
movq -0x10(%rbp), %rdi
movl $0x8, %esi
callq 0x25590
movq -0x10(%rbp), %rdi
callq 0xe0a0
jmp 0x25dbd
movq -0x10(%rbp), %rdi
movl $0xc, %esi
callq 0x25590
movq -0x10(%rbp), %rdi
callq 0xe0a0
jmp 0x25dbd
movq -0x10(%rbp), %rdi
movl $0xa, %esi
callq 0x25590
movq -0x10(%rbp), %rdi
callq 0xe0a0
jmp 0x25dbd
movq -0x10(%rbp), %rdi
movl $0xd, %esi
callq 0x25590
movq -0x10(%rbp), %rdi
callq 0xe0a0
jmp 0x25dbd
movq -0x10(%rbp), %rdi
movl $0x9, %esi
callq 0x25590
movq -0x10(%rbp), %rdi
callq 0xe0a0
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)