// File: /workspace/github_c_makefile_star2_O0/OnionIoT[P]lv_example/lvgl/src/lv_objx/lv_tileview.c
// Function: set_valid_drag_dirs
static bool set_valid_drag_dirs(lv_obj_t * tileview)
{

    lv_tileview_ext_t * ext = lv_obj_get_ext_attr(tileview);
    if(ext->valid_pos == NULL) return false;

    ext->drag_bottom_en = 0;
    ext->drag_top_en    = 0;
    ext->drag_left_en   = 0;
    ext->drag_right_en  = 0;

    uint16_t i;
    for(i = 0; i < ext->valid_pos_cnt; i++) {
        if(ext->valid_pos[i].x == ext->act_id.x && ext->valid_pos[i].y == ext->act_id.y - 1) ext->drag_top_en = 1;
        if(ext->valid_pos[i].x == ext->act_id.x && ext->valid_pos[i].y == ext->act_id.y + 1) ext->drag_bottom_en = 1;
        if(ext->valid_pos[i].x == ext->act_id.x - 1 && ext->valid_pos[i].y == ext->act_id.y) ext->drag_left_en = 1;
        if(ext->valid_pos[i].x == ext->act_id.x + 1 && ext->valid_pos[i].y == ext->act_id.y) ext->drag_right_en = 1;
    }

    return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0xa8f0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x50(%rax)
jne 0x1faad
movb $0x0, -0x1(%rbp)
jmp 0x1fc4e
movq -0x18(%rbp), %rax
movb 0x60(%rax), %cl
andb $-0x3, %cl
orb $0x0, %cl
movb %cl, 0x60(%rax)
movq -0x18(%rbp), %rax
movb 0x60(%rax), %cl
andb $-0x2, %cl
orb $0x0, %cl
movb %cl, 0x60(%rax)
movq -0x18(%rbp), %rax
movb 0x60(%rax), %cl
andb $-0x5, %cl
orb $0x0, %cl
movb %cl, 0x60(%rax)
movq -0x18(%rbp), %rax
movb 0x60(%rax), %cl
andb $-0x9, %cl
orb $0x0, %cl
movb %cl, 0x60(%rax)
movw $0x0, -0x1a(%rbp)
movzwl -0x1a(%rbp), %eax
movq -0x18(%rbp), %rcx
movzwl 0x58(%rcx), %ecx
cmpl %ecx, %eax
jge 0x1fc4a
movq -0x18(%rbp), %rax
movq 0x50(%rax), %rax
movzwl -0x1a(%rbp), %ecx
movswl (%rax,%rcx,4), %eax
movq -0x18(%rbp), %rcx
movswl 0x5c(%rcx), %ecx
cmpl %ecx, %eax
jne 0x1fb53
movq -0x18(%rbp), %rax
movq 0x50(%rax), %rax
movzwl -0x1a(%rbp), %ecx
movswl 0x2(%rax,%rcx,4), %eax
movq -0x18(%rbp), %rcx
movswl 0x5e(%rcx), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jne 0x1fb53
movq -0x18(%rbp), %rax
movb 0x60(%rax), %cl
andb $-0x2, %cl
orb $0x1, %cl
movb %cl, 0x60(%rax)
movq -0x18(%rbp), %rax
movq 0x50(%rax), %rax
movzwl -0x1a(%rbp), %ecx
movswl (%rax,%rcx,4), %eax
movq -0x18(%rbp), %rcx
movswl 0x5c(%rcx), %ecx
cmpl %ecx, %eax
jne 0x1fb9f
movq -0x18(%rbp), %rax
movq 0x50(%rax), %rax
movzwl -0x1a(%rbp), %ecx
movswl 0x2(%rax,%rcx,4), %eax
movq -0x18(%rbp), %rcx
movswl 0x5e(%rcx), %ecx
addl $0x1, %ecx
cmpl %ecx, %eax
jne 0x1fb9f
movq -0x18(%rbp), %rax
movb 0x60(%rax), %cl
andb $-0x3, %cl
orb $0x2, %cl
movb %cl, 0x60(%rax)
movq -0x18(%rbp), %rax
movq 0x50(%rax), %rax
movzwl -0x1a(%rbp), %ecx
movswl (%rax,%rcx,4), %eax
movq -0x18(%rbp), %rcx
movswl 0x5c(%rcx), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jne 0x1fbeb
movq -0x18(%rbp), %rax
movq 0x50(%rax), %rax
movzwl -0x1a(%rbp), %ecx
movswl 0x2(%rax,%rcx,4), %eax
movq -0x18(%rbp), %rcx
movswl 0x5e(%rcx), %ecx
cmpl %ecx, %eax
jne 0x1fbeb
movq -0x18(%rbp), %rax
movb 0x60(%rax), %cl
andb $-0x5, %cl
orb $0x4, %cl
movb %cl, 0x60(%rax)
movq -0x18(%rbp), %rax
movq 0x50(%rax), %rax
movzwl -0x1a(%rbp), %ecx
movswl (%rax,%rcx,4), %eax
movq -0x18(%rbp), %rcx
movswl 0x5c(%rcx), %ecx
addl $0x1, %ecx
cmpl %ecx, %eax
jne 0x1fc37
movq -0x18(%rbp), %rax
movq 0x50(%rax), %rax
movzwl -0x1a(%rbp), %ecx
movswl 0x2(%rax,%rcx,4), %eax
movq -0x18(%rbp), %rcx
movswl 0x5e(%rcx), %ecx
cmpl %ecx, %eax
jne 0x1fc37
movq -0x18(%rbp), %rax
movb 0x60(%rax), %cl
andb $-0x9, %cl
orb $0x8, %cl
movb %cl, 0x60(%rax)
jmp 0x1fc39
movw -0x1a(%rbp), %ax
addw $0x1, %ax
movw %ax, -0x1a(%rbp)
jmp 0x1faf3
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)