// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/styles.c
// Function: write_style_xf
STATIC void
_write_style_xf(lxw_styles *self, uint8_t has_hyperlink, uint16_t font_id)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_STR("numFmtId", "0");
    LXW_PUSH_ATTRIBUTES_INT("fontId", font_id);
    LXW_PUSH_ATTRIBUTES_STR("fillId", "0");
    LXW_PUSH_ATTRIBUTES_STR("borderId", "0");

    if (has_hyperlink) {
        LXW_PUSH_ATTRIBUTES_STR("applyNumberFormat", "0");
        LXW_PUSH_ATTRIBUTES_STR("applyFill", "0");
        LXW_PUSH_ATTRIBUTES_STR("applyBorder", "0");
        LXW_PUSH_ATTRIBUTES_STR("applyAlignment", "0");
        LXW_PUSH_ATTRIBUTES_STR("applyProtection", "0");

        lxw_xml_start_tag(self->file, "xf", &attributes);
        _write_hyperlink_alignment(self);
        _write_hyperlink_protection(self);
        lxw_xml_end_tag(self->file, "xf");
    }
    else {
        lxw_xml_empty_tag(self->file, "xf", &attributes);
    }

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %edx, %r15d
movl %esi, %ebp
movq %rdi, 0x20(%rsp)
xorl %ebx, %ebx
leaq 0x10(%rsp), %r12
movq %rbx, (%r12)
movq %r12, 0x8(%r12)
leaq 0x1de5b(%rip), %rdi     # 0x43621
leaq 0x1ffd9(%rip), %r14     # 0x457a6
movq %r14, %rsi
callq 0xc030
movl $0x1040, %r13d          # imm = 0x1040
leaq (%rax,%r13), %rcx
movq %rbx, 0x1040(%rax)
movq 0x8(%r12), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r12)
movl %r15d, %esi
leaq 0x1dfec(%rip), %rdi     # 0x437e9
callq 0xc180
leaq (%rax,%r13), %rcx
movq %rbx, 0x1040(%rax)
movq 0x8(%r12), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r12)
leaq 0x1dfcf(%rip), %rdi     # 0x437f0
movq %r14, %rsi
callq 0xc030
leaq (%rax,%r13), %rcx
movq %rbx, 0x1040(%rax)
movq 0x8(%r12), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r12)
leaq 0x1dfaf(%rip), %rdi     # 0x437f7
movq %r14, %rsi
callq 0xc030
leaq (%rax,%r13), %rcx
movq %rbx, 0x1040(%rax)
movq 0x8(%r12), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r12)
testl %ebp, %ebp
je 0x25a3b
leaq 0x1df89(%rip), %rdi     # 0x43800
leaq 0x1ff28(%rip), %r15     # 0x457a6
movq %r15, %rsi
callq 0xc030
leaq (%rax,%r13), %rcx
xorl %ebp, %ebp
movq %rbp, 0x1040(%rax)
leaq 0x10(%rsp), %r14
movq 0x8(%r14), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r14)
leaq 0x1df68(%rip), %rdi     # 0x43812
movq %r15, %rsi
callq 0xc030
leaq (%rax,%r13), %rcx
movq %rbp, 0x1040(%rax)
movq 0x8(%r14), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r14)
leaq 0x1df4d(%rip), %rdi     # 0x4381c
movq %r15, %rsi
callq 0xc030
leaq (%rax,%r13), %rcx
movq %rbp, 0x1040(%rax)
movq 0x8(%r14), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r14)
leaq 0x1df34(%rip), %rdi     # 0x43828
movq %r15, %rsi
callq 0xc030
leaq (%rax,%r13), %rcx
movq %rbp, 0x1040(%rax)
movq 0x8(%r14), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r14)
leaq 0x1df1e(%rip), %rdi     # 0x43837
movq %r15, %rsi
callq 0xc030
leaq (%rax,%r13), %rcx
movq %rbp, 0x1040(%rax)
movq 0x8(%r14), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r14)
movq 0x20(%rsp), %r15
movq (%r15), %rdi
leaq 0x1dfd1(%rip), %rsi     # 0x43917
movq %r14, %rdx
callq 0xc350
movq %rsp, %r14
movq %rbp, (%r14)
movq %r14, 0x8(%r14)
leaq 0x1ddf7(%rip), %rdi     # 0x43756
leaq 0x1dde5(%rip), %rsi     # 0x4374b
callq 0xc030
addq %rax, %r13
movq %rbp, 0x1040(%rax)
movq 0x8(%r14), %rcx
movq %rax, (%rcx)
movq %r13, 0x8(%r14)
movq (%r15), %rdi
leaq 0x1debd(%rip), %rsi     # 0x43847
movq %r14, %rdx
callq 0xcc00
movq (%r14), %rdi
testq %rdi, %rdi
je 0x259ba
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x259af
movq %r14, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x25995
xorl %ebx, %ebx
movq %rbx, (%rsp)
movq %r14, 0x8(%rsp)
leaq 0x1de85(%rip), %rdi     # 0x43851
leaq 0x1fdd3(%rip), %rsi     # 0x457a6
callq 0xc030
leaq 0x1040(%rax), %rcx
movq %rbx, 0x1040(%rax)
movq 0x8(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rsp)
movq (%r15), %rdi
leaq 0x1be01(%rip), %rsi     # 0x417fe
movq %r14, %rdx
callq 0xcc00
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x25a2a
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x25a23
movq %r14, 0x8(%rsp)
callq 0xc0c0
jmp 0x25a05
movq (%r15), %rdi
leaq 0x1dee3(%rip), %rsi     # 0x43917
callq 0xc060
jmp 0x25a71
movq 0x20(%rsp), %rax
movq (%rax), %rdi
leaq 0x1decd(%rip), %rsi     # 0x43917
leaq 0x10(%rsp), %rdx
callq 0xcc00
jmp 0x25a71
movq 0x1040(%rdi), %rax
movq %rax, 0x10(%rsp)
testq %rax, %rax
jne 0x25a6c
movq %r12, 0x18(%rsp)
callq 0xc0c0
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
jne 0x25a56
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq