// File: /workspace/github_c_makefile_star2_O1/msteveb[P]autosetup/./jimsh0.c
// Function: Jim_FileStoreStatData
int Jim_FileStoreStatData(Jim_Interp *interp, Jim_Obj *varName, const jim_stat_t *sb)
{

    Jim_Obj *listObj = Jim_NewListObj(interp, NULL, 0);

    AppendStatElement(interp, listObj, "dev", sb->st_dev);
    AppendStatElement(interp, listObj, "ino", sb->st_ino);
    AppendStatElement(interp, listObj, "mode", sb->st_mode);
    AppendStatElement(interp, listObj, "nlink", sb->st_nlink);
    AppendStatElement(interp, listObj, "uid", sb->st_uid);
    AppendStatElement(interp, listObj, "gid", sb->st_gid);
    AppendStatElement(interp, listObj, "size", sb->st_size);
    AppendStatElement(interp, listObj, "atime", sb->st_atime);
    AppendStatElement(interp, listObj, "mtime", sb->st_mtime);
    AppendStatElement(interp, listObj, "ctime", sb->st_ctime);
#ifdef STAT_MTIME_US
    AppendStatElement(interp, listObj, "mtimeus", STAT_MTIME_US(*sb));
#endif
    Jim_ListAppendElement(interp, listObj, Jim_NewStringObj(interp, "type", -1));
    Jim_ListAppendElement(interp, listObj, Jim_NewStringObj(interp, JimGetFileType((int)sb->st_mode), -1));


    if (varName) {
        Jim_Obj *objPtr;
        objPtr = Jim_GetVariable(interp, varName, JIM_NONE);

        if (objPtr) {
            Jim_Obj *objv[2];

            objv[0] = objPtr;
            objv[1] = listObj;

            objPtr = Jim_DictMerge(interp, 2, objv);
            if (objPtr == NULL) {

                Jim_SetResultFormatted(interp, "can't set \"%#s(dev)\": variable isn't array", varName);
                Jim_FreeNewObj(interp, listObj);
                return JIM_ERR;
            }

            Jim_InvalidateStringRep(objPtr);

            Jim_FreeNewObj(interp, listObj);
            listObj = objPtr;
        }
        Jim_SetVariable(interp, varName, listObj);
    }


    Jim_SetResult(interp, listObj);

    return JIM_OK;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdx, %r12
movq %rsi, %r15
movq %rdi, %rbx
callq 0xae58
movq %rax, %r14
leaq 0x2cd2e(%rip), %rax     # 0x36358
movq %rax, 0x8(%r14)
movq $0x0, (%r14)
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%r14)
movq (%r12), %rcx
leaq 0x22551(%rip), %rdx     # 0x2bb99
movq %rbx, %rdi
movq %r14, %rsi
callq 0x9857
movq 0x8(%r12), %rcx
leaq 0x2253e(%rip), %rdx     # 0x2bb9d
movq %rbx, %rdi
movq %r14, %rsi
callq 0x9857
movl 0x18(%r12), %ecx
leaq 0x2501e(%rip), %rdx     # 0x2e694
movq %rbx, %rdi
movq %r14, %rsi
callq 0x9857
movq 0x10(%r12), %rcx
leaq 0x22514(%rip), %rdx     # 0x2bba1
movq %rbx, %rdi
movq %r14, %rsi
callq 0x9857
movl 0x1c(%r12), %ecx
leaq 0x22503(%rip), %rdx     # 0x2bba7
movq %rbx, %rdi
movq %r14, %rsi
callq 0x9857
movl 0x20(%r12), %ecx
leaq 0x224f0(%rip), %rdx     # 0x2bbab
movq %rbx, %rdi
movq %r14, %rsi
callq 0x9857
movq 0x30(%r12), %rcx
leaq 0x22e11(%rip), %rdx     # 0x2c4e3
movq %rbx, %rdi
movq %r14, %rsi
callq 0x9857
movq 0x48(%r12), %rcx
leaq 0x224c6(%rip), %rdx     # 0x2bbaf
movq %rbx, %rdi
movq %r14, %rsi
callq 0x9857
movq 0x58(%r12), %rcx
leaq 0x224b5(%rip), %rdx     # 0x2bbb5
movq %rbx, %rdi
movq %r14, %rsi
callq 0x9857
movq 0x68(%r12), %rcx
leaq 0x224a4(%rip), %rdx     # 0x2bbbb
movq %rbx, %rdi
movq %r14, %rsi
callq 0x9857
leaq 0x22498(%rip), %rsi     # 0x2bbc1
movq %rbx, %rdi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x7516
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x7695
movl 0x18(%r12), %edi
callq 0x98bb
movq %rbx, %rdi
movq %rax, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x7516
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x7695
testq %r15, %r15
je 0x9826
movq %rbx, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x98ef
testq %rax, %rax
je 0x97d7
leaq -0x40(%rbp), %rdx
movq %rax, (%rdx)
movq %r14, 0x8(%rdx)
movq %rbx, %rdi
movl $0x2, %esi
callq 0x99ca
movq %rax, %r12
testq %rax, %rax
je 0x97dc
movq (%r12), %rdi
testq %rdi, %rdi
sete %al
leaq 0x2eae0(%rip), %rcx     # 0x38298
cmpq %rcx, %rdi
sete %cl
orb %al, %cl
jne 0x97ca
xorl %esi, %esi
callq *0x2eabe(%rip)          # 0x38288
movq $0x0, (%r12)
movq %r12, %r13
jmp 0x97f3
movq %r14, %r13
jmp 0x9806
leaq 0x223e3(%rip), %rsi     # 0x2bbc6
movq %rbx, %rdi
movq %r15, %rdx
xorl %eax, %eax
callq 0x692d
movq %r14, %r13
movq %rbx, %rdi
movq %r14, %rsi
callq 0x759a
testq %r12, %r12
je 0x9818
movq %r13, %r14
movq %rbx, %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x871b
movb $0x1, %cl
jmp 0x981a
xorl %ecx, %ecx
movl $0x1, %eax
movq %r13, %r14
testb %cl, %cl
je 0x9848
incl 0x10(%r14)
movq (%rbx), %rsi
movl 0x10(%rsi), %eax
leal -0x1(%rax), %ecx
movl %ecx, 0x10(%rsi)
cmpl $0x1, %eax
jg 0x9843
movq %rbx, %rdi
callq 0x759a
movq %r14, (%rbx)
xorl %eax, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq