// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_seqtransform.c
// Function: gt_seqtransform_runner
static int gt_seqtransform_runner(int argc, const char **argv, int parsed_args,
                            void *tool_arguments, GtError *err)
{
  SeqtransformArguments *arguments = tool_arguments;
  GtBioseqIterator *bsi;
  GtUword i;
  GtBioseq *bioseq;
  int had_err;

  gt_error_check(err);
  gt_assert(arguments);

  bsi = gt_bioseq_iterator_new(argc - parsed_args, argv + parsed_args);

  while (!(had_err = gt_bioseq_iterator_next(bsi, &bioseq, err)) && bioseq) {
    GtAlphabet *alphabet;
    bool is_protein;
    alphabet = gt_bioseq_get_alphabet(bioseq);
    is_protein = gt_alphabet_is_protein(alphabet);
    for (i = 0; i < gt_bioseq_number_of_sequences(bioseq); i++) {
      const char *desc, *suffix = NULL;
      char *seq;
      GtUword seqlen;
      desc = gt_bioseq_get_description(bioseq, i);
      seq = gt_bioseq_get_sequence(bioseq, i);
      seqlen = gt_bioseq_get_sequence_length(bioseq, i);
      if (arguments->addstopaminos && is_protein && seqlen &&
          seq[seqlen-1] != GT_STOP_AMINO) {
        suffix = GT_STOP_AMINO_CSTR;
      }
      gt_fasta_show_entry_with_suffix(desc, seq, seqlen, suffix,
                                      arguments->width, arguments->outfp);
      gt_free(seq);
    }
    gt_bioseq_delete(bioseq);
  }

  gt_bioseq_iterator_delete(bsi);

  return had_err;
}

// Assembly:
subq $0x98, %rsp
movl %edi, 0x94(%rsp)
movq %rsi, 0x88(%rsp)
movl %edx, 0x84(%rsp)
movq %rcx, 0x78(%rsp)
movq %r8, 0x70(%rsp)
movq 0x78(%rsp), %rax
movq %rax, 0x68(%rsp)
cmpq $0x0, 0x70(%rsp)
je 0x67b41
movq 0x70(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x67b09
jmp 0x67b41
movq 0x5d4490(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4ae4f9(%rip), %rsi    # 0x516013
leaq 0x4ae69e(%rip), %rdx    # 0x5161bf
leaq 0x4c2807(%rip), %rcx    # 0x52a32f
leaq 0x4c2725(%rip), %r8     # 0x52a254
movl $0x53, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x67b43
jmp 0x67b45
cmpq $0x0, 0x68(%rsp)
jne 0x67b85
movq 0x5d444c(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4ae4b5(%rip), %rsi    # 0x516013
leaq 0x512ffa(%rip), %rdx    # 0x57ab5f
leaq 0x4c27c3(%rip), %rcx    # 0x52a32f
leaq 0x4c26e1(%rip), %r8     # 0x52a254
movl $0x54, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x67b87
movl 0x94(%rsp), %edi
subl 0x84(%rsp), %edi
movq 0x88(%rsp), %rsi
movslq 0x84(%rsp), %rax
shlq $0x3, %rax
addq %rax, %rsi
callq 0x88690
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rdi
movq 0x70(%rsp), %rdx
leaq 0x50(%rsp), %rsi
callq 0x88790
movl %eax, %ecx
movl %ecx, 0x4c(%rsp)
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, 0x17(%rsp)
jne 0x67be8
cmpq $0x0, 0x50(%rsp)
setne %al
movb %al, 0x17(%rsp)
movb 0x17(%rsp), %al
testb $0x1, %al
jne 0x67bf5
jmp 0x67d26
movq 0x50(%rsp), %rdi
callq 0x84b30
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rdi
callq 0x7f1a0
andb $0x1, %al
movb %al, 0x3f(%rsp)
movq $0x0, 0x58(%rsp)
movq 0x58(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x50(%rsp), %rdi
callq 0x85910
movq %rax, %rcx
movq 0x8(%rsp), %rax
cmpq %rcx, %rax
jae 0x67d17
movq $0x0, 0x28(%rsp)
movq 0x50(%rsp), %rdi
movq 0x58(%rsp), %rsi
callq 0x84ea0
movq %rax, 0x30(%rsp)
movq 0x50(%rsp), %rdi
movq 0x58(%rsp), %rsi
callq 0x84cc0
movq %rax, 0x20(%rsp)
movq 0x50(%rsp), %rdi
movq 0x58(%rsp), %rsi
callq 0x84e30
movq %rax, 0x18(%rsp)
movq 0x68(%rsp), %rax
testb $0x1, (%rax)
je 0x67cc3
testb $0x1, 0x3f(%rsp)
je 0x67cc3
cmpq $0x0, 0x18(%rsp)
je 0x67cc3
movq 0x20(%rsp), %rax
movq 0x18(%rsp), %rcx
subq $0x1, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2a, %eax
je 0x67cc3
leaq 0x5359ca(%rip), %rax    # 0x59d688
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rdi
movq 0x20(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x28(%rsp), %rcx
movq 0x68(%rsp), %rax
movq 0x8(%rax), %r8
movq 0x68(%rsp), %rax
movq 0x18(%rax), %r9
callq 0xdbd60
movq 0x20(%rsp), %rdi
leaq 0x4c255a(%rip), %rsi    # 0x52a254
movl $0x6a, %edx
callq 0xe88c0
movq 0x58(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x58(%rsp)
jmp 0x67c1d
movq 0x50(%rsp), %rdi
callq 0x84960
jmp 0x67bb6
movq 0x60(%rsp), %rdi
callq 0x88750
movl 0x4c(%rsp), %eax
addq $0x98, %rsp
retq
nopl (%rax)