// File: /workspace/github_c_makefile_star2_O2/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_sp_pr
STATIC void
_chart_write_sp_pr(lxw_chart *self, lxw_chart_line *line,
                   lxw_chart_fill *fill, lxw_chart_pattern *pattern)
{
    if (!line && !fill && !pattern)
        return;

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

    /* Write the series fill. Note: a pattern fill overrides a solid fill. */
    if (fill && !pattern) {
        if (fill->none) {
            /* Write the a:noFill element. */
            _chart_write_a_no_fill(self);
        }
        else {
            /* Write the a:solidFill element. */
            _chart_write_a_solid_fill(self, fill->color, fill->transparency);
        }
    }

    if (pattern) {
        /* Write the a:pattFill element. */
        _chart_write_a_patt_fill(self, pattern);
    }

    if (line) {
        /* Write the a:ln element. */
        _chart_write_a_ln(self, line);
    }

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

// Assembly:
movq %rsi, %rax
orq %rdx, %rax
orq %rcx, %rax
je 0x12388
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rcx, %r15
movq %rdx, %r12
movq %rsi, %r14
movq %rdi, %rbx
testq %rcx, %rcx
setne %bpl
movq (%rdi), %rdi
leaq 0x2c236(%rip), %rsi     # 0x3e28b
xorl %edx, %edx
callq 0xc380
testq %r12, %r12
sete %al
orb %bpl, %al
je 0x1209b
testq %r15, %r15
je 0x120bf
leaq 0x8(%rsp), %rax
andq $0x0, (%rax)
movq %rax, 0x8(%rax)
movzbl 0x8(%r15), %eax
cmpq $0x30, %rax
ja 0x1224b
leaq 0x2b27d(%rip), %rcx     # 0x3d30c
movslq (%rcx,%rax,4), %rsi
addq %rcx, %rsi
jmp 0x12252
cmpb $0x0, 0x4(%r12)
je 0x120ad
movq %rbx, %rdi
callq 0x188d3
jmp 0x120bf
movl (%r12), %esi
movzbl 0x5(%r12), %edx
movq %rbx, %rdi
callq 0x16654
testq %r14, %r14
je 0x1236b
leaq 0x18(%rsp), %r15
andq $0x0, (%r15)
movq %r15, 0x8(%r15)
movss 0x8(%r14), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jbe 0x1214e
cvtss2sd %xmm0, %xmm0
addsd 0x2b3c1(%rip), %xmm0    # 0x3d4b0
mulsd 0x2b3c1(%rip), %xmm0    # 0x3d4b8
cvttsd2si %xmm0, %rax
movl %eax, %eax
cvtsi2ss %rax, %xmm0
mulss 0x2b3cd(%rip), %xmm0    # 0x3d4d8
cvtss2sd %xmm0, %xmm0
mulsd 0x2b3a9(%rip), %xmm0    # 0x3d4c0
addsd 0x2b3a9(%rip), %xmm0    # 0x3d4c8
cvttsd2si %xmm0, %rax
movl %eax, %esi
leaq 0x31346(%rip), %rdi     # 0x43473
callq 0xc1a0
andq $0x0, 0x1040(%rax)
leaq 0x1040(%rax), %rcx
movq 0x20(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x20(%rsp)
cmpb $0x0, 0x4(%r14)
jne 0x12166
cmpl $0x0, (%r14)
jne 0x12166
cmpb $0x0, 0xc(%r14)
je 0x12330
movq (%rbx), %rdi
leaq 0x2c8b1(%rip), %rsi     # 0x3ea21
leaq 0x18(%rsp), %rdx
callq 0xc380
cmpb $0x0, 0x4(%r14)
je 0x1218b
movq %rbx, %rdi
callq 0x188d3
jmp 0x1219f
movl (%r14), %esi
testl %esi, %esi
je 0x1219f
movzbl 0xd(%r14), %edx
movq %rbx, %rdi
callq 0x16654
movsbq 0xc(%r14), %rax
testq %rax, %rax
je 0x12237
leaq 0x8(%rsp), %r14
andq $0x0, (%r14)
movq %r14, 0x8(%r14)
cmpb $0xa, %al
ja 0x121cf
leaq 0x2b20b(%rip), %rcx     # 0x3d3d0
movslq -0x4(%rcx,%rax,4), %rsi
addq %rcx, %rsi
jmp 0x121d6
leaq 0x2bf9f(%rip), %rsi     # 0x3e175
leaq 0x2c26f(%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 (%rbx), %rdi
leaq 0x2c870(%rip), %rsi     # 0x3ea78
movq %r14, %rdx
callq 0xcc70
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x12237
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x12230
movq %r14, 0x10(%rsp)
callq 0xc0d0
jmp 0x12210
movq (%rbx), %rdi
leaq 0x2c7e0(%rip), %rsi     # 0x3ea21
callq 0xc060
jmp 0x12361
leaq 0x2c7a9(%rip), %rsi     # 0x3e9fb
leaq 0x2c62c(%rip), %rdi     # 0x3e885
callq 0xc030
leaq 0x1040(%rax), %rcx
andq $0x0, 0x1040(%rax)
leaq 0x8(%rsp), %r12
movq 0x8(%r12), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r12)
movq (%rbx), %rdi
leaq 0x2c77d(%rip), %rsi     # 0x3ea06
movq %r12, %rdx
callq 0xc380
movl (%r15), %ebp
testl %ebp, %ebp
je 0x122c3
movq (%rbx), %rdi
leaq 0x2c76f(%rip), %r13     # 0x3ea11
movq %r13, %rsi
xorl %edx, %edx
callq 0xc380
movq %rbx, %rdi
movl %ebp, %esi
xorl %edx, %edx
callq 0x16697
movq (%rbx), %rdi
movq %r13, %rsi
callq 0xc060
movl 0x4(%r15), %ebp
testl %ebp, %ebp
je 0x122f6
movq (%rbx), %rdi
leaq 0x2c744(%rip), %r15     # 0x3ea19
movq %r15, %rsi
xorl %edx, %edx
callq 0xc380
movq %rbx, %rdi
movl %ebp, %esi
xorl %edx, %edx
callq 0x16697
movq (%rbx), %rdi
movq %r15, %rsi
callq 0xc060
movq (%rbx), %rdi
leaq 0x2c706(%rip), %rsi     # 0x3ea06
callq 0xc060
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x120bf
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x12329
movq %r12, 0x10(%rsp)
callq 0xc0d0
jmp 0x12305
movq (%rbx), %rdi
leaq 0x2c6e7(%rip), %rsi     # 0x3ea21
leaq 0x18(%rsp), %rdx
callq 0xcc70
jmp 0x12361
movq 0x1040(%rdi), %rax
movq %rax, 0x18(%rsp)
testq %rax, %rax
jne 0x1235c
movq %r15, 0x20(%rsp)
callq 0xc0d0
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
jne 0x12346
movq (%rbx), %rdi
leaq 0x2bf16(%rip), %rsi     # 0x3e28b
callq 0xc060
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq