// File: /workspace/github_cpp_makefile_star2_O1/ctSkennerton[P]fxtract/util/ssearch_dump.c
// Function: ssearch_dump
void
ssearch_dump(SSEARCH*sse, FILE *fp)
{
    int         i, j, maxsym;
    char        symchar[256];
    if (!sse)
	return;

    fprintf(fp, "sse {nstrs=%d suflen=%d symwid=%d}\n",
	sse->nstrs, sse->suflen, sse->symwid);
#if 0
    for (i = 0; i < sse->nstrs; ++i)
        fprintf(fp, "[%d] %s\n", i+1, sse->strv[i].ptr);
#endif
    for (i = maxsym = 0; i < 256; ++i) {
        if (sse->symv[i] >= 0)
            symchar[sse->symv[i]] = i;
        if (maxsym < sse->symv[i])
            maxsym = sse->symv[i];
    }

#   define FMASK "%02X"
    fputs(" __", fp);
    for (j = 0; j <= maxsym; ++j)
        fprintf(fp, isgraph(symchar[j]) ? " _%c" : " "FMASK, symchar[j]);
    putc('\n', fp);

    if (sse->mapv) {
        for (i = 0; i <= maxsym; ++i) {
            fprintf(fp, isgraph(symchar[i]) ? " %c_" : FMASK":", symchar[i]);
            for (j = 0; j <= maxsym; ++j)
                fprintf(fp, " "FMASK, sse->mapv[(j << sse->symwid) + i]);
            putc('\n', fp);
        }
    }
#if 0
    if (sse->suffixh) {
        char        *cp;
        int         *pos;
        for (map_start(sse->suffixh);
		map_next(sse->suffixh,
			     (void const**)(uintptr_t)&cp,
			     (void**)(uintptr_t)&pos);) {

            fprintf(fp, "%.*s %d:\t", sse->suflen, cp,
					(int)(pos - sse->prefixv));
            for (; *pos != NONSTR; ++pos)
                fprintf(stderr, " [%d]%.*s", *pos,
					(int)sse->strv[*pos].len,
					sse->strv[*pos].ptr);
            putc('\n', stderr);
        }
    }
#endif
}

// Assembly:
testq %rdi, %rdi
je 0x50b4
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x118, %rsp            # imm = 0x118
movq %rsi, %rbx
movq %rdi, %r14
movl 0x8(%rdi), %edx
movl 0xc(%rdi), %ecx
movl 0x28(%rdi), %r8d
leaq 0x21c1(%rip), %rsi      # 0x7146
xorl %r15d, %r15d
movq %rbx, %rdi
xorl %eax, %eax
callq 0x3260
xorl %r13d, %r13d
movswq 0x2c(%r14,%r15,2), %rax
testq %rax, %rax
js 0x4fa5
movb %r15b, 0x10(%rsp,%rax)
cmpl %eax, %r13d
cmovlel %eax, %r13d
incq %r15
cmpq $0x100, %r15            # imm = 0x100
jne 0x4f95
leaq 0x21ab(%rip), %rdi      # 0x716a
movq %rbx, %rsi
callq 0x31d0
callq 0x31a0
movq %rax, %r15
incl %r13d
leaq 0x219a(%rip), %r12      # 0x7173
xorl %ebp, %ebp
movq (%r15), %rax
movsbq 0x10(%rsp,%rbp), %rdx
cmpw $0x0, (%rax,%rdx,2)
movq %r12, %rsi
jns 0x4ff5
leaq 0x2179(%rip), %rsi      # 0x716e
movq %rbx, %rdi
xorl %eax, %eax
callq 0x3260
incq %rbp
cmpq %rbp, %r13
jne 0x4fdb
movl $0xa, %edi
movq %rbx, %rsi
callq 0x3310
cmpq $0x0, 0x10(%r14)
je 0x50a3
callq 0x31a0
movq %rax, 0x8(%rsp)
leaq 0x2143(%rip), %r12      # 0x7173
xorl %ebp, %ebp
movq 0x8(%rsp), %rax
movq (%rax), %rax
movsbq 0x10(%rsp,%rbp), %rdx
cmpw $0x0, (%rax,%rdx,2)
leaq 0x212d(%rip), %rsi      # 0x7179
leaq 0x212b(%rip), %rax      # 0x717e
cmovnsq %rax, %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x3260
xorl %r15d, %r15d
movb 0x28(%r14), %cl
movl %r15d, %eax
shll %cl, %eax
movq 0x10(%r14), %rcx
addl %ebp, %eax
cltq
movzwl (%rcx,%rax,2), %edx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x3260
incl %r15d
cmpl %r15d, %r13d
jne 0x5064
movl $0xa, %edi
movq %rbx, %rsi
callq 0x3310
incq %rbp
cmpq %r13, %rbp
jne 0x5032
addq $0x118, %rsp            # imm = 0x118
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nopl (%rax)