// File: /workspace/github_c_makefile_star2_O3/genometools[P]genometools/src/extended/id_to_md5_visitor.c
// Function: i2m_change_seqid
static int i2m_change_seqid(GtFeatureNode *fn, void *data, GtError *err)
{
  I2MChangeSeqidInfo *info = (I2MChangeSeqidInfo*) data;
  const char *target;
  gt_error_check(err);
  gt_assert(fn && info);
  gt_genome_node_change_seqid((GtGenomeNode*) fn, info->new_seqid);
  if (info->offset) {
    GtRange old_range, new_range;
    old_range = gt_genome_node_get_range((GtGenomeNode*) fn);
    new_range = gt_range_offset(&old_range, -info->offset);
    gt_genome_node_set_range((GtGenomeNode*) fn, &new_range);
  }
  if ((target = gt_feature_node_get_attribute(fn, GT_GFF_TARGET)) &&
      info->substitute_target_ids) {
    return i2m_change_target_seqids(fn, target, info->region_mapping, err);
  }
  return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
testq %rdx, %rdx
je 0x15603f
movq %r14, %rdi
callq 0xfcc32
testb %al, %al
jne 0x1562c2
testq %rbx, %rbx
je 0x1562bd
testq %r15, %r15
je 0x1562bd
movq (%r15), %rsi
movq %rbx, %rdi
callq 0x144709
cmpq $0x0, 0x18(%r15)
je 0x156096
movq %rbx, %rdi
callq 0x144679
leaq 0x38(%rsp), %rdi
movq %rax, (%rdi)
movq %rdx, 0x8(%rdi)
xorl %esi, %esi
subq 0x18(%r15), %rsi
callq 0x112370
leaq 0x48(%rsp), %rsi
movq %rax, (%rsi)
movq %rdx, 0x8(%rsi)
movq %rbx, %rdi
callq 0x1446da
leaq 0x1f6879(%rip), %rsi    # 0x34c916
movq %rbx, %rdi
callq 0x141f50
xorl %ebp, %ebp
testq %rax, %rax
je 0x1562a7
cmpb $0x1, 0x10(%r15)
jne 0x1562a7
movq %rax, %r13
movq 0x8(%r15), %rax
movq %rax, 0x20(%rsp)
testq %r14, %r14
je 0x1560dc
movq %r14, %rdi
callq 0xfcc32
testb %al, %al
jne 0x1562cc
cmpq $0x0, 0x20(%rsp)
je 0x1562c7
callq 0x11ac6c
movq %rax, 0x18(%rsp)
callq 0x11be10
movq %rax, %r15
movl $0x10, %edi
callq 0xd214c
movq %rax, %rbp
movl $0x4, %edi
callq 0xd214c
movq %rax, %r12
leaq 0x274055(%rip), %r9     # 0x3ca170
movq %r13, %rdi
movq %rbp, %r13
xorl %esi, %esi
movq %r15, %rdx
movq %rbp, %rcx
movq %rax, %r8
pushq %r14
pushq $0x0
callq 0x147711
addq $0x10, %rsp
movl %eax, %ebp
testl %eax, %eax
jne 0x156285
movq %r12, 0x8(%rsp)
movq %r14, 0x30(%rsp)
movq %rbx, 0x28(%rsp)
movq %r15, %rdi
callq 0x11c131
testq %rax, %rax
je 0x156230
xorl %ebp, %ebp
movq %r13, 0x10(%rsp)
movq 0x18(%rsp), %r12
movq %r15, %rdi
movq %rbp, %rsi
callq 0x11bfee
movq %rax, %r14
movq %r13, %rdi
movq %rbp, %rsi
callq 0xd2207
movq %rax, %r13
movq 0x20(%rsp), %rdi
movq %r14, %rsi
movq %rax, %rdx
leaq 0x38(%rsp), %rcx
movq 0x30(%rsp), %r8
callq 0x16e397
testq %rax, %rax
je 0x156276
movq %rax, %rbx
movq %r12, %rdi
leaq 0x21603e(%rip), %rsi    # 0x36c1f9
callq 0x11ad62
movq %r12, %rdi
movq %rbx, %rsi
callq 0x11acf3
movq %r12, %rdi
movl $0x3a, %esi
callq 0x11af23
movq %r12, %rdi
movq %r14, %rsi
callq 0x11adc1
movq %r15, %rdi
movq %rbp, %rsi
movq %r12, %rdx
callq 0x11c06a
movq 0x38(%rsp), %rax
testq %rax, %rax
je 0x1562b8
movl $0x1, %esi
subq %rax, %rsi
movq %r13, %rdi
callq 0x112370
movq %rax, (%r13)
movq %rdx, 0x8(%r13)
incq %rbp
movq %r15, %rdi
callq 0x11c131
cmpq %rax, %rbp
movq 0x10(%rsp), %r13
jb 0x15616f
callq 0x11ac6c
movq %rax, %rbx
movq %rax, %rdi
movq %r15, %rsi
movq %r13, %rdx
movq 0x8(%rsp), %r12
movq %r12, %rcx
callq 0x147749
movq %rbx, %rdi
callq 0x11b0a1
leaq 0x1f66b9(%rip), %rsi    # 0x34c916
movq 0x28(%rsp), %rdi
movq %rax, %rdx
callq 0x142a0f
movq %rbx, %rdi
callq 0x11bdbf
xorl %ebp, %ebp
jmp 0x156285
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movq 0x10(%rsp), %r13
movq 0x8(%rsp), %r12
movq %r12, %rdi
callq 0xd2938
movq %r13, %rdi
callq 0xd2938
movq %r15, %rdi
callq 0x11c144
movq 0x18(%rsp), %rdi
callq 0x11bdbf
movl %ebp, %eax
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x49650
callq 0x495e2
callq 0x495ab
callq 0x49687
callq 0x49619
nopl (%rax)