LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/drawing.c
// Function: drawing_write_a_xfrm
STATIC void
_drawing_write_a_xfrm(lxw_drawing *self, lxw_drawing_object *drawing_object)
{
    lxw_xml_start_tag(self->file, "a:xfrm", NULL);

    /* Write the a:off element. */
    _drawing_write_a_off(self, drawing_object);

    /* Write the a:ext element. */
    _drawing_write_a_ext(self, drawing_object);

    lxw_xml_end_tag(self->file, "a:xfrm");
}

// 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 0x3ed31(%rip), %rsi     # 0x6876f
xorl %eax, %eax
movl %eax, %edx
callq 0xc390
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x29b60
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x29c70
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x3ed00(%rip), %rsi     # 0x6876f
callq 0xc060
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/drawing.c
// Function: drawing_write_a_prst_geom
STATIC void
_drawing_write_a_prst_geom(lxw_drawing *self)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_STR("prst", "rect");

    lxw_xml_start_tag(self->file, "a:prstGeom", &attributes);

    /* Write the a:avLst element. */
    _drawing_write_a_av_lst(self);

    lxw_xml_end_tag(self->file, "a:prstGeom");

    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 0x29a9e
leaq 0x3dc30(%rip), %rdi     # 0x676d5
leaq 0x3ecca(%rip), %rsi     # 0x68776
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 0x29adf
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x3ec8e(%rip), %rsi     # 0x6877b
leaq -0x18(%rbp), %rdx
callq 0xc390
movq -0x8(%rbp), %rdi
callq 0x29d80
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x3ec6e(%rip), %rsi     # 0x6877b
callq 0xc060
jmp 0x29b14
cmpq $0x0, -0x18(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x29b24
jmp 0x29b56
movq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
jne 0x29b49
leaq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x29b4b
movq -0x20(%rbp), %rdi
callq 0xc0d0
jmp 0x29b14
jmp 0x29b58
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/drawing.c
// Function: drawing_write_a_off
STATIC void
_drawing_write_a_off(lxw_drawing *self, lxw_drawing_object *drawing_object)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_INT("x", drawing_object->col_absolute);
    LXW_PUSH_ATTRIBUTES_INT("y", drawing_object->row_absolute);

    lxw_xml_empty_tag(self->file, "a:off", &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 0x29b82
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rsi
leaq 0x45712(%rip), %rdi     # 0x6f2a3
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 0x29bc4
jmp 0x29bc6
movq -0x10(%rbp), %rax
movq 0x40(%rax), %rsi
leaq 0x3e7d5(%rip), %rdi     # 0x683aa
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 0x29c08
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x3eab8(%rip), %rsi     # 0x686ce
leaq -0x20(%rbp), %rdx
callq 0xcca0
jmp 0x29c21
cmpq $0x0, -0x20(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x29c31
jmp 0x29c63
movq -0x20(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x29c56
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x29c58
movq -0x28(%rbp), %rdi
callq 0xc0d0
jmp 0x29c21
jmp 0x29c65
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/drawing.c
// Function: drawing_write_a_ext
STATIC void
_drawing_write_a_ext(lxw_drawing *self, lxw_drawing_object *drawing_object)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_INT("cx", drawing_object->width);
    LXW_PUSH_ATTRIBUTES_INT("cy", drawing_object->height);

    lxw_xml_empty_tag(self->file, "a:ext", &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 0x29c92
movq -0x10(%rbp), %rax
movl 0x48(%rax), %eax
movl %eax, %esi
leaq 0x3ea32(%rip), %rdi     # 0x686d4
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 0x29cd5
jmp 0x29cd7
movq -0x10(%rbp), %rax
movl 0x4c(%rax), %eax
movl %eax, %esi
leaq 0x3e9f0(%rip), %rdi     # 0x686d7
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 0x29d1a
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x3e8e1(%rip), %rsi     # 0x68609
leaq -0x20(%rbp), %rdx
callq 0xcca0
jmp 0x29d33
cmpq $0x0, -0x20(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x29d43
jmp 0x29d75
movq -0x20(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x29d68
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x29d6a
movq -0x28(%rbp), %rdi
callq 0xc0d0
jmp 0x29d33
jmp 0x29d77
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/drawing.c
// Function: drawing_write_pos
STATIC void
_drawing_write_pos(lxw_drawing *self, int32_t x, int32_t y)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_INT("x", x);
    LXW_PUSH_ATTRIBUTES_INT("y", y);

    lxw_xml_empty_tag(self->file, "xdr:pos", &attributes);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movq $0x0, -0x20(%rbp)
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x29dd4
movslq -0xc(%rbp), %rsi
leaq 0x454c4(%rip), %rdi     # 0x6f2a3
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 0x29e12
jmp 0x29e14
movslq -0x10(%rbp), %rsi
leaq 0x3e58b(%rip), %rdi     # 0x683aa
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 0x29e52
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x3e950(%rip), %rsi     # 0x687b0
leaq -0x20(%rbp), %rdx
callq 0xcca0
jmp 0x29e6b
cmpq $0x0, -0x20(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x29e7b
jmp 0x29ead
movq -0x20(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x29ea0
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x29ea2
movq -0x28(%rbp), %rdi
callq 0xc0d0
jmp 0x29e6b
jmp 0x29eaf
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/drawing.c
// Function: drawing_write_ext
STATIC void
_drawing_write_ext(lxw_drawing *self, uint32_t cx, uint32_t cy)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_INT("cx", cx);
    LXW_PUSH_ATTRIBUTES_INT("cy", cy);

    lxw_xml_empty_tag(self->file, "xdr:ext", &attributes);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movq $0x0, -0x20(%rbp)
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x29ee4
movl -0xc(%rbp), %eax
movl %eax, %esi
leaq 0x3e7e4(%rip), %rdi     # 0x686d4
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 0x29f23
jmp 0x29f25
movl -0x10(%rbp), %eax
movl %eax, %esi
leaq 0x3e7a6(%rip), %rdi     # 0x686d7
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 0x29f64
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x3e846(%rip), %rsi     # 0x687b8
leaq -0x20(%rbp), %rdx
callq 0xcca0
jmp 0x29f7d
cmpq $0x0, -0x20(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x29f8d
jmp 0x29fbf
movq -0x20(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x29fb2
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x29fb4
movq -0x28(%rbp), %rdi
callq 0xc0d0
jmp 0x29f7d
jmp 0x29fc1
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/format.c
// Function: lxw_format_free
void
lxw_format_free(lxw_format *format)
{
    if (!format)
        return;

    free(format);
    format = NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x2a355
jmp 0x2a366
movq -0x8(%rbp), %rdi
callq 0xc0d0
movq $0x0, -0x8(%rbp)
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/format.c
// Function: lxw_format_get_font_key
lxw_font *
lxw_format_get_font_key(lxw_format *self)
{
    lxw_font *key = calloc(1, sizeof(lxw_font));
    GOTO_LABEL_ON_MEM_ERROR(key, mem_error);

    LXW_FORMAT_FIELD_COPY(key->font_name, self->font_name);
    key->font_size = self->font_size;
    key->bold = self->bold;
    key->italic = self->italic;
    key->underline = self->underline;
    key->theme = self->theme;
    key->font_color = self->font_color;
    key->font_strikeout = self->font_strikeout;
    key->font_outline = self->font_outline;
    key->font_shadow = self->font_shadow;
    key->font_script = self->font_script;
    key->font_family = self->font_family;
    key->font_charset = self->font_charset;
    key->font_condense = self->font_condense;
    key->font_extend = self->font_extend;

    return key;

mem_error:
    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl $0x1, %edi
movl $0x98, %esi
callq 0xc870
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x2a3bf
movq 0x52c5b(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x3bd29(%rip), %rsi     # 0x660d0
leaq 0x3e4f2(%rip), %rdx     # 0x688a0
movl $0xad, %ecx
movb $0x0, %al
callq 0xc8f0
jmp 0x2a50a
jmp 0x2a3c1
jmp 0x2a3c3
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0xb4, %rsi
movl $0x7f, %edx
callq 0xc1a0
movq -0x18(%rbp), %rax
movb $0x0, 0x7f(%rax)
movq -0x10(%rbp), %rax
movsd 0x1c0(%rax), %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, 0x80(%rax)
movq -0x10(%rbp), %rax
movb 0x1c8(%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x88(%rax)
movq -0x10(%rbp), %rax
movb 0x1c9(%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x89(%rax)
movq -0x10(%rbp), %rax
movb 0x1d0(%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x8a(%rax)
movq -0x10(%rbp), %rax
movb 0x1d9(%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x8b(%rax)
movq -0x10(%rbp), %rax
movl 0x1cc(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x94(%rax)
movq -0x10(%rbp), %rax
movb 0x1d1(%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x8c(%rax)
movq -0x10(%rbp), %rax
movb 0x1d2(%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x8d(%rax)
movq -0x10(%rbp), %rax
movb 0x1d3(%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x8e(%rax)
movq -0x10(%rbp), %rax
movb 0x1d4(%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x8f(%rax)
movq -0x10(%rbp), %rax
movb 0x1d5(%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x90(%rax)
movq -0x10(%rbp), %rax
movb 0x1d6(%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x91(%rax)
movq -0x10(%rbp), %rax
movb 0x1d7(%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x92(%rax)
movq -0x10(%rbp), %rax
movb 0x1d8(%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x93(%rax)
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x2a512
movq $0x0, -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/format.c
// Function: lxw_format_get_border_key
lxw_border *
lxw_format_get_border_key(lxw_format *self)
{
    lxw_border *key = calloc(1, sizeof(lxw_border));
    GOTO_LABEL_ON_MEM_ERROR(key, mem_error);

    key->bottom = self->bottom;
    key->left = self->left;
    key->right = self->right;
    key->top = self->top;
    key->diag_border = self->diag_border;
    key->diag_type = self->diag_type;
    key->bottom_color = self->bottom_color;
    key->left_color = self->left_color;
    key->right_color = self->right_color;
    key->top_color = self->top_color;
    key->diag_color = self->diag_color;

    return key;

mem_error:
    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl $0x1, %edi
movl $0x1c, %esi
callq 0xc870
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x2a56f
movq 0x52aab(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x3bb79(%rip), %rsi     # 0x660d0
leaq 0x3e342(%rip), %rdx     # 0x688a0
movl $0xcc, %ecx
movb $0x0, %al
callq 0xc8f0
jmp 0x2a635
jmp 0x2a571
movq -0x10(%rbp), %rax
movb 0x20c(%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, (%rax)
movq -0x10(%rbp), %rax
movb 0x20f(%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x3(%rax)
movq -0x10(%rbp), %rax
movb 0x210(%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x4(%rax)
movq -0x10(%rbp), %rax
movb 0x211(%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x5(%rax)
movq -0x10(%rbp), %rax
movb 0x20d(%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x1(%rax)
movq -0x10(%rbp), %rax
movb 0x20e(%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x2(%rax)
movq -0x10(%rbp), %rax
movl 0x214(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x8(%rax)
movq -0x10(%rbp), %rax
movl 0x21c(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x10(%rax)
movq -0x10(%rbp), %rax
movl 0x220(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x14(%rax)
movq -0x10(%rbp), %rax
movl 0x224(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x18(%rax)
movq -0x10(%rbp), %rax
movl 0x218(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0xc(%rax)
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x2a63d
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/format.c
// Function: lxw_format_get_fill_key
lxw_fill *
lxw_format_get_fill_key(lxw_format *self)
{
    lxw_fill *key = calloc(1, sizeof(lxw_fill));
    GOTO_LABEL_ON_MEM_ERROR(key, mem_error);

    key->fg_color = self->fg_color;
    key->bg_color = self->bg_color;
    key->pattern = self->pattern;

    return key;

mem_error:
    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl $0x1, %edi
movl $0xc, %esi
callq 0xc870
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x2a69c
movq 0x5297b(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x3ba49(%rip), %rsi     # 0x660d0
leaq 0x3e212(%rip), %rdx     # 0x688a0
movl $0xe7, %ecx
movb $0x0, %al
callq 0xc8f0
jmp 0x2a6da
jmp 0x2a69e
movq -0x10(%rbp), %rax
movl 0x1e4(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
movq -0x10(%rbp), %rax
movl 0x1e8(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x4(%rax)
movq -0x10(%rbp), %rax
movb 0x1f4(%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x8(%rax)
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x2a6e2
movq $0x0, -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/format.c
// Function: lxw_format_get_xf_index
int32_t
lxw_format_get_xf_index(lxw_format *self)
{
    lxw_format *format_key;
    lxw_format *existing_format;
    lxw_hash_element *hash_element;
    lxw_hash_table *formats_hash_table = self->xf_format_indices;
    int32_t index;

    /* Note: The formats_hash_table/xf_format_indices contains the unique and
     * more importantly the *used* formats in the workbook.
     */

    /* Format already has an index number so return it. */
    if (self->xf_index != LXW_PROPERTY_UNSET) {
        return self->xf_index;
    }

    /* Otherwise, the format doesn't have an index number so we assign one.
     * First generate a unique key to identify the format in the hash table.
     */
    format_key = _get_format_key(self);

    /* Return the default format index if the key generation failed. */
    if (!format_key)
        return 0;

    /* Look up the format in the hash table. */
    hash_element =
        lxw_hash_key_exists(formats_hash_table, format_key,
                            sizeof(lxw_format));

    if (hash_element) {
        /* Format matches existing format with an index. */
        free(format_key);
        existing_format = hash_element->value;
        return existing_format->xf_index;
    }
    else {
        /* New format requiring an index. */
        index = formats_hash_table->unique_count;
        self->xf_index = index;
        lxw_insert_hash_element(formats_hash_table, format_key, self,
                                sizeof(lxw_format));
        return index;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rax
cmpl $-0x1, 0x28(%rax)
je 0x2a721
movq -0x10(%rbp), %rax
movl 0x28(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x2a7ac
movq -0x10(%rbp), %rdi
callq 0x2a7c0
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x2a73e
movl $0x0, -0x4(%rbp)
jmp 0x2a7ac
movq -0x30(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl $0x238, %edx            # imm = 0x238
callq 0xc3b0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x2a77c
movq -0x18(%rbp), %rdi
callq 0xc0d0
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movl 0x28(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x2a7ac
movq -0x30(%rbp), %rax
movl 0x8(%rax), %eax
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x28(%rax)
movq -0x30(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl $0x238, %ecx            # imm = 0x238
callq 0xc040
movl -0x34(%rbp), %eax
movl %eax, -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/format.c
// Function: get_format_key
STATIC lxw_format *
_get_format_key(lxw_format *self)
{
    lxw_format *key = calloc(1, sizeof(lxw_format));
    GOTO_LABEL_ON_MEM_ERROR(key, mem_error);

    memcpy(key, self, sizeof(lxw_format));

    /* Set pointer members to NULL since they aren't part of the comparison. */
    key->xf_format_indices = NULL;
    key->dxf_format_indices = NULL;
    key->num_xf_formats = NULL;
    key->num_dxf_formats = NULL;
    key->list_pointers.stqe_next = NULL;

    return key;

mem_error:
    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl $0x1, %edi
movl $0x238, %esi            # imm = 0x238
callq 0xc870
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x2a80c
movq 0x5280b(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x3b8d9(%rip), %rsi     # 0x660d0
leaq 0x3e0a2(%rip), %rdx     # 0x688a0
movl $0x95, %ecx
movb $0x0, %al
callq 0xc8f0
jmp 0x2a869
jmp 0x2a80e
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x238, %edx            # imm = 0x238
callq 0xc980
movq -0x18(%rbp), %rax
movq $0x0, 0x8(%rax)
movq -0x18(%rbp), %rax
movq $0x0, 0x10(%rax)
movq -0x18(%rbp), %rax
movq $0x0, 0x18(%rax)
movq -0x18(%rbp), %rax
movq $0x0, 0x20(%rax)
movq -0x18(%rbp), %rax
movq $0x0, 0x230(%rax)
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x2a871
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/format.c
// Function: lxw_format_get_dxf_index
int32_t
lxw_format_get_dxf_index(lxw_format *self)
{
    lxw_format *format_key;
    lxw_format *existing_format;
    lxw_hash_element *hash_element;
    lxw_hash_table *formats_hash_table = self->dxf_format_indices;
    int32_t index;

    /* Note: The formats_hash_table/dxf_format_indices contains the unique and
     * more importantly the *used* formats in the workbook.
     */

    /* Format already has an index number so return it. */
    if (self->dxf_index != LXW_PROPERTY_UNSET) {
        return self->dxf_index;
    }

    /* Otherwise, the format doesn't have an index number so we assign one.
     * First generate a unique key to identify the format in the hash table.
     */
    format_key = _get_format_key(self);

    /* Return the default format index if the key generation failed. */
    if (!format_key)
        return 0;

    /* Look up the format in the hash table. */
    hash_element =
        lxw_hash_key_exists(formats_hash_table, format_key,
                            sizeof(lxw_format));

    if (hash_element) {
        /* Format matches existing format with an index. */
        free(format_key);
        existing_format = hash_element->value;
        return existing_format->dxf_index;
    }
    else {
        /* New format requiring an index. */
        index = formats_hash_table->unique_count;
        self->dxf_index = index;
        lxw_insert_hash_element(formats_hash_table, format_key, self,
                                sizeof(lxw_format));
        return index;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rax
cmpl $-0x1, 0x2c(%rax)
je 0x2a8b1
movq -0x10(%rbp), %rax
movl 0x2c(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x2a93c
movq -0x10(%rbp), %rdi
callq 0x2a7c0
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x2a8ce
movl $0x0, -0x4(%rbp)
jmp 0x2a93c
movq -0x30(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl $0x238, %edx            # imm = 0x238
callq 0xc3b0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x2a90c
movq -0x18(%rbp), %rdi
callq 0xc0d0
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movl 0x2c(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x2a93c
movq -0x30(%rbp), %rax
movl 0x8(%rax), %eax
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x2c(%rax)
movq -0x30(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl $0x238, %ecx            # imm = 0x238
callq 0xc040
movl -0x34(%rbp), %eax
movl %eax, -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/format.c
// Function: format_set_align
void
format_set_align(lxw_format *self, uint8_t value)
{
    if (value >= LXW_ALIGN_LEFT && value <= LXW_ALIGN_DISTRIBUTED) {
        self->text_h_align = value;
    }

    if (value >= LXW_ALIGN_VERTICAL_TOP
        && value <= LXW_ALIGN_VERTICAL_DISTRIBUTED) {
        self->text_v_align = value;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movb %sil, %al
movq %rdi, -0x8(%rbp)
movb %al, -0x9(%rbp)
movzbl -0x9(%rbp), %eax
cmpl $0x1, %eax
jl 0x2abbd
movzbl -0x9(%rbp), %eax
cmpl $0x7, %eax
jg 0x2abbd
movb -0x9(%rbp), %cl
movq -0x8(%rbp), %rax
movb %cl, 0x1dd(%rax)
movzbl -0x9(%rbp), %eax
cmpl $0x8, %eax
jl 0x2abdc
movzbl -0x9(%rbp), %eax
cmpl $0xc, %eax
jg 0x2abdc
movb -0x9(%rbp), %cl
movq -0x8(%rbp), %rax
movb %cl, 0x1df(%rax)
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/format.c
// Function: format_set_rotation
void
format_set_rotation(lxw_format *self, int16_t angle)
{
    /* Convert user angle to Excel angle. */
    if (angle == 270) {
        self->rotation = 255;
    }
    else if (angle >= -90 && angle <= 90) {
        if (angle < 0)
            angle = -angle + 90;

        self->rotation = angle;
    }
    else {
        LXW_WARN("Rotation rotation outside range: -90 <= angle <= 90.");
        self->rotation = 0;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movw %si, %ax
movq %rdi, -0x8(%rbp)
movw %ax, -0xa(%rbp)
movswl -0xa(%rbp), %eax
cmpl $0x10e, %eax            # imm = 0x10E
jne 0x2ac2d
movq -0x8(%rbp), %rax
movw $0xff, 0x1e2(%rax)
jmp 0x2ac8f
movswl -0xa(%rbp), %eax
cmpl $-0x5a, %eax
jl 0x2ac68
movswl -0xa(%rbp), %eax
cmpl $0x5a, %eax
jg 0x2ac68
movswl -0xa(%rbp), %eax
cmpl $0x0, %eax
jge 0x2ac57
movswl -0xa(%rbp), %ecx
xorl %eax, %eax
subl %ecx, %eax
addl $0x5a, %eax
movw %ax, -0xa(%rbp)
movw -0xa(%rbp), %cx
movq -0x8(%rbp), %rax
movw %cx, 0x1e2(%rax)
jmp 0x2ac8d
movq 0x52389(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x3dc30(%rip), %rsi     # 0x688a9
movb $0x0, %al
callq 0xc8f0
movq -0x8(%rbp), %rax
movw $0x0, 0x1e2(%rax)
jmp 0x2ac8f
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/format.c
// Function: format_set_border
void
format_set_border(lxw_format *self, uint8_t style)
{
    style = _check_border(style);
    self->bottom = style;
    self->top = style;
    self->left = style;
    self->right = style;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movb %sil, %al
movq %rdi, -0x8(%rbp)
movb %al, -0x9(%rbp)
movzbl -0x9(%rbp), %edi
callq 0x2adc0
movb %al, -0x9(%rbp)
movb -0x9(%rbp), %cl
movq -0x8(%rbp), %rax
movb %cl, 0x20c(%rax)
movb -0x9(%rbp), %cl
movq -0x8(%rbp), %rax
movb %cl, 0x211(%rax)
movb -0x9(%rbp), %cl
movq -0x8(%rbp), %rax
movb %cl, 0x20f(%rax)
movb -0x9(%rbp), %cl
movq -0x8(%rbp), %rax
movb %cl, 0x210(%rax)
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/format.c
// Function: format_set_border_color
void
format_set_border_color(lxw_format *self, lxw_color_t color)
{
    self->bottom_color = color;
    self->top_color = color;
    self->left_color = color;
    self->right_color = color;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl -0xc(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x214(%rax)
movl -0xc(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x224(%rax)
movl -0xc(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x21c(%rax)
movl -0xc(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x220(%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/format.c
// Function: format_set_hyperlink
void
format_set_hyperlink(lxw_format *self)
{
    self->hyperlink = LXW_TRUE;
    self->xf_id = 1;
    self->underline = LXW_UNDERLINE_SINGLE;
    self->theme = 10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movb $0x1, 0x1da(%rax)
movq -0x8(%rbp), %rax
movl $0x1, 0x30(%rax)
movq -0x8(%rbp), %rax
movb $0x1, 0x1d0(%rax)
movq -0x8(%rbp), %rax
movb $0xa, 0x1d9(%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/hash_table.c
// Function: lxw_hash_key_exists
lxw_hash_element *
lxw_hash_key_exists(lxw_hash_table *lxw_hash, void *key, size_t key_len)
{
    size_t hash_key = _generate_hash_key(key, key_len, lxw_hash->num_buckets);
    struct lxw_hash_bucket_list *list;
    lxw_hash_element *element;

    if (!lxw_hash->buckets[hash_key]) {
        /* The key isn't in the LXW_HASH hash table. */
        return NULL;
    }
    else {
        /* The key is already in the table or there is a hash collision. */
        list = lxw_hash->buckets[hash_key];

        /* Iterate over the keys in the bucket's linked list. */
        SLIST_FOREACH(element, list, lxw_hash_list_pointers) {
            if (memcmp(element->key, key, key_len) == 0) {
                /* The key already exists in the table. */
                return element;
            }
        }

        /* Key doesn't exist in the list so this is a hash collision. */
        return NULL;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rax
movl (%rax), %eax
movl %eax, %edx
callq 0x2b2a0
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x28(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x2b22a
movq $0x0, -0x8(%rbp)
jmp 0x2b28b
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
je 0x2b283
movq -0x38(%rbp), %rax
movq (%rax), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0xc830
cmpl $0x0, %eax
jne 0x2b273
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x2b28b
jmp 0x2b275
movq -0x38(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x38(%rbp)
jmp 0x2b249
movq $0x0, -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/hash_table.c
// Function: generate_hash_key
STATIC size_t
_generate_hash_key(void *data, size_t data_len, size_t num_buckets)
{
    unsigned char *p = data;
    size_t hash = 2166136261U;
    size_t i;

    for (i = 0; i < data_len; i++)
        hash = (hash * 16777619) ^ p[i];

    return hash % num_buckets;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movl $0x811c9dc5, %eax       # imm = 0x811C9DC5
movq %rax, -0x28(%rbp)
movq $0x0, -0x30(%rbp)
movq -0x30(%rbp), %rax
cmpq -0x10(%rbp), %rax
jae 0x2b2fc
imulq $0x1000193, -0x28(%rbp), %rax # imm = 0x1000193
movq -0x20(%rbp), %rcx
movq -0x30(%rbp), %rdx
movzbl (%rcx,%rdx), %ecx
xorq %rcx, %rax
movq %rax, -0x28(%rbp)
movq -0x30(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x30(%rbp)
jmp 0x2b2c9
movq -0x28(%rbp), %rax
xorl %ecx, %ecx
movl %ecx, %edx
divq -0x18(%rbp)
movq %rdx, %rax
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/hash_table.c
// Function: lxw_hash_new
lxw_hash_table *
lxw_hash_new(uint32_t num_buckets, uint8_t free_key, uint8_t free_value)
{
    /* Create the new hash table. */
    lxw_hash_table *lxw_hash = calloc(1, sizeof(lxw_hash_table));
    RETURN_ON_MEM_ERROR(lxw_hash, NULL);

    lxw_hash->free_key = free_key;
    lxw_hash->free_value = free_value;

    /* Add the lxw_hash element buckets. */
    lxw_hash->buckets =
        calloc(num_buckets, sizeof(struct lxw_hash_bucket_list *));
    GOTO_LABEL_ON_MEM_ERROR(lxw_hash->buckets, mem_error);

    /* Add a list for tracking the insertion order. */
    lxw_hash->order_list = calloc(1, sizeof(struct lxw_hash_order_list));
    GOTO_LABEL_ON_MEM_ERROR(lxw_hash->order_list, mem_error);

    /* Initialize the order list. */
    STAILQ_INIT(lxw_hash->order_list);

    /* Store the number of buckets to calculate the load factor. */
    lxw_hash->num_buckets = num_buckets;

    return lxw_hash;

mem_error:
    lxw_hash_free(lxw_hash);
    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %dl, %al
movb %sil, %cl
movl %edi, -0xc(%rbp)
movb %cl, -0xd(%rbp)
movb %al, -0xe(%rbp)
movl $0x1, %edi
movl $0x20, %esi
callq 0xc870
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x2b671
movq 0x519b1(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x3aa7f(%rip), %rsi     # 0x660d0
leaq 0x3d292(%rip), %rdx     # 0x688ea
movl $0xa3, %ecx
movb $0x0, %al
callq 0xc8f0
movq $0x0, -0x8(%rbp)
jmp 0x2b76d
jmp 0x2b673
movb -0xd(%rbp), %cl
movq -0x18(%rbp), %rax
movb %cl, 0xc(%rax)
movb -0xe(%rbp), %cl
movq -0x18(%rbp), %rax
movb %cl, 0xd(%rax)
movl -0xc(%rbp), %eax
movl %eax, %edi
movl $0x8, %esi
callq 0xc870
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jne 0x2b6d5
movq 0x51945(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x3aa13(%rip), %rsi     # 0x660d0
leaq 0x3d226(%rip), %rdx     # 0x688ea
movl $0xab, %ecx
movb $0x0, %al
callq 0xc8f0
jmp 0x2b75c
jmp 0x2b6d7
movl $0x1, %edi
movl $0x10, %esi
callq 0xc870
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x2b722
movq 0x518f5(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x3a9c3(%rip), %rsi     # 0x660d0
leaq 0x3d1d6(%rip), %rdx     # 0x688ea
movl $0xaf, %ecx
movb $0x0, %al
callq 0xc8f0
jmp 0x2b75c
jmp 0x2b724
jmp 0x2b726
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq $0x0, (%rax)
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rcx
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x8(%rax)
movl -0xc(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x2b76d
movq -0x18(%rbp), %rdi
callq 0xd0e0
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/hash_table.c
// Function: lxw_hash_free
void
lxw_hash_free(lxw_hash_table *lxw_hash)
{
    size_t i;
    lxw_hash_element *element;
    lxw_hash_element *element_temp;

    if (!lxw_hash)
        return;

    /* Free the lxw_hash_elements and data using the ordered linked list. */
    if (lxw_hash->order_list) {
        STAILQ_FOREACH_SAFE(element, lxw_hash->order_list,
                            lxw_hash_order_pointers, element_temp) {
            if (lxw_hash->free_key)
                free(element->key);
            if (lxw_hash->free_value)
                free(element->value);
            free(element);
        }
    }

    /* Free the buckets from the hash table. */
    for (i = 0; i < lxw_hash->num_buckets; i++) {
        free(lxw_hash->buckets[i]);
    }

    free(lxw_hash->order_list);
    free(lxw_hash->buckets);
    free(lxw_hash);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x2b798
jmp 0x2b877
movq -0x8(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x2b81a
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
xorl %eax, %eax
cmpq $0x0, -0x18(%rbp)
movb %al, -0x21(%rbp)
je 0x2b7cf
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x20(%rbp)
movb $0x1, %al
movb %al, -0x21(%rbp)
movb -0x21(%rbp), %al
testb $0x1, %al
jne 0x2b7d8
jmp 0x2b818
movq -0x8(%rbp), %rax
cmpb $0x0, 0xc(%rax)
je 0x2b7ee
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
cmpb $0x0, 0xd(%rax)
je 0x2b805
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xc0d0
movq -0x18(%rbp), %rdi
callq 0xc0d0
movq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x2b7b2
jmp 0x2b81a
movq $0x0, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movl (%rcx), %ecx
cmpq %rcx, %rax
jae 0x2b854
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0xc0d0
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x2b822
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0xc0d0
movq -0x8(%rbp), %rdi
callq 0xc0d0
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/metadata.c
// Function: lxw_metadata_new
lxw_metadata *
lxw_metadata_new(void)
{
    lxw_metadata *metadata = calloc(1, sizeof(lxw_metadata));
    GOTO_LABEL_ON_MEM_ERROR(metadata, mem_error);

    return metadata;

mem_error:
    lxw_metadata_free(metadata);
    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl $0x1, %edi
movl $0x8, %esi
callq 0xc870
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x2b8c8
movq 0x5174f(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x3a81d(%rip), %rsi     # 0x660d0
leaq 0x3d03d(%rip), %rdx     # 0x688f7
movl $0x1f, %ecx
movb $0x0, %al
callq 0xc8f0
jmp 0x2b8d4
jmp 0x2b8ca
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x2b8e5
movq -0x10(%rbp), %rdi
callq 0xc290
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/metadata.c
// Function: lxw_metadata_assemble_xml_file
void
lxw_metadata_assemble_xml_file(lxw_metadata *self)
{
    /* Write the XML declaration. */
    _metadata_xml_declaration(self);

    /* Write the metadata element. */
    _metadata_write_metadata(self);

    /* Write the metadataTypes element. */
    _metadata_write_metadata_types(self);

    /* Write the futureMetadata element. */
    _metadata_write_future_metadata(self);

    /* Write the cellMetadata element. */
    _metadata_write_cell_metadata(self);

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x2b980
movq -0x8(%rbp), %rdi
callq 0x2b9a0
movq -0x8(%rbp), %rdi
callq 0x2bae0
movq -0x8(%rbp), %rdi
callq 0x2bbc0
movq -0x8(%rbp), %rdi
callq 0x2bd40
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x3cf9b(%rip), %rsi     # 0x68902
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/metadata.c
// Function: metadata_write_metadata
STATIC void
_metadata_write_metadata(lxw_metadata *self)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;
    char xmlns[] = "http://schemas.openxmlformats.org/"
        "spreadsheetml/2006/main";
    char xmlns_xda[] = "http://schemas.microsoft.com/office/"
        "spreadsheetml/2017/dynamicarray";

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_STR("xmlns", xmlns);
    LXW_PUSH_ATTRIBUTES_STR("xmlns:xda", xmlns_xda);

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

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x8(%rbp)
leaq -0x60(%rbp), %rdi
leaq 0x3c296(%rip), %rsi     # 0x67c50
movl $0x3a, %edx
callq 0xc980
leaq -0xb0(%rbp), %rdi
leaq 0x3d06e(%rip), %rsi     # 0x68a40
movl $0x44, %edx
callq 0xc980
movq $0x0, -0x18(%rbp)
leaq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x2b9ee
leaq -0x60(%rbp), %rsi
leaq 0x3a708(%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 0x2ba2c
jmp 0x2ba2e
leaq -0xb0(%rbp), %rsi
leaq 0x3cecf(%rip), %rdi     # 0x6890b
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 0x2ba6f
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x3ce85(%rip), %rsi     # 0x68902
leaq -0x18(%rbp), %rdx
callq 0xc390
jmp 0x2ba88
cmpq $0x0, -0x18(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x2ba98
jmp 0x2baca
movq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
jne 0x2babd
leaq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x2babf
movq -0x20(%rbp), %rdi
callq 0xc0d0
jmp 0x2ba88
jmp 0x2bacc
addq $0xb0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/metadata.c
// Function: metadata_write_metadata_types
STATIC void
_metadata_write_metadata_types(lxw_metadata *self)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_INT("count", 1);

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

    /* Write the metadataType element. */
    _metadata_write_metadata_type(self);

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

    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 0x2bafe
leaq 0x3ce10(%rip), %rdi     # 0x68915
movl $0x1, %esi
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 0x2bb3d
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x3cdd0(%rip), %rsi     # 0x6891b
leaq -0x18(%rbp), %rdx
callq 0xc390
movq -0x8(%rbp), %rdi
callq 0x2be50
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x3cdb0(%rip), %rsi     # 0x6891b
callq 0xc060
jmp 0x2bb72
cmpq $0x0, -0x18(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x2bb82
jmp 0x2bbb4
movq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
jne 0x2bba7
leaq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x2bba9
movq -0x20(%rbp), %rdi
callq 0xc0d0
jmp 0x2bb72
jmp 0x2bbb6
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/metadata.c
// Function: metadata_write_future_metadata
STATIC void
_metadata_write_future_metadata(lxw_metadata *self)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_STR("name", "XLDAPR");
    LXW_PUSH_ATTRIBUTES_INT("count", 1);

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

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

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

    /* Write the ext element. */
    _metadata_write_ext(self);

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

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

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

    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 0x2bbde
leaq 0x3b5ca(%rip), %rdi     # 0x671af
leaq 0x3cd3d(%rip), %rsi     # 0x68929
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 0x2bc1f
jmp 0x2bc21
leaq 0x3cced(%rip), %rdi     # 0x68915
movl $0x1, %esi
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 0x2bc60
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x3cd4c(%rip), %rsi     # 0x689ba
leaq -0x18(%rbp), %rdx
callq 0xc390
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x3cd44(%rip), %rsi     # 0x689c9
xorl %eax, %eax
movl %eax, %edx
callq 0xc390
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x3c93f(%rip), %rsi     # 0x685db
xorl %eax, %eax
movl %eax, %edx
callq 0xc390
movq -0x8(%rbp), %rdi
callq 0x2c220
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x3c91f(%rip), %rsi     # 0x685db
callq 0xc060
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x3ccfa(%rip), %rsi     # 0x689c9
callq 0xc060
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x3ccd8(%rip), %rsi     # 0x689ba
callq 0xc060
jmp 0x2bce9
cmpq $0x0, -0x18(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x2bcf9
jmp 0x2bd2b
movq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
jne 0x2bd1e
leaq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x2bd20
movq -0x20(%rbp), %rdi
callq 0xc0d0
jmp 0x2bce9
jmp 0x2bd2d
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/metadata.c
// Function: metadata_write_cell_metadata
STATIC void
_metadata_write_cell_metadata(lxw_metadata *self)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_STR("count", "1");

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

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

    /* Write the rc element. */
    _metadata_write_rc(self);

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

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

    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 0x2bd5e
leaq 0x3cbb0(%rip), %rdi     # 0x68915
leaq 0x3f704(%rip), %rsi     # 0x6b470
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 0x2bd9f
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x3cc75(%rip), %rsi     # 0x68a22
leaq -0x18(%rbp), %rdx
callq 0xc390
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x3cc05(%rip), %rsi     # 0x689c9
xorl %eax, %eax
movl %eax, %edx
callq 0xc390
movq -0x8(%rbp), %rdi
callq 0x2c410
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x3cbe5(%rip), %rsi     # 0x689c9
callq 0xc060
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x3cc2b(%rip), %rsi     # 0x68a22
callq 0xc060
jmp 0x2bdfe
cmpq $0x0, -0x18(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x2be0e
jmp 0x2be40
movq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
jne 0x2be33
leaq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x2be35
movq -0x20(%rbp), %rdi
callq 0xc0d0
jmp 0x2bdfe
jmp 0x2be42
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/metadata.c
// Function: metadata_write_ext
STATIC void
_metadata_write_ext(lxw_metadata *self)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_STR("uri", "{bdbb8cdc-fa1e-496e-a857-3c3f30c029c3}");

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

    /* Write the xda:dynamicArrayProperties element. */
    _metadata_write_xda_dynamic_array_properties(self);

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

    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 0x2c23e
leaq 0x3c3f1(%rip), %rdi     # 0x68636
leaq 0x3c780(%rip), %rsi     # 0x689cc
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 0x2c27f
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x3c37e(%rip), %rsi     # 0x6860b
leaq -0x18(%rbp), %rdx
callq 0xc390
movq -0x8(%rbp), %rdi
callq 0x2c300
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x3c35e(%rip), %rsi     # 0x6860b
callq 0xc060
jmp 0x2c2b4
cmpq $0x0, -0x18(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x2c2c4
jmp 0x2c2f6
movq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
jne 0x2c2e9
leaq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x2c2eb
movq -0x20(%rbp), %rdi
callq 0xc0d0
jmp 0x2c2b4
jmp 0x2c2f8
addq $0x20, %rsp
popq %rbp
retq
nop