LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: worksheet_write_legacy_drawing_hf
STATIC void
_worksheet_write_legacy_drawing_hf(lxw_worksheet *self)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;
    char r_id[LXW_MAX_ATTRIBUTE_LENGTH];

    if (!self->has_header_vml)
        return;
    else
        self->rel_count++;

    lxw_snprintf(r_id, LXW_ATTR_32, "rId%d", self->rel_count);
    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_STR("r:id", r_id);

    lxw_xml_empty_tag(self->file, "legacyDrawingHF", &attributes);

    LXW_FREE_ATTRIBUTES();

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x840, %rsp            # imm = 0x840
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpb $0x0, 0x2a2(%rax)
jne 0x4fb31
jmp 0x4fc1c
movq -0x8(%rbp), %rax
movw 0x134(%rax), %cx
addw $0x1, %cx
movw %cx, 0x134(%rax)
leaq -0x840(%rbp), %rdi
movq -0x8(%rbp), %rax
movzwl 0x134(%rax), %ecx
movl $0x20, %esi
leaq 0x18a54(%rip), %rdx     # 0x685b9
movb $0x0, %al
callq 0xc5d0
movq $0x0, -0x18(%rbp)
leaq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x4fb7e
leaq -0x840(%rbp), %rsi
leaq 0x18a33(%rip), %rdi     # 0x685bf
callq 0xc030
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x10(%rbp)
jmp 0x4fbbf
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x1f28e(%rip), %rsi     # 0x6ee5b
leaq -0x18(%rbp), %rdx
callq 0xcca0
jmp 0x4fbd8
cmpq $0x0, -0x18(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x4fbe8
jmp 0x4fc1a
movq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
jne 0x4fc0d
leaq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x4fc0f
movq -0x20(%rbp), %rdi
callq 0xc0d0
jmp 0x4fbd8
jmp 0x4fc1c
addq $0x840, %rsp            # imm = 0x840
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: worksheet_write_picture
STATIC void
_worksheet_write_picture(lxw_worksheet *self)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;
    char r_id[LXW_MAX_ATTRIBUTE_LENGTH];

    if (!self->has_background_image)
        return;
    else
        self->rel_count++;

    lxw_snprintf(r_id, LXW_ATTR_32, "rId%d", self->rel_count);
    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_STR("r:id", r_id);

    lxw_xml_empty_tag(self->file, "picture", &attributes);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x840, %rsp            # imm = 0x840
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpb $0x0, 0x2a3(%rax)
jne 0x4fc51
jmp 0x4fd3c
movq -0x8(%rbp), %rax
movw 0x134(%rax), %cx
addw $0x1, %cx
movw %cx, 0x134(%rax)
leaq -0x840(%rbp), %rdi
movq -0x8(%rbp), %rax
movzwl 0x134(%rax), %ecx
movl $0x20, %esi
leaq 0x18934(%rip), %rdx     # 0x685b9
movb $0x0, %al
callq 0xc5d0
movq $0x0, -0x18(%rbp)
leaq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x4fc9e
leaq -0x840(%rbp), %rsi
leaq 0x18913(%rip), %rdi     # 0x685bf
callq 0xc030
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x10(%rbp)
jmp 0x4fcdf
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x1f17e(%rip), %rsi     # 0x6ee6b
leaq -0x18(%rbp), %rdx
callq 0xcca0
jmp 0x4fcf8
cmpq $0x0, -0x18(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x4fd08
jmp 0x4fd3a
movq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
jne 0x4fd2d
leaq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x4fd2f
movq -0x20(%rbp), %rdi
callq 0xc0d0
jmp 0x4fcf8
jmp 0x4fd3c
addq $0x840, %rsp            # imm = 0x840
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: worksheet_write_table_parts
STATIC void
_worksheet_write_table_parts(lxw_worksheet *self)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;
    lxw_table_obj *table_obj;

    if (!self->table_count)
        return;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_INT("count", self->table_count);

    lxw_xml_start_tag(self->file, "tableParts", &attributes);

    STAILQ_FOREACH(table_obj, self->table_objs, list_pointers) {
        self->rel_count++;

        /* Write the tablePart element. */
        _worksheet_write_table_part(self, self->rel_count);
    }

    lxw_xml_end_tag(self->file, "tableParts");

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpw $0x0, 0xa0(%rax)
jne 0x4fd6f
jmp 0x4fe8e
jmp 0x4fd71
movq $0x0, -0x18(%rbp)
leaq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x4fd83
movq -0x8(%rbp), %rax
movzwl 0xa0(%rax), %eax
movl %eax, %esi
leaq 0x18b7e(%rip), %rdi     # 0x68915
callq 0xc1b0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x10(%rbp)
jmp 0x4fdca
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x1f09b(%rip), %rsi     # 0x6ee73
leaq -0x18(%rbp), %rdx
callq 0xc390
movq -0x8(%rbp), %rax
movq 0x98(%rax), %rax
movq (%rax), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x4fe35
movq -0x8(%rbp), %rax
movw 0x134(%rax), %cx
addw $0x1, %cx
movw %cx, 0x134(%rax)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movzwl 0x134(%rax), %esi
callq 0x62b80
movq -0x28(%rbp), %rax
movq 0x1078(%rax), %rax
movq %rax, -0x28(%rbp)
jmp 0x4fdf3
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x1f030(%rip), %rsi     # 0x6ee73
callq 0xc060
jmp 0x4fe4a
cmpq $0x0, -0x18(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x4fe5a
jmp 0x4fe8c
movq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
jne 0x4fe7f
leaq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x4fe81
movq -0x20(%rbp), %rdi
callq 0xc0d0
jmp 0x4fe4a
jmp 0x4fe8e
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: worksheet_write_ext_list
STATIC void
_worksheet_write_ext_list(lxw_worksheet *self)
{
    if (self->data_bar_2010_index == 0)
        return;

    lxw_xml_start_tag(self->file, "extLst", NULL);

    _worksheet_write_ext_list_data_bars(self);

    lxw_xml_end_tag(self->file, "extLst");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x2f0(%rax)
jne 0x4febb
jmp 0x4feee
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x18712(%rip), %rsi     # 0x685db
xorl %eax, %eax
movl %eax, %edx
callq 0xc390
movq -0x8(%rbp), %rdi
callq 0x62c70
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x186f2(%rip), %rsi     # 0x685db
callq 0xc060
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: worksheet_write_number
lxw_error
worksheet_write_number(lxw_worksheet *self,
                       lxw_row_t row_num,
                       lxw_col_t col_num, double value, lxw_format *format)
{
    lxw_cell *cell;
    lxw_error err;

    err = _check_dimensions(self, row_num, col_num, LXW_FALSE, LXW_FALSE);
    if (err)
        return err;

    cell = _new_number_cell(row_num, col_num, value, format);

    _insert_cell(self, row_num, col_num, cell);

    return LXW_NO_ERROR;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movw %dx, %ax
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movw %ax, -0x16(%rbp)
movsd %xmm0, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
xorl %r8d, %r8d
movzwl -0x16(%rbp), %edx
movl %r8d, %ecx
callq 0x4ff90
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x4ff46
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x4ff80
movl -0x14(%rbp), %edi
movw -0x16(%rbp), %ax
movsd -0x20(%rbp), %xmm0
movq -0x28(%rbp), %rdx
movzwl %ax, %esi
callq 0x500b0
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
movw -0x16(%rbp), %ax
movq -0x30(%rbp), %rcx
movzwl %ax, %edx
callq 0x50170
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: check_dimensions
STATIC lxw_error
_check_dimensions(lxw_worksheet *self,
                  lxw_row_t row_num,
                  lxw_col_t col_num, int8_t ignore_row, int8_t ignore_col)
{
    if (row_num >= LXW_ROW_MAX)
        return LXW_ERROR_WORKSHEET_INDEX_OUT_OF_RANGE;

    if (col_num >= LXW_COL_MAX)
        return LXW_ERROR_WORKSHEET_INDEX_OUT_OF_RANGE;

    /* In optimization mode we don't change dimensions for rows that are */
    /* already written. */
    if (!ignore_row && !ignore_col && self->optimize) {
        if (row_num < self->optimize_row->row_num)
            return LXW_ERROR_WORKSHEET_INDEX_OUT_OF_RANGE;
    }

    if (!ignore_row) {
        if (row_num < self->dim_rowmin)
            self->dim_rowmin = row_num;
        if (row_num > self->dim_rowmax)
            self->dim_rowmax = row_num;
    }

    if (!ignore_col) {
        if (col_num < self->dim_colmin)
            self->dim_colmin = col_num;
        if (col_num > self->dim_colmax)
            self->dim_colmax = col_num;
    }

    return LXW_NO_ERROR;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movb %r8b, %al
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movw %dx, -0x16(%rbp)
movb %cl, -0x17(%rbp)
movb %al, -0x18(%rbp)
cmpl $0x100000, -0x14(%rbp)  # imm = 0x100000
jb 0x4ffbd
movl $0x17, -0x4(%rbp)
jmp 0x500a3
movzwl -0x16(%rbp), %eax
cmpl $0x4000, %eax           # imm = 0x4000
jl 0x4ffd4
movl $0x17, -0x4(%rbp)
jmp 0x500a3
cmpb $0x0, -0x17(%rbp)
jne 0x50010
cmpb $0x0, -0x18(%rbp)
jne 0x50010
movq -0x10(%rbp), %rax
movzbl 0x11c(%rax), %eax
cmpl $0x0, %eax
je 0x50010
movl -0x14(%rbp), %eax
movq -0x10(%rbp), %rcx
movq 0x120(%rcx), %rcx
cmpl (%rcx), %eax
jae 0x5000e
movl $0x17, -0x4(%rbp)
jmp 0x500a3
jmp 0x50010
cmpb $0x0, -0x17(%rbp)
jne 0x50050
movl -0x14(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0xa4(%rcx), %eax
jae 0x50032
movl -0x14(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0xa4(%rax)
movl -0x14(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0xa8(%rcx), %eax
jbe 0x5004e
movl -0x14(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0xa8(%rax)
jmp 0x50050
cmpb $0x0, -0x18(%rbp)
jne 0x5009c
movzwl -0x16(%rbp), %eax
movq -0x10(%rbp), %rcx
movzwl 0xac(%rcx), %ecx
cmpl %ecx, %eax
jge 0x50078
movw -0x16(%rbp), %cx
movq -0x10(%rbp), %rax
movw %cx, 0xac(%rax)
movzwl -0x16(%rbp), %eax
movq -0x10(%rbp), %rcx
movzwl 0xae(%rcx), %ecx
cmpl %ecx, %eax
jle 0x5009a
movw -0x16(%rbp), %cx
movq -0x10(%rbp), %rax
movw %cx, 0xae(%rax)
jmp 0x5009c
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: new_number_cell
STATIC lxw_cell *
_new_number_cell(lxw_row_t row_num,
                 lxw_col_t col_num, double value, lxw_format *format)
{
    lxw_cell *cell = calloc(1, sizeof(lxw_cell));
    RETURN_ON_MEM_ERROR(cell, cell);

    cell->row_num = row_num;
    cell->col_num = col_num;
    cell->type = NUMBER_CELL;
    cell->format = format;
    cell->u.number = value;

    return cell;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movw %si, %ax
movl %edi, -0xc(%rbp)
movw %ax, -0xe(%rbp)
movsd %xmm0, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movl $0x1, %edi
movl $0x68, %esi
callq 0xc870
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x50113
movq 0x2cf0c(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x15fda(%rip), %rsi     # 0x660d0
leaq 0x1c2f7(%rip), %rdx     # 0x6c3f4
movl $0x34b, %ecx            # imm = 0x34B
movb $0x0, %al
callq 0xc8f0
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x50157
jmp 0x50115
movl -0xc(%rbp), %ecx
movq -0x28(%rbp), %rax
movl %ecx, (%rax)
movw -0xe(%rbp), %cx
movq -0x28(%rbp), %rax
movw %cx, 0x4(%rax)
movq -0x28(%rbp), %rax
movl $0x1, 0x8(%rax)
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x10(%rax)
movsd -0x18(%rbp), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: insert_cell
STATIC void
_insert_cell(lxw_worksheet *self, lxw_row_t row_num, lxw_col_t col_num,
             lxw_cell *cell)
{
    lxw_row *row = _get_row(self, row_num);

    if (!self->optimize) {
        row->data_changed = LXW_TRUE;
        _insert_cell_list(row->cells, cell, col_num);
    }
    else {
        if (row) {
            row->data_changed = LXW_TRUE;

            /* Overwrite an existing cell if necessary. */
            if (self->array[col_num])
                _free_cell(self->array[col_num]);

            self->array[col_num] = cell;
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movw %dx, %ax
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movw %ax, -0xe(%rbp)
movq %rcx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x52800
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
cmpb $0x0, 0x11c(%rax)
jne 0x501c6
movq -0x20(%rbp), %rax
movb $0x1, 0x1c(%rax)
movq -0x20(%rbp), %rax
movq 0x20(%rax), %rdi
movq -0x18(%rbp), %rsi
movzwl -0xe(%rbp), %edx
callq 0x63950
jmp 0x50213
cmpq $0x0, -0x20(%rbp)
je 0x50211
movq -0x20(%rbp), %rax
movb $0x1, 0x1c(%rax)
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rax
movzwl -0xe(%rbp), %ecx
cmpq $0x0, (%rax,%rcx,8)
je 0x501fd
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rax
movzwl -0xe(%rbp), %ecx
movq (%rax,%rcx,8), %rdi
callq 0x47410
movq -0x18(%rbp), %rdx
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rax
movzwl -0xe(%rbp), %ecx
movq %rdx, (%rax,%rcx,8)
jmp 0x50213
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: worksheet_write_blank
lxw_error
worksheet_write_blank(lxw_worksheet *self,
                      lxw_row_t row_num, lxw_col_t col_num,
                      lxw_format *format)
{
    lxw_cell *cell;
    lxw_error err;

    /* Blank cells without formatting are ignored by Excel. */
    if (!format)
        return LXW_NO_ERROR;

    err = _check_dimensions(self, row_num, col_num, LXW_FALSE, LXW_FALSE);
    if (err)
        return err;

    cell = _new_blank_cell(row_num, col_num, format);

    _insert_cell(self, row_num, col_num, cell);

    return LXW_NO_ERROR;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movw %dx, %ax
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movw %ax, -0x16(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x5024a
movl $0x0, -0x4(%rbp)
jmp 0x502a6
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
xorl %r8d, %r8d
movzwl -0x16(%rbp), %edx
movl %r8d, %ecx
callq 0x4ff90
movl %eax, -0x2c(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x50271
movl -0x2c(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x502a6
movl -0x14(%rbp), %edi
movw -0x16(%rbp), %ax
movq -0x20(%rbp), %rdx
movzwl %ax, %esi
callq 0x50c00
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
movw -0x16(%rbp), %ax
movq -0x28(%rbp), %rcx
movzwl %ax, %edx
callq 0x50170
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: new_string_cell
STATIC lxw_cell *
_new_string_cell(lxw_row_t row_num,
                 lxw_col_t col_num, int32_t string_id, char *sst_string,
                 lxw_format *format)
{
    lxw_cell *cell = calloc(1, sizeof(lxw_cell));
    RETURN_ON_MEM_ERROR(cell, cell);

    cell->row_num = row_num;
    cell->col_num = col_num;
    cell->type = STRING_CELL;
    cell->format = format;
    cell->u.string_id = string_id;
    cell->sst_string = sst_string;

    return cell;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movw %si, %ax
movl %edi, -0xc(%rbp)
movw %ax, -0xe(%rbp)
movl %edx, -0x14(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movl $0x1, %edi
movl $0x68, %esi
callq 0xc870
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
jne 0x50315
movq 0x2cd0a(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x15dd8(%rip), %rsi     # 0x660d0
leaq 0x1c0f5(%rip), %rdx     # 0x6c3f4
movl $0x35f, %ecx            # imm = 0x35F
movb $0x0, %al
callq 0xc8f0
movq -0x30(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x50361
jmp 0x50317
movl -0xc(%rbp), %ecx
movq -0x30(%rbp), %rax
movl %ecx, (%rax)
movw -0xe(%rbp), %cx
movq -0x30(%rbp), %rax
movw %cx, 0x4(%rax)
movq -0x30(%rbp), %rax
movl $0x2, 0x8(%rax)
movq -0x28(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, 0x10(%rax)
movl -0x14(%rbp), %ecx
movq -0x30(%rbp), %rax
movl %ecx, 0x20(%rax)
movq -0x20(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, 0x40(%rax)
movq -0x30(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: new_inline_string_cell
STATIC lxw_cell *
_new_inline_string_cell(lxw_row_t row_num,
                        lxw_col_t col_num, char *string, lxw_format *format)
{
    lxw_cell *cell = calloc(1, sizeof(lxw_cell));
    RETURN_ON_MEM_ERROR(cell, cell);

    cell->row_num = row_num;
    cell->col_num = col_num;
    cell->type = INLINE_STRING_CELL;
    cell->format = format;
    cell->u.string = string;

    return cell;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movw %si, %ax
movl %edi, -0xc(%rbp)
movw %ax, -0xe(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl $0x1, %edi
movl $0x68, %esi
callq 0xc870
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x503d2
movq 0x2cc4d(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x15d1b(%rip), %rsi     # 0x660d0
leaq 0x1c038(%rip), %rdx     # 0x6c3f4
movl $0x373, %ecx            # imm = 0x373
movb $0x0, %al
callq 0xc8f0
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x50414
jmp 0x503d4
movl -0xc(%rbp), %ecx
movq -0x28(%rbp), %rax
movl %ecx, (%rax)
movw -0xe(%rbp), %cx
movq -0x28(%rbp), %rax
movw %cx, 0x4(%rax)
movq -0x28(%rbp), %rax
movl $0x3, 0x8(%rax)
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x18(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: new_formula_cell
STATIC lxw_cell *
_new_formula_cell(lxw_row_t row_num,
                  lxw_col_t col_num, char *formula, lxw_format *format)
{
    lxw_cell *cell = calloc(1, sizeof(lxw_cell));
    RETURN_ON_MEM_ERROR(cell, cell);

    cell->row_num = row_num;
    cell->col_num = col_num;
    cell->type = FORMULA_CELL;
    cell->format = format;
    cell->u.string = formula;

    return cell;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movw %si, %ax
movl %edi, -0xc(%rbp)
movw %ax, -0xe(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl $0x1, %edi
movl $0x68, %esi
callq 0xc870
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x50482
movq 0x2cb9d(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x15c6b(%rip), %rsi     # 0x660d0
leaq 0x1bf88(%rip), %rdx     # 0x6c3f4
movl $0x39a, %ecx            # imm = 0x39A
movb $0x0, %al
callq 0xc8f0
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x504c4
jmp 0x50484
movl -0xc(%rbp), %ecx
movq -0x28(%rbp), %rax
movl %ecx, (%rax)
movw -0xe(%rbp), %cx
movq -0x28(%rbp), %rax
movw %cx, 0x4(%rax)
movq -0x28(%rbp), %rax
movl $0x5, 0x8(%rax)
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x18(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: worksheet_write_formula_str
lxw_error
worksheet_write_formula_str(lxw_worksheet *self,
                            lxw_row_t row_num,
                            lxw_col_t col_num,
                            const char *formula,
                            lxw_format *format, const char *result)
{
    lxw_cell *cell;
    char *formula_copy;
    lxw_error err;

    if (!formula)
        return LXW_ERROR_NULL_PARAMETER_IGNORED;

    err = _check_dimensions(self, row_num, col_num, LXW_FALSE, LXW_FALSE);
    if (err)
        return err;

    /* Strip leading "=" from formula. */
    if (formula[0] == '=')
        formula_copy = lxw_strdup(formula + 1);
    else
        formula_copy = lxw_strdup(formula);

    cell = _new_formula_cell(row_num, col_num, formula_copy, format);
    cell->user_data2 = lxw_strdup(result);

    _insert_cell(self, row_num, col_num, cell);

    return LXW_NO_ERROR;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movw %dx, %ax
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movw %ax, -0x16(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x50505
movl $0xc, -0x4(%rbp)
jmp 0x505a5
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
xorl %r8d, %r8d
movzwl -0x16(%rbp), %edx
movl %r8d, %ecx
callq 0x4ff90
movl %eax, -0x44(%rbp)
cmpl $0x0, -0x44(%rbp)
je 0x5052c
movl -0x44(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x505a5
movq -0x20(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3d, %eax
jne 0x5054b
movq -0x20(%rbp), %rdi
addq $0x1, %rdi
callq 0xcd80
movq %rax, -0x40(%rbp)
jmp 0x50558
movq -0x20(%rbp), %rdi
callq 0xcd80
movq %rax, -0x40(%rbp)
movl -0x14(%rbp), %edi
movw -0x16(%rbp), %ax
movq -0x40(%rbp), %rdx
movq -0x28(%rbp), %rcx
movzwl %ax, %esi
callq 0x50420
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rdi
callq 0xcd80
movq %rax, %rcx
movq -0x38(%rbp), %rax
movq %rcx, 0x38(%rax)
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
movw -0x16(%rbp), %ax
movq -0x38(%rbp), %rcx
movzwl %ax, %edx
callq 0x50170
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: new_array_formula_cell
STATIC lxw_cell *
_new_array_formula_cell(lxw_row_t row_num, lxw_col_t col_num, char *formula,
                        char *range, lxw_format *format, uint8_t is_dynamic)
{
    lxw_cell *cell = calloc(1, sizeof(lxw_cell));
    RETURN_ON_MEM_ERROR(cell, cell);

    cell->row_num = row_num;
    cell->col_num = col_num;
    cell->format = format;
    cell->u.string = formula;
    cell->user_data1 = range;

    if (is_dynamic)
        cell->type = DYNAMIC_ARRAY_FORMULA_CELL;
    else
        cell->type = ARRAY_FORMULA_CELL;

    return cell;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movb %r9b, %al
movl %edi, -0xc(%rbp)
movw %si, -0xe(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movb %al, -0x29(%rbp)
movl $0x1, %edi
movl $0x68, %esi
callq 0xc870
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
jne 0x508f9
movq 0x2c726(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x157f4(%rip), %rsi     # 0x660d0
leaq 0x1bb11(%rip), %rdx     # 0x6c3f4
movl $0x3ad, %ecx            # imm = 0x3AD
movb $0x0, %al
callq 0xc8f0
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x5095a
jmp 0x508fb
movl -0xc(%rbp), %ecx
movq -0x38(%rbp), %rax
movl %ecx, (%rax)
movw -0xe(%rbp), %cx
movq -0x38(%rbp), %rax
movw %cx, 0x4(%rax)
movq -0x28(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x18(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x20(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, 0x30(%rax)
cmpb $0x0, -0x29(%rbp)
je 0x50947
movq -0x38(%rbp), %rax
movl $0x7, 0x8(%rax)
jmp 0x50952
movq -0x38(%rbp), %rax
movl $0x6, 0x8(%rax)
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: new_blank_cell
STATIC lxw_cell *
_new_blank_cell(lxw_row_t row_num, lxw_col_t col_num, lxw_format *format)
{
    lxw_cell *cell = calloc(1, sizeof(lxw_cell));
    RETURN_ON_MEM_ERROR(cell, cell);

    cell->row_num = row_num;
    cell->col_num = col_num;
    cell->type = BLANK_CELL;
    cell->format = format;

    return cell;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movw %si, %ax
movl %edi, -0xc(%rbp)
movw %ax, -0xe(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x1, %edi
movl $0x68, %esi
callq 0xc870
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x50c5e
movq 0x2c3c1(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x1548f(%rip), %rsi     # 0x660d0
leaq 0x1b7ac(%rip), %rdx     # 0x6c3f4
movl $0x3c4, %ecx            # imm = 0x3C4
movb $0x0, %al
callq 0xc8f0
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x50c94
jmp 0x50c60
movl -0xc(%rbp), %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
movw -0xe(%rbp), %cx
movq -0x20(%rbp), %rax
movw %cx, 0x4(%rax)
movq -0x20(%rbp), %rax
movl $0x8, 0x8(%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: worksheet_write_boolean
lxw_error
worksheet_write_boolean(lxw_worksheet *self,
                        lxw_row_t row_num, lxw_col_t col_num,
                        int value, lxw_format *format)
{
    lxw_cell *cell;
    lxw_error err;

    err = _check_dimensions(self, row_num, col_num, LXW_FALSE, LXW_FALSE);
    if (err)
        return err;

    cell = _new_boolean_cell(row_num, col_num, value, format);

    _insert_cell(self, row_num, col_num, cell);

    return LXW_NO_ERROR;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movw %dx, %ax
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movw %ax, -0x16(%rbp)
movl %ecx, -0x1c(%rbp)
movq %r8, -0x28(%rbp)
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
xorl %r8d, %r8d
movzwl -0x16(%rbp), %edx
movl %r8d, %ecx
callq 0x4ff90
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x50ce4
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x50d1c
movl -0x14(%rbp), %edi
movw -0x16(%rbp), %ax
movl -0x1c(%rbp), %edx
movq -0x28(%rbp), %rcx
movzwl %ax, %esi
callq 0x50d30
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
movw -0x16(%rbp), %ax
movq -0x30(%rbp), %rcx
movzwl %ax, %edx
callq 0x50170
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: new_boolean_cell
STATIC lxw_cell *
_new_boolean_cell(lxw_row_t row_num, lxw_col_t col_num, int value,
                  lxw_format *format)
{
    lxw_cell *cell = calloc(1, sizeof(lxw_cell));
    RETURN_ON_MEM_ERROR(cell, cell);

    cell->row_num = row_num;
    cell->col_num = col_num;
    cell->type = BOOLEAN_CELL;
    cell->format = format;
    cell->u.number = value;

    return cell;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movw %si, %ax
movl %edi, -0xc(%rbp)
movw %ax, -0xe(%rbp)
movl %edx, -0x14(%rbp)
movq %rcx, -0x20(%rbp)
movl $0x1, %edi
movl $0x68, %esi
callq 0xc870
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x50d91
movq 0x2c28e(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x1535c(%rip), %rsi     # 0x660d0
leaq 0x1b679(%rip), %rdx     # 0x6c3f4
movl $0x3d6, %ecx            # imm = 0x3D6
movb $0x0, %al
callq 0xc8f0
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x50dd5
jmp 0x50d93
movl -0xc(%rbp), %ecx
movq -0x28(%rbp), %rax
movl %ecx, (%rax)
movw -0xe(%rbp), %cx
movq -0x28(%rbp), %rax
movw %cx, 0x4(%rax)
movq -0x28(%rbp), %rax
movl $0x9, 0x8(%rax)
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x10(%rax)
cvtsi2sdl -0x14(%rbp), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: worksheet_write_datetime
lxw_error
worksheet_write_datetime(lxw_worksheet *self,
                         lxw_row_t row_num,
                         lxw_col_t col_num, lxw_datetime *datetime,
                         lxw_format *format)
{
    lxw_cell *cell;
    double excel_date;
    lxw_error err;

    err = _check_dimensions(self, row_num, col_num, LXW_FALSE, LXW_FALSE);
    if (err)
        return err;

    excel_date = lxw_datetime_to_excel_date_epoch(datetime, LXW_EPOCH_1900);

    cell = _new_number_cell(row_num, col_num, excel_date, format);

    _insert_cell(self, row_num, col_num, cell);

    return LXW_NO_ERROR;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movw %dx, %ax
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movw %ax, -0x16(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
xorl %r8d, %r8d
movzwl -0x16(%rbp), %edx
movl %r8d, %ecx
callq 0x4ff90
movl %eax, -0x3c(%rbp)
cmpl $0x0, -0x3c(%rbp)
je 0x50e25
movl -0x3c(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x50e6f
movq -0x20(%rbp), %rdi
xorl %esi, %esi
callq 0xcce0
movsd %xmm0, -0x38(%rbp)
movl -0x14(%rbp), %edi
movw -0x16(%rbp), %ax
movsd -0x38(%rbp), %xmm0
movq -0x28(%rbp), %rdx
movzwl %ax, %esi
callq 0x500b0
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
movw -0x16(%rbp), %ax
movq -0x30(%rbp), %rcx
movzwl %ax, %edx
callq 0x50170
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: new_hyperlink_cell
STATIC lxw_cell *
_new_hyperlink_cell(lxw_row_t row_num, lxw_col_t col_num,
                    enum cell_types link_type, char *url, char *string,
                    char *tooltip)
{
    lxw_cell *cell = calloc(1, sizeof(lxw_cell));
    RETURN_ON_MEM_ERROR(cell, cell);

    cell->row_num = row_num;
    cell->col_num = col_num;
    cell->type = link_type;
    cell->u.string = url;
    cell->user_data1 = string;
    cell->user_data2 = tooltip;

    return cell;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movw %si, %ax
movl %edi, -0xc(%rbp)
movw %ax, -0xe(%rbp)
movl %edx, -0x14(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movl $0x1, %edi
movl $0x68, %esi
callq 0xc870
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
jne 0x51739
movq 0x2b8e6(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x149b4(%rip), %rsi     # 0x660d0
leaq 0x1acd1(%rip), %rdx     # 0x6c3f4
movl $0x3fc, %ecx            # imm = 0x3FC
movb $0x0, %al
callq 0xc8f0
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x51786
jmp 0x5173b
movl -0xc(%rbp), %ecx
movq -0x38(%rbp), %rax
movl %ecx, (%rax)
movw -0xe(%rbp), %cx
movq -0x38(%rbp), %rax
movw %cx, 0x4(%rax)
movl -0x14(%rbp), %ecx
movq -0x38(%rbp), %rax
movl %ecx, 0x8(%rax)
movq -0x20(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x28(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, 0x30(%rax)
movq -0x30(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, 0x38(%rax)
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: new_inline_rich_string_cell
STATIC lxw_cell *
_new_inline_rich_string_cell(lxw_row_t row_num,
                             lxw_col_t col_num, const char *string,
                             lxw_format *format)
{
    lxw_cell *cell = calloc(1, sizeof(lxw_cell));
    RETURN_ON_MEM_ERROR(cell, cell);

    cell->row_num = row_num;
    cell->col_num = col_num;
    cell->type = INLINE_RICH_STRING_CELL;
    cell->format = format;
    cell->u.string = string;

    return cell;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movw %si, %ax
movl %edi, -0xc(%rbp)
movw %ax, -0xe(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl $0x1, %edi
movl $0x68, %esi
callq 0xc870
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x51cb2
movq 0x2b36d(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x1443b(%rip), %rsi     # 0x660d0
leaq 0x1a758(%rip), %rdx     # 0x6c3f4
movl $0x387, %ecx            # imm = 0x387
movb $0x0, %al
callq 0xc8f0
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x51cf4
jmp 0x51cb4
movl -0xc(%rbp), %ecx
movq -0x28(%rbp), %rax
movl %ecx, (%rax)
movw -0xe(%rbp), %cx
movq -0x28(%rbp), %rax
movw %cx, 0x4(%rax)
movq -0x28(%rbp), %rax
movl $0x4, 0x8(%rax)
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x18(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: new_comment_cell
STATIC lxw_cell *
_new_comment_cell(lxw_row_t row_num, lxw_col_t col_num,
                  lxw_vml_obj *comment_obj)
{
    lxw_cell *cell = calloc(1, sizeof(lxw_cell));
    RETURN_ON_MEM_ERROR(cell, cell);

    cell->row_num = row_num;
    cell->col_num = col_num;
    cell->type = COMMENT;
    cell->comment = comment_obj;

    return cell;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movw %si, %ax
movl %edi, -0xc(%rbp)
movw %ax, -0xe(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x1, %edi
movl $0x68, %esi
callq 0xc870
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x51f3e
movq 0x2b0e1(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x141af(%rip), %rsi     # 0x660d0
leaq 0x1a4cc(%rip), %rdx     # 0x6c3f4
movl $0x3e9, %ecx            # imm = 0x3E9
movb $0x0, %al
callq 0xc8f0
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x51f74
jmp 0x51f40
movl -0xc(%rbp), %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
movw -0xe(%rbp), %cx
movq -0x20(%rbp), %rax
movw %cx, 0x4(%rax)
movq -0x20(%rbp), %rax
movl $0xa, 0x8(%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: insert_cell_placeholder
STATIC void
_insert_cell_placeholder(lxw_worksheet *self, lxw_row_t row_num,
                         lxw_col_t col_num)
{
    lxw_row *row;
    lxw_cell *cell;

    /* The spans calculation isn't required in constant_memory mode. */
    if (self->optimize)
        return;

    cell = _new_blank_cell(row_num, col_num, NULL);
    if (!cell)
        return;

    /* Only add a cell if one doesn't already exist. */
    row = _get_row(self, row_num);
    if (!RB_FIND(lxw_table_cells, row->cells, cell)) {
        _insert_cell_list(row->cells, cell, col_num);
    }
    else {
        _free_cell(cell);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movw %dx, %ax
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movw %ax, -0xe(%rbp)
movq -0x8(%rbp), %rax
cmpb $0x0, 0x11c(%rax)
je 0x51ff5
jmp 0x52059
movl -0xc(%rbp), %edi
xorl %eax, %eax
movl %eax, %edx
movzwl -0xe(%rbp), %esi
callq 0x50c00
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x52012
jmp 0x52059
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x52800
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rdi
movq -0x20(%rbp), %rsi
callq 0x44410
cmpq $0x0, %rax
jne 0x52050
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rdi
movq -0x20(%rbp), %rsi
movzwl -0xe(%rbp), %edx
callq 0x63950
jmp 0x52059
movq -0x20(%rbp), %rdi
callq 0x47410
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: next_power_of_two
STATIC lxw_col_t
_next_power_of_two(uint16_t col)
{
    col--;
    col |= col >> 1;
    col |= col >> 2;
    col |= col >> 4;
    col |= col >> 8;
    col++;

    return col;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movw %di, %ax
movw %ax, -0x2(%rbp)
movw -0x2(%rbp), %ax
addw $-0x1, %ax
movw %ax, -0x2(%rbp)
movzwl -0x2(%rbp), %ecx
sarl %ecx
movzwl -0x2(%rbp), %eax
orl %ecx, %eax
movw %ax, -0x2(%rbp)
movzwl -0x2(%rbp), %ecx
sarl $0x2, %ecx
movzwl -0x2(%rbp), %eax
orl %ecx, %eax
movw %ax, -0x2(%rbp)
movzwl -0x2(%rbp), %ecx
sarl $0x4, %ecx
movzwl -0x2(%rbp), %eax
orl %ecx, %eax
movw %ax, -0x2(%rbp)
movzwl -0x2(%rbp), %ecx
sarl $0x8, %ecx
movzwl -0x2(%rbp), %eax
orl %ecx, %eax
movw %ax, -0x2(%rbp)
movw -0x2(%rbp), %ax
addw $0x1, %ax
movw %ax, -0x2(%rbp)
movw -0x2(%rbp), %ax
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: pixels_to_width
STATIC double
_pixels_to_width(double pixels)
{
    double max_digit_width = 7.0;
    double padding = 5.0;
    double width;

    if (pixels == LXW_DEF_COL_WIDTH_PIXELS)
        width = LXW_DEF_COL_WIDTH;
    else if (pixels <= 12.0)
        width = pixels / (max_digit_width + padding);
    else
        width = (pixels - padding) / max_digit_width;

    return width;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movsd %xmm0, -0x8(%rbp)
movsd 0x19d67(%rip), %xmm0    # 0x6c308
movsd %xmm0, -0x10(%rbp)
movsd 0x19d52(%rip), %xmm0    # 0x6c300
movsd %xmm0, -0x18(%rbp)
movsd -0x8(%rbp), %xmm0
movsd 0x19d38(%rip), %xmm1    # 0x6c2f8
ucomisd %xmm1, %xmm0
jne 0x525d7
jp 0x525d7
movsd 0x19d20(%rip), %xmm0    # 0x6c2f0
movsd %xmm0, -0x20(%rbp)
jmp 0x52616
movsd 0x19d31(%rip), %xmm0    # 0x6c310
ucomisd -0x8(%rbp), %xmm0
jb 0x52600
movsd -0x8(%rbp), %xmm0
movsd -0x10(%rbp), %xmm1
addsd -0x18(%rbp), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
jmp 0x52614
movsd -0x8(%rbp), %xmm0
subsd -0x18(%rbp), %xmm0
divsd -0x10(%rbp), %xmm0
movsd %xmm0, -0x20(%rbp)
jmp 0x52616
movsd -0x20(%rbp), %xmm0
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: get_row
STATIC lxw_row *
_get_row(lxw_worksheet *self, lxw_row_t row_num)
{
    lxw_row *row;

    if (!self->optimize) {
        row = _get_row_list(self->table, row_num);
        return row;
    }
    else {
        if (row_num < self->optimize_row->row_num) {
            return NULL;
        }
        else if (row_num == self->optimize_row->row_num) {
            return self->optimize_row;
        }
        else {
            /* Flush row. */
            lxw_worksheet_write_single_row(self);
            row = self->optimize_row;
            row->row_num = row_num;
            return row;
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq -0x10(%rbp), %rax
cmpb $0x0, 0x11c(%rax)
jne 0x5283a
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rdi
movl -0x14(%rbp), %esi
callq 0x63f60
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x528a2
movl -0x14(%rbp), %eax
movq -0x10(%rbp), %rcx
movq 0x120(%rcx), %rcx
cmpl (%rcx), %eax
jae 0x52856
movq $0x0, -0x8(%rbp)
jmp 0x528a2
movl -0x14(%rbp), %eax
movq -0x10(%rbp), %rcx
movq 0x120(%rcx), %rcx
cmpl (%rcx), %eax
jne 0x52879
movq -0x10(%rbp), %rax
movq 0x120(%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0x528a2
movq -0x10(%rbp), %rdi
callq 0xc3f0
movq -0x10(%rbp), %rax
movq 0x120(%rax), %rax
movq %rax, -0x20(%rbp)
movl -0x14(%rbp), %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: free_filter_rule
STATIC void
_free_filter_rule(lxw_filter_rule_obj *rule_obj)
{
    uint16_t i;

    if (!rule_obj)
        return;

    free(rule_obj->value1_string);
    free(rule_obj->value2_string);

    if (rule_obj->list) {
        for (i = 0; i < rule_obj->num_list_filters; i++)
            free(rule_obj->list[i]);

        free(rule_obj->list);
    }

    free(rule_obj);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x52fb5
jmp 0x53029
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x30(%rax)
je 0x53020
movw $0x0, -0xa(%rbp)
movzwl -0xa(%rbp), %eax
movq -0x8(%rbp), %rcx
movzwl 0x28(%rcx), %ecx
cmpl %ecx, %eax
jge 0x53013
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rax
movzwl -0xa(%rbp), %ecx
movq (%rax,%rcx,8), %rdi
callq 0xc0d0
movw -0xa(%rbp), %ax
addw $0x1, %ax
movw %ax, -0xa(%rbp)
jmp 0x52fe0
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rdi
callq 0xc0d0
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: worksheet_activate
void
worksheet_activate(lxw_worksheet *self)
{
    self->selected = LXW_TRUE;
    self->active = LXW_TRUE;

    /* Active worksheet can't be hidden. */
    self->hidden = LXW_FALSE;

    *self->active_sheet = self->index;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movb $0x1, 0xd3(%rax)
movq -0x8(%rbp), %rax
movb $0x1, 0xd2(%rax)
movq -0x8(%rbp), %rax
movb $0x0, 0xd4(%rax)
movq -0x8(%rbp), %rax
movw 0xd0(%rax), %cx
movq -0x8(%rbp), %rax
movq 0xd8(%rax), %rax
movw %cx, (%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: worksheet_freeze_panes_opt
void
worksheet_freeze_panes_opt(lxw_worksheet *self,
                           lxw_row_t first_row, lxw_col_t first_col,
                           lxw_row_t top_row, lxw_col_t left_col,
                           uint8_t type)
{
    self->panes.first_row = first_row;
    self->panes.first_col = first_col;
    self->panes.top_row = top_row;
    self->panes.left_col = left_col;
    self->panes.x_split = 0.0;
    self->panes.y_split = 0.0;

    if (type)
        self->panes.type = FREEZE_SPLIT_PANES;
    else
        self->panes.type = FREEZE_PANES;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %r8d, -0x28(%rbp)
movl %ecx, %eax
movl -0x28(%rbp), %ecx
movl %eax, -0x24(%rbp)
movl %edx, %eax
movl -0x24(%rbp), %edx
movl %eax, -0x20(%rbp)
movl %esi, %eax
movl -0x20(%rbp), %esi
movl %eax, -0x1c(%rbp)
movq %rdi, %r8
movl -0x1c(%rbp), %edi
movb %r9b, %al
movq %r8, -0x8(%rbp)
movl %edi, -0xc(%rbp)
movw %si, -0xe(%rbp)
movl %edx, -0x14(%rbp)
movw %cx, -0x16(%rbp)
movb %al, -0x17(%rbp)
movl -0xc(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x244(%rax)
movw -0xe(%rbp), %cx
movq -0x8(%rbp), %rax
movw %cx, 0x248(%rax)
movl -0x14(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x24c(%rax)
movw -0x16(%rbp), %cx
movq -0x8(%rbp), %rax
movw %cx, 0x250(%rax)
movq -0x8(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x258(%rax)
movq -0x8(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x260(%rax)
cmpb $0x0, -0x17(%rbp)
je 0x53de7
movq -0x8(%rbp), %rax
movb $0x3, 0x240(%rax)
jmp 0x53df2
movq -0x8(%rbp), %rax
movb $0x1, 0x240(%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: worksheet_split_panes_opt
void
worksheet_split_panes_opt(lxw_worksheet *self,
                          double y_split, double x_split,
                          lxw_row_t top_row, lxw_col_t left_col)
{
    self->panes.first_row = 0;
    self->panes.first_col = 0;
    self->panes.top_row = top_row;
    self->panes.left_col = left_col;
    self->panes.x_split = x_split;
    self->panes.y_split = y_split;
    self->panes.type = SPLIT_PANES;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movw %dx, %ax
movq %rdi, -0x8(%rbp)
movsd %xmm0, -0x10(%rbp)
movsd %xmm1, -0x18(%rbp)
movl %esi, -0x1c(%rbp)
movw %ax, -0x1e(%rbp)
movq -0x8(%rbp), %rax
movl $0x0, 0x244(%rax)
movq -0x8(%rbp), %rax
movw $0x0, 0x248(%rax)
movl -0x1c(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x24c(%rax)
movw -0x1e(%rbp), %cx
movq -0x8(%rbp), %rax
movw %cx, 0x250(%rax)
movsd -0x18(%rbp), %xmm0
movq -0x8(%rbp), %rax
movsd %xmm0, 0x258(%rax)
movsd -0x10(%rbp), %xmm0
movq -0x8(%rbp), %rax
movsd %xmm0, 0x260(%rax)
movq -0x8(%rbp), %rax
movb $0x2, 0x240(%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: worksheet_set_margins
void
worksheet_set_margins(lxw_worksheet *self, double left, double right,
                      double top, double bottom)
{

    if (left >= 0)
        self->margin_left = left;

    if (right >= 0)
        self->margin_right = right;

    if (top >= 0)
        self->margin_top = top;

    if (bottom >= 0)
        self->margin_bottom = bottom;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movsd %xmm0, -0x10(%rbp)
movsd %xmm1, -0x18(%rbp)
movsd %xmm2, -0x20(%rbp)
movsd %xmm3, -0x28(%rbp)
movsd -0x10(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x53ffb
movsd -0x10(%rbp), %xmm0
movq -0x8(%rbp), %rax
movsd %xmm0, 0x168(%rax)
movsd -0x18(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x5401a
movsd -0x18(%rbp), %xmm0
movq -0x8(%rbp), %rax
movsd %xmm0, 0x170(%rax)
movsd -0x20(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x54039
movsd -0x20(%rbp), %xmm0
movq -0x8(%rbp), %rax
movsd %xmm0, 0x178(%rax)
movsd -0x28(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x54058
movsd -0x28(%rbp), %xmm0
movq -0x8(%rbp), %rax
movsd %xmm0, 0x180(%rax)
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: worksheet_gridlines
void
worksheet_gridlines(lxw_worksheet *self, uint8_t option)
{
    if (option == LXW_HIDE_ALL_GRIDLINES) {
        self->print_gridlines = 0;
        self->screen_gridlines = 0;
    }

    if (option & LXW_SHOW_SCREEN_GRIDLINES) {
        self->screen_gridlines = 1;
    }

    if (option & LXW_SHOW_PRINT_GRIDLINES) {
        self->print_gridlines = 1;
        self->print_options_changed = 1;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movb %sil, %al
movq %rdi, -0x8(%rbp)
movb %al, -0x9(%rbp)
movzbl -0x9(%rbp), %eax
cmpl $0x0, %eax
jne 0x547ad
movq -0x8(%rbp), %rax
movb $0x0, 0x147(%rax)
movq -0x8(%rbp), %rax
movb $0x0, 0x14b(%rax)
movzbl -0x9(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x547c4
movq -0x8(%rbp), %rax
movb $0x1, 0x14b(%rax)
movzbl -0x9(%rbp), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x547e6
movq -0x8(%rbp), %rax
movb $0x1, 0x147(%rax)
movq -0x8(%rbp), %rax
movb $0x1, 0x149(%rax)
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: worksheet_repeat_rows
lxw_error
worksheet_repeat_rows(lxw_worksheet *self, lxw_row_t first_row,
                      lxw_row_t last_row)
{
    lxw_row_t tmp_row;
    lxw_error err;

    if (first_row > last_row) {
        tmp_row = last_row;
        last_row = first_row;
        first_row = tmp_row;
    }

    err = _check_dimensions(self, last_row, 0, LXW_IGNORE, LXW_IGNORE);
    if (err)
        return err;

    self->repeat_rows.in_use = LXW_TRUE;
    self->repeat_rows.first_row = first_row;
    self->repeat_rows.last_row = last_row;

    return LXW_NO_ERROR;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movl %edx, -0x18(%rbp)
movl -0x14(%rbp), %eax
cmpl -0x18(%rbp), %eax
jbe 0x5487c
movl -0x18(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x18(%rbp)
movl -0x1c(%rbp), %eax
movl %eax, -0x14(%rbp)
movq -0x10(%rbp), %rdi
movl -0x18(%rbp), %esi
xorl %edx, %edx
movl $0x1, %r8d
movl %r8d, %ecx
callq 0x4ff90
movl %eax, -0x20(%rbp)
cmpl $0x0, -0x20(%rbp)
je 0x548a4
movl -0x20(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x548d0
movq -0x10(%rbp), %rax
movb $0x1, 0x1c0(%rax)
movl -0x14(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x1c4(%rax)
movl -0x18(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x1c8(%rax)
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)