// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: worksheet_write_cf_rule_cell
STATIC void
_worksheet_write_cf_rule_cell(lxw_worksheet *self,
                              lxw_cond_format_obj *cond_format)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;
    char *operators[] = {
        "none",
        "equal",
        "notEqual",
        "greaterThan",
        "lessThan",
        "greaterThanOrEqual",
        "lessThanOrEqual",
        "between",
        "notBetween",
    };

    LXW_INIT_ATTRIBUTES();

    LXW_PUSH_ATTRIBUTES_STR("type", cond_format->type_string);

    if (cond_format->dxf_index != LXW_PROPERTY_UNSET)
        LXW_PUSH_ATTRIBUTES_INT("dxfId", cond_format->dxf_index);

    LXW_PUSH_ATTRIBUTES_INT("priority", cond_format->dxf_priority);

    if (cond_format->stop_if_true)
        LXW_PUSH_ATTRIBUTES_INT("stopIfTrue", 1);

    LXW_PUSH_ATTRIBUTES_STR("operator", operators[cond_format->criteria]);

    lxw_xml_start_tag(self->file, "cfRule", &attributes);

    if (cond_format->min_value_string)
        _worksheet_write_formula_str(self, cond_format->min_value_string);
    else
        _worksheet_write_formula_num(self, cond_format->min_value);

    if (cond_format->has_max) {
        if (cond_format->max_value_string)
            _worksheet_write_formula_str(self, cond_format->max_value_string);
        else
            _worksheet_write_formula_num(self, cond_format->max_value);
    }

    lxw_xml_end_tag(self->file, "cfRule");

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq -0x70(%rbp), %rdi
leaq 0x1de75(%rip), %rsi     # 0x7cca0
movl $0x48, %edx
callq 0xc980
movq $0x0, -0x20(%rbp)
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x5ee47
movq -0x10(%rbp), %rax
movq 0x78(%rax), %rsi
leaq 0x955a(%rip), %rdi      # 0x683b0
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 0x5ee89
movq -0x10(%rbp), %rax
cmpl $-0x1, 0x88(%rax)
je 0x5eedf
jmp 0x5ee98
movq -0x10(%rbp), %rax
movslq 0x88(%rax), %rsi
leaq 0xf88c(%rip), %rdi      # 0x6e736
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 0x5eedd
jmp 0x5eedf
jmp 0x5eee1
movq -0x10(%rbp), %rax
movl 0x8c(%rax), %eax
movl %eax, %esi
leaq 0xf848(%rip), %rdi      # 0x6e73c
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 0x5ef27
movq -0x10(%rbp), %rax
cmpb $0x0, 0x73(%rax)
je 0x5ef74
jmp 0x5ef33
leaq 0xf80b(%rip), %rdi      # 0x6e745
movl $0x1, %esi
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 0x5ef72
jmp 0x5ef74
jmp 0x5ef76
movq -0x10(%rbp), %rax
movzbl 0x1(%rax), %eax
movq -0x70(%rbp,%rax,8), %rsi
leaq 0xf72f(%rip), %rdi      # 0x6e6b9
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 0x5efbd
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0xff66(%rip), %rsi      # 0x6ef31
leaq -0x20(%rbp), %rdx
callq 0xc390
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x5eff2
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x60da0
jmp 0x5f004
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movsd 0x8(%rax), %xmm0
callq 0x60de0
movq -0x10(%rbp), %rax
cmpb $0x0, 0x74(%rax)
je 0x5f040
movq -0x10(%rbp), %rax
cmpq $0x0, 0x40(%rax)
je 0x5f02c
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x40(%rax), %rsi
callq 0x60da0
jmp 0x5f03e
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movsd 0x38(%rax), %xmm0
callq 0x60de0
jmp 0x5f040
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0xfee3(%rip), %rsi      # 0x6ef31
callq 0xc060
jmp 0x5f055
cmpq $0x0, -0x20(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x5f065
jmp 0x5f097
movq -0x20(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x5f08a
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x5f08c
movq -0x28(%rbp), %rdi
callq 0xc0d0
jmp 0x5f055
jmp 0x5f099
addq $0x70, %rsp
popq %rbp
retq
nop