// File: /workspace/github_c_makefile_star2_O2/coyove[P]chann/./lib/unqlite/unqlite.c
// Function: UnixFile_Stat
static int UnixFile_Stat(void *pUserData, jx9_value *pArray, jx9_value *pWorker)
{
	struct stat st;
	int rc;
	rc = fstat(SX_PTR_TO_INT(pUserData), &st);
	if( rc != 0 ){ 
	 return -1;
	}
	/* dev */
	jx9_value_int64(pWorker, (jx9_int64)st.st_dev);
	jx9_array_add_strkey_elem(pArray, "dev", pWorker); /* Will make it's own copy */
	/* ino */
	jx9_value_int64(pWorker, (jx9_int64)st.st_ino);
	jx9_array_add_strkey_elem(pArray, "ino", pWorker); /* Will make it's own copy */
	/* mode */
	jx9_value_int(pWorker, (int)st.st_mode);
	jx9_array_add_strkey_elem(pArray, "mode", pWorker);
	/* nlink */
	jx9_value_int(pWorker, (int)st.st_nlink);
	jx9_array_add_strkey_elem(pArray, "nlink", pWorker); /* Will make it's own copy */
	/* uid, gid, rdev */
	jx9_value_int(pWorker, (int)st.st_uid);
	jx9_array_add_strkey_elem(pArray, "uid", pWorker);
	jx9_value_int(pWorker, (int)st.st_gid);
	jx9_array_add_strkey_elem(pArray, "gid", pWorker);
	jx9_value_int(pWorker, (int)st.st_rdev);
	jx9_array_add_strkey_elem(pArray, "rdev", pWorker);
	/* size */
	jx9_value_int64(pWorker, (jx9_int64)st.st_size);
	jx9_array_add_strkey_elem(pArray, "size", pWorker); /* Will make it's own copy */
	/* atime */
	jx9_value_int64(pWorker, (jx9_int64)st.st_atime);
	jx9_array_add_strkey_elem(pArray, "atime", pWorker); /* Will make it's own copy */
	/* mtime */
	jx9_value_int64(pWorker, (jx9_int64)st.st_mtime);
	jx9_array_add_strkey_elem(pArray, "mtime", pWorker); /* Will make it's own copy */
	/* ctime */
	jx9_value_int64(pWorker, (jx9_int64)st.st_ctime);
	jx9_array_add_strkey_elem(pArray, "ctime", pWorker); /* Will make it's own copy */
	/* blksize, blocks */
	jx9_value_int(pWorker, (int)st.st_blksize);		
	jx9_array_add_strkey_elem(pArray, "blksize", pWorker);
	jx9_value_int(pWorker, (int)st.st_blocks);
	jx9_array_add_strkey_elem(pArray, "blocks", pWorker);
	return JX9_OK;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x90, %rsp
movq %rdx, %rbx
movq %rsi, %r14
leaq -0xa0(%rbp), %rsi
callq 0xc9e0
testl %eax, %eax
je 0x568b9
pushq $-0x1
popq %rax
jmp 0x56a49
movq -0xa0(%rbp), %rsi
movq %rbx, %rdi
callq 0x294c2
leaq 0x11047(%rip), %rsi     # 0x67916
movq %r14, %rdi
movq %rbx, %rdx
callq 0x29c6c
movq -0x98(%rbp), %rsi
movq %rbx, %rdi
callq 0x294c2
leaq 0x1101c(%rip), %rsi     # 0x6790c
movq %r14, %rdi
movq %rbx, %rdx
callq 0x29c6c
movl -0x88(%rbp), %esi
movq %rbx, %rdi
callq 0x29489
leaq 0x11000(%rip), %rsi     # 0x67910
movq %r14, %rdi
movq %rbx, %rdx
callq 0x29c6c
movl -0x90(%rbp), %esi
movq %rbx, %rdi
callq 0x29489
leaq 0x10933(%rip), %rsi     # 0x67263
movq %r14, %rdi
movq %rbx, %rdx
callq 0x29c6c
movl -0x84(%rbp), %esi
movq %rbx, %rdi
callq 0x29489
leaq 0x10a10(%rip), %rsi     # 0x67360
movq %r14, %rdi
movq %rbx, %rdx
callq 0x29c6c
movl -0x80(%rbp), %esi
movq %rbx, %rdi
callq 0x29489
leaq 0x109fa(%rip), %rsi     # 0x67367
movq %r14, %rdi
movq %rbx, %rdx
callq 0x29c6c
movl -0x78(%rbp), %esi
movq %rbx, %rdi
callq 0x29489
leaq 0x10f8b(%rip), %rsi     # 0x67915
movq %r14, %rdi
movq %rbx, %rdx
callq 0x29c6c
movq -0x70(%rbp), %rsi
movq %rbx, %rdi
callq 0x294c2
leaq 0x118fe(%rip), %rsi     # 0x682a6
movq %r14, %rdi
movq %rbx, %rdx
callq 0x29c6c
movq -0x58(%rbp), %rsi
movq %rbx, %rdi
callq 0x294c2
leaq 0x108e6(%rip), %rsi     # 0x672ac
movq %r14, %rdi
movq %rbx, %rdx
callq 0x29c6c
movq -0x48(%rbp), %rsi
movq %rbx, %rdi
callq 0x294c2
leaq 0x108d2(%rip), %rsi     # 0x672b6
movq %r14, %rdi
movq %rbx, %rdx
callq 0x29c6c
movq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x294c2
leaq 0x108be(%rip), %rsi     # 0x672c0
movq %r14, %rdi
movq %rbx, %rdx
callq 0x29c6c
movl -0x68(%rbp), %esi
movq %rbx, %rdi
callq 0x29489
leaq 0x10efb(%rip), %rsi     # 0x6791a
movq %r14, %rdi
movq %rbx, %rdx
callq 0x29c6c
movl -0x60(%rbp), %esi
movq %rbx, %rdi
callq 0x29489
leaq 0x10ee6(%rip), %rsi     # 0x67922
movq %r14, %rdi
movq %rbx, %rdx
callq 0x29c6c
xorl %eax, %eax
addq $0x90, %rsp
popq %rbx
popq %r14
popq %rbp
retq