// File: /workspace/github_c_makefile_star2_O2/OnionIoT[P]lv_example/lvgl/src/lv_objx/lv_chart.c
// Function: lv_chart_design
static bool lv_chart_design(lv_obj_t * chart, const lv_area_t * mask, lv_design_mode_t mode)
{
    if(mode == LV_DESIGN_COVER_CHK) {
        /*Return false if the object is not covers the mask_p area*/
        return ancestor_design_f(chart, mask, mode);
    } else if(mode == LV_DESIGN_DRAW_MAIN) {
        /*Draw the background*/
        lv_draw_rect(&chart->coords, mask, lv_obj_get_style(chart), lv_obj_get_opa_scale(chart));

        lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart);

        lv_chart_draw_div(chart, mask);

        /* Adjust the mask to remove the margin (clips chart contents to be within background) */

        lv_area_t mask_tmp, adjusted_mask;
        lv_obj_get_coords(chart, &mask_tmp);

        bool union_ok = lv_area_intersect(&adjusted_mask, mask, &mask_tmp);

        if(union_ok) {
                if(ext->type & LV_CHART_TYPE_LINE) lv_chart_draw_lines(chart, &adjusted_mask);
                if(ext->type & LV_CHART_TYPE_COLUMN) lv_chart_draw_cols(chart, &adjusted_mask);
                if(ext->type & LV_CHART_TYPE_POINT) lv_chart_draw_points(chart, &adjusted_mask);
                if(ext->type & LV_CHART_TYPE_VERTICAL_LINE) lv_chart_draw_vertical_lines(chart, &adjusted_mask);
                if(ext->type & LV_CHART_TYPE_AREA) lv_chart_draw_areas(chart, &adjusted_mask);
        }

        lv_chart_draw_axes(chart, mask);
    }
    return true;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x108, %rsp            # imm = 0x108
