// File: chhylp123[P]hifiasm/ecovlp.cpp
// Function: refresh_ec_ovec_buf_t0(ec_ovec_buf_t0*, unsigned long)
inline void refresh_ec_ovec_buf_t0(ec_ovec_buf_t0 *z, uint64_t n)
{
    z->rr++;
    if((z->rr%n) == 0) {
        free(z->self_read.seq); memset(&(z->self_read), 0, sizeof(z->self_read));
        free(z->ovlp_read.seq); memset(&(z->ovlp_read), 0, sizeof(z->ovlp_read));

        destory_Candidates_list(&z->clist); memset(&(z->clist), 0, sizeof(z->clist));
        destory_overlap_region_alloc(&z->olist); memset(&(z->olist), 0, sizeof(z->olist)); init_overlap_region_alloc(&z->olist);

        kv_destroy(z->k_flag.a); kv_init(z->k_flag.a);
        kv_destroy(z->sp); kv_init(z->sp);
        kv_destroy(z->pidx); kv_init(z->pidx);
        kv_destroy(z->v64); kv_init(z->v64);
        kv_destroy(z->v32); kv_init(z->v32);
        kv_destroy(z->v16); kv_init(z->v16);
        kv_destroy(z->v8q); kv_init(z->v8q);
        kv_destroy(z->v8t); kv_init(z->v8t);

        destroy_bit_extz_t(&(z->exz)); init_bit_extz_t(&(z->exz), 31);

        ha_abuf_destroy(z->ab); z->ab = ha_abuf_init();

        destoryHaplotypeEvdience(&z->hap); memset(&(z->hap), 0, sizeof(z->hap)); InitHaplotypeEvdience(&z->hap);

        destroy_cns_gfa(&(z->cns)); memset(&(z->cns), 0, sizeof(z->cns)); z->cns.q = kdq_init(uint32_t);

        // z->rr = 1;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0xf0(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0xf0(%rax)
movq -0x8(%rbp), %rax
movq 0xf0(%rax), %rax
xorl %ecx, %ecx
movl %ecx, %edx
divq -0x10(%rbp)
cmpq $0x0, %rdx
jne 0x26e649
movq -0x8(%rbp), %rax
movq (%rax), %rdi
callq 0x2210
movq -0x8(%rbp), %rdi
xorl %esi, %esi
movl $0x20, %edx
callq 0x2100
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdi
callq 0x2210
movq -0x8(%rbp), %rdi
addq $0x20, %rdi
xorl %esi, %esi
movl $0x20, %edx
callq 0x2100
movq -0x8(%rbp), %rdi
addq $0x40, %rdi
callq 0x230c0
movq -0x8(%rbp), %rdi
addq $0x40, %rdi
xorl %esi, %esi
movl $0x58, %edx
callq 0x2100
movq -0x8(%rbp), %rdi
addq $0x98, %rdi
callq 0x1e220
movq -0x8(%rbp), %rdi
addq $0x98, %rdi
xorl %esi, %esi
movl $0x20, %edx
callq 0x2100
movq -0x8(%rbp), %rdi
addq $0x98, %rdi
callq 0x1e000
movq -0x8(%rbp), %rax
movq 0x558(%rax), %rdi
callq 0x2210
movq -0x8(%rbp), %rax
movq $0x0, 0x550(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x548(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x558(%rax)
movq -0x8(%rbp), %rax
movq 0x578(%rax), %rdi
callq 0x2210
movq -0x8(%rbp), %rax
movq $0x0, 0x570(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x568(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x578(%rax)
movq -0x8(%rbp), %rax
movq 0x4b8(%rax), %rdi
callq 0x2210
movq -0x8(%rbp), %rax
movq $0x0, 0x4c8(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x4c0(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x4b8(%rax)
movq -0x8(%rbp), %rax
movq 0x4e0(%rax), %rdi
callq 0x2210
movq -0x8(%rbp), %rax
movq $0x0, 0x4d8(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x4d0(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x4e0(%rax)
movq -0x8(%rbp), %rax
movq 0x4f8(%rax), %rdi
callq 0x2210
movq -0x8(%rbp), %rax
movq $0x0, 0x4f0(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x4e8(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x4f8(%rax)
movq -0x8(%rbp), %rax
movq 0x510(%rax), %rdi
callq 0x2210
movq -0x8(%rbp), %rax
movq $0x0, 0x508(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x500(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x510(%rax)
movq -0x8(%rbp), %rax
movq 0x528(%rax), %rdi
callq 0x2210
movq -0x8(%rbp), %rax
movq $0x0, 0x520(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x518(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x528(%rax)
movq -0x8(%rbp), %rax
movq 0x540(%rax), %rdi
callq 0x2210
movq -0x8(%rbp), %rax
movq $0x0, 0x538(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x530(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x540(%rax)
movq -0x8(%rbp), %rdi
addq $0x3e0, %rdi            # imm = 0x3E0
callq 0x1c4e0
movq -0x8(%rbp), %rdi
addq $0x3e0, %rdi            # imm = 0x3E0
movl $0x1f, %esi
callq 0x1bfc0
movq -0x8(%rbp), %rax
movq 0xb8(%rax), %rdi
callq 0x1a0680
callq 0x1a0590
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0xb8(%rax)
movq -0x8(%rbp), %rdi
addq $0xf8, %rdi
callq 0x1c520
movq -0x8(%rbp), %rdi
addq $0xf8, %rdi
xorl %esi, %esi
movl $0x2e8, %edx            # imm = 0x2E8
callq 0x2100
movq -0x8(%rbp), %rdi
addq $0xf8, %rdi
callq 0x1c310
movq -0x8(%rbp), %rdi
addq $0x580, %rdi            # imm = 0x580
callq 0x24af30
movq -0x8(%rbp), %rdi
addq $0x580, %rdi            # imm = 0x580
xorl %esi, %esi
movl $0x40, %edx
callq 0x2100
callq 0x24ae90
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x5b8(%rax)
addq $0x10, %rsp
popq %rbp
retq
nop