// File: /workspace/github_c_makefile_star2_O1/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: lxw_worksheet_free
void
lxw_worksheet_free(lxw_worksheet *worksheet)
{
    lxw_row *row;
    lxw_row *next_row;
    lxw_col_t col;
    lxw_merged_range *merged_range;
    lxw_object_properties *object_props;
    lxw_vml_obj *vml_obj;
    lxw_selection *selection;
    lxw_data_val_obj *data_validation;
    lxw_rel_tuple *relationship;
    lxw_cond_format_obj *cond_format;
    lxw_table_obj *table_obj;
    struct lxw_drawing_rel_id *drawing_rel_id;
    struct lxw_drawing_rel_id *next_drawing_rel_id;
    struct lxw_cond_format_hash_element *cond_format_elem;
    struct lxw_cond_format_hash_element *next_cond_format_elem;

    if (!worksheet)
        return;

    if (worksheet->col_options) {
        for (col = 0; col < worksheet->col_options_max; col++) {
            if (worksheet->col_options[col])
                free(worksheet->col_options[col]);
        }
    }

    free(worksheet->col_options);
    free(worksheet->col_sizes);
    free(worksheet->col_formats);

    if (worksheet->table) {
        for (row = RB_MIN(lxw_table_rows, worksheet->table); row;
             row = next_row) {

            next_row = RB_NEXT(lxw_table_rows, worksheet->table, row);
            RB_REMOVE(lxw_table_rows, worksheet->table, row);
            _free_row(row);
        }

        free(worksheet->table);
    }

    if (worksheet->hyperlinks) {
        for (row = RB_MIN(lxw_table_rows, worksheet->hyperlinks); row;
             row = next_row) {

            next_row = RB_NEXT(lxw_table_rows, worksheet->hyperlinks, row);
            RB_REMOVE(lxw_table_rows, worksheet->hyperlinks, row);
            _free_row(row);
        }

        free(worksheet->hyperlinks);
    }

    if (worksheet->comments) {
        for (row = RB_MIN(lxw_table_rows, worksheet->comments); row;
             row = next_row) {

            next_row = RB_NEXT(lxw_table_rows, worksheet->comments, row);
            RB_REMOVE(lxw_table_rows, worksheet->comments, row);
            _free_row(row);
        }

        free(worksheet->comments);
    }

    if (worksheet->merged_ranges) {
        while (!STAILQ_EMPTY(worksheet->merged_ranges)) {
            merged_range = STAILQ_FIRST(worksheet->merged_ranges);
            STAILQ_REMOVE_HEAD(worksheet->merged_ranges, list_pointers);
            free(merged_range);
        }

        free(worksheet->merged_ranges);
    }

    if (worksheet->image_props) {
        while (!STAILQ_EMPTY(worksheet->image_props)) {
            object_props = STAILQ_FIRST(worksheet->image_props);
            STAILQ_REMOVE_HEAD(worksheet->image_props, list_pointers);
            _free_object_properties(object_props);
        }

        free(worksheet->image_props);
    }

    if (worksheet->chart_data) {
        while (!STAILQ_EMPTY(worksheet->chart_data)) {
            object_props = STAILQ_FIRST(worksheet->chart_data);
            STAILQ_REMOVE_HEAD(worksheet->chart_data, list_pointers);
            _free_object_properties(object_props);
        }

        free(worksheet->chart_data);
    }

    /* Just free the list. The list objects are freed from the RB tree. */
    free(worksheet->comment_objs);

    if (worksheet->header_image_objs) {
        while (!STAILQ_EMPTY(worksheet->header_image_objs)) {
            vml_obj = STAILQ_FIRST(worksheet->header_image_objs);
            STAILQ_REMOVE_HEAD(worksheet->header_image_objs, list_pointers);
            _free_vml_object(vml_obj);
        }

        free(worksheet->header_image_objs);
    }

    if (worksheet->button_objs) {
        while (!STAILQ_EMPTY(worksheet->button_objs)) {
            vml_obj = STAILQ_FIRST(worksheet->button_objs);
            STAILQ_REMOVE_HEAD(worksheet->button_objs, list_pointers);
            _free_vml_object(vml_obj);
        }

        free(worksheet->button_objs);
    }

    if (worksheet->selections) {
        while (!STAILQ_EMPTY(worksheet->selections)) {
            selection = STAILQ_FIRST(worksheet->selections);
            STAILQ_REMOVE_HEAD(worksheet->selections, list_pointers);
            free(selection);
        }

        free(worksheet->selections);
    }

    if (worksheet->table_objs) {
        while (!STAILQ_EMPTY(worksheet->table_objs)) {
            table_obj = STAILQ_FIRST(worksheet->table_objs);
            STAILQ_REMOVE_HEAD(worksheet->table_objs, list_pointers);
            _free_worksheet_table(table_obj);
        }

        free(worksheet->table_objs);
    }

    if (worksheet->data_validations) {
        while (!STAILQ_EMPTY(worksheet->data_validations)) {
            data_validation = STAILQ_FIRST(worksheet->data_validations);
            STAILQ_REMOVE_HEAD(worksheet->data_validations, list_pointers);
            _free_data_validation(data_validation);
        }

        free(worksheet->data_validations);
    }

    while (!STAILQ_EMPTY(worksheet->external_hyperlinks)) {
        relationship = STAILQ_FIRST(worksheet->external_hyperlinks);
        STAILQ_REMOVE_HEAD(worksheet->external_hyperlinks, list_pointers);
        _free_relationship(relationship);
    }
    free(worksheet->external_hyperlinks);

    while (!STAILQ_EMPTY(worksheet->external_drawing_links)) {
        relationship = STAILQ_FIRST(worksheet->external_drawing_links);
        STAILQ_REMOVE_HEAD(worksheet->external_drawing_links, list_pointers);
        _free_relationship(relationship);
    }
    free(worksheet->external_drawing_links);

    while (!STAILQ_EMPTY(worksheet->drawing_links)) {
        relationship = STAILQ_FIRST(worksheet->drawing_links);
        STAILQ_REMOVE_HEAD(worksheet->drawing_links, list_pointers);
        _free_relationship(relationship);
    }
    free(worksheet->drawing_links);

    while (!STAILQ_EMPTY(worksheet->vml_drawing_links)) {
        relationship = STAILQ_FIRST(worksheet->vml_drawing_links);
        STAILQ_REMOVE_HEAD(worksheet->vml_drawing_links, list_pointers);
        _free_relationship(relationship);
    }
    free(worksheet->vml_drawing_links);

    while (!STAILQ_EMPTY(worksheet->external_table_links)) {
        relationship = STAILQ_FIRST(worksheet->external_table_links);
        STAILQ_REMOVE_HEAD(worksheet->external_table_links, list_pointers);
        _free_relationship(relationship);
    }
    free(worksheet->external_table_links);

    if (worksheet->drawing_rel_ids) {
        for (drawing_rel_id =
             RB_MIN(lxw_drawing_rel_ids, worksheet->drawing_rel_ids);
             drawing_rel_id; drawing_rel_id = next_drawing_rel_id) {

            next_drawing_rel_id =
                RB_NEXT(lxw_drawing_rel_ids, worksheet->drawing_rel_id,
                        drawing_rel_id);
            RB_REMOVE(lxw_drawing_rel_ids, worksheet->drawing_rel_ids,
                      drawing_rel_id);
            free(drawing_rel_id->target);
            free(drawing_rel_id);
        }

        free(worksheet->drawing_rel_ids);
    }

    if (worksheet->vml_drawing_rel_ids) {
        for (drawing_rel_id =
             RB_MIN(lxw_vml_drawing_rel_ids, worksheet->vml_drawing_rel_ids);
             drawing_rel_id; drawing_rel_id = next_drawing_rel_id) {

            next_drawing_rel_id =
                RB_NEXT(lxw_vml_drawing_rel_ids, worksheet->drawing_rel_id,
                        drawing_rel_id);
            RB_REMOVE(lxw_vml_drawing_rel_ids, worksheet->vml_drawing_rel_ids,
                      drawing_rel_id);
            free(drawing_rel_id->target);
            free(drawing_rel_id);
        }

        free(worksheet->vml_drawing_rel_ids);
    }

    if (worksheet->conditional_formats) {
        for (cond_format_elem =
             RB_MIN(lxw_cond_format_hash, worksheet->conditional_formats);
             cond_format_elem; cond_format_elem = next_cond_format_elem) {

            next_cond_format_elem = RB_NEXT(lxw_cond_format_hash,
                                            worksheet->conditional_formats,
                                            cond_format_elem);
            RB_REMOVE(lxw_cond_format_hash,
                      worksheet->conditional_formats, cond_format_elem);

            while (!STAILQ_EMPTY(cond_format_elem->cond_formats)) {
                cond_format = STAILQ_FIRST(cond_format_elem->cond_formats);
                STAILQ_REMOVE_HEAD(cond_format_elem->cond_formats,
                                   list_pointers);
                _free_cond_format(cond_format);
            }

            free(cond_format_elem->cond_formats);
            free(cond_format_elem);
        }

        free(worksheet->conditional_formats);
    }

    _free_relationship(worksheet->external_vml_comment_link);
    _free_relationship(worksheet->external_comment_link);
    _free_relationship(worksheet->external_vml_header_link);
    _free_relationship(worksheet->external_background_link);

    _free_filter_rules(worksheet);

    if (worksheet->array) {
        for (col = 0; col < LXW_COL_MAX; col++) {
            _free_cell(worksheet->array[col]);
        }
        free(worksheet->array);
    }

    if (worksheet->optimize_row)
        free(worksheet->optimize_row);

    if (worksheet->drawing)
        lxw_drawing_free(worksheet->drawing);

    free(worksheet->hbreaks);
    free(worksheet->vbreaks);
    free((void *) worksheet->name);
    free((void *) worksheet->quoted_name);
    free(worksheet->vba_codename);
    free(worksheet->vml_data_id_str);
    free(worksheet->vml_header_id_str);
    free(worksheet->comment_author);
    free(worksheet->ignore_number_stored_as_text);
    free(worksheet->ignore_eval_error);
    free(worksheet->ignore_formula_differs);
    free(worksheet->ignore_formula_range);
    free(worksheet->ignore_formula_unlocked);
    free(worksheet->ignore_empty_cell_reference);
    free(worksheet->ignore_list_data_validation);
    free(worksheet->ignore_calculated_column);
    free(worksheet->ignore_two_digit_text_year);
    free(worksheet->header);
    free(worksheet->footer);

    free(worksheet);
    worksheet = NULL;
}

