// File: /workspace/github_c_makefile_star2_O0/OnionIoT[P]lv_example/lvgl/src/lv_objx/lv_mbox.c
// Function: lv_mbox_start_auto_close
void lv_mbox_start_auto_close(lv_obj_t * mbox, uint16_t delay)
{
    LV_ASSERT_OBJ(mbox, LV_OBJX_NAME);

#if LV_USE_ANIMATION
    if(lv_mbox_get_anim_time(mbox) != 0) {
        /*Add shrinking animations*/
        lv_anim_t a;
        a.var            = mbox;
        a.start          = lv_obj_get_height(mbox);
        a.end            = 0;
        a.exec_cb        = (lv_anim_exec_xcb_t)lv_obj_set_height;
        a.path_cb        = lv_anim_path_linear;
        a.ready_cb       = NULL;
        a.act_time       = -delay;
        a.time           = lv_mbox_get_anim_time(mbox);
        a.playback       = 0;
        a.playback_pause = 0;
        a.repeat         = 0;
        a.repeat_pause   = 0;
        lv_anim_create(&a);

        a.start    = lv_obj_get_width(mbox);
        a.exec_cb  = (lv_anim_exec_xcb_t)lv_obj_set_width;
        a.ready_cb = lv_mbox_close_ready_cb;
        lv_anim_create(&a);

        /*Disable fit to let shrinking work*/
        lv_cont_set_fit(mbox, LV_FIT_NONE);
    } else {
        /*Create an animation to delete the mbox `delay` ms later*/
        lv_anim_t a;
        a.var            = mbox;
        a.start          = 0;
        a.end            = 1;
        a.exec_cb        = (lv_anim_exec_xcb_t)NULL;
        a.path_cb        = lv_anim_path_linear;
        a.ready_cb       = lv_mbox_close_ready_cb;
        a.act_time       = -delay;
        a.time           = 0;
        a.playback       = 0;
        a.playback_pause = 0;
        a.repeat         = 0;
        a.repeat_pause   = 0;
        lv_anim_create(&a);
    }
#else
    (void)delay; /*Unused*/
    lv_obj_del(mbox);
#endif
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movw %si, %ax
movq %rdi, -0x8(%rbp)
movw %ax, -0xa(%rbp)
movq -0x8(%rbp), %rdi
callq 0xd120
testb $0x1, %al
jne 0x17195
movq -0x8(%rbp), %rsi
leaq 0x50f6e(%rip), %rdi     # 0x680fc
callq 0xd410
jmp 0x17193
movq -0x8(%rbp), %rdi
callq 0x172e0
movzwl %ax, %eax
cmpl $0x0, %eax
je 0x1725f
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rdi
callq 0x8350
cwtl
movl %eax, -0x28(%rbp)
movl $0x0, -0x24(%rbp)
leaq -0xed2d(%rip), %rax     # 0x84a0
movq %rax, -0x40(%rbp)
leaq 0x2d258(%rip), %rax     # 0x44430
movq %rax, -0x38(%rbp)
movq $0x0, -0x30(%rbp)
movzwl -0xa(%rbp), %ecx
xorl %eax, %eax
subl %ecx, %eax
movw %ax, -0x1e(%rbp)
movq -0x8(%rbp), %rdi
callq 0x172e0
movw %ax, -0x20(%rbp)
movb -0x18(%rbp), %al
andb $-0x2, %al
orb $0x0, %al
movb %al, -0x18(%rbp)
movw $0x0, -0x1c(%rbp)
movb -0x18(%rbp), %al
andb $-0x3, %al
orb $0x0, %al
movb %al, -0x18(%rbp)
movw $0x0, -0x1a(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x444a0
movq -0x8(%rbp), %rdi
callq 0x8310
cwtl
movl %eax, -0x28(%rbp)
leaq -0xee0a(%rip), %rax     # 0x8430
movq %rax, -0x40(%rbp)
leaq 0xeb(%rip), %rax        # 0x17330
movq %rax, -0x30(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x444a0
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x17350
jmp 0x172ce
movq -0x8(%rbp), %rax
movq %rax, -0x80(%rbp)
movl $0x0, -0x60(%rbp)
movl $0x1, -0x5c(%rbp)
movq $0x0, -0x78(%rbp)
leaq 0x2d1ac(%rip), %rax     # 0x44430
movq %rax, -0x70(%rbp)
leaq 0xa1(%rip), %rax        # 0x17330
movq %rax, -0x68(%rbp)
movzwl -0xa(%rbp), %ecx
xorl %eax, %eax
subl %ecx, %eax
movw %ax, -0x56(%rbp)
movw $0x0, -0x58(%rbp)
movb -0x50(%rbp), %al
andb $-0x2, %al
orb $0x0, %al
movb %al, -0x50(%rbp)
movw $0x0, -0x54(%rbp)
movb -0x50(%rbp), %al
andb $-0x3, %al
orb $0x0, %al
movb %al, -0x50(%rbp)
movw $0x0, -0x52(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x444a0
addq $0x80, %rsp
popq %rbp
retq
nopw (%rax,%rax)