// File: /workspace/github_c_makefile_star2_O2/ArtifexSoftware[P]mujs/./jsrepr.c
// Function: reprstr
static void reprstr(js_State *J, js_Buffer **sb, const char *s)
{
	static const char *HEX = "0123456789ABCDEF";
	int i, n;
	Rune c;
	js_putc(J, sb, '"');
	while (*s) {
		n = chartorune(&c, s);
		switch (c) {
		case '"': js_puts(J, sb, "\\\""); break;
		case '\\': js_puts(J, sb, "\\\\"); break;
		case '\b': js_puts(J, sb, "\\b"); break;
		case '\f': js_puts(J, sb, "\\f"); break;
		case '\n': js_puts(J, sb, "\\n"); break;
		case '\r': js_puts(J, sb, "\\r"); break;
		case '\t': js_puts(J, sb, "\\t"); break;
		default:
			if (c < ' ') {
				js_putc(J, sb, '\\');
				js_putc(J, sb, 'x');
				js_putc(J, sb, HEX[(c>>4)&15]);
				js_putc(J, sb, HEX[c&15]);
			} else if (c < 128) {
				js_putc(J, sb, c);
			} else if (c < 0x10000) {
				js_putc(J, sb, '\\');
				js_putc(J, sb, 'u');
				js_putc(J, sb, HEX[(c>>12)&15]);
				js_putc(J, sb, HEX[(c>>8)&15]);
				js_putc(J, sb, HEX[(c>>4)&15]);
				js_putc(J, sb, HEX[c&15]);
			} else {
				for (i = 0; i < n; ++i)
					js_putc(J, sb, s[i]);
			}
			break;
		}
		s += n;
	}
	js_putc(J, sb, '"');
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %r15
movq %rsi, %rbx
movq %rdi, %r14
pushq $0x22
popq %rdx
callq 0xa986
leaq 0x433e(%rip), %r13      # 0x20c60
cmpb $0x0, (%r15)
je 0x1cac1
leaq 0x4(%rsp), %rdi
movq %r15, %rsi
callq 0x1241b
movl 0x4(%rsp), %ebp
leal -0x8(%rbp), %ecx
movl %eax, %r12d
cmpl $0x5, %ecx
ja 0x1c964
movslq (%r13,%rcx,4), %rax
addq %r13, %rax
jmpq *%rax
movq %r14, %rdi
movq %rbx, %rsi
leaq 0xd2e8(%rip), %rdx      # 0x29c47
jmp 0x1ca27
cmpl $0x5c, %ebp
je 0x1ca1a
cmpl $0x22, %ebp
jne 0x1c984
movq %r14, %rdi
movq %rbx, %rsi
leaq 0xd2c2(%rip), %rdx      # 0x29c41
jmp 0x1ca27
cmpl $0x1f, %ebp
jg 0x1ca34
movq %r14, %rdi
movq %rbx, %rsi
pushq $0x5c
popq %rdx
callq 0xa986
movq %r14, %rdi
movq %rbx, %rsi
pushq $0x78
popq %rdx
callq 0xa986
movl %ebp, %eax
shrl $0x4, %eax
andl $0xf, %eax
leaq 0xc399(%rip), %rcx      # 0x28d51
movsbl (%rax,%rcx), %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0xa986
andl $0xf, %ebp
leaq 0xc380(%rip), %rax      # 0x28d51
movsbl (%rbp,%rax), %edx
movq %r14, %rdi
movq %rbx, %rsi
jmp 0x1ca41
movq %r14, %rdi
movq %rbx, %rsi
leaq 0xd268(%rip), %rdx      # 0x29c53
jmp 0x1ca27
movq %r14, %rdi
movq %rbx, %rsi
leaq 0xd253(%rip), %rdx      # 0x29c4d
jmp 0x1ca27
movq %r14, %rdi
movq %rbx, %rsi
leaq 0xd241(%rip), %rdx      # 0x29c4a
jmp 0x1ca27
movq %r14, %rdi
movq %rbx, %rsi
leaq 0xd238(%rip), %rdx      # 0x29c50
jmp 0x1ca27
movq %r14, %rdi
movq %rbx, %rsi
leaq 0xd21d(%rip), %rdx      # 0x29c44
callq 0xaa1e
addq %r12, %r15
jmp 0x1c922
cmpl $0x7f, %ebp
ja 0x1ca48
movq %r14, %rdi
movq %rbx, %rsi
movl %ebp, %edx
callq 0xa986
jmp 0x1ca2c
cmpl $0x10000, %ebp          # imm = 0x10000
jae 0x1caa5
movq %r14, %rdi
movq %rbx, %rsi
pushq $0x5c
popq %rdx
callq 0xa986
movq %r14, %rdi
movq %rbx, %rsi
pushq $0x75
popq %rdx
callq 0xa986
movl %ebp, %eax
shrl $0xc, %eax
leaq 0xc2d9(%rip), %rcx      # 0x28d51
movsbl (%rax,%rcx), %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0xa986
movl %ebp, %eax
shrl $0x8, %eax
andl $0xf, %eax
leaq 0xc2bb(%rip), %rcx      # 0x28d51
movsbl (%rax,%rcx), %edx
movq %r14, %rdi
movq %rbx, %rsi
jmp 0x1c9a4
xorl %ebp, %ebp
cmpq %rbp, %r12
je 0x1ca2c
movsbl (%r15,%rbp), %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0xa986
incq %rbp
jmp 0x1caa7
pushq $0x22
popq %rdx
movq %r14, %rdi
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xa986