// File: /workspace/github_c_makefile_star2_O0/msteveb[P]autosetup/./jimsh0.c
// Function: Jim_ExpandHashTable
void Jim_ExpandHashTable(Jim_HashTable *ht, unsigned int size)
{
    Jim_HashTable n;
    unsigned int realsize = JimHashTableNextPower(size), i;

     if (size <= ht->used)
        return;

    Jim_InitHashTable(&n, ht->type, ht->privdata);
    n.size = realsize;
    n.sizemask = realsize - 1;
    n.table = Jim_Alloc(realsize * sizeof(Jim_HashEntry *));

    n.uniq = ht->uniq;


    memset(n.table, 0, realsize * sizeof(Jim_HashEntry *));

    n.used = ht->used;
    for (i = 0; ht->used > 0; i++) {
        Jim_HashEntry *he, *nextHe;

        if (ht->table[i] == NULL)
            continue;


        he = ht->table[i];
        while (he) {
            unsigned int h;

            nextHe = he->next;

            h = Jim_HashKey(ht, he->key) & n.sizemask;
            he->next = n.table[h];
            n.table[h] = he;
            ht->used--;

            he = nextHe;
        }
    }
    assert(ht->used == 0);
    Jim_Free(ht->table);


    *ht = n;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl -0xc(%rbp), %edi
callq 0xbb60
movl %eax, -0x44(%rbp)
movl -0xc(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x20(%rcx), %eax
ja 0xb9db
jmp 0xbb50
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdx
leaq -0x40(%rbp), %rdi
callq 0xb920
movl -0x44(%rbp), %eax
movl %eax, -0x28(%rbp)
movl -0x44(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x24(%rbp)
movq 0x3c886(%rip), %rax     # 0x48290
movl -0x44(%rbp), %ecx
movl %ecx, %esi
shlq $0x3, %rsi
xorl %ecx, %ecx
movl %ecx, %edi
callq *%rax
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rax
movl 0x28(%rax), %eax
movl %eax, -0x18(%rbp)
movq -0x40(%rbp), %rdi
movl -0x44(%rbp), %eax
movl %eax, %edx
shlq $0x3, %rdx
xorl %esi, %esi
callq 0x6250
movq -0x8(%rbp), %rax
movl 0x20(%rax), %eax
movl %eax, -0x20(%rbp)
movl $0x0, -0x48(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x20(%rax)
jbe 0xbaff
movq -0x8(%rbp), %rax
movq (%rax), %rax
movl -0x48(%rbp), %ecx
cmpq $0x0, (%rax,%rcx,8)
jne 0xba70
jmp 0xbaf1
movq -0x8(%rbp), %rax
movq (%rax), %rax
movl -0x48(%rbp), %ecx
movq (%rax,%rcx,8), %rax
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x50(%rbp)
je 0xbaef
movq -0x50(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x58(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movq -0x50(%rbp), %rcx
movq (%rcx), %rdi
callq *%rax
movq -0x8(%rbp), %rcx
addl 0x28(%rcx), %eax
andl -0x24(%rbp), %eax
movl %eax, -0x5c(%rbp)
movq -0x40(%rbp), %rax
movl -0x5c(%rbp), %ecx
movq (%rax,%rcx,8), %rcx
movq -0x50(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x50(%rbp), %rdx
movq -0x40(%rbp), %rax
movl -0x5c(%rbp), %ecx
movq %rdx, (%rax,%rcx,8)
movq -0x8(%rbp), %rax
movl 0x20(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x20(%rax)
movq -0x58(%rbp), %rax
movq %rax, -0x50(%rbp)
jmp 0xba82
jmp 0xbaf1
movl -0x48(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x48(%rbp)
jmp 0xba4c
movq -0x8(%rbp), %rax
cmpl $0x0, 0x20(%rax)
jne 0xbb0b
jmp 0xbb2a
leaq 0x2f1f6(%rip), %rdi     # 0x3ad08
leaq 0x2f1fd(%rip), %rsi     # 0x3ad16
movl $0x1d8e, %edx           # imm = 0x1D8E
leaq 0x2f1fc(%rip), %rcx     # 0x3ad21
callq 0x6230
movq 0x3c75f(%rip), %rax     # 0x48290
movq -0x8(%rbp), %rcx
movq (%rcx), %rdi
xorl %ecx, %ecx
movl %ecx, %esi
callq *%rax
movq -0x8(%rbp), %rdi
leaq -0x40(%rbp), %rsi
movl $0x30, %edx
callq 0x6340
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)