// File: /workspace/github_c_makefile_star2_O1/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 0x1de87(%rip), %rdi     # 0x43611
leaq 0x20005(%rip), %r14     # 0x45796
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 0x1e018(%rip), %rdi     # 0x437d9
callq 0xc180
leaq (%rax,%r13), %rcx
movq %rbx, 0x1040(%rax)
movq 0x8(%r12), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r12)
leaq 0x1dffb(%rip), %rdi     # 0x437e0
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 0x1dfdb(%rip), %rdi     # 0x437e7
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 0x259ff
leaq 0x1dfb5(%rip), %rdi     # 0x437f0
leaq 0x1ff54(%rip), %r15     # 0x45796
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 0x1df94(%rip), %rdi     # 0x43802
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 0x1df79(%rip), %rdi     # 0x4380c
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 0x1df60(%rip), %rdi     # 0x43818
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 0x1df4a(%rip), %rdi     # 0x43827
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 0x1dffd(%rip), %rsi     # 0x43907
movq %r14, %rdx
callq 0xc350
movq %rsp, %r14
movq %rbp, (%r14)
movq %r14, 0x8(%r14)
leaq 0x1de23(%rip), %rdi     # 0x43746
leaq 0x1de11(%rip), %rsi     # 0x4373b
callq 0xc030
addq %rax, %r13
movq %rbp, 0x1040(%rax)
movq 0x8(%r14), %rcx
movq %rax, (%rcx)
movq %r13, 0x8(%r14)
movq (%r15), %rdi
leaq 0x1dee9(%rip), %rsi     # 0x43837
movq %r14, %rdx
callq 0xcc00
movq (%r14), %rdi
testq %rdi, %rdi
je 0x2597e
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x25973
movq %r14, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x25959
xorl %ebx, %ebx
movq %rbx, (%rsp)
movq %r14, 0x8(%rsp)
leaq 0x1deb1(%rip), %rdi     # 0x43841
leaq 0x1fdff(%rip), %rsi     # 0x45796
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 0x1be45(%rip), %rsi     # 0x41806
movq %r14, %rdx
callq 0xcc00
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x259ee
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x259e7
movq %r14, 0x8(%rsp)
callq 0xc0c0
jmp 0x259c9
movq (%r15), %rdi
leaq 0x1df0f(%rip), %rsi     # 0x43907
callq 0xc060
jmp 0x25a35
movq 0x20(%rsp), %rax
movq (%rax), %rdi
leaq 0x1def9(%rip), %rsi     # 0x43907
leaq 0x10(%rsp), %rdx
callq 0xcc00
jmp 0x25a35
movq 0x1040(%rdi), %rax
movq %rax, 0x10(%rsp)
testq %rax, %rax
jne 0x25a30
movq %r12, 0x18(%rsp)
callq 0xc0c0
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
jne 0x25a1a
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq