// File: /workspace/github_c_makefile_star2_O0/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
subq $0xc0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rax
movl %eax, %edi
leaq -0xb0(%rbp), %rsi
callq 0xdb20
movl %eax, -0xb4(%rbp)
cmpl $0x0, -0xb4(%rbp)
je 0xabb54
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xabd22
movq -0x20(%rbp), %rdi
movq -0xb0(%rbp), %rsi
callq 0x56780
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rdx
leaq 0x1a29c(%rip), %rsi     # 0xc5e0f
callq 0x579b0
movq -0x20(%rbp), %rdi
movq -0xa8(%rbp), %rsi
callq 0x56780
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rdx
leaq 0x1a26e(%rip), %rsi     # 0xc5e05
callq 0x579b0
movq -0x20(%rbp), %rdi
movl -0x98(%rbp), %esi
callq 0x56700
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rdx
leaq 0x1a24f(%rip), %rsi     # 0xc5e09
callq 0x579b0
movq -0x20(%rbp), %rdi
movq -0xa0(%rbp), %rax
movl %eax, %esi
callq 0x56700
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rdx
leaq 0x19b7c(%rip), %rsi     # 0xc575c
callq 0x579b0
movq -0x20(%rbp), %rdi
movl -0x94(%rbp), %esi
callq 0x56700
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rdx
leaq 0x19c56(%rip), %rsi     # 0xc5859
callq 0x579b0
movq -0x20(%rbp), %rdi
movl -0x90(%rbp), %esi
callq 0x56700
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rdx
leaq 0x19c3a(%rip), %rsi     # 0xc5860
callq 0x579b0
movq -0x20(%rbp), %rdi
movq -0x88(%rbp), %rax
movl %eax, %esi
callq 0x56700
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rdx
leaq 0x1a1c2(%rip), %rsi     # 0xc5e0e
callq 0x579b0
movq -0x20(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0x56780
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rdx
leaq 0x1af51(%rip), %rsi     # 0xc6bbe
callq 0x579b0
movq -0x20(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x56780
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rdx
leaq 0x19b17(%rip), %rsi     # 0xc57a5
callq 0x579b0
movq -0x20(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0x56780
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rdx
leaq 0x19b00(%rip), %rsi     # 0xc57af
callq 0x579b0
movq -0x20(%rbp), %rdi
movq -0x48(%rbp), %rsi
callq 0x56780
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rdx
leaq 0x19ae9(%rip), %rsi     # 0xc57b9
callq 0x579b0
movq -0x20(%rbp), %rdi
movq -0x78(%rbp), %rax
movl %eax, %esi
callq 0x56700
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rdx
leaq 0x1a120(%rip), %rsi     # 0xc5e13
callq 0x579b0
movq -0x20(%rbp), %rdi
movq -0x70(%rbp), %rax
movl %eax, %esi
callq 0x56700
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rdx
leaq 0x1a105(%rip), %rsi     # 0xc5e1b
callq 0x579b0
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0xc0, %rsp
popq %rbp
retq
nop