// File: /workspace/github_c_makefile_star2_O2/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, %rbx
leaq 0x18(%rsp), %r12
andq $0x0, (%r12)
movq %r12, 0x8(%r12)
leaq 0x1e176(%rip), %rdi     # 0x40621
leaq 0x202f4(%rip), %r14     # 0x427a6
movq %r14, %rsi
callq 0xc030
movl $0x1040, %r13d          # imm = 0x1040
leaq (%rax,%r13), %rcx
andq $0x0, 0x1040(%rax)
movq 0x8(%r12), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r12)
movl %r15d, %esi
leaq 0x1e306(%rip), %rdi     # 0x407e9
callq 0xc1a0
andq $0x0, 0x1040(%rax)
leaq (%rax,%r13), %rcx
movq 0x8(%r12), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r12)
leaq 0x1e2e8(%rip), %rdi     # 0x407f0
movq %r14, %rsi
callq 0xc030
andq $0x0, 0x1040(%rax)
leaq (%rax,%r13), %rcx
movq 0x8(%r12), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r12)
leaq 0x1e2c7(%rip), %rdi     # 0x407f7
movq %r14, %rsi
callq 0xc030
leaq (%rax,%r13), %rcx
andq $0x0, 0x1040(%rax)
movq 0x8(%r12), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r12)
testl %ebp, %ebp
je 0x22728
leaq 0x1e2a0(%rip), %rdi     # 0x40800
leaq 0x2023f(%rip), %r15     # 0x427a6
movq %r15, %rsi
callq 0xc030
leaq (%rax,%r13), %rcx
andq $0x0, 0x1040(%rax)
leaq 0x18(%rsp), %r14
movq 0x8(%r14), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r14)
leaq 0x1e280(%rip), %rdi     # 0x40812
movq %r15, %rsi
callq 0xc030
andq $0x0, 0x1040(%rax)
leaq (%rax,%r13), %rcx
movq 0x8(%r14), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r14)
leaq 0x1e264(%rip), %rdi     # 0x4081c
movq %r15, %rsi
callq 0xc030
andq $0x0, 0x1040(%rax)
leaq (%rax,%r13), %rcx
movq 0x8(%r14), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r14)
leaq 0x1e24a(%rip), %rdi     # 0x40828
movq %r15, %rsi
callq 0xc030
andq $0x0, 0x1040(%rax)
leaq (%rax,%r13), %rcx
movq 0x8(%r14), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r14)
leaq 0x1e233(%rip), %rdi     # 0x40837
movq %r15, %rsi
callq 0xc030
leaq (%rax,%r13), %rcx
andq $0x0, 0x1040(%rax)
movq 0x8(%r14), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r14)
movq (%rbx), %rdi
leaq 0x1e2ea(%rip), %rsi     # 0x40917
movq %r14, %rdx
callq 0xc380
leaq 0x8(%rsp), %r14
andq $0x0, (%r14)
movq %r14, 0x8(%r14)
leaq 0x1e10d(%rip), %rdi     # 0x40756
leaq 0x1e0fb(%rip), %rsi     # 0x4074b
callq 0xc030
addq %rax, %r13
andq $0x0, 0x1040(%rax)
movq 0x8(%r14), %rcx
movq %rax, (%rcx)
movq %r13, 0x8(%r14)
movq (%rbx), %rdi
leaq 0x1e1d2(%rip), %rsi     # 0x40847
movq %r14, %rdx
callq 0xcc70
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x226a4
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x2269d
movq %r14, 0x10(%rsp)
callq 0xc0d0
jmp 0x2267d
andq $0x0, 0x8(%rsp)
movq %r14, 0x10(%rsp)
leaq 0x1e19b(%rip), %rdi     # 0x40851
leaq 0x200e9(%rip), %rsi     # 0x427a6
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 0x1c116(%rip), %rsi     # 0x3e7fe
movq %r14, %rdx
callq 0xcc70
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x22717
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x22710
movq %r14, 0x10(%rsp)
callq 0xc0d0
jmp 0x226f0
movq (%rbx), %rdi
leaq 0x1e1f6(%rip), %rsi     # 0x40917
callq 0xc060
jmp 0x22759
movq (%rbx), %rdi
leaq 0x1e1e5(%rip), %rsi     # 0x40917
leaq 0x18(%rsp), %rdx
callq 0xcc70
jmp 0x22759
movq 0x1040(%rdi), %rax
movq %rax, 0x18(%rsp)
testq %rax, %rax
jne 0x22754
movq %r12, 0x20(%rsp)
callq 0xc0d0
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
jne 0x2273e
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq