// File: /workspace/github_c_makefile_star2_O0/ccxvii[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
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x22, %edx
callq 0xd910
movq -0x18(%rbp), %rax
cmpb $0x0, (%rax)
je 0x2d60d
movq -0x18(%rbp), %rsi
leaq -0x24(%rbp), %rdi
callq 0x19d20
movl %eax, -0x20(%rbp)
movl -0x24(%rbp), %eax
movl %eax, -0x28(%rbp)
subl $0x8, %eax
je 0x2d3ed
jmp 0x2d370
movl -0x28(%rbp), %eax
subl $0x9, %eax
je 0x2d451
jmp 0x2d37e
movl -0x28(%rbp), %eax
subl $0xa, %eax
je 0x2d41f
jmp 0x2d38c
movl -0x28(%rbp), %eax
subl $0xc, %eax
je 0x2d406
jmp 0x2d396
movl -0x28(%rbp), %eax
subl $0xd, %eax
je 0x2d438
jmp 0x2d3a4
movl -0x28(%rbp), %eax
subl $0x22, %eax
je 0x2d3bb
jmp 0x2d3ae
movl -0x28(%rbp), %eax
subl $0x5c, %eax
je 0x2d3d4
jmp 0x2d46a
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq 0xff22(%rip), %rdx      # 0x3d2ec
callq 0xda70
jmp 0x2d5f7
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq 0xff0c(%rip), %rdx      # 0x3d2ef
callq 0xda70
jmp 0x2d5f7
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq 0xfef6(%rip), %rdx      # 0x3d2f2
callq 0xda70
jmp 0x2d5f7
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq 0xfee0(%rip), %rdx      # 0x3d2f5
callq 0xda70
jmp 0x2d5f7
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq 0xfeca(%rip), %rdx      # 0x3d2f8
callq 0xda70
jmp 0x2d5f7
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq 0xfeb4(%rip), %rdx      # 0x3d2fb
callq 0xda70
jmp 0x2d5f7
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq 0xfe9e(%rip), %rdx      # 0x3d2fe
callq 0xda70
jmp 0x2d5f7
cmpl $0x20, -0x24(%rbp)
jge 0x2d4de
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x5c, %edx
callq 0xd910
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x78, %edx
callq 0xd910
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq 0x1a97d(%rip), %rax     # 0x47e20
movl -0x24(%rbp), %ecx
sarl $0x4, %ecx
andl $0xf, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %edx
callq 0xd910
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq 0x1a959(%rip), %rax     # 0x47e20
movl -0x24(%rbp), %ecx
andl $0xf, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %edx
callq 0xd910
jmp 0x2d5f5
cmpl $0x80, -0x24(%rbp)
jge 0x2d4fc
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
callq 0xd910
jmp 0x2d5f3
cmpl $0x10000, -0x24(%rbp)   # imm = 0x10000
jge 0x2d5bc
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x5c, %edx
callq 0xd910
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x75, %edx
callq 0xd910
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq 0x1a8e4(%rip), %rax     # 0x47e20
movl -0x24(%rbp), %ecx
sarl $0xc, %ecx
andl $0xf, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %edx
callq 0xd910
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq 0x1a8c0(%rip), %rax     # 0x47e20
movl -0x24(%rbp), %ecx
sarl $0x8, %ecx
andl $0xf, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %edx
callq 0xd910
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq 0x1a89c(%rip), %rax     # 0x47e20
movl -0x24(%rbp), %ecx
sarl $0x4, %ecx
andl $0xf, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %edx
callq 0xd910
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq 0x1a878(%rip), %rax     # 0x47e20
movl -0x24(%rbp), %ecx
andl $0xf, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %edx
callq 0xd910
jmp 0x2d5f1
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x2d5ef
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movsbl (%rax,%rcx), %edx
callq 0xd910
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x2d5c3
jmp 0x2d5f1
jmp 0x2d5f3
jmp 0x2d5f5
jmp 0x2d5f7
movl -0x20(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
jmp 0x2d346
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x22, %edx
callq 0xd910
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)