LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_minor_tick_mark
STATIC void
_chart_write_minor_tick_mark(lxw_chart *self, lxw_chart_axis *axis)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    if (!axis->minor_tick_mark)
        return;

    LXW_INIT_ATTRIBUTES();

    if (axis->minor_tick_mark == LXW_CHART_AXIS_TICK_MARK_NONE)
        LXW_PUSH_ATTRIBUTES_STR("val", "none");
    else if (axis->minor_tick_mark == LXW_CHART_AXIS_TICK_MARK_INSIDE)
        LXW_PUSH_ATTRIBUTES_STR("val", "in");
    else if (axis->minor_tick_mark == LXW_CHART_AXIS_TICK_MARK_CROSSING)
        LXW_PUSH_ATTRIBUTES_STR("val", "cross");
    else
        LXW_PUSH_ATTRIBUTES_STR("val", "out");

    lxw_xml_empty_tag(self->file, "c:minorTickMark", &attributes);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
testb %sil, %sil
je 0x1a4c7
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rdi, %r14
leaq 0x8(%rsp), %rax
movq $0x0, (%rax)
movq %rax, 0x8(%rax)
cmpb $0x4, %sil
ja 0x1a44f
movsbq %sil, %rax
leaq 0x3c8b8(%rip), %rcx     # 0x56d00
movq -0x8(%rcx,%rax,8), %rsi
jmp 0x1a456
leaq 0x2e4ef(%rip), %rsi     # 0x48945
leaq 0x26fef(%rip), %rdi     # 0x4144c
callq 0xc030
leaq 0x1040(%rax), %rcx
movq $0x0, 0x1040(%rax)
leaq 0x8(%rsp), %rbx
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x27094(%rip), %rsi     # 0x41522
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x1a4c0
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x1a4b4
movq %rbx, 0x10(%rsp)
callq 0xc0c0
movq 0x8(%rsp), %rdi
jmp 0x1a499
addq $0x18, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_tick_label_pos
STATIC void
_chart_write_tick_label_pos(lxw_chart *self, lxw_chart_axis *axis)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();

    if (axis->label_position == LXW_CHART_AXIS_LABEL_POSITION_HIGH)
        LXW_PUSH_ATTRIBUTES_STR("val", "high");
    else if (axis->label_position == LXW_CHART_AXIS_LABEL_POSITION_LOW)
        LXW_PUSH_ATTRIBUTES_STR("val", "low");
    else if (axis->label_position == LXW_CHART_AXIS_LABEL_POSITION_NONE)
        LXW_PUSH_ATTRIBUTES_STR("val", "none");
    else
        LXW_PUSH_ATTRIBUTES_STR("val", "nextTo");

    lxw_xml_empty_tag(self->file, "c:tickLblPos", &attributes);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rdi, %r14
leaq 0x8(%rsp), %rax
movq $0x0, (%rax)
movq %rax, 0x8(%rax)
decb %sil
cmpb $0x2, %sil
ja 0x1a4ff
movzbl %sil, %eax
leaq 0x25f8e(%rip), %rcx     # 0x40484
movslq (%rcx,%rax,4), %rsi
addq %rcx, %rsi
jmp 0x1a506
leaq 0x27031(%rip), %rsi     # 0x41537
leaq 0x26f3f(%rip), %rdi     # 0x4144c
callq 0xc030
leaq 0x1040(%rax), %rcx
movq $0x0, 0x1040(%rax)
leaq 0x8(%rsp), %rbx
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x27000(%rip), %rsi     # 0x4153e
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x1a570
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x1a564
movq %rbx, 0x10(%rsp)
callq 0xc0c0
movq 0x8(%rsp), %rdi
jmp 0x1a549
addq $0x18, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_axis_font
STATIC void
_chart_write_axis_font(lxw_chart *self, lxw_chart_font *font)
{
    if (!font)
        return;

    lxw_xml_start_tag(self->file, "c:txPr", NULL);

    /* Write the a:bodyPr element. */
    _chart_write_a_body_pr(self, font->rotation, LXW_FALSE);

    /* Write the a:lstStyle element. */
    _chart_write_a_lst_style(self);

    lxw_xml_start_tag(self->file, "a:p", NULL);

    /* Write the a:pPr element. */
    _chart_write_a_p_pr_rich(self, font);

    /* Write the a:endParaRPr element. */
    _chart_write_a_end_para_rpr(self);

    lxw_xml_end_tag(self->file, "a:p");
    lxw_xml_end_tag(self->file, "c:txPr");
}

// Assembly:
testq %rsi, %rsi
je 0x1a60a
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r15
movq %rdi, %rbx
movq (%rdi), %rdi
leaq 0x26d0f(%rip), %r14     # 0x412a8
movq %r14, %rsi
xorl %edx, %edx
callq 0xc350
movl 0x14(%r15), %esi
movq %rbx, %rdi
xorl %edx, %edx
callq 0x190ed
movq (%rbx), %rdi
leaq 0x26c4b(%rip), %rsi     # 0x41206
xorl %edx, %edx
callq 0xcc00
movq (%rbx), %rdi
leaq 0x26c45(%rip), %r12     # 0x41211
movq %r12, %rsi
xorl %edx, %edx
callq 0xc350
movq %rbx, %rdi
movq %r15, %rsi
callq 0x19228
movq %rbx, %rdi
callq 0x19731
movq (%rbx), %rdi
movq %r12, %rsi
callq 0xc060
movq (%rbx), %rdi
movq %r14, %rsi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0xc060
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_cross_axis
STATIC void
_chart_write_cross_axis(lxw_chart *self, uint32_t axis_id)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_INT("val", axis_id);

    lxw_xml_empty_tag(self->file, "c:crossAx", &attributes);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %r14
xorl %r15d, %r15d
movq %rsp, %rbx
movq %r15, (%rbx)
movq %rbx, 0x8(%rbx)
movl %esi, %esi
leaq 0x26e1f(%rip), %rdi     # 0x4144c
callq 0xc180
leaq 0x1040(%rax), %rcx
movq %r15, 0x1040(%rax)
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x26ef6(%rip), %rsi     # 0x4154b
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x1a685
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x1a67a
movq %rbx, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x1a660
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_crosses
STATIC void
_chart_write_crosses(lxw_chart *self, lxw_chart_axis *axis)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();

    if (axis->crossing_min)
        LXW_PUSH_ATTRIBUTES_STR("val", "min");
    else if (axis->crossing_max)
        LXW_PUSH_ATTRIBUTES_STR("val", "max");
    else
        LXW_PUSH_ATTRIBUTES_STR("val", "autoZero");

    lxw_xml_empty_tag(self->file, "c:crosses", &attributes);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rdi, %r14
