// File: /workspace/github_c_makefile_star2_O1/OnionIoT[P]lv_example/lvgl/src/lv_objx/lv_cpicker.c
// Function: lv_cpicker_design
static bool lv_cpicker_design(lv_obj_t * cpicker, const lv_area_t * mask, lv_design_mode_t mode)
{
    /*Return false if the object is not covers the mask_p area*/
    if(mode == LV_DESIGN_COVER_CHK)  {
        return false;
    }
    /*Draw the object*/
    else if(mode == LV_DESIGN_DRAW_MAIN) {
        lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker);
        lv_opa_t opa_scale = lv_obj_get_opa_scale(cpicker);

        if(ext->type == LV_CPICKER_TYPE_DISC) {
            draw_disc_grad(cpicker, mask, opa_scale);
        } else if(ext->type == LV_CPICKER_TYPE_RECT) {
            draw_rect_grad(cpicker, mask, opa_scale);
        }

        draw_indic(cpicker, mask, opa_scale);
    }
    /*Post draw when the children are drawn*/
    else if(mode == LV_DESIGN_DRAW_POST) {
    }

    return true;
}

// Assembly:
testl %edx, %edx
jne 0xab1a
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
movq %rsi, %r15
movq %rdi, %r14
movl %edx, 0x34(%rsp)
callq 0x6ad8
movq %rax, %r12
movq %r14, %rdi
callq 0x69cc
testb $0x8, 0x24(%r12)
movzbl %al, %eax
movl %eax, 0x4(%rsp)
movq %r14, 0x28(%rsp)
movq %r14, %rdi
jne 0xa699
xorl %esi, %esi
callq 0xb115
leaq 0x50(%rsp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x798d
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x5427
cmpw $0x0, 0x6(%rbx)
je 0xa5ad
movq %r14, %rdi
callq 0x567b
movzwl %ax, %ecx
leaq 0x50(%rsp), %r12
movzwl 0x6(%r12), %edx
shrl $0xf, %ecx
addl %eax, %ecx
movswl %cx, %ebx
shrl %ebx
cmpw %bx, %dx
cmovll %edx, %ebx
addw %bx, 0x8(%rsp)
subw %bx, 0xc(%rsp)
leaq 0x18(%rsp), %r13
movq %r14, %rdi
movq %r13, %rsi
callq 0x5427
addl %ebx, %ebx
movzwl (%r13), %eax
addw %bx, %ax
movw %ax, 0x4(%r13)
movq %r14, %rdi
xorl %esi, %esi
callq 0xb27f
movw %ax, 0x2(%r12)
movw %ax, 0x4(%r12)
movq %r13, %rdi
movq %r15, %rsi
movq %r12, %rdx
movl 0x4(%rsp), %ebp
movl %ebp, %ecx
callq 0x365ac
movq %r14, %rdi
movq %r13, %rsi
callq 0x5427
movzwl 0x4(%r13), %eax
subl %ebx, %eax
movw %ax, (%r13)
movq %r14, %rdi
movl $0x167, %esi            # imm = 0x167
callq 0xb27f
movw %ax, 0x2(%r12)
movw %ax, 0x4(%r12)
movq %r13, %rdi
movq %r15, %rsi
movq %r12, %rdx
movl %ebp, %ecx
callq 0x365ac
movq %r15, %r12
movzwl 0xc(%rsp), %eax
subw 0x8(%rsp), %ax
incl %eax
movswl %ax, %r13d
xorl %r14d, %r14d
movl $0x168, %eax            # imm = 0x168
xorl %edx, %edx
idivl %r13d
cmpl $0x3, %eax
movzwl %ax, %eax
movl $0x3, %r15d
cmovgel %eax, %r15d
leaq 0x50(%rsp), %rax
movw %r14w, 0x6(%rax)
movw %r14w, 0xc(%rax)
movw %r14w, 0x12(%rax)
movb $-0x1, 0x8(%rax)
movl %r13d, %ebp
subl %r15d, %ebp
movzwl %r14w, %ebx
movq 0x28(%rsp), %rdi
movl %ebx, %esi
callq 0xb27f
movw %ax, 0x52(%rsp)
movw %ax, 0x54(%rsp)
imull %r13d, %ebx
movslq %ebx, %rax
imulq $-0x49f49f49, %rax, %rcx # imm = 0xB60B60B7
shrq $0x20, %rcx
addl %ecx, %eax
movl %eax, %ecx
shrl $0x1f, %ecx
shrl $0x8, %eax
addl %ecx, %eax
movswl 0x8(%rsp), %ecx
cwtl
addl %ecx, %eax
addl %ebp, %ecx
cmpl %ecx, %eax
jl 0xa643
movl %ecx, %eax
addl %r15d, %r14d
movw %ax, 0x18(%rsp)
movzwl 0xa(%rsp), %ecx
movzwl 0xe(%rsp), %edx
movw %cx, 0x1a(%rsp)
addl %r15d, %eax
movw %ax, 0x1c(%rsp)
movw %dx, 0x1e(%rsp)
leaq 0x18(%rsp), %rdi
movq %r12, %rsi
leaq 0x50(%rsp), %rdx
movl 0x4(%rsp), %ecx
callq 0x365ac
movzwl %r14w, %eax
cmpl $0x168, %eax            # imm = 0x168
jb 0xa5fb
movq %r12, %r14
movq 0x28(%rsp), %r15
jmp 0xaaa8
callq 0x6ad8
movq %rax, 0x40(%rsp)
movq %r14, %rdi
callq 0x5651
movl %eax, %r12d
movzwl %ax, %ebx
movq %r14, %rdi
callq 0x567b
movzwl %ax, %ecx
shrl $0xf, %ebx
addl %r12d, %ebx
movswl %bx, %esi
shrl %esi
movzwl 0x20(%r14), %edx
shrl $0xf, %ecx
addl %eax, %ecx
movswl %cx, %r12d
shrl %r12d
addw 0x22(%r14), %r12w
movl %esi, 0x20(%rsp)
addw %si, %dx
movl %edx, 0x24(%rsp)
leaq 0x4c(%rsp), %rsi
movw %dx, (%rsi)
movw %r12w, 0x2(%rsi)
movq %r15, %rdi
callq 0x28702
testb %al, %al
je 0xa712
movl %r12d, %ebx
movl $0x165, %r14d           # imm = 0x165
xorl %r13d, %r13d
jmp 0xa8c7
movswl 0x4(%r15), %edi
movswl 0x24(%rsp), %ebp
subl %ebp, %edi
movswl 0x6(%r15), %esi
movswl %r12w, %r14d
subl %r14d, %esi
callq 0x2ae6d
movl %eax, (%rsp)
movswl 0x4(%r15), %edi
subl %ebp, %edi
movswl 0x2(%r15), %esi
subl %r14d, %esi
callq 0x2ae6d
movl %eax, %r13d
movswl (%r15), %edi
subl %ebp, %edi
movswl 0x2(%r15), %esi
subl %r14d, %esi
callq 0x2ae6d
movl %eax, %ebx
movswl (%r15), %edi
subl %ebp, %edi
movl 0x24(%rsp), %ebp
movswl 0x6(%r15), %esi
subl %r14d, %esi
callq 0x2ae6d
movzwl 0x4(%r15), %edi
movb $0x1, %cl
movb $0x1, %dl
cmpw %bp, %di
jge 0xa78a
cmpw %bp, (%r15)
setge %dl
cmpw %bp, %di
jle 0xa796
cmpw %bp, (%r15)
setge %cl
movb $0x1, %sil
movb $0x1, %r8b
cmpw %bp, %di
jle 0xa7a9
cmpw %bp, (%r15)
setle %r8b
movzwl 0x6(%r15), %edi
cmpw %r12w, %di
jge 0xa7bd
cmpw %r12w, 0x2(%r15)
setge %sil
movb $0x1, %r9b
cmpw %r12w, %di
jle 0xa7cf
cmpw %r12w, 0x2(%r15)
setge %r9b
cmpw %r12w, %di
jle 0xa7e0
cmpw %r12w, 0x2(%r15)
setg %dil
jmp 0xa7e2
xorl %edi, %edi
movl %edi, %r10d
notb %r10b
orb %r8b, %r10b
testb $0x1, %r10b
je 0xa862
movl %r8d, %r10d
orb %r9b, %r10b
testb $0x1, %r10b
je 0xa867
orb %sil, %r8b
testb $0x1, %r8b
je 0xab21
movl %ecx, %r8d
orb %sil, %r8b
testb $0x1, %r8b
je 0xab25
orb %dl, %sil
testb $0x1, %sil
movl (%rsp), %r8d
je 0xab30
orb %dl, %r9b
movl %r8d, %esi
testb $0x1, %r9b
je 0xa86c
xorb $0x1, %dl
andb %dil, %dl
orb %dl, %cl
xorl %eax, %eax
testb %dl, %dl
movl $0x165, %esi            # imm = 0x165
cmovel %esi, %r8d
movl %ebx, %edx
cmovel %eax, %edx
testb $0x1, %cl
je 0xab37
movl %r8d, %esi
movl %edx, %r13d
jmp 0xa86c
movl %r13d, %esi
jmp 0xa869
movl %ebx, %esi
movl %eax, %r13d
movl %r12d, %ebx
movl $0x168, %eax            # imm = 0x168
leal (%rsi,%rax), %ecx
cmpw %si, %r13w
cmovlel %esi, %ecx
movswl %r13w, %edx
imull $0x5556, %edx, %edx     # imm = 0x5556
movl %edx, %esi
shrl $0x1f, %esi
shrl $0x10, %edx
addl %esi, %edx
leal (%rdx,%rdx,2), %edx
movswl %cx, %ecx
imull $0x5556, %ecx, %ecx     # imm = 0x5556
movl %ecx, %esi
shrl $0x1f, %esi
shrl $0x10, %ecx
addl %esi, %ecx
leal (%rcx,%rcx,2), %ecx
leal (%rdx,%rax), %r13d
addl %ecx, %eax
cmpw $0x3, %dx
cmovgel %ecx, %eax
cmovgel %edx, %r13d
addl $-0x3, %r13d
addl $0x3, %eax
movswl %ax, %r14d
movq %r15, 0x38(%rsp)
leaq 0x55645(%rip), %rsi     # 0x5ff18
leaq 0x50(%rsp), %rdi
callq 0x798d
movzwl %r13w, %ebp
cmpl %ebp, %r14d
movq 0x28(%rsp), %rax
jl 0xa9f5
movl %ebx, %r15d
movswl 0x20(%rsp), %ecx
movl %ecx, 0x20(%rsp)
movl %r14d, (%rsp)
movl 0x20(%rsp), %r14d
movzwl %r13w, %ebx
movq 0x28(%rsp), %rdi
movl %ebx, %esi
callq 0xb27f
movw %ax, 0x52(%rsp)
movw %ax, 0x54(%rsp)
movl 0x24(%rsp), %r12d
movw %r12w, 0x8(%rsp)
movw %r15w, 0xa(%rsp)
movswl %bx, %edi
callq 0x2ad8c
cwtl
imull %r14d, %eax
shrl $0xf, %eax
addl %r12d, %eax
movw %ax, 0xc(%rsp)
leal 0x5a(%r13), %ebx
movswl %bx, %edi
callq 0x2ad8c
cwtl
imull %r14d, %eax
shrl $0xf, %eax
addl %r15d, %eax
movw %ax, 0xe(%rsp)
cmpl %ebp, (%rsp)
sete %al
movl $0xffff, %ecx           # imm = 0xFFFF
andl %ecx, %ebx
cmpl $0x1bf, %ebx            # imm = 0x1BF
sete %cl
orb %al, %cl
xorb $0x1, %cl
movzbl %cl, %ebx
leal 0x3(%r13,%rbx,2), %eax
movswl %ax, %edi
callq 0x2ad8c
cwtl
imull %r14d, %eax
shrl $0xf, %eax
addl %r12d, %eax
movl (%rsp), %r12d
movw %ax, 0x10(%rsp)
leal 0x5d(%r13,%rbx,2), %eax
movswl %ax, %edi
callq 0x2ad8c
cwtl
imull %r14d, %eax
shrl $0xf, %eax
addl %r15d, %eax
movw %ax, 0x12(%rsp)
leaq 0x8(%rsp), %rdi
movq 0x38(%rsp), %rsi
leaq 0x50(%rsp), %rdx
movl $0xff, %ecx
callq 0x3ce18
movq 0x28(%rsp), %rax
addl $0x3, %r13d
movl %r13d, %ebp
movl $0xffff, %ecx           # imm = 0xFFFF
andl %ecx, %ebp
cmpw %r12w, %r13w
jbe 0xa904
xorl %ebp, %ebp
movq %rax, %r15
movq %rax, %rdi
xorl %esi, %esi
callq 0xb115
movq %rax, %r12
leaq 0x50(%rsp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x798d
movw $0x7c18, 0x6(%rbx)      # imm = 0x7C18
movq 0x20(%r15), %rax
leaq 0x18(%rsp), %r13
movq %rax, (%r13)
subw 0x3e(%r12), %bp
movswl %bp, %esi
movq %r13, %rdi
callq 0x2877b
movq %r13, %rdi
movq 0x38(%rsp), %r14
movq %r14, %rsi
movq %rbx, %rdx
movl 0x4(%rsp), %ecx
callq 0x365ac
movq 0x40(%rsp), %rax
testb $0x10, 0x24(%rax)
je 0xaaa8
movq %r15, %rdi
callq 0xb1eb
leaq 0x50(%rsp), %rbx
movw %ax, 0x2(%rbx)
movw %ax, 0x4(%rbx)
movzwl 0x3e(%r12), %eax
movl %eax, %ecx
shrl $0xf, %ecx
addl %eax, %ecx
movswl %cx, %eax
sarl %eax
negl %eax
movswl %ax, %esi
leaq 0x18(%rsp), %r12
movq %r12, %rdi
callq 0x2877b
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
movl 0x4(%rsp), %ecx
callq 0x365ac
movq %r15, %rdi
callq 0x6ad8
movq %rax, %rbx
movq 0x8(%rax), %rsi
leaq 0x50(%rsp), %r12
movq %r12, %rdi
callq 0x798d
movw $0x7c18, 0x6(%r12)      # imm = 0x7C18
testb $0x1, 0x14(%rbx)
je 0xaae4
movq %r15, %rdi
callq 0xb1eb
movw %ax, 0x52(%rsp)
movw %ax, 0x54(%rsp)
movq %r15, %rdi
callq 0xb31b
leaq 0x8(%rsp), %rdi
movq %rax, (%rdi)
leaq 0x50(%rsp), %rdx
movq %r14, %rsi
movl 0x4(%rsp), %ecx
callq 0x365ac
movl 0x34(%rsp), %edx
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
cmpb $0x2, %dl
setne %al
retq
movl %ebx, %esi
jmp 0xab27
movl %eax, %esi
movl (%rsp), %r13d
jmp 0xa86c
movl %eax, %esi
jmp 0xa86c
testb %dil, %dil
cmovnel %r13d, %esi
cmovnel %ebx, %eax
movl %eax, %r13d
jmp 0xa86c