movq %rsi, 0x90(%rsp)
movq %rdi, %r15
testl %edx, %edx
je 0x14235
cmpl $0x2, %edx
jne 0x14ec4
movq 0x4a16c(%rip), %rax     # 0x5e380
pushq $0x2
popq %rdx
movq %r15, %rdi
movq 0x90(%rsp), %rsi
addq $0x108, %rsp            # imm = 0x108
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmpq *%rax
leaq 0x20(%r15), %r14
movq %r15, %rdi
callq 0x6316
movq %rax, %rbx
movq %r15, %rdi
callq 0x6649
movzbl %al, %ecx
movq %r14, 0x38(%rsp)
movq %r14, %rdi
movq 0x90(%rsp), %rsi
movq %rbx, %rdx
callq 0x336d4
movq %r15, %rdi
callq 0x6747
movq %rax, 0x68(%rsp)
movq %r15, %rdi
callq 0x6747
movq %rax, %rbx
movq %r15, %rdi
callq 0x6316
movq %rax, %r14
movq %r15, %rdi
callq 0x6649
movl %eax, %ebp
movq %r15, %rdi
callq 0x5308
movq %rax, 0x70(%rsp)
movq %r15, %rdi
callq 0x5332
movl %eax, 0x98(%rsp)
movzwl 0x20(%r15), %eax
movq %rax, 0x30(%rsp)
movq %r15, 0x78(%rsp)
movzwl 0x22(%r15), %eax
movl %eax, 0x28(%rsp)
movb 0x1c(%rbx), %r12b
movzbl %bpl, %ebp
testb %r12b, %r12b
je 0x14366
cmpw $0x0, 0xc(%r14)
setne %r15b
sete %al
addb %al, %r12b
leaq 0xb8(%rsp), %rcx
movq 0x30(%rsp), %rax
movw %ax, (%rcx)
movq 0x70(%rsp), %rcx
addl %ecx, %eax
leaq 0x50(%rsp), %rcx
movw %ax, (%rcx)
movswl 0x98(%rsp), %r13d
cmpb %r12b, %r15b
ja 0x14366
movzbl %r15b, %ecx
movswl 0x3e(%r14), %edx
movl %r13d, %eax
subl %edx, %eax
imull %ecx, %eax
movzbl 0x1c(%rbx), %ecx
incl %ecx
cltd
idivl %ecx
addl 0x28(%rsp), %eax
movw %ax, 0xba(%rsp)
movw %ax, 0x52(%rsp)
leaq 0xb8(%rsp), %rdi
leaq 0x50(%rsp), %rsi
movq 0x90(%rsp), %rdx
movq %r14, %rcx
movl %ebp, %r8d
callq 0x37138
incb %r15b
jmp 0x14311
movb 0x1d(%rbx), %r12b
testb %r12b, %r12b
je 0x14400
cmpw $0x0, 0xc(%r14)
setne %r15b
sete %al
addb %al, %r12b
leaq 0xb8(%rsp), %rax
movl 0x28(%rsp), %ecx
movw %cx, 0x2(%rax)
movl 0x98(%rsp), %eax
addl %ecx, %eax
leaq 0x50(%rsp), %rcx
movw %ax, 0x2(%rcx)
movswl 0x70(%rsp), %r13d
cmpb %r12b, %r15b
ja 0x14400
movzbl %r15b, %ecx
movswl 0x3e(%r14), %edx
movl %r13d, %eax
subl %edx, %eax
imull %ecx, %eax
movzbl 0x1d(%rbx), %ecx
incl %ecx
cltd
idivl %ecx
addl 0x30(%rsp), %eax
movw %ax, 0xb8(%rsp)
movw %ax, 0x50(%rsp)
leaq 0xb8(%rsp), %rdi
leaq 0x50(%rsp), %rsi
movq 0x90(%rsp), %rdx
movq %r14, %rcx
movl %ebp, %r8d
callq 0x37138
incb %r15b
jmp 0x143ab
leaq 0x100(%rsp), %rbx
movq 0x78(%rsp), %rbp
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x50e5
leaq 0x84(%rsp), %rdi
movq 0x90(%rsp), %rsi
movq %rbx, %rdx
callq 0x26880
testb %al, %al
je 0x14bf7
movq 0x68(%rsp), %r14
movb 0x20(%r14), %al
testb $0x1, %al
je 0x14459
leaq 0x84(%rsp), %rsi
movq %rbp, %rdi
callq 0x15b43
movb 0x20(%r14), %al
testb $0x2, %al
je 0x14635
movq %rbp, %rdi
callq 0x6747
movq %rax, %rbx
movq %rbp, %rdi
callq 0x5308
movl %eax, %r14d
movq %rbp, %rdi
callq 0x5332
movq %rbp, %r15
movl %eax, %ebp
movswl %r14w, %eax
movzbl 0x5e(%rbx), %edx
incl %edx
movzwl 0x1e(%rbx), %ecx
imull %edx, %ecx
movl %eax, 0x30(%rsp)
cltd
idivl %ecx
movl %eax, %r13d
movw $0x2, %cx
cwtd
idivw %cx
movl %eax, 0x70(%rsp)
leaq 0x49a65(%rip), %rsi     # 0x5df18
leaq 0xb8(%rsp), %r14
movq %r14, %rdi
callq 0x74d4
andw $0x0, 0xc(%r14)
andw $0x0, 0x6(%r14)
movb 0x5f(%rbx), %al
movb %al, 0x8(%r14)
movzwl 0x26(%r15), %eax
leaq 0x50(%rsp), %rcx
movw %ax, 0x6(%rcx)
movswl %bp, %r15d
xorl %eax, %eax
movzwl 0x1e(%rbx), %ecx
cmpl %ecx, %eax
jae 0x14627
movl %eax, 0x28(%rsp)
imull 0x30(%rsp), %eax
cltd
idivl %ecx
movl %eax, %r14d
addl 0x70(%rsp), %r14d
movq 0x38(%rsp), %rax
addw (%rax), %r14w
movq %rbx, %rdi
callq 0x27ea3
movq %rax, %r12
testq %rax, %rax
je 0x1461c
movl %r14d, %eax
xorl %ebp, %ebp
testb $0x1, 0x5a(%rbx)
jne 0x14538
movswl 0xa(%r12), %ebp
movw %ax, 0x50(%rsp)
leal (%rax,%r13), %r14d
movw %r14w, 0x54(%rsp)
cmpw 0x84(%rsp), %r14w
jl 0x1460c
cmpw 0x88(%rsp), %ax
jg 0x1461c
movl 0x8(%r12), %edi
movw %di, 0xba(%rsp)
movzbl 0x60(%rbx), %esi
callq 0x15d24
movw %ax, 0xbc(%rsp)
addl 0x28(%rsp), %ebp
movzwl 0x1e(%rbx), %ecx
movl %ebp, %eax
cltd
idivl %ecx
movq (%r12), %rax
movswq %dx, %rbp
movswl (%rax,%rbp,2), %eax
movswl 0x18(%rbx), %ecx
subl %ecx, %eax
imull %r15d, %eax
movswl 0x1a(%rbx), %esi
subl %ecx, %esi
cltd
idivl %esi
movl %r15d, %ecx
subl %eax, %ecx
movq 0x78(%rsp), %rax
addw 0x22(%rax), %cx
movw %cx, 0x52(%rsp)
leaq 0x48(%rsp), %rdi
leaq 0x84(%rsp), %rsi
leaq 0x50(%rsp), %rdx
callq 0x26880
testb %al, %al
je 0x1460c
movq (%r12), %rax
cmpw $0x83e8, (%rax,%rbp,2)  # imm = 0x83E8
je 0x1460c
movq 0x78(%rsp), %rdi
callq 0x6649
movzbl %al, %ecx
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rsi
leaq 0xb8(%rsp), %rdx
callq 0x336d4
movq %rbx, %rdi
movq %r12, %rsi
callq 0x27dc6
jmp 0x1451b
movl 0x28(%rsp), %eax
incl %eax
jmp 0x144ea
movq 0x68(%rsp), %r14
movb 0x20(%r14), %al
movq 0x78(%rsp), %rbp
testb $0x4, %al
je 0x147bc
movq %rbp, %rdi
callq 0x6747
movq %rax, %rbx
movq %rbp, %rdi
callq 0x5308
movl %eax, %r13d
movq %rbp, %rdi
callq 0x5332
movq %rbp, %rcx
movl %eax, %ebp
movzwl 0x20(%rcx), %eax
movl %eax, 0x28(%rsp)
movzwl 0x22(%rcx), %eax
movl %eax, 0x38(%rsp)
leaq 0x498a1(%rip), %rsi     # 0x5df18
leaq 0xb8(%rsp), %r14
movq %r14, %rdi
callq 0x74d4
andw $0x0, 0xc(%r14)
movb 0x5f(%rbx), %al
movb %al, 0x8(%r14)
movzwl 0x5c(%rbx), %eax
movw %ax, 0x6(%r14)
movq %rbx, %rdi
callq 0x27ea3
movq %rax, %r15
movswl %r13w, %eax
movl %eax, 0x30(%rsp)
movswl %bp, %r14d
testq %r15, %r15
je 0x147ae
xorl %ebp, %ebp
testb $0x1, 0x5a(%rbx)
movl $0x0, %r12d
jne 0x146d0
movswl 0xa(%r15), %r12d
movl 0x8(%r15), %edi
movw %di, 0xba(%rsp)
movzbl 0x60(%rbx), %esi
callq 0x15d24
movw %ax, 0xbc(%rsp)
xorl %r13d, %r13d
movzwl 0x1e(%rbx), %esi
cmpl %esi, %r13d
jae 0x1479b
leal -0x1(%rsi), %ecx
movl %ebp, %eax
cltd
idivl %ecx
addl 0x28(%rsp), %eax
movzwl 0xbe(%rsp), %ecx
leal (%rax,%rcx), %edx
movw %dx, 0x54(%rsp)
subl %ecx, %eax
movw %ax, 0x50(%rsp)
leal (%r12,%r13), %eax
cltd
idivl %esi
movq (%r15), %rsi
movswq %dx, %rdi
movswl (%rsi,%rdi,2), %eax
movswl 0x18(%rbx), %edx
subl %edx, %eax
imull %r14d, %eax
movswl 0x1a(%rbx), %r8d
subl %edx, %r8d
cltd
idivl %r8d
movl %r14d, %edx
subl %eax, %edx
addl 0x38(%rsp), %edx
leal (%rdx,%rcx), %eax
movw %ax, 0x56(%rsp)
subl %ecx, %edx
movw %dx, 0x52(%rsp)
cmpw $0x83e8, (%rsi,%rdi,2)  # imm = 0x83E8
je 0x1478f
movq 0x78(%rsp), %rdi
callq 0x6649
movzbl %al, %ecx
leaq 0x50(%rsp), %rdi
leaq 0x84(%rsp), %rsi
leaq 0xb8(%rsp), %rdx
callq 0x336d4
incl %r13d
addl 0x30(%rsp), %ebp
jmp 0x146f0
movq %rbx, %rdi
movq %r15, %rsi
callq 0x27dc6
movq %rax, %r15
jmp 0x146b4
movq 0x68(%rsp), %r14
movb 0x20(%r14), %al
movq 0x78(%rsp), %rbp
testb $0x8, %al
je 0x149a9
movq %rbp, %rdi
callq 0x6747
movq %rax, %rbx
movq %rbp, %rdi
callq 0x5308
movzwl 0x1e(%rbx), %ecx
cwtl
movl %ecx, 0x30(%rsp)
cmpl %eax, %ecx
jne 0x14992
movq %rbp, %rdi
callq 0x5332
movl %eax, %r12d
movzwl 0x20(%rbp), %eax
movl %eax, 0x28(%rsp)
movzwl 0x22(%rbp), %eax
movl %eax, 0x38(%rsp)
movq %rbp, %rdi
callq 0x6649
movl %eax, %r14d
leaq 0x49703(%rip), %rsi     # 0x5df18
leaq 0xb8(%rsp), %r15
movq %r15, %rdi
callq 0x74d4
movb 0x5f(%rbx), %al
movb %al, 0x40(%r15)
movzwl 0x5c(%rbx), %eax
movw %ax, 0x3e(%r15)
movq %rbx, %rdi
callq 0x27ea3
movq %rax, %r15
movswl %r12w, %r12d
movzbl %r14b, %eax
movl %eax, 0x70(%rsp)
testq %r15, %r15
je 0x149a4
xorl %ebp, %ebp
testb $0x1, 0x5a(%rbx)
movl $0x0, %r13d
jne 0x14868
movswl 0xa(%r15), %r13d
movzwl 0x8(%r15), %eax
movw %ax, 0xf4(%rsp)
movl 0x28(%rsp), %edi
movw %di, 0x50(%rsp)
movw %di, 0x48(%rsp)
movq (%r15), %rax
movswl (%rax), %eax
movswl 0x18(%rbx), %ecx
subl %ecx, %eax
imull %r12d, %eax
movswl 0x1a(%rbx), %esi
subl %ecx, %esi
cltd
idivl %esi
movl %r12d, %r8d
subl %eax, %r8d
addl 0x38(%rsp), %r8d
movw %r8w, 0x4a(%rsp)
movw %r8w, 0x52(%rsp)
movzwl 0x1e(%rbx), %esi
movl %edi, %ecx
movzwl %si, %edi
cmpl %edi, %ebp
jae 0x1497a
leal (%r13,%rbp), %eax
cltd
idivl %edi
movl %edx, %r14d
movq (%r15), %r10
movswq %r14w, %r11
movswl (%r10,%r11,2), %eax
movswl 0x18(%rbx), %edx
subl %edx, %eax
imull %r12d, %eax
movswl 0x1a(%rbx), %r9d
subl %edx, %r9d
cltd
idivl %r9d
movl %r12d, %r9d
subl %eax, %r9d
addl 0x38(%rsp), %r9d
movw %r9w, 0x4a(%rsp)
cmpw %r9w, %r8w
jne 0x1490f
incl %ecx
movw %cx, 0x48(%rsp)
addq %r11, %r11
cmpw $0x83e8, (%r10,%r11)    # imm = 0x83E8
je 0x1494c
leaq 0x50(%rsp), %rdi
leaq 0x48(%rsp), %rsi
leaq 0x84(%rsp), %rdx
leaq 0xb8(%rsp), %rcx
movl 0x70(%rsp), %r8d
callq 0x37138
movzwl 0x1e(%rbx), %esi
movzwl 0x4a(%rsp), %r9d
movzwl %si, %edi
movswl %r14w, %eax
imull 0x30(%rsp), %eax
decl %edi
cltd
idivl %edi
movl %eax, %ecx
addl 0x28(%rsp), %ecx
movw %cx, 0x48(%rsp)
movw %cx, 0x50(%rsp)
movw %r9w, 0x52(%rsp)
incl %ebp
movl %r9d, %r8d
jmp 0x148b9
movq %rbx, %rdi
movq %r15, %rsi
callq 0x27dc6
movq %rax, %r15
movq 0x78(%rsp), %rbp
jmp 0x1484c
leaq 0x84(%rsp), %rsi
movq %rbp, %rdi
callq 0x15b43
jmp 0x149a9
movq 0x68(%rsp), %r14
testb $0x10, 0x20(%r14)
je 0x14bf7
movq %rbp, %rdi
callq 0x6747
movq %rax, %r15
movq %rbp, %rdi
callq 0x5308
movq %rbp, %rbx
movl %eax, %ebp
movq %rbx, %rdi
callq 0x5332
movl %eax, %r14d
movzwl 0x20(%rbx), %r12d
movzwl 0x22(%rbx), %r13d
movq %rbx, %rdi
callq 0x6649
movb %al, 0x47(%rsp)
leaq 0x49524(%rip), %rsi     # 0x5df18
leaq 0xb8(%rsp), %rdi
callq 0x74d4
movq %r15, %rdi
callq 0x27ea3
movq %rax, %r11
movswl %r14w, %eax
movl %eax, 0x38(%rsp)
movq %r13, 0x98(%rsp)
leal (%r14,%r13), %eax
movl %eax, 0xb0(%rsp)
movq %r15, %r14
movswl %bp, %eax
movl %eax, 0x30(%rsp)
movl %r12d, %ebp
movq %r15, 0xa8(%rsp)
movl %r12d, 0xb4(%rsp)
testq %r11, %r11
je 0x14bf2
testb $0x1, 0x5a(%r14)
jne 0x14a5b
movzwl 0xa(%r11), %ecx
jmp 0x14a5d
xorl %ecx, %ecx
movzwl 0x8(%r11), %eax
movw %ax, 0xba(%rsp)
movb 0x5f(%r14), %al
movb %al, 0xc0(%rsp)
movq (%r11), %rax
movswq %cx, %rdi
movswl (%rax,%rdi,2), %eax
movswl 0x18(%r14), %edx
subl %edx, %eax
imull 0x38(%rsp), %eax
movswl 0x1a(%r14), %esi
subl %edx, %esi
cltd
idivl %esi
movl 0xb0(%rsp), %esi
subl %eax, %esi
movswl %di, %eax
movq %rax, 0x70(%rsp)
movl 0x30(%rsp), %r9d
pushq $0x1
popq %rax
movl %eax, %r12d
movl %ebp, %edi
movq %r11, 0x68(%rsp)
movzwl 0x1e(%r14), %r8d
cmpl %r8d, %r12d
jae 0x14bdf
movq 0x70(%rsp), %rax
addl %r12d, %eax
cltd
idivl %r8d
movl %edx, %r15d
decl %r8d
movl %r9d, 0x28(%rsp)
movl %r9d, %eax
cltd
idivl %r8d
movl %eax, %r13d
movq (%r11), %r9
movswq %r15w, %rax
movswl (%r9,%rax,2), %r8d
movswl 0x18(%r14), %edx
movl %r8d, %eax
subl %edx, %eax
movl 0x38(%rsp), %ebx
imull %ebx, %eax
movswl 0x1a(%r14), %r10d
subl %edx, %r10d
cltd
idivl %r10d
subl %eax, %ebx
addl %ebp, %r13d
addl 0x98(%rsp), %ebx
movswq %cx, %rax
cmpw $0x83e8, (%r9,%rax,2)   # imm = 0x83E8
je 0x14bc5
cmpw $0x83e8, %r8w           # imm = 0x83E8
je 0x14bc5
movw %di, 0x50(%rsp)
movw %si, 0x52(%rsp)
movw %r13w, 0x54(%rsp)
movw %bx, 0x56(%rsp)
movw %di, 0x58(%rsp)
movq 0x78(%rsp), %rbp
movzwl 0x26(%rbp), %eax
movw %ax, 0x5a(%rsp)
movzbl 0x47(%rsp), %r14d
leaq 0x50(%rsp), %rdi
leaq 0x84(%rsp), %rsi
leaq 0xb8(%rsp), %rdx
movl %r14d, %ecx
callq 0x392e8
movw %r13w, 0x58(%rsp)
movzwl 0x26(%rbp), %eax
movl 0xb4(%rsp), %ebp
movw %ax, 0x52(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0x84(%rsp), %rsi
leaq 0xb8(%rsp), %rdx
movl %r14d, %ecx
movq 0xa8(%rsp), %r14
callq 0x392e8
movq 0x68(%rsp), %r11
incl %r12d
movl 0x28(%rsp), %r9d
addl 0x30(%rsp), %r9d
movl %r15d, %ecx
movl %r13d, %edi
movl %ebx, %esi
jmp 0x14ab9
movq %r14, %rdi
movq %r11, %rsi
callq 0x27dc6
movq %rax, %r11
jmp 0x14a44
movq 0x78(%rsp), %rbp
pushq $0x1
popq %rdx
movq %rbp, %rdi
movq 0x90(%rsp), %rbx
movq %rbx, %rsi
callq 0x15d60
movq %rbp, %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0x15d60
movq %rbp, %rdi
callq 0x6747
cmpq $0x0, 0x38(%rax)
jne 0x14c33
cmpb $0x0, 0x41(%rax)
je 0x14ec4
movq %rax, 0x28(%rsp)
movq %rbp, %rdi
callq 0x6316
movq %rax, %r12
movq %rbp, %rdi
callq 0x6649
movb %al, 0x38(%rsp)
movzwl 0x20(%rbp), %eax
movl %eax, 0x70(%rsp)
movzwl 0x22(%rbp), %eax
movl %eax, 0x68(%rsp)
movq %rbp, %rdi
callq 0x5332
movq %rbp, %rdi
movl %eax, %ebp
callq 0x5308
movq 0x28(%rsp), %rdi
movzbl 0x42(%rdi), %ecx
movl %eax, %r15d
cwtd
movw $0xf, %si
idivw %si
cmpb $-0x1, %cl
cmovnel %ecx, %eax
movl %eax, 0x30(%rsp)
movb 0x43(%rdi), %al
movw %ax, 0xa8(%rsp)
cmpb $-0x1, %al
jne 0x14cb7
movzbl 0x30(%rsp), %eax
addl %eax, %eax
movw $0x3, %cx
xorl %edx, %edx
divw %cx
movw %ax, 0xa8(%rsp)
movq 0x38(%rdi), %rsi
leaq 0xb8(%rsp), %r13
pushq $0x1
popq %rbx
movq %r13, %rdi
movl %ebx, %edx
callq 0x16096
movq 0x28(%rsp), %rsi
movb 0x10(%r13), %r14b
movb 0x41(%rsi), %al
testb %al, %al
jne 0x14ce6
movb $0x1, 0x41(%rsi)
movb $0x1, %al
leal -0x1(%r14), %ecx
cmpb $0x2, %r14b
movzbl %cl, %ecx
cmovael %ecx, %ebx
mulb %bl
movl %eax, %ebx
movzbl %al, %eax
movl %eax, 0x98(%rsp)
addl 0x68(%rsp), %ebp
movswl %r15w, %eax
movl %eax, 0x68(%rsp)
xorl %r15d, %r15d
movzbl 0x38(%rsp), %eax
movl %eax, 0x38(%rsp)
cmpb %r15b, %bl
jb 0x14ec4
movzbl %r15b, %r13d
movw %bp, 0xa6(%rsp)
testb %r14b, %r14b
je 0x14d4f
movl 0x30(%rsp), %eax
testl %r13d, %r13d
je 0x14d57
movzbl %r15b, %eax
divb 0x41(%rsi)
movzbl %ah, %ecx
movl 0x30(%rsp), %eax
testb %cl, %cl
je 0x14d57
movzwl 0xa8(%rsp), %eax
movzbl %al, %eax
addl %ebp, %eax
movw %ax, 0x8e(%rsp)
movswl 0x3e(%r12), %ecx
movl 0x68(%rsp), %eax
subl %ecx, %eax
imull %r13d, %eax
cltd
idivl 0x98(%rsp)
addl 0x70(%rsp), %eax
movw %ax, 0xa4(%rsp)
movw %ax, 0x8c(%rsp)
cmpb %r15b, %bl
jne 0x14d9b
testb $0x1, 0x40(%rsi)
je 0x14dc5
leaq 0xa4(%rsp), %rdi
leaq 0x8c(%rsp), %rsi
movq 0x90(%rsp), %rdx
movq %r12, %rcx
movl 0x38(%rsp), %r8d
callq 0x37138
movq 0x28(%rsp), %rsi
testb %r14b, %r14b
je 0x14ebc
testl %r13d, %r13d
je 0x14de5
movzbl %r15b, %eax
divb 0x41(%rsi)
movzbl %ah, %eax
testb %al, %al
jne 0x14ebc
leaq 0xb8(%rsp), %rdi
leaq 0x50(%rsp), %r13
movq %r13, %rsi
callq 0x160dc
movq 0x28(%r12), %rdx
movswl 0x30(%r12), %ecx
movswl 0x32(%r12), %r8d
movl $0x4, (%rsp)
leaq 0xa0(%rsp), %rdi
movq %r13, %rsi
movl $0x7c18, %r9d           # imm = 0x7C18
callq 0x28723
movzwl 0x8c(%rsp), %esi
movzwl 0xa0(%rsp), %ecx
movl %ecx, %eax
cwtd
movw $0xfffe, %di            # imm = 0xFFFE
idivw %di
addl %esi, %eax
movw %ax, 0x48(%rsp)
movzwl 0x8e(%rsp), %edi
addl $0x4, %edi
movl %ecx, %eax
cwtd
movw %di, 0x4a(%rsp)
movw $0x2, %cx
idivw %cx
addl %esi, %eax
movw %ax, 0x4c(%rsp)
addw 0xa2(%rsp), %di
movw %di, 0x4e(%rsp)
movq 0x78(%rsp), %rdi
callq 0x47b9
movzbl %al, %eax
movl %eax, 0x18(%rsp)
xorps %xmm0, %xmm0
movups %xmm0, (%rsp)
andq $0x0, 0x10(%rsp)
leaq 0x48(%rsp), %rdi
movq 0x90(%rsp), %rsi
movq %r12, %rdx
movl 0x38(%rsp), %ecx
movq %r13, %r8
pushq $0x4
popq %r9
callq 0x3699c
movq 0x28(%rsp), %rsi
incb %r15b
jmp 0x14d1a
movb $0x1, %al
addq $0x108, %rsp            # imm = 0x108
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq