// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: worksheet_write_cf_rule_blanks
STATIC void
_worksheet_write_cf_rule_blanks(lxw_worksheet *self,
                                lxw_cond_format_obj *cond_format)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;
    char formula[LXW_ATTR_32];
    uint8_t type = cond_format->type;

    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_xml_start_tag(self->file, "cfRule", &attributes);

    if (type == LXW_CONDITIONAL_TYPE_BLANKS) {
        lxw_snprintf(formula, LXW_ATTR_32, "LEN(TRIM(%s))=0",
                     cond_format->first_cell);
        _worksheet_write_formula_str(self, formula);
    }
    else if (type == LXW_CONDITIONAL_TYPE_NO_BLANKS) {
        lxw_snprintf(formula, LXW_ATTR_32, "LEN(TRIM(%s))>0",
                     cond_format->first_cell);
        _worksheet_write_formula_str(self, formula);
    }
    else if (type == LXW_CONDITIONAL_TYPE_ERRORS) {
        lxw_snprintf(formula, LXW_ATTR_32, "ISERROR(%s)",
                     cond_format->first_cell);
        _worksheet_write_formula_str(self, formula);
    }
    else if (type == LXW_CONDITIONAL_TYPE_NO_ERRORS) {
        lxw_snprintf(formula, LXW_ATTR_32, "NOT(ISERROR(%s))",
                     cond_format->first_cell);
        _worksheet_write_formula_str(self, formula);
    }

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

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movb (%rax), %al
movb %al, -0x51(%rbp)
movq $0x0, -0x20(%rbp)
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x6034b
movq -0x10(%rbp), %rax
movq 0x78(%rax), %rsi
leaq 0x8056(%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 0x6038d
movq -0x10(%rbp), %rax
cmpl $-0x1, 0x88(%rax)
je 0x603e3
jmp 0x6039c
movq -0x10(%rbp), %rax
movslq 0x88(%rax), %rsi
leaq 0xe388(%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 0x603e1
jmp 0x603e3
jmp 0x603e5
movq -0x10(%rbp), %rax
movl 0x8c(%rax), %eax
movl %eax, %esi
leaq 0xe344(%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 0x6042b
movq -0x10(%rbp), %rax
cmpb $0x0, 0x73(%rax)
je 0x60478
jmp 0x60437
leaq 0xe307(%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 0x60476
jmp 0x60478
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0xeaab(%rip), %rsi      # 0x6ef31
leaq -0x20(%rbp), %rdx
callq 0xc390
movzbl -0x51(%rbp), %eax
cmpl $0x9, %eax
jne 0x604cc
leaq -0x50(%rbp), %rdi
movq -0x10(%rbp), %rcx
addq $0x90, %rcx
movl $0x20, %esi
leaq 0xe631(%rip), %rdx      # 0x6eae4
movb $0x0, %al
callq 0xc5d0
movq -0x8(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x60da0
jmp 0x6057e
movzbl -0x51(%rbp), %eax
cmpl $0xa, %eax
jne 0x60506
leaq -0x50(%rbp), %rdi
movq -0x10(%rbp), %rcx
addq $0x90, %rcx
movl $0x20, %esi
leaq 0xe604(%rip), %rdx      # 0x6eaf4
movb $0x0, %al
callq 0xc5d0
movq -0x8(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x60da0
jmp 0x6057c
movzbl -0x51(%rbp), %eax
cmpl $0xb, %eax
jne 0x60540
leaq -0x50(%rbp), %rdi
movq -0x10(%rbp), %rcx
addq $0x90, %rcx
movl $0x20, %esi
leaq 0xe5da(%rip), %rdx      # 0x6eb04
movb $0x0, %al
callq 0xc5d0
movq -0x8(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x60da0
jmp 0x6057a
movzbl -0x51(%rbp), %eax
cmpl $0xc, %eax
jne 0x60578
leaq -0x50(%rbp), %rdi
movq -0x10(%rbp), %rcx
addq $0x90, %rcx
movl $0x20, %esi
leaq 0xe5ac(%rip), %rdx      # 0x6eb10
movb $0x0, %al
callq 0xc5d0
movq -0x8(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x60da0
jmp 0x6057a
jmp 0x6057c
jmp 0x6057e
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0xe9a5(%rip), %rsi      # 0x6ef31
callq 0xc060
jmp 0x60593
cmpq $0x0, -0x20(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x605a3
jmp 0x605d5
movq -0x20(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x605c8
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x605ca
movq -0x28(%rbp), %rdi
callq 0xc0d0
jmp 0x60593
jmp 0x605d7
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax)