// File: /workspace/github_cpp_makefile_star2_O2/chhylp123[P]hifiasm/Overlaps.cpp
// Function: dbg_asys_gfa1(void*, long, int)
static void dbg_asys_gfa1(void *data, long i, int tid) // callback for kt_for()
{
	asg_t *g = (asg_t *)data; asg_arc_t *av, *ra; 
    uint64_t rn, ri, v, w, an, k;
    v = i<<1; av = asg_arc_a(g, v); an = asg_arc_n(g, v);
    for (k = 0; k < an; k++) {
        if(av[k].del) continue;
        ra = asg_arc_a(g, (av[k].v^1)); rn = asg_arc_n(g, (av[k].v^1));
        for (ri = 0; ri < rn; ri++) {
            if(ra[ri].del) continue;
            if(ra[ri].v == ((av[k].ul>>32)^1)) break;
        }
        if(ri >= rn) {
            w = av[k].v;
            fprintf(stderr, "[M::%s] v::utg%.6lul(%c)\tw::utg%.6lul(%c)\n", __func__, (v>>1) + 1, "+-"[(v&1)], (w>>1) + 1, "+-"[(w&1)]);
            exit(1);
        }

    }

    v = (i<<1) + 1; av = asg_arc_a(g, v); an = asg_arc_n(g, v);
    for (k = 0; k < an; k++) {
        if(av[k].del) continue;
        ra = asg_arc_a(g, (av[k].v^1)); rn = asg_arc_n(g, (av[k].v^1));
        for (ri = 0; ri < rn; ri++) {
            if(ra[ri].del) continue;
            if(ra[ri].v == ((av[k].ul>>32)^1)) break;
        }
        if(ri >= rn) {
            w = av[k].v;
            fprintf(stderr, "[M::%s] v::utg%.6lul(%c)\tw::utg%.6lul(%c)\n", __func__, (v>>1) + 1, "+-"[(v&1)], (w>>1) + 1, "+-"[(w&1)]);
            exit(1);
        }
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x10, %rsp
movq %rsi, %rcx
leaq (%rsi,%rsi), %r8
movq 0x8(%rdi), %rax
movq 0x28(%rdi), %rdx
shlq $0x4, %rsi
movq (%rdx,%rsi), %rsi
movl %esi, %edi
shrq $0x20, %rsi
imulq $0x18, %rsi, %r9
addq %rax, %r9
leaq 0xc(%rax), %rsi
xorl %r10d, %r10d
cmpq %rdi, %r10
je 0x96b7a
imulq $0x18, %r10, %rbx
cmpl $0x0, 0xc(%r9,%rbx)
js 0x96b75
addq %r9, %rbx
movl 0x8(%rbx), %r11d
movq %r11, %r14
xorq $0x1, %r14
movq (%rdx,%r14,8), %r14
movl %r14d, %r15d
movq %r14, %r12
shrq $0x20, %r12
imulq $0x18, %r15, %r14
imulq $0x18, %r12, %r15
addq %rsi, %r15
xorl %r12d, %r12d
cmpq %r12, %r14
je 0x96bfd
cmpl $0x0, (%r15,%r12)
js 0x96b6f
movl 0x4(%rbx), %ebp
xorl -0x4(%r15,%r12), %ebp
cmpl $0x1, %ebp
je 0x96b75
addq $0x18, %r12
jmp 0x96b52
incq %r10
jmp 0x96b17
movq 0x8(%rdx,%r8,8), %r8
movl %r8d, %edi
shrq $0x20, %r8
imulq $0x18, %r8, %r8
addq %r8, %rax
xorl %r8d, %r8d
cmpq %rdi, %r8
je 0x96bf0
imulq $0x18, %r8, %r9
cmpl $0x0, 0xc(%rax,%r9)
js 0x96beb
addq %rax, %r9
movl 0x8(%r9), %r10d
movq %r10, %r11
xorq $0x1, %r11
movq (%rdx,%r11,8), %r11
movl %r11d, %ebx
movq %r11, %r14
shrq $0x20, %r14
imulq $0x18, %rbx, %r11
imulq $0x18, %r14, %rbx
addq %rsi, %rbx
xorl %r14d, %r14d
cmpq %r14, %r11
je 0x96c3d
cmpl $0x0, (%rbx,%r14)
js 0x96be5
movl 0x4(%r9), %ebp
xorl -0x4(%rbx,%r14), %ebp
cmpl $0x1, %ebp
je 0x96beb
addq $0x18, %r14
jmp 0x96bcb
incq %r8
jmp 0x96b90
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq 0x1bc3dc(%rip), %rax    # 0x252fe0
movq (%rax), %rdi
btrq $0x3f, %rcx
incq %rcx
movl %r11d, %r9d
shrl %r9d
incq %r9
andl $0x1, %r11d
leaq 0x14d600(%rip), %rax    # 0x1e4223
movsbl (%r11,%rax), %eax
movl %eax, (%rsp)
leaq 0x15449d(%rip), %rsi    # 0x1eb0cf
leaq 0x1544cf(%rip), %rdx    # 0x1eb108
pushq $0x2b
jmp 0x96c7b
movq 0x1bc39c(%rip), %rax    # 0x252fe0
movq (%rax), %rdi
btrq $0x3f, %rcx
incq %rcx
movl %r10d, %r9d
shrl %r9d
incq %r9
andl $0x1, %r10d
leaq 0x14d5c0(%rip), %rax    # 0x1e4223
movsbl (%r10,%rax), %eax
movl %eax, (%rsp)
leaq 0x15445d(%rip), %rsi    # 0x1eb0cf
leaq 0x15448f(%rip), %rdx    # 0x1eb108
pushq $0x2d
popq %r8
xorl %eax, %eax
callq 0x22b0
pushq $0x1
popq %rdi
callq 0x2250