// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/encseq_col.c
// Function: gt_encseq_col_md5_to_sequence_length
int gt_encseq_col_md5_to_sequence_length(GtSeqCol *sc, GtUword *len,
                                         GtStr *md5_seqid, GtError *err)
{
  GtUword seqnum = GT_UNDEF_UWORD;
  int had_err = 0;
  GtEncseqCol *esc;
  esc = gt_encseq_col_cast(sc);
  gt_error_check(err);
  gt_assert(esc && len && md5_seqid && err);
  gt_assert(gt_md5_seqid_has_prefix(gt_str_get(md5_seqid)));
  seqnum = gt_md5_tab_map(esc->md5_tab, gt_str_get(md5_seqid) +
                                          GT_MD5_SEQID_PREFIX_LEN);
  if (seqnum != GT_UNDEF_UWORD) {
    gt_assert(seqnum < gt_encseq_num_of_sequences(esc->encseq));
    *len = gt_encseq_seqlength(esc->encseq, seqnum);
  } else {
    gt_error_set(err, "sequence %s not found", gt_str_get(md5_seqid));
    had_err = -1;
  }
  return had_err;
}

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movq %rdx, 0x40(%rsp)
movq %rcx, 0x38(%rsp)
movq $-0x1, 0x30(%rsp)
movl $0x0, 0x2c(%rsp)
callq 0x13f230
movq %rax, %rdi
movq 0x50(%rsp), %rsi
callq 0x14a350
movq %rax, 0x20(%rsp)
cmpq $0x0, 0x38(%rsp)
je 0x13f080
movq 0x38(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0x13f048
jmp 0x13f080
movq 0x74f89(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x1f00d(%rip), %rsi     # 0x15e066
leaq 0x1f5e8(%rip), %rdx     # 0x15e648
leaq 0x4be22(%rip), %rcx     # 0x18ae89
leaq 0x4be40(%rip), %r8      # 0x18aeae
movl $0x146, %r9d            # imm = 0x146
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x13f082
jmp 0x13f084
cmpq $0x0, 0x20(%rsp)
je 0x13f0a4
cmpq $0x0, 0x48(%rsp)
je 0x13f0a4
cmpq $0x0, 0x40(%rsp)
je 0x13f0a4
cmpq $0x0, 0x38(%rsp)
jne 0x13f0dc
movq 0x74f2d(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x1efb1(%rip), %rsi     # 0x15e066
leaq 0x4be08(%rip), %rdx     # 0x18aec4
leaq 0x4bdc6(%rip), %rcx     # 0x18ae89
leaq 0x4bde4(%rip), %r8      # 0x18aeae
movl $0x147, %r9d            # imm = 0x147
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x13f0de
jmp 0x13f0e0
movq 0x40(%rsp), %rdi
callq 0x19940
movq %rax, %rdi
callq 0x8dca0
testb $0x1, %al
jne 0x13f12e
movq 0x74edb(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x1ef5f(%rip), %rsi     # 0x15e066
leaq 0x4562a(%rip), %rdx     # 0x184738
leaq 0x4bd74(%rip), %rcx     # 0x18ae89
leaq 0x4bd92(%rip), %r8      # 0x18aeae
movl $0x148, %r9d            # imm = 0x148
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x13f130
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x40(%rsp), %rdi
callq 0x19940
movq 0x18(%rsp), %rdi
movq %rax, %rsi
addq $0x4, %rsi
callq 0x149810
movq %rax, 0x30(%rsp)
cmpq $-0x1, 0x30(%rsp)
je 0x13f1eb
jmp 0x13f16c
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x113f30
movq %rax, %rcx
movq 0x10(%rsp), %rax
cmpq %rcx, %rax
jb 0x13f1c9
movq 0x74e40(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x1eec4(%rip), %rsi     # 0x15e066
leaq 0x4c054(%rip), %rdx     # 0x18b1fd
leaq 0x4bcd9(%rip), %rcx     # 0x18ae89
leaq 0x4bcf7(%rip), %r8      # 0x18aeae
movl $0x14c, %r9d            # imm = 0x14C
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x13f1cb
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x30(%rsp), %rsi
callq 0x11abd0
movq %rax, %rcx
movq 0x48(%rsp), %rax
movq %rcx, (%rax)
jmp 0x13f21d
movq 0x38(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x40(%rsp), %rdi
callq 0x19940
movq 0x8(%rsp), %rdi
movq %rax, %rdx
leaq 0x455fc(%rip), %rsi     # 0x18480a
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
movl 0x2c(%rsp), %eax
addq $0x58, %rsp
retq
nopw %cs:(%rax,%rax)