// Assembly:
testq %rdi, %rdi
je 0x2f48e
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
cmpq $0x0, 0xf0(%rdi)
je 0x2e0a7
cmpw $0x0, 0xf8(%rbx)
je 0x2e0a7
xorl %r14d, %r14d
movq 0xf0(%rbx), %rax
movq (%rax,%r14,8), %rdi
testq %rdi, %rdi
je 0x2e098
callq 0xc0c0
incq %r14
movzwl 0xf8(%rbx), %eax
cmpq %rax, %r14
jb 0x2e083
movq 0xf0(%rbx), %rdi
callq 0xc0c0
movq 0x100(%rbx), %rdi
callq 0xc0c0
movq 0x110(%rbx), %rdi
callq 0xc0c0
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x2e11a
xorl %ecx, %ecx
movq %rcx, %r14
movq (%rax), %rcx
leaq 0x28(%rcx), %rax
testq %rcx, %rcx
jne 0x2e0d6
testq %r14, %r14
je 0x2e111
movq %r14, %rdi
callq 0x2f48f
movq %rax, %r15
movq 0x20(%rbx), %rdi
movq %r14, %rsi
callq 0x2f4c8
movq %r14, %rdi
callq 0x2f89d
movq %r15, %r14
testq %r15, %r15
jne 0x2e0ea
movq 0x20(%rbx), %rdi
callq 0xc0c0
movq 0x28(%rbx), %rax
testq %rax, %rax
je 0x2e169
xorl %ecx, %ecx
movq %rcx, %r14
movq (%rax), %rcx
leaq 0x28(%rcx), %rax
testq %rcx, %rcx
jne 0x2e125
testq %r14, %r14
je 0x2e160
movq %r14, %rdi
callq 0x2f48f
movq %rax, %r15
movq 0x28(%rbx), %rdi
movq %r14, %rsi
callq 0x2f4c8
movq %r14, %rdi
callq 0x2f89d
movq %r15, %r14
testq %r15, %r15
jne 0x2e139
movq 0x28(%rbx), %rdi
callq 0xc0c0
movq 0x30(%rbx), %rax
testq %rax, %rax
je 0x2e1b8
xorl %ecx, %ecx
movq %rcx, %r14
movq (%rax), %rcx
leaq 0x28(%rcx), %rax
testq %rcx, %rcx
jne 0x2e174
testq %r14, %r14
je 0x2e1af
movq %r14, %rdi
callq 0x2f48f
movq %rax, %r15
movq 0x30(%rbx), %rdi
movq %r14, %rsi
callq 0x2f4c8
movq %r14, %rdi
callq 0x2f89d
movq %r15, %r14
testq %r15, %r15
jne 0x2e188
movq 0x30(%rbx), %rdi
callq 0xc0c0
cmpq $0x0, 0x40(%rbx)
je 0x2e1ea
movq 0x40(%rbx), %rdi
movq (%rdi), %rax
testq %rax, %rax
je 0x2e1e5
movq 0x10(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e1db
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0xc0c0
jmp 0x2e1bf
callq 0xc0c0
cmpq $0x0, 0x60(%rbx)
je 0x2e21f
movq 0x60(%rbx), %rdi
movq (%rdi), %rax
testq %rax, %rax
je 0x2e21a
movq 0xb8(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e210
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0x2f90a
jmp 0x2e1f1
callq 0xc0c0
cmpq $0x0, 0x68(%rbx)
je 0x2e254
movq 0x68(%rbx), %rdi
movq (%rdi), %rax
testq %rax, %rax
je 0x2e24f
movq 0xb8(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e245
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0x2f90a
jmp 0x2e226
callq 0xc0c0
movq 0x80(%rbx), %rdi
callq 0xc0c0
cmpq $0x0, 0x88(%rbx)
je 0x2e29b
movq 0x88(%rbx), %rdi
movq (%rdi), %rax
testq %rax, %rax
je 0x2e296
movq 0xb8(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e28c
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0x2f96b
jmp 0x2e26a
callq 0xc0c0
cmpq $0x0, 0x90(%rbx)
je 0x2e2d6
movq 0x90(%rbx), %rdi
movq (%rdi), %rax
testq %rax, %rax
je 0x2e2d1
movq 0xb8(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e2c7
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0x2f96b
jmp 0x2e2a5
callq 0xc0c0
cmpq $0x0, 0x48(%rbx)
je 0x2e308
movq 0x48(%rbx), %rdi
movq (%rdi), %rax
testq %rax, %rax
je 0x2e303
movq 0x48(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e2f9
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0xc0c0
jmp 0x2e2dd
callq 0xc0c0
cmpq $0x0, 0x98(%rbx)
je 0x2e343
movq 0x98(%rbx), %rdi
movq (%rdi), %rax
testq %rax, %rax
je 0x2e33e
movq 0x1078(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e334
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0x2f9c6
jmp 0x2e312
callq 0xc0c0
cmpq $0x0, 0x50(%rbx)
je 0x2e392
movq 0x50(%rbx), %rdi
movq (%rdi), %rax
testq %rax, %rax
je 0x2e373
movq 0xc0(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e369
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0x2fa40
jmp 0x2e34a
callq 0xc0c0
jmp 0x2e392
movq 0x18(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e38a
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0x2fa9e
movq 0x218(%rbx), %rdi
movq (%rdi), %rax
testq %rax, %rax
jne 0x2e37a
callq 0xc0c0
movq 0x220(%rbx), %rdi
movq (%rdi), %rax
testq %rax, %rax
je 0x2e3cf
movq 0x18(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e3c5
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0x2fa9e
jmp 0x2e3a6
callq 0xc0c0
movq 0x228(%rbx), %rdi
movq (%rdi), %rax
testq %rax, %rax
je 0x2e3fd
movq 0x18(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e3f3
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0x2fa9e
jmp 0x2e3d4
callq 0xc0c0
movq 0x230(%rbx), %rdi
movq (%rdi), %rax
testq %rax, %rax
je 0x2e42b
movq 0x18(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e421
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0x2fa9e
jmp 0x2e402
callq 0xc0c0
movq 0x238(%rbx), %rdi
movq (%rdi), %rax
testq %rax, %rax
je 0x2e459
movq 0x18(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e44f
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0x2fa9e
jmp 0x2e430
callq 0xc0c0
movq 0x70(%rbx), %rax
testq %rax, %rax
je 0x2e8c5
xorl %ecx, %ecx
movq %rcx, %r15
movq (%rax), %rcx
leaq 0x10(%rcx), %rax
testq %rcx, %rcx
jne 0x2e46d
jmp 0x2e8b3
movq %r15, %r14
movq 0x18(%r15), %rdx
testq %rdx, %rdx
je 0x2e57f
movq %rdx, %rax
movq %rax, %r15
movq 0x10(%rax), %rax
testq %rax, %rax
jne 0x2e494
testq %rdx, %rdx
sete %sil
movq 0x70(%rbx), %rax
movq 0x10(%r14), %rcx
testq %rcx, %rcx
sete %dil
cmoveq %rdx, %rcx
orb %sil, %dil
je 0x2e4ec
movq 0x20(%r14), %rdx
movl 0x28(%r14), %esi
testq %rcx, %rcx
je 0x2e4d0
movq %rdx, 0x20(%rcx)
testq %rdx, %rdx
je 0x2e5b0
cmpq %r14, 0x10(%rdx)
je 0x2e5b7
movq %rcx, 0x18(%rdx)
jmp 0x2e5bb
leaq 0x10(%r14), %r8
movq %rdx, %rdi
movq 0x10(%rdx), %rdx
testq %rdx, %rdx
jne 0x2e4f0
movq 0x18(%rdi), %rcx
movq 0x20(%rdi), %rdx
movl 0x28(%rdi), %esi
testq %rcx, %rcx
je 0x2e510
movq %rdx, 0x20(%rcx)
movq %rax, %r9
testq %rdx, %rdx
je 0x2e528
leaq 0x10(%rdx), %r10
leaq 0x18(%rdx), %r9
cmpq %rdi, 0x10(%rdx)
cmoveq %r10, %r9
movq %rcx, (%r9)
cmpq %r14, 0x20(%rdi)
cmoveq %rdi, %rdx
leaq 0x10(%rdi), %r9
movups (%r8), %xmm0
movups 0x10(%r8), %xmm1
movups %xmm1, 0x10(%r9)
movups %xmm0, (%r9)
movq 0x20(%r14), %r9
movq %rax, %r8
testq %r9, %r9
je 0x2e565
leaq 0x10(%r9), %r10
leaq 0x18(%r9), %r8
cmpq %r14, 0x10(%r9)
cmoveq %r10, %r8
movq %rdi, (%r8)
movq 0x10(%r14), %r8
movq %rdi, 0x20(%r8)
movq 0x18(%r14), %r8
testq %r8, %r8
je 0x2e5bb
movq %rdi, 0x20(%r8)
jmp 0x2e5bb
movq 0x20(%r14), %r15
testq %r15, %r15
je 0x2e592
cmpq %r14, 0x10(%r15)
je 0x2e4a0
movq %r14, %rax
movq 0x20(%rax), %r15
testq %r15, %r15
je 0x2e4a0
cmpq 0x18(%r15), %rax
movq %r15, %rax
je 0x2e595
jmp 0x2e4a0
movq %rcx, (%rax)
xorl %edx, %edx
jmp 0x2e5bb
movq %rcx, 0x10(%rdx)
testl %esi, %esi
jne 0x2e8a2
jmp 0x2e5d0
movl $0x1, 0x28(%rdx)
movq 0x20(%rcx), %rdx
movq %rcx, %rsi
movq %rdx, %rcx
testq %rsi, %rsi
je 0x2e5e5
cmpl $0x0, 0x28(%rsi)
jne 0x2e896
cmpq (%rax), %rsi
je 0x2e896
movq 0x10(%rcx), %rdx
cmpq %rsi, %rdx
je 0x2e682
cmpl $0x1, 0x28(%rdx)
jne 0x2e653
movl $0x0, 0x28(%rdx)
movl $0x1, 0x28(%rcx)
movq 0x18(%rdx), %rsi
movq %rsi, 0x10(%rcx)
testq %rsi, %rsi
je 0x2e620
movq %rcx, 0x20(%rsi)
movq 0x20(%rcx), %rdi
movq %rdi, 0x20(%rdx)
movq %rax, %rsi
testq %rdi, %rdi
je 0x2e644
movq 0x20(%rcx), %rdi
leaq 0x10(%rdi), %r8
leaq 0x18(%rdi), %rsi
cmpq 0x10(%rdi), %rcx
cmoveq %r8, %rsi
movq %rdx, (%rsi)
movq %rcx, 0x18(%rdx)
movq %rdx, 0x20(%rcx)
movq 0x10(%rcx), %rdx
movq 0x10(%rdx), %rsi
testq %rsi, %rsi
je 0x2e666
cmpl $0x0, 0x28(%rsi)
jne 0x2e7cc
movq 0x18(%rdx), %rdi
testq %rdi, %rdi
je 0x2e5c5
cmpl $0x0, 0x28(%rdi)
je 0x2e5c5
jmp 0x2e7cc
movq 0x18(%rcx), %rdx
cmpl $0x1, 0x28(%rdx)
jne 0x2e6de
movl $0x0, 0x28(%rdx)
movl $0x1, 0x28(%rcx)
movq 0x10(%rdx), %rsi
movq %rsi, 0x18(%rcx)
testq %rsi, %rsi
je 0x2e6ab
movq %rcx, 0x20(%rsi)
movq 0x20(%rcx), %rdi
movq %rdi, 0x20(%rdx)
movq %rax, %rsi
testq %rdi, %rdi
je 0x2e6cf
movq 0x20(%rcx), %rdi
leaq 0x10(%rdi), %r8
leaq 0x18(%rdi), %rsi
cmpq 0x10(%rdi), %rcx
cmoveq %r8, %rsi
movq %rdx, (%rsi)
movq %rcx, 0x10(%rdx)
movq %rdx, 0x20(%rcx)
movq 0x18(%rcx), %rdx
movq 0x10(%rdx), %rsi
testq %rsi, %rsi
je 0x2e6ed
cmpl $0x0, 0x28(%rsi)
jne 0x2e704
movq 0x18(%rdx), %rdi
testq %rdi, %rdi
je 0x2e5c5
cmpl $0x0, 0x28(%rdi)
je 0x2e5c5
movq 0x18(%rdx), %rdi
testq %rdi, %rdi
je 0x2e713
cmpl $0x0, 0x28(%rdi)
jne 0x2e76a
testq %rsi, %rsi
je 0x2e71f
movl $0x0, 0x28(%rsi)
movl $0x1, 0x28(%rdx)
movq 0x18(%rsi), %rdi
movq %rdi, 0x10(%rdx)
testq %rdi, %rdi
je 0x2e737
movq %rdx, 0x20(%rdi)
movq 0x20(%rdx), %r8
movq %r8, 0x20(%rsi)
movq %rax, %rdi
testq %r8, %r8
je 0x2e75b
movq 0x20(%rdx), %r8
leaq 0x10(%r8), %r9
leaq 0x18(%r8), %rdi
cmpq 0x10(%r8), %rdx
cmoveq %r9, %rdi
movq %rsi, (%rdi)
movq %rdx, 0x18(%rsi)
movq %rsi, 0x20(%rdx)
movq 0x18(%rcx), %rdx
movl 0x28(%rcx), %esi
movl %esi, 0x28(%rdx)
movl $0x0, 0x28(%rcx)
movq 0x18(%rdx), %rdx
testq %rdx, %rdx
je 0x2e787
movl $0x0, 0x28(%rdx)
movq 0x18(%rcx), %rdx
movq 0x10(%rdx), %rsi
movq %rsi, 0x18(%rcx)
testq %rsi, %rsi
je 0x2e79c
movq %rcx, 0x20(%rsi)
movq 0x20(%rcx), %rdi
movq %rdi, 0x20(%rdx)
movq %rax, %rsi
testq %rdi, %rdi
je 0x2e7c0
movq 0x20(%rcx), %rdi
leaq 0x10(%rdi), %r8
leaq 0x18(%rdi), %rsi
cmpq 0x10(%rdi), %rcx
cmoveq %r8, %rsi
movq %rdx, (%rsi)
movq %rcx, 0x10(%rdx)
jmp 0x2e88f
testq %rsi, %rsi
je 0x2e7d7
cmpl $0x0, 0x28(%rsi)
jne 0x2e832
movq 0x18(%rdx), %rsi
testq %rsi, %rsi
je 0x2e7e7
movl $0x0, 0x28(%rsi)
movl $0x1, 0x28(%rdx)
movq 0x10(%rsi), %rdi
movq %rdi, 0x18(%rdx)
testq %rdi, %rdi
je 0x2e7ff
movq %rdx, 0x20(%rdi)
movq 0x20(%rdx), %r8
movq %r8, 0x20(%rsi)
movq %rax, %rdi
testq %r8, %r8
je 0x2e823
movq 0x20(%rdx), %r8
leaq 0x10(%r8), %r9
leaq 0x18(%r8), %rdi
cmpq 0x10(%r8), %rdx
cmoveq %r9, %rdi
movq %rsi, (%rdi)
movq %rdx, 0x10(%rsi)
movq %rsi, 0x20(%rdx)
movq 0x10(%rcx), %rdx
movl 0x28(%rcx), %esi
movl %esi, 0x28(%rdx)
movl $0x0, 0x28(%rcx)
movq 0x10(%rdx), %rdx
testq %rdx, %rdx
je 0x2e84f
movl $0x0, 0x28(%rdx)
movq 0x10(%rcx), %rdx
movq 0x18(%rdx), %rsi
movq %rsi, 0x10(%rcx)
testq %rsi, %rsi
je 0x2e864
movq %rcx, 0x20(%rsi)
movq 0x20(%rcx), %rdi
movq %rdi, 0x20(%rdx)
movq %rax, %rsi
testq %rdi, %rdi
je 0x2e888
movq 0x20(%rcx), %rdi
leaq 0x10(%rdi), %r8
leaq 0x18(%rdi), %rsi
cmpq 0x10(%rdi), %rcx
cmoveq %r8, %rsi
movq %rdx, (%rsi)
movq %rcx, 0x18(%rdx)
movq %rdx, 0x20(%rcx)
movq (%rax), %rsi
testq %rsi, %rsi
je 0x2e8a2
movl $0x0, 0x28(%rsi)
movq 0x8(%r14), %rdi
callq 0xc0c0
movq %r14, %rdi
callq 0xc0c0
testq %r15, %r15
jne 0x2e481
movq 0x70(%rbx), %rdi
callq 0xc0c0
movq 0x78(%rbx), %rax
testq %rax, %rax
je 0x2ed2c
xorl %ecx, %ecx
movq %rcx, %r15
movq (%rax), %rcx
leaq 0x10(%rcx), %rax
testq %rcx, %rcx
jne 0x2e8d4
jmp 0x2ed1a
movq %r15, %r14
movq 0x18(%r15), %rdx
testq %rdx, %rdx
je 0x2e9e6
movq %rdx, %rax
movq %rax, %r15
movq 0x10(%rax), %rax
testq %rax, %rax
jne 0x2e8fb
testq %rdx, %rdx
sete %sil
movq 0x78(%rbx), %rax
movq 0x10(%r14), %rcx
testq %rcx, %rcx
sete %dil
cmoveq %rdx, %rcx
orb %sil, %dil
je 0x2e953
movq 0x20(%r14), %rdx
movl 0x28(%r14), %esi
testq %rcx, %rcx
je 0x2e937
movq %rdx, 0x20(%rcx)
testq %rdx, %rdx
je 0x2ea17
cmpq %r14, 0x10(%rdx)
je 0x2ea1e
movq %rcx, 0x18(%rdx)
jmp 0x2ea22
leaq 0x10(%r14), %r8
movq %rdx, %rdi
movq 0x10(%rdx), %rdx
testq %rdx, %rdx
jne 0x2e957
movq 0x18(%rdi), %rcx
movq 0x20(%rdi), %rdx
movl 0x28(%rdi), %esi
testq %rcx, %rcx
je 0x2e977
movq %rdx, 0x20(%rcx)
movq %rax, %r9
testq %rdx, %rdx
je 0x2e98f
leaq 0x10(%rdx), %r10
leaq 0x18(%rdx), %r9
cmpq %rdi, 0x10(%rdx)
cmoveq %r10, %r9
movq %rcx, (%r9)
cmpq %r14, 0x20(%rdi)
cmoveq %rdi, %rdx
leaq 0x10(%rdi), %r9
movups (%r8), %xmm0
movups 0x10(%r8), %xmm1
movups %xmm1, 0x10(%r9)
movups %xmm0, (%r9)
movq 0x20(%r14), %r9
movq %rax, %r8
testq %r9, %r9
je 0x2e9cc
leaq 0x10(%r9), %r10
leaq 0x18(%r9), %r8
cmpq %r14, 0x10(%r9)
cmoveq %r10, %r8
movq %rdi, (%r8)
movq 0x10(%r14), %r8
movq %rdi, 0x20(%r8)
movq 0x18(%r14), %r8
testq %r8, %r8
je 0x2ea22
movq %rdi, 0x20(%r8)
jmp 0x2ea22
movq 0x20(%r14), %r15
testq %r15, %r15
je 0x2e9f9
cmpq %r14, 0x10(%r15)
je 0x2e907
movq %r14, %rax
movq 0x20(%rax), %r15
testq %r15, %r15
je 0x2e907
cmpq 0x18(%r15), %rax
movq %r15, %rax
je 0x2e9fc
jmp 0x2e907
movq %rcx, (%rax)
xorl %edx, %edx
jmp 0x2ea22
movq %rcx, 0x10(%rdx)
testl %esi, %esi
jne 0x2ed09
jmp 0x2ea37
movl $0x1, 0x28(%rdx)
movq 0x20(%rcx), %rdx
movq %rcx, %rsi
movq %rdx, %rcx
testq %rsi, %rsi
je 0x2ea4c
cmpl $0x0, 0x28(%rsi)
jne 0x2ecfd
cmpq (%rax), %rsi
je 0x2ecfd
movq 0x10(%rcx), %rdx
cmpq %rsi, %rdx
je 0x2eae9
cmpl $0x1, 0x28(%rdx)
jne 0x2eaba
movl $0x0, 0x28(%rdx)
movl $0x1, 0x28(%rcx)
movq 0x18(%rdx), %rsi
movq %rsi, 0x10(%rcx)
testq %rsi, %rsi
je 0x2ea87
movq %rcx, 0x20(%rsi)
movq 0x20(%rcx), %rdi
movq %rdi, 0x20(%rdx)
movq %rax, %rsi
testq %rdi, %rdi
je 0x2eaab
movq 0x20(%rcx), %rdi
leaq 0x10(%rdi), %r8
leaq 0x18(%rdi), %rsi
cmpq 0x10(%rdi), %rcx
cmoveq %r8, %rsi
movq %rdx, (%rsi)
movq %rcx, 0x18(%rdx)
movq %rdx, 0x20(%rcx)
movq 0x10(%rcx), %rdx
movq 0x10(%rdx), %rsi
testq %rsi, %rsi
je 0x2eacd
cmpl $0x0, 0x28(%rsi)
jne 0x2ec33
movq 0x18(%rdx), %rdi
testq %rdi, %rdi
je 0x2ea2c
cmpl $0x0, 0x28(%rdi)
je 0x2ea2c
jmp 0x2ec33
movq 0x18(%rcx), %rdx
cmpl $0x1, 0x28(%rdx)
jne 0x2eb45
movl $0x0, 0x28(%rdx)
movl $0x1, 0x28(%rcx)
movq 0x10(%rdx), %rsi
movq %rsi, 0x18(%rcx)
testq %rsi, %rsi
je 0x2eb12
movq %rcx, 0x20(%rsi)
movq 0x20(%rcx), %rdi
movq %rdi, 0x20(%rdx)
movq %rax, %rsi
testq %rdi, %rdi
je 0x2eb36
movq 0x20(%rcx), %rdi
leaq 0x10(%rdi), %r8
leaq 0x18(%rdi), %rsi
cmpq 0x10(%rdi), %rcx
cmoveq %r8, %rsi
movq %rdx, (%rsi)
movq %rcx, 0x10(%rdx)
movq %rdx, 0x20(%rcx)
movq 0x18(%rcx), %rdx
movq 0x10(%rdx), %rsi
testq %rsi, %rsi
je 0x2eb54
cmpl $0x0, 0x28(%rsi)
jne 0x2eb6b
movq 0x18(%rdx), %rdi
testq %rdi, %rdi
je 0x2ea2c
cmpl $0x0, 0x28(%rdi)
je 0x2ea2c
movq 0x18(%rdx), %rdi
testq %rdi, %rdi
je 0x2eb7a
cmpl $0x0, 0x28(%rdi)
jne 0x2ebd1
testq %rsi, %rsi
je 0x2eb86
movl $0x0, 0x28(%rsi)
movl $0x1, 0x28(%rdx)
movq 0x18(%rsi), %rdi
movq %rdi, 0x10(%rdx)
testq %rdi, %rdi
je 0x2eb9e
movq %rdx, 0x20(%rdi)
movq 0x20(%rdx), %r8
movq %r8, 0x20(%rsi)
movq %rax, %rdi
testq %r8, %r8
je 0x2ebc2
movq 0x20(%rdx), %r8
leaq 0x10(%r8), %r9
leaq 0x18(%r8), %rdi
cmpq 0x10(%r8), %rdx
cmoveq %r9, %rdi
movq %rsi, (%rdi)
movq %rdx, 0x18(%rsi)
movq %rsi, 0x20(%rdx)
movq 0x18(%rcx), %rdx
movl 0x28(%rcx), %esi
movl %esi, 0x28(%rdx)
movl $0x0, 0x28(%rcx)
movq 0x18(%rdx), %rdx
testq %rdx, %rdx
je 0x2ebee
movl $0x0, 0x28(%rdx)
movq 0x18(%rcx), %rdx
movq 0x10(%rdx), %rsi
movq %rsi, 0x18(%rcx)
testq %rsi, %rsi
je 0x2ec03
movq %rcx, 0x20(%rsi)
movq 0x20(%rcx), %rdi
movq %rdi, 0x20(%rdx)
movq %rax, %rsi
testq %rdi, %rdi
je 0x2ec27
movq 0x20(%rcx), %rdi
leaq 0x10(%rdi), %r8
leaq 0x18(%rdi), %rsi
cmpq 0x10(%rdi), %rcx
cmoveq %r8, %rsi
movq %rdx, (%rsi)
movq %rcx, 0x10(%rdx)
jmp 0x2ecf6
testq %rsi, %rsi
je 0x2ec3e
cmpl $0x0, 0x28(%rsi)
jne 0x2ec99
movq 0x18(%rdx), %rsi
testq %rsi, %rsi
je 0x2ec4e
movl $0x0, 0x28(%rsi)
movl $0x1, 0x28(%rdx)
movq 0x10(%rsi), %rdi
movq %rdi, 0x18(%rdx)
testq %rdi, %rdi
je 0x2ec66
movq %rdx, 0x20(%rdi)
movq 0x20(%rdx), %r8
movq %r8, 0x20(%rsi)
movq %rax, %rdi
testq %r8, %r8
je 0x2ec8a
movq 0x20(%rdx), %r8
leaq 0x10(%r8), %r9
leaq 0x18(%r8), %rdi
cmpq 0x10(%r8), %rdx
cmoveq %r9, %rdi
movq %rsi, (%rdi)
movq %rdx, 0x10(%rsi)
movq %rsi, 0x20(%rdx)
movq 0x10(%rcx), %rdx
movl 0x28(%rcx), %esi
movl %esi, 0x28(%rdx)
movl $0x0, 0x28(%rcx)
movq 0x10(%rdx), %rdx
testq %rdx, %rdx
je 0x2ecb6
movl $0x0, 0x28(%rdx)
movq 0x10(%rcx), %rdx
movq 0x18(%rdx), %rsi
movq %rsi, 0x10(%rcx)
testq %rsi, %rsi
je 0x2eccb
movq %rcx, 0x20(%rsi)
movq 0x20(%rcx), %rdi
movq %rdi, 0x20(%rdx)
movq %rax, %rsi
testq %rdi, %rdi
je 0x2ecef
movq 0x20(%rcx), %rdi
leaq 0x10(%rdi), %r8
leaq 0x18(%rdi), %rsi
cmpq 0x10(%rdi), %rcx
cmoveq %r8, %rsi
movq %rdx, (%rsi)
movq %rcx, 0x18(%rdx)
movq %rdx, 0x20(%rcx)
movq (%rax), %rsi
testq %rsi, %rsi
je 0x2ed09
movl $0x0, 0x28(%rsi)
movq 0x8(%r14), %rdi
callq 0xc0c0
movq %r14, %rdi
callq 0xc0c0
testq %r15, %r15
jne 0x2e8e8
movq 0x78(%rbx), %rdi
callq 0xc0c0
movq 0x58(%rbx), %rax
testq %rax, %rax
je 0x2f317
xorl %ecx, %ecx
movq %rcx, %r14
movq (%rax), %rcx
leaq 0x828(%rcx), %rax
testq %rcx, %rcx
jne 0x2ed3b
testq %r14, %r14
je 0x2f30e
movq %r14, %rdi
callq 0x2facb
movq %rax, %r15
movq 0x58(%rbx), %rax
movq 0x828(%r14), %rcx
movq 0x830(%r14), %rdx
testq %rcx, %rcx
je 0x2ee51
testq %rdx, %rdx
je 0x2ee54
leaq 0x828(%r14), %r8
movq %rdx, %rdi
movq 0x828(%rdx), %rdx
testq %rdx, %rdx
jne 0x2ed8c
movq 0x830(%rdi), %rcx
movq 0x838(%rdi), %rdx
movl 0x840(%rdi), %esi
testq %rcx, %rcx
je 0x2edbb
movq %rdx, 0x838(%rcx)
movq %rax, %r9
testq %rdx, %rdx
je 0x2eddc
leaq 0x828(%rdx), %r10
leaq 0x830(%rdx), %r9
cmpq %rdi, 0x828(%rdx)
cmoveq %r10, %r9
movq %rcx, (%r9)
cmpq %r14, 0x838(%rdi)
cmoveq %rdi, %rdx
leaq 0x828(%rdi), %r9
movups (%r8), %xmm0
movups 0x10(%r8), %xmm1
movups %xmm1, 0x10(%r9)
movups %xmm0, (%r9)
movq 0x838(%r14), %r9
movq %rax, %r8
testq %r9, %r9
je 0x2ee2b
leaq 0x828(%r9), %r10
leaq 0x830(%r9), %r8
cmpq %r14, 0x828(%r9)
cmoveq %r10, %r8
movq %rdi, (%r8)
movq 0x828(%r14), %r8
movq %rdi, 0x838(%r8)
movq 0x830(%r14), %r8
testq %r8, %r8
je 0x2ee93
movq %rdi, 0x838(%r8)
jmp 0x2ee93
movq %rdx, %rcx
movq 0x838(%r14), %rdx
movl 0x840(%r14), %esi
testq %rcx, %rcx
je 0x2ee6e
movq %rdx, 0x838(%rcx)
testq %rdx, %rdx
je 0x2ee85
cmpq %r14, 0x828(%rdx)
je 0x2ee8c
movq %rcx, 0x830(%rdx)
jmp 0x2ee93
movq %rcx, (%rax)
xorl %edx, %edx
jmp 0x2ee93
movq %rcx, 0x828(%rdx)
testl %esi, %esi
jne 0x2f2e6
jmp 0x2eeae
movl $0x1, 0x840(%rdx)
movq 0x838(%rcx), %rdx
movq %rcx, %rsi
movq %rdx, %rcx
testq %rsi, %rsi
je 0x2eec6
cmpl $0x0, 0x840(%rsi)
jne 0x2f2ba
cmpq (%rax), %rsi
je 0x2f2ba
movq 0x828(%rcx), %rdx
cmpq %rsi, %rdx
je 0x2ef9f
cmpl $0x1, 0x840(%rdx)
jne 0x2ef64
movl $0x0, 0x840(%rdx)
movl $0x1, 0x840(%rcx)
movq 0x830(%rdx), %rsi
movq %rsi, 0x828(%rcx)
testq %rsi, %rsi
je 0x2ef16
movq %rcx, 0x838(%rsi)
movq 0x838(%rcx), %rdi
movq %rdi, 0x838(%rdx)
movq %rax, %rsi
testq %rdi, %rdi
je 0x2ef4c
movq 0x838(%rcx), %rdi
leaq 0x828(%rdi), %r8
leaq 0x830(%rdi), %rsi
cmpq 0x828(%rdi), %rcx
cmoveq %r8, %rsi
movq %rdx, (%rsi)
movq %rcx, 0x830(%rdx)
movq %rdx, 0x838(%rcx)
movq 0x828(%rcx), %rdx
movq 0x828(%rdx), %rsi
testq %rsi, %rsi
je 0x2ef7d
cmpl $0x0, 0x840(%rsi)
jne 0x2f189
movq 0x830(%rdx), %rdi
testq %rdi, %rdi
je 0x2ee9d
cmpl $0x0, 0x840(%rdi)
je 0x2ee9d
jmp 0x2f189
movq 0x830(%rcx), %rdx
cmpl $0x1, 0x840(%rdx)
jne 0x2f02b
movl $0x0, 0x840(%rdx)
movl $0x1, 0x840(%rcx)
movq 0x828(%rdx), %rsi
movq %rsi, 0x830(%rcx)
testq %rsi, %rsi
je 0x2efdd
movq %rcx, 0x838(%rsi)
movq 0x838(%rcx), %rdi
movq %rdi, 0x838(%rdx)
movq %rax, %rsi
testq %rdi, %rdi
je 0x2f013
movq 0x838(%rcx), %rdi
leaq 0x828(%rdi), %r8
leaq 0x830(%rdi), %rsi
cmpq 0x828(%rdi), %rcx
cmoveq %r8, %rsi
movq %rdx, (%rsi)
movq %rcx, 0x828(%rdx)
movq %rdx, 0x838(%rcx)
movq 0x830(%rcx), %rdx
movq 0x828(%rdx), %rsi
testq %rsi, %rsi
je 0x2f040
cmpl $0x0, 0x840(%rsi)
jne 0x2f05d
movq 0x830(%rdx), %rdi
testq %rdi, %rdi
je 0x2ee9d
cmpl $0x0, 0x840(%rdi)
je 0x2ee9d
movq 0x830(%rdx), %rdi
testq %rdi, %rdi
je 0x2f076
cmpl $0x0, 0x840(%rdi)
jne 0x2f0f7
testq %rsi, %rsi
je 0x2f085
movl $0x0, 0x840(%rsi)
movl $0x1, 0x840(%rdx)
movq 0x830(%rsi), %rdi
movq %rdi, 0x828(%rdx)
testq %rdi, %rdi
je 0x2f0a9
movq %rdx, 0x838(%rdi)
movq 0x838(%rdx), %r8
movq %r8, 0x838(%rsi)
movq %rax, %rdi
testq %r8, %r8
je 0x2f0df
movq 0x838(%rdx), %r8
leaq 0x828(%r8), %r9
leaq 0x830(%r8), %rdi
cmpq 0x828(%r8), %rdx
cmoveq %r9, %rdi
movq %rsi, (%rdi)
movq %rdx, 0x830(%rsi)
movq %rsi, 0x838(%rdx)
movq 0x830(%rcx), %rdx
movl 0x840(%rcx), %esi
movl %esi, 0x840(%rdx)
movl $0x0, 0x840(%rcx)
movq 0x830(%rdx), %rdx
testq %rdx, %rdx
je 0x2f123
movl $0x0, 0x840(%rdx)
movq 0x830(%rcx), %rdx
movq 0x828(%rdx), %rsi
movq %rsi, 0x830(%rcx)
testq %rsi, %rsi
je 0x2f144
movq %rcx, 0x838(%rsi)
movq 0x838(%rcx), %rdi
movq %rdi, 0x838(%rdx)
movq %rax, %rsi
testq %rdi, %rdi
je 0x2f17a
movq 0x838(%rcx), %rdi
leaq 0x828(%rdi), %r8
leaq 0x830(%rdi), %rsi
cmpq 0x828(%rdi), %rcx
cmoveq %r8, %rsi
movq %rdx, (%rsi)
movq %rcx, 0x828(%rdx)
jmp 0x2f2b0
testq %rsi, %rsi
je 0x2f19b
cmpl $0x0, 0x840(%rsi)
jne 0x2f223
movq 0x830(%rdx), %rsi
testq %rsi, %rsi
je 0x2f1b1
movl $0x0, 0x840(%rsi)
movl $0x1, 0x840(%rdx)
movq 0x828(%rsi), %rdi
movq %rdi, 0x830(%rdx)
testq %rdi, %rdi
je 0x2f1d5
movq %rdx, 0x838(%rdi)
movq 0x838(%rdx), %r8
movq %r8, 0x838(%rsi)
movq %rax, %rdi
testq %r8, %r8
je 0x2f20b
movq 0x838(%rdx), %r8
leaq 0x828(%r8), %r9
leaq 0x830(%r8), %rdi
cmpq 0x828(%r8), %rdx
cmoveq %r9, %rdi
movq %rsi, (%rdi)
movq %rdx, 0x828(%rsi)
movq %rsi, 0x838(%rdx)
movq 0x828(%rcx), %rdx
movl 0x840(%rcx), %esi
movl %esi, 0x840(%rdx)
movl $0x0, 0x840(%rcx)
movq 0x828(%rdx), %rdx
testq %rdx, %rdx
je 0x2f24f
movl $0x0, 0x840(%rdx)
movq 0x828(%rcx), %rdx
movq 0x830(%rdx), %rsi
movq %rsi, 0x828(%rcx)
testq %rsi, %rsi
je 0x2f270
movq %rcx, 0x838(%rsi)
movq 0x838(%rcx), %rdi
movq %rdi, 0x838(%rdx)
movq %rax, %rsi
testq %rdi, %rdi
je 0x2f2a6
movq 0x838(%rcx), %rdi
leaq 0x828(%rdi), %r8
leaq 0x830(%rdi), %rsi
cmpq 0x828(%rdi), %rcx
cmoveq %r8, %rsi
movq %rdx, (%rsi)
movq %rcx, 0x830(%rdx)
movq %rdx, 0x838(%rcx)
movq (%rax), %rsi
testq %rsi, %rsi
je 0x2f2e6
movl $0x0, 0x840(%rsi)
jmp 0x2f2e6
movq 0x8c0(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2f2de
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0x2fb16
movq 0x820(%r14), %rdi
movq (%rdi), %rax
testq %rax, %rax
jne 0x2f2cb
callq 0xc0c0
movq %r14, %rdi
callq 0xc0c0
movq %r15, %r14
testq %r15, %r15
jne 0x2ed56
movq 0x58(%rbx), %rdi
callq 0xc0c0
movq 0x2a8(%rbx), %rdi
callq 0x2fa9e
movq 0x2b0(%rbx), %rdi
callq 0x2fa9e
movq 0x2b8(%rbx), %rdi
callq 0x2fa9e
movq 0x2c0(%rbx), %rdi
callq 0x2fa9e
movq %rbx, %rdi
callq 0x2fb59
cmpq $0x0, 0x38(%rbx)
je 0x2f37b
xorl %r14d, %r14d
movq 0x38(%rbx), %rax
movq (%rax,%r14,8), %rdi
callq 0x2fbaa
incq %r14
cmpq $0x4000, %r14           # imm = 0x4000
jne 0x2f359
movq 0x38(%rbx), %rdi
callq 0xc0c0
movq 0x120(%rbx), %rdi
testq %rdi, %rdi
je 0x2f38c
callq 0xc0c0
movq 0x290(%rbx), %rdi
testq %rdi, %rdi
je 0x2f39d
callq 0xc670
movq 0x1f8(%rbx), %rdi
callq 0xc0c0
movq 0x200(%rbx), %rdi
callq 0xc0c0
movq 0xb8(%rbx), %rdi
callq 0xc0c0
movq 0xc0(%rbx), %rdi
callq 0xc0c0
movq 0x158(%rbx), %rdi
callq 0xc0c0
movq 0x2d0(%rbx), %rdi
callq 0xc0c0
movq 0x2d8(%rbx), %rdi
callq 0xc0c0
movq 0x2c8(%rbx), %rdi
callq 0xc0c0
movq 0x2f8(%rbx), %rdi
callq 0xc0c0
movq 0x300(%rbx), %rdi
callq 0xc0c0
movq 0x308(%rbx), %rdi
callq 0xc0c0
movq 0x310(%rbx), %rdi
callq 0xc0c0
movq 0x318(%rbx), %rdi
callq 0xc0c0
movq 0x320(%rbx), %rdi
callq 0xc0c0
movq 0x328(%rbx), %rdi
callq 0xc0c0
movq 0x330(%rbx), %rdi
callq 0xc0c0
movq 0x338(%rbx), %rdi
callq 0xc0c0
movq 0x1b0(%rbx), %rdi
callq 0xc0c0
movq 0x1b8(%rbx), %rdi
callq 0xc0c0
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0xc0c0
retq