LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_axis_major_gridlines_set_line
void
chart_axis_major_gridlines_set_line(lxw_chart_axis *axis,
                                    lxw_chart_line *line)
{
    if (!line)
        return;

    /* Free any previously allocated resource. */
    free(axis->major_gridlines.line);

    axis->major_gridlines.line = _chart_convert_line_args(line);

    /* If the gridline has a format it should also be visible. */
    if (axis->major_gridlines.line)
        axis->major_gridlines.visible = LXW_TRUE;
}

// Assembly:
testq %rsi, %rsi
je 0x167f9
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movq 0x70(%rdi), %rdi
callq 0xc0c0
movq %r14, %rdi
callq 0x15988
movq %rax, 0x70(%rbx)
testq %rax, %rax
je 0x167f2
movb $0x1, 0x68(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_axis_minor_gridlines_set_line
void
chart_axis_minor_gridlines_set_line(lxw_chart_axis *axis,
                                    lxw_chart_line *line)
{
    if (!line)
        return;

    /* Free any previously allocated resource. */
    free(axis->minor_gridlines.line);

    axis->minor_gridlines.line = _chart_convert_line_args(line);

    /* If the gridline has a format it should also be visible. */
    if (axis->minor_gridlines.line)
        axis->minor_gridlines.visible = LXW_TRUE;
}

// Assembly:
testq %rsi, %rsi
je 0x16839
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movq 0x80(%rdi), %rdi
callq 0xc0c0
movq %r14, %rdi
callq 0x15988
movq %rax, 0x80(%rbx)
testq %rax, %rax
je 0x16832
movb $0x1, 0x78(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_title_set_name
void
chart_title_set_name(lxw_chart *self, const char *name)
{
    if (!name)
        return;

    if (name[0] == '=')
        self->title.range->formula = lxw_strdup(name + 1);
    else
        self->title.name = lxw_strdup(name);
}

// Assembly:
testq %rsi, %rsi
je 0x16871
pushq %rbx
movq %rdi, %rbx
cmpb $0x3d, (%rsi)
jne 0x16864
incq %rsi
movq %rsi, %rdi
callq 0xcce0
movq 0x50(%rbx), %rcx
movq %rax, (%rcx)
jmp 0x16870
movq %rsi, %rdi
callq 0xcce0
movq %rax, 0x30(%rbx)
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_legend_delete_series
lxw_error
chart_legend_delete_series(lxw_chart *self, int16_t delete_series[])
{
    uint16_t count = 0;

    if (delete_series == NULL)
        return LXW_ERROR_NULL_PARAMETER_IGNORED;

    while (delete_series[count] >= 0)
        count++;

    if (count == 0)
        return LXW_ERROR_NULL_PARAMETER_IGNORED;

    /* The maximum number of series in a chart is 255. */
    if (count > 255)
        count = 255;

    self->delete_series = calloc(count, sizeof(int16_t));
    RETURN_ON_MEM_ERROR(self->delete_series, LXW_ERROR_MEMORY_MALLOC_FAILED);
    memcpy(self->delete_series, delete_series, count * sizeof(int16_t));
    self->delete_series_count = count;

    return LXW_NO_ERROR;
}

// Assembly:
movl $0xc, %eax
testq %rsi, %rsi
je 0x1696a
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movw $0xffff, %bp            # imm = 0xFFFF
incl %ebp
movzwl %bp, %ecx
cmpw $0x0, (%r14,%rcx,2)
jns 0x1690d
testw %bp, %bp
je 0x16960
movl $0xff, %eax
cmpl %eax, %ecx
cmovael %eax, %ebp
movzwl %bp, %r15d
movl $0x2, %esi
movq %r15, %rdi
callq 0xc7f0
movq %rax, 0xc0(%rbx)
testq %rax, %rax
je 0x1696b
addl %r15d, %r15d
movq %rax, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0xc900
movw %bp, 0xc8(%rbx)
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
callq 0xd739
movl $0x1, %eax
jmp 0x16960
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_set_up_down_bars_format
void
chart_set_up_down_bars_format(lxw_chart *self, lxw_chart_line *up_bar_line,
                              lxw_chart_fill *up_bar_fill,
                              lxw_chart_line *down_bar_line,
                              lxw_chart_fill *down_bar_fill)
{
    self->has_up_down_bars = LXW_TRUE;

    /* Free any previously allocated resource. */
    free(self->up_bar_line);
    free(self->up_bar_fill);
    free(self->down_bar_line);
    free(self->down_bar_fill);

    self->up_bar_line = _chart_convert_line_args(up_bar_line);
    self->up_bar_fill = _chart_convert_fill_args(up_bar_fill);
    self->down_bar_line = _chart_convert_line_args(down_bar_line);
    self->down_bar_fill = _chart_convert_fill_args(down_bar_fill);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %r8, %r14
movq %rcx, %r15
movq %rdx, %r12
movq %rsi, %r13
movq %rdi, %rbx
movb $0x1, 0x142(%rdi)
movq 0x148(%rdi), %rdi
callq 0xc0c0
movq 0x158(%rbx), %rdi
callq 0xc0c0
movq 0x150(%rbx), %rdi
callq 0xc0c0
movq 0x160(%rbx), %rdi
callq 0xc0c0
movq %r13, %rdi
callq 0x15988
movq %rax, 0x148(%rbx)
movq %r12, %rdi
callq 0x15a08
movq %rax, 0x158(%rbx)
movq %r15, %rdi
callq 0x15988
movq %rax, 0x150(%rbx)
movq %r14, %rdi
callq 0x15a08
movq %rax, 0x160(%rbx)
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_area_chart
STATIC void
_chart_write_area_chart(lxw_chart *self)
{
    lxw_chart_series *series;

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

    /* 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:dropLines element. */
    _chart_write_drop_lines(self);

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

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

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq (%rdi), %rdi
leaq 0x2a407(%rip), %rsi     # 0x410b4
xorl %edx, %edx
callq 0xc350
movzbl 0xa8(%rbx), %esi
movq %rbx, %rdi
callq 0x17483
movq 0x128(%rbx), %rax
movq (%rax), %r14
movq %rbx, %rdi
testq %r14, %r14
je 0x16ce6
movq %r14, %rsi
callq 0x17533
movq 0x110(%r14), %r14
jmp 0x16ccd
callq 0x1770a
movq %rbx, %rdi
callq 0x1777a
movq (%rbx), %rdi
leaq 0x2a3b7(%rip), %rsi     # 0x410b4
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_grouping
STATIC void
_chart_write_grouping(lxw_chart *self, uint8_t grouping)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();

    if (grouping == LXW_GROUPING_STANDARD)
        LXW_PUSH_ATTRIBUTES_STR("val", "standard");
    else if (grouping == LXW_GROUPING_PERCENTSTACKED)
        LXW_PUSH_ATTRIBUTES_STR("val", "percentStacked");
    else if (grouping == LXW_GROUPING_STACKED)
        LXW_PUSH_ATTRIBUTES_STR("val", "stacked");
    else
        LXW_PUSH_ATTRIBUTES_STR("val", "clustered");

    lxw_xml_empty_tag(self->file, "c:grouping", &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 0x174ba
movzbl %sil, %eax
leaq 0x28f47(%rip), %rcx     # 0x403f8
movslq (%rcx,%rax,4), %rsi
addq %rcx, %rsi
jmp 0x174c1
leaq 0x29c1f(%rip), %rsi     # 0x410e0
leaq 0x29f84(%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 0x29bf1(%rip), %rsi     # 0x410ea
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x1752b
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x1751f
movq %rbx, 0x10(%rsp)
callq 0xc0c0
movq 0x8(%rsp), %rdi
jmp 0x17504
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_drop_lines
STATIC void
_chart_write_drop_lines(lxw_chart *self)
{
    if (!self->has_drop_lines)
        return;

    if (self->drop_lines_line) {
        lxw_xml_start_tag(self->file, "c:dropLines", NULL);

        _chart_write_sp_pr(self, self->drop_lines_line, NULL, NULL);

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

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
cmpb $0x0, 0x108(%rdi)
je 0x1775d
movq %rdi, %rbx
cmpq $0x0, 0x110(%rdi)
movq (%rdi), %rdi
je 0x17765
leaq 0x29d52(%rip), %r14     # 0x41480
movq %r14, %rsi
xorl %edx, %edx
callq 0xc350
movq 0x110(%rbx), %rsi
movq %rbx, %rdi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x1520f
movq (%rbx), %rdi
movq %r14, %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xc060
addq $0x8, %rsp
popq %rbx
popq %r14
retq
leaq 0x29d14(%rip), %rsi     # 0x41480
xorl %edx, %edx
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xcc00
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_axis_ids
STATIC void
_chart_write_axis_ids(lxw_chart *self)
{
    if (!self->axis_id_1)
        _chart_add_axis_ids(self);

    _chart_write_axis_id(self, self->axis_id_1);
    _chart_write_axis_id(self, self->axis_id_2);
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movl 0x84(%rdi), %esi
testl %esi, %esi
jne 0x177a5
movl 0x80(%rbx), %eax
leal 0x2fb1791(%rax), %esi
movl %esi, 0x84(%rbx)
addl $0x2fb1792, %eax        # imm = 0x2FB1792
movl %eax, 0x88(%rbx)
movq %rbx, %rdi
callq 0x19c7e
movl 0x88(%rbx), %esi
movq %rbx, %rdi
popq %rbx
jmp 0x19c7e
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_idx
STATIC void
_chart_write_idx(lxw_chart *self, uint16_t index)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

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

    lxw_xml_empty_tag(self->file, "c:idx", &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 0x29c6e(%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 0x298f5(%rip), %rsi     # 0x410fb
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x17836
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x1782b
movq %rbx, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x17811
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_order
STATIC void
_chart_write_order(lxw_chart *self, uint16_t index)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

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

    lxw_xml_empty_tag(self->file, "c:order", &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 0x29bea(%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 0x29877(%rip), %rsi     # 0x41101
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x178ba
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x178af
movq %rbx, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x17895
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_series_name
STATIC void
_chart_write_series_name(lxw_chart *self, lxw_chart_series *series)
{
    if (series->title.name) {
        /* Write the c:tx element. */
        _chart_write_tx_value(self, series->title.name);
    }
    else if (series->title.range->formula) {
        /* Write the c:tx element. */
        _chart_write_tx_formula(self, &series->title);

    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
movq 0x10(%rsi), %r14
testq %r14, %r14
je 0x1790d
movq (%rbx), %rdi
leaq 0x2982a(%rip), %r15     # 0x41109
movq %r15, %rsi
xorl %edx, %edx
callq 0xc350
movq (%rbx), %rdi
leaq 0x2981b(%rip), %rsi     # 0x4110e
movq %r14, %rdx
xorl %ecx, %ecx
callq 0xcb30
movq (%rbx), %rdi
movq %r15, %rsi
popq %rbx
popq %r14
popq %r15
jmp 0xc060
movq 0x30(%rsi), %rax
cmpq $0x0, (%rax)
je 0x17928
addq $0x10, %rsi
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18680
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_marker
STATIC void
_chart_write_marker(lxw_chart *self, lxw_chart_marker *marker)
{
    /* If there isn't a user defined marker use the default, if this chart
     * type one. The default usually turns the marker off. */
    if (!marker)
        marker = self->default_marker;

    if (!marker)
        return;

    if (marker->type == LXW_CHART_MARKER_AUTOMATIC)
        return;

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

    /* Write the c:symbol element. */
    _chart_write_symbol(self, marker->type);

    /* Write the c:size element. */
    if (marker->size)
        _chart_write_marker_size(self, marker->size);

    /* Write the c:spPr element. */
    _chart_write_sp_pr(self, marker->line, marker->fill, marker->pattern);

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

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rsi, %r14
movq %rdi, %rbx
testq %rsi, %rsi
jne 0x17954
movq 0xd0(%rbx), %r14
testq %r14, %r14
je 0x17aa6
cmpb $0x0, (%r14)
je 0x17aa6
movq (%rbx), %rdi
leaq 0x297d7(%rip), %rsi     # 0x4113f
xorl %edx, %edx
callq 0xc350
movb (%r14), %al
leaq 0x8(%rsp), %rcx
movq $0x0, (%rcx)
movq %rcx, 0x8(%rcx)
addb $-0x2, %al
cmpb $0x8, %al
ja 0x1799b
movzbl %al, %eax
leaq 0x28a72(%rip), %rcx     # 0x40404
movslq (%rcx,%rax,4), %rsi
addq %rcx, %rsi
jmp 0x179a2
leaq 0x297e4(%rip), %rsi     # 0x41186
leaq 0x29aa3(%rip), %rdi     # 0x4144c
callq 0xc030
leaq 0x1040(%rax), %rcx
movq $0x0, 0x1040(%rax)
leaq 0x8(%rsp), %r15
movq 0x8(%r15), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r15)
movq (%rbx), %rdi
leaq 0x297b1(%rip), %rsi     # 0x4118b
movq %r15, %rdx
callq 0xcc00
movq (%r15), %rdi
testq %rdi, %rdi
je 0x17a0c
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x17a00
movq %r15, 0x10(%rsp)
callq 0xc0c0
movq 0x8(%rsp), %rdi
jmp 0x179e5
movzbl 0x1(%r14), %esi
testq %rsi, %rsi
je 0x17a83
xorl %r12d, %r12d
movq %r12, 0x8(%rsp)
movq %r15, 0x10(%rsp)
leaq 0x29a22(%rip), %rdi     # 0x4144c
callq 0xc180
leaq 0x1040(%rax), %rcx
movq %r12, 0x1040(%rax)
movq 0x10(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x10(%rsp)
movq (%rbx), %rdi
leaq 0x29740(%rip), %rsi     # 0x41194
movq %r15, %rdx
callq 0xcc00
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x17a83
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x17a7c
movq %r15, 0x10(%rsp)
callq 0xc0c0
jmp 0x17a5c
movq 0x8(%r14), %rsi
movq 0x10(%r14), %rdx
movq 0x18(%r14), %rcx
movq %rbx, %rdi
callq 0x1520f
movq (%rbx), %rdi
leaq 0x2969e(%rip), %rsi     # 0x4113f
callq 0xc060
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_points
STATIC void
_chart_write_points(lxw_chart *self, lxw_chart_series *series)
{
    uint16_t index;

    for (index = 0; index < series->point_count; index++) {
        lxw_chart_point *point = &series->points[index];

        /* Ignore empty points. */
        if (!point->line && !point->fill && !point->pattern)
            continue;

        /* Write the c:dPt element. */
        _chart_write_d_pt(self, &series->points[index], index);
    }
}

// Assembly:
movzwl 0x90(%rsi), %eax
testw %ax, %ax
je 0x17ba5
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movl $0x10, %r13d
xorl %ebp, %ebp
leaq 0x296cc(%rip), %r15     # 0x411ae
movq 0x80(%rbx), %r12
cmpq $0x0, -0x10(%r12,%r13)
jne 0x17b04
cmpq $0x0, -0x8(%r12,%r13)
jne 0x17b04
cmpq $0x0, (%r12,%r13)
je 0x17b84
movq (%r14), %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0xc350
movzwl %bp, %esi
movq %r14, %rdi
callq 0x177bc
movzbl 0x95(%r14), %eax
orl $0x4, %eax
cmpl $0xf, %eax
jne 0x17b3d
movq (%r14), %rdi
leaq 0x29609(%rip), %rsi     # 0x4113f
xorl %edx, %edx
callq 0xc350
movq -0x10(%r12,%r13), %rsi
movq -0x8(%r12,%r13), %rdx
movq (%r12,%r13), %rcx
movq %r14, %rdi
callq 0x1520f
movzbl 0x95(%r14), %eax
orl $0x4, %eax
cmpl $0xf, %eax
jne 0x17b72
movq (%r14), %rdi
leaq 0x295d2(%rip), %rsi     # 0x4113f
callq 0xc060
movq (%r14), %rdi
movq %r15, %rsi
callq 0xc060
movzwl 0x90(%rbx), %eax
incq %rbp
movzwl %ax, %ecx
addq $0x18, %r13
cmpq %rcx, %rbp
jb 0x17ae2
addq $0x8, %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/chart.c
// Function: chart_write_smooth
STATIC void
_chart_write_smooth(lxw_chart *self, uint8_t smooth)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    if (!smooth)
        return;

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

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

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
testl %esi, %esi
je 0x1867f
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 0x28e35(%rip), %rdi     # 0x4144c
leaq 0x2d12a(%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 0x28e31(%rip), %rsi     # 0x41477
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x18676
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x1866b
movq %rbx, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x18651
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_str_ref
STATIC void
_chart_write_str_ref(lxw_chart *self, lxw_series_range *range)
{
    lxw_xml_start_tag(self->file, "c:strRef", NULL);

    /* Write the c:f element. */
    _chart_write_f(self, range->formula);

    if (!STAILQ_EMPTY(range->data_cache)) {
        /* Write the c:strCache element. */
        _chart_write_str_cache(self, range);
    }

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

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movq (%rdi), %rdi
leaq 0x28a39(%rip), %rsi     # 0x41112
xorl %edx, %edx
callq 0xc350
movq (%r14), %rdx
movq (%rbx), %rdi
leaq 0x28a2e(%rip), %rsi     # 0x4111b
xorl %ecx, %ecx
callq 0xcb30
movq 0x20(%r14), %rax
cmpq $0x0, (%rax)
je 0x1882a
movq (%rbx), %rdi
leaq 0x28a13(%rip), %rsi     # 0x4111f
xorl %edx, %edx
callq 0xc350
movzwl 0x1e(%r14), %esi
movq %rbx, %rdi
callq 0x18848
movq 0x20(%r14), %rax
movq (%rax), %r15
testq %r15, %r15
je 0x1881b
movq %rsp, %r14
leaq 0x289fa(%rip), %r12     # 0x41134
xorl %ebp, %ebp
cmpb $0x0, 0x18(%r15)
je 0x18753
incl %ebp
movq 0x20(%r15), %r15
testq %r15, %r15
jne 0x1873c
jmp 0x1881b
xorl %r13d, %r13d
movq %r13, (%rsp)
movq %r14, 0x8(%rsp)
movzwl %bp, %esi
leaq 0x28994(%rip), %rdi     # 0x410fd
callq 0xc180
leaq 0x1040(%rax), %rcx
movq %r13, 0x1040(%rax)
movq 0x8(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rsp)
movq (%rbx), %rdi
movq %r12, %rsi
movq %r14, %rdx
callq 0xc350
cmpb $0x0, (%r15)
je 0x187b2
movq 0x10(%r15), %rdx
testq %rdx, %rdx
je 0x187b2
movq (%rbx), %rdi
leaq 0x2895e(%rip), %rsi     # 0x4110e
jmp 0x187e0
movsd 0x8(%r15), %xmm0
movl $0x20, %esi
leaq 0x10(%rsp), %r13
movq %r13, %rdi
leaq 0x2896d(%rip), %rdx     # 0x41139
movb $0x1, %al
callq 0xc570
movq (%rbx), %rdi
leaq 0x28931(%rip), %rsi     # 0x4110e
movq %r13, %rdx
xorl %ecx, %ecx
callq 0xcb30
movq (%rbx), %rdi
movq %r12, %rsi
callq 0xc060
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x18743
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x18814
movq %r14, 0x8(%rsp)
callq 0xc0c0
jmp 0x187f2
movq (%rbx), %rdi
leaq 0x288fa(%rip), %rsi     # 0x4111f
callq 0xc060
movq (%rbx), %rdi
leaq 0x288de(%rip), %rsi     # 0x41112
callq 0xc060
addq $0x38, %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/chart.c
// Function: chart_write_pt_count
STATIC void
_chart_write_pt_count(lxw_chart *self, uint16_t num_data_points)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

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

    lxw_xml_empty_tag(self->file, "c:ptCount", &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 0x28be2(%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 0x28898(%rip), %rsi     # 0x4112a
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x188c2
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x188b7
movq %rbx, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x1889d
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_tx_pr
STATIC void
_chart_write_tx_pr(lxw_chart *self, uint8_t is_horizontal,
                   lxw_chart_font *font)
{
    int32_t rotation = 0;

    if (font)
        rotation = font->rotation;

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

    /* Write the a:bodyPr element. */
    _chart_write_a_body_pr(self, rotation, is_horizontal);

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

    /* Write the a:p element. */
    _chart_write_a_p_formula(self, font);

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

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %r15
movl %esi, %ebp
movq %rdi, %rbx
testq %rdx, %rdx
je 0x188ea
movl 0x14(%r15), %r12d
jmp 0x188ed
xorl %r12d, %r12d
movq (%rbx), %rdi
leaq 0x289b1(%rip), %r14     # 0x412a8
movq %r14, %rsi
xorl %edx, %edx
callq 0xc350
movzbl %bpl, %edx
movq %rbx, %rdi
movl %r12d, %esi
callq 0x190ed
movq (%rbx), %rdi
leaq 0x288ec(%rip), %rsi     # 0x41206
xorl %edx, %edx
callq 0xcc00
movq (%rbx), %rdi
leaq 0x288e6(%rip), %r12     # 0x41211
movq %r12, %rsi
xorl %edx, %edx
callq 0xc350
movq (%rbx), %rdi
leaq 0x288d6(%rip), %r13     # 0x41215
movq %r13, %rsi
xorl %edx, %edx
callq 0xc350
movq %rbx, %rdi
movq %r15, %rsi
callq 0x19262
movq (%rbx), %rdi
movq %r13, %rsi
callq 0xc060
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 %r13
popq %r14
popq %r15
popq %rbp
jmp 0xc060
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_d_lbl_pos
STATIC void
_chart_write_d_lbl_pos(lxw_chart *self, uint8_t position)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();

    if (position == LXW_CHART_LABEL_POSITION_RIGHT)
        LXW_PUSH_ATTRIBUTES_STR("val", "r");
    else if (position == LXW_CHART_LABEL_POSITION_LEFT)
        LXW_PUSH_ATTRIBUTES_STR("val", "l");
    else if (position == LXW_CHART_LABEL_POSITION_ABOVE)
        LXW_PUSH_ATTRIBUTES_STR("val", "t");
    else if (position == LXW_CHART_LABEL_POSITION_BELOW)
        LXW_PUSH_ATTRIBUTES_STR("val", "b");
    else if (position == LXW_CHART_LABEL_POSITION_INSIDE_BASE)
        LXW_PUSH_ATTRIBUTES_STR("val", "inBase");
    else if (position == LXW_CHART_LABEL_POSITION_INSIDE_END)
        LXW_PUSH_ATTRIBUTES_STR("val", "inEnd");
    else if (position == LXW_CHART_LABEL_POSITION_OUTSIDE_END)
        LXW_PUSH_ATTRIBUTES_STR("val", "outEnd");
    else if (position == LXW_CHART_LABEL_POSITION_BEST_FIT)
        LXW_PUSH_ATTRIBUTES_STR("val", "bestFit");
    else
        LXW_PUSH_ATTRIBUTES_STR("val", "ctr");

    lxw_xml_empty_tag(self->file, "c:dLblPos", &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)
addb $-0x2, %sil
cmpb $0x7, %sil
ja 0x189c3
movzbl %sil, %eax
leaq 0x27a92(%rip), %rcx     # 0x4044c
movslq (%rcx,%rax,4), %rsi
addq %rcx, %rsi
jmp 0x189ca
leaq 0x2890e(%rip), %rsi     # 0x412d8
leaq 0x28a7b(%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 0x288da(%rip), %rsi     # 0x412dc
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x18a34
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x18a28
movq %rbx, 0x10(%rsp)
callq 0xc0c0
movq 0x8(%rsp), %rdi
jmp 0x18a0d
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_show_val
STATIC void
_chart_write_show_val(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:showVal", &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 0x289f0(%rip), %rdi     # 0x4144c
leaq 0x2cce5(%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 0x2886b(%rip), %rsi     # 0x412f6
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x18abb
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x18ab0
movq %rbx, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x18a96
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_show_cat_name
STATIC void
_chart_write_show_cat_name(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:showCatName", &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 0x28967(%rip), %rdi     # 0x4144c
leaq 0x2cc5c(%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 0x287ec(%rip), %rsi     # 0x41300
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x18b44
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x18b39
movq %rbx, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x18b1f
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_show_ser_name
STATIC void
_chart_write_show_ser_name(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:showSerName", &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 0x288de(%rip), %rdi     # 0x4144c
leaq 0x2cbd3(%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 0x28771(%rip), %rsi     # 0x4130e
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x18bcd
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x18bc2
movq %rbx, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x18ba8
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_delete
STATIC void
_chart_write_delete(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:delete", &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 0x28855(%rip), %rdi     # 0x4144c
leaq 0x2cb4a(%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 0x2859d(%rip), %rsi     # 0x411c3
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x18c56
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x18c4b
movq %rbx, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x18c31
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_custom_label_format_only
STATIC void
_chart_write_custom_label_format_only(lxw_chart *self,
                                      lxw_chart_custom_label *data_label)
{
    if (data_label->line || data_label->fill || data_label->pattern) {
        _chart_write_sp_pr(self, data_label->line, data_label->fill,
                           data_label->pattern);
        _chart_write_tx_pr(self, LXW_FALSE, data_label->font);
    }
    else if (data_label->font) {
        lxw_xml_empty_tag(self->file, "c:spPr", NULL);
        _chart_write_tx_pr(self, LXW_FALSE, data_label->font);
    }
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movq 0x18(%rsi), %rsi
movq 0x20(%r14), %rdx
movq %rdx, %rax
orq %rsi, %rax
jne 0x18c83
cmpq $0x0, 0x28(%r14)
je 0x18ca4
xorl %edx, %edx
movq 0x28(%r14), %rcx
movq %rbx, %rdi
callq 0x1520f
movq 0x10(%r14), %rdx
movq %rbx, %rdi
xorl %esi, %esi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x188cc
cmpq $0x0, 0x10(%r14)
je 0x18cbe
movq (%rbx), %rdi
leaq 0x285d6(%rip), %rsi     # 0x4128b
xorl %edx, %edx
callq 0xcc00
jmp 0x18c8f
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_a_body_pr
STATIC void
_chart_write_a_body_pr(lxw_chart *self, int32_t rotation,
                       uint8_t is_horizontal)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();

    if (rotation == 0 && is_horizontal)
        rotation = -5400000;

    if (rotation) {
        if (rotation == 16200000) {
            /* 270 deg/stacked angle. */
            LXW_PUSH_ATTRIBUTES_STR("rot", "0");
            LXW_PUSH_ATTRIBUTES_STR("vert", "wordArtVert");
        }
        else if (rotation == 16260000) {
            /* 271 deg/East Asian vertical. */
            LXW_PUSH_ATTRIBUTES_STR("rot", "0");
            LXW_PUSH_ATTRIBUTES_STR("vert", "eaVert");
        }
        else if (rotation == 21600000) {
            /* 360 deg = 0 for y axis. */
            LXW_PUSH_ATTRIBUTES_STR("rot", "0");
            LXW_PUSH_ATTRIBUTES_STR("vert", "horz");
        }
        else {
            LXW_PUSH_ATTRIBUTES_INT("rot", rotation);
            LXW_PUSH_ATTRIBUTES_STR("vert", "horz");
        }
    }

    lxw_xml_empty_tag(self->file, "a:bodyPr", &attributes);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
movq %rsp, %rax
movq $0x0, (%rax)
movq %rax, 0x8(%rax)
testl %edx, %edx
movl $0xffad9a40, %eax       # imm = 0xFFAD9A40
cmovel %esi, %eax
testl %esi, %esi
cmovnel %esi, %eax
cmpl $0xf81b9f, %eax         # imm = 0xF81B9F
jg 0x19148
testl %eax, %eax
je 0x191e1
cmpl $0xf73140, %eax         # imm = 0xF73140
jne 0x1916b
leaq 0x280a9(%rip), %rdi     # 0x411dc
leaq 0x2c66c(%rip), %rsi     # 0x457a6
callq 0xc030
leaq 0x2809f(%rip), %rsi     # 0x411e5
jmp 0x1919d
cmpl $0xf81ba0, %eax         # imm = 0xF81BA0
je 0x19183
cmpl $0x1499700, %eax        # imm = 0x1499700
jne 0x1916b
leaq 0x2807f(%rip), %rdi     # 0x411dc
leaq 0x2c642(%rip), %rsi     # 0x457a6
callq 0xc030
jmp 0x1917a
movslq %eax, %rsi
leaq 0x28067(%rip), %rdi     # 0x411dc
callq 0xc180
leaq 0x28077(%rip), %rsi     # 0x411f8
jmp 0x1919d
leaq 0x28052(%rip), %rdi     # 0x411dc
leaq 0x2c615(%rip), %rsi     # 0x457a6
callq 0xc030
leaq 0x28054(%rip), %rsi     # 0x411f1
movl $0x1040, %r14d          # imm = 0x1040
leaq (%rax,%r14), %rcx
xorl %r15d, %r15d
movq %r15, 0x1040(%rax)
movq 0x8(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rsp)
leaq 0x2801b(%rip), %rdi     # 0x411e0
callq 0xc030
addq %rax, %r14
movq %r15, 0x1040(%rax)
movq 0x8(%rsp), %rcx
movq %rax, (%rcx)
movq %r14, 0x8(%rsp)
movq (%rbx), %rdi
leaq 0x28012(%rip), %rsi     # 0x411fd
movq %rsp, %rbx
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x1921e
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x19213
movq %rbx, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x191f9
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_a_srgb_clr
STATIC void
_chart_write_a_srgb_clr(lxw_chart *self, lxw_color_t color,
                        uint8_t transparency)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;
    char rgb_str[LXW_ATTR_32];

    LXW_INIT_ATTRIBUTES();

    lxw_snprintf(rgb_str, LXW_ATTR_32, "%06X", color & LXW_COLOR_MASK);
    LXW_PUSH_ATTRIBUTES_STR("val", rgb_str);

    if (transparency) {
        lxw_xml_start_tag(self->file, "a:srgbClr", &attributes);

        /* Write the a:alpha element. */
        _chart_write_a_alpha(self, transparency);

        lxw_xml_end_tag(self->file, "a:srgbClr");
    }
    else {
        lxw_xml_empty_tag(self->file, "a:srgbClr", &attributes);
    }

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x40, %rsp
movl %edx, %ebp
movl %esi, %ecx
movq %rdi, %rbx
xorl %r12d, %r12d
movq %rsp, %r15
movq %r12, (%r15)
movq %r15, 0x8(%r15)
andl $0xffffff, %ecx         # imm = 0xFFFFFF
leaq 0x29db9(%rip), %rdx     # 0x433cb
leaq 0x20(%rsp), %r14
movl $0x20, %esi
movq %r14, %rdi
xorl %eax, %eax
callq 0xc570
leaq 0x27e1f(%rip), %rdi     # 0x4144c
movq %r14, %rsi
callq 0xc030
leaq 0x1040(%rax), %rcx
movq %r12, 0x1040(%rax)
movq 0x8(%r15), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r15)
movq (%rbx), %rdi
leaq 0x27c0d(%rip), %rsi     # 0x41265
movq %rsp, %rdx
testl %ebp, %ebp
je 0x196fa
callq 0xc350
xorl %r12d, %r12d
leaq 0x10(%rsp), %r14
movq %r12, (%r14)
movq %r14, 0x8(%r14)
movzbl %bpl, %eax
movl $0x64, %ecx
subl %eax, %ecx
imull $0x3e8, %ecx, %esi      # imm = 0x3E8
leaq 0x27dbd(%rip), %rdi     # 0x4144c
callq 0xc180
leaq 0x1040(%rax), %rcx
movq %r12, 0x1040(%rax)
movq 0x8(%r14), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r14)
movq (%rbx), %rdi
leaq 0x27bb8(%rip), %rsi     # 0x4126f
movq %r14, %rdx
callq 0xcc00
movq (%r14), %rdi
testq %rdi, %rdi
je 0x196e9
movq 0x1040(%rdi), %rax
movq %rax, 0x10(%rsp)
testq %rax, %rax
jne 0x196dd
movq %r14, 0x18(%rsp)
callq 0xc0c0
movq 0x10(%rsp), %rdi
jmp 0x196c2
movq (%rbx), %rdi
leaq 0x27b72(%rip), %rsi     # 0x41265
callq 0xc060
jmp 0x1971b
callq 0xcc00
jmp 0x1971b
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x19716
movq %r15, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
testq %rdi, %rdi
jne 0x19701
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_a_end_para_rpr
STATIC void
_chart_write_a_end_para_rpr(lxw_chart *self)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_STR("lang", "en-US");

    lxw_xml_empty_tag(self->file, "a:endParaRPr", &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 0x2809e(%rip), %rdi     # 0x417ef
leaq 0x27b23(%rip), %rsi     # 0x4127b
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 0x27b2f(%rip), %rsi     # 0x412af
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x197b0
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x197a5
movq %rbx, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x1978b
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_data_cache
STATIC void
_chart_write_data_cache(lxw_chart *self, lxw_series_range *range,
                        uint8_t has_string_cache)
{
    if (has_string_cache) {
        /* Write the c:strRef element. */
        _chart_write_str_ref(self, range);
    }
    else {
        /* Write the c:numRef element. */
        _chart_write_num_ref(self, range);
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rsi, %r14
movq %rdi, %rbx
testl %edx, %edx
je 0x19b05
movq %rbx, %rdi
movq %r14, %rsi
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x186bb
movq (%rbx), %rdi
leaq 0x27947(%rip), %rsi     # 0x41456
xorl %edx, %edx
callq 0xc350
movq (%r14), %rdx
movq (%rbx), %rdi
leaq 0x275f8(%rip), %rsi     # 0x4111b
xorl %ecx, %ecx
callq 0xcb30
movq 0x20(%r14), %rax
cmpq $0x0, (%rax)
je 0x19c60
movq (%rbx), %rdi
leaq 0x2791d(%rip), %rsi     # 0x4145f
xorl %edx, %edx
callq 0xc350
movq (%rbx), %rdi
leaq 0x27917(%rip), %rsi     # 0x4146a
leaq 0x2698a(%rip), %rdx     # 0x404e4
xorl %ecx, %ecx
callq 0xcb30
movzwl 0x1e(%r14), %esi
movq %rbx, %rdi
callq 0x18848
movq 0x20(%r14), %rax
movq (%rax), %r13
testq %r13, %r13
je 0x19c51
movq %rsp, %r14
leaq 0x10(%rsp), %rbp
xorl %r15d, %r15d
cmpb $0x0, 0x18(%r13)
je 0x19ba1
incl %r15d
movq 0x20(%r13), %r13
testq %r13, %r13
jne 0x19b89
jmp 0x19c51
xorl %r12d, %r12d
movq %r12, (%rsp)
movq %r14, 0x8(%rsp)
movzwl %r15w, %esi
leaq 0x27545(%rip), %rdi     # 0x410fd
callq 0xc180
leaq 0x1040(%rax), %rcx
movq %r12, 0x1040(%rax)
movq 0x8(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rsp)
movq (%rbx), %rdi
leaq 0x27552(%rip), %r12     # 0x41134
movq %r12, %rsi
movq %r14, %rdx
callq 0xc350
movsd 0x8(%r13), %xmm0
movl $0x20, %esi
movq %rbp, %rdi
leaq 0x27537(%rip), %rdx     # 0x41139
movb $0x1, %al
callq 0xc570
movq (%rbx), %rdi
leaq 0x274fb(%rip), %rsi     # 0x4110e
movq %rbp, %rdx
xorl %ecx, %ecx
callq 0xcb30
movq (%rbx), %rdi
movq %r12, %rsi
callq 0xc060
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x19b90
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x19c4a
movq %r14, 0x8(%rsp)
callq 0xc0c0
jmp 0x19c28
movq (%rbx), %rdi
leaq 0x27804(%rip), %rsi     # 0x4145f
callq 0xc060
movq (%rbx), %rdi
leaq 0x277ec(%rip), %rsi     # 0x41456
callq 0xc060
addq $0x38, %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/chart.c
// Function: chart_write_axis_id
STATIC void
_chart_write_axis_id(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:axId", &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 0x277ac(%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 0x277c4(%rip), %rsi     # 0x4148c
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x19cf8
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x19ced
movq %rbx, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x19cd3
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_axis_pos
STATIC void
_chart_write_axis_pos(lxw_chart *self, uint8_t position, uint8_t reverse)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();

    /* Reverse the axis direction if required. */
    position ^= reverse;

    if (position == LXW_CHART_AXIS_RIGHT)
        LXW_PUSH_ATTRIBUTES_STR("val", "r");
    else if (position == LXW_CHART_AXIS_LEFT)
        LXW_PUSH_ATTRIBUTES_STR("val", "l");
    else if (position == LXW_CHART_AXIS_TOP)
        LXW_PUSH_ATTRIBUTES_STR("val", "t");
    else if (position == LXW_CHART_AXIS_BOTTOM)
        LXW_PUSH_ATTRIBUTES_STR("val", "b");

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

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
movq %rsp, %rax
movq $0x0, (%rax)
movq %rax, 0x8(%rax)
cmpb %dl, %sil
jne 0x1a129
leaq 0x27152(%rip), %rsi     # 0x41279
jmp 0x1a144
xorb %sil, %dl
decb %dl
cmpb $0x2, %dl
ja 0x1a16f
movzbl %dl, %eax
leaq 0x2633b(%rip), %rcx     # 0x40478
movslq (%rcx,%rax,4), %rsi
addq %rcx, %rsi
leaq 0x27301(%rip), %rdi     # 0x4144c
callq 0xc030
leaq 0x1040(%rax), %rcx
movq $0x0, 0x1040(%rax)
movq 0x8(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rsp)
movq (%rbx), %rdi
leaq 0x27369(%rip), %rsi     # 0x414e2
movq %rsp, %rbx
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x1a1ac
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x1a1a1
movq %rbx, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x1a187
addq $0x10, %rsp
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/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 0x1a1fe
movq %rsi, %r14
movq %rdi, %rbx
cmpq $0x0, 0x70(%rsi)
movq (%rdi), %rdi
je 0x1a204
leaq 0x27316(%rip), %r15     # 0x414ea
movq %r15, %rsi
xorl %edx, %edx
callq 0xc350
movq 0x70(%r14), %rsi
movq %rbx, %rdi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x1520f
movq (%rbx), %rdi
movq %r15, %rsi
popq %rbx
popq %r14
popq %r15
jmp 0xc060
popq %rbx
popq %r14
popq %r15
retq
leaq 0x272df(%rip), %rsi     # 0x414ea
xorl %edx, %edx
popq %rbx
popq %r14
popq %r15
jmp 0xcc00
// File: /workspace/github_c_makefile_star2_O3/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 0x1a269
movq %rsi, %r14
movq %rdi, %rbx
cmpq $0x0, 0x80(%rsi)
movq (%rdi), %rdi
je 0x1a26f
leaq 0x272bf(%rip), %r15     # 0x414fb
movq %r15, %rsi
xorl %edx, %edx
callq 0xc350
movq 0x80(%r14), %rsi
movq %rbx, %rdi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x1520f
movq (%rbx), %rdi
movq %r15, %rsi
popq %rbx
popq %r14
popq %r15
jmp 0xc060
popq %rbx
popq %r14
popq %r15
retq
leaq 0x27285(%rip), %rsi     # 0x414fb
xorl %edx, %edx
popq %rbx
popq %r14
popq %r15
jmp 0xcc00
// File: /workspace/github_c_makefile_star2_O3/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 0x1a2f8
movq (%rbx), %rdi
leaq 0x28271(%rip), %rsi     # 0x42511
xorl %edx, %edx
callq 0xc350
movzbl 0x19(%r14), %ebp
movq (%r14), %r15
movq 0x10(%r14), %r14
movq (%rbx), %rdi
leaq 0x26e4c(%rip), %r12     # 0x41109
movq %r12, %rsi
xorl %edx, %edx
callq 0xc350
movq %rbx, %rdi
movq %r15, %rsi
movq %r14, %rdx
movl %ebp, %ecx
xorl %r8d, %r8d
callq 0x18cc6
movq (%rbx), %rdi
movq %r12, %rsi
callq 0xc060
movq (%rbx), %rdi
leaq 0x26edd(%rip), %rsi     # 0x411cc
xorl %edx, %edx
callq 0xcc00
jmp 0x1a340
movq 0x20(%r14), %rax
cmpq $0x0, (%rax)
je 0x1a357
movq (%rbx), %rdi
leaq 0x28205(%rip), %rsi     # 0x42511
xorl %edx, %edx
callq 0xc350
movq %rbx, %rdi
movq %r14, %rsi
callq 0x18680
movq (%rbx), %rdi
leaq 0x26ea4(%rip), %rsi     # 0x411cc
xorl %edx, %edx
callq 0xcc00
movzbl 0x19(%r14), %esi
movq 0x10(%r14), %rdx
movq %rbx, %rdi
callq 0x188cc
movq (%rbx), %rdi
leaq 0x281c7(%rip), %rsi     # 0x42511
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_O3/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:
testb %sil, %sil
je 0x1a413
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 0x1a39b
movsbq %sil, %rax
leaq 0x3c96c(%rip), %rcx     # 0x56d00
movq -0x8(%rcx,%rax,8), %rsi
jmp 0x1a3a2
leaq 0x2e5a3(%rip), %rsi     # 0x48945
leaq 0x270a3(%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 0x27138(%rip), %rsi     # 0x41512
movq %rbx, %rdx
callq 0xcc00
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x1a40c
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x1a400
movq %rbx, 0x10(%rsp)
callq 0xc0c0
movq 0x8(%rsp), %rdi
jmp 0x1a3e5
addq $0x18, %rsp
popq %rbx
popq %r14
retq