// File: /workspace/github_c_makefile_star2_O0/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:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movl %edx, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x1df2b
jmp 0x1df4a
leaq 0x6574(%rip), %rdi      # 0x244a6
leaq 0x4c5d(%rip), %rsi      # 0x22b96
movl $0x1226, %edx           # imm = 0x1226
leaq 0x6565(%rip), %rcx      # 0x244aa
callq 0x7120
movl -0x14(%rbp), %ecx
movq -0x10(%rbp), %rax
orl 0x10(%rax), %ecx
movl %ecx, 0x10(%rax)
movl -0x14(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x1df80
jmp 0x1df64
cmpl $0x0, -0x18(%rbp)
jge 0x1df6f
jmp 0x1e166
jmp 0x1df71
movl -0x18(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x14(%rax)
jmp 0x1e15d
movl -0x14(%rbp), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x1df9a
movl -0x18(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x18(%rax)
jmp 0x1e15b
movl -0x14(%rbp), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x1dfc3
jmp 0x1dfa7
cmpl $0x0, -0x18(%rbp)
jge 0x1dfb2
jmp 0x1e166
jmp 0x1dfb4
movl -0x18(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x1c(%rax)
jmp 0x1e159
movl -0x14(%rbp), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x1dfec
jmp 0x1dfd0
cmpl $0x0, -0x18(%rbp)
jge 0x1dfdb
jmp 0x1e166
jmp 0x1dfdd
movl -0x18(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x20(%rax)
jmp 0x1e157
movl -0x14(%rbp), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x1e015
jmp 0x1dff9
cmpl $0x0, -0x18(%rbp)
jge 0x1e004
jmp 0x1e166
jmp 0x1e006
movl -0x18(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x24(%rax)
jmp 0x1e155
movl -0x14(%rbp), %eax
andl $0x20, %eax
cmpl $0x0, %eax
je 0x1e03e
jmp 0x1e022
cmpl $0x0, -0x18(%rbp)
jge 0x1e02d
jmp 0x1e166
jmp 0x1e02f
movl -0x18(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x28(%rax)
jmp 0x1e153
movl -0x14(%rbp), %eax
andl $0x40, %eax
cmpl $0x0, %eax
je 0x1e067
jmp 0x1e04b
cmpl $0x0, -0x18(%rbp)
jge 0x1e056
jmp 0x1e166
jmp 0x1e058
movl -0x18(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x2c(%rax)
jmp 0x1e151
movl -0x14(%rbp), %eax
andl $0x80, %eax
cmpl $0x0, %eax
je 0x1e083
movl -0x18(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x30(%rax)
jmp 0x1e14f
movl -0x14(%rbp), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x1e09f
movl -0x18(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x34(%rax)
jmp 0x1e14d
movl -0x14(%rbp), %eax
andl $0x400, %eax            # imm = 0x400
cmpl $0x0, %eax
je 0x1e0bb
movl -0x18(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x38(%rax)
jmp 0x1e14b
movl -0x14(%rbp), %eax
andl $0x200, %eax            # imm = 0x200
cmpl $0x0, %eax
je 0x1e0d4
movl -0x18(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x3c(%rax)
jmp 0x1e149
movl -0x14(%rbp), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0x1e10d
movl -0x18(%rbp), %eax
movl %eax, -0x1c(%rbp)
cmpl $0x1, -0x1c(%rbp)
jne 0x1e0fa
movq -0x10(%rbp), %rax
movl $0x1, 0x40(%rax)
jmp 0x1e10b
movq -0x10(%rbp), %rax
movl 0x40(%rax), %ecx
orl -0x1c(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x40(%rax)
jmp 0x1e147
movl -0x14(%rbp), %eax
andl $0x1000, %eax           # imm = 0x1000
cmpl $0x0, %eax
je 0x1e145
movl -0x18(%rbp), %eax
movl %eax, -0x20(%rbp)
cmpl $0x1, -0x20(%rbp)
jne 0x1e132
movl -0x20(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x44(%rax)
jmp 0x1e143
movq -0x10(%rbp), %rax
movl 0x44(%rax), %ecx
orl -0x20(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x44(%rax)
jmp 0x1e145
jmp 0x1e147
jmp 0x1e149
jmp 0x1e14b
jmp 0x1e14d
jmp 0x1e14f
jmp 0x1e151
jmp 0x1e153
jmp 0x1e155
jmp 0x1e157
jmp 0x1e159
jmp 0x1e15b
jmp 0x1e15d
movl $0x0, -0x4(%rbp)
jmp 0x1e16d
movl $0xfffffffe, -0x4(%rbp) # imm = 0xFFFFFFFE
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)