// File: /workspace/github_c_makefile_star2_O3/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 0x2e0c7
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
movq 0xf0(%rdi), %rdi
testq %rdi, %rdi
je 0x2e0c8
movzwl 0xf8(%rbx), %eax
testw %ax, %ax
je 0x2e0ca
xorl %r14d, %r14d
movq 0xf0(%rbx), %rcx
movq (%rcx,%r14,8), %rdi
testq %rdi, %rdi
je 0x2e0b3
callq 0xc0c0
movzwl 0xf8(%rbx), %eax
incq %r14
movzwl %ax, %ecx
cmpq %rcx, %r14
jb 0x2e097
movq 0xf0(%rbx), %rdi
jmp 0x2e0ca
retq
xorl %edi, %edi
callq 0xc0c0
movq 0x100(%rbx), %rdi
callq 0xc0c0
movq 0x110(%rbx), %rdi
callq 0xc0c0
movq 0x20(%rbx), %rdi
testq %rdi, %rdi
je 0x2e139
xorl %eax, %eax
movq %rdi, %rcx
movq %rax, %r14
movq (%rcx), %rax
leaq 0x28(%rax), %rcx
testq %rax, %rax
jne 0x2e0f5
testq %r14, %r14
je 0x2e134
movq %r14, %rdi
callq 0x2f5c0
movq %rax, %r15
movq 0x20(%rbx), %rdi
movq %r14, %rsi
callq 0x2f5fc
movq %r14, %rdi
callq 0x2f9ff
movq %r15, %r14
testq %r15, %r15
jne 0x2e109
movq 0x20(%rbx), %rdi
callq 0xc0c0
movq 0x28(%rbx), %rdi
testq %rdi, %rdi
je 0x2e18b
xorl %eax, %eax
movq %rdi, %rcx
movq %rax, %r14
movq (%rcx), %rax
leaq 0x28(%rax), %rcx
testq %rax, %rax
jne 0x2e147
testq %r14, %r14
je 0x2e186
movq %r14, %rdi
callq 0x2f5c0
movq %rax, %r15
movq 0x28(%rbx), %rdi
movq %r14, %rsi
callq 0x2f5fc
movq %r14, %rdi
callq 0x2f9ff
movq %r15, %r14
testq %r15, %r15
jne 0x2e15b
movq 0x28(%rbx), %rdi
callq 0xc0c0
movq 0x30(%rbx), %rdi
testq %rdi, %rdi
je 0x2e1dd
xorl %eax, %eax
movq %rdi, %rcx
movq %rax, %r14
movq (%rcx), %rax
leaq 0x28(%rax), %rcx
testq %rax, %rax
jne 0x2e199
testq %r14, %r14
je 0x2e1d8
movq %r14, %rdi
callq 0x2f5c0
movq %rax, %r15
movq 0x30(%rbx), %rdi
movq %r14, %rsi
callq 0x2f5fc
movq %r14, %rdi
callq 0x2f9ff
movq %r15, %r14
testq %r15, %r15
jne 0x2e1ad
movq 0x30(%rbx), %rdi
callq 0xc0c0
movq 0x40(%rbx), %rdi
testq %rdi, %rdi
je 0x2e211
movq (%rdi), %rax
testq %rax, %rax
je 0x2e20c
movq 0x10(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e1fe
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0xc0c0
movq 0x40(%rbx), %rdi
jmp 0x2e1e6
callq 0xc0c0
movq 0x60(%rbx), %rdi
testq %rdi, %rdi
je 0x2e248
movq (%rdi), %rax
testq %rax, %rax
je 0x2e243
movq 0xb8(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e235
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0x2fa62
movq 0x60(%rbx), %rdi
jmp 0x2e21a
callq 0xc0c0
movq 0x68(%rbx), %rdi
testq %rdi, %rdi
je 0x2e27f
movq (%rdi), %rax
testq %rax, %rax
je 0x2e27a
movq 0xb8(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e26c
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0x2fa62
movq 0x68(%rbx), %rdi
jmp 0x2e251
callq 0xc0c0
movq 0x80(%rbx), %rdi
callq 0xc0c0
movq 0x88(%rbx), %rdi
testq %rdi, %rdi
je 0x2e2c8
movq (%rdi), %rax
testq %rax, %rax
je 0x2e2c3
movq 0xb8(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e2b2
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0x2fac3
movq 0x88(%rbx), %rdi
jmp 0x2e297
callq 0xc0c0
movq 0x90(%rbx), %rdi
testq %rdi, %rdi
je 0x2e305
movq (%rdi), %rax
testq %rax, %rax
je 0x2e300
movq 0xb8(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e2ef
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0x2fac3
movq 0x90(%rbx), %rdi
jmp 0x2e2d4
callq 0xc0c0
movq 0x48(%rbx), %rdi
testq %rdi, %rdi
je 0x2e339
movq (%rdi), %rax
testq %rax, %rax
je 0x2e334
movq 0x48(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e326
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0xc0c0
movq 0x48(%rbx), %rdi
jmp 0x2e30e
callq 0xc0c0
movq 0x98(%rbx), %rdi
testq %rdi, %rdi
je 0x2e376
movq (%rdi), %rax
testq %rax, %rax
je 0x2e371
movq 0x1078(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e360
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0x2fb1e
movq 0x98(%rbx), %rdi
jmp 0x2e345
callq 0xc0c0
movq 0x50(%rbx), %rdi
testq %rdi, %rdi
je 0x2e3c7
movq (%rdi), %rax
testq %rax, %rax
je 0x2e3a8
movq 0xc0(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e39a
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0x2fb9d
movq 0x50(%rbx), %rdi
jmp 0x2e37f
callq 0xc0c0
jmp 0x2e3c7
movq 0x18(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e3bf
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0x2fbfb
movq 0x218(%rbx), %rdi
movq (%rdi), %rax
testq %rax, %rax
jne 0x2e3af
callq 0xc0c0
movq 0x220(%rbx), %rdi
movq (%rdi), %rax
testq %rax, %rax
je 0x2e404
movq 0x18(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e3fa
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0x2fbfb
jmp 0x2e3db
callq 0xc0c0
movq 0x228(%rbx), %rdi
movq (%rdi), %rax
testq %rax, %rax
je 0x2e432
movq 0x18(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e428
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0x2fbfb
jmp 0x2e409
callq 0xc0c0
movq 0x230(%rbx), %rdi
movq (%rdi), %rax
testq %rax, %rax
je 0x2e460
movq 0x18(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e456
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0x2fbfb
jmp 0x2e437
callq 0xc0c0
movq 0x238(%rbx), %rdi
movq (%rdi), %rax
testq %rax, %rax
je 0x2e48e
movq 0x18(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2e484
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0x2fbfb
jmp 0x2e465
callq 0xc0c0
movq 0x70(%rbx), %rdi
testq %rdi, %rdi
je 0x2e959
xorl %eax, %eax
movq %rdi, %rcx
movq %rax, %r15
movq (%rcx), %rax
leaq 0x10(%rax), %rcx
testq %rax, %rax
jne 0x2e4a5
testq %r15, %r15
je 0x2e954
movq %r15, %r14
movq 0x18(%r15), %rax
testq %rax, %rax
je 0x2e590
movq %rax, %rcx
movq %rcx, %r15
movq 0x10(%rcx), %rcx
testq %rcx, %rcx
jne 0x2e4d0
movq 0x70(%rbx), %rcx
movq 0x10(%r14), %rdi
testq %rdi, %rdi
je 0x2e5b9
testq %rax, %rax
je 0x2e5ca
leaq 0x10(%r14), %r8
movq %rax, %rdi
movq 0x10(%rax), %rax
testq %rax, %rax
jne 0x2e4fa
movq 0x18(%rdi), %rax
movq 0x20(%rdi), %rdx
movl 0x28(%rdi), %esi
testq %rax, %rax
je 0x2e51a
movq %rdx, 0x20(%rax)
movq %rcx, %r9
testq %rdx, %rdx
je 0x2e532
leaq 0x10(%rdx), %r10
leaq 0x18(%rdx), %r9
cmpq %rdi, 0x10(%rdx)
cmoveq %r10, %r9
movq %rax, (%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 %rcx, %r8
testq %r9, %r9
je 0x2e56f
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 0x2e616
movq %rdi, 0x20(%r8)
jmp 0x2e616
movq 0x20(%r14), %rdx
testq %rdx, %rdx
je 0x2e59f
cmpq %r14, 0x10(%rdx)
je 0x2e5d8
movq %r14, %rcx
movq 0x20(%rcx), %r15
testq %r15, %r15
je 0x2e5d0
cmpq 0x18(%r15), %rcx
movq %r15, %rcx
je 0x2e5a2
jmp 0x2e4dc
movq 0x20(%r14), %rdx
movl 0x28(%r14), %esi
testq %rax, %rax
jne 0x2e5f3
xorl %eax, %eax
jmp 0x2e5f7
movq 0x20(%r14), %rdx
jmp 0x2e5ec
xorl %r15d, %r15d
jmp 0x2e4dc
movq 0x70(%rbx), %rcx
movq 0x10(%r14), %rdi
testq %rdi, %rdi
je 0x2e789
movq %rdx, %r15
movl 0x28(%r14), %esi
movq %rdi, %rax
movq %rdx, 0x20(%rax)
testq %rdx, %rdx
je 0x2e60e
leaq 0x10(%rdx), %r8
leaq 0x18(%rdx), %rdi
cmpq %r14, 0x10(%rdx)
cmoveq %r8, %rdi
jmp 0x2e613
xorl %edx, %edx
movq %rcx, %rdi
movq %rax, (%rdi)
testl %esi, %esi
jne 0x2e936
jmp 0x2e62b
movl $0x1, 0x28(%rdx)
movq 0x20(%rax), %rdx
movq %rax, %r8
movq %rdx, %rax
testq %r8, %r8
je 0x2e641
cmpl $0x0, 0x28(%r8)
jne 0x2e92e
movq (%rcx), %rsi
cmpq %rsi, %r8
je 0x2e929
movq 0x10(%rax), %rdx
cmpq %r8, %rdx
je 0x2e698
cmpl $0x1, 0x28(%rdx)
jne 0x2e6fd
movl $0x0, 0x28(%rdx)
movl $0x1, 0x28(%rax)
movq 0x18(%rdx), %rdi
movq %rdi, 0x10(%rax)
testq %rdi, %rdi
je 0x2e67f
movq %rax, 0x20(%rdi)
movq 0x20(%rax), %r8
movq %r8, 0x20(%rdx)
testq %r8, %r8
je 0x2e6e2
cmpq 0x10(%r8), %rax
je 0x2e6ea
movq %rdx, 0x18(%r8)
jmp 0x2e6f2
movq 0x18(%rax), %rdx
cmpl $0x1, 0x28(%rdx)
jne 0x2e73e
movl $0x0, 0x28(%rdx)
movl $0x1, 0x28(%rax)
movq 0x10(%rdx), %rdi
movq %rdi, 0x18(%rax)
testq %rdi, %rdi
je 0x2e6c5
movq %rax, 0x20(%rdi)
movq 0x20(%rax), %r8
movq %r8, 0x20(%rdx)
testq %r8, %r8
je 0x2e727
cmpq 0x10(%r8), %rax
je 0x2e72f
movq %rdx, 0x18(%r8)
movq 0x18(%rax), %rdi
jmp 0x2e733
movq %rdx, (%rcx)
movq %rdx, %rsi
jmp 0x2e6f2
movq %rdx, 0x10(%r8)
movq 0x10(%rax), %rdi
movq %rax, 0x18(%rdx)
movq %rdx, 0x20(%rax)
movq %rdi, %rdx
movq 0x10(%rdx), %r9
testq %r9, %r9
je 0x2e70d
cmpl $0x0, 0x28(%r9)
jne 0x2e774
movq 0x18(%rdx), %r8
testq %r8, %r8
je 0x2e620
cmpl $0x0, 0x28(%r8)
je 0x2e620
jmp 0x2e768
movq %rdx, (%rcx)
movq %rdx, %rsi
jmp 0x2e733
movq %rdx, 0x10(%r8)
movq %rax, 0x10(%rdx)
movq %rdx, 0x20(%rax)
movq %rdi, %rdx
movq 0x10(%rdx), %r8
testq %r8, %r8
je 0x2e74e
cmpl $0x0, 0x28(%r8)
jne 0x2e797
movq 0x18(%rdx), %r9
testq %r9, %r9
je 0x2e620
cmpl $0x0, 0x28(%r9)
je 0x2e620
jmp 0x2e7af
testq %r9, %r9
je 0x2e7c4
cmpl $0x0, 0x28(%r9)
je 0x2e7c4
movl 0x28(%rax), %edi
movl %edi, 0x28(%rdx)
movl $0x0, 0x28(%rax)
movq %rsi, %rdi
jmp 0x2e82f
movl 0x28(%r14), %esi
xorl %eax, %eax
movq %rdx, %r15
jmp 0x2e5fc
movq 0x18(%rdx), %r9
testq %r9, %r9
je 0x2e877
cmpl $0x0, 0x28(%r9)
je 0x2e877
movl 0x28(%rax), %edi
movl %edi, 0x28(%rdx)
movl $0x0, 0x28(%rax)
movq %rsi, %rdi
jmp 0x2e8e2
movl $0x0, 0x28(%r8)
movl $0x1, 0x28(%rdx)
movq 0x10(%r8), %rdi
movq %rdi, 0x18(%rdx)
testq %rdi, %rdi
je 0x2e7e4
movq %rdx, 0x20(%rdi)
movq 0x20(%rdx), %r10
movq %r10, 0x20(%r8)
movq %rcx, %r9
movq %r8, %rdi
testq %r10, %r10
je 0x2e80a
leaq 0x10(%r10), %rdi
cmpq 0x10(%r10), %rdx
leaq 0x18(%r10), %r9
cmoveq %rdi, %r9
movq %rsi, %rdi
movq %r8, (%r9)
movq %rdx, 0x10(%r8)
movq %r8, 0x20(%rdx)
movq 0x10(%rax), %rdx
movq 0x10(%rdx), %r9
movl 0x28(%rax), %esi
movl %esi, 0x28(%rdx)
movl $0x0, 0x28(%rax)
testq %r9, %r9
je 0x2e837
movl $0x0, 0x28(%r9)
movq 0x18(%rdx), %rsi
movq %rsi, 0x10(%rax)
testq %rsi, %rsi
je 0x2e848
movq %rax, 0x20(%rsi)
movq 0x20(%rax), %rsi
movq %rsi, 0x20(%rdx)
movq %rdx, %r8
testq %rsi, %rsi
je 0x2e86b
leaq 0x10(%rsi), %r8
cmpq 0x10(%rsi), %rax
leaq 0x18(%rsi), %rcx
cmoveq %r8, %rcx
movq %rdi, %r8
movq %rdx, (%rcx)
movq %rax, 0x18(%rdx)
jmp 0x2e925
movl $0x0, 0x28(%r8)
movl $0x1, 0x28(%rdx)
movq 0x18(%r8), %rdi
movq %rdi, 0x10(%rdx)
testq %rdi, %rdi
je 0x2e897
movq %rdx, 0x20(%rdi)
movq 0x20(%rdx), %r10
movq %r10, 0x20(%r8)
movq %rcx, %r9
movq %r8, %rdi
testq %r10, %r10
je 0x2e8bd
leaq 0x10(%r10), %rdi
cmpq 0x10(%r10), %rdx
leaq 0x18(%r10), %r9
cmoveq %rdi, %r9
movq %rsi, %rdi
movq %r8, (%r9)
movq %rdx, 0x18(%r8)
movq %r8, 0x20(%rdx)
movq 0x18(%rax), %rdx
movq 0x18(%rdx), %r9
movl 0x28(%rax), %esi
movl %esi, 0x28(%rdx)
movl $0x0, 0x28(%rax)
testq %r9, %r9
je 0x2e8ea
movl $0x0, 0x28(%r9)
movq 0x10(%rdx), %rsi
movq %rsi, 0x18(%rax)
testq %rsi, %rsi
je 0x2e8fb
movq %rax, 0x20(%rsi)
movq 0x20(%rax), %rsi
movq %rsi, 0x20(%rdx)
movq %rdx, %r8
testq %rsi, %rsi
je 0x2e91e
leaq 0x10(%rsi), %r8
cmpq 0x10(%rsi), %rax
leaq 0x18(%rsi), %rcx
cmoveq %r8, %rcx
movq %rdi, %r8
movq %rdx, (%rcx)
movq %rax, 0x10(%rdx)
movq %rdx, 0x20(%rax)
testq %r8, %r8
je 0x2e936
movl $0x0, 0x28(%r8)
movq 0x8(%r14), %rdi
callq 0xc0c0
movq %r14, %rdi
callq 0xc0c0
testq %r15, %r15
jne 0x2e4bd
movq 0x70(%rbx), %rdi
callq 0xc0c0
movq 0x78(%rbx), %rdi
testq %rdi, %rdi
je 0x2ee1f
xorl %eax, %eax
movq %rdi, %rcx
movq %rax, %r15
movq (%rcx), %rax
leaq 0x10(%rax), %rcx
testq %rax, %rax
jne 0x2e96b
testq %r15, %r15
je 0x2ee1a
movq %r15, %r14
movq 0x18(%r15), %rax
testq %rax, %rax
je 0x2ea56
movq %rax, %rcx
movq %rcx, %r15
movq 0x10(%rcx), %rcx
testq %rcx, %rcx
jne 0x2e996
movq 0x78(%rbx), %rcx
movq 0x10(%r14), %rdi
testq %rdi, %rdi
je 0x2ea7f
testq %rax, %rax
je 0x2ea90
leaq 0x10(%r14), %r8
movq %rax, %rdi
movq 0x10(%rax), %rax
testq %rax, %rax
jne 0x2e9c0
movq 0x18(%rdi), %rax
movq 0x20(%rdi), %rdx
movl 0x28(%rdi), %esi
testq %rax, %rax
je 0x2e9e0
movq %rdx, 0x20(%rax)
movq %rcx, %r9
testq %rdx, %rdx
je 0x2e9f8
leaq 0x10(%rdx), %r10
leaq 0x18(%rdx), %r9
cmpq %rdi, 0x10(%rdx)
cmoveq %r10, %r9
movq %rax, (%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 %rcx, %r8
testq %r9, %r9
je 0x2ea35
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 0x2eadc
movq %rdi, 0x20(%r8)
jmp 0x2eadc
movq 0x20(%r14), %rdx
testq %rdx, %rdx
je 0x2ea65
cmpq %r14, 0x10(%rdx)
je 0x2ea9e
movq %r14, %rcx
movq 0x20(%rcx), %r15
testq %r15, %r15
je 0x2ea96
cmpq 0x18(%r15), %rcx
movq %r15, %rcx
je 0x2ea68
jmp 0x2e9a2
movq 0x20(%r14), %rdx
movl 0x28(%r14), %esi
testq %rax, %rax
jne 0x2eab9
xorl %eax, %eax
jmp 0x2eabd
movq 0x20(%r14), %rdx
jmp 0x2eab2
xorl %r15d, %r15d
jmp 0x2e9a2
movq 0x78(%rbx), %rcx
movq 0x10(%r14), %rdi
testq %rdi, %rdi
je 0x2ec4f
movq %rdx, %r15
movl 0x28(%r14), %esi
movq %rdi, %rax
movq %rdx, 0x20(%rax)
testq %rdx, %rdx
je 0x2ead4
leaq 0x10(%rdx), %r8
leaq 0x18(%rdx), %rdi
cmpq %r14, 0x10(%rdx)
cmoveq %r8, %rdi
jmp 0x2ead9
xorl %edx, %edx
movq %rcx, %rdi
movq %rax, (%rdi)
testl %esi, %esi
jne 0x2edfc
jmp 0x2eaf1
movl $0x1, 0x28(%rdx)
movq 0x20(%rax), %rdx
movq %rax, %r8
movq %rdx, %rax
testq %r8, %r8
je 0x2eb07
cmpl $0x0, 0x28(%r8)
jne 0x2edf4
movq (%rcx), %rsi
cmpq %rsi, %r8
je 0x2edef
movq 0x10(%rax), %rdx
cmpq %r8, %rdx
je 0x2eb5e
cmpl $0x1, 0x28(%rdx)
jne 0x2ebc3
movl $0x0, 0x28(%rdx)
movl $0x1, 0x28(%rax)
movq 0x18(%rdx), %rdi
movq %rdi, 0x10(%rax)
testq %rdi, %rdi
je 0x2eb45
movq %rax, 0x20(%rdi)
movq 0x20(%rax), %r8
movq %r8, 0x20(%rdx)
testq %r8, %r8
je 0x2eba8
cmpq 0x10(%r8), %rax
je 0x2ebb0
movq %rdx, 0x18(%r8)
jmp 0x2ebb8
movq 0x18(%rax), %rdx
cmpl $0x1, 0x28(%rdx)
jne 0x2ec04
movl $0x0, 0x28(%rdx)
movl $0x1, 0x28(%rax)
movq 0x10(%rdx), %rdi
movq %rdi, 0x18(%rax)
testq %rdi, %rdi
je 0x2eb8b
movq %rax, 0x20(%rdi)
movq 0x20(%rax), %r8
movq %r8, 0x20(%rdx)
testq %r8, %r8
je 0x2ebed
cmpq 0x10(%r8), %rax
je 0x2ebf5
movq %rdx, 0x18(%r8)
movq 0x18(%rax), %rdi
jmp 0x2ebf9
movq %rdx, (%rcx)
movq %rdx, %rsi
jmp 0x2ebb8
movq %rdx, 0x10(%r8)
movq 0x10(%rax), %rdi
movq %rax, 0x18(%rdx)
movq %rdx, 0x20(%rax)
movq %rdi, %rdx
movq 0x10(%rdx), %r9
testq %r9, %r9
je 0x2ebd3
cmpl $0x0, 0x28(%r9)
jne 0x2ec3a
movq 0x18(%rdx), %r8
testq %r8, %r8
je 0x2eae6
cmpl $0x0, 0x28(%r8)
je 0x2eae6
jmp 0x2ec2e
movq %rdx, (%rcx)
movq %rdx, %rsi
jmp 0x2ebf9
movq %rdx, 0x10(%r8)
movq %rax, 0x10(%rdx)
movq %rdx, 0x20(%rax)
movq %rdi, %rdx
movq 0x10(%rdx), %r8
testq %r8, %r8
je 0x2ec14
cmpl $0x0, 0x28(%r8)
jne 0x2ec5d
movq 0x18(%rdx), %r9
testq %r9, %r9
je 0x2eae6
cmpl $0x0, 0x28(%r9)
je 0x2eae6
jmp 0x2ec75
testq %r9, %r9
je 0x2ec8a
cmpl $0x0, 0x28(%r9)
je 0x2ec8a
movl 0x28(%rax), %edi
movl %edi, 0x28(%rdx)
movl $0x0, 0x28(%rax)
movq %rsi, %rdi
jmp 0x2ecf5
movl 0x28(%r14), %esi
xorl %eax, %eax
movq %rdx, %r15
jmp 0x2eac2
movq 0x18(%rdx), %r9
testq %r9, %r9
je 0x2ed3d
cmpl $0x0, 0x28(%r9)
je 0x2ed3d
movl 0x28(%rax), %edi
movl %edi, 0x28(%rdx)
movl $0x0, 0x28(%rax)
movq %rsi, %rdi
jmp 0x2eda8
movl $0x0, 0x28(%r8)
movl $0x1, 0x28(%rdx)
movq 0x10(%r8), %rdi
movq %rdi, 0x18(%rdx)
testq %rdi, %rdi
je 0x2ecaa
movq %rdx, 0x20(%rdi)
movq 0x20(%rdx), %r10
movq %r10, 0x20(%r8)
movq %rcx, %r9
movq %r8, %rdi
testq %r10, %r10
je 0x2ecd0
leaq 0x10(%r10), %rdi
cmpq 0x10(%r10), %rdx
leaq 0x18(%r10), %r9
cmoveq %rdi, %r9
movq %rsi, %rdi
movq %r8, (%r9)
movq %rdx, 0x10(%r8)
movq %r8, 0x20(%rdx)
movq 0x10(%rax), %rdx
movq 0x10(%rdx), %r9
movl 0x28(%rax), %esi
movl %esi, 0x28(%rdx)
movl $0x0, 0x28(%rax)
testq %r9, %r9
je 0x2ecfd
movl $0x0, 0x28(%r9)
movq 0x18(%rdx), %rsi
movq %rsi, 0x10(%rax)
testq %rsi, %rsi
je 0x2ed0e
movq %rax, 0x20(%rsi)
movq 0x20(%rax), %rsi
movq %rsi, 0x20(%rdx)
movq %rdx, %r8
testq %rsi, %rsi
je 0x2ed31
leaq 0x10(%rsi), %r8
cmpq 0x10(%rsi), %rax
leaq 0x18(%rsi), %rcx
cmoveq %r8, %rcx
movq %rdi, %r8
movq %rdx, (%rcx)
movq %rax, 0x18(%rdx)
jmp 0x2edeb
movl $0x0, 0x28(%r8)
movl $0x1, 0x28(%rdx)
movq 0x18(%r8), %rdi
movq %rdi, 0x10(%rdx)
testq %rdi, %rdi
je 0x2ed5d
movq %rdx, 0x20(%rdi)
movq 0x20(%rdx), %r10
movq %r10, 0x20(%r8)
movq %rcx, %r9
movq %r8, %rdi
testq %r10, %r10
je 0x2ed83
leaq 0x10(%r10), %rdi
cmpq 0x10(%r10), %rdx
leaq 0x18(%r10), %r9
cmoveq %rdi, %r9
movq %rsi, %rdi
movq %r8, (%r9)
movq %rdx, 0x18(%r8)
movq %r8, 0x20(%rdx)
movq 0x18(%rax), %rdx
movq 0x18(%rdx), %r9
movl 0x28(%rax), %esi
movl %esi, 0x28(%rdx)
movl $0x0, 0x28(%rax)
testq %r9, %r9
je 0x2edb0
movl $0x0, 0x28(%r9)
movq 0x10(%rdx), %rsi
movq %rsi, 0x18(%rax)
testq %rsi, %rsi
je 0x2edc1
movq %rax, 0x20(%rsi)
movq 0x20(%rax), %rsi
movq %rsi, 0x20(%rdx)
movq %rdx, %r8
testq %rsi, %rsi
je 0x2ede4
leaq 0x10(%rsi), %r8
cmpq 0x10(%rsi), %rax
leaq 0x18(%rsi), %rcx
cmoveq %r8, %rcx
movq %rdi, %r8
movq %rdx, (%rcx)
movq %rax, 0x10(%rdx)
movq %rdx, 0x20(%rax)
testq %r8, %r8
je 0x2edfc
movl $0x0, 0x28(%r8)
movq 0x8(%r14), %rdi
callq 0xc0c0
movq %r14, %rdi
callq 0xc0c0
testq %r15, %r15
jne 0x2e983
movq 0x78(%rbx), %rdi
callq 0xc0c0
movq 0x58(%rbx), %rdi
testq %rdi, %rdi
je 0x2f449
xorl %eax, %eax
movq %rdi, %rcx
movq %rax, %r14
movq (%rcx), %rax
leaq 0x828(%rax), %rcx
testq %rax, %rax
jne 0x2ee31
testq %r14, %r14
je 0x2f444
movq %r14, %rdi
callq 0x2fc28
movq %rax, %r15
movq 0x58(%rbx), %rax
movq 0x828(%r14), %rcx
movq 0x830(%r14), %r9
testq %rcx, %rcx
je 0x2ef47
testq %r9, %r9
je 0x2ef5f
leaq 0x828(%r14), %r8
movq %r9, %rdi
movq 0x828(%r9), %r9
testq %r9, %r9
jne 0x2ee82
movq 0x830(%rdi), %rcx
movq 0x838(%rdi), %rdx
movl 0x840(%rdi), %esi
testq %rcx, %rcx
je 0x2eeb1
movq %rdx, 0x838(%rcx)
movq %rax, %r9
testq %rdx, %rdx
je 0x2eed2
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 0x2ef21
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 0x2ef9c
movq %rdi, 0x838(%r8)
jmp 0x2ef9c
movq 0x838(%r14), %rdx
movl 0x840(%r14), %esi
testq %r9, %r9
je 0x2ef76
movq %r9, %rcx
jmp 0x2ef6d
movq 0x838(%r14), %rdx
movl 0x840(%r14), %esi
movq %rdx, 0x838(%rcx)
jmp 0x2ef78
xorl %ecx, %ecx
movq %rax, %rdi
testq %rdx, %rdx
je 0x2ef99
leaq 0x828(%rdx), %r8
leaq 0x830(%rdx), %rdi
cmpq %r14, 0x828(%rdx)
cmoveq %r8, %rdi
movq %rcx, (%rdi)
testl %esi, %esi
jne 0x2f418
jmp 0x2efb7
movl $0x1, 0x840(%rdx)
movq 0x838(%rcx), %rdx
movq %rcx, %r8
movq %rdx, %rcx
testq %r8, %r8
je 0x2efd0
cmpl $0x0, 0x840(%r8)
jne 0x2f3f0
movq (%rax), %rsi
cmpq %rsi, %r8
je 0x2f3eb
movq 0x828(%rcx), %rdx
cmpq %r8, %rdx
je 0x2f053
cmpl $0x1, 0x840(%rdx)
jne 0x2f0e8
movl $0x0, 0x840(%rdx)
movl $0x1, 0x840(%rcx)
movq 0x830(%rdx), %rdi
movq %rdi, 0x828(%rcx)
testq %rdi, %rdi
je 0x2f023
movq %rcx, 0x838(%rdi)
movq 0x838(%rcx), %r8
movq %r8, 0x838(%rdx)
testq %r8, %r8
je 0x2f0c1
cmpq 0x828(%r8), %rcx
je 0x2f0c9
movq %rdx, 0x830(%r8)
jmp 0x2f0d7
movq 0x830(%rcx), %rdx
cmpl $0x1, 0x840(%rdx)
jne 0x2f142
movl $0x0, 0x840(%rdx)
movl $0x1, 0x840(%rcx)
movq 0x828(%rdx), %rdi
movq %rdi, 0x830(%rcx)
testq %rdi, %rdi
je 0x2f095
movq %rcx, 0x838(%rdi)
movq 0x838(%rcx), %r8
movq %r8, 0x838(%rdx)
testq %r8, %r8
je 0x2f122
cmpq 0x828(%r8), %rcx
je 0x2f12a
movq %rdx, 0x830(%r8)
movq 0x830(%rcx), %rdi
jmp 0x2f131
movq %rdx, (%rax)
movq %rdx, %rsi
jmp 0x2f0d7
movq %rdx, 0x828(%r8)
movq 0x828(%rcx), %rdi
movq %rcx, 0x830(%rdx)
movq %rdx, 0x838(%rcx)
movq %rdi, %rdx
movq 0x828(%rdx), %r9
testq %r9, %r9
je 0x2f102
cmpl $0x0, 0x840(%r9)
jne 0x2f187
movq 0x830(%rdx), %r8
testq %r8, %r8
je 0x2efa6
cmpl $0x0, 0x840(%r8)
je 0x2efa6
jmp 0x2f178
movq %rdx, (%rax)
movq %rdx, %rsi
jmp 0x2f131
movq %rdx, 0x828(%r8)
movq %rcx, 0x828(%rdx)
movq %rdx, 0x838(%rcx)
movq %rdi, %rdx
movq 0x828(%rdx), %r8
testq %r8, %r8
je 0x2f158
cmpl $0x0, 0x840(%r8)
jne 0x2f1a5
movq 0x830(%rdx), %r9
testq %r9, %r9
je 0x2efa6
cmpl $0x0, 0x840(%r9)
je 0x2efa6
jmp 0x2f1c3
testq %r9, %r9
je 0x2f1e1
cmpl $0x0, 0x840(%r9)
je 0x2f1e1
movl 0x840(%rcx), %edi
movl %edi, 0x840(%rdx)
movl $0x0, 0x840(%rcx)
movq %rsi, %rdi
jmp 0x2f27f
movq 0x830(%rdx), %r9
testq %r9, %r9
je 0x2f2e5
cmpl $0x0, 0x840(%r9)
je 0x2f2e5
movl 0x840(%rcx), %edi
movl %edi, 0x840(%rdx)
movl $0x0, 0x840(%rcx)
movq %rsi, %rdi
jmp 0x2f383
movl $0x0, 0x840(%r8)
movl $0x1, 0x840(%rdx)
movq 0x828(%r8), %rdi
movq %rdi, 0x830(%rdx)
testq %rdi, %rdi
je 0x2f210
movq %rdx, 0x838(%rdi)
movq 0x838(%rdx), %r10
movq %r10, 0x838(%r8)
movq %rax, %r9
movq %r8, %rdi
testq %r10, %r10
je 0x2f245
leaq 0x828(%r10), %rdi
cmpq 0x828(%r10), %rdx
leaq 0x830(%r10), %r9
cmoveq %rdi, %r9
movq %rsi, %rdi
movq %r8, (%r9)
movq %rdx, 0x828(%r8)
movq %r8, 0x838(%rdx)
movq 0x828(%rcx), %rdx
movq 0x828(%rdx), %r9
movl 0x840(%rcx), %esi
movl %esi, 0x840(%rdx)
movl $0x0, 0x840(%rcx)
testq %r9, %r9
je 0x2f28a
movl $0x0, 0x840(%r9)
movq 0x830(%rdx), %rsi
movq %rsi, 0x828(%rcx)
testq %rsi, %rsi
je 0x2f2a4
movq %rcx, 0x838(%rsi)
movq 0x838(%rcx), %rsi
movq %rsi, 0x838(%rdx)
movq %rdx, %r8
testq %rsi, %rsi
je 0x2f2d6
leaq 0x828(%rsi), %r8
cmpq 0x828(%rsi), %rcx
leaq 0x830(%rsi), %rax
cmoveq %r8, %rax
movq %rdi, %r8
movq %rdx, (%rax)
movq %rcx, 0x830(%rdx)
jmp 0x2f3e4
movl $0x0, 0x840(%r8)
movl $0x1, 0x840(%rdx)
movq 0x830(%r8), %rdi
movq %rdi, 0x828(%rdx)
testq %rdi, %rdi
je 0x2f314
movq %rdx, 0x838(%rdi)
movq 0x838(%rdx), %r10
movq %r10, 0x838(%r8)
movq %rax, %r9
movq %r8, %rdi
testq %r10, %r10
je 0x2f349
leaq 0x828(%r10), %rdi
cmpq 0x828(%r10), %rdx
leaq 0x830(%r10), %r9
cmoveq %rdi, %r9
movq %rsi, %rdi
movq %r8, (%r9)
movq %rdx, 0x830(%r8)
movq %r8, 0x838(%rdx)
movq 0x830(%rcx), %rdx
movq 0x830(%rdx), %r9
movl 0x840(%rcx), %esi
movl %esi, 0x840(%rdx)
movl $0x0, 0x840(%rcx)
testq %r9, %r9
je 0x2f38e
movl $0x0, 0x840(%r9)
movq 0x828(%rdx), %rsi
movq %rsi, 0x830(%rcx)
testq %rsi, %rsi
je 0x2f3a8
movq %rcx, 0x838(%rsi)
movq 0x838(%rcx), %rsi
movq %rsi, 0x838(%rdx)
movq %rdx, %r8
testq %rsi, %rsi
je 0x2f3da
leaq 0x828(%rsi), %r8
cmpq 0x828(%rsi), %rcx
leaq 0x830(%rsi), %rax
cmoveq %r8, %rax
movq %rdi, %r8
movq %rdx, (%rax)
movq %rcx, 0x828(%rdx)
movq %rdx, 0x838(%rcx)
testq %r8, %r8
je 0x2f418
movl $0x0, 0x840(%r8)
jmp 0x2f418
movq 0x8c0(%rax), %rcx
movq %rcx, (%rdi)
testq %rcx, %rcx
jne 0x2f410
movq %rdi, 0x8(%rdi)
movq %rax, %rdi
callq 0x2fc76
movq 0x820(%r14), %rdi
movq (%rdi), %rax
testq %rax, %rax
jne 0x2f3fd
callq 0xc0c0
movq %r14, %rdi
callq 0xc0c0
movq %r15, %r14
testq %r15, %r15
jne 0x2ee4c
movq 0x58(%rbx), %rdi
callq 0xc0c0
movq 0x2a8(%rbx), %rdi
callq 0x2fbfb
movq 0x2b0(%rbx), %rdi
callq 0x2fbfb
movq 0x2b8(%rbx), %rdi
callq 0x2fbfb
movq 0x2c0(%rbx), %rdi
callq 0x2fbfb
movq %rbx, %rdi
callq 0x2fcb9
cmpq $0x0, 0x38(%rbx)
je 0x2f4ad
xorl %r14d, %r14d
movq 0x38(%rbx), %rax
movq (%rax,%r14,8), %rdi
callq 0x2fd13
incq %r14
cmpq $0x4000, %r14           # imm = 0x4000
jne 0x2f48b
movq 0x38(%rbx), %rdi
callq 0xc0c0
movq 0x120(%rbx), %rdi
testq %rdi, %rdi
je 0x2f4be
callq 0xc0c0
movq 0x290(%rbx), %rdi
testq %rdi, %rdi
je 0x2f4cf
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