// File: /workspace/github_c_makefile_star2_O3/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 0x2f1a(%rip), %rsi      # 0x8759
movq %rsp, %rbx
movq %rbx, %rdi
xorl %eax, %eax
callq 0x35a0
leaq 0x2f64(%rip), %rdx      # 0x87b7
movq %r15, %rdi
movq %r14, %rsi
movq %rbx, %rcx
movl $0x200, %r8d            # imm = 0x200
callq 0x30c0
movl $0x1, %ebx
testq %rax, %rax
je 0x5abf
movq 0x8(%r12), %rdx
leaq 0x2ed8(%rip), %rsi      # 0x8759
movq %rsp, %r13
movq %r13, %rdi
xorl %eax, %eax
callq 0x35a0
leaq 0x2f26(%rip), %rdx      # 0x87bb
movq %r15, %rdi
movq %r14, %rsi
movq %r13, %rcx
movl $0x200, %r8d            # imm = 0x200
callq 0x30c0
testq %rax, %rax
je 0x5abf
movl 0x18(%r12), %edx
leaq 0x2d45(%rip), %rsi      # 0x8603
movq %rsp, %r13
movq %r13, %rdi
xorl %eax, %eax
callq 0x35a0
leaq 0x2eed(%rip), %rdx      # 0x87bf
movq %r15, %rdi
movq %r14, %rsi
movq %r13, %rcx
movl $0x200, %r8d            # imm = 0x200
callq 0x30c0
testq %rax, %rax
je 0x5abf
movq 0x10(%r12), %rdx
leaq 0x2e5e(%rip), %rsi      # 0x8759
movq %rsp, %r13
movq %r13, %rdi
xorl %eax, %eax
callq 0x35a0
leaq 0x2eb5(%rip), %rdx      # 0x87c4
movq %r15, %rdi
movq %r14, %rsi
movq %r13, %rcx
movl $0x200, %r8d            # imm = 0x200
callq 0x30c0
testq %rax, %rax
je 0x5abf
movl 0x1c(%r12), %edx
leaq 0x2ccb(%rip), %rsi      # 0x8603
movq %rsp, %r13
movq %r13, %rdi
xorl %eax, %eax
callq 0x35a0
leaq 0x2e7e(%rip), %rdx      # 0x87ca
movq %r15, %rdi
movq %r14, %rsi
movq %r13, %rcx
movl $0x200, %r8d            # imm = 0x200
callq 0x30c0
testq %rax, %rax
je 0x5abf
movl 0x20(%r12), %edx
leaq 0x2c8e(%rip), %rsi      # 0x8603
movq %rsp, %r13
movq %r13, %rdi
xorl %eax, %eax
callq 0x35a0
leaq 0x2e45(%rip), %rdx      # 0x87ce
movq %r15, %rdi
movq %r14, %rsi
movq %r13, %rcx
movl $0x200, %r8d            # imm = 0x200
callq 0x30c0
testq %rax, %rax
je 0x5abf
movq 0x30(%r12), %rdx
leaq 0x2da7(%rip), %rsi      # 0x8759
movq %rsp, %r13
movq %r13, %rdi
xorl %eax, %eax
callq 0x35a0
leaq 0x2a0c(%rip), %rdx      # 0x83d2
movq %r15, %rdi
movq %r14, %rsi
movq %r13, %rcx
movl $0x200, %r8d            # imm = 0x200
callq 0x30c0
testq %rax, %rax
je 0x5abf
movq 0x48(%r12), %rdx
leaq 0x2d6a(%rip), %rsi      # 0x8759
movq %rsp, %r13
movq %r13, %rdi
xorl %eax, %eax
callq 0x35a0
leaq 0x295d(%rip), %rdx      # 0x8360
movq %r15, %rdi
movq %r14, %rsi
movq %r13, %rcx
movl $0x200, %r8d            # imm = 0x200
callq 0x30c0
testq %rax, %rax
je 0x5abf
movq 0x58(%r12), %rdx
leaq 0x2d2d(%rip), %rsi      # 0x8759
movq %rsp, %r13
movq %r13, %rdi
xorl %eax, %eax
callq 0x35a0
leaq 0x2969(%rip), %rdx      # 0x83a9
movq %r15, %rdi
movq %r14, %rsi
movq %r13, %rcx
movl $0x200, %r8d            # imm = 0x200
callq 0x30c0
testq %rax, %rax
je 0x5abf
movq 0x68(%r12), %rdx
leaq 0x2cf4(%rip), %rsi      # 0x8759
movq %rsp, %r13
movq %r13, %rdi
xorl %eax, %eax
callq 0x35a0
leaq 0x2d59(%rip), %rdx      # 0x87d2
movq %r15, %rdi
movq %r14, %rsi
movq %r13, %rcx
movl $0x200, %r8d            # imm = 0x200
callq 0x30c0
testq %rax, %rax
je 0x5abf
movl 0x18(%r12), %edi
callq 0x5acf
leaq 0x2958(%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