leaq 0x8(%rsp), %rax
movq $0x0, (%rax)
movq %rax, 0x8(%rax)
cmpb $0x0, 0xf9(%rsi)
je 0x1a6bb
leaq 0x26e25(%rip), %rsi     # 0x414de
jmp 0x1a6d4
cmpb $0x0, 0xfa(%rsi)
leaq 0x26e8c(%rip), %rax     # 0x41555
leaq 0x26e08(%rip), %rsi     # 0x414d8
cmoveq %rax, %rsi
leaq 0x26d71(%rip), %rdi     # 0x4144c
callq 0xc030
leaq 0x1040(%rax), %rcx
movq $0x0, 0x1040(%rax)
leaq 0x8(%rsp), %rbx
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x26e52(%rip), %rsi     # 0x4155e
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x1a73e
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x1a732
movq %rbx, 0x10(%rsp)
callq 0xc0c0
movq 0x8(%rsp), %rdi
jmp 0x1a717
addq $0x18, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_crosses_at
STATIC void
_chart_write_crosses_at(lxw_chart *self, lxw_chart_axis *axis)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();

    LXW_PUSH_ATTRIBUTES_DBL("val", axis->crossing);

    lxw_xml_empty_tag(self->file, "c:crossesAt", &attributes);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %r14
xorl %r15d, %r15d
movq %rsp, %rbx
movq %r15, (%rbx)
movq %rbx, 0x8(%rbx)
leaq 0x26ce6(%rip), %rdi     # 0x4144c
callq 0xcc80
leaq 0x1040(%rax), %rcx
movq %r15, 0x1040(%rax)
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x26dda(%rip), %rsi     # 0x41568
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x1a7be
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x1a7b3
movq %rbx, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x1a799
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_number_format
STATIC void
_chart_write_number_format(lxw_chart *self, lxw_chart_axis *axis)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;
    char *num_format;
    uint8_t source_linked = 1;

    /* Set the number format to the axis default if not set. */
    if (axis->num_format)
        num_format = axis->num_format;
    else
        num_format = axis->default_num_format;

    /* Check if a user defined number format has been set. */
    if (strcmp(num_format, axis->default_num_format))
        source_linked = 0;

    /* Allow override of sourceLinked. */
    if (axis->source_linked)
        source_linked = 1;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_STR("formatCode", num_format);
    LXW_PUSH_ATTRIBUTES_INT("sourceLinked", source_linked);

    lxw_xml_empty_tag(self->file, "c:numFmt", &attributes);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x10, %rsp
movq %rsi, %rbx
movq %rdi, %r14
movq 0x50(%rsi), %r15
movq 0x58(%rsi), %rsi
testq %r15, %r15
cmoveq %rsi, %r15
movq %r15, %rdi
callq 0xc800
testl %eax, %eax
sete %al
cmpb $0x0, 0x60(%rbx)
setne %cl
orb %al, %cl
movzbl %cl, %r12d
xorl %r13d, %r13d
movq %rsp, %rbx
movq %r13, (%rbx)
movq %rbx, 0x8(%rbx)
leaq 0x26c54(%rip), %rdi     # 0x4146c
movq %r15, %rsi
callq 0xc030
movl $0x1040, %r15d          # imm = 0x1040
leaq (%rax,%r15), %rcx
movq %r13, 0x1040(%rax)
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
leaq 0x26a4f(%rip), %rdi     # 0x41292
movq %r12, %rsi
callq 0xc180
addq %rax, %r15
movq %r13, 0x1040(%rax)
movq 0x8(%rbx), %rcx
movq %rax, (%rcx)
movq %r15, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x26a35(%rip), %rsi     # 0x4129f
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x1a89a
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x1a88f
movq %rbx, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x1a875
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_cross_between
STATIC void
_chart_write_cross_between(lxw_chart *self, uint8_t position)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    if (!position)
        position = self->default_cross_between;

    LXW_INIT_ATTRIBUTES();

    if (position == LXW_CHART_AXIS_POSITION_ON_TICK)
        LXW_PUSH_ATTRIBUTES_STR("val", "midCat");
    else
        LXW_PUSH_ATTRIBUTES_STR("val", "between");

    lxw_xml_empty_tag(self->file, "c:crossBetween", &attributes);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %r14
testl %esi, %esi
jne 0x1a8bf
movb 0xa9(%r14), %sil
xorl %r15d, %r15d
movq %rsp, %rbx
movq %r15, (%rbx)
movq %rbx, 0x8(%rbx)
cmpb $0x1, %sil
leaq 0x26ce3(%rip), %rax     # 0x415ba
leaq 0x26ce3(%rip), %rsi     # 0x415c1
cmoveq %rax, %rsi
leaq 0x26b63(%rip), %rdi     # 0x4144c
callq 0xc030
leaq 0x1040(%rax), %rcx
movq %r15, 0x1040(%rax)
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x26cb8(%rip), %rsi     # 0x415c9
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x1a941
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x1a936
movq %rbx, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x1a91c
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_major_unit
STATIC void
_chart_write_major_unit(lxw_chart *self, lxw_chart_axis *axis)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    if (!axis->has_major_unit)
        return;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_DBL("val", axis->major_unit);

    lxw_xml_empty_tag(self->file, "c:majorUnit", &attributes);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
cmpb $0x0, 0xd0(%rsi)
je 0x1a9e1
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %r14
xorl %r15d, %r15d
movq %rsp, %rbx
movq %r15, (%rbx)
movq %rbx, 0x8(%rbx)
movsd 0xd8(%rsi), %xmm0
leaq 0x26acc(%rip), %rdi     # 0x4144c
callq 0xcc80
leaq 0x1040(%rax), %rcx
movq %r15, 0x1040(%rax)
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x26c30(%rip), %rsi     # 0x415d8
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x1a9d8
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x1a9cd
movq %rbx, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x1a9b3
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_minor_unit
STATIC void
_chart_write_minor_unit(lxw_chart *self, lxw_chart_axis *axis)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    if (!axis->has_minor_unit)
        return;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_DBL("val", axis->minor_unit);

    lxw_xml_empty_tag(self->file, "c:minorUnit", &attributes);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
