// File: /workspace/github_c_makefile_star2_O0/bhk[P]tooltree/lua/../opensource/lua-5.2.3/src/lstrlib.c
// Function: addquoted
static void addquoted (lua_State *L, luaL_Buffer *b, int arg) {
  size_t l;
  const char *s = luaL_checklstring(L, arg, &l);
  luaL_addchar(b, '"');
  while (l--) {
    if (*s == '"' || *s == '\\' || *s == '\n') {
      luaL_addchar(b, '\\');
      luaL_addchar(b, *s);
    }
    else if (*s == '\0' || iscntrl(uchar(*s))) {
      char buff[10];
      if (!isdigit(uchar(*(s+1))))
        sprintf(buff, "\\%d", (int)uchar(*s));
      else
        sprintf(buff, "\\%03d", (int)uchar(*s));
      luaL_addstring(b, buff);
    }
    else
      luaL_addchar(b, *s);
    s++;
  }
  luaL_addchar(b, '"');
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movl %edx, 0x24(%rsp)
movq 0x30(%rsp), %rdi
movl 0x24(%rsp), %esi
leaq 0x18(%rsp), %rdx
callq 0xcd00
movq %rax, 0x10(%rsp)
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x28(%rsp), %rdx
movb $0x1, %al
cmpq 0x8(%rdx), %rcx
movb %al, 0x5(%rsp)
jb 0x238ae
movq 0x28(%rsp), %rdi
movl $0x1, %esi
callq 0xd080
cmpq $0x0, %rax
setne %al
movb %al, 0x5(%rsp)
movb 0x5(%rsp), %al
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x28(%rsp), %rdx
movq 0x10(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x10(%rdx)
movb $0x22, (%rax,%rcx)
movq 0x18(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, 0x18(%rsp)
cmpq $0x0, %rax
je 0x23add
movq 0x10(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x22, %eax
je 0x23918
movq 0x10(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x5c, %eax
je 0x23918
movq 0x10(%rsp), %rax
movsbl (%rax), %eax
cmpl $0xa, %eax
jne 0x239d3
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x28(%rsp), %rdx
movb $0x1, %al
cmpq 0x8(%rdx), %rcx
movb %al, 0x4(%rsp)
jb 0x2394c
movq 0x28(%rsp), %rdi
movl $0x1, %esi
callq 0xd080
cmpq $0x0, %rax
setne %al
movb %al, 0x4(%rsp)
movb 0x4(%rsp), %al
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x28(%rsp), %rdx
movq 0x10(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x10(%rdx)
movb $0x5c, (%rax,%rcx)
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x28(%rsp), %rdx
movb $0x1, %al
cmpq 0x8(%rdx), %rcx
movb %al, 0x3(%rsp)
jb 0x239a4
movq 0x28(%rsp), %rdi
movl $0x1, %esi
callq 0xd080
cmpq $0x0, %rax
setne %al
movb %al, 0x3(%rsp)
movb 0x3(%rsp), %al
movq 0x10(%rsp), %rax
movb (%rax), %dl
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x28(%rsp), %rsi
movq 0x10(%rsi), %rcx
movq %rcx, %rdi
addq $0x1, %rdi
movq %rdi, 0x10(%rsi)
movb %dl, (%rax,%rcx)
jmp 0x23aca
movq 0x10(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x239ff
callq 0x75c0
movq (%rax), %rax
movq 0x10(%rsp), %rcx
movzbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x23a6a
callq 0x75c0
movq (%rax), %rax
movq 0x10(%rsp), %rcx
movzbl 0x1(%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
jne 0x23a3e
leaq 0x6(%rsp), %rdi
movq 0x10(%rsp), %rax
movzbl (%rax), %edx
leaq 0x132e9(%rip), %rsi     # 0x36d1e
movb $0x0, %al
callq 0x7510
jmp 0x23a59
leaq 0x6(%rsp), %rdi
movq 0x10(%rsp), %rax
movzbl (%rax), %edx
leaq 0x132d0(%rip), %rsi     # 0x36d22
movb $0x0, %al
callq 0x7510
movq 0x28(%rsp), %rdi
leaq 0x6(%rsp), %rsi
callq 0xd210
jmp 0x23ac8
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x28(%rsp), %rdx
movb $0x1, %al
cmpq 0x8(%rdx), %rcx
movb %al, 0x2(%rsp)
jb 0x23a9e
movq 0x28(%rsp), %rdi
movl $0x1, %esi
callq 0xd080
cmpq $0x0, %rax
setne %al
movb %al, 0x2(%rsp)
movb 0x2(%rsp), %al
movq 0x10(%rsp), %rax
movb (%rax), %dl
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x28(%rsp), %rsi
movq 0x10(%rsi), %rcx
movq %rcx, %rdi
addq $0x1, %rdi
movq %rdi, 0x10(%rsi)
movb %dl, (%rax,%rcx)
jmp 0x23aca
movq 0x10(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x10(%rsp)
jmp 0x238d2
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x28(%rsp), %rdx
movb $0x1, %al
cmpq 0x8(%rdx), %rcx
movb %al, 0x1(%rsp)
jb 0x23b11
movq 0x28(%rsp), %rdi
movl $0x1, %esi
callq 0xd080
cmpq $0x0, %rax
setne %al
movb %al, 0x1(%rsp)
movb 0x1(%rsp), %al
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x28(%rsp), %rdx
movq 0x10(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x10(%rdx)
movb $0x22, (%rax,%rcx)
addq $0x38, %rsp
retq
nopw (%rax,%rax)