// File: /workspace/github_c_makefile_star2_O2/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_ser
STATIC void
_chart_write_ser(lxw_chart *self, lxw_chart_series *series)
{
    uint16_t index = self->series_index++;

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

    /* Write the c:idx element. */
    _chart_write_idx(self, index);

    /* Write the c:order element. */
    _chart_write_order(self, index);

    /* Write the series name. */
    _chart_write_series_name(self, series);

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

    /* Write the c:marker element. */
    _chart_write_marker(self, series->marker);

    /* Write the c:invertIfNegative element. */
    _chart_write_invert_if_negative(self, series);

    /* Write the char points. */
    _chart_write_points(self, series);

    /* Write the c:dLbls element. */
    _chart_write_d_lbls(self, series);

    /* Write the c:trendline element. */
    _chart_write_trendline(self, series);

    /* Write the c:errBars element. */
    _chart_write_error_bars(self, series);

    /* Write the c:cat element. */
    _chart_write_cat(self, series);

    /* Write the c:val element. */
    _chart_write_val(self, series);

    /* Write the c:smooth element. */
    if (self->chart_group == LXW_CHART_SCATTER
        || self->chart_group == LXW_CHART_LINE)
        _chart_write_smooth(self, series->smooth);

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

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movzwl 0xa(%rdi), %r15d
leal 0x1(%r15), %eax
movw %ax, 0xa(%rdi)
movq (%rdi), %rdi
leaq 0x29a50(%rip), %rsi     # 0x3e0f5
xorl %edx, %edx
callq 0xc380
movq %rbx, %rdi
movl %r15d, %esi
callq 0x148f0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x14970
movq %rbx, %rdi
movq %r14, %rsi
callq 0x149f0
movq 0x60(%r14), %rsi
movq 0x68(%r14), %rdx
movq 0x70(%r14), %rcx
movq %rbx, %rdi
callq 0x1201b
movq 0x78(%r14), %rsi
movq %rbx, %rdi
callq 0x14a51
cmpb $0x0, 0x95(%r14)
je 0x1476a
leaq 0x8(%rsp), %r15
andq $0x0, (%r15)
movq %r15, 0x8(%r15)
leaq 0x29d41(%rip), %rdi     # 0x3e44c
leaq 0x2e036(%rip), %rsi     # 0x42748
callq 0xc030
leaq 0x1040(%rax), %rcx
andq $0x0, 0x1040(%rax)
movq 0x8(%r15), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r15)
movq (%rbx), %rdi
leaq 0x29a60(%rip), %rsi     # 0x3e19b
movq %r15, %rdx
callq 0xcc70
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x1476a
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x14763
movq %r15, 0x10(%rsp)
callq 0xc0d0
jmp 0x14743
movq %rbx, %rdi
movq %r14, %rsi
callq 0x14bbd
movq %rbx, %rdi
movq %r14, %rsi
callq 0x14c9d
movq %rbx, %rdi
movq %r14, %rsi
callq 0x151bc
movq %rbx, %rdi
movq %r14, %rsi
callq 0x156b9
movq (%r14), %rax
cmpq $0x0, (%rax)
je 0x147d8
movzbl 0x1d(%rax), %ebp
testl %ebp, %ebp
sete 0x96(%rbx)
movq (%rbx), %rdi
leaq 0x29c9a(%rip), %r15     # 0x3e450
movq %r15, %rsi
xorl %edx, %edx
callq 0xc380
movq (%r14), %rsi
movq %rbx, %rdi
movl %ebp, %edx
callq 0x16b4a
movq (%rbx), %rdi
movq %r15, %rsi
callq 0xc060
movq (%rbx), %rdi
leaq 0x29c68(%rip), %r15     # 0x3e44a
movq %r15, %rsi
xorl %edx, %edx
callq 0xc380
movq 0x8(%r14), %rsi
movq %rbx, %rdi
xorl %edx, %edx
callq 0x16b4a
movq (%rbx), %rdi
movq %r15, %rsi
callq 0xc060
movzbl 0x95(%rbx), %eax
orl $0x4, %eax
cmpl $0xf, %eax
jne 0x14824
movzbl 0x94(%r14), %esi
movq %rbx, %rdi
callq 0x156e5
movq (%rbx), %rdi
leaq 0x298c7(%rip), %rsi     # 0x3e0f5
callq 0xc060
addq $0x18, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq