// File: /workspace/github_c_makefile_star2_O0/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:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x4545b
jmp 0x46146
movq -0x8(%rbp), %rax
cmpq $0x0, 0xf0(%rax)
je 0x454c2
movw $0x0, -0x1a(%rbp)
movzwl -0x1a(%rbp), %eax
movq -0x8(%rbp), %rcx
movzwl 0xf8(%rcx), %ecx
cmpl %ecx, %eax
jge 0x454c0
movq -0x8(%rbp), %rax
movq 0xf0(%rax), %rax
movzwl -0x1a(%rbp), %ecx
cmpq $0x0, (%rax,%rcx,8)
je 0x454b0
movq -0x8(%rbp), %rax
movq 0xf0(%rax), %rax
movzwl -0x1a(%rbp), %ecx
movq (%rax,%rcx,8), %rdi
callq 0xc0d0
jmp 0x454b2
movw -0x1a(%rbp), %ax
addw $0x1, %ax
movw %ax, -0x1a(%rbp)
jmp 0x4546f
jmp 0x454c2
movq -0x8(%rbp), %rax
movq 0xf0(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x100(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x110(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x45558
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x46150
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x4554b
movq -0x10(%rbp), %rdi
callq 0x461b0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x46270
movq -0x10(%rbp), %rdi
callq 0x464d0
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x45513
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x455be
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x46150
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x455b1
movq -0x10(%rbp), %rdi
callq 0x461b0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x46270
movq -0x10(%rbp), %rdi
callq 0x464d0
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x45579
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x30(%rax)
je 0x45624
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x46150
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x45617
movq -0x10(%rbp), %rdi
callq 0x461b0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x46270
movq -0x10(%rbp), %rdi
callq 0x464d0
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x455df
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x40(%rax)
je 0x456a5
jmp 0x45631
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rax
cmpq $0x0, (%rax)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x45648
jmp 0x45698
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rax
movq (%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x40(%rcx), %rcx
movq %rax, (%rcx)
cmpq $0x0, %rax
jne 0x4568b
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rax
movq %rcx, 0x8(%rax)
jmp 0x4568d
movq -0x28(%rbp), %rdi
callq 0xc0d0
jmp 0x45631
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x60(%rax)
je 0x45729
jmp 0x456b2
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
cmpq $0x0, (%rax)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x456c9
jmp 0x4571c
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rax
movq 0xb8(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x60(%rcx), %rcx
movq %rax, (%rcx)
cmpq $0x0, %rax
jne 0x4570f
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, 0x8(%rax)
jmp 0x45711
movq -0x30(%rbp), %rdi
callq 0x46550
jmp 0x456b2
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x68(%rax)
je 0x457ad
jmp 0x45736
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
cmpq $0x0, (%rax)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x4574d
jmp 0x457a0
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movq (%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movq (%rax), %rax
movq 0xb8(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x68(%rcx), %rcx
movq %rax, (%rcx)
cmpq $0x0, %rax
jne 0x45793
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movq %rcx, 0x8(%rax)
jmp 0x45795
movq -0x30(%rbp), %rdi
callq 0x46550
jmp 0x45736
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x80(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x88(%rax)
je 0x4585d
jmp 0x457d1
movq -0x8(%rbp), %rax
movq 0x88(%rax), %rax
cmpq $0x0, (%rax)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x457eb
jmp 0x4584d
movq -0x8(%rbp), %rax
movq 0x88(%rax), %rax
movq (%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rax
movq 0x88(%rax), %rax
movq (%rax), %rax
movq 0xb8(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x88(%rcx), %rcx
movq %rax, (%rcx)
cmpq $0x0, %rax
jne 0x45840
movq -0x8(%rbp), %rax
movq 0x88(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x88(%rax), %rax
movq %rcx, 0x8(%rax)
jmp 0x45842
movq -0x38(%rbp), %rdi
callq 0x465f0
jmp 0x457d1
movq -0x8(%rbp), %rax
movq 0x88(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x90(%rax)
je 0x458fd
jmp 0x45871
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rax
cmpq $0x0, (%rax)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x4588b
jmp 0x458ed
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rax
movq (%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rax
movq (%rax), %rax
movq 0xb8(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x90(%rcx), %rcx
movq %rax, (%rcx)
cmpq $0x0, %rax
jne 0x458e0
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rax
movq %rcx, 0x8(%rax)
jmp 0x458e2
movq -0x38(%rbp), %rdi
callq 0x465f0
jmp 0x45871
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x48(%rax)
je 0x4597e
jmp 0x4590a
movq -0x8(%rbp), %rax
movq 0x48(%rax), %rax
cmpq $0x0, (%rax)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x45921
jmp 0x45971
movq -0x8(%rbp), %rax
movq 0x48(%rax), %rax
movq (%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rax
movq 0x48(%rax), %rax
movq (%rax), %rax
movq 0x48(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x48(%rcx), %rcx
movq %rax, (%rcx)
cmpq $0x0, %rax
jne 0x45964
movq -0x8(%rbp), %rax
movq 0x48(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x48(%rax), %rax
movq %rcx, 0x8(%rax)
jmp 0x45966
movq -0x40(%rbp), %rdi
callq 0xc0d0
jmp 0x4590a
movq -0x8(%rbp), %rax
movq 0x48(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x98(%rax)
je 0x45a1e
jmp 0x45992
movq -0x8(%rbp), %rax
movq 0x98(%rax), %rax
cmpq $0x0, (%rax)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x459ac
jmp 0x45a0e
movq -0x8(%rbp), %rax
movq 0x98(%rax), %rax
movq (%rax), %rax
movq %rax, -0x60(%rbp)
movq -0x8(%rbp), %rax
movq 0x98(%rax), %rax
movq (%rax), %rax
movq 0x1078(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x98(%rcx), %rcx
movq %rax, (%rcx)
cmpq $0x0, %rax
jne 0x45a01
movq -0x8(%rbp), %rax
movq 0x98(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x98(%rax), %rax
movq %rcx, 0x8(%rax)
jmp 0x45a03
movq -0x60(%rbp), %rdi
callq 0x46680
jmp 0x45992
movq -0x8(%rbp), %rax
movq 0x98(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x50(%rax)
je 0x45aa2
jmp 0x45a2b
movq -0x8(%rbp), %rax
movq 0x50(%rax), %rax
cmpq $0x0, (%rax)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x45a42
jmp 0x45a95
movq -0x8(%rbp), %rax
movq 0x50(%rax), %rax
movq (%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rax
movq 0x50(%rax), %rax
movq (%rax), %rax
movq 0xc0(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x50(%rcx), %rcx
movq %rax, (%rcx)
cmpq $0x0, %rax
jne 0x45a88
movq -0x8(%rbp), %rax
movq 0x50(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x8(%rax)
jmp 0x45a8a
movq -0x48(%rbp), %rdi
callq 0x46710
jmp 0x45a2b
movq -0x8(%rbp), %rax
movq 0x50(%rax), %rdi
callq 0xc0d0
jmp 0x45aa4
movq -0x8(%rbp), %rax
movq 0x218(%rax), %rax
cmpq $0x0, (%rax)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x45abe
jmp 0x45b1d
movq -0x8(%rbp), %rax
movq 0x218(%rax), %rax
movq (%rax), %rax
movq %rax, -0x50(%rbp)
movq -0x8(%rbp), %rax
movq 0x218(%rax), %rax
movq (%rax), %rax
movq 0x18(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x218(%rcx), %rcx
movq %rax, (%rcx)
cmpq $0x0, %rax
jne 0x45b10
movq -0x8(%rbp), %rax
movq 0x218(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x218(%rax), %rax
movq %rcx, 0x8(%rax)
jmp 0x45b12
movq -0x50(%rbp), %rdi
callq 0x467a0
jmp 0x45aa4
movq -0x8(%rbp), %rax
movq 0x218(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x220(%rax), %rax
cmpq $0x0, (%rax)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x45b47
jmp 0x45ba6
movq -0x8(%rbp), %rax
movq 0x220(%rax), %rax
movq (%rax), %rax
movq %rax, -0x50(%rbp)
movq -0x8(%rbp), %rax
movq 0x220(%rax), %rax
movq (%rax), %rax
movq 0x18(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x220(%rcx), %rcx
movq %rax, (%rcx)
cmpq $0x0, %rax
jne 0x45b99
movq -0x8(%rbp), %rax
movq 0x220(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x220(%rax), %rax
movq %rcx, 0x8(%rax)
jmp 0x45b9b
movq -0x50(%rbp), %rdi
callq 0x467a0
jmp 0x45b2d
movq -0x8(%rbp), %rax
movq 0x220(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x228(%rax), %rax
cmpq $0x0, (%rax)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x45bd0
jmp 0x45c2f
movq -0x8(%rbp), %rax
movq 0x228(%rax), %rax
movq (%rax), %rax
movq %rax, -0x50(%rbp)
movq -0x8(%rbp), %rax
movq 0x228(%rax), %rax
movq (%rax), %rax
movq 0x18(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x228(%rcx), %rcx
movq %rax, (%rcx)
cmpq $0x0, %rax
jne 0x45c22
movq -0x8(%rbp), %rax
movq 0x228(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x228(%rax), %rax
movq %rcx, 0x8(%rax)
jmp 0x45c24
movq -0x50(%rbp), %rdi
callq 0x467a0
jmp 0x45bb6
movq -0x8(%rbp), %rax
movq 0x228(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x230(%rax), %rax
cmpq $0x0, (%rax)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x45c59
jmp 0x45cb8
movq -0x8(%rbp), %rax
movq 0x230(%rax), %rax
movq (%rax), %rax
movq %rax, -0x50(%rbp)
movq -0x8(%rbp), %rax
movq 0x230(%rax), %rax
movq (%rax), %rax
movq 0x18(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x230(%rcx), %rcx
movq %rax, (%rcx)
cmpq $0x0, %rax
jne 0x45cab
movq -0x8(%rbp), %rax
movq 0x230(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x230(%rax), %rax
movq %rcx, 0x8(%rax)
jmp 0x45cad
movq -0x50(%rbp), %rdi
callq 0x467a0
jmp 0x45c3f
movq -0x8(%rbp), %rax
movq 0x230(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x238(%rax), %rax
cmpq $0x0, (%rax)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x45ce2
jmp 0x45d41
movq -0x8(%rbp), %rax
movq 0x238(%rax), %rax
movq (%rax), %rax
movq %rax, -0x50(%rbp)
movq -0x8(%rbp), %rax
movq 0x238(%rax), %rax
movq (%rax), %rax
movq 0x18(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x238(%rcx), %rcx
movq %rax, (%rcx)
cmpq $0x0, %rax
jne 0x45d34
movq -0x8(%rbp), %rax
movq 0x238(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x238(%rax), %rax
movq %rcx, 0x8(%rax)
jmp 0x45d36
movq -0x50(%rbp), %rdi
callq 0x467a0
jmp 0x45cc8
movq -0x8(%rbp), %rax
movq 0x238(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x70(%rax)
je 0x45dc4
movq -0x8(%rbp), %rax
movq 0x70(%rax), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x467f0
movq %rax, -0x68(%rbp)
cmpq $0x0, -0x68(%rbp)
je 0x45db7
movq -0x68(%rbp), %rdi
callq 0x46850
movq %rax, -0x70(%rbp)
movq -0x8(%rbp), %rax
movq 0x70(%rax), %rdi
movq -0x68(%rbp), %rsi
callq 0x46910
movq -0x68(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xc0d0
movq -0x68(%rbp), %rdi
callq 0xc0d0
movq -0x70(%rbp), %rax
movq %rax, -0x68(%rbp)
jmp 0x45d72
movq -0x8(%rbp), %rax
movq 0x70(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x78(%rax)
je 0x45e37
movq -0x8(%rbp), %rax
movq 0x78(%rax), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x46b70
movq %rax, -0x68(%rbp)
cmpq $0x0, -0x68(%rbp)
je 0x45e2a
movq -0x68(%rbp), %rdi
callq 0x46bd0
movq %rax, -0x70(%rbp)
movq -0x8(%rbp), %rax
movq 0x78(%rax), %rdi
movq -0x68(%rbp), %rsi
callq 0x46c90
movq -0x68(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xc0d0
movq -0x68(%rbp), %rdi
callq 0xc0d0
movq -0x70(%rbp), %rax
movq %rax, -0x68(%rbp)
jmp 0x45de5
movq -0x8(%rbp), %rax
movq 0x78(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x45f34
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x46ef0
movq %rax, -0x78(%rbp)
cmpq $0x0, -0x78(%rbp)
je 0x45f27
movq -0x78(%rbp), %rdi
callq 0x46f50
movq %rax, -0x80(%rbp)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rdi
movq -0x78(%rbp), %rsi
callq 0x47040
movq -0x78(%rbp), %rax
movq 0x820(%rax), %rax
cmpq $0x0, (%rax)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x45e9f
jmp 0x45f01
movq -0x78(%rbp), %rax
movq 0x820(%rax), %rax
movq (%rax), %rax
movq %rax, -0x58(%rbp)
movq -0x78(%rbp), %rax
movq 0x820(%rax), %rax
movq (%rax), %rax
movq 0x8c0(%rax), %rax
movq -0x78(%rbp), %rcx
movq 0x820(%rcx), %rcx
movq %rax, (%rcx)
cmpq $0x0, %rax
jne 0x45ef4
movq -0x78(%rbp), %rax
movq 0x820(%rax), %rcx
movq -0x78(%rbp), %rax
movq 0x820(%rax), %rax
movq %rcx, 0x8(%rax)
jmp 0x45ef6
movq -0x58(%rbp), %rdi
callq 0x47320
jmp 0x45e85
movq -0x78(%rbp), %rax
movq 0x820(%rax), %rdi
callq 0xc0d0
movq -0x78(%rbp), %rdi
callq 0xc0d0
movq -0x80(%rbp), %rax
movq %rax, -0x78(%rbp)
jmp 0x45e5c
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x2a8(%rax), %rdi
callq 0x467a0
movq -0x8(%rbp), %rax
movq 0x2b0(%rax), %rdi
callq 0x467a0
movq -0x8(%rbp), %rax
movq 0x2b8(%rax), %rdi
callq 0x467a0
movq -0x8(%rbp), %rax
movq 0x2c0(%rax), %rdi
callq 0x467a0
movq -0x8(%rbp), %rdi
callq 0x47390
movq -0x8(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x45fc9
movw $0x0, -0x1a(%rbp)
movzwl -0x1a(%rbp), %eax
cmpl $0x4000, %eax           # imm = 0x4000
jge 0x45fbc
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rax
movzwl -0x1a(%rbp), %ecx
movq (%rax,%rcx,8), %rdi
callq 0x47410
movw -0x1a(%rbp), %ax
addw $0x1, %ax
movw %ax, -0x1a(%rbp)
jmp 0x45f8e
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x120(%rax)
je 0x45fe7
movq -0x8(%rbp), %rax
movq 0x120(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x290(%rax)
je 0x46005
movq -0x8(%rbp), %rax
movq 0x290(%rax), %rdi
callq 0xc6e0
movq -0x8(%rbp), %rax
movq 0x1f8(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x200(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0xb8(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0xc0(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x158(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x2d0(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x2d8(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x2c8(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x2f8(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x300(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x308(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x310(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x318(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x320(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x328(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x330(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x338(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x1b0(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x1b8(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rdi
callq 0xc0d0
movq $0x0, -0x8(%rbp)
addq $0x80, %rsp
popq %rbp
retq
nop