// File: /workspace/github_c_makefile_star2_O0/rakitzis[P]rc/hash.c
// Function: makeenv
extern char **makeenv() {
	int ep, i;
	char *v;
	if (!env_dirty)
		return env;
	env_dirty = FALSE;
	ep = bozosize;
	if (vsize + fsize + 1 + bozosize > envsize) {
		envsize = 2 * (bozosize + vsize + fsize + 1);
		env = erealloc(env, envsize * sizeof(char *));
	}
	for (i = 0; i < vsize; i++) {
		if (vp[i].name == NULL || vp[i].name == dead || !var_exportable(vp[i].name))
			continue;
		v = varlookup_string(vp[i].name);
		if (v != NULL)
			env[ep++] = v;
	}
	for (i = 0; i < fsize; i++) {
		if (fp[i].name == NULL || fp[i].name == dead || !fn_exportable(fp[i].name))
			continue;
		env[ep++] = fnlookup_string(fp[i].name);
	}
	env[ep] = NULL;
	qsort(env, (size_t) ep, sizeof(char *), starstrcmp);
	return env;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
cmpl $0x0, 0x15301(%rip)     # 0x1f300
jne 0xa011
movq 0x15b80(%rip), %rax     # 0x1fb88
movq %rax, -0x8(%rbp)
jmp 0xa226
movl $0x0, 0x152e5(%rip)     # 0x1f300
movl 0x15b6f(%rip), %eax     # 0x1fb90
movl %eax, -0xc(%rbp)
movl 0x15b4e(%rip), %eax     # 0x1fb78
addl 0x15b4c(%rip), %eax     # 0x1fb7c
addl $0x1, %eax
addl 0x15b57(%rip), %eax     # 0x1fb90
cmpl 0x15b41(%rip), %eax     # 0x1fb80
jle 0xa07c
movl 0x15b49(%rip), %eax     # 0x1fb90
addl 0x15b2b(%rip), %eax     # 0x1fb78
addl 0x15b29(%rip), %eax     # 0x1fb7c
addl $0x1, %eax
shll %eax
movl %eax, 0x15b22(%rip)     # 0x1fb80
movq 0x15b23(%rip), %rdi     # 0x1fb88
movslq 0x15b14(%rip), %rsi     # 0x1fb80
shlq $0x3, %rsi
callq 0xd890
movq %rax, 0x15b0c(%rip)     # 0x1fb88
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl 0x15aec(%rip), %eax     # 0x1fb78
jge 0xa13b
movq 0x15acf(%rip), %rax     # 0x1fb68
movslq -0x10(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
cmpq $0x0, (%rax)
je 0xa0e7
movq 0x15ab7(%rip), %rax     # 0x1fb68
movslq -0x10(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
cmpq 0x15242(%rip), %rax     # 0x1f308
je 0xa0e7
movq 0x15a99(%rip), %rax     # 0x1fb68
movslq -0x10(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rdi
callq 0xa230
cmpl $0x0, %eax
jne 0xa0e9
jmp 0xa12d
movq 0x15a78(%rip), %rax     # 0x1fb68
movslq -0x10(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rdi
callq 0x122f0
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0xa12b
movq -0x18(%rbp), %rdx
movq 0x15a6f(%rip), %rax     # 0x1fb88
movl -0xc(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0xc(%rbp)
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0xa12d
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0xa083
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl 0x15a31(%rip), %eax     # 0x1fb7c
jge 0xa1ec
movq 0x15a08(%rip), %rax     # 0x1fb60
movslq -0x10(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
cmpq $0x0, (%rax)
je 0xa1a6
movq 0x159f0(%rip), %rax     # 0x1fb60
movslq -0x10(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
cmpq 0x15183(%rip), %rax     # 0x1f308
je 0xa1a6
movq 0x159d2(%rip), %rax     # 0x1fb60
movslq -0x10(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rdi
callq 0xa330
cmpl $0x0, %eax
jne 0xa1a8
jmp 0xa1de
movq 0x159b1(%rip), %rax     # 0x1fb60
movslq -0x10(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rdi
callq 0x5e00
movq %rax, %rdx
movq 0x159bc(%rip), %rax     # 0x1fb88
movl -0xc(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0xc(%rbp)
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0xa142
movq 0x15995(%rip), %rax     # 0x1fb88
movslq -0xc(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
movq 0x15982(%rip), %rdi     # 0x1fb88
movslq -0xc(%rbp), %rsi
movl $0x8, %edx
leaq 0x7b4a(%rip), %rcx      # 0x11d60
callq 0x3080
movq 0x15966(%rip), %rax     # 0x1fb88
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq