// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/annotationsketch/block.c
// Function: gt_block_clone
GtBlock* gt_block_clone(GtBlock *block)
{
  GtBlock* newblock;
  GtUword i;
  gt_assert(block);
  newblock = gt_block_new();
  for (i=0;i<gt_array_size(block->elements);i++)
  {
    GtElement *elem;
    elem = gt_element_ref(*(GtElement**) gt_array_get(block->elements, i));
    gt_assert(elem);
    gt_array_add(newblock->elements, elem);
  }
  gt_assert(gt_block_get_size(newblock) == gt_block_get_size(block));
  newblock->caption = gt_str_ref(block->caption);
  newblock->type = block->type;
  newblock->range.start = block->range.start;
  newblock->range.end = block->range.end;
  newblock->show_caption = block->show_caption;
  newblock->strand = block->strand;
  newblock->top_level_feature = (GtFeatureNode*)
                                gt_genome_node_ref((GtGenomeNode*)
                                                   block->top_level_feature);
  return newblock;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
cmpq $0x0, 0x30(%rsp)
jne 0xb0a19
movq 0x1035f0(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0xad674(%rip), %rsi     # 0x15e066
leaq 0xc4496(%rip), %rdx     # 0x174e8f
leaq 0xc3610(%rip), %rcx     # 0x174010
leaq 0xc354a(%rip), %r8      # 0x173f51
movl $0xc5, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xb0a1b
callq 0xb05d0
movq %rax, 0x28(%rsp)
movq $0x0, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rax
movq (%rax), %rdi
callq 0x76490
movq %rax, %rcx
movq 0x10(%rsp), %rax
cmpq %rcx, %rax
jae 0xb0ae1
movq 0x30(%rsp), %rax
movq (%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x75c80
movq (%rax), %rdi
callq 0xb6cc0
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
jne 0xb0ab5
movq 0x103554(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0xad5d8(%rip), %rsi     # 0x15e066
leaq 0xbb9a5(%rip), %rdx     # 0x16c43a
leaq 0xc3574(%rip), %rcx     # 0x174010
leaq 0xc34ae(%rip), %r8      # 0x173f51
movl $0xcb, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xb0ab7
movq 0x28(%rsp), %rax
movq (%rax), %rdi
leaq 0x18(%rsp), %rsi
movl $0x8, %edx
callq 0x76220
movq 0x20(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x20(%rsp)
jmp 0xb0a2e
jmp 0xb0ae3
movq 0x28(%rsp), %rdi
callq 0xb0970
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rdi
callq 0xb0970
movq %rax, %rcx
movq 0x8(%rsp), %rax
cmpq %rcx, %rax
je 0xb0b41
movq 0x1034c8(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0xad54c(%rip), %rsi     # 0x15e066
leaq 0xc34fe(%rip), %rdx     # 0x17401f
leaq 0xc34e8(%rip), %rcx     # 0x174010
leaq 0xc3422(%rip), %r8      # 0x173f51
movl $0xce, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xb0b43
movq 0x30(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x19dc0
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x30(%rsp), %rax
movq 0x30(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x30(%rax)
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x30(%rsp), %rax
movb 0x28(%rax), %cl
movq 0x28(%rsp), %rax
andb $0x1, %cl
movb %cl, 0x28(%rax)
movq 0x30(%rsp), %rax
movl 0x2c(%rax), %ecx
movq 0x28(%rsp), %rax
movl %ecx, 0x2c(%rax)
movq 0x30(%rsp), %rax
movq 0x38(%rax), %rdi
callq 0x25140
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x38(%rax)
movq 0x28(%rsp), %rax
addq $0x38, %rsp
retq
nopw (%rax,%rax)