// File: /workspace/github_c_makefile_star2_O2/neosploit[P]compiler/libfort/lib/fort.c
// Function: set_cell_property_impl
static f_status set_cell_property_impl(f_cell_props_t *opt, uint32_t property, int value)
{
    assert(opt);

    PROP_SET(opt->properties_flags, property);
    if (PROP_IS_SET(property, FT_CPROP_MIN_WIDTH)) {
        CHECK_NOT_NEGATIVE(value);
        opt->col_min_width = value;
    } else if (PROP_IS_SET(property, FT_CPROP_TEXT_ALIGN)) {
        opt->align = (enum ft_text_alignment)value;
    } else if (PROP_IS_SET(property, FT_CPROP_TOP_PADDING)) {
        CHECK_NOT_NEGATIVE(value);
        opt->cell_padding_top = value;
    } else if (PROP_IS_SET(property, FT_CPROP_BOTTOM_PADDING)) {
        CHECK_NOT_NEGATIVE(value);
        opt->cell_padding_bottom = value;
    } else if (PROP_IS_SET(property, FT_CPROP_LEFT_PADDING)) {
        CHECK_NOT_NEGATIVE(value);
        opt->cell_padding_left = value;
    } else if (PROP_IS_SET(property, FT_CPROP_RIGHT_PADDING)) {
        CHECK_NOT_NEGATIVE(value);
        opt->cell_padding_right = value;
    } else if (PROP_IS_SET(property, FT_CPROP_EMPTY_STR_HEIGHT)) {
        CHECK_NOT_NEGATIVE(value);
        opt->cell_empty_string_height = value;
    } else if (PROP_IS_SET(property, FT_CPROP_ROW_TYPE)) {
        opt->row_type = (enum ft_row_type)value;
    } else if (PROP_IS_SET(property, FT_CPROP_CONT_FG_COLOR)) {
        opt->content_fg_color_number = value;
    } else if (PROP_IS_SET(property, FT_CPROP_CONT_BG_COLOR)) {
        opt->content_bg_color_number = value;
    } else if (PROP_IS_SET(property, FT_CPROP_CELL_BG_COLOR)) {
        opt->cell_bg_color_number = value;
    } else if (PROP_IS_SET(property, FT_CPROP_CELL_TEXT_STYLE)) {
        enum ft_text_style v = (enum ft_text_style)value;
        if (v == FT_TSTYLE_DEFAULT) {
            opt->cell_text_style = FT_TSTYLE_DEFAULT;
        } else {
            opt->cell_text_style = (enum ft_text_style)(opt->cell_text_style | v);
        }
    } else if (PROP_IS_SET(property, FT_CPROP_CONT_TEXT_STYLE)) {
        enum ft_text_style v = (enum ft_text_style)value;
        if (v == FT_TSTYLE_DEFAULT) {
            opt->content_text_style = v;
        } else {
            opt->content_text_style = (enum ft_text_style)(opt->content_text_style | v);
        }
    }

    return FT_SUCCESS;

fort_fail:
    return FT_EINVAL;
}

// Assembly:
testq %rdi, %rdi
je 0x14333
orl %esi, 0x10(%rdi)
testb $0x1, %sil
jne 0x142c8
testb $0x2, %sil
jne 0x142d1
testb $0x4, %sil
jne 0x142d6
testb $0x8, %sil
jne 0x142df
testb $0x10, %sil
jne 0x142e8
testb $0x20, %sil
jne 0x142f1
testb $0x40, %sil
jne 0x142fa
testb %sil, %sil
js 0x14307
btl $0x8, %esi
jb 0x1430c
btl $0xa, %esi
jb 0x14311
btl $0x9, %esi
jb 0x14316
btl $0xb, %esi
jb 0x1431c
xorl %eax, %eax
btl $0xc, %esi
jae 0x14332
cmpl $0x1, %edx
jne 0x1432f
movl $0x1, 0x44(%rdi)
retq
testl %edx, %edx
js 0x14303
movl %edx, 0x14(%rdi)
jmp 0x14319
movl %edx, 0x18(%rdi)
jmp 0x14319
testl %edx, %edx
js 0x14303
movl %edx, 0x1c(%rdi)
jmp 0x14319
testl %edx, %edx
js 0x14303
movl %edx, 0x20(%rdi)
jmp 0x14319
testl %edx, %edx
js 0x14303
movl %edx, 0x24(%rdi)
jmp 0x14319
testl %edx, %edx
js 0x14303
movl %edx, 0x28(%rdi)
jmp 0x14319
testl %edx, %edx
js 0x14303
movl %edx, 0x2c(%rdi)
jmp 0x14319
pushq $-0x2
popq %rax
retq
movl %edx, 0x30(%rdi)
jmp 0x14319
movl %edx, 0x34(%rdi)
jmp 0x14319
movl %edx, 0x38(%rdi)
jmp 0x14319
movl %edx, 0x3c(%rdi)
xorl %eax, %eax
retq
cmpl $0x1, %edx
jne 0x1432a
movl $0x1, 0x40(%rdi)
jmp 0x14319
orl %edx, 0x40(%rdi)
jmp 0x14319
orl %edx, 0x44(%rdi)
retq
pushq %rbp
movq %rsp, %rbp
leaq 0x5d5b(%rip), %rdi      # 0x1a099
leaq 0x4731(%rip), %rsi      # 0x18a76
leaq 0x5d51(%rip), %rcx      # 0x1a09d
movl $0x1226, %edx           # imm = 0x1226
callq 0x7120