// File: /workspace/github_c_makefile_star2_O0/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 %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x190(%rax), %rdi
callq 0x103d0
cmpl $0x0, %eax
je 0x7fef
movq -0x8(%rbp), %rax
cmpq $0x0, 0x188(%rax)
je 0x7fd0
movq -0x8(%rbp), %rax
movq 0x188(%rax), %rax
movq %rax, -0x18(%rbp)
jmp 0x7fdd
leaq 0xe57b0(%rip), %rax     # 0xed787
movq %rax, -0x18(%rbp)
jmp 0x7fdd
movq -0x18(%rbp), %rsi
leaq 0xe575f(%rip), %rdi     # 0xed747
movb $0x0, %al
callq 0x5c70
movq -0x8(%rbp), %rax
movq 0xa0(%rax), %rdi
callq 0x1d270
cmpl $0x0, %eax
je 0x801a
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
leaq 0xe5734(%rip), %rdi     # 0xed747
movb $0x0, %al
callq 0x5c70
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
movq -0x8(%rbp), %rcx
movq 0xe0(%rcx), %rcx
cmpl (%rcx), %eax
jae 0x8056
movq -0x8(%rbp), %rax
movq 0x1f0(%rax), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6cf0
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x8021
movq -0x8(%rbp), %rax
movq 0x1f0(%rax), %rdi
callq 0x45a0
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
movq -0x8(%rbp), %rcx
movq 0xe0(%rcx), %rcx
cmpl (%rcx), %eax
jae 0x80a5
movq -0x8(%rbp), %rax
movq 0x1e8(%rax), %rdi
movslq -0xc(%rbp), %rax
imulq $0x18, %rax, %rax
addq %rax, %rdi
callq 0x5ff0
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x806d
movq -0x8(%rbp), %rax
movq 0x1e8(%rax), %rdi
callq 0x45a0
movq -0x8(%rbp), %rax
movq 0xd0(%rax), %rdi
callq 0x6040
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x6040
movq -0x8(%rbp), %rax
movq 0xd8(%rax), %rdi
callq 0x6040
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rdi
callq 0x6040
movq -0x8(%rbp), %rax
movq 0xe0(%rax), %rdi
callq 0x6040
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rdi
callq 0x6040
movq -0x8(%rbp), %rax
cmpq $0x0, 0xe8(%rax)
je 0x812a
movq -0x8(%rbp), %rax
movq 0xe8(%rax), %rdi
callq 0x6040
movq -0x8(%rbp), %rax
cmpq $0x0, 0x48(%rax)
je 0x8142
movq -0x8(%rbp), %rax
movq 0x48(%rax), %rdi
callq 0x6040
movq -0x8(%rbp), %rax
cmpq $0x0, (%rax)
je 0x8158
movq -0x8(%rbp), %rax
movq (%rax), %rdi
callq 0x8270
movq -0x8(%rbp), %rdi
addq $0xa8, %rdi
callq 0x6cb0
movq -0x8(%rbp), %rdi
addq $0x8, %rdi
callq 0x6cb0
movq -0x8(%rbp), %rax
movq 0x110(%rax), %rdi
callq 0x45a0
movq -0x8(%rbp), %rax
movq 0xf0(%rax), %rdi
callq 0x45a0
movq -0x8(%rbp), %rax
movq 0x50(%rax), %rdi
callq 0x45a0
movq -0x8(%rbp), %rax
movq 0xf8(%rax), %rdi
callq 0x45a0
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rdi
callq 0x45a0
movq -0x8(%rbp), %rax
movq 0x100(%rax), %rdi
callq 0x45a0
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rdi
callq 0x45a0
movq -0x8(%rbp), %rax
movq 0x108(%rax), %rdi
callq 0x45a0
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rdi
callq 0x45a0
movq -0x8(%rbp), %rax
movq 0x138(%rax), %rdi
callq 0x45a0
movq -0x8(%rbp), %rax
movq 0x98(%rax), %rdi
callq 0x45a0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x1c8(%rax)
je 0x8237
movq -0x8(%rbp), %rax
movq 0x1c8(%rax), %rdi
callq 0x2fa60
movq -0x8(%rbp), %rax
cmpq $0x0, 0x1c0(%rax)
je 0x8255
movq -0x8(%rbp), %rax
movq 0x1c0(%rax), %rdi
callq 0x2e860
movq -0x8(%rbp), %rax
movq 0x1e0(%rax), %rdi
callq 0x45a0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)