// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/encseq.c
// Function: gt_encseq_show_features
void gt_encseq_show_features(const GtEncseq *encseq,
                             GtLogger *logger,
                             bool withfilenames)
{
  GtUword idx;

  if (withfilenames) {
    for (idx = 0; idx < encseq->numofdbfiles; idx++) {
      gt_assert(encseq->filenametab != NULL);
      gt_logger_log(logger, "dbfile=%s " Formatuint64_t " " Formatuint64_t,
                     gt_str_array_get(encseq->filenametab, idx),
                PRINTuint64_tcast(encseq->headerptr.filelengthtab[idx].length),
                PRINTuint64_tcast(encseq->headerptr.filelengthtab[idx].
                                       effectivelength));
    }
  }
  gt_logger_log(logger, "totallength=" GT_WU,
                       gt_encseq_total_length(encseq));
  gt_logger_log(logger, "numofsequences=" GT_WU,
                       encseq->logicalnumofdbsequences);
  gt_logger_log(logger, "specialcharacters=" GT_WU,
                       gt_encseq_specialcharacters(encseq));
  gt_logger_log(logger, "specialranges=" GT_WU,
                       gt_encseq_specialranges(encseq));
  gt_logger_log(logger, "realspecialranges=" GT_WU,
                       gt_encseq_realspecialranges(encseq));
  gt_logger_log(logger, "wildcards=" GT_WU,
                       gt_encseq_wildcards(encseq));
  gt_logger_log(logger, "wildcardranges=" GT_WU,
                       gt_encseq_wildcardranges(encseq));
  gt_logger_log(logger, "realwildcardranges=" GT_WU,
                       gt_encseq_realwildcardranges(encseq));

  gt_assert(encseq->headerptr.characterdistribution != NULL);
  showcharacterdistribution(encseq, logger);
}

// Assembly:
subq $0x68, %rsp
movb %dl, %al
movq %rdi, 0x60(%rsp)
movq %rsi, 0x58(%rsp)
andb $0x1, %al
movb %al, 0x57(%rsp)
testb $0x1, 0x57(%rsp)
je 0x11fe9b
movq $0x0, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq 0x60(%rsp), %rcx
cmpq 0x50(%rcx), %rax
jae 0x11fe99
jmp 0x11fdd0
movq 0x60(%rsp), %rax
cmpq $0x0, 0x1f8(%rax)
jne 0x11fe17
movq 0x941f2(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x3e276(%rip), %rsi     # 0x15e066
leaq 0x66c85(%rip), %rdx     # 0x186a7c
leaq 0x66c9a(%rip), %rcx     # 0x186a98
leaq 0x65859(%rip), %r8      # 0x18565e
movl $0x1cb8, %r9d           # imm = 0x1CB8
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x11fe19
movq 0x58(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x60(%rsp), %rax
movq 0x1f8(%rax), %rdi
movq 0x48(%rsp), %rsi
callq 0x1b320
movq 0x40(%rsp), %rdi
movq %rax, %rdx
movq 0x60(%rsp), %rax
movq 0xf0(%rax), %rax
movq 0x48(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rcx
movq 0x60(%rsp), %rax
movq 0xf0(%rax), %rax
movq 0x48(%rsp), %rsi
shlq $0x4, %rsi
addq %rsi, %rax
movq 0x8(%rax), %r8
leaq 0x66c31(%rip), %rsi     # 0x186ab0
movb $0x0, %al
callq 0xcec0
movq 0x48(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x48(%rsp)
jmp 0x11fdba
jmp 0x11fe9b
movq 0x58(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x60(%rsp), %rdi
callq 0x113ee0
movq 0x8(%rsp), %rdi
movq %rax, %rdx
leaq 0x66c04(%rip), %rsi     # 0x186ac2
movb $0x0, %al
callq 0xcec0
movq 0x58(%rsp), %rdi
movq 0x60(%rsp), %rax
movq 0x48(%rax), %rdx
leaq 0x66bf8(%rip), %rsi     # 0x186ad2
movb $0x0, %al
callq 0xcec0
movq 0x58(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x60(%rsp), %rdi
callq 0x11c710
movq 0x10(%rsp), %rdi
movq %rax, %rdx
leaq 0x66be1(%rip), %rsi     # 0x186ae5
movb $0x0, %al
callq 0xcec0
movq 0x58(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x60(%rsp), %rdi
callq 0x11c760
movq 0x18(%rsp), %rdi
movq %rax, %rdx
leaq 0x66bd1(%rip), %rsi     # 0x186aff
movb $0x0, %al
callq 0xcec0
movq 0x58(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x60(%rsp), %rdi
callq 0x11c990
movq 0x20(%rsp), %rdi
movq %rax, %rdx
leaq 0x66ba3(%rip), %rsi     # 0x186afb
movb $0x0, %al
callq 0xcec0
movq 0x58(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x60(%rsp), %rdi
callq 0x11ca60
movq 0x28(%rsp), %rdi
movq %rax, %rdx
leaq 0x66b8f(%rip), %rsi     # 0x186b11
movb $0x0, %al
callq 0xcec0
movq 0x58(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x60(%rsp), %rdi
callq 0x11caa0
movq 0x30(%rsp), %rdi
movq %rax, %rdx
leaq 0x66b77(%rip), %rsi     # 0x186b23
movb $0x0, %al
callq 0xcec0
movq 0x58(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x60(%rsp), %rdi
callq 0x11cae0
movq 0x38(%rsp), %rdi
movq %rax, %rdx
leaq 0x66b49(%rip), %rsi     # 0x186b1f
movb $0x0, %al
callq 0xcec0
movq 0x60(%rsp), %rax
cmpq $0x0, 0xf8(%rax)
jne 0x120024
movq 0x93fe5(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x3e069(%rip), %rsi     # 0x15e066
leaq 0x66b32(%rip), %rdx     # 0x186b36
leaq 0x66a8d(%rip), %rcx     # 0x186a98
leaq 0x6564c(%rip), %r8      # 0x18565e
movl $0x1cd1, %r9d           # imm = 0x1CD1
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x120026
movq 0x60(%rsp), %rdi
movq 0x58(%rsp), %rsi
callq 0x120040
addq $0x68, %rsp
retq
nopw (%rax,%rax)