// File: /workspace/github_c_makefile_star2_O0/OnionIoT[P]lv_example/lvgl/src/lv_objx/lv_tabview.c
// Function: tabview_realign
static void tabview_realign(lv_obj_t * tabview)
{
    lv_tabview_ext_t * ext = lv_obj_get_ext_attr(tabview);

    lv_obj_set_width(ext->btns, lv_obj_get_width(tabview));

    if(ext->btns_hide) {
        lv_obj_set_hidden(ext->btns, true);
        lv_obj_set_hidden(ext->indic, true);
        lv_obj_set_height(ext->content, lv_obj_get_height(tabview));
        lv_obj_align(ext->content, NULL, LV_ALIGN_IN_TOP_LEFT, 0, 0);
    } else if(ext->tab_cnt != 0) {
        lv_obj_set_hidden(ext->btns, false);
        lv_obj_set_hidden(ext->indic, false);

        const lv_style_t * style_btn_bg  = lv_tabview_get_style(tabview, LV_TABVIEW_STYLE_BTN_BG);
        const lv_style_t * style_btn_rel = lv_tabview_get_style(tabview, LV_TABVIEW_STYLE_BTN_REL);

        /*Set the indicator width/height*/
        lv_coord_t indic_size;
        lv_coord_t max_h;

        switch(ext->btns_pos) {
            case LV_TABVIEW_BTNS_POS_TOP:
            case LV_TABVIEW_BTNS_POS_BOTTOM:
                indic_size = (lv_obj_get_width(tabview) - style_btn_bg->body.padding.inner * (ext->tab_cnt - 1) -
                              style_btn_bg->body.padding.left - style_btn_bg->body.padding.right) /
                             ext->tab_cnt;
                lv_obj_set_width(ext->indic, indic_size);
                break;
            case LV_TABVIEW_BTNS_POS_LEFT:
            case LV_TABVIEW_BTNS_POS_RIGHT:
                lv_obj_set_height(ext->btns, lv_obj_get_height(tabview));

                max_h =
                    lv_obj_get_height(ext->btns) - style_btn_bg->body.padding.top - style_btn_bg->body.padding.bottom;
                indic_size = max_h - ((ext->tab_cnt - 1) * style_btn_bg->body.padding.inner);
                indic_size = indic_size / ext->tab_cnt;
                indic_size--; /*-1 because e.g. height = 100 means 101 pixels (0..100)*/
                lv_obj_set_height(ext->indic, indic_size);
                break;
        }

        /*Set the tabs height/width*/
        lv_coord_t btns_size;

        switch(ext->btns_pos) {
            case LV_TABVIEW_BTNS_POS_TOP:
            case LV_TABVIEW_BTNS_POS_BOTTOM:
                btns_size = lv_font_get_line_height(style_btn_rel->text.font) + style_btn_rel->body.padding.top +
                            style_btn_rel->body.padding.bottom + style_btn_bg->body.padding.top +
                            style_btn_bg->body.padding.bottom;
                lv_obj_set_height(ext->btns, btns_size);
                break;
            case LV_TABVIEW_BTNS_POS_LEFT:
            case LV_TABVIEW_BTNS_POS_RIGHT:
                btns_size = lv_font_get_glyph_width(style_btn_rel->text.font, 'A', '\0') +
                            style_btn_rel->body.padding.left + style_btn_rel->body.padding.right +
                            style_btn_bg->body.padding.left + style_btn_bg->body.padding.right;
                lv_obj_set_width(ext->btns, btns_size);
                break;
        }

        switch(ext->btns_pos) {
            case LV_TABVIEW_BTNS_POS_TOP:
            case LV_TABVIEW_BTNS_POS_BOTTOM:
                lv_obj_set_height(ext->content, lv_obj_get_height(tabview) - lv_obj_get_height(ext->btns));
                break;
            case LV_TABVIEW_BTNS_POS_LEFT:
            case LV_TABVIEW_BTNS_POS_RIGHT: lv_obj_set_height(ext->content, lv_obj_get_height(tabview)); break;
        }

        switch(ext->btns_pos) {
            case LV_TABVIEW_BTNS_POS_TOP:
                lv_obj_align(ext->btns, NULL, LV_ALIGN_IN_TOP_LEFT, 0, 0);
                lv_obj_align(ext->content, ext->btns, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 0);
                lv_obj_align(ext->indic, ext->btns, LV_ALIGN_IN_BOTTOM_LEFT, 0, 0);

                lv_cont_set_fit2(ext->content, LV_FIT_TIGHT, LV_FIT_NONE);
                lv_cont_set_layout(ext->content, LV_LAYOUT_ROW_T);
                lv_obj_set_height(ext->content, lv_obj_get_height(tabview) - lv_obj_get_height(ext->btns));
                break;
            case LV_TABVIEW_BTNS_POS_BOTTOM:
                lv_obj_align(ext->content, NULL, LV_ALIGN_IN_TOP_LEFT, 0, 0);
                lv_obj_align(ext->btns, ext->content, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 0);
                lv_obj_align(ext->indic, ext->btns, LV_ALIGN_IN_TOP_LEFT, 0, 0);

                lv_cont_set_fit2(ext->content, LV_FIT_TIGHT, LV_FIT_NONE);
                lv_cont_set_layout(ext->content, LV_LAYOUT_ROW_T);
                lv_obj_set_height(ext->content, lv_obj_get_height(tabview) - lv_obj_get_height(ext->btns));
                break;
            case LV_TABVIEW_BTNS_POS_LEFT:
                lv_obj_align(ext->btns, NULL, LV_ALIGN_IN_TOP_LEFT, 0, 0);
                lv_obj_align(ext->content, tabview, LV_ALIGN_IN_TOP_LEFT, lv_obj_get_width(ext->btns), 0);
                lv_obj_align(ext->indic, ext->btns, LV_ALIGN_IN_TOP_RIGHT, 0, 0);

                lv_cont_set_fit2(ext->content, LV_FIT_TIGHT, LV_FIT_NONE);
                lv_cont_set_layout(ext->content, LV_LAYOUT_ROW_T);
                lv_obj_set_width(ext->content, lv_obj_get_width(tabview) - lv_obj_get_width(ext->btns));

                lv_obj_set_height(ext->btns, lv_obj_get_height(tabview));
                lv_obj_set_width(ext->indic, style_btn_bg->body.padding.inner);
                break;
            case LV_TABVIEW_BTNS_POS_RIGHT:
                lv_obj_align(ext->btns, NULL, LV_ALIGN_IN_TOP_RIGHT, 0, 0);
                lv_obj_align(ext->content, tabview, LV_ALIGN_IN_TOP_LEFT, 0, 0);
                lv_obj_align(ext->indic, ext->btns, LV_ALIGN_IN_TOP_LEFT, 0, 0);

                lv_cont_set_fit2(ext->content, LV_FIT_TIGHT, LV_FIT_NONE);
                lv_cont_set_layout(ext->content, LV_LAYOUT_ROW_T);
                lv_obj_set_width(ext->content, lv_obj_get_width(tabview) - lv_obj_get_width(ext->btns));

                lv_obj_set_height(ext->btns, lv_obj_get_height(tabview));
                lv_obj_set_width(ext->indic, style_btn_bg->body.padding.inner);
                break;
        }
    }

    lv_obj_t * pages = lv_obj_get_child(ext->content, NULL);
    while(pages != NULL) {
        if(lv_obj_get_signal_cb(pages) == tabpage_signal) { /*Be sure adjust only the pages (user can other things)*/
            switch(ext->btns_pos) {
                case LV_TABVIEW_BTNS_POS_TOP:
                case LV_TABVIEW_BTNS_POS_BOTTOM:
                    lv_obj_set_size(pages, lv_obj_get_width(tabview), lv_obj_get_height(ext->content));
                    break;
                case LV_TABVIEW_BTNS_POS_LEFT:
                case LV_TABVIEW_BTNS_POS_RIGHT:
                    lv_obj_set_size(pages, lv_obj_get_width(tabview) - lv_obj_get_width(ext->btns),
                                    lv_obj_get_height(ext->content));
                    break;
            }
        }
        pages = lv_obj_get_child(ext->content, pages);
    }

    if(!ext->btns_hide) {
        switch(ext->btns_pos) {
            case LV_TABVIEW_BTNS_POS_TOP: lv_obj_align(ext->indic, ext->btns, LV_ALIGN_IN_BOTTOM_LEFT, 0, 0); break;
            case LV_TABVIEW_BTNS_POS_BOTTOM: lv_obj_align(ext->indic, ext->btns, LV_ALIGN_IN_TOP_LEFT, 0, 0); break;
            case LV_TABVIEW_BTNS_POS_LEFT: lv_obj_align(ext->indic, ext->btns, LV_ALIGN_IN_TOP_RIGHT, 0, 0); break;
            case LV_TABVIEW_BTNS_POS_RIGHT: lv_obj_align(ext->indic, ext->btns, LV_ALIGN_IN_TOP_LEFT, 0, 0); break;
        }
    }

    lv_tabview_set_tab_act(tabview, ext->tab_cur, LV_ANIM_OFF);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x110, %rsp            # imm = 0x110
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0xa8f0
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rdi
callq 0x8310
movq -0x38(%rbp), %rdi
movswl %ax, %esi
callq 0x8430
movq -0x10(%rbp), %rax
movb 0x2a(%rax), %al
shrb $0x4, %al
andb $0x1, %al
cmpb $0x0, %al
je 0x1d191
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movl $0x1, %esi
callq 0x93e0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movl $0x1, %esi
callq 0x93e0
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rdi
callq 0x8350
movq -0x40(%rbp), %rdi
movswl %ax, %esi
callq 0x84a0
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
movl $0x1, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8500
jmp 0x1d83d
movq -0x10(%rbp), %rax
movzwl 0x26(%rax), %eax
cmpl $0x0, %eax
je 0x1d83b
movq -0x10(%rbp), %rax
movq (%rax), %rdi
xorl %esi, %esi
movl %esi, -0x48(%rbp)
callq 0x93e0
movl -0x48(%rbp), %esi
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x93e0
movq -0x8(%rbp), %rdi
movl $0x2, %esi
callq 0x1dfd0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movl $0x3, %esi
callq 0x1dfd0
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movb 0x2a(%rax), %al
shrb $0x5, %al
andb $0x3, %al
movzbl %al, %ecx
movl %ecx, -0x44(%rbp)
subb $0x2, %al
jb 0x1d20f
jmp 0x1d1ff
movl -0x44(%rbp), %eax
addl $-0x2, %eax
subl $0x2, %eax
jb 0x1d26a
jmp 0x1d2ff
movq -0x8(%rbp), %rdi
callq 0x8310
cwtl
movq -0x18(%rbp), %rcx
movswl 0x1e(%rcx), %ecx
movq -0x10(%rbp), %rdx
movzwl 0x26(%rdx), %edx
subl $0x1, %edx
imull %edx, %ecx
subl %ecx, %eax
movq -0x18(%rbp), %rcx
movswl 0x1a(%rcx), %ecx
subl %ecx, %eax
movq -0x18(%rbp), %rcx
movswl 0x1c(%rcx), %ecx
subl %ecx, %eax
movq -0x10(%rbp), %rcx
movzwl 0x26(%rcx), %ecx
cltd
idivl %ecx
movw %ax, -0x22(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movswl -0x22(%rbp), %esi
callq 0x8430
jmp 0x1d2ff
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x50(%rbp)
movq -0x8(%rbp), %rdi
callq 0x8350
movq -0x50(%rbp), %rdi
movswl %ax, %esi
callq 0x84a0
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x8350
cwtl
movq -0x18(%rbp), %rcx
movswl 0x16(%rcx), %ecx
subl %ecx, %eax
movq -0x18(%rbp), %rcx
movswl 0x18(%rcx), %ecx
subl %ecx, %eax
movw %ax, -0x24(%rbp)
movswl -0x24(%rbp), %eax
movq -0x10(%rbp), %rcx
movzwl 0x26(%rcx), %ecx
subl $0x1, %ecx
movq -0x18(%rbp), %rdx
movswl 0x1e(%rdx), %edx
imull %edx, %ecx
subl %ecx, %eax
movw %ax, -0x22(%rbp)
movswl -0x22(%rbp), %eax
movq -0x10(%rbp), %rcx
movzwl 0x26(%rcx), %ecx
cltd
idivl %ecx
movw %ax, -0x22(%rbp)
movw -0x22(%rbp), %ax
addw $-0x1, %ax
movw %ax, -0x22(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movswl -0x22(%rbp), %esi
callq 0x84a0
movq -0x10(%rbp), %rax
movb 0x2a(%rax), %al
shrb $0x5, %al
andb $0x3, %al
movzbl %al, %ecx
movl %ecx, -0x54(%rbp)
subb $0x2, %al
jb 0x1d327
jmp 0x1d317
movl -0x54(%rbp), %eax
addl $-0x2, %eax
subl $0x2, %eax
jb 0x1d375
jmp 0x1d3c8
movq -0x20(%rbp), %rax
movq 0x28(%rax), %rdi
callq 0x1ea30
movzbl %al, %eax
movq -0x20(%rbp), %rcx
movswl 0x16(%rcx), %ecx
addl %ecx, %eax
movq -0x20(%rbp), %rcx
movswl 0x18(%rcx), %ecx
addl %ecx, %eax
movq -0x18(%rbp), %rcx
movswl 0x16(%rcx), %ecx
addl %ecx, %eax
movq -0x18(%rbp), %rcx
movswl 0x18(%rcx), %ecx
addl %ecx, %eax
movw %ax, -0x26(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movswl -0x26(%rbp), %esi
callq 0x84a0
jmp 0x1d3c8
movq -0x20(%rbp), %rax
movq 0x28(%rax), %rdi
movl $0x41, %esi
xorl %edx, %edx
callq 0x415e0
movzwl %ax, %eax
movq -0x20(%rbp), %rcx
movswl 0x1a(%rcx), %ecx
addl %ecx, %eax
movq -0x20(%rbp), %rcx
movswl 0x1c(%rcx), %ecx
addl %ecx, %eax
movq -0x18(%rbp), %rcx
movswl 0x1a(%rcx), %ecx
addl %ecx, %eax
movq -0x18(%rbp), %rcx
movswl 0x1c(%rcx), %ecx
addl %ecx, %eax
movw %ax, -0x26(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movswl -0x26(%rbp), %esi
callq 0x8430
movq -0x10(%rbp), %rax
movb 0x2a(%rax), %al
shrb $0x5, %al
andb $0x3, %al
movzbl %al, %ecx
movl %ecx, -0x58(%rbp)
subb $0x2, %al
jb 0x1d3ed
jmp 0x1d3e0
movl -0x58(%rbp), %eax
addl $-0x2, %eax
subl $0x2, %eax
jb 0x1d42b
jmp 0x1d44c
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x68(%rbp)
movq -0x8(%rbp), %rdi
callq 0x8350
cwtl
movl %eax, -0x5c(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x8350
movq -0x68(%rbp), %rdi
movw %ax, %cx
movl -0x5c(%rbp), %eax
movswl %cx, %ecx
subl %ecx, %eax
movswl %ax, %esi
callq 0x84a0
jmp 0x1d44c
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x70(%rbp)
movq -0x8(%rbp), %rdi
callq 0x8350
movq -0x70(%rbp), %rdi
movswl %ax, %esi
callq 0x84a0
movq -0x10(%rbp), %rax
movb 0x2a(%rax), %al
shrb $0x5, %al
andb $0x3, %al
movzbl %al, %ecx
movq %rcx, -0x78(%rbp)
subb $0x3, %al
ja 0x1d839
movq -0x78(%rbp), %rax
leaq 0x4affe(%rip), %rcx     # 0x68470
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x10(%rbp), %rax
movq (%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
movl $0x1, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8500
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
movl $0xc, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8500
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
movl $0x4, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8500
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x1c650
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movl $0x5, %esi
callq 0x385a0
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x88(%rbp)
movq -0x8(%rbp), %rdi
callq 0x8350
cwtl
movl %eax, -0x7c(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x8350
movq -0x88(%rbp), %rdi
movw %ax, %cx
movl -0x7c(%rbp), %eax
movswl %cx, %ecx
subl %ecx, %eax
movswl %ax, %esi
callq 0x84a0
jmp 0x1d839
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
movl $0x1, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8500
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
movl $0xc, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8500
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
movl $0x1, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8500
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x1c650
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movl $0x5, %esi
callq 0x385a0
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x98(%rbp)
movq -0x8(%rbp), %rdi
callq 0x8350
cwtl
movl %eax, -0x8c(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x8350
movq -0x98(%rbp), %rdi
movw %ax, %cx
movl -0x8c(%rbp), %eax
movswl %cx, %ecx
subl %ecx, %eax
movswl %ax, %esi
callq 0x84a0
jmp 0x1d839
movq -0x10(%rbp), %rax
movq (%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
movl $0x1, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8500
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0xc0(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x8310
movq -0xc0(%rbp), %rdi
movq -0xb8(%rbp), %rsi
movl $0x1, %edx
xorl %r8d, %r8d
movswl %ax, %ecx
callq 0x8500
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
movl $0x3, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8500
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x1c650
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movl $0x5, %esi
callq 0x385a0
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0xb0(%rbp)
movq -0x8(%rbp), %rdi
callq 0x8310
cwtl
movl %eax, -0xa4(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x8310
movq -0xb0(%rbp), %rdi
movw %ax, %cx
movl -0xa4(%rbp), %eax
movswl %cx, %ecx
subl %ecx, %eax
movswl %ax, %esi
callq 0x8430
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xa0(%rbp)
movq -0x8(%rbp), %rdi
callq 0x8350
movq -0xa0(%rbp), %rdi
movswl %ax, %esi
callq 0x84a0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x18(%rbp), %rax
movswl 0x1e(%rax), %esi
callq 0x8430
jmp 0x1d839
movq -0x10(%rbp), %rax
movq (%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
movl $0x3, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8500
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x8(%rbp), %rsi
movl $0x1, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8500
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
movl $0x1, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8500
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x1c650
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movl $0x5, %esi
callq 0x385a0
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0xd8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x8310
cwtl
movl %eax, -0xcc(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x8310
movq -0xd8(%rbp), %rdi
movw %ax, %cx
movl -0xcc(%rbp), %eax
movswl %cx, %ecx
subl %ecx, %eax
movswl %ax, %esi
callq 0x8430
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xc8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x8350
movq -0xc8(%rbp), %rdi
movswl %ax, %esi
callq 0x84a0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x18(%rbp), %rax
movswl 0x1e(%rax), %esi
callq 0x8430
jmp 0x1d83b
jmp 0x1d83d
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x7c20
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0x1d965
movq -0x30(%rbp), %rdi
callq 0xa830
leaq -0x99d(%rip), %rcx      # 0x1ced0
cmpq %rcx, %rax
jne 0x1d94b
movq -0x10(%rbp), %rax
movb 0x2a(%rax), %al
shrb $0x5, %al
andb $0x3, %al
movzbl %al, %ecx
movl %ecx, -0xdc(%rbp)
subb $0x2, %al
jb 0x1d8a4
jmp 0x1d891
movl -0xdc(%rbp), %eax
addl $-0x2, %eax
subl $0x2, %eax
jb 0x1d8e7
jmp 0x1d949
movq -0x30(%rbp), %rax
movq %rax, -0xe8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x8310
movw %ax, -0xde(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x8350
movq -0xe8(%rbp), %rdi
movw -0xde(%rbp), %cx
movswl %cx, %esi
movswl %ax, %edx
callq 0x8180
jmp 0x1d949
movq -0x30(%rbp), %rax
movq %rax, -0xf8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x8310
cwtl
movl %eax, -0xfc(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x8310
movw %ax, %cx
movl -0xfc(%rbp), %eax
movswl %cx, %ecx
subl %ecx, %eax
movw %ax, -0xea(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x8350
movq -0xf8(%rbp), %rdi
movw -0xea(%rbp), %cx
movswl %cx, %esi
movswl %ax, %edx
callq 0x8180
jmp 0x1d94b
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x30(%rbp), %rsi
callq 0x7c20
movq %rax, -0x30(%rbp)
jmp 0x1d852
movq -0x10(%rbp), %rax
movb 0x2a(%rax), %al
shrb $0x4, %al
andb $0x1, %al
cmpb $0x0, %al
jne 0x1da32
movq -0x10(%rbp), %rax
movb 0x2a(%rax), %al
shrb $0x5, %al
andb $0x3, %al
movzbl %al, %ecx
movq %rcx, -0x108(%rbp)
subb $0x3, %al
ja 0x1da30
movq -0x108(%rbp), %rax
leaq 0x4aadb(%rip), %rcx     # 0x68480
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
movl $0x4, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8500
jmp 0x1da30
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
movl $0x1, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8500
jmp 0x1da30
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
movl $0x3, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8500
jmp 0x1da30
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
movl $0x1, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8500
jmp 0x1da32
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
xorl %edx, %edx
movzwl 0x24(%rax), %esi
callq 0x1da50
addq $0x110, %rsp            # imm = 0x110
popq %rbp
retq
nop