// File: /workspace/github_c_makefile_star2_O1/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 0x1582a
orl %esi, 0x10(%rdi)
testb $0x1, %sil
jne 0x157bd
testb $0x2, %sil
jne 0x157c6
testb $0x4, %sil
jne 0x157cb
testb $0x8, %sil
jne 0x157d4
testb $0x10, %sil
jne 0x157dd
testb $0x20, %sil
jne 0x157e6
testb $0x40, %sil
jne 0x157ef
testb %sil, %sil
js 0x157fe
btl $0x8, %esi
jb 0x15803
btl $0xa, %esi
jb 0x15808
btl $0x9, %esi
jb 0x1580d
btl $0xb, %esi
jb 0x15813
xorl %eax, %eax
btl $0xc, %esi
jae 0x15829
cmpl $0x1, %edx
jne 0x15826
movl $0x1, 0x44(%rdi)
retq
testl %edx, %edx
js 0x157f8
movl %edx, 0x14(%rdi)
jmp 0x15810
movl %edx, 0x18(%rdi)
jmp 0x15810
testl %edx, %edx
js 0x157f8
movl %edx, 0x1c(%rdi)
jmp 0x15810
testl %edx, %edx
js 0x157f8
movl %edx, 0x20(%rdi)
jmp 0x15810
testl %edx, %edx
js 0x157f8
movl %edx, 0x24(%rdi)
jmp 0x15810
testl %edx, %edx
js 0x157f8
movl %edx, 0x28(%rdi)
jmp 0x15810
testl %edx, %edx
js 0x157f8
movl %edx, 0x2c(%rdi)
jmp 0x15810
movl $0xfffffffe, %eax       # imm = 0xFFFFFFFE
retq
movl %edx, 0x30(%rdi)
jmp 0x15810
movl %edx, 0x34(%rdi)
jmp 0x15810
movl %edx, 0x38(%rdi)
jmp 0x15810
movl %edx, 0x3c(%rdi)
xorl %eax, %eax
retq
cmpl $0x1, %edx
jne 0x15821
movl $0x1, 0x40(%rdi)
jmp 0x15810
orl %edx, 0x40(%rdi)
jmp 0x15810
orl %edx, 0x44(%rdi)
retq
pushq %rbp
movq %rsp, %rbp
leaq 0x5966(%rip), %rdi      # 0x1b19b
leaq 0x424a(%rip), %rsi      # 0x19a86
leaq 0x595c(%rip), %rcx      # 0x1b19f
movl $0x1226, %edx           # imm = 0x1226
callq 0x7130