// File: /workspace/github_c_makefile_star2_O0/lh3[P]fermi2/correct.c
// Function: main_inspectk
int main_inspectk(int argc, char *argv[])
{
	rld_t *e;
	int j;
	if (argc < 3) {
		fprintf(stderr, "Usage: fermi2 inspectk <index.fmd> <kmer1> [...]\n");
		return 1;
	}
	e = rld_restore_mmap(argv[1]);
	for (j = 2; j < argc; ++j) {
		int i, len;
		rldintv_t s, t[6];
		char *aj = argv[j];
		len = strlen(aj);
		s.x[0] = s.x[1] = 0; s.x[2] = e->mcnt[0];
		printf("%d\t", len);
		for (i = len - 1; i >= 0; --i) {
			int c = seq_nt6_table[(int)aj[i]];
			rld_extend(e, &s, t, 1);
			if (t[c].x[2] == 0) break;
			s = t[c];
			rld_extend(e, &s, t, 1);
		}
		printf("%d\t", len - 1 - i);
		rld_extend(e, &s, t, 1);
		for (i = 1; i <= 4; ++i) {
			if (i != 1) putchar(':');
			printf("%ld", (long)t[i].x[2]);
		}
		printf("\t%s\t", aj);
		rld_extend(e, &s, t, 0);
		for (i = 4; i >= 1; --i) {
			if (i != 4) putchar(':');
			printf("%ld", (long)t[i].x[2]);
		}
		putchar('\n');
	}
	rld_destroy(e);
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x120, %rsp            # imm = 0x120
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpl $0x3, -0x8(%rbp)
jge 0xd97c
movq 0x25699(%rip), %rax     # 0x32ff8
movq (%rax), %rdi
leaq 0x1f0bf(%rip), %rsi     # 0x2ca28
movb $0x0, %al
callq 0x21d0
movl $0x1, -0x4(%rbp)
jmp 0xdbd5
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x3ca0
movq %rax, -0x18(%rbp)
movl $0x2, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl -0x8(%rbp), %eax
jge 0xdbc5
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x118(%rbp)
movq -0x118(%rbp), %rdi
callq 0x20f0
movl %eax, -0x24(%rbp)
movq $0x0, -0x40(%rbp)
movq $0x0, -0x48(%rbp)
movq -0x18(%rbp), %rax
movq 0x28(%rax), %rax
movq (%rax), %rax
movq %rax, -0x38(%rbp)
movl -0x24(%rbp), %esi
leaq 0x20741(%rip), %rdi     # 0x2e12c
movb $0x0, %al
callq 0x2120
movl -0x24(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x20(%rbp)
cmpl $0x0, -0x20(%rbp)
jl 0xdaba
movq -0x118(%rbp), %rax
movslq -0x20(%rbp), %rcx
movsbl (%rax,%rcx), %eax
movslq %eax, %rcx
leaq 0x257d2(%rip), %rax     # 0x331f0
movzbl (%rax,%rcx), %eax
movl %eax, -0x11c(%rbp)
movq -0x18(%rbp), %rdi
leaq -0x110(%rbp), %rdx
leaq -0x48(%rbp), %rsi
movl $0x1, %ecx
callq 0x49a0
movslq -0x11c(%rbp), %rcx
leaq -0x110(%rbp), %rax
shlq $0x5, %rcx
addq %rcx, %rax
cmpq $0x0, 0x10(%rax)
jne 0xda5f
jmp 0xdaba
movslq -0x11c(%rbp), %rcx
leaq -0x110(%rbp), %rax
shlq $0x5, %rcx
addq %rcx, %rax
movq (%rax), %rcx
movq %rcx, -0x48(%rbp)
movq 0x8(%rax), %rcx
movq %rcx, -0x40(%rbp)
movq 0x10(%rax), %rcx
movq %rcx, -0x38(%rbp)
movq 0x18(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rdi
leaq -0x110(%rbp), %rdx
leaq -0x48(%rbp), %rsi
movl $0x1, %ecx
callq 0x49a0
movl -0x20(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0xd9fb
movl -0x24(%rbp), %esi
subl $0x1, %esi
subl -0x20(%rbp), %esi
leaq 0x20662(%rip), %rdi     # 0x2e12c
movb $0x0, %al
callq 0x2120
movq -0x18(%rbp), %rdi
leaq -0x110(%rbp), %rdx
leaq -0x48(%rbp), %rsi
movl $0x1, %ecx
callq 0x49a0
movl $0x1, -0x20(%rbp)
cmpl $0x4, -0x20(%rbp)
jg 0xdb36
cmpl $0x1, -0x20(%rbp)
je 0xdb07
movl $0x3a, %edi
callq 0x2050
movslq -0x20(%rbp), %rcx
leaq -0x110(%rbp), %rax
shlq $0x5, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rsi
leaq 0x20515(%rip), %rdi     # 0x2e039
movb $0x0, %al
callq 0x2120
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0xdaf1
movq -0x118(%rbp), %rsi
leaq 0x1ef16(%rip), %rdi     # 0x2ca5a
movb $0x0, %al
callq 0x2120
movq -0x18(%rbp), %rdi
leaq -0x110(%rbp), %rdx
leaq -0x48(%rbp), %rsi
xorl %ecx, %ecx
callq 0x49a0
movl $0x4, -0x20(%rbp)
cmpl $0x1, -0x20(%rbp)
jl 0xdbad
cmpl $0x4, -0x20(%rbp)
je 0xdb7e
movl $0x3a, %edi
callq 0x2050
movslq -0x20(%rbp), %rcx
leaq -0x110(%rbp), %rax
shlq $0x5, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rsi
leaq 0x2049e(%rip), %rdi     # 0x2e039
movb $0x0, %al
callq 0x2120
movl -0x20(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0xdb68
movl $0xa, %edi
callq 0x2050
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0xd994
movq -0x18(%rbp), %rdi
callq 0x28f0
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x120, %rsp            # imm = 0x120
popq %rbp
retq
nopw %cs:(%rax,%rax)