cmpb $0x0, 0xe0(%rsi)
je 0x1aa78
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %r14
xorl %r15d, %r15d
movq %rsp, %rbx
movq %r15, (%rbx)
movq %rbx, 0x8(%rbx)
movsd 0xe8(%rsi), %xmm0
leaq 0x26a35(%rip), %rdi     # 0x4144c
callq 0xcc80
leaq 0x1040(%rax), %rcx
movq %r15, 0x1040(%rax)
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x26ba5(%rip), %rsi     # 0x415e4
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x1aa6f
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x1aa64
movq %rbx, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x1aa4a
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_bar_chart
STATIC void
_chart_write_bar_chart(lxw_chart *self)
{
    lxw_chart_series *series;

    lxw_xml_start_tag(self->file, "c:barChart", NULL);

    /* Write the c:barDir element. */
    _chart_write_bar_dir(self, "bar");

    /* Write the c:grouping element. */
    _chart_write_grouping(self, self->grouping);

    STAILQ_FOREACH(series, self->series_list, list_pointers) {
        /* Write the c:ser element. */
        _chart_write_ser(self, series);
    }

    /* Write the c:gapWidth element. */
    _chart_write_gap_width(self, self->gap_y1);

    /* Write the c:overlap element. */
    _chart_write_overlap(self, self->overlap_y1);

    /* Write the c:axId elements. */
    _chart_write_axis_ids(self);

    lxw_xml_end_tag(self->file, "c:barChart");
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq (%rdi), %rdi
leaq 0x26b24(%rip), %rsi     # 0x416c6
xorl %edx, %edx
callq 0xc350
leaq 0x26b21(%rip), %rsi     # 0x416d1
movq %rbx, %rdi
callq 0x1ac26
movzbl 0xa8(%rbx), %esi
movq %rbx, %rdi
callq 0x17483
movq 0x128(%rbx), %rax
movq (%rax), %r14
testq %r14, %r14
je 0x1abea
movq %rbx, %rdi
movq %r14, %rsi
callq 0x17533
movq 0x110(%r14), %r14
jmp 0x1abd1
movzwl 0xa4(%rbx), %esi
movq %rbx, %rdi
callq 0x1aca8
movsbl 0xa2(%rbx), %esi
movq %rbx, %rdi
callq 0x1ad39
movq %rbx, %rdi
callq 0x1777a
movq (%rbx), %rdi
leaq 0x26aac(%rip), %rsi     # 0x416c6
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xc060
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_bar_dir
STATIC void
_chart_write_bar_dir(lxw_chart *self, char *type)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_STR("val", type);

    lxw_xml_empty_tag(self->file, "c:barDir", &attributes);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %r14
xorl %r15d, %r15d
movq %rsp, %rbx
movq %r15, (%rbx)
movq %rbx, 0x8(%rbx)
leaq 0x26806(%rip), %rdi     # 0x4144c
callq 0xc030
leaq 0x1040(%rax), %rcx
movq %r15, 0x1040(%rax)
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x26a67(%rip), %rsi     # 0x416d5
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x1ac9e
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x1ac93
movq %rbx, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x1ac79
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_gap_width
STATIC void
_chart_write_gap_width(lxw_chart *self, uint16_t gap)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    if (gap == LXW_CHART_DEFAULT_GAP)
        return;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_INT("val", gap);

    lxw_xml_empty_tag(self->file, "c:gapWidth", &attributes);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
cmpl $0x1f5, %esi            # imm = 0x1F5
je 0x1ad38
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %r14
xorl %r15d, %r15d
movq %rsp, %rbx
movq %r15, (%rbx)
movq %rbx, 0x8(%rbx)
movzwl %si, %esi
leaq 0x26775(%rip), %rdi     # 0x4144c
callq 0xc180
leaq 0x1040(%rax), %rcx
movq %r15, 0x1040(%rax)
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x269df(%rip), %rsi     # 0x416de
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x1ad2f
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x1ad24
movq %rbx, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x1ad0a
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_overlap
STATIC void
_chart_write_overlap(lxw_chart *self, int8_t overlap)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    if (!overlap)
        return;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_INT("val", overlap);

    lxw_xml_empty_tag(self->file, "c:overlap", &attributes);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
testb %sil, %sil
je 0x1adc7
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %r14
xorl %r15d, %r15d
movq %rsp, %rbx
movq %r15, (%rbx)
movq %rbx, 0x8(%rbx)
movsbq %sil, %rsi
leaq 0x266e6(%rip), %rdi     # 0x4144c
callq 0xc180
leaq 0x1040(%rax), %rcx
movq %r15, 0x1040(%rax)
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x2695b(%rip), %rsi     # 0x416e9
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x1adbe
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x1adb3
movq %rbx, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x1ad99
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_column_chart
STATIC void
_chart_write_column_chart(lxw_chart *self)
{
    lxw_chart_series *series;

    lxw_xml_start_tag(self->file, "c:barChart", NULL);

    /* Write the c:barDir element. */
    _chart_write_bar_dir(self, "col");

    /* Write the c:grouping element. */
    _chart_write_grouping(self, self->grouping);

    STAILQ_FOREACH(series, self->series_list, list_pointers) {
        /* Write the c:ser element. */
        _chart_write_ser(self, series);
    }

    /* Write the c:gapWidth element. */
    _chart_write_gap_width(self, self->gap_y1);

    /* Write the c:overlap element. */
    _chart_write_overlap(self, self->overlap_y1);

    /* Write the c:axId elements. */
    _chart_write_axis_ids(self);

    lxw_xml_end_tag(self->file, "c:barChart");
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq (%rdi), %rdi
leaq 0x268ed(%rip), %rsi     # 0x416c6
xorl %edx, %edx
callq 0xc350
leaq 0x27927(%rip), %rsi     # 0x4270e
movq %rbx, %rdi
callq 0x1ac26
movzbl 0xa8(%rbx), %esi
movq %rbx, %rdi
callq 0x17483
movq 0x128(%rbx), %rax
movq (%rax), %r14
testq %r14, %r14
je 0x1ae21
movq %rbx, %rdi
movq %r14, %rsi
callq 0x17533
movq 0x110(%r14), %r14
jmp 0x1ae08
movzwl 0xa4(%rbx), %esi
movq %rbx, %rdi
callq 0x1aca8
movsbl 0xa2(%rbx), %esi
movq %rbx, %rdi
callq 0x1ad39
movq %rbx, %rdi
callq 0x1777a
movq (%rbx), %rdi
leaq 0x26875(%rip), %rsi     # 0x416c6
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xc060
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_doughnut_chart
STATIC void
_chart_write_doughnut_chart(lxw_chart *self)
{
    lxw_chart_series *series;

    lxw_xml_start_tag(self->file, "c:doughnutChart", NULL);

    /* Write the c:varyColors element. */
    _chart_write_vary_colors(self);

    STAILQ_FOREACH(series, self->series_list, list_pointers) {
        /* Write the c:ser element. */
        _chart_write_ser(self, series);
    }

    /* Write the c:firstSliceAng element. */
    _chart_write_first_slice_ang(self);

    /* Write the c:holeSize element. */
    _chart_write_hole_size(self);

    lxw_xml_end_tag(self->file, "c:doughnutChart");
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
movq (%rdi), %rdi
leaq 0x26880(%rip), %rsi     # 0x416f3
xorl %edx, %edx
callq 0xc350
movq %rbx, %rdi
callq 0x1af97
movq 0x128(%rbx), %rax
movq (%rax), %r14
movq %rbx, %rdi
testq %r14, %r14
je 0x1aea5
movq %r14, %rsi
callq 0x17533
movq 0x110(%r14), %r14
jmp 0x1ae8c
callq 0x1b020
xorl %r15d, %r15d
movq %rsp, %r14
movq %r15, (%r14)
movq %r14, 0x8(%r14)
movzwl 0x9e(%rbx), %esi
leaq 0x26587(%rip), %rdi     # 0x4144c
callq 0xc180
leaq 0x1040(%rax), %rcx
movq %r15, 0x1040(%rax)
movq 0x8(%r14), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r14)
movq (%rbx), %rdi
leaq 0x26833(%rip), %rsi     # 0x41720
movq %r14, %rdx
callq 0xcc00
movq (%r14), %rdi
testq %rdi, %rdi
je 0x1af1d
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x1af12
movq %r14, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x1aef8
movq (%rbx), %rdi
leaq 0x267cc(%rip), %rsi     # 0x416f3
callq 0xc060
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_pie_plot_area
STATIC void
_chart_write_pie_plot_area(lxw_chart *self)
{
    lxw_xml_start_tag(self->file, "c:plotArea", NULL);

    /* Write the c:layout element. */
    _chart_write_layout(self);

    /* Write subclass chart type elements for primary and secondary axes. */
    self->write_chart_type(self);

    /* Write the c:spPr element for the plotarea formatting. */
    _chart_write_sp_pr(self, self->plotarea_line, self->plotarea_fill,
                       self->plotarea_pattern);

    lxw_xml_end_tag(self->file, "c:plotArea");
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq (%rdi), %rdi
leaq 0x2654c(%rip), %r14     # 0x41493
movq %r14, %rsi
xorl %edx, %edx
callq 0xc350
movq (%rbx), %rdi
leaq 0x26271(%rip), %rsi     # 0x411cc
xorl %edx, %edx
callq 0xcc00
movq %rbx, %rdi
callq *0x10(%rbx)
movq 0xf0(%rbx), %rsi
movq 0xf8(%rbx), %rdx
movq 0x100(%rbx), %rcx
movq %rbx, %rdi
callq 0x1520f
movq (%rbx), %rdi
movq %r14, %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xc060
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_vary_colors
STATIC void
_chart_write_vary_colors(lxw_chart *self)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_STR("val", "1");

    lxw_xml_empty_tag(self->file, "c:varyColors", &attributes);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %r14
xorl %r15d, %r15d
movq %rsp, %rbx
movq %r15, (%rbx)
movq %rbx, 0x8(%rbx)
leaq 0x26495(%rip), %rdi     # 0x4144c
leaq 0x2a78a(%rip), %rsi     # 0x45748
callq 0xc030
leaq 0x1040(%rax), %rcx
movq %r15, 0x1040(%rax)
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x2671d(%rip), %rsi     # 0x41703
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x1b016
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x1b00b
movq %rbx, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x1aff1
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_first_slice_ang
STATIC void
_chart_write_first_slice_ang(lxw_chart *self)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_INT("val", self->rotation);

    lxw_xml_empty_tag(self->file, "c:firstSliceAng", &attributes);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %r14
xorl %r15d, %r15d
movq %rsp, %rbx
movq %r15, (%rbx)
movq %rbx, 0x8(%rbx)
movzwl 0x9c(%rdi), %esi
leaq 0x26405(%rip), %rdi     # 0x4144c
callq 0xc180
leaq 0x1040(%rax), %rcx
movq %r15, 0x1040(%rax)
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x266a1(%rip), %rsi     # 0x41710
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x1b09f
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x1b094
movq %rbx, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x1b07a
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_set_default_marker_type
STATIC void
_chart_set_default_marker_type(lxw_chart *self, uint8_t type)
{
    if (!self->default_marker) {
        lxw_chart_marker *marker = calloc(1, sizeof(struct lxw_chart_marker));
        RETURN_VOID_ON_MEM_ERROR(marker);
        self->default_marker = marker;
    }

    self->default_marker->type = type;
}

// Assembly:
pushq %rbx
movq 0xd0(%rdi), %rax
testq %rax, %rax
jne 0x1b0d4
movq %rdi, %rbx
movl $0x1, %edi
movl $0x20, %esi
callq 0xc7f0
testq %rax, %rax
je 0x1b0d9
movq %rax, 0xd0(%rbx)
movb $0x1, (%rax)
popq %rbx
retq
callq 0xd7cb
jmp 0x1b0d7
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_pie_chart
STATIC void
_chart_write_pie_chart(lxw_chart *self)
{
    lxw_chart_series *series;

    lxw_xml_start_tag(self->file, "c:pieChart", NULL);

    /* Write the c:varyColors element. */
    _chart_write_vary_colors(self);

    STAILQ_FOREACH(series, self->series_list, list_pointers) {
        /* Write the c:ser element. */
        _chart_write_ser(self, series);
    }

    /* Write the c:firstSliceAng element. */
    _chart_write_first_slice_ang(self);

    lxw_xml_end_tag(self->file, "c:pieChart");
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq (%rdi), %rdi
leaq 0x2644b(%rip), %rsi     # 0x41765
xorl %edx, %edx
callq 0xc350
movq %rbx, %rdi
callq 0x1af97
movq 0x128(%rbx), %rax
movq (%rax), %r14
movq %rbx, %rdi
testq %r14, %r14
je 0x1b34c
movq %r14, %rsi
callq 0x17533
movq 0x110(%r14), %r14
jmp 0x1b333
callq 0x1b020
movq (%rbx), %rdi
leaq 0x2640a(%rip), %rsi     # 0x41765
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xc060
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_radar_chart
STATIC void
_chart_write_radar_chart(lxw_chart *self)
{
    lxw_chart_series *series;

    lxw_xml_start_tag(self->file, "c:radarChart", NULL);

    /* Write the c:radarStyle element. */
    _chart_write_radar_style(self);

    STAILQ_FOREACH(series, self->series_list, list_pointers) {
        /* Write the c:ser element. */
        _chart_write_ser(self, series);
    }

    /* Write the c:axId elements. */
    _chart_write_axis_ids(self);

    lxw_xml_end_tag(self->file, "c:radarChart");
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
movq (%rdi), %rdi
leaq 0x25fb6(%rip), %rsi     # 0x417b4
xorl %r15d, %r15d
xorl %edx, %edx
callq 0xc350
movq %rsp, %r14
movq %r15, (%r14)
movq %r14, 0x8(%r14)
cmpb $0x16, 0x8(%rbx)
leaq 0x25fa4(%rip), %rax     # 0x417c1
leaq 0x2591d(%rip), %rsi     # 0x41141
cmoveq %rax, %rsi
leaq 0x25c1d(%rip), %rdi     # 0x4144c
callq 0xc030
leaq 0x1040(%rax), %rcx
movq %r15, 0x1040(%rax)
movq 0x8(%r14), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r14)
movq (%rbx), %rdi
leaq 0x25f71(%rip), %rsi     # 0x417c8
movq %r14, %rdx
callq 0xcc00
movq (%r14), %rdi
testq %rdi, %rdi
je 0x1b887
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x1b87c
movq %r14, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x1b862
movq 0x128(%rbx), %rax
movq (%rax), %r14
movq %rbx, %rdi
testq %r14, %r14
je 0x1b8aa
movq %r14, %rsi
callq 0x17533
movq 0x110(%r14), %r14
jmp 0x1b891
callq 0x1777a
movq (%rbx), %rdi
leaq 0x25efb(%rip), %rsi     # 0x417b4
callq 0xc060
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_overlay
STATIC void
_chart_write_overlay(lxw_chart *self)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_STR("val", "1");

    lxw_xml_empty_tag(self->file, "c:overlay", &attributes);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %r14
xorl %r15d, %r15d
movq %rsp, %rbx
movq %r15, (%rbx)
movq %rbx, 0x8(%rbx)
leaq 0x25b64(%rip), %rdi     # 0x4144c
leaq 0x29e59(%rip), %rsi     # 0x45748
callq 0xc030
leaq 0x1040(%rax), %rcx
movq %r15, 0x1040(%rax)
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x25f30(%rip), %rsi     # 0x41847
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x1b947
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x1b93c
movq %rbx, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x1b922
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chartsheet.c
// Function: lxw_chartsheet_new
lxw_chartsheet *
lxw_chartsheet_new(lxw_worksheet_init_data *init_data)
{
    lxw_chartsheet *chartsheet = calloc(1, sizeof(lxw_chartsheet));
    GOTO_LABEL_ON_MEM_ERROR(chartsheet, mem_error);

    /* Use an embedded worksheet instance to write XML records that are
     * shared with worksheet.c. */
    chartsheet->worksheet = lxw_worksheet_new(NULL);
    GOTO_LABEL_ON_MEM_ERROR(chartsheet->worksheet, mem_error);

    if (init_data) {
        chartsheet->name = init_data->name;
        chartsheet->quoted_name = init_data->quoted_name;
        chartsheet->tmpdir = init_data->tmpdir;
        chartsheet->index = init_data->index;
        chartsheet->hidden = init_data->hidden;
        chartsheet->active_sheet = init_data->active_sheet;
        chartsheet->first_sheet = init_data->first_sheet;
    }

    chartsheet->worksheet->is_chartsheet = LXW_TRUE;
    chartsheet->worksheet->zoom_scale_normal = LXW_FALSE;
    chartsheet->worksheet->orientation = LXW_LANDSCAPE;

    return chartsheet;

mem_error:
    lxw_chartsheet_free(chartsheet);
    return NULL;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %r14
movl $0x1, %edi
movl $0x78, %esi
callq 0xc7f0
testq %rax, %rax
je 0x1b9d0
movq %rax, %rbx
xorl %edi, %edi
callq 0xc9e0
movq %rax, 0x8(%rbx)
testq %rax, %rax
je 0x1b9d7
testq %r14, %r14
je 0x1b9b0
movups 0x20(%r14), %xmm0
movups %xmm0, 0x38(%rbx)
movq 0x30(%r14), %rcx
movq %rcx, 0x48(%rbx)
movzwl (%r14), %ecx
movw %cx, 0x50(%rbx)
movb 0x2(%r14), %cl
movb %cl, 0x54(%rbx)
movups 0x8(%r14), %xmm0
movups %xmm0, 0x58(%rbx)
movb $0x1, 0xe8(%rax)
xorl %ecx, %ecx
movb %cl, 0x14e(%rax)
movb %cl, 0x13d(%rax)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
callq 0xd81e
jmp 0x1b9df
movq %rbx, %rdi
callq 0xd7ef
xorl %ebx, %ebx
jmp 0x1b9c5
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chartsheet.c
// Function: lxw_chartsheet_free
void
lxw_chartsheet_free(lxw_chartsheet *chartsheet)
{
    if (!chartsheet)
        return;

    lxw_worksheet_free(chartsheet->worksheet);
    free((void *) chartsheet->name);
    free((void *) chartsheet->quoted_name);
    free(chartsheet);
}

// Assembly:
testq %rdi, %rdi
je 0x1ba10
pushq %rbx
movq %rdi, %rbx
movq 0x8(%rdi), %rdi
callq 0xcdb0
movq 0x38(%rbx), %rdi
callq 0xc0c0
movq 0x40(%rbx), %rdi
callq 0xc0c0
movq %rbx, %rdi
popq %rbx
jmp 0xc0c0
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chartsheet.c
// Function: lxw_chartsheet_assemble_xml_file
void
lxw_chartsheet_assemble_xml_file(lxw_chartsheet *self)
{
    /* Set the embedded worksheet filehandle to the same as the chartsheet. */
    self->worksheet->file = self->file;

    /* Write the XML declaration. */
    _chartsheet_xml_declaration(self);

    /* Write the chartsheet element. */
    _chartsheet_write_chartsheet(self);

    /* Write the sheetPr element. */
    _chartsheet_write_sheet_pr(self);

    /* Write the sheetViews element. */
    _chartsheet_write_sheet_views(self);

    /* Write the sheetProtection element. */
    _chartsheet_write_sheet_protection(self);

    /* Write the pageMargins element. */
    _chartsheet_write_page_margins(self);

    /* Write the chartsheet page setup. */
    _chartsheet_write_page_setup(self);

    /* Write the headerFooter element. */
    _chartsheet_write_header_footer(self);

    /* Write the drawing element. */
    _chartsheet_write_drawings(self);

    lxw_xml_end_tag(self->file, "chartsheet");
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa0, %rsp
movq %rdi, %rbx
movq (%rdi), %rdi
movq 0x8(%rbx), %rax
movq %rdi, (%rax)
callq 0xcf30
movups 0x263f0(%rip), %xmm0    # 0x41e2a
leaq 0x10(%rsp), %rax
movups %xmm0, 0x2a(%rax)
movaps 0x263d6(%rip), %xmm0    # 0x41e20
movaps %xmm0, 0x20(%rax)
movaps 0x263bb(%rip), %xmm0    # 0x41e10
movaps %xmm0, 0x10(%rax)
movaps 0x263a0(%rip), %xmm0    # 0x41e00
movaps %xmm0, (%rax)
leaq 0x26186(%rip), %rsi     # 0x41bf0
leaq 0x50(%rsp), %r15
movl $0x8, %ecx
movq %r15, %rdi
rep  movsq (%rsi), %es:(%rdi)
movl $0x737069, 0x40(%r15)   # imm = 0x737069
xorl %r12d, %r12d
movq %rsp, %r14
movq %r12, (%r14)
movq %r14, 0x8(%r14)
leaq 0x2467b(%rip), %rdi     # 0x40111
movq %rax, %rsi
callq 0xc030
movl $0x1040, %r13d          # imm = 0x1040
leaq (%rax,%r13), %rcx
movq %r12, 0x1040(%rax)
movq 0x8(%r14), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r14)
leaq 0x25d24(%rip), %rdi     # 0x417e5
movq %r15, %rsi
callq 0xc030
addq %rax, %r13
movq %r12, 0x1040(%rax)
movq 0x8(%r14), %rcx
movq %rax, (%rcx)
movq %r13, 0x8(%r14)
movq (%rbx), %rdi
leaq 0x27468(%rip), %rsi     # 0x42f50
movq %r14, %rdx
callq 0xc350
movq (%r14), %rdi
testq %rdi, %rdi
je 0x1bb18
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x1bb0d
movq %r14, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x1baf3
movq 0x8(%rbx), %rdi
callq 0xc270
movq 0x8(%rbx), %rdi
callq 0xc540
movq 0x8(%rbx), %rdi
leaq 0x18(%rbx), %rsi
callq 0xc810
movq 0x8(%rbx), %rdi
callq 0xc140
movq 0x8(%rbx), %rdi
callq 0xc4f0
movq 0x8(%rbx), %rdi
callq 0xcbb0
movq 0x8(%rbx), %rdi
callq 0xd040
movq (%rbx), %rdi
leaq 0x273eb(%rip), %rsi     # 0x42f50
callq 0xc060
addq $0xa0, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chartsheet.c
// Function: chartsheet_protect
void
chartsheet_protect(lxw_chartsheet *self, const char *password,
                   lxw_protection *options)
{
    struct lxw_protection_obj *protect = &self->protection;

    /* Copy any user parameters to the internal structure. */
    if (options) {
        protect->objects = options->no_objects;
        protect->no_content = options->no_content;
    }
    else {
        protect->objects = LXW_FALSE;
        protect->no_content = LXW_FALSE;
    }

    if (password) {
        uint16_t hash = lxw_hash_password(password);
        lxw_snprintf(protect->hash, 5, "%X", hash);
    }
    else {
        if (protect->objects && protect->no_content)
            return;
    }

    protect->no_sheet = LXW_TRUE;
    protect->scenarios = LXW_TRUE;
    protect->is_configured = LXW_TRUE;

    if (self->chart)
        self->chart->is_protected = LXW_TRUE;
    else
        self->is_protected = LXW_TRUE;
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
testq %rdx, %rdx
je 0x1bd71
movb 0xf(%rdx), %al
movb 0x10(%rdx), %cl
movb %cl, 0x26(%rbx)
movb %al, 0x27(%rbx)
testq %rsi, %rsi
jne 0x1bd7c
testb %cl, %cl
sete %cl
testb %al, %al
sete %al
orb %cl, %al
cmpb $0x1, %al
je 0x1bd9e
jmp 0x1bdbe
movw $0x0, 0x26(%rbx)
testq %rsi, %rsi
je 0x1bd9e
movq %rsi, %rdi
callq 0xc840
leaq 0x2b(%rbx), %rdi
movzwl %ax, %ecx
leaq 0x26011(%rip), %rdx     # 0x41da3
movl $0x5, %esi
xorl %eax, %eax
callq 0xc570
movw $0x101, 0x29(%rbx)      # imm = 0x101
movb $0x1, 0x25(%rbx)
movq 0x10(%rbx), %rax
testq %rax, %rax
je 0x1bdba
movb $0x1, 0x169(%rax)
jmp 0x1bdbe
movb $0x1, 0x30(%rbx)
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/comment.c
// Function: lxw_comment_new
lxw_comment *
lxw_comment_new(void)
{
    lxw_comment *comment = calloc(1, sizeof(lxw_comment));
    GOTO_LABEL_ON_MEM_ERROR(comment, mem_error);

    comment->author_ids = calloc(1, sizeof(struct lxw_author_ids));
    GOTO_LABEL_ON_MEM_ERROR(comment->author_ids, mem_error);
    RB_INIT(comment->author_ids);

    return comment;

mem_error:
    lxw_comment_free(comment);
    return NULL;
}

// Assembly:
pushq %rbx
movl $0x1, %edi
movl $0x28, %esi
callq 0xc7f0
testq %rax, %rax
je 0x1be69
movq %rax, %rbx
movl $0x1, %edi
movl $0x8, %esi
callq 0xc7f0
movq %rax, 0x10(%rbx)
testq %rax, %rax
je 0x1be70
movq %rbx, %rax
popq %rbx
retq
callq 0xd91f
jmp 0x1be78
movq %rbx, %rdi
callq 0xd8f0
xorl %ebx, %ebx
jmp 0x1be64
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/content_types.c
// Function: lxw_content_types_new
lxw_content_types *
lxw_content_types_new(void)
{
    lxw_content_types *content_types = calloc(1, sizeof(lxw_content_types));
    GOTO_LABEL_ON_MEM_ERROR(content_types, mem_error);

    content_types->default_types = calloc(1, sizeof(struct lxw_tuples));
    GOTO_LABEL_ON_MEM_ERROR(content_types->default_types, mem_error);
    STAILQ_INIT(content_types->default_types);

    content_types->overrides = calloc(1, sizeof(struct lxw_tuples));
    GOTO_LABEL_ON_MEM_ERROR(content_types->overrides, mem_error);
    STAILQ_INIT(content_types->overrides);

    lxw_ct_add_default(content_types, "rels",
                       LXW_APP_PACKAGE "relationships+xml");
    lxw_ct_add_default(content_types, "xml", "application/xml");

    lxw_ct_add_override(content_types, "/docProps/app.xml",
                        LXW_APP_DOCUMENT "extended-properties+xml");
    lxw_ct_add_override(content_types, "/docProps/core.xml",
                        LXW_APP_PACKAGE "core-properties+xml");
    lxw_ct_add_override(content_types, "/xl/styles.xml",
                        LXW_APP_DOCUMENT "spreadsheetml.styles+xml");
    lxw_ct_add_override(content_types, "/xl/theme/theme1.xml",
                        LXW_APP_DOCUMENT "theme+xml");

    return content_types;

mem_error:
    lxw_content_types_free(content_types);
    return NULL;
}

// Assembly:
pushq %rbx
movl $0x1, %edi
movl $0x18, %esi
callq 0xc7f0
movq %rax, %rbx
testq %rax, %rax
je 0x1cc51
movl $0x1, %edi
movl $0x10, %esi
callq 0xc7f0
movq %rax, 0x8(%rbx)
testq %rax, %rax
je 0x1cc58
movq %rax, 0x8(%rax)
movl $0x1, %edi
movl $0x10, %esi
callq 0xc7f0
movq %rax, 0x10(%rbx)
testq %rax, %rax
je 0x1cc5f
movq %rax, 0x8(%rax)
leaq 0x2637b(%rip), %rsi     # 0x42f4a
leaq 0x252ce(%rip), %rdx     # 0x41ea4
movq %rbx, %rdi
callq 0xc490
leaq 0x2579e(%rip), %rsi     # 0x42383
leaq 0x252f1(%rip), %rdx     # 0x41edd
movq %rbx, %rdi
callq 0xc490
leaq 0x252f2(%rip), %rsi     # 0x41eed
leaq 0x252fd(%rip), %rdx     # 0x41eff
movq %rbx, %rdi
callq 0xcca0
leaq 0x25334(%rip), %rsi     # 0x41f45
leaq 0x25340(%rip), %rdx     # 0x41f58
movq %rbx, %rdi
callq 0xcca0
leaq 0x2536c(%rip), %rsi     # 0x41f93
leaq 0x25374(%rip), %rdx     # 0x41fa2
movq %rbx, %rdi
callq 0xcca0
leaq 0x253ac(%rip), %rsi     # 0x41fe9
leaq 0x253ba(%rip), %rdx     # 0x41ffe
movq %rbx, %rdi
callq 0xcca0
movq %rbx, %rax
popq %rbx
retq
movl $0x1f, %edi
jmp 0x1cc64
movl $0x22, %edi
jmp 0x1cc64
movl $0x26, %edi
movq %rbx, %rsi
callq 0xd941
xorl %ebx, %ebx
jmp 0x1cc4c
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/content_types.c
// Function: lxw_ct_add_default
void
lxw_ct_add_default(lxw_content_types *self, const char *key,
                   const char *value)
{
    lxw_tuple *tuple;

    if (!key || !value)
        return;

    tuple = calloc(1, sizeof(lxw_tuple));
    GOTO_LABEL_ON_MEM_ERROR(tuple, mem_error);

    tuple->key = lxw_strdup(key);
    GOTO_LABEL_ON_MEM_ERROR(tuple->key, mem_error);

    tuple->value = lxw_strdup(value);
    GOTO_LABEL_ON_MEM_ERROR(tuple->value, mem_error);

    STAILQ_INSERT_TAIL(self->default_types, tuple, list_pointers);

    return;

mem_error:
    if (tuple) {
        free(tuple->key);
        free(tuple->value);
        free(tuple);
    }
}

// Assembly:
testq %rsi, %rsi
sete %al
testq %rdx, %rdx
sete %cl
orb %al, %cl
jne 0x1ccf1
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %r15
movq %rsi, %r12
movq %rdi, %rbx
movl $0x1, %edi
movl $0x18, %esi
callq 0xc7f0
testq %rax, %rax
je 0x1ccf2
movq %rax, %r14
movq %r12, %rdi
callq 0xcce0
movq %rax, %r12
movq %rax, (%r14)
testq %rax, %rax
je 0x1ccf9
movq %r15, %rdi
callq 0xcce0
movq %rax, 0x8(%r14)
testq %rax, %rax
je 0x1cd00
movq %r14, %rax
addq $0x10, %rax
movq 0x8(%rbx), %rcx
movq 0x8(%rcx), %rcx
movq %r14, (%rcx)
movq 0x8(%rbx), %rcx
movq %rax, 0x8(%rcx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
callq 0xd9b1
jmp 0x1cce6
movl $0xed, %edi
jmp 0x1cd05
movl $0xf0, %edi
movq %r12, %rsi
movq %r14, %rdx
callq 0xd96f
jmp 0x1cce6
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/content_types.c
// Function: lxw_content_types_free
void
lxw_content_types_free(lxw_content_types *content_types)
{
    lxw_tuple *default_type;
    lxw_tuple *override;

    if (!content_types)
        return;

    if (content_types->default_types) {
        while (!STAILQ_EMPTY(content_types->default_types)) {
            default_type = STAILQ_FIRST(content_types->default_types);
            STAILQ_REMOVE_HEAD(content_types->default_types, list_pointers);
            free(default_type->key);
            free(default_type->value);
            free(default_type);
        }
        free(content_types->default_types);
    }

    if (content_types->overrides) {
        while (!STAILQ_EMPTY(content_types->overrides)) {
            override = STAILQ_FIRST(content_types->overrides);
            STAILQ_REMOVE_HEAD(content_types->overrides, list_pointers);
            free(override->key);
            free(override->value);
            free(override);
        }
        free(content_types->overrides);
    }

    free(content_types);
}

// Assembly:
testq %rdi, %rdi
je 0x1ce5d
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x8(%rdi), %rdi
testq %rdi, %rdi
jne 0x1cdfc
jmp 0x1ce09
movq 0x10(%r14), %rax
movq %rax, (%rdi)
testq %rax, %rax
jne 0x1cddf
movq %rdi, 0x8(%rdi)
movq (%r14), %rdi
callq 0xc0c0
movq 0x8(%r14), %rdi
callq 0xc0c0
movq %r14, %rdi
callq 0xc0c0
movq 0x8(%rbx), %rdi
movq (%rdi), %r14
testq %r14, %r14
jne 0x1cdcf
callq 0xc0c0
movq 0x10(%rbx), %rdi
testq %rdi, %rdi
jne 0x1ce41
jmp 0x1ce4e
movq 0x10(%r14), %rax
movq %rax, (%rdi)
testq %rax, %rax
jne 0x1ce24
movq %rdi, 0x8(%rdi)
movq (%r14), %rdi
callq 0xc0c0
movq 0x8(%r14), %rdi
callq 0xc0c0
movq %r14, %rdi
callq 0xc0c0
movq 0x10(%rbx), %rdi
movq (%rdi), %r14
testq %r14, %r14
jne 0x1ce14
callq 0xc0c0
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xc0c0
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/content_types.c
// Function: lxw_content_types_assemble_xml_file
void
lxw_content_types_assemble_xml_file(lxw_content_types *self)
{
    /* Write the XML declaration. */
    _content_types_xml_declaration(self);

    _write_types(self);
    _write_defaults(self);
    _write_overrides(self);

    /* Close the content_types tag. */
    lxw_xml_end_tag(self->file, "Types");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
movq (%rdi), %rdi
callq 0xcf30
xorl %r15d, %r15d
leaq 0x8(%rsp), %r14
movq %r15, (%r14)
movq %r14, 0x8(%r14)
leaq 0x23284(%rip), %rdi     # 0x40111
leaq 0x254f3(%rip), %rsi     # 0x42387
callq 0xc030
leaq 0x1040(%rax), %rcx
movq %r15, 0x1040(%rax)
movq 0x8(%r14), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r14)
movq (%rbx), %rdi
leaq 0x25c27(%rip), %rsi     # 0x42ae3
movq %r14, %rdx
callq 0xc350
movq (%r14), %rdi
testq %rdi, %rdi
je 0x1ceee
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x1cee2
movq %r14, 0x10(%rsp)
callq 0xc0c0
movq 0x8(%rsp), %rdi
jmp 0x1cec7
movq 0x8(%rbx), %rax
movq (%rax), %r15
testq %r15, %r15
je 0x1cfa9
xorl %r12d, %r12d
movl $0x1040, %r13d          # imm = 0x1040
movq (%r15), %rsi
movq 0x8(%r15), %rbp
movq %r12, 0x8(%rsp)
movq %r14, 0x10(%rsp)
leaq 0x254a5(%rip), %rdi     # 0x423c4
callq 0xc030
leaq (%rax,%r13), %rcx
movq %r12, 0x1040(%rax)
movq 0x10(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x10(%rsp)
leaq 0x2548b(%rip), %rdi     # 0x423ce
movq %rbp, %rsi
callq 0xc030
leaq (%rax,%r13), %rcx
movq %r12, 0x1040(%rax)
movq 0x10(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x10(%rsp)
movq (%rbx), %rdi
leaq 0x2546d(%rip), %rsi     # 0x423da
movq %r14, %rdx
callq 0xcc00
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x1cf9c
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x1cf95
movq %r14, 0x10(%rsp)
callq 0xc0c0
jmp 0x1cf75
movq 0x10(%r15), %r15
testq %r15, %r15
jne 0x1cf07
movq 0x10(%rbx), %rax
movq (%rax), %r15
testq %r15, %r15
je 0x1d064
xorl %r12d, %r12d
movl $0x1040, %r13d          # imm = 0x1040
movq (%r15), %rsi
movq 0x8(%r15), %rbp
movq %r12, 0x8(%rsp)
movq %r14, 0x10(%rsp)
leaq 0x25408(%rip), %rdi     # 0x423e2
callq 0xc030
leaq (%rax,%r13), %rcx
movq %r12, 0x1040(%rax)
movq 0x10(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x10(%rsp)
leaq 0x253d0(%rip), %rdi     # 0x423ce
movq %rbp, %rsi
callq 0xc030
leaq (%rax,%r13), %rcx
movq %r12, 0x1040(%rax)
movq 0x10(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x10(%rsp)
movq (%rbx), %rdi
leaq 0x253c3(%rip), %rsi     # 0x423eb
movq %r14, %rdx
callq 0xcc00
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x1d057
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x1d050
movq %r14, 0x10(%rsp)
callq 0xc0c0
jmp 0x1d030
movq 0x10(%r15), %r15
testq %r15, %r15
jne 0x1cfc2
movq (%rbx), %rdi
leaq 0x25a75(%rip), %rsi     # 0x42ae3
callq 0xc060
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/core.c
// Function: datetime_to_iso8601_date
static void
_datetime_to_iso8601_date(time_t *timer, char *str, size_t size)
{
    struct tm *tmp_datetime;
    time_t current_time = time(NULL);

    if (*timer)
        tmp_datetime = gmtime(timer);
    else
        tmp_datetime = gmtime(&current_time);

    strftime(str, size - 1, "%Y-%m-%dT%H:%M:%SZ", tmp_datetime);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
xorl %edi, %edi
callq 0xc9b0
movq %rax, (%rsp)
cmpq $0x0, (%r14)
je 0x1d4d9
movq %r14, %rdi
jmp 0x1d4dc
movq %rsp, %rdi
callq 0xce10
leaq 0x2509c(%rip), %rdx     # 0x42584
movl $0x1f, %esi
movq %rbx, %rdi
movq %rax, %rcx
callq 0xccb0
addq $0x8, %rsp
popq %rbx
popq %r14
retq