// File: /workspace/github_c_makefile_star2_O0/rakitzis[P]rc/hash.c
// Function: rehash
static bool rehash(Htab *ht) {
	int i, j, size;
	int newsize, newused;
	Htab *newhtab;
	if (ht == fp) {
		if (fsize > 2 * fused)
			return FALSE;
		size = fsize;
	} else {
		if (vsize > 2 * vused)
			return FALSE;
		size = vsize;
	}
	newsize = 2 * size;
	newhtab = ealloc(newsize * sizeof(Htab));
	for (i = 0; i < newsize; i++)
		newhtab[i].name = NULL;
	for (i = newused = 0; i < size; i++)
		if (ht[i].name != NULL && ht[i].name != dead) {
			newused++;
			j = hash(ht[i].name, newsize);
			while (newhtab[j].name != NULL) {
				j++;
				j &= (newsize - 1);
			}
			newhtab[j].name = ht[i].name;
			newhtab[j].p = ht[i].p;
		}
	if (ht == fp) {
		fused = newused;
		fp = newhtab;
		fsize = newsize;
	} else {
		vused = newused;
		vp = newhtab;
		vsize = newsize;
	}
	efree(ht);
	return TRUE;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq 0x163b9(%rip), %rax     # 0x1fb60
jne 0x97d2
movl 0x163cd(%rip), %eax     # 0x1fb7c
movl 0x163bf(%rip), %ecx     # 0x1fb74
shll %ecx
cmpl %ecx, %eax
jle 0x97c7
movl $0x0, -0x4(%rbp)
jmp 0x9999
movl 0x163af(%rip), %eax     # 0x1fb7c
movl %eax, -0x1c(%rbp)
jmp 0x97f9
movl 0x163a0(%rip), %eax     # 0x1fb78
movl 0x16392(%rip), %ecx     # 0x1fb70
shll %ecx
cmpl %ecx, %eax
jle 0x97f0
movl $0x0, -0x4(%rbp)
jmp 0x9999
movl 0x16382(%rip), %eax     # 0x1fb78
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
shll %eax
movl %eax, -0x20(%rbp)
movslq -0x20(%rbp), %rdi
shlq $0x4, %rdi
callq 0xd820
movq %rax, -0x30(%rbp)
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x9842
movq -0x30(%rbp), %rax
movslq -0x14(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq $0x0, (%rax)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x9819
movl $0x0, -0x24(%rbp)
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x9940
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
cmpq $0x0, (%rax)
je 0x9930
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
cmpq 0x15a7a(%rip), %rax     # 0x1f308
je 0x9930
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rdi
movl -0x20(%rbp), %esi
callq 0xa6f0
movl %eax, -0x18(%rbp)
movq -0x30(%rbp), %rax
movslq -0x18(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
cmpq $0x0, (%rax)
je 0x98e6
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
movl -0x20(%rbp), %eax
subl $0x1, %eax
andl -0x18(%rbp), %eax
movl %eax, -0x18(%rbp)
jmp 0x98ba
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rcx
movq -0x30(%rbp), %rax
movslq -0x18(%rbp), %rdx
shlq $0x4, %rdx
addq %rdx, %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rcx
movq -0x30(%rbp), %rax
movslq -0x18(%rbp), %rdx
shlq $0x4, %rdx
addq %rdx, %rax
movq %rcx, 0x8(%rax)
jmp 0x9932
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x9850
movq -0x10(%rbp), %rax
cmpq 0x16215(%rip), %rax     # 0x1fb60
jne 0x996c
movl -0x24(%rbp), %eax
movl %eax, 0x1621e(%rip)     # 0x1fb74
movq -0x30(%rbp), %rax
movq %rax, 0x161ff(%rip)     # 0x1fb60
movl -0x20(%rbp), %eax
movl %eax, 0x16212(%rip)     # 0x1fb7c
jmp 0x9989
movl -0x24(%rbp), %eax
movl %eax, 0x161fb(%rip)     # 0x1fb70
movq -0x30(%rbp), %rax
movq %rax, 0x161e8(%rip)     # 0x1fb68
movl -0x20(%rbp), %eax
movl %eax, 0x161ef(%rip)     # 0x1fb78
movq -0x10(%rbp), %rdi
callq 0xd7a0
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)