// File: /workspace/github_c_makefile_star2_O3/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:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xc8, %rsp
movl %edx, %r13d
testl %edx, %edx
jne 0xaa8e
movq %rsi, %r14
movq %rdi, %r15
callq 0x6af7
movq %rax, %rbx
movq %r15, %rdi
callq 0x69eb
testb $0x8, 0x24(%rbx)
movzbl %al, %eax
movl %eax, 0x2c(%rsp)
movl %r13d, 0x38(%rsp)
movq %r15, 0x40(%rsp)
movq %r14, 0x8(%rsp)
jne 0xa5db
xorl %ebx, %ebx
movq %r15, %rdi
xorl %esi, %esi
callq 0xb08b
leaq 0x58(%rsp), %r12
movq %r12, %rdi
movq %rax, %rsi
callq 0x799d
leaq 0x10(%rsp), %rsi
movq %r15, %rdi
callq 0x542b
cmpw $0x0, 0x6(%r12)
je 0xa4e9
movq %r15, %rdi
callq 0x5697
movzwl %ax, %ecx
leaq 0x58(%rsp), %r12
movzwl 0x6(%r12), %edx
shrl $0xf, %ecx
addl %eax, %ecx
movswl %cx, %ebp
shrl %ebp
cmpw %bp, %dx
cmovll %edx, %ebp
addw %bp, 0x10(%rsp)
subw %bp, 0x14(%rsp)
leaq 0x20(%rsp), %r13
movq %r15, %rdi
movq %r13, %rsi
callq 0x542b
addl %ebp, %ebp
movzwl (%r13), %eax
addw %bp, %ax
movw %ax, 0x4(%r13)
movq %r15, %rdi
xorl %esi, %esi
callq 0xb1f5
movq %r12, %rdx
movw %ax, 0x2(%r12)
movw %ax, 0x4(%r12)
movq %r13, %rdi
movq %r14, %rsi
movl 0x2c(%rsp), %r12d
movl %r12d, %ecx
callq 0x36968
movq %r15, %rdi
movq %r13, %rsi
callq 0x542b
movzwl 0x4(%r13), %eax
subl %ebp, %eax
movw %ax, (%r13)
movq %r15, %rdi
movl $0x167, %esi            # imm = 0x167
callq 0xb1f5
leaq 0x58(%rsp), %rdx
movw %ax, 0x2(%rdx)
movw %ax, 0x4(%rdx)
movq %r13, %rdi
movq %r14, %rsi
movl %r12d, %ecx
callq 0x36968
movzwl 0x14(%rsp), %eax
subw 0x10(%rsp), %ax
incl %eax
movswl %ax, %r12d
movw $0x168, %ax             # imm = 0x168
xorl %edx, %edx
idivw %r12w
cmpw $0x4, %ax
movl $0x3, %ecx
cmovgel %eax, %ecx
movzwl %cx, %r14d
leaq 0x58(%rsp), %rax
movw %bx, 0x6(%rax)
movw %bx, 0xc(%rax)
movw %bx, 0x12(%rax)
movb $-0x1, 0x8(%rax)
movl %r12d, %r15d
subl %r14d, %r15d
imull %r14d, %r12d
xorl %r13d, %r13d
movl 0x2c(%rsp), %ebp
movzwl %r13w, %esi
movq 0x40(%rsp), %rdi
callq 0xb1f5
movw %ax, 0x5a(%rsp)
movslq %ebx, %rbx
imulq $-0x49f49f49, %rbx, %rcx # imm = 0xB60B60B7
shrq $0x20, %rcx
addl %ebx, %ecx
movl %ecx, %edx
shrl $0x1f, %edx
shrl $0x8, %ecx
addl %edx, %ecx
movswl 0x10(%rsp), %edx
movswl %cx, %ecx
addl %edx, %ecx
addl %r15d, %edx
cmpl %edx, %ecx
cmovll %ecx, %edx
movw %ax, 0x5c(%rsp)
movw %dx, 0x20(%rsp)
movzwl 0x12(%rsp), %eax
movzwl 0x16(%rsp), %ecx
movw %ax, 0x22(%rsp)
addl %r14d, %edx
movw %dx, 0x24(%rsp)
movw %cx, 0x26(%rsp)
leaq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
leaq 0x58(%rsp), %rdx
movl %ebp, %ecx
callq 0x36968
addl %r14d, %r13d
addl %r12d, %ebx
cmpl $0x168, %r13d           # imm = 0x168
jb 0xa539
movl 0x38(%rsp), %r13d
movq 0x8(%rsp), %r14
movq 0x40(%rsp), %r15
jmp 0xaa33
movq %r15, %rdi
callq 0x6af7
movq %rax, 0x48(%rsp)
movq %r15, %rdi
callq 0x566d
movl %eax, %ebx
movq %r15, %rdi
callq 0x5697
movd %ebx, %xmm0
pinsrw $0x1, %eax, %xmm0
movq 0x20(%r15), %xmm2
movdqa %xmm0, %xmm1
psrlw $0xf, %xmm1
paddw %xmm0, %xmm1
psraw $0x1, %xmm1
movdqa %xmm1, 0xb0(%rsp)
paddw %xmm1, %xmm2
movdqa %xmm2, 0xa0(%rsp)
leaq 0x54(%rsp), %rsi
movd %xmm2, (%rsi)
movq %r14, %rdi
callq 0x28d87
movdqa 0xa0(%rsp), %xmm0
movd %xmm0, %r15d
pextrw $0x1, %xmm0, %r12d
testb %al, %al
movl %r12d, 0x3c(%rsp)
movl %r15d, 0x30(%rsp)
je 0xa671
movl $0x165, %r12d           # imm = 0x165
xorl %ebp, %ebp
jmp 0xa849
movswl 0x4(%r14), %edi
movswl %r15w, %ebp
subl %ebp, %edi
movswl 0x6(%r14), %esi
movswl %r12w, %r14d
subl %r14d, %esi
callq 0x2b5af
movl %eax, 0x34(%rsp)
movq 0x8(%rsp), %rax
movswl 0x4(%rax), %edi
subl %ebp, %edi
movq 0x8(%rsp), %rax
movswl 0x2(%rax), %esi
subl %r14d, %esi
callq 0x2b5af
movl %eax, %ebx
movq 0x8(%rsp), %rax
movswl (%rax), %edi
subl %ebp, %edi
movq 0x8(%rsp), %rax
movswl 0x2(%rax), %esi
subl %r14d, %esi
callq 0x2b5af
movl %eax, 0x28(%rsp)
movq 0x8(%rsp), %rax
movswl (%rax), %edi
subl %ebp, %edi
movq 0x8(%rsp), %rax
movswl 0x6(%rax), %esi
subl %r14d, %esi
movq 0x8(%rsp), %r14
callq 0x2b5af
movzwl 0x4(%r14), %esi
movb $0x1, %dl
movb $0x1, %cl
cmpw %bp, %si
jge 0xa703
cmpw %r15w, (%r14)
setge %cl
movb $0x1, %dil
cmpw %r15w, %si
jle 0xa717
cmpw %r15w, (%r14)
setge %dl
setle %dil
movzwl 0x6(%r14), %esi
movb $0x1, %r9b
movb $0x1, %r8b
cmpw %r12w, %si
jge 0xa731
cmpw %r12w, 0x2(%r14)
setge %r8b
cmpw %r12w, %si
jle 0xa774
movzwl 0x2(%r14), %r9d
cmpw %r12w, %r9w
setg %sil
setle %r10b
movl %edi, %r11d
orb %r10b, %r11b
testb $0x1, %r11b
je 0xa7e7
cmpw %r12w, %r9w
setge %r9b
movl %edi, %r11d
orb %r9b, %r11b
cmpb $0x1, %r11b
je 0xa779
movl 0x28(%rsp), %ecx
movl %ecx, %edi
jmp 0xa7e9
xorl %esi, %esi
movb $0x1, %r10b
orb %r8b, %dil
testb $0x1, %dil
je 0xa7db
movl %edx, %edi
orb %r8b, %dil
testb $0x1, %dil
movl 0x34(%rsp), %r11d
je 0xa7ed
orb %cl, %r8b
testb $0x1, %r8b
je 0xa7f4
orb %cl, %r9b
movl %r11d, %edi
testb $0x1, %r9b
je 0xa7f6
orb %r10b, %cl
movl %ecx, %r8d
notb %r8b
orb %dl, %r8b
xorl %eax, %eax
testb $0x1, %cl
movl $0x165, %edi            # imm = 0x165
cmovnel %edi, %r11d
movl 0x28(%rsp), %edx
movl %edx, %ecx
cmovnel %eax, %ecx
testb $0x1, %r8b
je 0xaaa7
movl %r11d, %edi
movl %ecx, %ebx
jmp 0xa7f6
movl 0x28(%rsp), %eax
movl %eax, %edi
movl 0x34(%rsp), %ebx
jmp 0xa7f6
movl %ebx, %edi
movl %eax, %ebx
jmp 0xa7f6
movl %eax, %edi
movl %r11d, %ebx
jmp 0xa7f6
movl %eax, %edi
movl $0x168, %eax            # imm = 0x168
leal (%rdi,%rax), %ecx
cmpw %di, %bx
cmovlel %edi, %ecx
movswl %bx, %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), %ebp
addl %ecx, %eax
cmpw $0x3, %dx
cmovgel %ecx, %eax
cmovgel %edx, %ebp
addl $-0x3, %ebp
addl $0x3, %eax
movswl %ax, %r12d
leaq 0x556c8(%rip), %rsi     # 0x5ff18
leaq 0x58(%rsp), %rdi
callq 0x799d
movzwl %bp, %r14d
cmpl %r14d, %r12d
movl 0x3c(%rsp), %r15d
jl 0xa977
movdqa 0xb0(%rsp), %xmm0
movd %xmm0, %eax
movswl %ax, %r13d
movzwl %bp, %ebx
movq 0x40(%rsp), %rdi
movl %ebx, %esi
callq 0xb1f5
movw %ax, 0x5a(%rsp)
movw %ax, 0x5c(%rsp)
movdqa 0xa0(%rsp), %xmm0
movd %xmm0, 0x10(%rsp)
movswl %bx, %edi
callq 0x2b4d8
cwtl
imull %r13d, %eax
shrl $0xf, %eax
addl 0x30(%rsp), %eax
movw %ax, 0x14(%rsp)
leal 0x5a(%rbp), %eax
movswl %ax, %edi
callq 0x2b4d8
cwtl
imull %r13d, %eax
shrl $0xf, %eax
addl %r15d, %eax
movw %ax, 0x16(%rsp)
cmpl %r14d, %r12d
je 0xa912
cmpl $0x165, %ebx            # imm = 0x165
je 0xa912
leal 0x5(%rbp), %eax
movswl %ax, %edi
callq 0x2b4d8
cwtl
imull %r13d, %eax
shrl $0xf, %eax
addl 0x30(%rsp), %eax
movw %ax, 0x18(%rsp)
leal 0x5f(%rbp), %eax
movswl %ax, %edi
callq 0x2b4d8
addl $0x3, %ebp
jmp 0xa93b
leal 0x3(%rbp), %ebx
movswl %bx, %edi
callq 0x2b4d8
cwtl
imull %r13d, %eax
shrl $0xf, %eax
addl 0x30(%rsp), %eax
movw %ax, 0x18(%rsp)
addl $0x5d, %ebp
movswl %bp, %edi
callq 0x2b4d8
movl %ebx, %ebp
movq 0x8(%rsp), %rsi
cwtl
imull %r13d, %eax
shrl $0xf, %eax
movl 0x3c(%rsp), %r15d
addl %r15d, %eax
movw %ax, 0x1a(%rsp)
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
movl $0xff, %ecx
callq 0x3d1e0
movzwl %bp, %r14d
cmpw %r12w, %r14w
jbe 0xa87d
xorl %ebp, %ebp
movq 0x40(%rsp), %r15
movq %r15, %rdi
xorl %esi, %esi
callq 0xb08b
movq %rax, %rbx
leaq 0x58(%rsp), %r12
movq %r12, %rdi
movq %rax, %rsi
callq 0x799d
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 0x28e00
movq %r13, %rdi
movq 0x8(%rsp), %r14
movq %r14, %rsi
movq %r12, %rdx
movl 0x2c(%rsp), %ebp
movl %ebp, %ecx
callq 0x36968
movq 0x48(%rsp), %rax
testb $0x10, 0x24(%rax)
je 0xaa2e
movq %r15, %rdi
callq 0xb161
leaq 0x58(%rsp), %r12
movw %ax, 0x2(%r12)
movw %ax, 0x4(%r12)
movzwl 0x3e(%rbx), %eax
movl %eax, %ecx
shrl $0xf, %ecx
addl %eax, %ecx
movswl %cx, %eax
sarl %eax
negl %eax
movswl %ax, %esi
leaq 0x20(%rsp), %rbx
movq %rbx, %rdi
callq 0x28e00
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
movl %ebp, %ecx
callq 0x36968
movl 0x38(%rsp), %r13d
movq %r15, %rdi
callq 0x6af7
movq %rax, %rbx
movq 0x8(%rax), %rsi
leaq 0x58(%rsp), %r12
movq %r12, %rdi
callq 0x799d
movw $0x7c18, 0x6(%r12)      # imm = 0x7C18
testb $0x1, 0x14(%rbx)
je 0xaa6f
movq %r15, %rdi
callq 0xb161
movw %ax, 0x5a(%rsp)
movw %ax, 0x5c(%rsp)
movq %r15, %rdi
callq 0xb291
leaq 0x10(%rsp), %rdi
movq %rax, (%rdi)
leaq 0x58(%rsp), %rdx
movq %r14, %rsi
movl %ebp, %ecx
callq 0x36968
cmpb $0x2, %r13b
setne %al
addq $0xc8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
testb %sil, %sil
cmovnel %ebx, %edi
cmovnel %edx, %eax
movl %eax, %ebx
jmp 0xa7f6