// File: /workspace/github_c_makefile_star2_O0/msteveb[P]autosetup/./jimsh0.c
// Function: SetListFromAny
static int SetListFromAny(Jim_Interp *interp, struct Jim_Obj *objPtr)
{
    struct JimParserCtx parser;
    const char *str;
    int strLen;
    Jim_Obj *fileNameObj;
    int linenr;

    if (objPtr->typePtr == &listObjType) {
        return JIM_OK;
    }


    if (Jim_IsDict(objPtr) && objPtr->bytes == NULL) {
        Jim_Dict *dict = objPtr->internalRep.dictValue;


        objPtr->typePtr = &listObjType;
        objPtr->internalRep.listValue.len = dict->len;
        objPtr->internalRep.listValue.maxLen = dict->maxLen;
        objPtr->internalRep.listValue.ele = dict->table;


        Jim_Free(dict->ht);


        Jim_Free(dict);
        return JIM_OK;
    }


    fileNameObj = Jim_GetSourceInfo(interp, objPtr, &linenr);
    Jim_IncrRefCount(fileNameObj);


    str = Jim_GetString(objPtr, &strLen);

    Jim_FreeIntRep(interp, objPtr);
    objPtr->typePtr = &listObjType;
    objPtr->internalRep.listValue.len = 0;
    objPtr->internalRep.listValue.maxLen = 0;
    objPtr->internalRep.listValue.ele = NULL;


    if (strLen) {
        JimParserInit(&parser, str, strLen, linenr);
        while (!parser.eof) {
            Jim_Obj *elementPtr;

            JimParseList(&parser);
            if (parser.tt != JIM_TT_STR && parser.tt != JIM_TT_ESC)
                continue;
            elementPtr = JimParserGetTokenObj(interp, &parser);
            Jim_SetSourceInfo(interp, elementPtr, fileNameObj, parser.tline);
            ListAppendElement(objPtr, elementPtr);
        }
    }
    Jim_DecrRefCount(interp, fileNameObj);
    return JIM_OK;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x18(%rbp), %rax
leaq 0x365da(%rip), %rcx     # 0x46468
cmpq %rcx, 0x8(%rax)
jne 0xfea0
movl $0x0, -0x4(%rbp)
jmp 0x10082
movq -0x18(%rbp), %rdi
callq 0x14580
cmpl $0x0, %eax
je 0xff4a
movq -0x18(%rbp), %rax
cmpq $0x0, (%rax)
jne 0xff4a
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x88(%rbp)
movq -0x18(%rbp), %rax
leaq 0x3658e(%rip), %rcx     # 0x46468
movq %rcx, 0x8(%rax)
movq -0x88(%rbp), %rax
movl 0x20(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x20(%rax)
movq -0x88(%rbp), %rax
movl 0x24(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x24(%rax)
movq -0x88(%rbp), %rax
movq 0x18(%rax), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x18(%rax)
movq 0x38376(%rip), %rax     # 0x48290
movq -0x88(%rbp), %rcx
movq (%rcx), %rdi
xorl %ecx, %ecx
movl %ecx, %esi
callq *%rax
movq 0x3835f(%rip), %rax     # 0x48290
movq -0x88(%rbp), %rdi
xorl %ecx, %ecx
movl %ecx, %esi
callq *%rax
movl $0x0, -0x4(%rbp)
jmp 0x10082
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x7c(%rbp), %rdx
callq 0xd3f0
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movq -0x18(%rbp), %rdi
leaq -0x6c(%rbp), %rsi
callq 0x89b0
movq %rax, -0x68(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0xffad
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
cmpq $0x0, 0x8(%rax)
je 0xffad
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq *%rax
movq -0x18(%rbp), %rax
leaq 0x364b0(%rip), %rcx     # 0x46468
movq %rcx, 0x8(%rax)
movq -0x18(%rbp), %rax
movl $0x0, 0x20(%rax)
movq -0x18(%rbp), %rax
movl $0x0, 0x24(%rax)
movq -0x18(%rbp), %rax
movq $0x0, 0x18(%rax)
cmpl $0x0, -0x6c(%rbp)
je 0x1005c
movq -0x68(%rbp), %rsi
movl -0x6c(%rbp), %edx
movl -0x7c(%rbp), %ecx
leaq -0x60(%rbp), %rdi
callq 0x1d820
cmpl $0x0, -0x38(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x10006
jmp 0x1005a
leaq -0x60(%rbp), %rdi
callq 0x20fe0
cmpl $0x1, -0x3c(%rbp)
je 0x1001d
cmpl $0x2, -0x3c(%rbp)
je 0x1001d
jmp 0xfff7
movq -0x10(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x210c0
movq %rax, -0x90(%rbp)
movq -0x10(%rbp), %rdi
movq -0x90(%rbp), %rsi
movq -0x78(%rbp), %rdx
movl -0x40(%rbp), %ecx
callq 0xd4a0
movq -0x18(%rbp), %rdi
movq -0x90(%rbp), %rsi
callq 0x10090
jmp 0xfff7
jmp 0x1005c
movq -0x78(%rbp), %rcx
movl 0x10(%rcx), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rcx)
cmpl $0x0, %eax
jg 0x1007b
movq -0x10(%rbp), %rdi
movq -0x78(%rbp), %rsi
callq 0x7a10
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x90, %rsp
popq %rbp
retq
nop