LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O2/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_major_gridlines
STATIC void
_chart_write_major_gridlines(lxw_chart *self, lxw_chart_axis *axis)
{
    if (!axis->major_gridlines.visible)
        return;

    if (axis->major_gridlines.line) {
        lxw_xml_start_tag(self->file, "c:majorGridlines", NULL);

        /* Write the c:spPr element for the axis line. */
        _chart_write_sp_pr(self, axis->major_gridlines.line, NULL, NULL);

        lxw_xml_end_tag(self->file, "c:majorGridlines");
    }
    else {
        lxw_xml_empty_tag(self->file, "c:majorGridlines", NULL);
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
cmpb $0x0, 0x68(%rsi)
je 0x1724e
movq %rsi, %r14
movq %rdi, %rbx
cmpq $0x0, 0x70(%rsi)
movq (%rdi), %rdi
je 0x17254
leaq 0x272c6(%rip), %r15     # 0x3e4ea
movq %r15, %rsi
xorl %edx, %edx
callq 0xc380
movq 0x70(%r14), %rsi
movq %rbx, %rdi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x1201b
movq (%rbx), %rdi
movq %r15, %rsi
popq %rbx
popq %r14
popq %r15
jmp 0xc060
popq %rbx
popq %r14
popq %r15
retq
leaq 0x2728f(%rip), %rsi     # 0x3e4ea
xorl %edx, %edx
popq %rbx
popq %r14
popq %r15
jmp 0xcc70
// File: /workspace/github_c_makefile_star2_O2/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_minor_gridlines
STATIC void
_chart_write_minor_gridlines(lxw_chart *self, lxw_chart_axis *axis)
{
    if (!axis->minor_gridlines.visible)
        return;

    if (axis->minor_gridlines.line) {
        lxw_xml_start_tag(self->file, "c:minorGridlines", NULL);

        /* Write the c:spPr element for the axis line. */
        _chart_write_sp_pr(self, axis->minor_gridlines.line, NULL, NULL);

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

    }
    else {
        lxw_xml_empty_tag(self->file, "c:minorGridlines", NULL);
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
cmpb $0x0, 0x78(%rsi)
je 0x172b9
movq %rsi, %r14
movq %rdi, %rbx
cmpq $0x0, 0x80(%rsi)
movq (%rdi), %rdi
je 0x172bf
leaq 0x2726f(%rip), %r15     # 0x3e4fb
movq %r15, %rsi
xorl %edx, %edx
callq 0xc380
movq 0x80(%r14), %rsi
movq %rbx, %rdi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x1201b
movq (%rbx), %rdi
movq %r15, %rsi
popq %rbx
popq %r14
popq %r15
jmp 0xc060
popq %rbx
popq %r14
popq %r15
retq
leaq 0x27235(%rip), %rsi     # 0x3e4fb
xorl %edx, %edx
popq %rbx
popq %r14
popq %r15
jmp 0xcc70
// File: /workspace/github_c_makefile_star2_O2/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_title
STATIC void
_chart_write_title(lxw_chart *self, lxw_chart_title *title)
{
    if (title->name) {
        /* Write the c:title element. */
        _chart_write_title_rich(self, title);
    }
    else if (title->range->formula) {
        /* Write the c:title element. */
        _chart_write_title_formula(self, title);
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rsi, %r14
movq %rdi, %rbx
cmpq $0x0, (%rsi)
je 0x1733f
movq (%rbx), %rdi
leaq 0x28221(%rip), %rsi     # 0x3f511
xorl %edx, %edx
callq 0xc380
movzbl 0x19(%r14), %ebp
movq (%r14), %r15
movq 0x10(%r14), %r14
movq (%rbx), %rdi
leaq 0x26dfc(%rip), %r12     # 0x3e109
movq %r12, %rsi
xorl %edx, %edx
callq 0xc380
movq %rbx, %rdi
movq %r15, %rsi
movq %r14, %rdx
movl %ebp, %ecx
xorl %r8d, %r8d
callq 0x15dc3
movq (%rbx), %rdi
movq %r12, %rsi
callq 0xc060
movq %rbx, %rdi
callq 0x16d3e
jmp 0x1737e
movq 0x20(%r14), %rax
cmpq $0x0, (%rax)
je 0x17395
movq (%rbx), %rdi
leaq 0x281be(%rip), %rsi     # 0x3f511
xorl %edx, %edx
callq 0xc380
movq %rbx, %rdi
movq %r14, %rsi
callq 0x15772
movq %rbx, %rdi
callq 0x16d3e
movzbl 0x19(%r14), %esi
movq 0x10(%r14), %rdx
movq %rbx, %rdi
callq 0x159ee
movq (%rbx), %rdi
leaq 0x28189(%rip), %rsi     # 0x3f511
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0xc060
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_major_tick_mark
STATIC void
_chart_write_major_tick_mark(lxw_chart *self, lxw_chart_axis *axis)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    if (!axis->major_tick_mark)
        return;

    LXW_INIT_ATTRIBUTES();

    if (axis->major_tick_mark == LXW_CHART_AXIS_TICK_MARK_NONE)
        LXW_PUSH_ATTRIBUTES_STR("val", "none");
    else if (axis->major_tick_mark == LXW_CHART_AXIS_TICK_MARK_INSIDE)
        LXW_PUSH_ATTRIBUTES_STR("val", "in");
    else if (axis->major_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:majorTickMark", &attributes);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
movsbq 0x61(%rsi), %rax
testq %rax, %rax
je 0x17444
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rdi, %r14
leaq 0x8(%rsp), %rbx
andq $0x0, (%rbx)
movq %rbx, 0x8(%rbx)
cmpb $0x4, %al
ja 0x173d5
leaq 0x3b932(%rip), %rcx     # 0x52d00
movq -0x8(%rcx,%rax,8), %rsi
jmp 0x173dc
leaq 0x2e555(%rip), %rsi     # 0x45931
leaq 0x27069(%rip), %rdi     # 0x3e44c
callq 0xc030
leaq 0x1040(%rax), %rcx
andq $0x0, 0x1040(%rax)
movq 0x10(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x10(%rsp)
movq (%r14), %rdi
leaq 0x27104(%rip), %rsi     # 0x3e512
movq %rbx, %rdx
callq 0xcc70
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x1743d
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x17436
movq %rbx, 0x10(%rsp)
callq 0xc0d0
jmp 0x17416
addq $0x18, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/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:
movsbq 0x62(%rsi), %rax
testq %rax, %rax
je 0x174eb
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rdi, %r14
leaq 0x8(%rsp), %rbx
andq $0x0, (%rbx)
movq %rbx, 0x8(%rbx)
cmpb $0x4, %al
ja 0x1747c
leaq 0x3b88b(%rip), %rcx     # 0x52d00
movq -0x8(%rcx,%rax,8), %rsi
jmp 0x17483
leaq 0x2e4ae(%rip), %rsi     # 0x45931
leaq 0x26fc2(%rip), %rdi     # 0x3e44c
callq 0xc030
leaq 0x1040(%rax), %rcx
andq $0x0, 0x1040(%rax)
movq 0x10(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x10(%rsp)
movq (%r14), %rdi
leaq 0x2706d(%rip), %rsi     # 0x3e522
movq %rbx, %rdx
callq 0xcc70
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x174e4
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x174dd
movq %rbx, 0x10(%rsp)
callq 0xc0d0
jmp 0x174bd
addq $0x18, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/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), %rbx
andq $0x0, (%rbx)
movq %rbx, 0x8(%rbx)
movb 0xad(%rsi), %al
decb %al
cmpb $0x2, %al
ja 0x17522
movzbl %al, %eax
leaq 0x25f6b(%rip), %rcx     # 0x3d484
movslq (%rcx,%rax,4), %rsi
addq %rcx, %rsi
jmp 0x17529
leaq 0x2700e(%rip), %rsi     # 0x3e537
leaq 0x26f1c(%rip), %rdi     # 0x3e44c
callq 0xc030
leaq 0x1040(%rax), %rcx
andq $0x0, 0x1040(%rax)
movq 0x10(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x10(%rsp)
movq (%r14), %rdi
leaq 0x26fe3(%rip), %rsi     # 0x3e53e
movq %rbx, %rdx
callq 0xcc70
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x1758a
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x17583
movq %rbx, 0x10(%rsp)
callq 0xc0d0
jmp 0x17563
addq $0x18, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/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 0x1761b
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r15
movq %rdi, %rbx
movq (%rdi), %rdi
leaq 0x26cf5(%rip), %r14     # 0x3e2a8
movq %r14, %rsi
xorl %edx, %edx
callq 0xc380
movl 0x14(%r15), %esi
movq %rbx, %rdi
xorl %edx, %edx
callq 0x161bd
movq %rbx, %rdi
callq 0x162e7
movq (%rbx), %rdi
leaq 0x26c34(%rip), %r12     # 0x3e211
movq %r12, %rsi
xorl %edx, %edx
callq 0xc380
movq %rbx, %rdi
movq %r15, %rsi
callq 0x162f8
movq %rbx, %rdi
callq 0x167d6
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_O2/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 %r14
pushq %rbx
subq $0x18, %rsp
leaq 0x8(%rsp), %rbx
andq $0x0, (%rbx)
movq %rdi, %r14
movq %rbx, 0x8(%rbx)
movl %esi, %esi
leaq 0x26e10(%rip), %rdi     # 0x3e44c
callq 0xc1a0
leaq 0x1040(%rax), %rcx
andq $0x0, 0x1040(%rax)
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x26ee6(%rip), %rsi     # 0x3e54b
movq %rbx, %rdx
callq 0xcc70
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x17694
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x1768d
movq %rbx, 0x10(%rsp)
callq 0xc0d0
jmp 0x1766d
addq $0x18, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/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
leaq 0x8(%rsp), %rbx
andq $0x0, (%rbx)
movq %rdi, %r14
movq %rbx, 0x8(%rbx)
cmpb $0x0, 0xf9(%rsi)
je 0x176c5
leaq 0x26e1b(%rip), %rsi     # 0x3e4de
jmp 0x176de
cmpb $0x0, 0xfa(%rsi)
leaq 0x26e82(%rip), %rax     # 0x3e555
leaq 0x26dfe(%rip), %rsi     # 0x3e4d8
cmoveq %rax, %rsi
leaq 0x26d67(%rip), %rdi     # 0x3e44c
callq 0xc030
leaq 0x1040(%rax), %rcx
andq $0x0, 0x1040(%rax)
movq 0x10(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x10(%rsp)
movq (%r14), %rdi
leaq 0x26e4e(%rip), %rsi     # 0x3e55e
movq %rbx, %rdx
callq 0xcc70
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x1773f
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x17738
movq %rbx, 0x10(%rsp)
callq 0xc0d0
jmp 0x17718
addq $0x18, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/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 %r14
pushq %rbx
subq $0x18, %rsp
leaq 0x8(%rsp), %rbx
andq $0x0, (%rbx)
movq %rdi, %r14
movq %rbx, 0x8(%rbx)
movsd 0x100(%rsi), %xmm0
leaq 0x26cdf(%rip), %rdi     # 0x3e44c
callq 0xccf0
leaq 0x1040(%rax), %rcx
andq $0x0, 0x1040(%rax)
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x26dd2(%rip), %rsi     # 0x3e568
movq %rbx, %rdx
callq 0xcc70
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x177c5
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x177be
movq %rbx, 0x10(%rsp)
callq 0xc0d0
jmp 0x1779e
addq $0x18, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/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 %r12
pushq %rbx
subq $0x18, %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 0xc860
testl %eax, %eax
sete %al
cmpb $0x0, 0x60(%rbx)
setne %cl
orb %al, %cl
movzbl %cl, %r12d
leaq 0x8(%rsp), %rbx
andq $0x0, (%rbx)
movq %rbx, 0x8(%rbx)
leaq 0x26c51(%rip), %rdi     # 0x3e46c
movq %r15, %rsi
callq 0xc030
movl $0x1040, %r15d          # imm = 0x1040
andq $0x0, 0x1040(%rax)
leaq (%rax,%r15), %rcx
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
leaq 0x26a4b(%rip), %rdi     # 0x3e292
movq %r12, %rsi
callq 0xc1a0
addq %rax, %r15
andq $0x0, 0x1040(%rax)
movq 0x8(%rbx), %rcx
movq %rax, (%rcx)
movq %r15, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x26a30(%rip), %rsi     # 0x3e29f
movq %rbx, %rdx
callq 0xcc70
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x1789e
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x17897
movq %rbx, 0x10(%rsp)
callq 0xc0d0
jmp 0x17877
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/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 %r14
pushq %rbx
subq $0x18, %rsp
movq %rdi, %r14
testl %esi, %esi
jne 0x178bf
movb 0xa9(%r14), %sil
leaq 0x8(%rsp), %rbx
andq $0x0, (%rbx)
movq %rbx, 0x8(%rbx)
cmpb $0x1, %sil
leaq 0x26ce3(%rip), %rax     # 0x3e5ba
leaq 0x26ce3(%rip), %rsi     # 0x3e5c1
cmoveq %rax, %rsi
leaq 0x26b63(%rip), %rdi     # 0x3e44c
callq 0xc030
leaq 0x1040(%rax), %rcx
andq $0x0, 0x1040(%rax)
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x26cb7(%rip), %rsi     # 0x3e5c9
movq %rbx, %rdx
callq 0xcc70
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x17941
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x1793a
movq %rbx, 0x10(%rsp)
callq 0xc0d0
jmp 0x1791a
addq $0x18, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/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 0x179db
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rdi, %r14
leaq 0x8(%rsp), %rbx
andq $0x0, (%rbx)
movq %rbx, 0x8(%rbx)
movsd 0xd8(%rsi), %xmm0
leaq 0x26ad0(%rip), %rdi     # 0x3e44c
callq 0xccf0
leaq 0x1040(%rax), %rcx
andq $0x0, 0x1040(%rax)
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x26c33(%rip), %rsi     # 0x3e5d8
movq %rbx, %rdx
callq 0xcc70
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x179d4
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x179cd
movq %rbx, 0x10(%rsp)
callq 0xc0d0
jmp 0x179ad
addq $0x18, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/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 0x17a6e
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rdi, %r14
leaq 0x8(%rsp), %rbx
andq $0x0, (%rbx)
movq %rbx, 0x8(%rbx)
movsd 0xe8(%rsi), %xmm0
leaq 0x26a3d(%rip), %rdi     # 0x3e44c
callq 0xccf0
leaq 0x1040(%rax), %rcx
andq $0x0, 0x1040(%rax)
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x26bac(%rip), %rsi     # 0x3e5e4
movq %rbx, %rdx
callq 0xcc70
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x17a67
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x17a60
movq %rbx, 0x10(%rsp)
callq 0xc0d0
jmp 0x17a40
addq $0x18, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/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 0x26b34(%rip), %rsi     # 0x3e6c6
xorl %edx, %edx
callq 0xc380
leaq 0x26b31(%rip), %rsi     # 0x3e6d1
movq %rbx, %rdi
callq 0x17c16
movzbl 0xa8(%rbx), %esi
movq %rbx, %rdi
callq 0x145da
movq 0x128(%rbx), %r14
movq (%r14), %r14
testq %r14, %r14
je 0x17bda
movq %rbx, %rdi
movq %r14, %rsi
callq 0x1467e
addq $0x110, %r14            # imm = 0x110
jmp 0x17bbe
movzwl 0xa4(%rbx), %esi
movq %rbx, %rdi
callq 0x17c94
movsbl 0xa2(%rbx), %esi
movq %rbx, %rdi
callq 0x17d21
movq %rbx, %rdi
callq 0x148ae
movq (%rbx), %rdi
leaq 0x26abc(%rip), %rsi     # 0x3e6c6
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xc060
// File: /workspace/github_c_makefile_star2_O2/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 %r14
pushq %rbx
subq $0x18, %rsp
movq %rdi, %r14
leaq 0x8(%rsp), %rbx
andq $0x0, (%rbx)
movq %rbx, 0x8(%rbx)
leaq 0x26818(%rip), %rdi     # 0x3e44c
callq 0xc030
leaq 0x1040(%rax), %rcx
andq $0x0, 0x1040(%rax)
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x26a78(%rip), %rsi     # 0x3e6d5
movq %rbx, %rdx
callq 0xcc70
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x17c8c
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x17c85
movq %rbx, 0x10(%rsp)
callq 0xc0d0
jmp 0x17c65
addq $0x18, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/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 0x17d20
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rdi, %r14
leaq 0x8(%rsp), %rbx
andq $0x0, (%rbx)
movq %rbx, 0x8(%rbx)
movzwl %si, %esi
leaq 0x2678b(%rip), %rdi     # 0x3e44c
callq 0xc1a0
leaq 0x1040(%rax), %rcx
andq $0x0, 0x1040(%rax)
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x269f4(%rip), %rsi     # 0x3e6de
movq %rbx, %rdx
callq 0xcc70
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x17d19
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x17d12
movq %rbx, 0x10(%rsp)
callq 0xc0d0
jmp 0x17cf2
addq $0x18, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/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 0x17dab
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rdi, %r14
leaq 0x8(%rsp), %rbx
andq $0x0, (%rbx)
movq %rbx, 0x8(%rbx)
movsbq %sil, %rsi
leaq 0x26700(%rip), %rdi     # 0x3e44c
callq 0xc1a0
leaq 0x1040(%rax), %rcx
andq $0x0, 0x1040(%rax)
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x26974(%rip), %rsi     # 0x3e6e9
movq %rbx, %rdx
callq 0xcc70
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x17da4
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x17d9d
movq %rbx, 0x10(%rsp)
callq 0xc0d0
jmp 0x17d7d
addq $0x18, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/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 0x26909(%rip), %rsi     # 0x3e6c6
xorl %edx, %edx
callq 0xc380
leaq 0x27943(%rip), %rsi     # 0x3f70e
movq %rbx, %rdi
callq 0x17c16
movzbl 0xa8(%rbx), %esi
movq %rbx, %rdi
callq 0x145da
movq 0x128(%rbx), %r14
movq (%r14), %r14
testq %r14, %r14
je 0x17e05
movq %rbx, %rdi
movq %r14, %rsi
callq 0x1467e
addq $0x110, %r14            # imm = 0x110
jmp 0x17de9
movzwl 0xa4(%rbx), %esi
movq %rbx, %rdi
callq 0x17c94
movsbl 0xa2(%rbx), %esi
movq %rbx, %rdi
callq 0x17d21
movq %rbx, %rdi
callq 0x148ae
movq (%rbx), %rdi
leaq 0x26891(%rip), %rsi     # 0x3e6c6
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xc060
// File: /workspace/github_c_makefile_star2_O2/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 %r14
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
movq (%rdi), %rdi
leaq 0x2689e(%rip), %rsi     # 0x3e6f3
xorl %edx, %edx
callq 0xc380
movq %rbx, %rdi
callq 0x17f6e
movq 0x128(%rbx), %r14
movq (%r14), %r14
movq %rbx, %rdi
testq %r14, %r14
je 0x17e87
movq %r14, %rsi
callq 0x1467e
addq $0x110, %r14            # imm = 0x110
jmp 0x17e6b
callq 0x17ff3
leaq 0x8(%rsp), %r14
andq $0x0, (%r14)
movq %r14, 0x8(%r14)
movzwl 0x9e(%rbx), %esi
leaq 0x265a5(%rip), %rdi     # 0x3e44c
callq 0xc1a0
leaq 0x1040(%rax), %rcx
andq $0x0, 0x1040(%rax)
movq 0x8(%r14), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r14)
movq (%rbx), %rdi
leaq 0x26850(%rip), %rsi     # 0x3e720
movq %r14, %rdx
callq 0xcc70
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x17eff
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x17ef8
movq %r14, 0x10(%rsp)
callq 0xc0d0
jmp 0x17ed8
movq (%rbx), %rdi
leaq 0x267ea(%rip), %rsi     # 0x3e6f3
callq 0xc060
addq $0x18, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/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 0x2656c(%rip), %r14     # 0x3e493
movq %r14, %rsi
xorl %edx, %edx
callq 0xc380
movq %rbx, %rdi
callq 0x16d3e
movq %rbx, %rdi
callq *0x10(%rbx)
movq 0xf0(%rbx), %rsi
movq 0xf8(%rbx), %rdx
movq 0x100(%rbx), %rcx
movq %rbx, %rdi
callq 0x1201b
movq (%rbx), %rdi
movq %r14, %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xc060
// File: /workspace/github_c_makefile_star2_O2/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 %r14
pushq %rbx
subq $0x18, %rsp
movq %rdi, %r14
leaq 0x8(%rsp), %rbx
andq $0x0, (%rbx)
movq %rbx, 0x8(%rbx)
leaq 0x264c0(%rip), %rdi     # 0x3e44c
leaq 0x2a7b5(%rip), %rsi     # 0x42748
callq 0xc030
leaq 0x1040(%rax), %rcx
andq $0x0, 0x1040(%rax)
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x26747(%rip), %rsi     # 0x3e703
movq %rbx, %rdx
callq 0xcc70
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x17feb
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x17fe4
movq %rbx, 0x10(%rsp)
callq 0xc0d0
jmp 0x17fc4
addq $0x18, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/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 %r14
pushq %rbx
subq $0x18, %rsp
leaq 0x8(%rsp), %rbx
andq $0x0, (%rbx)
movq %rdi, %r14
movq %rbx, 0x8(%rbx)
movzwl 0x9c(%rdi), %esi
leaq 0x26434(%rip), %rdi     # 0x3e44c
callq 0xc1a0
leaq 0x1040(%rax), %rcx
andq $0x0, 0x1040(%rax)
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x266cf(%rip), %rsi     # 0x3e710
movq %rbx, %rdx
callq 0xcc70
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x18070
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x18069
movq %rbx, 0x10(%rsp)
callq 0xc0d0
jmp 0x18049
addq $0x18, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/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 0x1809f
movq %rdi, %rbx
pushq $0x1
popq %rdi
pushq $0x20
popq %rsi
callq 0xc850
testq %rax, %rax
je 0x180a4
movq %rax, 0xd0(%rbx)
movb $0x1, (%rax)
popq %rbx
retq
movq 0x3af4d(%rip), %rax     # 0x52ff8
movq (%rax), %rdi
leaq 0x2502b(%rip), %rsi     # 0x3d0e0
leaq 0x25420(%rip), %rdx     # 0x3d4dc
movl $0x1cb, %ecx            # imm = 0x1CB
xorl %eax, %eax
popq %rbx
jmp 0xc8d0
// File: /workspace/github_c_makefile_star2_O2/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 0x26466(%rip), %rsi     # 0x3e765
xorl %edx, %edx
callq 0xc380
movq %rbx, %rdi
callq 0x17f6e
movq 0x128(%rbx), %r14
movq (%r14), %r14
movq %rbx, %rdi
testq %r14, %r14
je 0x18331
movq %r14, %rsi
callq 0x1467e
addq $0x110, %r14            # imm = 0x110
jmp 0x18315
callq 0x17ff3
movq (%rbx), %rdi
leaq 0x26425(%rip), %rsi     # 0x3e765
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xc060
// File: /workspace/github_c_makefile_star2_O2/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_scatter_plot_area
STATIC void
_chart_write_scatter_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);

    /* Reverse the opposite axis position if crossing position is "max". */
    _chart_adjust_max_crossing(self);

    /* Write the c:catAx element. */
    _chart_write_cat_val_axis(self);

    self->has_horiz_val_axis = LXW_TRUE;

    /* Write the c:valAx element. */
    _chart_write_val_axis(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 %rbx
movq %rdi, %rbx
movq (%rdi), %rdi
leaq 0x25f22(%rip), %rsi     # 0x3e493
xorl %edx, %edx
callq 0xc380
movq %rbx, %rdi
callq 0x16d3e
movq %rbx, %rdi
callq *0x10(%rbx)
movq %rbx, %rdi
callq 0x16d4f
movq (%rbx), %rdi
leaq 0x2601a(%rip), %rsi     # 0x3e5b2
xorl %edx, %edx
callq 0xc380
movl 0x84(%rbx), %esi
movq %rbx, %rdi
callq 0x16cbe
movq 0x20(%rbx), %rax
movzbl 0xb0(%rax), %esi
movzbl 0xb1(%rax), %edx
movzbl 0xc0(%rax), %ecx
movsd 0xb8(%rax), %xmm0
movsd 0xc8(%rax), %xmm1
movzwl 0xf4(%rax), %r8d
movq %rbx, %rdi
callq 0x16f1e
movq 0x20(%rbx), %rax
cmpb $0x0, 0xaf(%rax)
je 0x185ff
movq %rbx, %rdi
callq 0x15cd8
movq 0x20(%rbx), %rax
movzbl 0xab(%rax), %esi
movq 0x28(%rbx), %rax
movzbl 0xb0(%rax), %edx
movq %rbx, %rdi
callq 0x17159
movq 0x20(%rbx), %rsi
movq %rbx, %rdi
callq 0x17202
movq 0x20(%rbx), %rsi
movq %rbx, %rdi
callq 0x17267
movb 0x99(%rbx), %al
movq 0x20(%rbx), %rsi
movb %al, 0x19(%rsi)
movq %rbx, %rdi
callq 0x172d2
movq 0x20(%rbx), %rsi
movq %rbx, %rdi
callq 0x177cd
movq 0x20(%rbx), %rsi
movq %rbx, %rdi
callq 0x1739e
movq 0x20(%rbx), %rsi
movq %rbx, %rdi
callq 0x17445
movq 0x20(%rbx), %rsi
movq %rbx, %rdi
callq 0x174ec
movq 0x20(%rbx), %rax
movq 0x90(%rax), %rsi
movq 0x98(%rax), %rdx
movq 0xa0(%rax), %rcx
movq %rbx, %rdi
callq 0x1201b
movq 0x20(%rbx), %rax
movq 0x88(%rax), %rsi
movq %rbx, %rdi
callq 0x17592
movl 0x88(%rbx), %esi
movq %rbx, %rdi
callq 0x1761c
movq 0x28(%rbx), %rsi
cmpb $0x0, 0xf8(%rsi)
je 0x186db
cmpb $0x0, 0xf9(%rsi)
jne 0x186db
cmpb $0x0, 0xfa(%rsi)
je 0x18765
movq %rbx, %rdi
callq 0x1769c
movq 0x28(%rbx), %rax
movzbl 0xac(%rax), %esi
movq %rbx, %rdi
callq 0x178aa
movq 0x20(%rbx), %rsi
movq %rbx, %rdi
callq 0x17949
movq 0x20(%rbx), %rsi
movq %rbx, %rdi
callq 0x179dc
movq 0x20(%rbx), %rsi
movq %rbx, %rdi
callq 0x17a6f
movq (%rbx), %rdi
leaq 0x25e8e(%rip), %rsi     # 0x3e5b2
callq 0xc060
movb $0x1, 0x99(%rbx)
movq %rbx, %rdi
callq 0x16d78
movq 0xf0(%rbx), %rsi
movq 0xf8(%rbx), %rdx
movq 0x100(%rbx), %rcx
movq %rbx, %rdi
callq 0x1201b
movq (%rbx), %rdi
leaq 0x25d34(%rip), %rsi     # 0x3e493
popq %rbx
jmp 0xc060
movq %rbx, %rdi
callq 0x17747
jmp 0x186e3
// File: /workspace/github_c_makefile_star2_O2/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 %r14
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
movq (%rdi), %rdi
leaq 0x2602e(%rip), %rsi     # 0x3e7b4
xorl %edx, %edx
callq 0xc380
leaq 0x8(%rsp), %r14
andq $0x0, (%r14)
movq %r14, 0x8(%r14)
cmpb $0x16, 0x8(%rbx)
leaq 0x2601c(%rip), %rax     # 0x3e7c1
leaq 0x25995(%rip), %rsi     # 0x3e141
cmoveq %rax, %rsi
leaq 0x25c95(%rip), %rdi     # 0x3e44c
callq 0xc030
leaq 0x1040(%rax), %rcx
andq $0x0, 0x1040(%rax)
movq 0x8(%r14), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r14)
movq (%rbx), %rdi
leaq 0x25fe8(%rip), %rsi     # 0x3e7c8
movq %r14, %rdx
callq 0xcc70
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x1880f
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x18808
movq %r14, 0x10(%rsp)
callq 0xc0d0
jmp 0x187e8
movq 0x128(%rbx), %r14
movq (%r14), %r14
movq %rbx, %rdi
testq %r14, %r14
je 0x18832
movq %r14, %rsi
callq 0x1467e
addq $0x110, %r14            # imm = 0x110
jmp 0x18816
callq 0x148ae
movq (%rbx), %rdi
leaq 0x25f73(%rip), %rsi     # 0x3e7b4
callq 0xc060
addq $0x18, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/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 %r14
pushq %rbx
subq $0x18, %rsp
movq %rdi, %r14
leaq 0x8(%rsp), %rbx
andq $0x0, (%rbx)
movq %rbx, 0x8(%rbx)
leaq 0x25be0(%rip), %rdi     # 0x3e44c
leaq 0x29ed5(%rip), %rsi     # 0x42748
callq 0xc030
leaq 0x1040(%rax), %rcx
andq $0x0, 0x1040(%rax)
movq 0x8(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbx)
movq (%r14), %rdi
leaq 0x25fab(%rip), %rsi     # 0x3e847
movq %rbx, %rdx
callq 0xcc70
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x188cb
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x188c4
movq %rbx, 0x10(%rsp)
callq 0xc0d0
jmp 0x188a4
addq $0x18, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/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
pushq $0x1
popq %rdi
pushq $0x78
popq %rsi
callq 0xc850
movq %rax, %rbx
testq %rax, %rax
je 0x1895c
xorl %edi, %edi
callq 0xca40
movq %rax, 0x8(%rbx)
testq %rax, %rax
je 0x18960
testq %r14, %r14
je 0x1893c
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
pushq $0x1f
jmp 0x18962
pushq $0x24
popq %rcx
movq 0x3a68e(%rip), %rax     # 0x52ff8
movq (%rax), %rdi
leaq 0x2476c(%rip), %rsi     # 0x3d0e0
leaq 0x262d5(%rip), %rdx     # 0x3ec50
xorl %eax, %eax
callq 0xc8d0
movq %rbx, %rdi
callq 0xcd60
xorl %ebx, %ebx
jmp 0x18951
// File: /workspace/github_c_makefile_star2_O2/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 0x189bb
pushq %rbx
movq %rdi, %rbx
movq 0x8(%rdi), %rdi
callq 0xce30
movq 0x38(%rbx), %rdi
callq 0xc0d0
movq 0x40(%rbx), %rdi
callq 0xc0d0
movq %rbx, %rdi
popq %rbx
jmp 0xc0d0
retq
// File: /workspace/github_c_makefile_star2_O2/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 %r12
pushq %rbx
subq $0x98, %rsp
movq %rdi, %rbx
movq (%rdi), %rdi
movq 0x8(%rbx), %rax
movq %rdi, (%rax)
callq 0xcfb0
movups 0x26447(%rip), %xmm0    # 0x3ee2a
leaq 0x10(%rsp), %rax
movups %xmm0, 0x2a(%rax)
movaps 0x2642d(%rip), %xmm0    # 0x3ee20
movaps %xmm0, 0x20(%rax)
movaps 0x26412(%rip), %xmm0    # 0x3ee10
movaps %xmm0, 0x10(%rax)
movaps 0x263f7(%rip), %xmm0    # 0x3ee00
movaps %xmm0, (%rax)
leaq 0x261dd(%rip), %rsi     # 0x3ebf0
pushq $0x44
popq %rcx
leaq 0x50(%rsp), %r15
movq %r15, %rdi
rep  movsb (%rsi), %es:(%rdi)
movq %rsp, %r14
andq $0x0, (%r14)
movq %r14, 0x8(%r14)
leaq 0x246df(%rip), %rdi     # 0x3d111
movq %rax, %rsi
callq 0xc030
movl $0x1040, %r12d          # imm = 0x1040
andq $0x0, 0x1040(%rax)
leaq (%rax,%r12), %rcx
movq 0x8(%r14), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r14)
leaq 0x25d87(%rip), %rdi     # 0x3e7e5
movq %r15, %rsi
callq 0xc030
addq %rax, %r12
andq $0x0, 0x1040(%rax)
movq 0x8(%r14), %rcx
movq %rax, (%rcx)
movq %r12, 0x8(%r14)
movq (%rbx), %rdi
leaq 0x274ca(%rip), %rsi     # 0x3ff50
movq %r14, %rdx
callq 0xc380
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x18ab3
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x18aac
movq %r14, 0x8(%rsp)
callq 0xc0d0
jmp 0x18a8e
movq 0x8(%rbx), %rdi
callq 0xc290
movq 0x8(%rbx), %rdi
callq 0xc580
movq 0x8(%rbx), %rdi
leaq 0x18(%rbx), %rsi
callq 0xc870
movq 0x8(%rbx), %rdi
callq 0xc160
movq 0x8(%rbx), %rdi
callq 0xc530
movq 0x8(%rbx), %rdi
callq 0xcc20
movq 0x8(%rbx), %rdi
callq 0xd0c0
movq (%rbx), %rdi
leaq 0x27450(%rip), %rsi     # 0x3ff50
callq 0xc060
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/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 0x18d51
movb 0xf(%rdx), %cl
movb 0x10(%rdx), %al
jmp 0x18d55
xorl %eax, %eax
xorl %ecx, %ecx
movb %al, 0x26(%rbx)
movb %cl, 0x27(%rbx)
testq %rsi, %rsi
je 0x18d82
movq %rsi, %rdi
callq 0xc8a0
leaq 0x2b(%rbx), %rdi
movzwl %ax, %ecx
leaq 0x2602d(%rip), %rdx     # 0x3eda3
pushq $0x5
popq %rsi
xorl %eax, %eax
callq 0xc5b0
jmp 0x18d93
testb %al, %al
sete %al
testb %cl, %cl
sete %cl
orb %al, %cl
cmpb $0x1, %cl
jne 0x18db3
movw $0x101, 0x29(%rbx)      # imm = 0x101
movb $0x1, 0x25(%rbx)
movq 0x10(%rbx), %rax
testq %rax, %rax
je 0x18daf
movb $0x1, 0x169(%rax)
jmp 0x18db3
movb $0x1, 0x30(%rbx)
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/Paxa[P]fast_excel/libxlsxwriter/src/chartsheet.c
// Function: chartsheet_set_zoom
void
chartsheet_set_zoom(lxw_chartsheet *self, uint16_t scale)
{
    /* Confine the scale to Excel"s range */
    if (scale < 10 || scale > 400) {
        LXW_WARN("chartsheet_set_zoom(): "
                 "Zoom factor scale outside range: 10 <= zoom <= 400.");
        return;
    }

    self->worksheet->zoom = scale;
}

// Assembly:
leal -0x191(%rsi), %eax
cmpw $0xfe78, %ax            # imm = 0xFE78
jbe 0x18dcd
movq 0x8(%rdi), %rax
movw %si, 0x138(%rax)
retq
movq 0x3a224(%rip), %rax     # 0x52ff8
movq (%rax), %rcx
leaq 0x25fc8(%rip), %rdi     # 0x3eda6
pushq $0x56
popq %rsi
pushq $0x1
popq %rdx
jmp 0xd000
// File: /workspace/github_c_makefile_star2_O2/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
pushq $0x1
popq %rdi
pushq $0x28
popq %rsi
callq 0xc850
movq %rax, %rbx
testq %rax, %rax
je 0x18e5d
pushq $0x1
popq %rdi
pushq $0x8
popq %rsi
callq 0xc850
movq %rax, 0x10(%rbx)
testq %rax, %rax
je 0x18e61
movq %rbx, %rax
popq %rbx
retq
pushq $0x6b
jmp 0x18e63
pushq $0x6e
popq %rcx
movq 0x3a18d(%rip), %rax     # 0x52ff8
movq (%rax), %rdi
leaq 0x2426b(%rip), %rsi     # 0x3d0e0
leaq 0x25fbe(%rip), %rdx     # 0x3ee3a
xorl %eax, %eax
callq 0xc8d0
movq %rbx, %rdi
callq 0xc2e0
xorl %ebx, %ebx
jmp 0x18e58