// File: /workspace/github_c_makefile_star2_O2/msteveb[P]autosetup/./jimsh0.c
// Function: JimMakeListStringRep
static void JimMakeListStringRep(Jim_Obj *objPtr, Jim_Obj **objv, int objc)
{
    #define STATIC_QUOTING_LEN 32
    int i, bufLen, realLength;
    const char *strRep;
    char *p;
    unsigned char *quotingType, staticQuoting[STATIC_QUOTING_LEN];


    if (objc > STATIC_QUOTING_LEN) {
        quotingType = Jim_Alloc(objc);
    }
    else {
        quotingType = staticQuoting;
    }
    bufLen = 0;
    for (i = 0; i < objc; i++) {
        int len;

        strRep = Jim_GetString(objv[i], &len);
        quotingType[i] = ListElementQuotingType(strRep, len);
        switch (quotingType[i]) {
            case JIM_ELESTR_SIMPLE:
                if (i != 0 || strRep[0] != '#') {
                    bufLen += len;
                    break;
                }

                quotingType[i] = JIM_ELESTR_BRACE;

            case JIM_ELESTR_BRACE:
                bufLen += len + 2;
                break;
            case JIM_ELESTR_QUOTE:
                bufLen += len * 2;
                break;
        }
        bufLen++;
    }
    bufLen++;


    p = objPtr->bytes = Jim_Alloc(bufLen + 1);
    realLength = 0;
    for (i = 0; i < objc; i++) {
        int len, qlen;

        strRep = Jim_GetString(objv[i], &len);

        switch (quotingType[i]) {
            case JIM_ELESTR_SIMPLE:
                memcpy(p, strRep, len);
                p += len;
                realLength += len;
                break;
            case JIM_ELESTR_BRACE:
                *p++ = '{';
                memcpy(p, strRep, len);
                p += len;
                *p++ = '}';
                realLength += len + 2;
                break;
            case JIM_ELESTR_QUOTE:
                if (i == 0 && strRep[0] == '#') {
                    *p++ = '\\';
                    realLength++;
                }
                qlen = BackslashQuoteString(strRep, len, p);
                p += qlen;
                realLength += qlen;
                break;
        }

        if (i + 1 != objc) {
            *p++ = ' ';
            realLength++;
        }
    }
    *p = '\0';
    objPtr->length = realLength;

    if (quotingType != staticQuoting) {
        Jim_Free(quotingType);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
movl %edx, %r14d
movq %rsi, -0x48(%rbp)
movq %rdi, -0x38(%rbp)
movl %edx, %esi
cmpl $0x21, %edx
movq %rsi, -0x50(%rbp)
jl 0x16d1c
xorl %edi, %edi
callq *0x1c571(%rip)          # 0x33288
movq %rax, %r13
jmp 0x16d20
leaq -0x80(%rbp), %r13
xorl %eax, %eax
testl %r14d, %r14d
cmovlel %eax, %r14d
movabsq $0x3800000008000015, %r12 # imm = 0x3800000008000015
xorl %r15d, %r15d
xorl %ebx, %ebx
cmpq %r14, %r15
je 0x16ec9
movq -0x48(%rbp), %rax
movq (%rax,%r15,8), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x7fc7
movslq -0x2c(%rbp), %rcx
testq %rcx, %rcx
je 0x16ea4
movzbl (%rax), %esi
movb $0x1, %dl
cmpl $0x22, %esi
je 0x16d72
cmpl $0x7b, %esi
jne 0x16e15
cmpb $0x5c, -0x1(%rax,%rcx)
jne 0x16d89
movb $0x2, (%r13,%r15)
movl -0x2c(%rbp), %eax
addl %eax, %eax
jmp 0x16eb1
xorl %r8d, %r8d
xorl %esi, %esi
xorl %edi, %edi
cmpl %ecx, %r8d
jge 0x16deb
movslq %r8d, %r9
movzbl (%rax,%r9), %r10d
cmpl $0x5b, %r10d
je 0x16de4
cmpl $0x5c, %r10d
je 0x16dbf
cmpl $0x5d, %r10d
je 0x16de0
cmpl $0x7d, %r10d
je 0x16dd8
cmpl $0x7b, %r10d
jne 0x16de6
incl %esi
jmp 0x16de6
movzbl 0x1(%rax,%r9), %r10d
testl %r10d, %r10d
je 0x16de6
cmpl $0xa, %r10d
je 0x16d79
incq %r9
movl %r9d, %r8d
jmp 0x16de6
testl %esi, %esi
jle 0x16d79
decl %esi
jmp 0x16de6
decl %edi
jmp 0x16de6
incl %edi
incl %r8d
jmp 0x16d90
testl %edi, %edi
sets %dil
testl %esi, %esi
setne %sil
orb %dil, %sil
orb %sil, %dl
je 0x16e64
leal 0x1(%rsi), %eax
movb %al, (%r13,%r15)
testb %sil, %sil
jne 0x16d7f
jmp 0x16eab
testl %ecx, %ecx
movl $0x0, %esi
cmovgl %ecx, %esi
xorl %edi, %edi
cmpq %rdi, %rsi
je 0x16e94
movzbl (%rax,%rdi), %r8d
cmpq $0x3b, %r8
ja 0x16e45
movabsq $0x800001500003e00, %r9 # imm = 0x800001500003E00
btq %r8, %r9
jb 0x16d72
leal -0x5b(%r8), %r9d
cmpl $0x3, %r9d
jb 0x16d72
cmpl $0x7b, %r8d
je 0x16ebd
cmpl $0x7d, %r8d
je 0x16ebd
incq %rdi
jmp 0x16e21
testl %ecx, %ecx
movl $0x0, %edx
cmovlel %edx, %ecx
xorl %edx, %edx
cmpq %rdx, %rcx
je 0x16e94
movzbl (%rax,%rdx), %esi
leal -0x20(%rsi), %edi
cmpl $0x3d, %edi
ja 0x16e87
btq %rdi, %r12
jb 0x16ea4
addl $-0x9, %esi
cmpl $0x5, %esi
jb 0x16ea4
incq %rdx
jmp 0x16e70
movb $0x0, (%r13,%r15)
testq %r15, %r15
jne 0x16ec4
cmpb $0x23, (%rax)
jne 0x16ec4
leaq (%r15,%r13), %rax
movb $0x1, (%rax)
movl -0x2c(%rbp), %eax
addl $0x2, %eax
addl %eax, %ebx
incl %ebx
incq %r15
jmp 0x16d38
xorl %edx, %edx
jmp 0x16d72
movl -0x2c(%rbp), %eax
jmp 0x16eb1
movq %r14, -0x58(%rbp)
movq %r13, -0x40(%rbp)
addl $0x2, %ebx
movslq %ebx, %rsi
xorl %r15d, %r15d
xorl %edi, %edi
callq *0x1c3a6(%rip)          # 0x33288
movq %rax, %rbx
movq -0x38(%rbp), %rax
movq %rbx, (%rax)
leaq 0xc359(%rip), %r14      # 0x2324c
xorl %r13d, %r13d
cmpq -0x58(%rbp), %r15
je 0x1703c
movq -0x48(%rbp), %rax
movq (%rax,%r15,8), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x7fc7
movq -0x40(%rbp), %rcx
movzbl (%rcx,%r15), %ecx
cmpl $0x2, %ecx
je 0x16f75
cmpl $0x1, %ecx
je 0x16f44
testl %ecx, %ecx
jne 0x17021
movslq -0x2c(%rbp), %rdx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x6320
movslq -0x2c(%rbp), %rax
jmp 0x1701b
leaq 0x1(%rbx), %rdi
movb $0x7b, (%rbx)
movslq -0x2c(%rbp), %rdx
movq %rax, %rsi
callq 0x6320
movslq -0x2c(%rbp), %rax
addq %rax, %rbx
addq $0x2, %rbx
movb $0x7d, -0x1(%rbx)
movl -0x2c(%rbp), %eax
addl %eax, %r13d
addl $0x2, %r13d
jmp 0x17021
testq %r15, %r15
je 0x16f7f
movq %r12, %r10
jmp 0x16f90
cmpb $0x23, (%rax)
movq %r12, %r10
jne 0x16f90
movb $0x5c, (%rbx)
incq %rbx
incl %r13d
movl -0x2c(%rbp), %edx
xorl %esi, %esi
movq %rbx, %rcx
cmpl %esi, %edx
je 0x17012
movb (%rax,%rsi), %dil
movzbl %dil, %r8d
leal -0x20(%r8), %r9d
cmpl $0x3d, %r9d
ja 0x16fc8
btq %r9, %r10
jae 0x16fc8
movb $0x5c, (%rcx)
movb (%rax,%rsi), %dil
movb %dil, 0x1(%rcx)
addq $0x2, %rcx
incq %rsi
jmp 0x16f98
leal -0x9(%r8), %r9d
cmpl $0x4, %r9d
ja 0x16fe2
movslq (%r14,%r9,4), %rdi
addq %r14, %rdi
jmpq *%rdi
movw $0x745c, (%rcx)         # imm = 0x745C
jmp 0x16fbf
cmpl $0x7d, %r8d
je 0x16fb4
cmpl $0x7b, %r8d
je 0x16fb4
movb %dil, (%rcx)
incq %rcx
jmp 0x16fc3
movw $0x725c, (%rcx)         # imm = 0x725C
jmp 0x16fbf
movw $0x765c, (%rcx)         # imm = 0x765C
jmp 0x16fbf
movw $0x665c, (%rcx)         # imm = 0x665C
jmp 0x16fbf
movw $0x6e5c, (%rcx)         # imm = 0x6E5C
jmp 0x16fbf
movb $0x0, (%rcx)
subq %rbx, %rcx
movslq %ecx, %rax
addq %rax, %rbx
addl %eax, %r13d
incq %r15
cmpq -0x50(%rbp), %r15
je 0x16ef6
movb $0x20, (%rbx)
incq %rbx
incl %r13d
jmp 0x16ef6
movb $0x0, (%rbx)
movq -0x38(%rbp), %rax
movl %r13d, 0x14(%rax)
leaq -0x80(%rbp), %rax
movq -0x40(%rbp), %rdi
cmpq %rax, %rdi
je 0x1705c
xorl %esi, %esi
callq *0x1c22c(%rip)          # 0x33288
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq