LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics.c
// Function: gt_graphics_draw_horizontal_line
void gt_graphics_draw_horizontal_line(GtGraphics *g, double x, double y,
                                      GtColor color, double width,
                                      double stroke_width)
{
  gt_assert(g && g->c_class);
  gt_rwlock_wrlock(g->pvt->lock);
  g->c_class->draw_horizontal_line(g, x, y, color, width, stroke_width);
  gt_rwlock_unlock(g->pvt->lock);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x48, %rsp
movsd %xmm3, 0x40(%rsp)
movsd %xmm2, 0x38(%rsp)
movsd %xmm1, 0x30(%rsp)
movsd %xmm0, 0x28(%rsp)
testq %rdi, %rdi
je 0x2cf4d
movq %rdi, %rbx
cmpq $0x0, (%rdi)
je 0x2cf4d
leaq 0x60(%rsp), %r14
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x15e99
movq (%rbx), %rax
movups (%r14), %xmm0
movups 0x10(%r14), %xmm1
movups %xmm1, 0x10(%rsp)
movups %xmm0, (%rsp)
movq %rbx, %rdi
movsd 0x28(%rsp), %xmm0
movsd 0x30(%rsp), %xmm1
movsd 0x38(%rsp), %xmm2
movsd 0x40(%rsp), %xmm3
callq *0x78(%rax)
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
addq $0x48, %rsp
popq %rbx
popq %r14
jmp 0x15f0a
movq 0x101064(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0x9d108(%rip), %rsi     # 0xca066
leaq 0xa6d44(%rip), %rdx     # 0xd3ca9
leaq 0xa6e85(%rip), %rcx     # 0xd3df1
leaq 0xa6c01(%rip), %r8      # 0xd3b74
movl $0x148, %r9d            # imm = 0x148
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics.c
// Function: gt_graphics_draw_vertical_line
void gt_graphics_draw_vertical_line(GtGraphics *g, double x, double y,
                                    GtColor color, double length,
                                    double stroke_width)
{
  gt_assert(g && g->c_class);
  gt_rwlock_wrlock(g->pvt->lock);
  g->c_class->draw_vertical_line(g, x, y, color, length, stroke_width);
  gt_rwlock_unlock(g->pvt->lock);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x48, %rsp
movsd %xmm3, 0x40(%rsp)
movsd %xmm2, 0x38(%rsp)
movsd %xmm1, 0x30(%rsp)
movsd %xmm0, 0x28(%rsp)
testq %rdi, %rdi
je 0x2d00e
movq %rdi, %rbx
cmpq $0x0, (%rdi)
je 0x2d00e
leaq 0x60(%rsp), %r14
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x15e99
movq (%rbx), %rax
movups (%r14), %xmm0
movups 0x10(%r14), %xmm1
movups %xmm1, 0x10(%rsp)
movups %xmm0, (%rsp)
movq %rbx, %rdi
movsd 0x28(%rsp), %xmm0
movsd 0x30(%rsp), %xmm1
movsd 0x38(%rsp), %xmm2
movsd 0x40(%rsp), %xmm3
callq *0x80(%rax)
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
addq $0x48, %rsp
popq %rbx
popq %r14
jmp 0x15f0a
movq 0x100fa3(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0x9d047(%rip), %rsi     # 0xca066
leaq 0xa6c83(%rip), %rdx     # 0xd3ca9
leaq 0xa6de5(%rip), %rcx     # 0xd3e12
leaq 0xa6b40(%rip), %r8      # 0xd3b74
movl $0x152, %r9d            # imm = 0x152
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics.c
// Function: gt_graphics_draw_box
void gt_graphics_draw_box(GtGraphics *g, double x, double y, double width,
                          double height, GtColor fill_color,
                          ArrowStatus arrow_status, double arrow_width,
                          double stroke_width, GtColor stroke_color,
                          bool dashed)
{
  gt_assert(g && g->c_class);
  gt_rwlock_wrlock(g->pvt->lock);
  g->c_class->draw_box(g, x, y, width, height, fill_color, arrow_status,
                       arrow_width, stroke_width, stroke_color, dashed);
  gt_rwlock_unlock(g->pvt->lock);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x70, %rsp
movsd %xmm5, 0x68(%rsp)
movsd %xmm4, 0x60(%rsp)
movsd %xmm3, 0x58(%rsp)
movsd %xmm2, 0x50(%rsp)
movsd %xmm1, 0x48(%rsp)
movsd %xmm0, 0x40(%rsp)
testq %rdi, %rdi
je 0x2d124
movq %rdi, %rbx
cmpq $0x0, (%rdi)
je 0x2d124
movl %edx, %r14d
movl %esi, %ebp
leaq 0xc0(%rsp), %r15
leaq 0xa0(%rsp), %r12
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x15e99
movq (%rbx), %rax
movups (%r15), %xmm0
movups 0x10(%r15), %xmm1
movups %xmm1, 0x30(%rsp)
movups %xmm0, 0x20(%rsp)
movups (%r12), %xmm0
movups 0x10(%r12), %xmm1
movups %xmm1, 0x10(%rsp)
movups %xmm0, (%rsp)
movzbl %r14b, %edx
movq %rbx, %rdi
movsd 0x40(%rsp), %xmm0
movsd 0x48(%rsp), %xmm1
movsd 0x50(%rsp), %xmm2
movsd 0x58(%rsp), %xmm3
movl %ebp, %esi
movsd 0x60(%rsp), %xmm4
movsd 0x68(%rsp), %xmm5
callq *0x90(%rax)
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
addq $0x70, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x15f0a
movq 0x100e8d(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0x9cf31(%rip), %rsi     # 0xca066
leaq 0xa6b6d(%rip), %rdx     # 0xd3ca9
leaq 0xa6cee(%rip), %rcx     # 0xd3e31
leaq 0xa6a2a(%rip), %r8      # 0xd3b74
movl $0x15e, %r9d            # imm = 0x15E
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics.c
// Function: gt_graphics_draw_dashes
void gt_graphics_draw_dashes(GtGraphics *g, double x, double y, double width,
                             double height, ArrowStatus arrow_status,
                             double arrow_width, double stroke_width,
                             GtColor stroke_color)
{
  gt_assert(g && g->c_class);
  gt_rwlock_wrlock(g->pvt->lock);
  g->c_class->draw_dashes(g, x, y, width, height, arrow_status, arrow_width,
                          stroke_width, stroke_color);
  gt_rwlock_unlock(g->pvt->lock);
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x50, %rsp
movsd %xmm5, 0x48(%rsp)
movsd %xmm4, 0x40(%rsp)
movsd %xmm3, 0x38(%rsp)
movsd %xmm2, 0x30(%rsp)
movsd %xmm1, 0x28(%rsp)
movsd %xmm0, 0x20(%rsp)
testq %rdi, %rdi
je 0x2d203
movq %rdi, %rbx
cmpq $0x0, (%rdi)
je 0x2d203
movl %esi, %ebp
leaq 0x70(%rsp), %r14
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x15e99
movq (%rbx), %rax
movups (%r14), %xmm0
movups 0x10(%r14), %xmm1
movups %xmm1, 0x10(%rsp)
movups %xmm0, (%rsp)
movq %rbx, %rdi
movsd 0x20(%rsp), %xmm0
movsd 0x28(%rsp), %xmm1
movsd 0x30(%rsp), %xmm2
movsd 0x38(%rsp), %xmm3
movl %ebp, %esi
movsd 0x40(%rsp), %xmm4
movsd 0x48(%rsp), %xmm5
callq *0x98(%rax)
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
addq $0x50, %rsp
popq %rbx
popq %r14
popq %rbp
jmp 0x15f0a
movq 0x100dae(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0x9ce52(%rip), %rsi     # 0xca066
leaq 0xa6a8e(%rip), %rdx     # 0xd3ca9
leaq 0xa6c24(%rip), %rcx     # 0xd3e46
leaq 0xa694b(%rip), %r8      # 0xd3b74
movl $0x16a, %r9d            # imm = 0x16A
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics.c
// Function: gt_graphics_draw_caret
void gt_graphics_draw_caret(GtGraphics *g, double x, double y, double width,
                            double height, ArrowStatus arrow_status,
                            double arrow_width,  double stroke_width,
                            GtColor stroke_color)
{
  gt_assert(g && g->c_class);
  gt_rwlock_wrlock(g->pvt->lock);
  g->c_class->draw_caret(g, x, y, width, height, arrow_status, arrow_width,
                         stroke_width, stroke_color);
  gt_rwlock_unlock(g->pvt->lock);
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x50, %rsp
movsd %xmm5, 0x48(%rsp)
movsd %xmm4, 0x40(%rsp)
movsd %xmm3, 0x38(%rsp)
movsd %xmm2, 0x30(%rsp)
movsd %xmm1, 0x28(%rsp)
movsd %xmm0, 0x20(%rsp)
testq %rdi, %rdi
je 0x2d2e2
movq %rdi, %rbx
cmpq $0x0, (%rdi)
je 0x2d2e2
movl %esi, %ebp
leaq 0x70(%rsp), %r14
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x15e99
movq (%rbx), %rax
movups (%r14), %xmm0
movups 0x10(%r14), %xmm1
movups %xmm1, 0x10(%rsp)
movups %xmm0, (%rsp)
movq %rbx, %rdi
movsd 0x20(%rsp), %xmm0
movsd 0x28(%rsp), %xmm1
movsd 0x30(%rsp), %xmm2
movsd 0x38(%rsp), %xmm3
movl %ebp, %esi
movsd 0x40(%rsp), %xmm4
movsd 0x48(%rsp), %xmm5
callq *0xa0(%rax)
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
addq $0x50, %rsp
popq %rbx
popq %r14
popq %rbp
jmp 0x15f0a
movq 0x100ccf(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0x9cd73(%rip), %rsi     # 0xca066
leaq 0xa69af(%rip), %rdx     # 0xd3ca9
leaq 0xa6b5d(%rip), %rcx     # 0xd3e5e
leaq 0xa686c(%rip), %r8      # 0xd3b74
movl $0x176, %r9d            # imm = 0x176
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics.c
// Function: gt_graphics_draw_rectangle
void gt_graphics_draw_rectangle(GtGraphics *g, double x, double y,
                                bool filled, GtColor fill_color, bool stroked,
                                GtColor stroke_color, double stroke_width,
                                double width, double height)
{
  gt_assert(g && g->c_class);
  gt_rwlock_wrlock(g->pvt->lock);
  g->c_class->draw_rectangle(g, x, y, filled, fill_color, stroked,
                             stroke_color, stroke_width, width, height);
  gt_rwlock_unlock(g->pvt->lock);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x70, %rsp
movsd %xmm4, 0x68(%rsp)
movsd %xmm3, 0x60(%rsp)
movsd %xmm2, 0x58(%rsp)
movsd %xmm1, 0x50(%rsp)
movsd %xmm0, 0x48(%rsp)
testq %rdi, %rdi
je 0x2d3ee
movq %rdi, %rbx
cmpq $0x0, (%rdi)
je 0x2d3ee
movl %edx, %ebp
movl %esi, %r14d
leaq 0xc0(%rsp), %r15
leaq 0xa0(%rsp), %r12
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x15e99
movq (%rbx), %rax
movups (%r15), %xmm0
movups 0x10(%r15), %xmm1
movups %xmm1, 0x30(%rsp)
movups %xmm0, 0x20(%rsp)
movups (%r12), %xmm0
movups 0x10(%r12), %xmm1
movups %xmm1, 0x10(%rsp)
movups %xmm0, (%rsp)
movzbl %r14b, %esi
movzbl %bpl, %edx
movq %rbx, %rdi
movsd 0x48(%rsp), %xmm0
movsd 0x50(%rsp), %xmm1
movsd 0x58(%rsp), %xmm2
movsd 0x60(%rsp), %xmm3
movsd 0x68(%rsp), %xmm4
callq *0xa8(%rax)
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
addq $0x70, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x15f0a
movq 0x100bc3(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0x9cc67(%rip), %rsi     # 0xca066
leaq 0xa68a3(%rip), %rdx     # 0xd3ca9
leaq 0xa6a68(%rip), %rcx     # 0xd3e75
leaq 0xa6760(%rip), %r8      # 0xd3b74
movl $0x182, %r9d            # imm = 0x182
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics.c
// Function: gt_graphics_draw_arrowhead
void gt_graphics_draw_arrowhead(GtGraphics *g, double x, double y,
                                GtColor col, ArrowStatus arrow_status)
{
  gt_assert(g && g->c_class);
  gt_rwlock_wrlock(g->pvt->lock);
  g->c_class->draw_arrowhead(g, x, y, col, arrow_status);
  gt_rwlock_unlock(g->pvt->lock);
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x30, %rsp
movsd %xmm1, 0x28(%rsp)
movsd %xmm0, 0x20(%rsp)
testq %rdi, %rdi
je 0x2d49d
movq %rdi, %rbx
cmpq $0x0, (%rdi)
je 0x2d49d
movl %esi, %ebp
leaq 0x50(%rsp), %r14
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x15e99
movq (%rbx), %rax
movups (%r14), %xmm0
movups 0x10(%r14), %xmm1
movups %xmm1, 0x10(%rsp)
movups %xmm0, (%rsp)
movq %rbx, %rdi
movsd 0x20(%rsp), %xmm0
movsd 0x28(%rsp), %xmm1
movl %ebp, %esi
callq *0xb0(%rax)
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
addq $0x30, %rsp
popq %rbx
popq %r14
popq %rbp
jmp 0x15f0a
movq 0x100b14(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0x9cbb8(%rip), %rsi     # 0xca066
leaq 0xa67f4(%rip), %rdx     # 0xd3ca9
leaq 0xa69d4(%rip), %rcx     # 0xd3e90
leaq 0xa66b1(%rip), %r8      # 0xd3b74
movl $0x18c, %r9d            # imm = 0x18C
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics.c
// Function: gt_graphics_draw_curve_data
void gt_graphics_draw_curve_data(GtGraphics *g, double x, double y,
                                 GtColor color,
                                 double data[], GtUword ndata,
                                 GtRange valrange, GtUword height)
{
  gt_assert(g && g->c_class);
  gt_rwlock_wrlock(g->pvt->lock);
  g->c_class->draw_curve(g, x, y, color, data, ndata, valrange, height);
  gt_rwlock_unlock(g->pvt->lock);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %r9, 0x30(%rsp)
movsd %xmm1, 0x28(%rsp)
movsd %xmm0, 0x20(%rsp)
testq %rdi, %rdi
je 0x2d574
movq %rdi, %r15
cmpq $0x0, (%rdi)
je 0x2d574
movq %r8, %r14
movq %rcx, %r12
movq %rdx, %r13
movq %rsi, %rbp
leaq 0x70(%rsp), %rbx
movq 0x8(%r15), %rax
movq 0x8(%rax), %rdi
callq 0x15e99
movq (%r15), %rax
movups (%rbx), %xmm0
movups 0x10(%rbx), %xmm1
movups %xmm1, 0x10(%rsp)
movups %xmm0, (%rsp)
movq %r15, %rdi
movsd 0x20(%rsp), %xmm0
movsd 0x28(%rsp), %xmm1
movq %rbp, %rsi
movq %r13, %rdx
movq %r12, %rcx
movq %r14, %r8
movq 0x30(%rsp), %r9
callq *0xb8(%rax)
movq 0x8(%r15), %rax
movq 0x8(%rax), %rdi
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x15f0a
movq 0x100a3d(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0x9cae1(%rip), %rsi     # 0xca066
leaq 0xa671d(%rip), %rdx     # 0xd3ca9
leaq 0xa6918(%rip), %rcx     # 0xd3eab
leaq 0xa65da(%rip), %r8      # 0xd3b74
movl $0x197, %r9d            # imm = 0x197
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics.c
// Function: gt_graphics_save_to_file
int gt_graphics_save_to_file(const GtGraphics *g, const char *filename,
                             GtError *err)
{
  int ret;
  gt_error_check(err);
  gt_assert(g && g->c_class);
  gt_rwlock_wrlock(g->pvt->lock);
  ret = g->c_class->save_to_file(g, filename, err);
  gt_rwlock_unlock(g->pvt->lock);
  return ret;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
testq %rdx, %rdx
je 0x2d5cd
movq %r14, %rdi
callq 0xc103
testb %al, %al
jne 0x2d641
testq %rbx, %rbx
je 0x2d613
cmpq $0x0, (%rbx)
je 0x2d613
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x15e99
movq (%rbx), %rax
movq %rbx, %rdi
movq %r15, %rsi
movq %r14, %rdx
callq *0xc0(%rax)
movl %eax, %ebp
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x15f0a
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq 0x10099e(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0x9ca42(%rip), %rsi     # 0xca066
leaq 0xa667e(%rip), %rdx     # 0xd3ca9
leaq 0xa6895(%rip), %rcx     # 0xd3ec7
leaq 0xa653b(%rip), %r8      # 0xd3b74
movl $0x1a2, %r9d            # imm = 0x1A2
jmp 0x2d66d
movq 0x100970(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0x9ca14(%rip), %rsi     # 0xca066
leaq 0x9d000(%rip), %rdx     # 0xca659
leaq 0xa6867(%rip), %rcx     # 0xd3ec7
leaq 0xa650d(%rip), %r8      # 0xd3b74
movl $0x1a1, %r9d            # imm = 0x1A1
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics.c
// Function: gt_graphics_save_to_stream
void gt_graphics_save_to_stream(const GtGraphics *g, GtStr *stream)
{
  gt_assert(g && g->c_class);
  gt_rwlock_wrlock(g->pvt->lock);
  g->c_class->save_to_stream(g, stream);
  gt_rwlock_unlock(g->pvt->lock);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0x2d6be
movq %rdi, %rbx
cmpq $0x0, (%rdi)
je 0x2d6be
movq %rsi, %r14
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x15e99
movq (%rbx), %rax
movq %rbx, %rdi
movq %r14, %rsi
callq *0xc8(%rax)
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x15f0a
movq 0x1008f3(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0x9c997(%rip), %rsi     # 0xca066
leaq 0xa65d3(%rip), %rdx     # 0xd3ca9
leaq 0xa6803(%rip), %rcx     # 0xd3ee0
leaq 0xa6490(%rip), %r8      # 0xd3b74
movl $0x1ab, %r9d            # imm = 0x1AB
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics.c
// Function: gt_graphics_draw_text_p
void gt_graphics_draw_text_p(GtGraphics *g, GraphicsDrawTextFuncParams *params)
{
  gt_assert(g && g->c_class && params && params->txt);
  gt_rwlock_wrlock(g->pvt->lock);
  g->c_class->draw_text(g, params->x, params->y, params->txt);
  gt_rwlock_unlock(g->pvt->lock);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0x2d750
movq %rsi, %r14
testq %rsi, %rsi
je 0x2d750
movq %rdi, %rbx
cmpq $0x0, (%rdi)
je 0x2d750
cmpq $0x0, 0x10(%r14)
je 0x2d750
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x15e99
movq (%rbx), %rax
movsd (%r14), %xmm0
movsd 0x8(%r14), %xmm1
movq 0x10(%r14), %rsi
movq %rbx, %rdi
callq *0x8(%rax)
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x15f0a
movq 0x100861(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0x9c905(%rip), %rsi     # 0xca066
leaq 0xa6793(%rip), %rdx     # 0xd3efb
leaq 0xa67b5(%rip), %rcx     # 0xd3f24
leaq 0xa63fe(%rip), %r8      # 0xd3b74
movl $0x1bc, %r9d            # imm = 0x1BC
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics.c
// Function: gt_graphics_draw_text_clip_p
void gt_graphics_draw_text_clip_p(GtGraphics *g,
                                  GraphicsDrawTextFuncParams *params)
{
  gt_assert(g && g->c_class && params && params->txt);
  gt_rwlock_wrlock(g->pvt->lock);
  g->c_class->draw_text_clip(g, params->x, params->y, params->txt);
  gt_rwlock_unlock(g->pvt->lock);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0x2d7e2
movq %rsi, %r14
testq %rsi, %rsi
je 0x2d7e2
movq %rdi, %rbx
cmpq $0x0, (%rdi)
je 0x2d7e2
cmpq $0x0, 0x10(%r14)
je 0x2d7e2
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x15e99
movq (%rbx), %rax
movsd (%r14), %xmm0
movsd 0x8(%r14), %xmm1
movq 0x10(%r14), %rsi
movq %rbx, %rdi
callq *0x10(%rax)
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x15f0a
movq 0x1007cf(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0x9c873(%rip), %rsi     # 0xca066
leaq 0xa6701(%rip), %rdx     # 0xd3efb
leaq 0xa673b(%rip), %rcx     # 0xd3f3c
leaq 0xa636c(%rip), %r8      # 0xd3b74
movl $0x1c5, %r9d            # imm = 0x1C5
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics.c
// Function: gt_graphics_draw_text_centered_p
void gt_graphics_draw_text_centered_p(GtGraphics *g,
                                      GraphicsDrawTextFuncParams *params)
{
  gt_assert(g && g->c_class && params && params->txt);
  gt_rwlock_wrlock(g->pvt->lock);
  g->c_class->draw_text_centered(g, params->x, params->y, params->txt);
  gt_rwlock_unlock(g->pvt->lock);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0x2d874
movq %rsi, %r14
testq %rsi, %rsi
je 0x2d874
movq %rdi, %rbx
cmpq $0x0, (%rdi)
je 0x2d874
cmpq $0x0, 0x10(%r14)
je 0x2d874
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x15e99
movq (%rbx), %rax
movsd (%r14), %xmm0
movsd 0x8(%r14), %xmm1
movq 0x10(%r14), %rsi
movq %rbx, %rdi
callq *0x18(%rax)
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x15f0a
movq 0x10073d(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0x9c7e1(%rip), %rsi     # 0xca066
leaq 0xa666f(%rip), %rdx     # 0xd3efb
leaq 0xa66c6(%rip), %rcx     # 0xd3f59
leaq 0xa62da(%rip), %r8      # 0xd3b74
movl $0x1ce, %r9d            # imm = 0x1CE
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics.c
// Function: gt_graphics_draw_text_right_p
void gt_graphics_draw_text_right_p(GtGraphics *g,
                                   GraphicsDrawTextFuncParams *params)
{
  gt_assert(g && g->c_class && params && params->txt);
  gt_rwlock_wrlock(g->pvt->lock);
  g->c_class->draw_text_right(g, params->x, params->y, params->txt);
  gt_rwlock_unlock(g->pvt->lock);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0x2d906
movq %rsi, %r14
testq %rsi, %rsi
je 0x2d906
movq %rdi, %rbx
cmpq $0x0, (%rdi)
je 0x2d906
cmpq $0x0, 0x10(%r14)
je 0x2d906
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x15e99
movq (%rbx), %rax
movsd (%r14), %xmm0
movsd 0x8(%r14), %xmm1
movq 0x10(%r14), %rsi
movq %rbx, %rdi
callq *0x20(%rax)
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x15f0a
movq 0x1006ab(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0x9c74f(%rip), %rsi     # 0xca066
leaq 0xa65dd(%rip), %rdx     # 0xd3efb
leaq 0xa6655(%rip), %rcx     # 0xd3f7a
leaq 0xa6248(%rip), %r8      # 0xd3b74
movl $0x1d7, %r9d            # imm = 0x1D7
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics.c
// Function: gt_graphics_draw_colored_text_p
void gt_graphics_draw_colored_text_p(GtGraphics *g,
                                     GraphicsDrawColoredTextFuncParams *params)
{
  gt_assert(g && g->c_class && params && params->txt);
  gt_rwlock_wrlock(g->pvt->lock);
  g->c_class->draw_colored_text(g, params->x, params->y, params->col,
                                params->txt);
  gt_rwlock_unlock(g->pvt->lock);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
testq %rdi, %rdi
je 0x2d9ae
movq %rsi, %r14
testq %rsi, %rsi
je 0x2d9ae
movq %rdi, %rbx
cmpq $0x0, (%rdi)
je 0x2d9ae
cmpq $0x0, 0x30(%r14)
je 0x2d9ae
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x15e99
movq (%rbx), %rax
movsd (%r14), %xmm0
movsd 0x8(%r14), %xmm1
movq 0x30(%r14), %rsi
movups 0x10(%r14), %xmm2
movups 0x20(%r14), %xmm3
movups %xmm3, 0x10(%rsp)
movups %xmm2, (%rsp)
movq %rbx, %rdi
callq *0x28(%rax)
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
addq $0x28, %rsp
popq %rbx
popq %r14
jmp 0x15f0a
movq 0x100603(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0x9c6a7(%rip), %rsi     # 0xca066
leaq 0xa6535(%rip), %rdx     # 0xd3efb
leaq 0xa65cb(%rip), %rcx     # 0xd3f98
leaq 0xa61a0(%rip), %r8      # 0xd3b74
movl $0x1e7, %r9d            # imm = 0x1E7
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics.c
// Function: gt_graphics_set_margins_p
void gt_graphics_set_margins_p(GtGraphics *g,
                               GraphicsSetMarginsFuncParams *params)
{
  gt_assert(g && g->c_class && params);
  gt_rwlock_wrlock(g->pvt->lock);
  g->c_class->set_margins(g, params->margin_x, params->margin_y);
  gt_rwlock_unlock(g->pvt->lock);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0x2da35
movq %rsi, %r14
testq %rsi, %rsi
je 0x2da35
movq %rdi, %rbx
cmpq $0x0, (%rdi)
je 0x2da35
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x15e99
movq (%rbx), %rax
movsd (%r14), %xmm0
movsd 0x8(%r14), %xmm1
movq %rbx, %rdi
callq *0x70(%rax)
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x15f0a
movq 0x10057c(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0x9c620(%rip), %rsi     # 0xca066
leaq 0xa656b(%rip), %rdx     # 0xd3fb8
leaq 0xa657e(%rip), %rcx     # 0xd3fd2
leaq 0xa6119(%rip), %r8      # 0xd3b74
movl $0x1f6, %r9d            # imm = 0x1F6
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics.c
// Function: gt_graphics_draw_line_p
void gt_graphics_draw_line_p(GtGraphics *g,
                             GraphicsDrawLineToFuncParams *params)
{
  gt_assert(g && g->c_class && params);
  gt_rwlock_wrlock(g->pvt->lock);
  g->c_class->draw_line(g, params->x, params->y, params->xto, params->yto,
                        params->color, params->stroke_width);
  gt_rwlock_unlock(g->pvt->lock);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
testq %rdi, %rdi
je 0x2dae7
movq %rsi, %r14
testq %rsi, %rsi
je 0x2dae7
movq %rdi, %rbx
cmpq $0x0, (%rdi)
je 0x2dae7
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x15e99
movq (%rbx), %rax
movsd (%r14), %xmm0
movsd 0x8(%r14), %xmm1
movsd 0x10(%r14), %xmm2
movsd 0x18(%r14), %xmm3
movsd 0x40(%r14), %xmm4
movups 0x20(%r14), %xmm5
movups 0x30(%r14), %xmm6
movups %xmm6, 0x10(%rsp)
movups %xmm5, (%rsp)
movq %rbx, %rdi
callq *0x88(%rax)
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
addq $0x28, %rsp
popq %rbx
popq %r14
jmp 0x15f0a
movq 0x1004ca(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0x9c56e(%rip), %rsi     # 0xca066
leaq 0xa64b9(%rip), %rdx     # 0xd3fb8
leaq 0xa64e6(%rip), %rcx     # 0xd3fec
leaq 0xa6067(%rip), %r8      # 0xd3b74
movl $0x208, %r9d            # imm = 0x208
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics.c
// Function: gt_graphics_draw_horizontal_line_p
void gt_graphics_draw_horizontal_line_p(GtGraphics *g,
                                        GraphicsDrawLineFuncParams *params)
{
  gt_assert(g && g->c_class && params);
  gt_rwlock_wrlock(g->pvt->lock);
  g->c_class->draw_horizontal_line(g, params->x, params->y, params->color,
                                   params->len, params->stroke_width);
  gt_rwlock_unlock(g->pvt->lock);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
testq %rdi, %rdi
je 0x2db90
movq %rsi, %r14
testq %rsi, %rsi
je 0x2db90
movq %rdi, %rbx
cmpq $0x0, (%rdi)
je 0x2db90
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x15e99
movq (%rbx), %rax
movsd (%r14), %xmm0
movsd 0x8(%r14), %xmm1
movsd 0x30(%r14), %xmm2
movsd 0x38(%r14), %xmm3
movups 0x10(%r14), %xmm4
movups 0x20(%r14), %xmm5
movups %xmm5, 0x10(%rsp)
movups %xmm4, (%rsp)
movq %rbx, %rdi
callq *0x78(%rax)
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
addq $0x28, %rsp
popq %rbx
popq %r14
jmp 0x15f0a
movq 0x100421(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0x9c4c5(%rip), %rsi     # 0xca066
leaq 0xa6410(%rip), %rdx     # 0xd3fb8
leaq 0xa6455(%rip), %rcx     # 0xd4004
leaq 0xa5fbe(%rip), %r8      # 0xd3b74
movl $0x21a, %r9d            # imm = 0x21A
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics.c
// Function: gt_graphics_draw_vertical_line_p
void gt_graphics_draw_vertical_line_p(GtGraphics *g,
                                      GraphicsDrawLineFuncParams *params)
{
  gt_assert(g && g->c_class && params);
  gt_rwlock_wrlock(g->pvt->lock);
  g->c_class->draw_vertical_line(g, params->x, params->y, params->color,
                                 params->len, params->stroke_width);
  gt_rwlock_unlock(g->pvt->lock);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
testq %rdi, %rdi
je 0x2dc3c
movq %rsi, %r14
testq %rsi, %rsi
je 0x2dc3c
movq %rdi, %rbx
cmpq $0x0, (%rdi)
je 0x2dc3c
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x15e99
movq (%rbx), %rax
movsd (%r14), %xmm0
movsd 0x8(%r14), %xmm1
movsd 0x30(%r14), %xmm2
movsd 0x38(%r14), %xmm3
movups 0x10(%r14), %xmm4
movups 0x20(%r14), %xmm5
movups %xmm5, 0x10(%rsp)
movups %xmm4, (%rsp)
movq %rbx, %rdi
callq *0x80(%rax)
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
addq $0x28, %rsp
popq %rbx
popq %r14
jmp 0x15f0a
movq 0x100375(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0x9c419(%rip), %rsi     # 0xca066
leaq 0xa6364(%rip), %rdx     # 0xd3fb8
leaq 0xa63cc(%rip), %rcx     # 0xd4027
leaq 0xa5f12(%rip), %r8      # 0xd3b74
movl $0x224, %r9d            # imm = 0x224
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics.c
// Function: gt_graphics_draw_box_p
void gt_graphics_draw_box_p(GtGraphics *g, GraphicsDrawBoxFuncParams *params)
{
  gt_assert(g && g->c_class && params);
  gt_rwlock_wrlock(g->pvt->lock);
  g->c_class->draw_box(g, params->x, params->y, params->width, params->height,
                       params->fill_color, params->arrow_status,
                       params->arrow_width, params->stroke_width,
                       params->stroke_color, params->dashed);
  gt_rwlock_unlock(g->pvt->lock);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x48, %rsp
testq %rdi, %rdi
je 0x2dd24
movq %rsi, %r14
testq %rsi, %rsi
je 0x2dd24
movq %rdi, %rbx
cmpq $0x0, (%rdi)
je 0x2dd24
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x15e99
movq (%rbx), %rax
movsd (%r14), %xmm0
movsd 0x8(%r14), %xmm1
movsd 0x10(%r14), %xmm2
movsd 0x18(%r14), %xmm3
movl 0x74(%r14), %esi
movsd 0x40(%r14), %xmm4
movsd 0x48(%r14), %xmm5
xorl %edx, %edx
cmpl $0x0, 0x70(%r14)
setne %dl
movups 0x20(%r14), %xmm6
movups 0x30(%r14), %xmm7
movups 0x50(%r14), %xmm8
movups 0x60(%r14), %xmm9
movups %xmm9, 0x30(%rsp)
movups %xmm8, 0x20(%rsp)
movups %xmm7, 0x10(%rsp)
movups %xmm6, (%rsp)
movq %rbx, %rdi
callq *0x90(%rax)
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
addq $0x48, %rsp
popq %rbx
popq %r14
jmp 0x15f0a
movq 0x10028d(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0x9c331(%rip), %rsi     # 0xca066
leaq 0xa627c(%rip), %rdx     # 0xd3fb8
leaq 0xa6305(%rip), %rcx     # 0xd4048
leaq 0xa5e2a(%rip), %r8      # 0xd3b74
movl $0x23a, %r9d            # imm = 0x23A
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics.c
// Function: gt_graphics_draw_dashes_p
void gt_graphics_draw_dashes_p(GtGraphics *g,
                               GraphicsDrawSimpleFuncParams *params)
{
  gt_assert(g && g->c_class && params);
  gt_rwlock_wrlock(g->pvt->lock);
  g->c_class->draw_dashes(g, params->x, params->y, params->width,
                          params->height, params->arrow_status,
                          params->arrow_width, params->stroke_width,
                          params->stroke_color);
  gt_rwlock_unlock(g->pvt->lock);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
testq %rdi, %rdi
je 0x2dde0
movq %rsi, %r14
testq %rsi, %rsi
je 0x2dde0
movq %rdi, %rbx
cmpq $0x0, (%rdi)
je 0x2dde0
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x15e99
movq (%rbx), %rax
movsd (%r14), %xmm0
movsd 0x8(%r14), %xmm1
movsd 0x10(%r14), %xmm2
movsd 0x18(%r14), %xmm3
movl 0x50(%r14), %esi
movsd 0x20(%r14), %xmm4
movsd 0x28(%r14), %xmm5
movups 0x30(%r14), %xmm6
movups 0x40(%r14), %xmm7
movups %xmm7, 0x10(%rsp)
movups %xmm6, (%rsp)
movq %rbx, %rdi
callq *0x98(%rax)
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
addq $0x28, %rsp
popq %rbx
popq %r14
jmp 0x15f0a
movq 0x1001d1(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0x9c275(%rip), %rsi     # 0xca066
leaq 0xa61c0(%rip), %rdx     # 0xd3fb8
leaq 0xa6260(%rip), %rcx     # 0xd405f
leaq 0xa5d6e(%rip), %r8      # 0xd3b74
movl $0x251, %r9d            # imm = 0x251
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics.c
// Function: gt_graphics_draw_rectangle_p
void gt_graphics_draw_rectangle_p(GtGraphics *g,
                                  GraphicsDrawRectFuncParams *params)
{
  gt_assert(g && g->c_class && params);
  gt_rwlock_wrlock(g->pvt->lock);
  g->c_class->draw_rectangle(g, params->x, params->y, params->filled,
                             params->fill_color, params->outlined,
                             params->outline_color, params->outline_width,
                             params->width, params->height);
  gt_rwlock_unlock(g->pvt->lock);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x48, %rsp
testq %rdi, %rdi
je 0x2df75
movq %rsi, %r14
testq %rsi, %rsi
je 0x2df75
movq %rdi, %rbx
cmpq $0x0, (%rdi)
je 0x2df75
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x15e99
movq (%rbx), %rax
movsd (%r14), %xmm0
movsd 0x8(%r14), %xmm1
movzbl 0x68(%r14), %esi
movzbl 0x69(%r14), %edx
movsd 0x50(%r14), %xmm2
movsd 0x58(%r14), %xmm3
movsd 0x60(%r14), %xmm4
movups 0x10(%r14), %xmm5
movups 0x20(%r14), %xmm6
movups 0x30(%r14), %xmm7
movups 0x40(%r14), %xmm8
movups %xmm8, 0x30(%rsp)
movups %xmm7, 0x20(%rsp)
movups %xmm6, 0x10(%rsp)
movups %xmm5, (%rsp)
movq %rbx, %rdi
callq *0xa8(%rax)
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
addq $0x48, %rsp
popq %rbx
popq %r14
jmp 0x15f0a
movq 0x10003c(%rip), %rax    # 0x12dfb8
movq (%rax), %rdi
leaq 0x9c0e0(%rip), %rsi     # 0xca066
leaq 0xa602b(%rip), %rdx     # 0xd3fb8
leaq 0xa60fe(%rip), %rcx     # 0xd4092
leaq 0xa5bd9(%rip), %r8      # 0xd3b74
movl $0x275, %r9d            # imm = 0x275
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics.c
// Function: gt_graphics_draw_arrowhead_p
void gt_graphics_draw_arrowhead_p(GtGraphics *g,
                                  GraphicsDrawArrowheadFuncParams *params)
{
  gt_assert(g && g->c_class && params);
  gt_rwlock_wrlock(g->pvt->lock);
  g->c_class->draw_arrowhead(g, params->x, params->y, params->col,
                             params->arrow_status);
  gt_rwlock_unlock(g->pvt->lock);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
testq %rdi, %rdi
je 0x2e019
movq %rsi, %r14
testq %rsi, %rsi
je 0x2e019
movq %rdi, %rbx
cmpq $0x0, (%rdi)
je 0x2e019
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x15e99
movq (%rbx), %rax
movsd (%r14), %xmm0
movsd 0x8(%r14), %xmm1
movl 0x30(%r14), %esi
movups 0x10(%r14), %xmm2
movups 0x20(%r14), %xmm3
movups %xmm3, 0x10(%rsp)
movups %xmm2, (%rsp)
movq %rbx, %rdi
callq *0xb0(%rax)
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
addq $0x28, %rsp
popq %rbx
popq %r14
jmp 0x15f0a
movq 0xfff98(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x9c03c(%rip), %rsi     # 0xca066
leaq 0xa5f87(%rip), %rdx     # 0xd3fb8
leaq 0xa6077(%rip), %rcx     # 0xd40af
leaq 0xa5b35(%rip), %r8      # 0xd3b74
movl $0x288, %r9d            # imm = 0x288
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics.c
// Function: gt_graphics_draw_curve_data_p
void gt_graphics_draw_curve_data_p(GtGraphics *g,
                                   GraphicsDrawCurveFuncParams *params,
                                   double *data,
                                   GtUword rngstart,
                                   GtUword rngend,
                                   GtUword ndata,
                                   GtUword height)
{
  GtRange rng;
  gt_assert(g && g->c_class && params);
  gt_rwlock_wrlock(g->pvt->lock);
  rng.start = rngstart;
  rng.end = rngend;
  g->c_class->draw_curve(g, params->x, params->y, params->color, data,
                         ndata, rng, height);
  gt_rwlock_unlock(g->pvt->lock);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %r8, 0x20(%rsp)
testq %rdi, %rdi
je 0x2e0e8
movq %rsi, %rbp
testq %rsi, %rsi
je 0x2e0e8
movq %rdi, %rbx
cmpq $0x0, (%rdi)
je 0x2e0e8
movq %r9, %r15
movq %rcx, %r12
movq %rdx, %r13
movq 0x60(%rsp), %r14
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
callq 0x15e99
movq (%rbx), %rax
movsd (%rbp), %xmm0
movsd 0x8(%rbp), %xmm1
movups 0x10(%rbp), %xmm2
movups 0x20(%rbp), %xmm3
movups %xmm3, 0x10(%rsp)
movups %xmm2, (%rsp)
movq %rbx, %rdi
movq %r13, %rsi
movq %r15, %rdx
movq %r12, %rcx
movq 0x20(%rsp), %r8
movq %r14, %r9
callq *0xb8(%rax)
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rdi
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x15f0a
movq 0xffec9(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x9bf6d(%rip), %rsi     # 0xca066
leaq 0xa5eb8(%rip), %rdx     # 0xd3fb8
leaq 0xa5fc5(%rip), %rcx     # 0xd40cc
leaq 0xa5a66(%rip), %r8      # 0xd3b74
movl $0x29e, %r9d            # imm = 0x29E
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics_cairo.c
// Function: gt_graphics_cairo_set_font
void gt_graphics_cairo_set_font(GtGraphics *gg, const char *family,
                                FontSlant slant, FontWeight weight, double size)
{
  char buf[BUFSIZ];
  GtGraphicsCairo *g = gt_graphics_cairo_cast(gg);
  gt_assert(g && family && g->layout);

  snprintf(buf, BUFSIZ, "%s %s %s %d",
           family,
           (slant == SLANT_ITALIC) ? "Italic" : "",
           (weight == WEIGHT_BOLD) ? "Bold" : "",
           (int) size);
  g->desc = pango_font_description_from_string(buf);
  gt_assert(g->desc);
  pango_layout_set_font_description(g->layout, g->desc);
  pango_font_description_free(g->desc);
  g->font_height = (int) size;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x2018, %rsp           # imm = 0x2018
movsd %xmm0, 0x8(%rsp)
movl %ecx, %ebp
movl %edx, %r15d
movq %rsi, %r14
movq %rdi, %rbx
callq 0x2e259
movq %rax, %rdi
movq %rbx, %rsi
callq 0x2c5a1
testq %r14, %r14
je 0x2e1f9
movq %rax, %rbx
testq %rax, %rax
je 0x2e1f9
cmpq $0x0, 0x78(%rbx)
je 0x2e1f9
cmpl $0x1, %r15d
leaq 0xa6025(%rip), %r8      # 0xd419e
leaq 0xa995f(%rip), %rax     # 0xd7adf
cmovneq %rax, %r8
cmpl $0x1, %ebp
leaq 0xa6017(%rip), %r9      # 0xd41a5
cmovneq %rax, %r9
cvttsd2si 0x8(%rsp), %ebp
movl %ebp, (%rsp)
leaq 0xa5ff0(%rip), %rdx     # 0xd4192
leaq 0x10(%rsp), %r15
movl $0x2000, %esi           # imm = 0x2000
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0xba00
movq %r15, %rdi
callq 0xbb00
movq %rax, 0x80(%rbx)
testq %rax, %rax
je 0x2e223
movq 0x78(%rbx), %rdi
movq %rax, %rsi
callq 0xbc40
movq 0x80(%rbx), %rdi
callq 0xb4c0
movl %ebp, 0x88(%rbx)
addq $0x2018, %rsp           # imm = 0x2018
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq 0xffdb8(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x9be5c(%rip), %rsi     # 0xca066
leaq 0xa5f27(%rip), %rdx     # 0xd4138
leaq 0xa5f39(%rip), %rcx     # 0xd4151
leaq 0xa5f4d(%rip), %r8      # 0xd416c
pushq $0x50
jmp 0x2e24b
movq 0xffd8e(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x9be32(%rip), %rsi     # 0xca066
leaq 0xa5f6f(%rip), %rdx     # 0xd41aa
leaq 0xa5f0f(%rip), %rcx     # 0xd4151
leaq 0xa5f23(%rip), %r8      # 0xd416c
pushq $0x58
popq %r9
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics_cairo.c
// Function: str_write_func
static cairo_status_t str_write_func(void *closure, const unsigned char *data,
                                     unsigned int length)
{
  GtStr *stream = closure;
  gt_assert(stream);
  gt_str_append_cstr_nt(stream, (char*) data, length);
  return CAIRO_STATUS_SUCCESS;
}

// Assembly:
pushq %rax
testq %rdi, %rdi
je 0x2e53c
movl %edx, %edx
callq 0x13f76
xorl %eax, %eax
popq %rcx
retq
movq 0xffa75(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x9bb19(%rip), %rsi     # 0xca066
leaq 0xa60fd(%rip), %rdx     # 0xd4651
leaq 0xa61f2(%rip), %rcx     # 0xd474d
leaq 0xa5c0a(%rip), %r8      # 0xd416c
pushq $0x43
popq %r9
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics_cairo.c
// Function: gt_graphics_cairo_set_background_color
int gt_graphics_cairo_set_background_color(GtGraphics *gg, GtColor color)
{
  GtGraphicsCairo *g = gt_graphics_cairo_cast(gg);
  gt_assert(g);
  if (g->type != GT_GRAPHICS_PNG)
  {
    /* blending with a background is only supported with image output type */
    return -1;
  }
  else
  {
    g->bg_color.red = color.red;
    g->bg_color.green = color.green;
    g->bg_color.blue = color.blue;
    g->bg_color.alpha = color.alpha;
    return 0;
  }
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
callq 0x2e259
movq %rax, %rdi
movq %rbx, %rsi
callq 0x2c5a1
testq %rax, %rax
je 0x2e5ae
cmpl $0x1, 0x48(%rax)
jne 0x2e5a9
leaq 0x10(%rsp), %rcx
movups (%rcx), %xmm0
movups %xmm0, 0x20(%rax)
movups 0x10(%rcx), %xmm0
movups %xmm0, 0x30(%rax)
xorl %eax, %eax
jmp 0x2e5ac
pushq $-0x1
popq %rax
popq %rbx
retq
movq 0xffa03(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x9baa7(%rip), %rsi     # 0xca066
leaq 0xa5609(%rip), %rdx     # 0xd3bcf
leaq 0xa5cdc(%rip), %rcx     # 0xd42a9
leaq 0xa5b98(%rip), %r8      # 0xd416c
movl $0x99, %r9d
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics_cairo.c
// Function: gt_graphics_cairo_draw_text
void gt_graphics_cairo_draw_text(GtGraphics *gg, double x, double y,
                                 const char *text)
{
  PangoRectangle ink;
  GtGraphicsCairo *g = gt_graphics_cairo_cast(gg);
  gt_assert(g && text && g->layout);

  pango_layout_set_text(g->layout, text, -1);

  /* get text extents */
  pango_layout_get_pixel_extents(g->layout, &ink, NULL);

  if (gt_double_smaller_double(g->width, x+ink.width))
    return;

  cairo_set_source_rgb(g->cr, 0, 0, 0);
  cairo_move_to(g->cr, x, y-g->font_height);
  pango_cairo_show_layout(g->cr, g->layout);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rsi, %r14
movsd %xmm1, 0x10(%rsp)
movsd %xmm0, 0x8(%rsp)
movq %rdi, %rbx
callq 0x2e259
movq %rax, %rdi
movq %rbx, %rsi
callq 0x2c5a1
testq %r14, %r14
je 0x2e6b2
movq %rax, %rbx
testq %rax, %rax
je 0x2e6b2
movq 0x78(%rbx), %rdi
testq %rdi, %rdi
je 0x2e6b2
pushq $-0x1
popq %rdx
movq %r14, %rsi
callq 0xb1a0
movq 0x78(%rbx), %rdi
leaq 0x18(%rsp), %r14
movq %r14, %rsi
xorl %edx, %edx
callq 0xb3c0
movsd 0x68(%rbx), %xmm0
cvtsi2sdl 0x8(%r14), %xmm1
addsd 0x8(%rsp), %xmm1
callq 0x58dba
testb %al, %al
jne 0x2e6aa
movq 0x10(%rbx), %rdi
xorps %xmm0, %xmm0
xorpd %xmm1, %xmm1
xorps %xmm2, %xmm2
callq 0xb3e0
movq 0x10(%rbx), %rdi
cvtsi2sdl 0x88(%rbx), %xmm0
movsd 0x10(%rsp), %xmm1
subsd %xmm0, %xmm1
movsd 0x8(%rsp), %xmm0
callq 0xb240
movq 0x10(%rbx), %rdi
movq 0x78(%rbx), %rsi
callq 0xbc00
addq $0x28, %rsp
popq %rbx
popq %r14
retq
movq 0xff8ff(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x9b9a3(%rip), %rsi     # 0xca066
leaq 0xa5c06(%rip), %rdx     # 0xd42d0
leaq 0xa5c16(%rip), %rcx     # 0xd42e7
leaq 0xa5a94(%rip), %r8      # 0xd416c
movl $0xae, %r9d
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics_cairo.c
// Function: gt_graphics_cairo_draw_text_clip
void gt_graphics_cairo_draw_text_clip(GtGraphics *gg, double x, double y,
                                      const char *text)
{
  GtGraphicsCairo *g = gt_graphics_cairo_cast(gg);
  gt_assert(g && text && g->layout);

  pango_layout_set_text(g->layout, text, -1);

  cairo_save(g->cr);
  cairo_rectangle(g->cr,
                  g->margin_x,
                  g->margin_y,
                  g->width-2*g->margin_x,
                  g->height-2*g->margin_y);
  cairo_clip(g->cr);
  cairo_set_source_rgb(g->cr, 0, 0, 0);
  cairo_move_to(g->cr, x, y-g->font_height);
  pango_cairo_show_layout(g->cr, g->layout);
  cairo_restore(g->cr);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rsi, %r14
movsd %xmm1, 0x10(%rsp)
movsd %xmm0, 0x8(%rsp)
movq %rdi, %rbx
callq 0x2e259
movq %rax, %rdi
movq %rbx, %rsi
callq 0x2c5a1
testq %r14, %r14
je 0x2e7da
movq %rax, %rbx
testq %rax, %rax
je 0x2e7da
movq 0x78(%rbx), %rdi
testq %rdi, %rdi
je 0x2e7da
pushq $-0x1
popq %rdx
movq %r14, %rsi
callq 0xb1a0
movq 0x10(%rbx), %rdi
callq 0xb3d0
movq 0x10(%rbx), %rdi
movsd 0x50(%rbx), %xmm0
movsd 0x58(%rbx), %xmm1
movsd 0x68(%rbx), %xmm2
movapd %xmm0, %xmm3
addsd %xmm0, %xmm3
subsd %xmm3, %xmm2
movsd 0x60(%rbx), %xmm3
movapd %xmm1, %xmm4
addsd %xmm1, %xmm4
subsd %xmm4, %xmm3
callq 0xb2e0
movq 0x10(%rbx), %rdi
callq 0xbb40
movq 0x10(%rbx), %rdi
xorpd %xmm0, %xmm0
xorpd %xmm1, %xmm1
xorpd %xmm2, %xmm2
callq 0xb3e0
movq 0x10(%rbx), %rdi
cvtsi2sdl 0x88(%rbx), %xmm0
movsd 0x10(%rsp), %xmm1
subsd %xmm0, %xmm1
movsd 0x8(%rsp), %xmm0
callq 0xb240
movq 0x10(%rbx), %rdi
movq 0x78(%rbx), %rsi
callq 0xbc00
movq 0x10(%rbx), %rdi
addq $0x18, %rsp
popq %rbx
popq %r14
jmp 0xba40
movq 0xff7d7(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x9b87b(%rip), %rsi     # 0xca066
leaq 0xa5ade(%rip), %rdx     # 0xd42d0
leaq 0xa5b0a(%rip), %rcx     # 0xd4303
leaq 0xa596c(%rip), %r8      # 0xd416c
movl $0xc1, %r9d
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics_cairo.c
// Function: gt_graphics_cairo_draw_text_centered
void gt_graphics_cairo_draw_text_centered(GtGraphics *gg, double x, double y,
                                          const char *text)
{
  PangoRectangle ink;
  GtGraphicsCairo *g = gt_graphics_cairo_cast(gg);
  gt_assert(g && text && g->layout);

  pango_layout_set_text(g->layout, text, -1);

  /* get text extents */
  pango_layout_get_pixel_extents(g->layout, &ink, NULL);

  cairo_set_source_rgb(g->cr, 0, 0, 0);
  /* draw text w/ its center at the given coords */
  cairo_move_to(g->cr, x-(ink.width/2)-1, y-g->font_height);
  pango_cairo_show_layout(g->cr, g->layout);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rsi, %r14
movsd %xmm1, 0x10(%rsp)
movsd %xmm0, 0x8(%rsp)
movq %rdi, %rbx
callq 0x2e259
movq %rax, %rdi
movq %rbx, %rsi
callq 0x2c5a1
testq %r14, %r14
je 0x2e8dd
movq %rax, %rbx
testq %rax, %rax
je 0x2e8dd
movq 0x78(%rbx), %rdi
testq %rdi, %rdi
je 0x2e8dd
pushq $-0x1
popq %rdx
movq %r14, %rsi
callq 0xb1a0
movq 0x78(%rbx), %rdi
leaq 0x18(%rsp), %r14
movq %r14, %rsi
xorl %edx, %edx
callq 0xb3c0
movq 0x10(%rbx), %rdi
xorps %xmm0, %xmm0
xorps %xmm1, %xmm1
xorps %xmm2, %xmm2
callq 0xb3e0
movq 0x10(%rbx), %rdi
movl 0x8(%r14), %eax
pushq $0x2
popq %rcx
cltd
idivl %ecx
cvtsi2sd %eax, %xmm1
movsd 0x8(%rsp), %xmm0
subsd %xmm1, %xmm0
addsd 0xa584f(%rip), %xmm0    # 0xd4100
cvtsi2sdl 0x88(%rbx), %xmm2
movsd 0x10(%rsp), %xmm1
subsd %xmm2, %xmm1
callq 0xb240
movq 0x10(%rbx), %rdi
movq 0x78(%rbx), %rsi
callq 0xbc00
addq $0x28, %rsp
popq %rbx
popq %r14
retq
movq 0xff6d4(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x9b778(%rip), %rsi     # 0xca066
leaq 0xa59db(%rip), %rdx     # 0xd42d0
leaq 0xa5a28(%rip), %rcx     # 0xd4324
leaq 0xa5869(%rip), %r8      # 0xd416c
movl $0xd7, %r9d
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/graphics_cairo.c
// Function: gt_graphics_cairo_draw_text_right
void gt_graphics_cairo_draw_text_right(GtGraphics *gg, double x, double y,
                                       const char *text)
{
  PangoRectangle ink;
  GtGraphicsCairo *g = gt_graphics_cairo_cast(gg);
  gt_assert(g && text && g->layout);

  pango_layout_set_text(g->layout, text, -1);

  /* get text extents */
  pango_layout_get_pixel_extents(g->layout, &ink, NULL);

  cairo_set_source_rgb(g->cr, 0, 0, 0);
  /* draw text w/ its right end at the given coords */
  cairo_move_to(g->cr, x-(ink.width)-1, y-g->font_height);
  pango_cairo_show_layout(g->cr, g->layout);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rsi, %r14
movsd %xmm1, 0x10(%rsp)
movsd %xmm0, 0x8(%rsp)
movq %rdi, %rbx
callq 0x2e259
movq %rax, %rdi
movq %rbx, %rsi
callq 0x2c5a1
testq %r14, %r14
je 0x2e9d4
movq %rax, %rbx
testq %rax, %rax
je 0x2e9d4
movq 0x78(%rbx), %rdi
testq %rdi, %rdi
je 0x2e9d4
pushq $-0x1
popq %rdx
movq %r14, %rsi
callq 0xb1a0
movq 0x78(%rbx), %rdi
leaq 0x18(%rsp), %r14
movq %r14, %rsi
xorl %edx, %edx
callq 0xb3c0
movq 0x10(%rbx), %rdi
xorps %xmm0, %xmm0
xorps %xmm1, %xmm1
xorps %xmm2, %xmm2
callq 0xb3e0
cvtsi2sdl 0x8(%r14), %xmm1
movsd 0x8(%rsp), %xmm0
subsd %xmm1, %xmm0
addsd 0xa575c(%rip), %xmm0    # 0xd4100
movq 0x10(%rbx), %rdi
cvtsi2sdl 0x88(%rbx), %xmm2
movsd 0x10(%rsp), %xmm1
subsd %xmm2, %xmm1
callq 0xb240
movq 0x10(%rbx), %rdi
movq 0x78(%rbx), %rsi
callq 0xbc00
addq $0x28, %rsp
popq %rbx
popq %r14
retq
movq 0xff5dd(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x9b681(%rip), %rsi     # 0xca066
leaq 0xa58e4(%rip), %rdx     # 0xd42d0
leaq 0xa5956(%rip), %rcx     # 0xd4349
leaq 0xa5772(%rip), %r8      # 0xd416c
movl $0xe9, %r9d
xorl %eax, %eax
callq 0xb8c0
callq 0xb300