// File: /workspace/github_c_makefile_star2_O2/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
xorl %esi, %esi
xorl %edx, %edx
callq 0x745b
movq %rax, %r14
movq (%r12), %rcx
leaq 0x1da70(%rip), %rdx     # 0x26b91
movq %rbx, %rdi
movq %rax, %rsi
callq 0x92f3
movq 0x8(%r12), %rcx
leaq 0x1da5d(%rip), %rdx     # 0x26b95
movq %rbx, %rdi
movq %r14, %rsi
callq 0x92f3
movl 0x18(%r12), %ecx
leaq 0x20533(%rip), %rdx     # 0x29682
movq %rbx, %rdi
movq %r14, %rsi
callq 0x92f3
movq 0x10(%r12), %rcx
leaq 0x1da33(%rip), %rdx     # 0x26b99
movq %rbx, %rdi
movq %r14, %rsi
callq 0x92f3
movl 0x1c(%r12), %ecx
leaq 0x1da22(%rip), %rdx     # 0x26b9f
movq %rbx, %rdi
movq %r14, %rsi
callq 0x92f3
movl 0x20(%r12), %ecx
leaq 0x1da0f(%rip), %rdx     # 0x26ba3
movq %rbx, %rdi
movq %r14, %rsi
callq 0x92f3
movq 0x30(%r12), %rcx
leaq 0x1e32d(%rip), %rdx     # 0x274d8
movq %rbx, %rdi
movq %r14, %rsi
callq 0x92f3
movq 0x48(%r12), %rcx
leaq 0x1d9e5(%rip), %rdx     # 0x26ba7
movq %rbx, %rdi
movq %r14, %rsi
callq 0x92f3
movq 0x58(%r12), %rcx
leaq 0x1d9d4(%rip), %rdx     # 0x26bad
movq %rbx, %rdi
movq %r14, %rsi
callq 0x92f3
movq 0x68(%r12), %rcx
leaq 0x1d9c3(%rip), %rdx     # 0x26bb3
movq %rbx, %rdi
movq %r14, %rsi
callq 0x92f3
leaq 0x1d9b7(%rip), %rsi     # 0x26bb9
pushq $-0x1
popq %r13
movq %rbx, %rdi
movl %r13d, %edx
callq 0x7363
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x74ad
movl 0x18(%r12), %edi
callq 0x9344
movq %rbx, %rdi
movq %rax, %rsi
movl %r13d, %edx
callq 0x7363
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x74ad
testq %r15, %r15
je 0x929e
movq %rbx, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x9378
testq %rax, %rax
je 0x9290
leaq -0x40(%rbp), %rdx
movq %rax, (%rdx)
movq %r14, 0x8(%rdx)
pushq $0x2
popq %rsi
movq %rbx, %rdi
callq 0x9448
testq %rax, %rax
je 0x92cf
movq %rax, %r12
movq %rax, %rdi
callq 0x94f7
movq %rbx, %rdi
movq %r14, %rsi
callq 0x73bf
movq %r12, %r14
movq %rbx, %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x8306
incl 0x10(%r14)
movq (%rbx), %rsi
movl 0x10(%rsi), %eax
leal -0x1(%rax), %ecx
movl %ecx, 0x10(%rsi)
cmpl $0x1, %eax
jg 0x92bb
movq %rbx, %rdi
callq 0x73bf
movq %r14, (%rbx)
xorl %eax, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x1d8e8(%rip), %rsi     # 0x26bbe
movq %rbx, %rdi
movq %r15, %rdx
xorl %eax, %eax
callq 0x68a7
movq %rbx, %rdi
movq %r14, %rsi
callq 0x73bf
pushq $0x1
popq %rax
jmp 0x92c0