// File: /workspace/github_c_makefile_star2_O2/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, 0x124c0(%rip)     # 0x19af0
jne 0x7882
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movb $0x1, 0x124a5(%rip)     # 0x19af0
movl 0x124ae(%rip), %r12d    # 0x19b00
movl 0x12490(%rip), %esi     # 0x19ae8
movl 0x1248e(%rip), %eax     # 0x19aec
leal (%rsi,%r12), %ecx
leal (%rax,%rcx), %edx
incl %edx
cmpl 0x12487(%rip), %edx     # 0x19af4
jle 0x769e
addl %eax, %ecx
leal 0x2(,%rcx,2), %eax
movl %eax, 0x12476(%rip)     # 0x19af4
movq 0x12473(%rip), %rdi     # 0x19af8
movslq %eax, %rsi
shlq $0x3, %rsi
callq 0x9acc
movq %rax, 0x12460(%rip)     # 0x19af8
movl 0x1244a(%rip), %esi     # 0x19ae8
xorl %r15d, %r15d
leaq 0x11c58(%rip), %rbp     # 0x19300
leaq 0x11651(%rip), %r13     # 0x18d00
movslq %esi, %rax
cmpq %rax, %r15
jge 0x7789
movq 0x12416(%rip), %rax     # 0x19ad8
movq %r15, %rcx
shlq $0x4, %rcx
movq (%rax,%rcx), %rbx
testq %rbx, %rbx
sete %al
leaq 0x774d(%rip), %rcx      # 0xee27
cmpq %rcx, %rbx
sete %cl
orb %al, %cl
jne 0x7781
movq %rsi, 0x10(%rsp)
movq %r12, 0x8(%rsp)
movb (%rbx), %r12b
xorl %r14d, %r14d
cmpq $0x50, %r14
je 0x7719
movq (%r14,%r13), %rsi
cmpb (%rsi), %r12b
jne 0x7713
movq %rbx, %rdi
callq 0x31f0
testl %eax, %eax
je 0x7770
addq $0x8, %r14
jmp 0x76f8
xorl %r14d, %r14d
cmpq $0x20, %r14
je 0x7745
cmpl $0x0, 0x8(%r14,%rbp)
jne 0x773f
movq (%r14,%rbp), %rsi
cmpb (%rsi), %r12b
jne 0x773f
movq %rbx, %rdi
callq 0x31f0
testl %eax, %eax
je 0x7770
addq $0x10, %r14
jmp 0x771c
movq %rbx, %rdi
callq 0xc25e
movl 0x12395(%rip), %esi     # 0x19ae8
testq %rax, %rax
je 0x777c
movq 0x12399(%rip), %rcx     # 0x19af8
movq 0x8(%rsp), %r12
movslq %r12d, %rdx
incl %r12d
movq %rax, (%rcx,%rdx,8)
jmp 0x7781
movq 0x8(%rsp), %r12
movq 0x10(%rsp), %rsi
jmp 0x7781
movq 0x8(%rsp), %r12
incq %r15
jmp 0x76af
movl 0x1235d(%rip), %ebx     # 0x19aec
xorl %r13d, %r13d
leaq 0x11bb7(%rip), %rbp     # 0x19350
movslq %ebx, %rax
movslq %r12d, %r14
cmpq %rax, %r13
jge 0x7856
movq 0x12321(%rip), %rax     # 0x19ad0
movq %r13, %rcx
shlq $0x4, %rcx
movq (%rax,%rcx), %r15
testq %r15, %r15
sete %al
leaq 0x7660(%rip), %rcx      # 0xee27
cmpq %rcx, %r15
sete %cl
orb %al, %cl
jne 0x7847
cmpb $0x73, (%r15)
jne 0x782a
cmpb $0x69, 0x1(%r15)
jne 0x782a
cmpb $0x67, 0x2(%r15)
jne 0x782a
movq %r12, 0x8(%rsp)
xorl %r12d, %r12d
cmpq $0x410, %r12            # imm = 0x410
je 0x7812
movq (%rbp,%r12), %rsi
cmpb $0x73, (%rsi)
jne 0x780c
movq %r15, %rdi
callq 0x31f0
testl %eax, %eax
je 0x784f
addq $0x10, %r12
jmp 0x77ed
movq %r15, %rdi
leaq 0x6c02(%rip), %rsi      # 0xe41e
callq 0x31f0
testl %eax, %eax
movq 0x8(%rsp), %r12
je 0x7847
movq %r15, %rdi
callq 0x4eb2
movq 0x122bf(%rip), %rcx     # 0x19af8
leal 0x1(%r14), %r12d
movq %rax, (%rcx,%r14,8)
movl 0x122a5(%rip), %ebx     # 0x19aec
incq %r13
jmp 0x7799
movq 0x8(%rsp), %r12
jmp 0x7847
movq 0x1229b(%rip), %rdi     # 0x19af8
andq $0x0, (%rdi,%r14,8)
leaq 0x46e9(%rip), %rcx      # 0xbf52
pushq $0x8
popq %rdx
movq %r14, %rsi
callq 0x3080
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
movq 0x1226f(%rip), %rax     # 0x19af8
retq