// File: ctSkennerton[P]fxtract/util/bloom.c
// Function: bloom_dump
void
bloom_dump(BLOOM const *bp, FILE *fp)
{
    fprintf(fp, "{ hash_bits:%d npoints:%d point_bits:%d"
                    " hash_chunk:%d hash_mask:%d point_max:%d"
                    " ovfl_limit:%d ovfl_count:%d"
                "\n  pointv:( ",
                bp->hash_bits, bp->npoints, bp->point_bits,
                bp->hash_chunk, bp->hash_mask, bp->point_max,
                bp->ovfl_limit, bp->ovfl_count);
    int i, val;
    for (i = 0; i < bp->npoints; ++i)
        if ((val = point_val(bp, i)))
            fprintf(fp, "%s[%d]:%d ", !i || i%10 ? "" : "\n\t\t", i,
                    val + bp->ovfl[ovfl_find(bp,i)].count);

    fputs(")\n  ovfl:{", fp);
    for (i = 0; i <= bp->ovfl_limit; ++i)
        if (bp->ovfl[i].count)
            fprintf(fp, " %d:%d", bp->ovfl[i].point, bp->ovfl[i].count);

    fputs(" }\n}\n", fp);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x68, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rax
movl (%rax), %edx
movq -0x10(%rbp), %rax
movl 0x4(%rax), %ecx
movq -0x10(%rbp), %rax
movl 0x8(%rax), %r8d
movq -0x10(%rbp), %rax
movl 0xc(%rax), %r9d
movq -0x10(%rbp), %rax
movl 0x10(%rax), %ebx
movq -0x10(%rbp), %rax
movl 0x14(%rax), %r11d
movq -0x10(%rbp), %rax
movl 0x20(%rax), %r10d
movq -0x10(%rbp), %rax
movl 0x24(%rax), %eax
leaq 0x4034(%rip), %rsi      # 0x810b
movl %ebx, (%rsp)
movl %r11d, 0x8(%rsp)
movl %r10d, 0x10(%rsp)
movl %eax, 0x18(%rsp)
movb $0x0, %al
callq 0x32a0
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x4(%rcx), %eax
jge 0x41c0
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %esi
callq 0x3c10
movl %eax, -0x20(%rbp)
cmpl $0x0, %eax
je 0x41b0
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
movb $0x1, %al
cmpl $0x0, -0x1c(%rbp)
movb %al, -0x21(%rbp)
je 0x4145
movl -0x1c(%rbp), %eax
movl $0xa, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
setne %al
movb %al, -0x21(%rbp)
movb -0x21(%rbp), %dl
leaq 0x403f(%rip), %rax      # 0x818e
leaq 0x403b(%rip), %rcx      # 0x8191
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, -0x48(%rbp)
movl -0x1c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x4c(%rbp)
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %esi
callq 0x4250
movl -0x4c(%rbp), %r8d
movq -0x30(%rbp), %rdi
movq -0x48(%rbp), %rdx
movl -0x3c(%rbp), %ecx
movl %eax, %esi
movq -0x38(%rbp), %rax
movslq %esi, %rsi
addl 0x4(%rax,%rsi,8), %r8d
leaq 0x3fda(%rip), %rsi      # 0x8183
movb $0x0, %al
callq 0x32a0
jmp 0x41b2
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x40f6
movq -0x18(%rbp), %rsi
leaq 0x3fc7(%rip), %rdi      # 0x8192
callq 0x3200
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x20(%rcx), %eax
jg 0x4234
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rax
movslq -0x1c(%rbp), %rcx
cmpl $0x0, 0x4(%rax,%rcx,8)
je 0x4227
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rax
movslq -0x1c(%rbp), %rcx
movl (%rax,%rcx,8), %edx
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rax
movslq -0x1c(%rbp), %rcx
movl 0x4(%rax,%rcx,8), %ecx
leaq 0x3f7d(%rip), %rsi      # 0x819d
movb $0x0, %al
callq 0x32a0
jmp 0x4229
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x41d7
movq -0x18(%rbp), %rsi
leaq 0x3f65(%rip), %rdi      # 0x81a4
callq 0x3200
addq $0x68, %rsp
popq %rbx
popq %rbp
retq
nopl (%rax,%rax)