// File: /workspace/github_cpp_makefile_star2_O2/chhylp123[P]hifiasm/gfa_ut.cpp
// Function: print_primary_ul_chain(ul_str_t*, ul_vec_t*, ma_ug_t*)
void print_primary_ul_chain(ul_str_t *p_str, ul_vec_t *ul, ma_ug_t *ug)
{
    uc_block_t *z; uint64_t k, dd = 0;
    if(p_str) {
        for (k = 0; k < p_str->cn; k++) {
            z = &(ul->bb.a[p_str->a[k]>>32]);
            fprintf(stderr, "[M::%s::pk->%lu] utg%.6d%c(%c::len->%u), qs::%u, qe::%u, ts::%u, te::%u\n", __func__, k,
                    z->hid+1, "lc"[ug->u.a[z->hid].circ], "+-"[z->rev], ug->u.a[z->hid].len, 
                    z->qs, z->qe, z->ts, z->te);
            dd++;
        }
    } else {
        for (k = 0; k < ul->bb.n; k++) {
            z = &(ul->bb.a[k]);
            if(!z->pchain) continue;
            fprintf(stderr, "[M::%s::rk->%lu] utg%.6d%c(%c::len->%u), qs::%u, qe::%u, ts::%u, te::%u\n", __func__, k,
                    z->hid+1, "lc"[ug->u.a[z->hid].circ], "+-"[z->rev], ug->u.a[z->hid].len, 
                    z->qs, z->qe, z->ts, z->te);
            dd++;
        }
    }

    if(dd) fprintf(stderr, "*******************************************\n");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdx, 0x8(%rsp)
movq %rsi, %r14
testq %rdi, %rdi
je 0x1bbfd4
movq %rdi, %r12
xorl %r15d, %r15d
movl 0x18(%r12), %eax
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
cmpq %rax, %r15
jae 0x1bc09c
movq 0x30(%r14), %rax
movq 0x10(%r12), %rcx
movl 0x4(%rcx,%r15,8), %ecx
imulq $0x24, %rcx, %rcx
movq 0x9709d(%rip), %rdx     # 0x252fe0
movq (%rdx), %rdi
movl (%rax,%rcx), %edx
movl 0x4(%rax,%rcx), %esi
movq %rsi, (%rsp)
leal 0x1(%rdx), %r8d
movq 0x8(%rsp), %rsi
movq 0x10(%rsi), %rsi
imulq $0x28, %rdx, %rdx
movl (%rsi,%rdx), %r11d
movl %r11d, %edx
shrl $0x1f, %edx
leaq 0x2a718(%rip), %rsi     # 0x1e668b
movsbl (%rdx,%rsi), %r9d
movzbl 0x20(%rax,%rcx), %edx
btl $0x5, %edx
movl 0x8(%rax,%rcx), %r13d
movl 0xc(%rax,%rcx), %ebp
movl 0x10(%rax,%rcx), %ebx
leaq 0x2828e(%rip), %rax     # 0x1e4223
adcq $0x0, %rax
movsbl (%rax), %r10d
andl $0x7fffffff, %r11d      # imm = 0x7FFFFFFF
leaq 0x3d853(%rip), %rsi     # 0x1f97fe
leaq 0x3d895(%rip), %rdx     # 0x1f9847
movq %r15, %rcx
xorl %eax, %eax
pushq %rbx
pushq %rbp
pushq %r13
pushq 0x18(%rsp)
pushq %r11
pushq %r10
callq 0x22b0
addq $0x30, %rsp
incq %r15
jmp 0x1bbf17
xorl %r12d, %r12d
xorl %ebp, %ebp
xorl %r15d, %r15d
cmpq 0x20(%r14), %rbp
jae 0x1bc09c
movq 0x30(%r14), %rax
movzbl 0x20(%rax,%r12), %ecx
testb $0x1f, %cl
jne 0x1bbffe
incq %rbp
addq $0x24, %r12
jmp 0x1bbfdc
movq 0x96fdb(%rip), %rdx     # 0x252fe0
movq (%rdx), %rdi
movl (%rax,%r12), %edx
movl 0x4(%rax,%r12), %esi
movq %rsi, (%rsp)
leal 0x1(%rdx), %r8d
movq 0x8(%rsp), %rsi
movq 0x10(%rsi), %rsi
imulq $0x28, %rdx, %rdx
movl (%rsi,%rdx), %r11d
movl %r11d, %edx
shrl $0x1f, %edx
leaq 0x2a654(%rip), %rsi     # 0x1e668b
movsbl (%rdx,%rsi), %r9d
btl $0x5, %ecx
leaq 0x281dc(%rip), %rcx     # 0x1e4223
adcq $0x0, %rcx
movsbl (%rcx), %ecx
movq %rcx, 0x10(%rsp)
andl $0x7fffffff, %r11d      # imm = 0x7FFFFFFF
movl 0x8(%rax,%r12), %ebx
movl 0xc(%rax,%r12), %r10d
movl 0x10(%rax,%r12), %r13d
leaq 0x3d7ee(%rip), %rsi     # 0x1f985e
leaq 0x3d7d0(%rip), %rdx     # 0x1f9847
movq %rbp, %rcx
xorl %eax, %eax
pushq %r13
pushq %r10
pushq %rbx
pushq 0x18(%rsp)
pushq %r11
pushq 0x38(%rsp)
callq 0x22b0
addq $0x30, %rsp
incq %r15
jmp 0x1bbff5
testq %r15, %r15
jne 0x1bc0b0
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x96f29(%rip), %rax     # 0x252fe0
movq (%rax), %rcx
leaq 0x3d7e6(%rip), %rdi     # 0x1f98a7
pushq $0x2c
popq %rsi
pushq $0x1
popq %rdx
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2410