// File: /workspace/github_c_makefile_star2_O2/Paxa[P]fast_excel/libxlsxwriter/src/workbook.c
// Function: lxw_workbook_free
void
lxw_workbook_free(lxw_workbook *workbook)
{
    lxw_sheet *sheet;
    struct lxw_worksheet_name *worksheet_name;
    struct lxw_worksheet_name *next_worksheet_name;
    struct lxw_chartsheet_name *chartsheet_name;
    struct lxw_chartsheet_name *next_chartsheet_name;
    struct lxw_image_md5 *image_md5;
    struct lxw_image_md5 *next_image_md5;
    lxw_chart *chart;
    lxw_format *format;
    lxw_defined_name *defined_name;
    lxw_defined_name *defined_name_tmp;
    lxw_custom_property *custom_property;

    if (!workbook)
        return;

    _free_doc_properties(workbook->properties);

    free(workbook->filename);

    /* Free the sheets in the workbook. */
    if (workbook->sheets) {
        while (!STAILQ_EMPTY(workbook->sheets)) {
            sheet = STAILQ_FIRST(workbook->sheets);

            if (sheet->is_chartsheet)
                lxw_chartsheet_free(sheet->u.chartsheet);
            else
                lxw_worksheet_free(sheet->u.worksheet);

            STAILQ_REMOVE_HEAD(workbook->sheets, list_pointers);
            free(sheet);
        }
        free(workbook->sheets);
    }

    /* Free the sheet lists. The worksheet objects are freed above. */
    free(workbook->worksheets);
    free(workbook->chartsheets);

    /* Free the charts in the workbook. */
    if (workbook->charts) {
        while (!STAILQ_EMPTY(workbook->charts)) {
            chart = STAILQ_FIRST(workbook->charts);
            STAILQ_REMOVE_HEAD(workbook->charts, list_pointers);
            lxw_chart_free(chart);
        }
        free(workbook->charts);
    }

    /* Free the formats in the workbook. */
    if (workbook->formats) {
        while (!STAILQ_EMPTY(workbook->formats)) {
            format = STAILQ_FIRST(workbook->formats);
            STAILQ_REMOVE_HEAD(workbook->formats, list_pointers);
            lxw_format_free(format);
        }
        free(workbook->formats);
    }

    /* Free the defined_names in the workbook. */
    if (workbook->defined_names) {
        defined_name = TAILQ_FIRST(workbook->defined_names);
        while (defined_name) {

            defined_name_tmp = TAILQ_NEXT(defined_name, list_pointers);
            free(defined_name);
            defined_name = defined_name_tmp;
        }
        free(workbook->defined_names);
    }

    /* Free the custom_properties in the workbook. */
    if (workbook->custom_properties) {
        while (!STAILQ_EMPTY(workbook->custom_properties)) {
            custom_property = STAILQ_FIRST(workbook->custom_properties);
            STAILQ_REMOVE_HEAD(workbook->custom_properties, list_pointers);
            _free_custom_doc_property(custom_property);
        }
        free(workbook->custom_properties);
    }

    if (workbook->worksheet_names) {
        for (worksheet_name =
             RB_MIN(lxw_worksheet_names, workbook->worksheet_names);
             worksheet_name; worksheet_name = next_worksheet_name) {

            next_worksheet_name = RB_NEXT(lxw_worksheet_names,
                                          workbook->worksheet_name,
                                          worksheet_name);
            RB_REMOVE(lxw_worksheet_names, workbook->worksheet_names,
                      worksheet_name);
            free(worksheet_name);
        }

        free(workbook->worksheet_names);
    }

    if (workbook->chartsheet_names) {
        for (chartsheet_name =
             RB_MIN(lxw_chartsheet_names, workbook->chartsheet_names);
             chartsheet_name; chartsheet_name = next_chartsheet_name) {

            next_chartsheet_name = RB_NEXT(lxw_chartsheet_names,
                                           workbook->chartsheet_name,
                                           chartsheet_name);
            RB_REMOVE(lxw_chartsheet_names, workbook->chartsheet_names,
                      chartsheet_name);
            free(chartsheet_name);
        }

        free(workbook->chartsheet_names);
    }

    if (workbook->image_md5s) {
        for (image_md5 = RB_MIN(lxw_image_md5s, workbook->image_md5s);
             image_md5; image_md5 = next_image_md5) {

            next_image_md5 =
                RB_NEXT(lxw_image_md5s, workbook->image_md5, image_md5);
            RB_REMOVE(lxw_image_md5s, workbook->image_md5s, image_md5);
            free(image_md5->md5);
            free(image_md5);
        }

        free(workbook->image_md5s);
    }

    if (workbook->header_image_md5s) {
        for (image_md5 = RB_MIN(lxw_image_md5s, workbook->header_image_md5s);
             image_md5; image_md5 = next_image_md5) {

            next_image_md5 =
                RB_NEXT(lxw_image_md5s, workbook->image_md5, image_md5);
            RB_REMOVE(lxw_image_md5s, workbook->header_image_md5s, image_md5);
            free(image_md5->md5);
            free(image_md5);
        }

        free(workbook->header_image_md5s);
    }

    if (workbook->background_md5s) {
        for (image_md5 = RB_MIN(lxw_image_md5s, workbook->background_md5s);
             image_md5; image_md5 = next_image_md5) {

            next_image_md5 =
                RB_NEXT(lxw_image_md5s, workbook->image_md5, image_md5);
            RB_REMOVE(lxw_image_md5s, workbook->background_md5s, image_md5);
            free(image_md5->md5);
            free(image_md5);
        }

        free(workbook->background_md5s);
    }

    lxw_hash_free(workbook->used_xf_formats);
    lxw_hash_free(workbook->used_dxf_formats);
    lxw_sst_free(workbook->sst);
    free((void *) workbook->options.tmpdir);
    free(workbook->ordered_charts);
    free(workbook->vba_project);
    free(workbook->vba_project_signature);
    free(workbook->vba_codename);
    free(workbook);
}

