// File: /workspace/github_c_makefile_star2_O3/samtools[P]htslib/annot-tsv.c
// Function: destroy_data
void destroy_data(args_t *args)
{
    if ( bgzf_close(args->out_fp)!=0 ) error("Failed to close: %s\n", args->out_fname?args->out_fname:"stdout");
    if ( hts_close(args->dst.fp)!=0 ) error("Failed to close: %s\n", args->dst.fname);
    int i;
    for (i=0; i<args->src.transfer->n; i++)
        khash_str2int_destroy(args->tmp_hash[i]);
    free(args->tmp_hash);
    for (i=0; i<args->src.transfer->n; i++) cols_clear(&args->tmp_cols[i]);
    free(args->tmp_cols);
    cols_destroy(args->src.core);
    cols_destroy(args->dst.core);
    cols_destroy(args->src.match);
    cols_destroy(args->dst.match);
    cols_destroy(args->src.transfer);
    cols_destroy(args->dst.transfer);
    if ( args->src.annots ) cols_destroy(args->src.annots);
    if ( args->dst.annots ) cols_destroy(args->dst.annots);
    if ( args->nbp ) nbp_destroy(args->nbp);
    destroy_header(&args->src);
    destroy_header(&args->dst);
    free(args->src.nannots_added);
    free(args->src.core_idx);
    free(args->dst.core_idx);
    free(args->src.match_idx);
    free(args->dst.match_idx);
    free(args->src.transfer_idx);
    free(args->dst.transfer_idx);
    free(args->src.annots_idx);
    free(args->dst.annots_idx);
    free(args->src.line.s);
    free(args->dst.line.s);
    if (args->itr) regitr_destroy(args->itr);
    if (args->idx) regidx_destroy(args->idx);
    free(args->tmp_kstr.s);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x190(%rdi), %rdi
callq 0xd3cd
testl %eax, %eax
jne 0x7df3
leaq 0x8(%rbx), %r14
movq 0xa0(%rbx), %rdi
callq 0x1514a
testl %eax, %eax
jne 0x7e0a
movq 0xe0(%rbx), %rax
movl (%rax), %eax
testl %eax, %eax
je 0x7c65
xorl %r12d, %r12d
movq 0x1f0(%rbx), %rcx
movq (%rcx,%r12,8), %r15
testq %r15, %r15
je 0x7c5b
movq 0x18(%r15), %rdi
callq 0x45c0
movq 0x10(%r15), %rdi
callq 0x45c0
movq 0x20(%r15), %rdi
callq 0x45c0
movq %r15, %rdi
callq 0x45c0
movq 0xe0(%rbx), %rax
movl (%rax), %eax
incq %r12
movl %eax, %ecx
cmpq %rcx, %r12
jb 0x7c1f
movq 0x1f0(%rbx), %rdi
callq 0x45c0
movq 0xe0(%rbx), %rax
cmpl $0x0, (%rax)
je 0x7ca7
xorl %r15d, %r15d
xorl %r12d, %r12d
movq 0x1e8(%rbx), %rdi
addq %r15, %rdi
callq 0x6154
incq %r12
movq 0xe0(%rbx), %rax
movl (%rax), %eax
addq $0x18, %r15
cmpq %rax, %r12
jb 0x7c83
movq 0x1e8(%rbx), %rdi
callq 0x45c0
movq 0xd0(%rbx), %rdi
callq 0x6178
movq 0x30(%rbx), %rdi
callq 0x6178
movq 0xd8(%rbx), %rdi
callq 0x6178
movq 0x38(%rbx), %rdi
callq 0x6178
movq 0xe0(%rbx), %rdi
callq 0x6178
movq 0x40(%rbx), %rdi
callq 0x6178
movq 0xe8(%rbx), %rdi
testq %rdi, %rdi
je 0x7d03
callq 0x6178
movq 0x48(%rbx), %rdi
testq %rdi, %rdi
je 0x7d11
callq 0x6178
leaq 0xa8(%rbx), %r15
movq (%rbx), %r12
testq %r12, %r12
je 0x7d32
movq 0x10(%r12), %rdi
callq 0x45c0
movq %r12, %rdi
callq 0x45c0
movq %r15, %rdi
callq 0x6fcd
movq %r14, %rdi
callq 0x6fcd
movq 0x110(%rbx), %rdi
callq 0x45c0
movq 0xf0(%rbx), %rdi
callq 0x45c0
movq 0x50(%rbx), %rdi
callq 0x45c0
movq 0xf8(%rbx), %rdi
callq 0x45c0
movq 0x58(%rbx), %rdi
callq 0x45c0
movq 0x100(%rbx), %rdi
callq 0x45c0
movq 0x60(%rbx), %rdi
callq 0x45c0
movq 0x108(%rbx), %rdi
callq 0x45c0
movq 0x68(%rbx), %rdi
callq 0x45c0
movq 0x138(%rbx), %rdi
callq 0x45c0
movq 0x98(%rbx), %rdi
callq 0x45c0
movq 0x1c8(%rbx), %rdi
testq %rdi, %rdi
je 0x7dcb
callq 0x211ef
movq 0x1c0(%rbx), %rdi
testq %rdi, %rdi
je 0x7ddc
callq 0x2054c
movq 0x1e0(%rbx), %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x45c0
movq 0x188(%rbx), %rax
testq %rax, %rax
leaq 0x8b75a(%rip), %rsi     # 0x9355e
cmovneq %rax, %rsi
jmp 0x7e0d
movq (%r14), %rsi
leaq 0x8b70a(%rip), %rdi     # 0x9351e
xorl %eax, %eax
callq 0x5edc