// File: /workspace/github_c_makefile_star2_O0/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
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
cmpl $0x20, -0x14(%rbp)
jle 0x208a3
movq 0x279fd(%rip), %rax     # 0x48290
movslq -0x14(%rbp), %rsi
xorl %ecx, %ecx
movl %ecx, %edi
callq *%rax
movq %rax, -0x38(%rbp)
jmp 0x208ab
leaq -0x60(%rbp), %rax
movq %rax, -0x38(%rbp)
movl $0x0, -0x1c(%rbp)
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x20979
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq -0x64(%rbp), %rsi
callq 0x89b0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
movl -0x64(%rbp), %esi
callq 0x20b60
movb %al, %dl
movq -0x38(%rbp), %rax
movslq -0x18(%rbp), %rcx
movb %dl, (%rax,%rcx)
movq -0x38(%rbp), %rax
movslq -0x18(%rbp), %rcx
movzbl (%rax,%rcx), %eax
movl %eax, -0x70(%rbp)
testl %eax, %eax
je 0x20920
jmp 0x2090c
movl -0x70(%rbp), %eax
subl $0x1, %eax
je 0x20949
jmp 0x20916
movl -0x70(%rbp), %eax
subl $0x2, %eax
je 0x20957
jmp 0x20962
cmpl $0x0, -0x18(%rbp)
jne 0x20932
movq -0x28(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x23, %eax
je 0x2093d
movl -0x64(%rbp), %eax
addl -0x1c(%rbp), %eax
movl %eax, -0x1c(%rbp)
jmp 0x20962
movq -0x38(%rbp), %rax
movslq -0x18(%rbp), %rcx
movb $0x1, (%rax,%rcx)
movl -0x64(%rbp), %eax
addl $0x2, %eax
addl -0x1c(%rbp), %eax
movl %eax, -0x1c(%rbp)
jmp 0x20962
movl -0x64(%rbp), %eax
shll %eax
addl -0x1c(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x208b9
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
movq 0x27907(%rip), %rax     # 0x48290
movl -0x1c(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rsi
xorl %ecx, %ecx
movl %ecx, %edi
callq *%rax
movq -0x8(%rbp), %rcx
movq %rax, (%rcx)
movq %rax, -0x30(%rbp)
movl $0x0, -0x20(%rbp)
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x20b1a
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq -0x68(%rbp), %rsi
callq 0x89b0
movq %rax, -0x28(%rbp)
movq -0x38(%rbp), %rax
movslq -0x18(%rbp), %rcx
movzbl (%rax,%rcx), %eax
movl %eax, -0x74(%rbp)
testl %eax, %eax
je 0x20a06
jmp 0x209eb
movl -0x74(%rbp), %eax
subl $0x1, %eax
je 0x20a36
jmp 0x209f5
movl -0x74(%rbp), %eax
subl $0x2, %eax
je 0x20a8a
jmp 0x20ae4
movq -0x30(%rbp), %rdi
movq -0x28(%rbp), %rsi
movslq -0x68(%rbp), %rdx
callq 0x6340
movl -0x68(%rbp), %ecx
movq -0x30(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x30(%rbp)
movl -0x68(%rbp), %eax
addl -0x20(%rbp), %eax
movl %eax, -0x20(%rbp)
jmp 0x20ae4
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x30(%rbp)
movb $0x7b, (%rax)
movq -0x30(%rbp), %rdi
movq -0x28(%rbp), %rsi
movslq -0x68(%rbp), %rdx
callq 0x6340
movl -0x68(%rbp), %ecx
movq -0x30(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x30(%rbp)
movb $0x7d, (%rax)
movl -0x68(%rbp), %eax
addl $0x2, %eax
addl -0x20(%rbp), %eax
movl %eax, -0x20(%rbp)
jmp 0x20ae4
cmpl $0x0, -0x18(%rbp)
jne 0x20ab7
movq -0x28(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x23, %eax
jne 0x20ab7
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x30(%rbp)
movb $0x5c, (%rax)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
movq -0x28(%rbp), %rdi
movl -0x68(%rbp), %esi
movq -0x30(%rbp), %rdx
callq 0x20d80
movl %eax, -0x6c(%rbp)
movl -0x6c(%rbp), %ecx
movq -0x30(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x30(%rbp)
movl -0x6c(%rbp), %eax
addl -0x20(%rbp), %eax
movl %eax, -0x20(%rbp)
movl -0x18(%rbp), %eax
addl $0x1, %eax
cmpl -0x14(%rbp), %eax
je 0x20b0a
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x30(%rbp)
movb $0x20, (%rax)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x20b0c
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x209b1
movq -0x30(%rbp), %rax
movb $0x0, (%rax)
movl -0x20(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x14(%rax)
movq -0x38(%rbp), %rax
leaq -0x60(%rbp), %rcx
cmpq %rcx, %rax
je 0x20b49
movq 0x27751(%rip), %rax     # 0x48290
movq -0x38(%rbp), %rdi
xorl %ecx, %ecx
movl %ecx, %esi
callq *%rax
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)