LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/chartsheet.c
// Function: chartsheet_hide
void
chartsheet_hide(lxw_chartsheet *self)
{
    self->hidden = LXW_TRUE;

    /* A hidden worksheet shouldn't be active or selected. */
    self->selected = LXW_FALSE;

    /* If this is active_sheet or first_sheet reset the workbook value. */
    if (*self->first_sheet == self->index)
        *self->first_sheet = 0;

    if (*self->active_sheet == self->index)
        *self->active_sheet = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movb $0x1, 0x54(%rax)
movq -0x8(%rbp), %rax
movb $0x0, 0x53(%rax)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movzwl (%rax), %eax
movq -0x8(%rbp), %rcx
movzwl 0x50(%rcx), %ecx
cmpl %ecx, %eax
jne 0x241ec
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movw $0x0, (%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movzwl (%rax), %eax
movq -0x8(%rbp), %rcx
movzwl 0x50(%rcx), %ecx
cmpl %ecx, %eax
jne 0x24210
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movw $0x0, (%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/chartsheet.c
// Function: chartsheet_protect
void
chartsheet_protect(lxw_chartsheet *self, const char *password,
                   lxw_protection *options)
{
    struct lxw_protection_obj *protect = &self->protection;

    /* Copy any user parameters to the internal structure. */
    if (options) {
        protect->objects = options->no_objects;
        protect->no_content = options->no_content;
    }
    else {
        protect->objects = LXW_FALSE;
        protect->no_content = LXW_FALSE;
    }

    if (password) {
        uint16_t hash = lxw_hash_password(password);
        lxw_snprintf(protect->hash, 5, "%X", hash);
    }
    else {
        if (protect->objects && protect->no_content)
            return;
    }

    protect->no_sheet = LXW_TRUE;
    protect->scenarios = LXW_TRUE;
    protect->is_configured = LXW_TRUE;

    if (self->chart)
        self->chart->is_protected = LXW_TRUE;
    else
        self->is_protected = LXW_TRUE;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x24285
movq -0x18(%rbp), %rax
movb 0x10(%rax), %cl
movq -0x20(%rbp), %rax
movb %cl, 0xe(%rax)
movq -0x18(%rbp), %rax
movb 0xf(%rax), %cl
movq -0x20(%rbp), %rax
movb %cl, 0xf(%rax)
jmp 0x24295
movq -0x20(%rbp), %rax
movb $0x0, 0xe(%rax)
movq -0x20(%rbp), %rax
movb $0x0, 0xf(%rax)
cmpq $0x0, -0x10(%rbp)
je 0x242ca
movq -0x10(%rbp), %rdi
callq 0xc8c0
movw %ax, -0x22(%rbp)
movq -0x20(%rbp), %rdi
addq $0x13, %rdi
movzwl -0x22(%rbp), %ecx
movl $0x5, %esi
leaq 0x43932(%rip), %rdx     # 0x67bf3
movb $0x0, %al
callq 0xc5d0
jmp 0x242e8
movq -0x20(%rbp), %rax
movzbl 0xe(%rax), %eax
cmpl $0x0, %eax
je 0x242e6
movq -0x20(%rbp), %rax
movzbl 0xf(%rax), %eax
cmpl $0x0, %eax
je 0x242e6
jmp 0x24324
jmp 0x242e8
movq -0x20(%rbp), %rax
movb $0x1, 0x11(%rax)
movq -0x20(%rbp), %rax
movb $0x1, 0xd(%rax)
movq -0x20(%rbp), %rax
movb $0x1, 0x12(%rax)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x2431c
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movb $0x1, 0x169(%rax)
jmp 0x24324
movq -0x8(%rbp), %rax
movb $0x1, 0x30(%rax)
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/chartsheet.c
// Function: chartsheet_set_zoom
void
chartsheet_set_zoom(lxw_chartsheet *self, uint16_t scale)
{
    /* Confine the scale to Excel"s range */
    if (scale < 10 || scale > 400) {
        LXW_WARN("chartsheet_set_zoom(): "
                 "Zoom factor scale outside range: 10 <= zoom <= 400.");
        return;
    }

    self->worksheet->zoom = scale;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movw %si, %ax
movq %rdi, -0x8(%rbp)
movw %ax, -0xa(%rbp)
movzwl -0xa(%rbp), %eax
cmpl $0xa, %eax
jl 0x24357
movzwl -0xa(%rbp), %eax
cmpl $0x190, %eax            # imm = 0x190
jle 0x24371
movq 0x58c9a(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x4388e(%rip), %rsi     # 0x67bf6
movb $0x0, %al
callq 0xc8f0
jmp 0x24384
movw -0xa(%rbp), %cx
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movw %cx, 0x138(%rax)
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/comment.c
// Function: lxw_comment_new
lxw_comment *
lxw_comment_new(void)
{
    lxw_comment *comment = calloc(1, sizeof(lxw_comment));
    GOTO_LABEL_ON_MEM_ERROR(comment, mem_error);

    comment->author_ids = calloc(1, sizeof(struct lxw_author_ids));
    GOTO_LABEL_ON_MEM_ERROR(comment->author_ids, mem_error);
    RB_INIT(comment->author_ids);

    return comment;

mem_error:
    lxw_comment_free(comment);
    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl $0x1, %edi
movl $0x28, %esi
callq 0xc870
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x24558
movq 0x58abf(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x41b8d(%rip), %rsi     # 0x660d0
leaq 0x43740(%rip), %rdx     # 0x67c8a
movl $0x6b, %ecx
movb $0x0, %al
callq 0xc8f0
jmp 0x245c2
jmp 0x2455a
movl $0x1, %edi
movl $0x8, %esi
callq 0xc870
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x245a5
movq 0x58a72(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x41b40(%rip), %rsi     # 0x660d0
leaq 0x436f3(%rip), %rdx     # 0x67c8a
movl $0x6e, %ecx
movb $0x0, %al
callq 0xc8f0
jmp 0x245c2
jmp 0x245a7
jmp 0x245a9
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq $0x0, (%rax)
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x245d3
movq -0x10(%rbp), %rdi
callq 0xc2f0
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/comment.c
// Function: lxw_comment_free
void
lxw_comment_free(lxw_comment *comment)
{
    struct lxw_author_id *author_id;
    struct lxw_author_id *next_author_id;

    if (!comment)
        return;

    if (comment->author_ids) {
        for (author_id =
             RB_MIN(lxw_author_ids, comment->author_ids);
             author_id; author_id = next_author_id) {

            next_author_id =
                RB_NEXT(lxw_author_ids, worksheet->author_id, author_id);
            RB_REMOVE(lxw_author_ids, comment->author_ids, author_id);
            free(author_id->author);
            free(author_id);
        }

        free(comment->author_ids);
    }

    free(comment);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x245f5
jmp 0x24671
movq -0x8(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x24668
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x24680
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x2465b
movq -0x10(%rbp), %rdi
callq 0x246e0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x247a0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xc0d0
movq -0x10(%rbp), %rdi
callq 0xc0d0
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x24616
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rdi
callq 0xc0d0
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/comment.c
// Function: lxw_comment_assemble_xml_file
void
lxw_comment_assemble_xml_file(lxw_comment *self)
{
    /* Write the XML declaration. */
    _comment_xml_declaration(self);

    /* Write the comments element. */
    _comment_write_comments(self);

    /* Write the authors element. */
    _comment_write_authors(self);

    /* Write the commentList element. */
    _comment_write_comment_list(self);

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x24a50
movq -0x8(%rbp), %rdi
callq 0x24a70
movq -0x8(%rbp), %rdi
callq 0x24b50
movq -0x8(%rbp), %rdi
callq 0x24c50
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x47fa6(%rip), %rsi     # 0x6c9e4
callq 0xc060
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/comment.c
// Function: comment_write_comments
STATIC void
_comment_write_comments(lxw_comment *self)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;
    char xmlns[] =
        "http://schemas.openxmlformats.org/spreadsheetml/2006/main";

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_STR("xmlns", xmlns);

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

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
leaq -0x60(%rbp), %rdi
leaq 0x431c9(%rip), %rsi     # 0x67c50
movl $0x3a, %edx
callq 0xc980
movq $0x0, -0x18(%rbp)
leaq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x24aa3
leaq -0x60(%rbp), %rsi
leaq 0x41653(%rip), %rdi     # 0x66101
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 0x24ae1
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x47ef5(%rip), %rsi     # 0x6c9e4
leaq -0x18(%rbp), %rdx
callq 0xc390
jmp 0x24afa
cmpq $0x0, -0x18(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x24b0a
jmp 0x24b3c
movq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
jne 0x24b2f
leaq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x24b31
movq -0x20(%rbp), %rdi
callq 0xc0d0
jmp 0x24afa
jmp 0x24b3e
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/comment.c
// Function: comment_write_authors
STATIC void
_comment_write_authors(lxw_comment *self)
{
    lxw_vml_obj *comment_obj;
    char *author;

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

    /* Set the default author (from worksheet_set_comments_author()). */
    if (self->comment_author) {
        _get_author_index(self, self->comment_author);
        _comment_write_author(self, self->comment_author);
    }
    else {
        _get_author_index(self, "");
        _comment_write_author(self, "");
    }

    STAILQ_FOREACH(comment_obj, self->comment_objs, list_pointers) {
        author = comment_obj->author;

        if (author) {

            if (!_check_author(self, author))
                _comment_write_author(self, author);

            comment_obj->author_id = _get_author_index(self, author);
        }
    }

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x4312a(%rip), %rsi     # 0x67c94
xorl %eax, %eax
movl %eax, %edx
callq 0xc390
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x24ba2
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rsi
callq 0x253f0
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rsi
callq 0x254d0
jmp 0x24bc2
movq -0x8(%rbp), %rdi
leaq 0x4a706(%rip), %rsi     # 0x6f2b3
callq 0x253f0
movq -0x8(%rbp), %rdi
leaq 0x4a6f6(%rip), %rsi     # 0x6f2b3
callq 0x254d0
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x24c35
movq -0x10(%rbp), %rax
movq 0x88(%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x24c22
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x25510
cmpb $0x0, %al
jne 0x24c0c
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x254d0
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x253f0
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x48(%rax)
jmp 0x24c24
movq -0x10(%rbp), %rax
movq 0xb8(%rax), %rax
movq %rax, -0x10(%rbp)
jmp 0x24bd1
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x43051(%rip), %rsi     # 0x67c94
callq 0xc060
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/comment.c
// Function: comment_write_comment_list
STATIC void
_comment_write_comment_list(lxw_comment *self)
{
    lxw_vml_obj *comment_obj;

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

    STAILQ_FOREACH(comment_obj, self->comment_objs, list_pointers) {
        /* Write the comment element. */
        _comment_write_comment(self, comment_obj);
    }

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

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x43039(%rip), %rsi     # 0x67ca3
xorl %eax, %eax
movl %eax, %edx
callq 0xc390
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x24ca7
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x25bc0
movq -0x10(%rbp), %rax
movq 0xb8(%rax), %rax
movq %rax, -0x10(%rbp)
jmp 0x24c82
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x42fee(%rip), %rsi     # 0x67ca3
callq 0xc060
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/comment.c
// Function: get_author_index
STATIC uint32_t
_get_author_index(lxw_comment *self, char *author)
{
    lxw_author_id tmp_author_id;
    lxw_author_id *existing_author = NULL;
    lxw_author_id *new_author_id = NULL;

    if (!author)
        return 0;

    tmp_author_id.author = author;
    existing_author = RB_FIND(lxw_author_ids,
                              self->author_ids, &tmp_author_id);

    if (existing_author) {
        return existing_author->id;
    }
    else {
        new_author_id = calloc(1, sizeof(lxw_author_id));

        if (new_author_id) {
            new_author_id->id = self->author_id;
            new_author_id->author = lxw_strdup(author);
            self->author_id++;

            RB_INSERT(lxw_author_ids, self->author_ids, new_author_id);

            return new_author_id->id;
        }
        else {
            return 0;
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq $0x0, -0x50(%rbp)
movq $0x0, -0x58(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x25423
movl $0x0, -0x4(%rbp)
jmp 0x254bd
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
leaq -0x48(%rbp), %rsi
callq 0x25570
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x50(%rbp)
je 0x25452
movq -0x50(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x254bd
movl $0x1, %edi
movl $0x30, %esi
callq 0xc870
movq %rax, -0x58(%rbp)
cmpq $0x0, -0x58(%rbp)
je 0x254b6
movq -0x10(%rbp), %rax
movl 0x20(%rax), %ecx
movq -0x58(%rbp), %rax
movl %ecx, (%rax)
movq -0x18(%rbp), %rdi
callq 0xcd80
movq %rax, %rcx
movq -0x58(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x10(%rbp), %rax
movl 0x20(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x20(%rax)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x58(%rbp), %rsi
callq 0x255f0
movq -0x58(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x254bd
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/comment.c
// Function: check_author
STATIC uint8_t
_check_author(lxw_comment *self, char *author)
{
    lxw_author_id tmp_author_id;
    lxw_author_id *existing_author = NULL;

    if (!author)
        return LXW_TRUE;

    tmp_author_id.author = author;
    existing_author = RB_FIND(lxw_author_ids,
                              self->author_ids, &tmp_author_id);

    if (existing_author)
        return LXW_TRUE;
    else
        return LXW_FALSE;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq $0x0, -0x50(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x25535
movb $0x1, -0x1(%rbp)
jmp 0x25563
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
leaq -0x48(%rbp), %rsi
callq 0x25570
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x50(%rbp)
je 0x2555f
movb $0x1, -0x1(%rbp)
jmp 0x25563
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/comment.c
// Function: comment_write_comment
STATIC void
_comment_write_comment(lxw_comment *self, lxw_vml_obj *comment_obj)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;
    char ref[LXW_MAX_CELL_NAME_LENGTH];

    lxw_rowcol_to_cell(ref, comment_obj->row, comment_obj->col);

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_STR("ref", ref);
    LXW_PUSH_ATTRIBUTES_INT("authorId", comment_obj->author_id);

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

    /* Write the text element. */
    _comment_write_text(self, comment_obj);

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

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq -0x36(%rbp), %rdi
movq -0x10(%rbp), %rax
movl (%rax), %esi
movq -0x10(%rbp), %rax
movzwl 0x4(%rax), %edx
callq 0xca90
movq $0x0, -0x20(%rbp)
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x25bf9
leaq -0x36(%rbp), %rsi
leaq 0x49424(%rip), %rdi     # 0x6f028
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x25c37
jmp 0x25c39
movq -0x10(%rbp), %rax
movl 0x48(%rax), %eax
movl %eax, %esi
leaq 0x42066(%rip), %rdi     # 0x67caf
callq 0xc1b0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x25c7c
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x4202e(%rip), %rsi     # 0x67cb8
leaq -0x20(%rbp), %rdx
callq 0xc390
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x25d00
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x4200a(%rip), %rsi     # 0x67cb8
callq 0xc060
jmp 0x25cb5
cmpq $0x0, -0x20(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x25cc5
jmp 0x25cf7
movq -0x20(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x25cea
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x25cec
movq -0x28(%rbp), %rdi
callq 0xc0d0
jmp 0x25cb5
jmp 0x25cf9
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/comment.c
// Function: comment_write_r
STATIC void
_comment_write_r(lxw_comment *self, lxw_vml_obj *comment_obj)
{
    lxw_xml_start_tag(self->file, "r", NULL);

    /* Write the rPr element. */
    _comment_write_r_pr(self, comment_obj);

    /* Write the t element. */
    _comment_write_text_t(self, comment_obj);

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x4135b(%rip), %rsi     # 0x670c9
xorl %eax, %eax
movl %eax, %edx
callq 0xc390
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x25db0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x25e20
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x4132a(%rip), %rsi     # 0x670c9
callq 0xc060
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/comment.c
// Function: comment_write_r_pr
STATIC void
_comment_write_r_pr(lxw_comment *self, lxw_vml_obj *comment_obj)
{
    lxw_xml_start_tag(self->file, "rPr", NULL);

    /* Write the sz element. */
    _comment_write_sz(self, comment_obj);

    /* Write the color element. */
    _comment_write_color(self);

    /* Write the rFont element. */
    _comment_write_r_font(self, comment_obj);

    /* Write the family element. */
    _comment_write_family(self, comment_obj);

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x41305(%rip), %rsi     # 0x670d3
xorl %eax, %eax
movl %eax, %edx
callq 0xc390
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x25e60
movq -0x8(%rbp), %rdi
callq 0x25f30
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x26010
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x26120
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x412be(%rip), %rsi     # 0x670d3
callq 0xc060
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/comment.c
// Function: comment_write_sz
STATIC void
_comment_write_sz(lxw_comment *self, lxw_vml_obj *comment_obj)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_DBL("val", comment_obj->font_size);

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

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq $0x0, -0x20(%rbp)
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x25e82
movq -0x10(%rbp), %rax
movsd 0x50(%rax), %xmm0
leaq 0x4140a(%rip), %rdi     # 0x6729c
callq 0xcd20
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x25ec5
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x41198(%rip), %rsi     # 0x6706b
leaq -0x20(%rbp), %rdx
callq 0xcca0
jmp 0x25ede
cmpq $0x0, -0x20(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x25eee
jmp 0x25f20
movq -0x20(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x25f13
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x25f15
movq -0x28(%rbp), %rdi
callq 0xc0d0
jmp 0x25ede
jmp 0x25f22
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/comment.c
// Function: comment_write_color
STATIC void
_comment_write_color(lxw_comment *self)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;
    char indexed[] = "81";

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_STR("indexed", indexed);

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

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movw 0x41d82(%rip), %ax      # 0x67cc5
movw %ax, -0x23(%rbp)
movb 0x41d7a(%rip), %al      # 0x67cc7
movb %al, -0x21(%rbp)
movq $0x0, -0x18(%rbp)
leaq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x25f62
leaq -0x23(%rbp), %rsi
leaq 0x41d5b(%rip), %rdi     # 0x67cc8
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 0x25fa0
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x451ee(%rip), %rsi     # 0x6b19c
leaq -0x18(%rbp), %rdx
callq 0xcca0
jmp 0x25fb9
cmpq $0x0, -0x18(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x25fc9
jmp 0x25ffb
movq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
jne 0x25fee
leaq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x25ff0
movq -0x20(%rbp), %rdi
callq 0xc0d0
jmp 0x25fb9
jmp 0x25ffd
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/comment.c
// Function: comment_write_r_font
STATIC void
_comment_write_r_font(lxw_comment *self, lxw_vml_obj *comment_obj)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;
    char font_name[LXW_ATTR_32];

    if (comment_obj->font_name)
        lxw_snprintf(font_name, LXW_ATTR_32, "%s", comment_obj->font_name);
    else
        lxw_snprintf(font_name, LXW_ATTR_32, "Tahoma");

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_STR("val", font_name);

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

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x90(%rax)
je 0x26052
leaq -0x50(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x90(%rax), %rcx
movl $0x20, %esi
leaq 0x4685b(%rip), %rdx     # 0x6c8a4
movb $0x0, %al
callq 0xc5d0
jmp 0x26069
leaq -0x50(%rbp), %rdi
movl $0x20, %esi
leaq 0x41c6e(%rip), %rdx     # 0x67cd0
movb $0x0, %al
callq 0xc5d0
jmp 0x2606b
movq $0x0, -0x20(%rbp)
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x2607d
leaq -0x50(%rbp), %rsi
leaq 0x41214(%rip), %rdi     # 0x6729c
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x260bb
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x41c0e(%rip), %rsi     # 0x67cd7
leaq -0x20(%rbp), %rdx
callq 0xcca0
jmp 0x260d4
cmpq $0x0, -0x20(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x260e4
jmp 0x26116
movq -0x20(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x26109
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x2610b
movq -0x28(%rbp), %rdi
callq 0xc0d0
jmp 0x260d4
jmp 0x26118
addq $0x50, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/comment.c
// Function: comment_write_family
STATIC void
_comment_write_family(lxw_comment *self, lxw_vml_obj *comment_obj)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_INT("val", comment_obj->font_family);

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

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq $0x0, -0x20(%rbp)
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x26142
movq -0x10(%rbp), %rax
movzbl 0x44(%rax), %eax
movl %eax, %esi
leaq 0x41149(%rip), %rdi     # 0x6729c
callq 0xc1b0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x26186
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x41b49(%rip), %rsi     # 0x67cdd
leaq -0x20(%rbp), %rdx
callq 0xcca0
jmp 0x2619f
cmpq $0x0, -0x20(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x261af
jmp 0x261e1
movq -0x20(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x261d4
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x261d6
movq -0x28(%rbp), %rdi
callq 0xc0d0
jmp 0x2619f
jmp 0x261e3
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/content_types.c
// Function: lxw_ct_add_default
void
lxw_ct_add_default(lxw_content_types *self, const char *key,
                   const char *value)
{
    lxw_tuple *tuple;

    if (!key || !value)
        return;

    tuple = calloc(1, sizeof(lxw_tuple));
    GOTO_LABEL_ON_MEM_ERROR(tuple, mem_error);

    tuple->key = lxw_strdup(key);
    GOTO_LABEL_ON_MEM_ERROR(tuple->key, mem_error);

    tuple->value = lxw_strdup(value);
    GOTO_LABEL_ON_MEM_ERROR(tuple->value, mem_error);

    STAILQ_INSERT_TAIL(self->default_types, tuple, list_pointers);

    return;

mem_error:
    if (tuple) {
        free(tuple->key);
        free(tuple->value);
        free(tuple);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x26402
cmpq $0x0, -0x18(%rbp)
jne 0x26407
jmp 0x2653b
movl $0x1, %edi
movl $0x18, %esi
callq 0xc870
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x2644a
movq 0x56bd0(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x3fc9e(%rip), %rsi     # 0x660d0
leaq 0x418ab(%rip), %rdx     # 0x67ce4
movl $0xea, %ecx
movb $0x0, %al
callq 0xc8f0
jmp 0x26512
jmp 0x2644c
movq -0x10(%rbp), %rdi
callq 0xcd80
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rax
cmpq $0x0, (%rax)
jne 0x26492
movq 0x56b88(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x3fc56(%rip), %rsi     # 0x660d0
leaq 0x41863(%rip), %rdx     # 0x67ce4
movl $0xed, %ecx
movb $0x0, %al
callq 0xc8f0
jmp 0x26512
jmp 0x26494
movq -0x18(%rbp), %rdi
callq 0xcd80
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x264d9
movq 0x56b3e(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x3fc0c(%rip), %rsi     # 0x660d0
leaq 0x41819(%rip), %rdx     # 0x67ce4
movl $0xf0, %ecx
movb $0x0, %al
callq 0xc8f0
jmp 0x26512
jmp 0x264db
jmp 0x264dd
movq -0x20(%rbp), %rax
movq $0x0, 0x10(%rax)
movq -0x20(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rcx
addq $0x10, %rcx
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x8(%rax)
jmp 0x2653b
cmpq $0x0, -0x20(%rbp)
je 0x2653b
movq -0x20(%rbp), %rax
movq (%rax), %rdi
callq 0xc0d0
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xc0d0
movq -0x20(%rbp), %rdi
callq 0xc0d0
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/content_types.c
// Function: lxw_content_types_free
void
lxw_content_types_free(lxw_content_types *content_types)
{
    lxw_tuple *default_type;
    lxw_tuple *override;

    if (!content_types)
        return;

    if (content_types->default_types) {
        while (!STAILQ_EMPTY(content_types->default_types)) {
            default_type = STAILQ_FIRST(content_types->default_types);
            STAILQ_REMOVE_HEAD(content_types->default_types, list_pointers);
            free(default_type->key);
            free(default_type->value);
            free(default_type);
        }
        free(content_types->default_types);
    }

    if (content_types->overrides) {
        while (!STAILQ_EMPTY(content_types->overrides)) {
            override = STAILQ_FIRST(content_types->overrides);
            STAILQ_REMOVE_HEAD(content_types->overrides, list_pointers);
            free(override->key);
            free(override->value);
            free(override);
        }
        free(content_types->overrides);
    }

    free(content_types);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x266d8
jmp 0x2681d
movq -0x8(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x26776
jmp 0x266e9
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
cmpq $0x0, (%rax)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x26700
jmp 0x26769
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x8(%rcx), %rcx
movq %rax, (%rcx)
cmpq $0x0, %rax
jne 0x26743
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x8(%rax)
jmp 0x26745
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0xc0d0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xc0d0
movq -0x10(%rbp), %rdi
callq 0xc0d0
jmp 0x266e9
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x26814
jmp 0x26787
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
cmpq $0x0, (%rax)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x2679e
jmp 0x26807
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x10(%rcx), %rcx
movq %rax, (%rcx)
cmpq $0x0, %rax
jne 0x267e1
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x8(%rax)
jmp 0x267e3
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0xc0d0
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xc0d0
movq -0x18(%rbp), %rdi
callq 0xc0d0
jmp 0x26787
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rdi
callq 0xc0d0
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/content_types.c
// Function: lxw_content_types_assemble_xml_file
void
lxw_content_types_assemble_xml_file(lxw_content_types *self)
{
    /* Write the XML declaration. */
    _content_types_xml_declaration(self);

    _write_types(self);
    _write_defaults(self);
    _write_overrides(self);

    /* Close the content_types tag. */
    lxw_xml_end_tag(self->file, "Types");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x26880
movq -0x8(%rbp), %rdi
callq 0x268a0
movq -0x8(%rbp), %rdi
callq 0x26970
movq -0x8(%rbp), %rdi
callq 0x269c0
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x420b5(%rip), %rsi     # 0x68923
callq 0xc060
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/content_types.c
// Function: write_types
STATIC void
_write_types(lxw_content_types *self)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_STR("xmlns", LXW_SCHEMA_CONTENT);

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

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq $0x0, -0x18(%rbp)
leaq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x268be
leaq 0x3f83c(%rip), %rdi     # 0x66101
leaq 0x4190b(%rip), %rsi     # 0x681d7
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 0x268ff
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x42016(%rip), %rsi     # 0x68923
leaq -0x18(%rbp), %rdx
callq 0xc390
jmp 0x26918
cmpq $0x0, -0x18(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x26928
jmp 0x2695a
movq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
jne 0x2694d
leaq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x2694f
movq -0x20(%rbp), %rdi
callq 0xc0d0
jmp 0x26918
jmp 0x2695c
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/content_types.c
// Function: write_default
STATIC void
_write_default(lxw_content_types *self, const char *ext, const char *type)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_STR("Extension", ext);
    LXW_PUSH_ATTRIBUTES_STR("ContentType", type);

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

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq $0x0, -0x28(%rbp)
leaq -0x28(%rbp), %rax
movq %rax, -0x20(%rbp)
jmp 0x26c46
movq -0x10(%rbp), %rsi
leaq 0x415c3(%rip), %rdi     # 0x68214
callq 0xc030
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x30(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x20(%rbp)
jmp 0x26c84
jmp 0x26c86
movq -0x18(%rbp), %rsi
leaq 0x4158d(%rip), %rdi     # 0x6821e
callq 0xc030
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x30(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x20(%rbp)
jmp 0x26cc4
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x41558(%rip), %rsi     # 0x6822a
leaq -0x28(%rbp), %rdx
callq 0xcca0
jmp 0x26cdd
cmpq $0x0, -0x28(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x26ced
jmp 0x26d1f
movq -0x28(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
jne 0x26d12
leaq -0x28(%rbp), %rax
movq %rax, -0x20(%rbp)
jmp 0x26d14
movq -0x30(%rbp), %rdi
callq 0xc0d0
jmp 0x26cdd
jmp 0x26d21
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/content_types.c
// Function: write_override
STATIC void
_write_override(lxw_content_types *self, const char *part_name,
                const char *type)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_STR("PartName", part_name);
    LXW_PUSH_ATTRIBUTES_STR("ContentType", type);

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

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq $0x0, -0x28(%rbp)
leaq -0x28(%rbp), %rax
movq %rax, -0x20(%rbp)
jmp 0x26d56
movq -0x10(%rbp), %rsi
leaq 0x414d1(%rip), %rdi     # 0x68232
callq 0xc030
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x30(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x20(%rbp)
jmp 0x26d94
jmp 0x26d96
movq -0x18(%rbp), %rsi
leaq 0x4147d(%rip), %rdi     # 0x6821e
callq 0xc030
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x30(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x20(%rbp)
jmp 0x26dd4
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x41459(%rip), %rsi     # 0x6823b
leaq -0x28(%rbp), %rdx
callq 0xcca0
jmp 0x26ded
cmpq $0x0, -0x28(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x26dfd
jmp 0x26e2f
movq -0x28(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
jne 0x26e22
leaq -0x28(%rbp), %rax
movq %rax, -0x20(%rbp)
jmp 0x26e24
movq -0x30(%rbp), %rdi
callq 0xc0d0
jmp 0x26ded
jmp 0x26e31
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/core.c
// Function: lxw_core_new
lxw_core *
lxw_core_new(void)
{
    lxw_core *core = calloc(1, sizeof(lxw_core));
    GOTO_LABEL_ON_MEM_ERROR(core, mem_error);

    return core;

mem_error:
    lxw_core_free(core);
    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl $0x1, %edi
movl $0x10, %esi
callq 0xc870
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x26e88
movq 0x5618f(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x3f25d(%rip), %rsi     # 0x660d0
leaq 0x413ca(%rip), %rdx     # 0x68244
movl $0x1f, %ecx
movb $0x0, %al
callq 0xc8f0
jmp 0x26e94
jmp 0x26e8a
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x26ea5
movq -0x10(%rbp), %rdi
callq 0xd150
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/core.c
// Function: lxw_core_assemble_xml_file
void
lxw_core_assemble_xml_file(lxw_core *self)
{
    /* Write the XML declaration. */
    _core_xml_declaration(self);

    _write_cp_core_properties(self);
    _write_dc_title(self);
    _write_dc_subject(self);
    _write_dc_creator(self);
    _write_cp_keywords(self);
    _write_dc_description(self);
    _write_cp_last_modified_by(self);
    _write_dcterms_created(self);
    _write_dcterms_modified(self);
    _write_cp_category(self);
    _write_cp_content_status(self);

    lxw_xml_end_tag(self->file, "cp:coreProperties");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x26f80
movq -0x8(%rbp), %rdi
callq 0x26fa0
movq -0x8(%rbp), %rdi
callq 0x27170
movq -0x8(%rbp), %rdi
callq 0x271c0
movq -0x8(%rbp), %rdi
callq 0x27210
movq -0x8(%rbp), %rdi
callq 0x27280
movq -0x8(%rbp), %rdi
callq 0x272d0
movq -0x8(%rbp), %rdi
callq 0x27320
movq -0x8(%rbp), %rdi
callq 0x27390
movq -0x8(%rbp), %rdi
callq 0x27470
movq -0x8(%rbp), %rdi
callq 0x27550
movq -0x8(%rbp), %rdi
callq 0x275a0
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x412e5(%rip), %rsi     # 0x6824b
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/core.c
// Function: write_dc_creator
STATIC void
_write_dc_creator(lxw_core *self)
{
    if (self->properties->author) {
        lxw_xml_data_element(self->file, "dc:creator",
                             self->properties->author, NULL);
    }
    else {
        lxw_xml_data_element(self->file, "dc:creator", "", NULL);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
cmpq $0x0, 0x10(%rax)
je 0x27250
movq -0x8(%rbp), %rax
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rdx
leaq 0x4112f(%rip), %rsi     # 0x68374
xorl %eax, %eax
movl %eax, %ecx
callq 0xcbd0
jmp 0x2726e
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x41116(%rip), %rsi     # 0x68374
leaq 0x4804e(%rip), %rdx     # 0x6f2b3
xorl %eax, %eax
movl %eax, %ecx
callq 0xcbd0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/core.c
// Function: write_cp_keywords
STATIC void
_write_cp_keywords(lxw_core *self)
{
    if (!self->properties->keywords)
        return;

    lxw_xml_data_element(self->file, "cp:keywords",
                         self->properties->keywords, NULL);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
cmpq $0x0, 0x30(%rax)
jne 0x2729d
jmp 0x272c0
movq -0x8(%rbp), %rax
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x30(%rax), %rdx
leaq 0x410c8(%rip), %rsi     # 0x6837f
xorl %eax, %eax
movl %eax, %ecx
callq 0xcbd0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/core.c
// Function: write_dc_description
STATIC void
_write_dc_description(lxw_core *self)
{
    if (!self->properties->comments)
        return;

    lxw_xml_data_element(self->file, "dc:description",
                         self->properties->comments, NULL);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
cmpq $0x0, 0x38(%rax)
jne 0x272ed
jmp 0x27310
movq -0x8(%rbp), %rax
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x38(%rax), %rdx
leaq 0x41084(%rip), %rsi     # 0x6838b
xorl %eax, %eax
movl %eax, %ecx
callq 0xcbd0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/core.c
// Function: write_cp_last_modified_by
STATIC void
_write_cp_last_modified_by(lxw_core *self)
{
    if (self->properties->author) {
        lxw_xml_data_element(self->file, "cp:lastModifiedBy",
                             self->properties->author, NULL);
    }
    else {
        lxw_xml_data_element(self->file, "cp:lastModifiedBy", "", NULL);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
cmpq $0x0, 0x10(%rax)
je 0x27360
movq -0x8(%rbp), %rax
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rdx
leaq 0x41045(%rip), %rsi     # 0x6839a
xorl %eax, %eax
movl %eax, %ecx
callq 0xcbd0
jmp 0x2737e
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x4102c(%rip), %rsi     # 0x6839a
leaq 0x47f3e(%rip), %rdx     # 0x6f2b3
xorl %eax, %eax
movl %eax, %ecx
callq 0xcbd0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/core.c
// Function: write_dcterms_created
STATIC void
_write_dcterms_created(lxw_core *self)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;
    char datetime[LXW_ATTR_32];

    _datetime_to_iso8601_date(&self->properties->created, datetime,
                              LXW_ATTR_32);

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_STR("xsi:type", "dcterms:W3CDTF");

    lxw_xml_data_element(self->file, "dcterms:created", datetime,
                         &attributes);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
addq $0x50, %rdi
leaq -0x40(%rbp), %rsi
movl $0x20, %edx
callq 0x275f0
movq $0x0, -0x18(%rbp)
leaq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x273c8
leaq 0x40fdd(%rip), %rdi     # 0x683ac
leaq 0x40fdf(%rip), %rsi     # 0x683b5
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 0x27409
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq -0x40(%rbp), %rdx
leaq 0x40fa9(%rip), %rsi     # 0x683c4
leaq -0x18(%rbp), %rcx
callq 0xcbd0
jmp 0x27426
cmpq $0x0, -0x18(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x27436
jmp 0x27468
movq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
jne 0x2745b
leaq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x2745d
movq -0x20(%rbp), %rdi
callq 0xc0d0
jmp 0x27426
jmp 0x2746a
addq $0x40, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/core.c
// Function: write_cp_category
STATIC void
_write_cp_category(lxw_core *self)
{
    if (!self->properties->category)
        return;

    lxw_xml_data_element(self->file, "cp:category",
                         self->properties->category, NULL);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
cmpq $0x0, 0x28(%rax)
jne 0x2756d
jmp 0x27590
movq -0x8(%rbp), %rax
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x28(%rax), %rdx
leaq 0x40e71(%rip), %rsi     # 0x683f8
xorl %eax, %eax
movl %eax, %ecx
callq 0xcbd0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/core.c
// Function: write_cp_content_status
STATIC void
_write_cp_content_status(lxw_core *self)
{
    if (!self->properties->status)
        return;

    lxw_xml_data_element(self->file, "cp:contentStatus",
                         self->properties->status, NULL);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
cmpq $0x0, 0x40(%rax)
jne 0x275bd
jmp 0x275e0
movq -0x8(%rbp), %rax
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x40(%rax), %rdx
leaq 0x40e2d(%rip), %rsi     # 0x68404
xorl %eax, %eax
movl %eax, %ecx
callq 0xcbd0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/core.c
// Function: datetime_to_iso8601_date
static void
_datetime_to_iso8601_date(time_t *timer, char *str, size_t size)
{
    struct tm *tmp_datetime;
    time_t current_time = time(NULL);

    if (*timer)
        tmp_datetime = gmtime(timer);
    else
        tmp_datetime = gmtime(&current_time);

    strftime(str, size - 1, "%Y-%m-%dT%H:%M:%SZ", tmp_datetime);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
xorl %eax, %eax
movl %eax, %edi
callq 0xca30
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, (%rax)
je 0x2762a
movq -0x8(%rbp), %rdi
callq 0xcec0
movq %rax, -0x20(%rbp)
jmp 0x27637
leaq -0x28(%rbp), %rdi
callq 0xcec0
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
subq $0x1, %rsi
movq -0x20(%rbp), %rcx
leaq 0x40d86(%rip), %rdx     # 0x683d4
callq 0xcd50
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)