// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: write_row
STATIC void
_write_row(lxw_worksheet *self, lxw_row *row, char *spans)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;
    int32_t xf_index = 0;
    double height;

    if (row->format) {
        xf_index = lxw_format_get_xf_index(row->format);
    }

    if (row->height_changed)
        height = row->height;
    else
        height = self->default_row_height;

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_INT("r", row->row_num + 1);

    if (spans)
        LXW_PUSH_ATTRIBUTES_STR("spans", spans);

    if (xf_index)
        LXW_PUSH_ATTRIBUTES_INT("s", xf_index);

    if (row->format)
        LXW_PUSH_ATTRIBUTES_STR("customFormat", "1");

    if (height != LXW_DEF_ROW_HEIGHT)
        LXW_PUSH_ATTRIBUTES_DBL("ht", height);

    if (row->hidden)
        LXW_PUSH_ATTRIBUTES_STR("hidden", "1");

    if (height != LXW_DEF_ROW_HEIGHT)
        LXW_PUSH_ATTRIBUTES_STR("customHeight", "1");

    if (row->level)
        LXW_PUSH_ATTRIBUTES_INT("outlineLevel", row->level);

    if (row->collapsed)
        LXW_PUSH_ATTRIBUTES_STR("collapsed", "1");

    if (self->excel_version == 2010)
        LXW_PUSH_ATTRIBUTES_STR("x14ac:dyDescent", "0.25");

    if (!row->data_changed)
        lxw_xml_empty_tag(self->file, "row", &attributes);
    else
        lxw_xml_start_tag(self->file, "row", &attributes);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x0, -0x34(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x4ba96
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0xca40
movl %eax, -0x34(%rbp)
movq -0x10(%rbp), %rax
cmpb $0x0, 0x1d(%rax)
je 0x4bab0
movq -0x10(%rbp), %rax
movsd 0x8(%rax), %xmm0
movsd %xmm0, -0x40(%rbp)
jmp 0x4bac1
movq -0x8(%rbp), %rax
movsd 0x198(%rax), %xmm0
movsd %xmm0, -0x40(%rbp)
jmp 0x4bac3
movq $0x0, -0x28(%rbp)
leaq -0x28(%rbp), %rax
movq %rax, -0x20(%rbp)
jmp 0x4bad5
movq -0x10(%rbp), %rax
movl (%rax), %eax
addl $0x1, %eax
movl %eax, %eax
movl %eax, %esi
leaq 0x1b5e0(%rip), %rdi     # 0x670c9
callq 0xc1b0
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 0x4bb1c
cmpq $0x0, -0x18(%rbp)
je 0x4bb65
jmp 0x4bb25
movq -0x18(%rbp), %rsi
leaq 0x224b3(%rip), %rdi     # 0x6dfe3
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 0x4bb63
jmp 0x4bb65
cmpl $0x0, -0x34(%rbp)
je 0x4bbad
jmp 0x4bb6d
movslq -0x34(%rbp), %rsi
leaq 0x20d2d(%rip), %rdi     # 0x6c8a5
callq 0xc1b0
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 0x4bbab
jmp 0x4bbad
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x4bbfd
jmp 0x4bbba
leaq 0x22428(%rip), %rdi     # 0x6dfe9
leaq 0x1f8a8(%rip), %rsi     # 0x6b470
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 0x4bbfb
jmp 0x4bbfd
movsd -0x40(%rbp), %xmm0
movsd 0x206b6(%rip), %xmm1    # 0x6c2c0
ucomisd %xmm1, %xmm0
jne 0x4bc14
jp 0x4bc14
jmp 0x4bc57
jmp 0x4bc16
movsd -0x40(%rbp), %xmm0
leaq 0x2277b(%rip), %rdi     # 0x6e39d
callq 0xcd20
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 0x4bc55
jmp 0x4bc57
movq -0x10(%rbp), %rax
cmpb $0x0, 0x18(%rax)
je 0x4bca6
jmp 0x4bc63
leaq 0x1da97(%rip), %rdi     # 0x69701
leaq 0x1f7ff(%rip), %rsi     # 0x6b470
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 0x4bca4
jmp 0x4bca6
movsd -0x40(%rbp), %xmm0
movsd 0x2060d(%rip), %xmm1    # 0x6c2c0
ucomisd %xmm1, %xmm0
jne 0x4bcbd
jp 0x4bcbd
jmp 0x4bd02
jmp 0x4bcbf
leaq 0x22330(%rip), %rdi     # 0x6dff6
leaq 0x1f7a3(%rip), %rsi     # 0x6b470
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 0x4bd00
jmp 0x4bd02
movq -0x10(%rbp), %rax
cmpb $0x0, 0x19(%rax)
je 0x4bd54
jmp 0x4bd0e
movq -0x10(%rbp), %rax
movzbl 0x19(%rax), %eax
movl %eax, %esi
leaq 0x222e4(%rip), %rdi     # 0x6e003
callq 0xc1b0
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 0x4bd52
jmp 0x4bd54
movq -0x10(%rbp), %rax
cmpb $0x0, 0x1a(%rax)
je 0x4bda3
jmp 0x4bd60
leaq 0x222a9(%rip), %rdi     # 0x6e010
leaq 0x1f702(%rip), %rsi     # 0x6b470
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 0x4bda1
jmp 0x4bda3
movq -0x8(%rbp), %rax
movzwl 0x340(%rax), %eax
cmpl $0x7da, %eax            # imm = 0x7DA
jne 0x4bdfa
jmp 0x4bdb7
leaq 0x2225c(%rip), %rdi     # 0x6e01a
leaq 0x22265(%rip), %rsi     # 0x6e02a
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 0x4bdf8
jmp 0x4bdfa
movq -0x10(%rbp), %rax
cmpb $0x0, 0x1c(%rax)
jne 0x4be1d
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x1c74f(%rip), %rsi     # 0x68561
leaq -0x28(%rbp), %rdx
callq 0xcca0
jmp 0x4be34
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x1c736(%rip), %rsi     # 0x68561
leaq -0x28(%rbp), %rdx
callq 0xc390
jmp 0x4be36
jmp 0x4be38
cmpq $0x0, -0x28(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x4be48
jmp 0x4be7a
movq -0x28(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
jne 0x4be6d
leaq -0x28(%rbp), %rax
movq %rax, -0x20(%rbp)
jmp 0x4be6f
movq -0x30(%rbp), %rdi
callq 0xc0d0
jmp 0x4be38
jmp 0x4be7c
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)