// Assembly:
testq %rdi, %rdi
je 0x265ee
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
movq 0x70(%rdi), %rdi
callq 0x265ef
movq 0x80(%rbx), %rdi
callq 0xc0d0
movq 0x8(%rbx), %rdi
testq %rdi, %rdi
je 0x25a9f
movq (%rdi), %r14
testq %r14, %r14
je 0x25a9a
cmpb $0x0, (%r14)
movq 0x8(%r14), %rdi
je 0x25a70
callq 0xcd60
jmp 0x25a75
callq 0xce30
movq 0x8(%rbx), %rax
movq (%rax), %rcx
movq 0x10(%rcx), %rcx
movq %rcx, (%rax)
testq %rcx, %rcx
jne 0x25a8c
movq %rax, 0x8(%rax)
movq %r14, %rdi
callq 0xc0d0
movq 0x8(%rbx), %rdi
jmp 0x25a57
callq 0xc0d0
movq 0x10(%rbx), %rdi
callq 0xc0d0
movq 0x18(%rbx), %rdi
callq 0xc0d0
movq 0x48(%rbx), %rdi
testq %rdi, %rdi
je 0x25ae8
movq (%rdi), %rax
testq %rax, %rax
je 0x25ae3
movq 0x178(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x25ad5
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0xc740
movq 0x48(%rbx), %rdi
jmp 0x25aba
callq 0xc0d0
movq 0x58(%rbx), %rdi
testq %rdi, %rdi
je 0x25b1f
movq (%rdi), %rax
testq %rax, %rax
je 0x25b1a
movq 0x230(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x25b0c
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0xd050
movq 0x58(%rbx), %rdi
jmp 0x25af1
callq 0xc0d0
movq 0x60(%rbx), %rax
testq %rax, %rax
je 0x25b4a
movq (%rax), %rdi
testq %rdi, %rdi
je 0x25b41
movq 0x288(%rdi), %r14
callq 0xc0d0
movq %r14, %rdi
jmp 0x25b2b
movq 0x60(%rbx), %rdi
callq 0xc0d0
movq 0x78(%rbx), %rdi
testq %rdi, %rdi
je 0x25b96
movq (%rdi), %r14
testq %r14, %r14
je 0x25b91
movq 0x30(%r14), %rax
movq %rax, (%rdi)
testq %rax, %rax
jne 0x25b6b
movq %rdi, 0x8(%rdi)
movq 0x8(%r14), %rdi
callq 0xc0d0
cmpl $0x1, (%r14)
jne 0x25b83
movq 0x10(%r14), %rdi
callq 0xc0d0
movq %r14, %rdi
callq 0xc0d0
movq 0x78(%rbx), %rdi
jmp 0x25b53
callq 0xc0d0
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x2600f
xorl %ecx, %ecx
movq %rcx, %rdi
movq (%rax), %rcx
leaq 0x10(%rcx), %rax
testq %rcx, %rcx
jne 0x25ba5
jmp 0x25ffd
movq 0x18(%rdi), %rax
testq %rax, %rax
je 0x25c8a
movq %rax, %rcx
movq %rcx, %r14
movq 0x10(%rcx), %rcx
testq %rcx, %rcx
jne 0x25bc9
movq 0x20(%rbx), %rcx
movq 0x10(%rdi), %r8
testq %r8, %r8
je 0x25cb3
testq %rax, %rax
je 0x25cc3
leaq 0x10(%rdi), %r9
movq %rax, %r8
movq 0x10(%rax), %rax
testq %rax, %rax
jne 0x25bf3
movq 0x18(%r8), %rax
movq 0x20(%r8), %rdx
movl 0x28(%r8), %esi
testq %rax, %rax
je 0x25c14
movq %rdx, 0x20(%rax)
movq %rcx, %r10
testq %rdx, %rdx
je 0x25c2c
leaq 0x10(%rdx), %r11
leaq 0x18(%rdx), %r10
cmpq %r8, 0x10(%rdx)
cmoveq %r11, %r10
movq %rax, (%r10)
cmpq %rdi, 0x20(%r8)
cmoveq %r8, %rdx
leaq 0x10(%r8), %r10
movups (%r9), %xmm0
movups 0x10(%r9), %xmm1
movups %xmm1, 0x10(%r10)
movups %xmm0, (%r10)
movq 0x20(%rdi), %r10
movq %rcx, %r9
testq %r10, %r10
je 0x25c69
leaq 0x10(%r10), %r11
leaq 0x18(%r10), %r9
cmpq %rdi, 0x10(%r10)
cmoveq %r11, %r9
movq %r8, (%r9)
movq 0x10(%rdi), %r9
movq %r8, 0x20(%r9)
movq 0x18(%rdi), %r9
testq %r9, %r9
je 0x25d0e
movq %r8, 0x20(%r9)
jmp 0x25d0e
movq 0x20(%rdi), %rdx
testq %rdx, %rdx
je 0x25c99
cmpq %rdi, 0x10(%rdx)
je 0x25cd1
movq %rdi, %rcx
movq 0x20(%rcx), %r14
testq %r14, %r14
je 0x25cc9
cmpq 0x18(%r14), %rcx
movq %r14, %rcx
je 0x25c9c
jmp 0x25bd5
movq 0x20(%rdi), %rdx
movl 0x28(%rdi), %esi
testq %rax, %rax
jne 0x25ceb
xorl %eax, %eax
jmp 0x25cef
movq 0x20(%rdi), %rdx
jmp 0x25ce5
xorl %r14d, %r14d
jmp 0x25bd5
movq 0x20(%rbx), %rcx
movq 0x10(%rdi), %r8
testq %r8, %r8
je 0x25f20
movq %rdx, %r14
movl 0x28(%rdi), %esi
movq %r8, %rax
movq %rdx, 0x20(%rax)
testq %rdx, %rdx
je 0x25d06
leaq 0x10(%rdx), %r9
leaq 0x18(%rdx), %r8
cmpq %rdi, 0x10(%rdx)
cmoveq %r9, %r8
jmp 0x25d0b
xorl %edx, %edx
movq %rcx, %r8
movq %rax, (%r8)
testl %esi, %esi
jne 0x25ff5
jmp 0x25d23
movl $0x1, 0x28(%rdx)
movq 0x20(%rax), %rdx
movq %rax, %r8
movq %rdx, %rax
testq %r8, %r8
je 0x25d39
cmpl $0x0, 0x28(%r8)
jne 0x25ff0
movq (%rcx), %rsi
cmpq %rsi, %r8
je 0x25feb
movq 0x10(%rax), %rdx
cmpq %r8, %rdx
je 0x25d8d
cmpl $0x1, 0x28(%rdx)
jne 0x25def
andl $0x0, 0x28(%rdx)
movl $0x1, 0x28(%rax)
movq 0x18(%rdx), %r8
movq %r8, 0x10(%rax)
testq %r8, %r8
je 0x25d74
movq %rax, 0x20(%r8)
movq 0x20(%rax), %r9
movq %r9, 0x20(%rdx)
testq %r9, %r9
je 0x25dd4
cmpq 0x10(%r9), %rax
je 0x25ddc
movq %rdx, 0x18(%r9)
jmp 0x25de4
movq 0x18(%rax), %rdx
cmpl $0x1, 0x28(%rdx)
jne 0x25e34
andl $0x0, 0x28(%rdx)
movl $0x1, 0x28(%rax)
movq 0x10(%rdx), %r8
movq %r8, 0x18(%rax)
testq %r8, %r8
je 0x25db7
movq %rax, 0x20(%r8)
movq 0x20(%rax), %r9
movq %r9, 0x20(%rdx)
testq %r9, %r9
je 0x25e1d
cmpq 0x10(%r9), %rax
je 0x25e25
movq %rdx, 0x18(%r9)
movq 0x18(%rax), %r8
jmp 0x25e29
movq %rdx, (%rcx)
movq %rdx, %rsi
jmp 0x25de4
movq %rdx, 0x10(%r9)
movq 0x10(%rax), %r8
movq %rax, 0x18(%rdx)
movq %rdx, 0x20(%rax)
movq %r8, %rdx
movq 0x10(%rdx), %r9
testq %r9, %r9
je 0x25e03
cmpl $0x0, 0x28(%r9)
jne 0x25eca
movq 0x18(%rdx), %r8
testq %r8, %r8
je 0x25d18
cmpl $0x0, 0x28(%r8)
je 0x25d18
jmp 0x25e65
movq %rdx, (%rcx)
movq %rdx, %rsi
jmp 0x25e29
movq %rdx, 0x10(%r9)
movq %rax, 0x10(%rdx)
movq %rdx, 0x20(%rax)
movq %r8, %rdx
movq 0x10(%rdx), %r8
testq %r8, %r8
je 0x25e48
cmpl $0x0, 0x28(%r8)
jne 0x25f2d
movq 0x18(%rdx), %r9
testq %r9, %r9
je 0x25d18
cmpl $0x0, 0x28(%r9)
je 0x25d18
jmp 0x25f96
testq %r9, %r9
je 0x25e71
cmpl $0x0, 0x28(%r9)
jne 0x25eca
andl $0x0, 0x28(%r8)
movl $0x1, 0x28(%rdx)
movq 0x10(%r8), %r9
movq %r9, 0x18(%rdx)
testq %r9, %r9
je 0x25e8e
movq %rdx, 0x20(%r9)
movq 0x20(%rdx), %r11
movq %r11, 0x20(%r8)
movq %rcx, %r9
movq %r8, %r10
testq %r11, %r11
je 0x25eb4
leaq 0x10(%r11), %r10
cmpq 0x10(%r11), %rdx
leaq 0x18(%r11), %r9
cmoveq %r10, %r9
movq %rsi, %r10
movq %r8, (%r9)
movq %rdx, 0x10(%r8)
movq %r8, 0x20(%rdx)
movq 0x10(%rax), %rdx
movq 0x10(%rdx), %r9
movq %r10, %rsi
movl 0x28(%rax), %r8d
movl %r8d, 0x28(%rdx)
andl $0x0, 0x28(%rax)
testq %r9, %r9
je 0x25ee0
andl $0x0, 0x28(%r9)
movq 0x18(%rdx), %r8
movq %r8, 0x10(%rax)
testq %r8, %r8
je 0x25ef1
movq %rax, 0x20(%r8)
movq 0x20(%rax), %r9
movq %r9, 0x20(%rdx)
movq %rdx, %r8
testq %r9, %r9
je 0x25f14
leaq 0x10(%r9), %r8
cmpq 0x10(%r9), %rax
leaq 0x18(%r9), %rcx
cmoveq %r8, %rcx
movq %rsi, %r8
movq %rdx, (%rcx)
movq %rax, 0x18(%rdx)
jmp 0x25fe7
movl 0x28(%rdi), %esi
xorl %eax, %eax
movq %rdx, %r14
jmp 0x25cf4
movq 0x18(%rdx), %r9
testq %r9, %r9
je 0x25f3d
cmpl $0x0, 0x28(%r9)
jne 0x25f96
andl $0x0, 0x28(%r8)
movl $0x1, 0x28(%rdx)
movq 0x18(%r8), %r9
movq %r9, 0x10(%rdx)
testq %r9, %r9
je 0x25f5a
movq %rdx, 0x20(%r9)
movq 0x20(%rdx), %r11
movq %r11, 0x20(%r8)
movq %rcx, %r9
movq %r8, %r10
testq %r11, %r11
je 0x25f80
leaq 0x10(%r11), %r10
cmpq 0x10(%r11), %rdx
leaq 0x18(%r11), %r9
cmoveq %r10, %r9
movq %rsi, %r10
movq %r8, (%r9)
movq %rdx, 0x18(%r8)
movq %r8, 0x20(%rdx)
movq 0x18(%rax), %rdx
movq 0x18(%rdx), %r9
movq %r10, %rsi
movl 0x28(%rax), %r8d
movl %r8d, 0x28(%rdx)
andl $0x0, 0x28(%rax)
testq %r9, %r9
je 0x25fac
andl $0x0, 0x28(%r9)
movq 0x10(%rdx), %r8
movq %r8, 0x18(%rax)
testq %r8, %r8
je 0x25fbd
movq %rax, 0x20(%r8)
movq 0x20(%rax), %r9
movq %r9, 0x20(%rdx)
movq %rdx, %r8
testq %r9, %r9
je 0x25fe0
leaq 0x10(%r9), %r8
cmpq 0x10(%r9), %rax
leaq 0x18(%r9), %rcx
cmoveq %r8, %rcx
movq %rsi, %r8
movq %rdx, (%rcx)
movq %rax, 0x10(%rdx)
movq %rdx, 0x20(%rax)
testq %r8, %r8
je 0x25ff5
andl $0x0, 0x28(%r8)
callq 0xc0d0
movq %r14, %rdi
testq %rdi, %rdi
jne 0x25bb9
movq 0x20(%rbx), %rdi
callq 0xc0d0
movq 0x28(%rbx), %rax
testq %rax, %rax
je 0x26488
xorl %ecx, %ecx
movq %rcx, %rdi
movq (%rax), %rcx
leaq 0x10(%rcx), %rax
testq %rcx, %rcx
jne 0x2601e
jmp 0x26476
movq 0x18(%rdi), %rax
testq %rax, %rax
je 0x26103
movq %rax, %rcx
movq %rcx, %r14
movq 0x10(%rcx), %rcx
testq %rcx, %rcx
jne 0x26042
movq 0x28(%rbx), %rcx
movq 0x10(%rdi), %r8
testq %r8, %r8
je 0x2612c
testq %rax, %rax
je 0x2613c
leaq 0x10(%rdi), %r9
movq %rax, %r8
movq 0x10(%rax), %rax
testq %rax, %rax
jne 0x2606c
movq 0x18(%r8), %rax
movq 0x20(%r8), %rdx
movl 0x28(%r8), %esi
testq %rax, %rax
je 0x2608d
movq %rdx, 0x20(%rax)
movq %rcx, %r10
testq %rdx, %rdx
je 0x260a5
leaq 0x10(%rdx), %r11
leaq 0x18(%rdx), %r10
cmpq %r8, 0x10(%rdx)
cmoveq %r11, %r10
movq %rax, (%r10)
cmpq %rdi, 0x20(%r8)
cmoveq %r8, %rdx
leaq 0x10(%r8), %r10
movups (%r9), %xmm0
movups 0x10(%r9), %xmm1
movups %xmm1, 0x10(%r10)
movups %xmm0, (%r10)
movq 0x20(%rdi), %r10
movq %rcx, %r9
testq %r10, %r10
je 0x260e2
leaq 0x10(%r10), %r11
leaq 0x18(%r10), %r9
cmpq %rdi, 0x10(%r10)
cmoveq %r11, %r9
movq %r8, (%r9)
movq 0x10(%rdi), %r9
movq %r8, 0x20(%r9)
movq 0x18(%rdi), %r9
testq %r9, %r9
je 0x26187
movq %r8, 0x20(%r9)
jmp 0x26187
movq 0x20(%rdi), %rdx
testq %rdx, %rdx
je 0x26112
cmpq %rdi, 0x10(%rdx)
je 0x2614a
movq %rdi, %rcx
movq 0x20(%rcx), %r14
testq %r14, %r14
je 0x26142
cmpq 0x18(%r14), %rcx
movq %r14, %rcx
je 0x26115
jmp 0x2604e
movq 0x20(%rdi), %rdx
movl 0x28(%rdi), %esi
testq %rax, %rax
jne 0x26164
xorl %eax, %eax
jmp 0x26168
movq 0x20(%rdi), %rdx
jmp 0x2615e
xorl %r14d, %r14d
jmp 0x2604e
movq 0x28(%rbx), %rcx
movq 0x10(%rdi), %r8
testq %r8, %r8
je 0x26399
movq %rdx, %r14
movl 0x28(%rdi), %esi
movq %r8, %rax
movq %rdx, 0x20(%rax)
testq %rdx, %rdx
je 0x2617f
leaq 0x10(%rdx), %r9
leaq 0x18(%rdx), %r8
cmpq %rdi, 0x10(%rdx)
cmoveq %r9, %r8
jmp 0x26184
xorl %edx, %edx
movq %rcx, %r8
movq %rax, (%r8)
testl %esi, %esi
jne 0x2646e
jmp 0x2619c
movl $0x1, 0x28(%rdx)
movq 0x20(%rax), %rdx
movq %rax, %r8
movq %rdx, %rax
testq %r8, %r8
je 0x261b2
cmpl $0x0, 0x28(%r8)
jne 0x26469
movq (%rcx), %rsi
cmpq %rsi, %r8
je 0x26464
movq 0x10(%rax), %rdx
cmpq %r8, %rdx
je 0x26206
cmpl $0x1, 0x28(%rdx)
jne 0x26268
andl $0x0, 0x28(%rdx)
movl $0x1, 0x28(%rax)
movq 0x18(%rdx), %r8
movq %r8, 0x10(%rax)
testq %r8, %r8
je 0x261ed
movq %rax, 0x20(%r8)
movq 0x20(%rax), %r9
movq %r9, 0x20(%rdx)
testq %r9, %r9
je 0x2624d
cmpq 0x10(%r9), %rax
je 0x26255
movq %rdx, 0x18(%r9)
jmp 0x2625d
movq 0x18(%rax), %rdx
cmpl $0x1, 0x28(%rdx)
jne 0x262ad
andl $0x0, 0x28(%rdx)
movl $0x1, 0x28(%rax)
movq 0x10(%rdx), %r8
movq %r8, 0x18(%rax)
testq %r8, %r8
je 0x26230
movq %rax, 0x20(%r8)
movq 0x20(%rax), %r9
movq %r9, 0x20(%rdx)
testq %r9, %r9
je 0x26296
cmpq 0x10(%r9), %rax
je 0x2629e
movq %rdx, 0x18(%r9)
movq 0x18(%rax), %r8
jmp 0x262a2
movq %rdx, (%rcx)
movq %rdx, %rsi
jmp 0x2625d
movq %rdx, 0x10(%r9)
movq 0x10(%rax), %r8
movq %rax, 0x18(%rdx)
movq %rdx, 0x20(%rax)
movq %r8, %rdx
movq 0x10(%rdx), %r9
testq %r9, %r9
je 0x2627c
cmpl $0x0, 0x28(%r9)
jne 0x26343
movq 0x18(%rdx), %r8
testq %r8, %r8
je 0x26191
cmpl $0x0, 0x28(%r8)
je 0x26191
jmp 0x262de
movq %rdx, (%rcx)
movq %rdx, %rsi
jmp 0x262a2
movq %rdx, 0x10(%r9)
movq %rax, 0x10(%rdx)
movq %rdx, 0x20(%rax)
movq %r8, %rdx
movq 0x10(%rdx), %r8
testq %r8, %r8
je 0x262c1
cmpl $0x0, 0x28(%r8)
jne 0x263a6
movq 0x18(%rdx), %r9
testq %r9, %r9
je 0x26191
cmpl $0x0, 0x28(%r9)
je 0x26191
jmp 0x2640f
testq %r9, %r9
je 0x262ea
cmpl $0x0, 0x28(%r9)
jne 0x26343
andl $0x0, 0x28(%r8)
movl $0x1, 0x28(%rdx)
movq 0x10(%r8), %r9
movq %r9, 0x18(%rdx)
testq %r9, %r9
je 0x26307
movq %rdx, 0x20(%r9)
movq 0x20(%rdx), %r11
movq %r11, 0x20(%r8)
movq %rcx, %r9
movq %r8, %r10
testq %r11, %r11
je 0x2632d
leaq 0x10(%r11), %r10
cmpq 0x10(%r11), %rdx
leaq 0x18(%r11), %r9
cmoveq %r10, %r9
movq %rsi, %r10
movq %r8, (%r9)
movq %rdx, 0x10(%r8)
movq %r8, 0x20(%rdx)
movq 0x10(%rax), %rdx
movq 0x10(%rdx), %r9
movq %r10, %rsi
movl 0x28(%rax), %r8d
movl %r8d, 0x28(%rdx)
andl $0x0, 0x28(%rax)
testq %r9, %r9
je 0x26359
andl $0x0, 0x28(%r9)
movq 0x18(%rdx), %r8
movq %r8, 0x10(%rax)
testq %r8, %r8
je 0x2636a
movq %rax, 0x20(%r8)
movq 0x20(%rax), %r9
movq %r9, 0x20(%rdx)
movq %rdx, %r8
testq %r9, %r9
je 0x2638d
leaq 0x10(%r9), %r8
cmpq 0x10(%r9), %rax
leaq 0x18(%r9), %rcx
cmoveq %r8, %rcx
movq %rsi, %r8
movq %rdx, (%rcx)
movq %rax, 0x18(%rdx)
jmp 0x26460
movl 0x28(%rdi), %esi
xorl %eax, %eax
movq %rdx, %r14
jmp 0x2616d
movq 0x18(%rdx), %r9
testq %r9, %r9
je 0x263b6
cmpl $0x0, 0x28(%r9)
jne 0x2640f
andl $0x0, 0x28(%r8)
movl $0x1, 0x28(%rdx)
movq 0x18(%r8), %r9
movq %r9, 0x10(%rdx)
testq %r9, %r9
je 0x263d3
movq %rdx, 0x20(%r9)
movq 0x20(%rdx), %r11
movq %r11, 0x20(%r8)
movq %rcx, %r9
movq %r8, %r10
testq %r11, %r11
je 0x263f9
leaq 0x10(%r11), %r10
cmpq 0x10(%r11), %rdx
leaq 0x18(%r11), %r9
cmoveq %r10, %r9
movq %rsi, %r10
movq %r8, (%r9)
movq %rdx, 0x18(%r8)
movq %r8, 0x20(%rdx)
movq 0x18(%rax), %rdx
movq 0x18(%rdx), %r9
movq %r10, %rsi
movl 0x28(%rax), %r8d
movl %r8d, 0x28(%rdx)
andl $0x0, 0x28(%rax)
testq %r9, %r9
je 0x26425
andl $0x0, 0x28(%r9)
movq 0x10(%rdx), %r8
movq %r8, 0x18(%rax)
testq %r8, %r8
je 0x26436
movq %rax, 0x20(%r8)
movq 0x20(%rax), %r9
movq %r9, 0x20(%rdx)
movq %rdx, %r8
testq %r9, %r9
je 0x26459
leaq 0x10(%r9), %r8
cmpq 0x10(%r9), %rax
leaq 0x18(%r9), %rcx
cmoveq %r8, %rcx
movq %rsi, %r8
movq %rdx, (%rcx)
movq %rax, 0x10(%rdx)
movq %rdx, 0x20(%rax)
testq %r8, %r8
je 0x2646e
andl $0x0, 0x28(%r8)
callq 0xc0d0
movq %r14, %rdi
testq %rdi, %rdi
jne 0x26032
movq 0x28(%rbx), %rdi
callq 0xc0d0
movq 0x30(%rbx), %rax
testq %rax, %rax
je 0x264dd
xorl %ecx, %ecx
movq %rcx, %r14
movq (%rax), %rcx
leaq 0x10(%rcx), %rax
testq %rcx, %rcx
jne 0x26493
jmp 0x264cf
movq %r14, %rdi
callq 0x2665a
movq %rax, %r15
movq 0x30(%rbx), %rdi
movq %r14, %rsi
callq 0x26696
movq 0x8(%r14), %rdi
callq 0xc0d0
movq %r14, %rdi
callq 0xc0d0
movq %r15, %r14
testq %r14, %r14
jne 0x264a4
movq 0x30(%rbx), %rdi
callq 0xc0d0
movq 0x38(%rbx), %rax
testq %rax, %rax
je 0x26532
xorl %ecx, %ecx
movq %rcx, %r14
movq (%rax), %rcx
leaq 0x10(%rcx), %rax
testq %rcx, %rcx
jne 0x264e8
jmp 0x26524
movq %r14, %rdi
callq 0x2665a
movq %rax, %r15
movq 0x38(%rbx), %rdi
movq %r14, %rsi
callq 0x26696
movq 0x8(%r14), %rdi
callq 0xc0d0
movq %r14, %rdi
callq 0xc0d0
movq %r15, %r14
testq %r14, %r14
jne 0x264f9
movq 0x38(%rbx), %rdi
callq 0xc0d0
movq 0x40(%rbx), %rax
testq %rax, %rax
je 0x26587
xorl %ecx, %ecx
movq %rcx, %r14
movq (%rax), %rcx
leaq 0x10(%rcx), %rax
testq %rcx, %rcx
jne 0x2653d
jmp 0x26579
movq %r14, %rdi
callq 0x2665a
movq %rax, %r15
movq 0x40(%rbx), %rdi
movq %r14, %rsi
callq 0x26696
movq 0x8(%r14), %rdi
callq 0xc0d0
movq %r14, %rdi
callq 0xc0d0
movq %r15, %r14
testq %r14, %r14
jne 0x2654e
movq 0x40(%rbx), %rdi
callq 0xc0d0
movq 0xd8(%rbx), %rdi
callq 0xd0b0
movq 0xe0(%rbx), %rdi
callq 0xd0b0
movq 0x68(%rbx), %rdi
callq 0xd110
movq 0x90(%rbx), %rdi
callq 0xc0d0
movq 0x50(%rbx), %rdi
callq 0xc0d0
movq 0xe8(%rbx), %rdi
callq 0xc0d0
movq 0xf0(%rbx), %rdi
callq 0xc0d0
movq 0xf8(%rbx), %rdi
callq 0xc0d0
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0xc0d0
retq