// File: /workspace/github_c_makefile_star2_O2/haxlang[P]hax/haxUnixAZ.c
// Function: StoreStatData
static int
StoreStatData(
    Hax_Interp *interp,			/* Interpreter for error reports. */
    char *varName,			/* Name of associative array variable
					 * in which to store stat results. */
    struct stat *statPtr		/* Pointer to buffer containing
					 * stat data to store in varName. */)
{
    char string[30];

    sprintf(string, "%lld", (long long int) statPtr->st_dev);
    if (Hax_SetVar2(interp, varName, (char *) "dev", string, HAX_LEAVE_ERR_MSG)
	    == NULL) {
	return HAX_ERROR;
    }
    sprintf(string, "%lld", (long long int) statPtr->st_ino);
    if (Hax_SetVar2(interp, varName, (char *) "ino", string, HAX_LEAVE_ERR_MSG)
	    == NULL) {
	return HAX_ERROR;
    }
    sprintf(string, "%d", statPtr->st_mode);
    if (Hax_SetVar2(interp, varName, (char *) "mode", string, HAX_LEAVE_ERR_MSG)
	    == NULL) {
	return HAX_ERROR;
    }
    sprintf(string, "%lld", (long long int) statPtr->st_nlink);
    if (Hax_SetVar2(interp, varName, (char *) "nlink", string,
	    HAX_LEAVE_ERR_MSG)
	    == NULL) {
	return HAX_ERROR;
    }
    sprintf(string, "%d", statPtr->st_uid);
    if (Hax_SetVar2(interp, varName, (char *) "uid", string, HAX_LEAVE_ERR_MSG)
	    == NULL) {
	return HAX_ERROR;
    }
    sprintf(string, "%d", statPtr->st_gid);
    if (Hax_SetVar2(interp, varName, (char *) "gid", string, HAX_LEAVE_ERR_MSG)
	    == NULL) {
	return HAX_ERROR;
    }
    sprintf(string, "%lld", (long long int) statPtr->st_size);
    if (Hax_SetVar2(interp, varName, (char *) "size", string, HAX_LEAVE_ERR_MSG)
	    == NULL) {
	return HAX_ERROR;
    }
    sprintf(string, "%lld", (long long int) statPtr->st_atime);
    if (Hax_SetVar2(interp, varName, (char *) "atime", string,
	    HAX_LEAVE_ERR_MSG)
	    == NULL) {
	return HAX_ERROR;
    }
    sprintf(string, "%lld", (long long int) statPtr->st_mtime);
    if (Hax_SetVar2(interp, varName, (char *) "mtime", string,
	    HAX_LEAVE_ERR_MSG)
	    == NULL) {
	return HAX_ERROR;
    }
    sprintf(string, "%lld", (long long int) statPtr->st_ctime);
    if (Hax_SetVar2(interp, varName, (char *) "ctime", string,
	    HAX_LEAVE_ERR_MSG)
	    == NULL) {
	return HAX_ERROR;
    }
    if (Hax_SetVar2(interp, varName, (char *) "type",
	    GetFileType((int) statPtr->st_mode), HAX_LEAVE_ERR_MSG) == NULL) {
	return HAX_ERROR;
    }
    return HAX_OK;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x20, %rsp
movq %rdx, %r12
movq %rsi, %r14
movq %rdi, %r15
movq (%rdx), %rdx
leaq 0x2ff7(%rip), %rsi      # 0x8759
movq %rsp, %rbx
movq %rbx, %rdi
xorl %eax, %eax
callq 0x3590
leaq 0x3041(%rip), %rdx      # 0x87b7
movq %r15, %rdi
movq %r14, %rsi
movq %rbx, %rcx
movl $0x200, %r8d            # imm = 0x200
callq 0x30c0
pushq $0x1
popq %rbx
testq %rax, %rax
je 0x59e0
movq 0x8(%r12), %rdx
leaq 0x2fb7(%rip), %rsi      # 0x8759
movq %rsp, %r13
movq %r13, %rdi
xorl %eax, %eax
callq 0x3590
leaq 0x3005(%rip), %rdx      # 0x87bb
movq %r15, %rdi
movq %r14, %rsi
movq %r13, %rcx
movl $0x200, %r8d            # imm = 0x200
callq 0x30c0
testq %rax, %rax
je 0x59e0
movl 0x18(%r12), %edx
leaq 0x2e24(%rip), %rsi      # 0x8603
movq %rsp, %r13
movq %r13, %rdi
xorl %eax, %eax
callq 0x3590
leaq 0x2fcc(%rip), %rdx      # 0x87bf
movq %r15, %rdi
movq %r14, %rsi
movq %r13, %rcx
movl $0x200, %r8d            # imm = 0x200
callq 0x30c0
testq %rax, %rax
je 0x59e0
movq 0x10(%r12), %rdx
leaq 0x2f3d(%rip), %rsi      # 0x8759
movq %rsp, %r13
movq %r13, %rdi
xorl %eax, %eax
callq 0x3590
leaq 0x2f94(%rip), %rdx      # 0x87c4
movq %r15, %rdi
movq %r14, %rsi
movq %r13, %rcx
movl $0x200, %r8d            # imm = 0x200
callq 0x30c0
testq %rax, %rax
je 0x59e0
movl 0x1c(%r12), %edx
leaq 0x2daa(%rip), %rsi      # 0x8603
movq %rsp, %r13
movq %r13, %rdi
xorl %eax, %eax
callq 0x3590
leaq 0x2f5d(%rip), %rdx      # 0x87ca
movq %r15, %rdi
movq %r14, %rsi
movq %r13, %rcx
movl $0x200, %r8d            # imm = 0x200
callq 0x30c0
testq %rax, %rax
je 0x59e0
movl 0x20(%r12), %edx
leaq 0x2d6d(%rip), %rsi      # 0x8603
movq %rsp, %r13
movq %r13, %rdi
xorl %eax, %eax
callq 0x3590
leaq 0x2f24(%rip), %rdx      # 0x87ce
movq %r15, %rdi
movq %r14, %rsi
movq %r13, %rcx
movl $0x200, %r8d            # imm = 0x200
callq 0x30c0
testq %rax, %rax
je 0x59e0
movq 0x30(%r12), %rdx
leaq 0x2e86(%rip), %rsi      # 0x8759
movq %rsp, %r13
movq %r13, %rdi
xorl %eax, %eax
callq 0x3590
leaq 0x2aeb(%rip), %rdx      # 0x83d2
movq %r15, %rdi
movq %r14, %rsi
movq %r13, %rcx
movl $0x200, %r8d            # imm = 0x200
callq 0x30c0
testq %rax, %rax
je 0x59e0
movq 0x48(%r12), %rdx
leaq 0x2e49(%rip), %rsi      # 0x8759
movq %rsp, %r13
movq %r13, %rdi
xorl %eax, %eax
callq 0x3590
leaq 0x2a3c(%rip), %rdx      # 0x8360
movq %r15, %rdi
movq %r14, %rsi
movq %r13, %rcx
movl $0x200, %r8d            # imm = 0x200
callq 0x30c0
testq %rax, %rax
je 0x59e0
movq 0x58(%r12), %rdx
leaq 0x2e0c(%rip), %rsi      # 0x8759
movq %rsp, %r13
movq %r13, %rdi
xorl %eax, %eax
callq 0x3590
leaq 0x2a48(%rip), %rdx      # 0x83a9
movq %r15, %rdi
movq %r14, %rsi
movq %r13, %rcx
movl $0x200, %r8d            # imm = 0x200
callq 0x30c0
testq %rax, %rax
je 0x59e0
movq 0x68(%r12), %rdx
leaq 0x2dd3(%rip), %rsi      # 0x8759
movq %rsp, %r13
movq %r13, %rdi
xorl %eax, %eax
callq 0x3590
leaq 0x2e38(%rip), %rdx      # 0x87d2
movq %r15, %rdi
movq %r14, %rsi
movq %r13, %rcx
movl $0x200, %r8d            # imm = 0x200
callq 0x30c0
testq %rax, %rax
je 0x59e0
movl 0x18(%r12), %edi
callq 0x59f0
leaq 0x2a37(%rip), %rdx      # 0x83fb
movq %r15, %rdi
movq %r14, %rsi
movq %rax, %rcx
movl $0x200, %r8d            # imm = 0x200
callq 0x30c0
xorl %ebx, %ebx
testq %rax, %rax
sete %bl
movl %ebx, %eax
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq