// File: /workspace/github_c_makefile_star2_O1/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 %r12
pushq %rbx
subq $0x10, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movzwl 0xa(%rdi), %r15d
leal 0x1(%r15), %eax
movw %ax, 0xa(%rdi)
movq (%rdi), %rdi
leaq 0x29dc6(%rip), %rsi     # 0x410fd
xorl %edx, %edx
callq 0xc350
movq %rbx, %rdi
movl %r15d, %esi
callq 0x1759c
movq %rbx, %rdi
movl %r15d, %esi
callq 0x17620
movq %rbx, %rdi
movq %r14, %rsi
callq 0x176a4
movq 0x60(%r14), %rsi
movq 0x68(%r14), %rdx
movq 0x70(%r14), %rcx
movq %rbx, %rdi
callq 0x14fbe
movq 0x78(%r14), %rsi
movq %rbx, %rdi
callq 0x1770e
cmpb $0x0, 0x95(%r14)
je 0x173fc
xorl %r12d, %r12d
movq %rsp, %r15
movq %r12, (%r15)
movq %r15, 0x8(%r15)
leaq 0x2a0b7(%rip), %rdi     # 0x41454
leaq 0x2e394(%rip), %rsi     # 0x45738
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 0x29dd7(%rip), %rsi     # 0x411a3
movq %r15, %rdx
callq 0xcc00
movq (%r15), %rdi
testq %rdi, %rdi
je 0x173fc
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x173f1
movq %r15, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x173d7
movq %rbx, %rdi
movq %r14, %rsi
callq 0x17892
movq %rbx, %rdi
movq %r14, %rsi
callq 0x1797d
movq %rbx, %rdi
movq %r14, %rsi
callq 0x17ed7
movq 0xc8(%r14), %rsi
movq %rbx, %rdi
callq 0x19529
movq 0xd0(%r14), %rsi
movq %rbx, %rdi
callq 0x19529
movq (%r14), %rax
cmpq $0x0, (%rax)
je 0x1747d
movzbl 0x1d(%rax), %ebp
testl %ebp, %ebp
sete 0x96(%rbx)
movq (%rbx), %rdi
leaq 0x29ffd(%rip), %r15     # 0x41458
movq %r15, %rsi
xorl %edx, %edx
callq 0xc350
movq (%r14), %rsi
movq %rbx, %rdi
movl %ebp, %edx
callq 0x19843
movq (%rbx), %rdi
movq %r15, %rsi
callq 0xc060
movq (%rbx), %rdi
leaq 0x29fcb(%rip), %r15     # 0x41452
movq %r15, %rsi
xorl %edx, %edx
callq 0xc350
movq 0x8(%r14), %rsi
movq %rbx, %rdi
xorl %edx, %edx
callq 0x19843
movq (%rbx), %rdi
movq %r15, %rsi
callq 0xc060
movzbl 0x95(%rbx), %eax
orl $0x4, %eax
cmpl $0xf, %eax
jne 0x174c9
movzbl 0x94(%r14), %esi
movq %rbx, %rdi
callq 0x183c9
movq (%rbx), %rdi
leaq 0x29c2a(%rip), %rsi     # 0x410fd
callq 0xc060
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq