// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: worksheet_set_row_opt
lxw_error
worksheet_set_row_opt(lxw_worksheet *self,
                      lxw_row_t row_num,
                      double height,
                      lxw_format *format, lxw_row_col_options *user_options)
{

    lxw_col_t min_col;
    uint8_t hidden = LXW_FALSE;
    uint8_t level = 0;
    uint8_t collapsed = LXW_FALSE;
    lxw_row *row;
    lxw_error err;

    if (user_options) {
        hidden = user_options->hidden;
        level = user_options->level;
        collapsed = user_options->collapsed;
    }

    /* Use minimum col in _check_dimensions(). */
    if (self->dim_colmin != LXW_COL_MAX)
        min_col = self->dim_colmin;
    else
        min_col = 0;

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

    /* If the height is 0 the row is hidden and the height is the default. */
    if (height == 0) {
        hidden = LXW_TRUE;
        height = self->default_row_height;
    }

    /* Ensure the level is <= 7). */
    if (level > 7)
        level = 7;

    if (level > self->outline_row_level)
        self->outline_row_level = level;

    /* Store the row properties. */
    row = _get_row(self, row_num);

    row->height = height;
    row->format = format;
    row->hidden = hidden;
    row->level = level;
    row->collapsed = collapsed;
    row->row_changed = LXW_TRUE;

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

    return LXW_NO_ERROR;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movsd %xmm0, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movb $0x0, -0x33(%rbp)
movb $0x0, -0x34(%rbp)
movb $0x0, -0x35(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0x526dc
movq -0x30(%rbp), %rax
movb (%rax), %al
movb %al, -0x33(%rbp)
movq -0x30(%rbp), %rax
movb 0x1(%rax), %al
movb %al, -0x34(%rbp)
movq -0x30(%rbp), %rax
movb 0x2(%rax), %al
movb %al, -0x35(%rbp)
movq -0x10(%rbp), %rax
movzwl 0xac(%rax), %eax
cmpl $0x4000, %eax           # imm = 0x4000
je 0x526ff
movq -0x10(%rbp), %rax
movw 0xac(%rax), %ax
movw %ax, -0x32(%rbp)
jmp 0x52705
movw $0x0, -0x32(%rbp)
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
xorl %r8d, %r8d
movzwl -0x32(%rbp), %edx
movl %r8d, %ecx
callq 0x4ff90
movl %eax, -0x44(%rbp)
cmpl $0x0, -0x44(%rbp)
je 0x5272f
movl -0x44(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x527f7
movsd -0x20(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x52754
jp 0x52754
movb $0x1, -0x33(%rbp)
movq -0x10(%rbp), %rax
movsd 0x198(%rax), %xmm0
movsd %xmm0, -0x20(%rbp)
movzbl -0x34(%rbp), %eax
cmpl $0x7, %eax
jle 0x52761
movb $0x7, -0x34(%rbp)
movzbl -0x34(%rbp), %eax
movq -0x10(%rbp), %rcx
movzbl 0x1aa(%rcx), %ecx
cmpl %ecx, %eax
jle 0x52781
movb -0x34(%rbp), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x1aa(%rax)
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x52800
movq %rax, -0x40(%rbp)
movsd -0x20(%rbp), %xmm0
movq -0x40(%rbp), %rax
movsd %xmm0, 0x8(%rax)
movq -0x28(%rbp), %rcx
movq -0x40(%rbp), %rax
movq %rcx, 0x10(%rax)
movb -0x33(%rbp), %cl
movq -0x40(%rbp), %rax
movb %cl, 0x18(%rax)
movb -0x34(%rbp), %cl
movq -0x40(%rbp), %rax
movb %cl, 0x19(%rax)
movb -0x35(%rbp), %cl
movq -0x40(%rbp), %rax
movb %cl, 0x1a(%rax)
movq -0x40(%rbp), %rax
movb $0x1, 0x1b(%rax)
movsd -0x20(%rbp), %xmm0
movq -0x10(%rbp), %rax
ucomisd 0x198(%rax), %xmm0
jne 0x527e8
jp 0x527e8
jmp 0x527f0
movq -0x40(%rbp), %rax
movb $0x1, 0x1d(%rax)
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq