// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_a_def_rpr
STATIC void
_chart_write_a_def_rpr(lxw_chart *self, lxw_chart_font *font)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;
    uint8_t has_color = LXW_FALSE;
    uint8_t has_latin = LXW_FALSE;
    uint8_t use_font_default = LXW_FALSE;

    LXW_INIT_ATTRIBUTES();

    if (font) {
        has_color = !!font->color;
        has_latin = font->name || font->pitch_family || font->charset;
        use_font_default = !(has_color || has_latin || font->baseline == -1);

        /* Set the font attributes. */
        if (font->size > 0.0)
            LXW_PUSH_ATTRIBUTES_DBL("sz", font->size);

        if (use_font_default || font->bold)
            LXW_PUSH_ATTRIBUTES_INT("b", font->bold & 0x1);

        if (use_font_default || font->italic)
            LXW_PUSH_ATTRIBUTES_INT("i", font->italic & 0x1);

        if (font->underline)
            LXW_PUSH_ATTRIBUTES_STR("u", "sng");

        if (font->baseline != -1)
            LXW_PUSH_ATTRIBUTES_INT("baseline", font->baseline);
    }

    /* There are sub-elements if the font name or color have changed. */
    if (has_latin || has_color) {

        lxw_xml_start_tag(self->file, "a:defRPr", &attributes);

        if (has_color) {
            _chart_write_a_solid_fill(self, font->color, LXW_FALSE);
        }

        if (has_latin) {
            /* Free and reuse the attribute list for the latin attributes. */
            LXW_FREE_ATTRIBUTES();

            if (font->name)
                LXW_PUSH_ATTRIBUTES_STR("typeface", font->name);

            if (font->pitch_family)
                LXW_PUSH_ATTRIBUTES_INT("pitchFamily", font->pitch_family);

            if (font->pitch_family || font->charset)
                LXW_PUSH_ATTRIBUTES_INT("charset", font->charset);

            /* Write the <a:latin> element. */
            lxw_xml_empty_tag(self->file, "a:latin", &attributes);
        }

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

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movb $0x0, -0x29(%rbp)
movb $0x0, -0x2a(%rbp)
movb $0x0, -0x2b(%rbp)
movq $0x0, -0x20(%rbp)
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x1b607
movq -0x10(%rbp), %rax
cmpl $0x0, 0x18(%rax)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
movb %al, -0x29(%rbp)
movq -0x10(%rbp), %rcx
movb $0x1, %al
cmpq $0x0, (%rcx)
movb %al, -0x2c(%rbp)
jne 0x1b400
movq -0x10(%rbp), %rax
movzbl 0x1c(%rax), %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x2c(%rbp)
jne 0x1b400
movq -0x10(%rbp), %rax
movzbl 0x1d(%rax), %eax
cmpl $0x0, %eax
setne %al
movb %al, -0x2c(%rbp)
movb -0x2c(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movb %al, -0x2a(%rbp)
movzbl -0x29(%rbp), %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x2d(%rbp)
jne 0x1b438
movzbl -0x2a(%rbp), %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x2d(%rbp)
jne 0x1b438
movq -0x10(%rbp), %rax
movsbl 0x1e(%rax), %eax
cmpl $-0x1, %eax
sete %al
movb %al, -0x2d(%rbp)
movb -0x2d(%rbp), %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
movb %al, -0x2b(%rbp)
movq -0x10(%rbp), %rax
movsd 0x8(%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jbe 0x1b49e
jmp 0x1b459
movq -0x10(%rbp), %rax
movsd 0x8(%rax), %xmm0
leaq 0x4bc02(%rip), %rdi     # 0x6706b
callq 0xcd20
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x1b49c
jmp 0x1b49e
movzbl -0x2b(%rbp), %eax
cmpl $0x0, %eax
jne 0x1b4b4
movq -0x10(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x0, %eax
je 0x1b500
jmp 0x1b4b6
movq -0x10(%rbp), %rax
movzbl 0x10(%rax), %eax
andl $0x1, %eax
movslq %eax, %rsi
leaq 0x4ab3a(%rip), %rdi     # 0x66005
callq 0xc1b0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x1b4fe
jmp 0x1b500
movzbl -0x2b(%rbp), %eax
cmpl $0x0, %eax
jne 0x1b516
movq -0x10(%rbp), %rax
movzbl 0x11(%rax), %eax
cmpl $0x0, %eax
je 0x1b562
jmp 0x1b518
movq -0x10(%rbp), %rax
movzbl 0x11(%rax), %eax
andl $0x1, %eax
movslq %eax, %rsi
leaq 0x5309b(%rip), %rdi     # 0x6e5c8
callq 0xc1b0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x1b560
jmp 0x1b562
movq -0x10(%rbp), %rax
cmpb $0x0, 0x12(%rax)
je 0x1b5b1
jmp 0x1b56e
leaq 0x4cfd3(%rip), %rdi     # 0x68548
leaq 0x4baf2(%rip), %rsi     # 0x6706e
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x1b5af
jmp 0x1b5b1
movq -0x10(%rbp), %rax
movsbl 0x1e(%rax), %eax
cmpl $-0x1, %eax
je 0x1b605
jmp 0x1b5c0
movq -0x10(%rbp), %rax
movsbq 0x1e(%rax), %rsi
leaq 0x4baa2(%rip), %rdi     # 0x67072
callq 0xc1b0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x1b603
jmp 0x1b605
jmp 0x1b607
movzbl -0x2a(%rbp), %eax
cmpl $0x0, %eax
jne 0x1b61d
movzbl -0x29(%rbp), %eax
cmpl $0x0, %eax
je 0x1b7cd
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x4ba50(%rip), %rsi     # 0x6707b
leaq -0x20(%rbp), %rdx
callq 0xc390
cmpb $0x0, -0x29(%rbp)
je 0x1b64c
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x18(%rax), %esi
xorl %edx, %edx
callq 0x1b840
cmpb $0x0, -0x2a(%rbp)
je 0x1b7b8
jmp 0x1b658
jmp 0x1b65a
cmpq $0x0, -0x20(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1b66a
jmp 0x1b69c
movq -0x20(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x1b68f
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x1b691
movq -0x28(%rbp), %rdi
callq 0xc0d0
jmp 0x1b65a
jmp 0x1b69e
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x1b6ed
jmp 0x1b6aa
movq -0x10(%rbp), %rax
movq (%rax), %rsi
leaq 0x4b9cc(%rip), %rdi     # 0x67084
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x1b6eb
jmp 0x1b6ed
movq -0x10(%rbp), %rax
cmpb $0x0, 0x1c(%rax)
je 0x1b73f
jmp 0x1b6f9
movq -0x10(%rbp), %rax
movzbl 0x1c(%rax), %eax
movl %eax, %esi
leaq 0x4b983(%rip), %rdi     # 0x6708d
callq 0xc1b0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x1b73d
jmp 0x1b73f
movq -0x10(%rbp), %rax
movzbl 0x1c(%rax), %eax
cmpl $0x0, %eax
jne 0x1b759
movq -0x10(%rbp), %rax
movzbl 0x1d(%rax), %eax
cmpl $0x0, %eax
je 0x1b7a1
jmp 0x1b75b
movq -0x10(%rbp), %rax
movzbl 0x1d(%rax), %eax
movl %eax, %esi
leaq 0x4b92d(%rip), %rdi     # 0x67099
callq 0xc1b0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x1b79f
jmp 0x1b7a1
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x4b8f2(%rip), %rsi     # 0x670a1
leaq -0x20(%rbp), %rdx
callq 0xcca0
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x4b8b5(%rip), %rsi     # 0x6707b
callq 0xc060
jmp 0x1b7e4
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x4b8a0(%rip), %rsi     # 0x6707b
leaq -0x20(%rbp), %rdx
callq 0xcca0
jmp 0x1b7e6
jmp 0x1b7e8
cmpq $0x0, -0x20(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1b7f8
jmp 0x1b82a
movq -0x20(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x1b81d
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x1b81f
movq -0x28(%rbp), %rdi
callq 0xc0d0
jmp 0x1b7e8
jmp 0x1b82c
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)