// File: /workspace/github_c_makefile_star2_O3/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:
cmpb $0x0, 0x12123(%rip)     # 0x19af0
jne 0x7c29
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movb $0x1, 0x1210b(%rip)     # 0x19af0
movl 0x12114(%rip), %r15d    # 0x19b00
movl 0x120f6(%rip), %eax     # 0x19ae8
movl 0x120f4(%rip), %ecx     # 0x19aec
leal (%rax,%r15), %edx
leal (%rcx,%rdx), %esi
incl %esi
cmpl 0x120ed(%rip), %esi     # 0x19af4
jle 0x7a38
addl %ecx, %edx
leal 0x2(,%rdx,2), %eax
movl %eax, 0x120dc(%rip)     # 0x19af4
movq 0x120d9(%rip), %rdi     # 0x19af8
movslq %eax, %rsi
shlq $0x3, %rsi
callq 0xa05a
movq %rax, 0x120c6(%rip)     # 0x19af8
movl 0x120b0(%rip), %eax     # 0x19ae8
leaq 0x83e8(%rip), %rdx      # 0xfe27
testl %eax, %eax
jle 0x7b21
xorl %r14d, %r14d
leaq 0x112af(%rip), %r13     # 0x18d00
leaq 0x118a8(%rip), %rbp     # 0x19300
movq 0x12079(%rip), %rax     # 0x19ad8
movq %r14, %rcx
shlq $0x4, %rcx
movq (%rax,%rcx), %rbx
testq %rbx, %rbx
sete %al
cmpq %rdx, %rbx
sete %cl
orb %al, %cl
jne 0x7b0e
movq %r15, (%rsp)
movb (%rbx), %r12b
xorl %r15d, %r15d
movq (%r15,%r13), %rsi
cmpb (%rsi), %r12b
jne 0x7a9d
movq %rbx, %rdi
callq 0x31f0
testl %eax, %eax
je 0x7b03
addq $0x8, %r15
cmpq $0x50, %r15
jne 0x7a88
movb $0x1, %r15b
xorl %eax, %eax
shlq $0x4, %rax
cmpl $0x0, 0x8(%rax,%rbp)
jne 0x7ace
addq %rbp, %rax
movq (%rax), %rsi
cmpb (%rsi), %r12b
jne 0x7ace
movq %rbx, %rdi
callq 0x31f0
testl %eax, %eax
je 0x7b03
movl $0x1, %eax
testb $0x1, %r15b
movl $0x0, %r15d
jne 0x7aac
movq %rbx, %rdi
callq 0xcae5
testq %rax, %rax
je 0x7b03
movq 0x12005(%rip), %rcx     # 0x19af8
movq (%rsp), %r15
movslq %r15d, %rdx
incl %r15d
movq %rax, (%rcx,%rdx,8)
jmp 0x7b07
movq (%rsp), %r15
leaq 0x8319(%rip), %rdx      # 0xfe27
incq %r14
movslq 0x11fd0(%rip), %rax     # 0x19ae8
cmpq %rax, %r14
jl 0x7a58
movl 0x11fc5(%rip), %ebx     # 0x19aec
testl %ebx, %ebx
jle 0x7bf8
movq 0x11f9a(%rip), %r12     # 0x19ad0
xorl %r13d, %r13d
leaq 0x11810(%rip), %rbp     # 0x19350
movq %r13, %rax
shlq $0x4, %rax
movq (%r12,%rax), %r14
testq %r14, %r14
sete %al
cmpq %rdx, %r14
sete %cl
orb %al, %cl
jne 0x7be1
cmpb $0x73, (%r14)
jne 0x7bb4
cmpb $0x69, 0x1(%r14)
jne 0x7bb4
cmpb $0x67, 0x2(%r14)
jne 0x7bb4
movq %r15, (%rsp)
xorl %r15d, %r15d
movq (%rbp,%r15), %rsi
cmpb $0x73, (%rsi)
jne 0x7b90
movq %r14, %rdi
callq 0x31f0
testl %eax, %eax
je 0x7bf2
addq $0x10, %r15
cmpq $0x410, %r15            # imm = 0x410
jne 0x7b7a
movq %r14, %rdi
leaq 0x7877(%rip), %rsi      # 0xf41e
callq 0x31f0
testl %eax, %eax
movq (%rsp), %r15
je 0x7bda
movq %r14, %rdi
callq 0x500e
movq 0x11f35(%rip), %rcx     # 0x19af8
movslq %r15d, %rdx
incl %r15d
movq %rax, (%rcx,%rdx,8)
movq 0x11efc(%rip), %r12     # 0x19ad0
movl 0x11f12(%rip), %ebx     # 0x19aec
leaq 0x8246(%rip), %rdx      # 0xfe27
incq %r13
movslq %ebx, %rax
cmpq %rax, %r13
jl 0x7b40
jmp 0x7bf8
movq (%rsp), %r15
jmp 0x7bda
movq 0x11ef9(%rip), %rdi     # 0x19af8
movslq %r15d, %rsi
movq $0x0, (%rdi,%rsi,8)
leaq 0x4b9c(%rip), %rcx      # 0xc7ad
movl $0x8, %edx
callq 0x3080
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
movq 0x11ec8(%rip), %rax     # 0x19af8
retq