// File: /workspace/github_c_makefile_star2_O2/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 0xa1ab
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xb8, %rsp
movq %rsi, %r15
movq %rdi, %r14
movl %edx, 0x2c(%rsp)
callq 0x6747
movq %rax, %rbx
movq %r14, %rdi
callq 0x6649
testb $0x8, 0x24(%rbx)
movzbl %al, %eax
movl %eax, 0xc(%rsp)
movq %r15, (%rsp)
jne 0x9d27
xorl %r12d, %r12d
movq %r14, %rdi
xorl %esi, %esi
callq 0xa76b
leaq 0x48(%rsp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x74d4
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x50e5
cmpw $0x0, 0x6(%rbx)
je 0x9c52
movq %r14, %rdi
callq 0x5332
leaq 0x48(%rsp), %rbx
movzwl 0x6(%rbx), %ebp
movw $0x2, %cx
cwtd
idivw %cx
cmpw %ax, %bp
cmovgel %eax, %ebp
addw %bp, 0x10(%rsp)
subw %bp, 0x14(%rsp)
leaq 0x20(%rsp), %r13
movq %r14, %rdi
movq %r13, %rsi
callq 0x50e5
addl %ebp, %ebp
movzwl (%r13), %eax
addw %bp, %ax
movw %ax, 0x4(%r13)
movq %r14, %rdi
xorl %esi, %esi
callq 0xa8d5
movq %rbx, %rdx
movw %ax, 0x2(%rbx)
movw %ax, 0x4(%rbx)
movq %r13, %rdi
movq %r15, %rsi
movl 0xc(%rsp), %ebx
movl %ebx, %ecx
callq 0x336d4
movq %r14, %rdi
movq %r13, %rsi
callq 0x50e5
movzwl 0x4(%r13), %eax
subl %ebp, %eax
movw %ax, (%r13)
movq %r14, %rdi
movl $0x167, %esi            # imm = 0x167
callq 0xa8d5
leaq 0x48(%rsp), %rdx
movw %ax, 0x2(%rdx)
movw %ax, 0x4(%rdx)
movq %r13, %rdi
movq %r15, %rsi
movl %ebx, %ecx
callq 0x336d4
movq %r14, %rbx
movzwl 0x14(%rsp), %eax
subw 0x10(%rsp), %ax
incl %eax
movswl %ax, %ebp
movw $0x168, %ax             # imm = 0x168
xorl %edx, %edx
idivw %bp
cmpw $0x4, %ax
pushq $0x3
popq %rcx
cmovgel %eax, %ecx
leaq 0x48(%rsp), %rax
andw $0x0, 0x6(%rax)
andw $0x0, 0xc(%rax)
andw $0x0, 0x12(%rax)
movzwl %cx, %r14d
movb $-0x1, 0x8(%rax)
movl %ebp, %r15d
subl %r14d, %r15d
imull %r14d, %ebp
xorl %r13d, %r13d
cmpl $0x167, %r13d           # imm = 0x167
ja 0x9d1b
movzwl %r13w, %esi
movq %rbx, %rdi
callq 0xa8d5
movw %ax, 0x4a(%rsp)
movw %ax, 0x4c(%rsp)
movl %r12d, %eax
cltd
movl $0x168, %ecx            # imm = 0x168
idivl %ecx
movswl 0x10(%rsp), %ecx
cwtl
addl %ecx, %eax
addl %r15d, %ecx
cmpl %ecx, %eax
jl 0x9cdb
movl %ecx, %eax
movw %ax, 0x20(%rsp)
movzwl 0x12(%rsp), %ecx
movzwl 0x16(%rsp), %edx
movw %cx, 0x22(%rsp)
addl %r14d, %eax
movw %ax, 0x24(%rsp)
movw %dx, 0x26(%rsp)
leaq 0x20(%rsp), %rdi
movq (%rsp), %rsi
leaq 0x48(%rsp), %rdx
movl 0xc(%rsp), %ecx
callq 0x336d4
addl %r14d, %r13d
addl %ebp, %r12d
jmp 0x9ca0
movq (%rsp), %r14
movq %rbx, %r15
jmp 0xa139
movq %r14, %rdi
callq 0x6747
movq %rax, 0x38(%rsp)
movq %r14, %rdi
callq 0x5308
movl %eax, %ebx
movq %r14, %rdi
callq 0x5332
movd %ebx, %xmm0
pinsrw $0x1, %eax, %xmm0
movq %r14, 0x30(%rsp)
movq 0x20(%r14), %xmm2
movdqa %xmm0, %xmm1
psrlw $0xf, %xmm1
paddw %xmm0, %xmm1
psraw $0x1, %xmm1
movdqa %xmm1, 0xa0(%rsp)
paddw %xmm1, %xmm2
movdqa %xmm2, 0x90(%rsp)
leaq 0x44(%rsp), %rsi
movd %xmm2, (%rsi)
movq %r15, %rdi
callq 0x268e3
movdqa 0x90(%rsp), %xmm0
movd %xmm0, %ebp
pextrw $0x1, %xmm0, %r12d
testb %al, %al
je 0x9db8
movl $0x165, %r13d           # imm = 0x165
xorl %r15d, %r15d
jmp 0x9f74
movswl 0x4(%r15), %edi
movswl %bp, %r14d
subl %r14d, %edi
movswl 0x6(%r15), %esi
movswl %r12w, %r15d
subl %r15d, %esi
callq 0x28e4f
movl %eax, %ebx
movq (%rsp), %rax
movswl 0x4(%rax), %edi
subl %r14d, %edi
movq (%rsp), %rax
movswl 0x2(%rax), %esi
subl %r15d, %esi
callq 0x28e4f
movl %eax, %r13d
movq (%rsp), %rax
movswl (%rax), %edi
subl %r14d, %edi
movq (%rsp), %rax
movswl 0x2(%rax), %esi
subl %r15d, %esi
callq 0x28e4f
movl %eax, 0x28(%rsp)
movq (%rsp), %rax
movswl (%rax), %edi
subl %r14d, %edi
movq (%rsp), %rax
movswl 0x6(%rax), %esi
subl %r15d, %esi
movq (%rsp), %r15
callq 0x28e4f
movzwl 0x4(%r15), %esi
movb $0x1, %dl
movb $0x1, %cl
cmpw %r14w, %si
jge 0x9e47
cmpw %bp, (%r15)
setge %cl
movb $0x1, %dil
cmpw %bp, %si
jle 0x9e5a
cmpw %bp, (%r15)
setge %dl
setle %dil
movzwl 0x6(%r15), %esi
movb $0x1, %r9b
movb $0x1, %r8b
cmpw %r12w, %si
jge 0x9e74
cmpw %r12w, 0x2(%r15)
setge %r8b
cmpw %r12w, %si
jle 0x9eb7
movzwl 0x2(%r15), %r9d
cmpw %r12w, %r9w
setg %sil
setle %r10b
movl %edi, %r11d
orb %r10b, %r11b
testb $0x1, %r11b
je 0x9f23
cmpw %r12w, %r9w
setge %r9b
movl %edi, %r11d
orb %r9b, %r11b
cmpb $0x1, %r11b
je 0x9ebc
movl 0x28(%rsp), %ecx
movl %ecx, %edi
jmp 0x9f26
xorl %esi, %esi
movb $0x1, %r10b
orb %r8b, %dil
testb $0x1, %dil
je 0x9f1b
movl %edx, %edi
orb %r8b, %dil
testb $0x1, %dil
je 0x9f2b
orb %cl, %r8b
testb $0x1, %r8b
je 0xa1b2
orb %cl, %r9b
movl %ebx, %edi
testb $0x1, %r9b
je 0x9f30
orb %r10b, %cl
movl %ecx, %r8d
notb %r8b
orb %dl, %r8b
xorl %eax, %eax
testb $0x1, %cl
movl $0x165, %edi            # imm = 0x165
cmovnel %edi, %ebx
movl 0x28(%rsp), %edx
movl %edx, %ecx
cmovnel %eax, %ecx
testb $0x1, %r8b
je 0xa1b9
movl %ebx, %edi
movl %ecx, %r13d
jmp 0x9f30
movl 0x28(%rsp), %eax
movl %eax, %edi
jmp 0x9f2d
movl %r13d, %edi
movl %eax, %r13d
jmp 0x9f30
movl %eax, %edi
movl %ebx, %r13d
movl $0x168, %esi            # imm = 0x168
leal (%rdi,%rsi), %ecx
cmpw %di, %r13w
cmovlel %edi, %ecx
movw $0x3, %di
movl %r13d, %eax
cwtd
idivw %di
subl %edx, %r13d
movl %ecx, %eax
cwtd
idivw %di
subl %edx, %ecx
leal (%rsi,%r13), %r15d
addl %ecx, %esi
cmpw $0x3, %r13w
cmovgel %ecx, %esi
cmovgel %r13d, %r15d
addl $-0x3, %r15d
addl $0x3, %esi
movswl %si, %r13d
leaq 0x53f9d(%rip), %rsi     # 0x5df18
leaq 0x48(%rsp), %rdi
callq 0x74d4
movdqa 0xa0(%rsp), %xmm0
movd %xmm0, %eax
movswl %ax, %r14d
movzwl %r15w, %ebx
cmpl %ebx, %r13d
jl 0xa088
movq 0x30(%rsp), %rdi
movl %ebx, %esi
callq 0xa8d5
movw %ax, 0x4a(%rsp)
movw %ax, 0x4c(%rsp)
movdqa 0x90(%rsp), %xmm0
movd %xmm0, 0x10(%rsp)
movswl %bx, %edi
callq 0x28d8c
cwtl
imull %r14d, %eax
shrl $0xf, %eax
addl %ebp, %eax
movw %ax, 0x14(%rsp)
leal 0x5a(%rbx), %eax
movswl %ax, %edi
callq 0x28d8c
cwtl
imull %r14d, %eax
shrl $0xf, %eax
addl %r12d, %eax
movw %ax, 0x16(%rsp)
cmpl $0x165, %ebx            # imm = 0x165
je 0xa034
cmpl %ebx, %r13d
je 0xa034
leal 0x5(%rbx), %eax
movswl %ax, %edi
callq 0x28d8c
cwtl
imull %r14d, %eax
shrl $0xf, %eax
addl %ebp, %eax
movw %ax, 0x18(%rsp)
leal 0x5f(%rbx), %eax
movswl %ax, %edi
callq 0x28d8c
addl $0x3, %ebx
movl %ebx, %r15d
jmp 0xa05b
leal 0x3(%rbx), %r15d
movswl %r15w, %edi
callq 0x28d8c
cwtl
imull %r14d, %eax
shrl $0xf, %eax
addl %ebp, %eax
movw %ax, 0x18(%rsp)
addl $0x5d, %ebx
movswl %bx, %edi
callq 0x28d8c
cwtl
imull %r14d, %eax
shrl $0xf, %eax
addl %r12d, %eax
movw %ax, 0x1a(%rsp)
leaq 0x10(%rsp), %rdi
movq (%rsp), %rsi
leaq 0x48(%rsp), %rdx
movl $0xff, %ecx
callq 0x392e8
jmp 0x9f96
xorl %ebp, %ebp
movq 0x30(%rsp), %r15
movq %r15, %rdi
xorl %esi, %esi
callq 0xa76b
movq %rax, %rbx
leaq 0x48(%rsp), %r12
movq %r12, %rdi
movq %rax, %rsi
callq 0x74d4
movw $0x7c18, 0x6(%r12)      # imm = 0x7C18
movq 0x20(%r15), %rax
leaq 0x20(%rsp), %r13
movq %rax, (%r13)
subw 0x3e(%rbx), %bp
movswl %bp, %esi
movq %r13, %rdi
callq 0x2695c
movq %r13, %rdi
movq (%rsp), %r14
movq %r14, %rsi
movq %r12, %rdx
movl 0xc(%rsp), %ecx
callq 0x336d4
movq 0x38(%rsp), %rax
testb $0x10, 0x24(%rax)
je 0xa139
movq %r15, %rdi
callq 0xa841
leaq 0x48(%rsp), %r12
movw %ax, 0x2(%r12)
movw %ax, 0x4(%r12)
movzwl 0x3e(%rbx), %eax
cwtd
movw $0xfffe, %cx            # imm = 0xFFFE
idivw %cx
movswl %ax, %esi
leaq 0x20(%rsp), %rbx
movq %rbx, %rdi
callq 0x2695c
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
movl 0xc(%rsp), %ecx
callq 0x336d4
movq %r15, %rdi
callq 0x6747
movq %rax, %rbx
movq 0x8(%rax), %rsi
leaq 0x48(%rsp), %r12
movq %r12, %rdi
callq 0x74d4
movw $0x7c18, 0x6(%r12)      # imm = 0x7C18
testb $0x1, 0x14(%rbx)
je 0xa175
movq %r15, %rdi
callq 0xa841
movw %ax, 0x4a(%rsp)
movw %ax, 0x4c(%rsp)
movq %r15, %rdi
callq 0xa953
leaq 0x10(%rsp), %rdi
movq %rax, (%rdi)
leaq 0x48(%rsp), %rdx
movq %r14, %rsi
movl 0xc(%rsp), %ecx
callq 0x336d4
movl 0x2c(%rsp), %edx
addq $0xb8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
cmpb $0x2, %dl
setne %al
retq
movl %eax, %edi
jmp 0x9f30
testb %sil, %sil
cmovnel %r13d, %edi
cmovnel %edx, %eax
movl %eax, %r13d
jmp 0x9f30