// File: /workspace/github_c_makefile_star2_O1/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: get_row_list
STATIC lxw_row *
_get_row_list(struct lxw_table_rows *table, lxw_row_t row_num)
{
    lxw_row *row;
    lxw_row *existing_row;

    if (table->cached_row_num == row_num)
        return table->cached_row;

    /* Create a new row and try and insert it. */
    row = _new_row(row_num);
    existing_row = RB_INSERT(lxw_table_rows, table, row);

    /* If existing_row is not NULL, then it already existed. Free new row */
    /* and return existing_row. */
    if (existing_row) {
        _free_row(row);
        row = existing_row;
    }

    table->cached_row = row;
    table->cached_row_num = row_num;

    return row;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
cmpl %esi, 0x10(%rdi)
jne 0x3ee20
movq 0x8(%rbx), %r15
jmp 0x3f0b7
movl %esi, %ebp
movl $0x1, %edi
movl $0x48, %esi
callq 0xc7f0
movq %rax, %r14
testq %rax, %rax
je 0x3f0c5
movl %ebp, (%r14)
movl $0x1, %edi
movl $0x8, %esi
callq 0xc7f0
movq %rax, 0x20(%r14)
movabsq $0x402e000000000000, %rcx # imm = 0x402E000000000000
movq %rcx, 0x8(%r14)
testq %rax, %rax
je 0x3f0cf
movq $0x0, (%rax)
movq (%rbx), %rdx
testq %rdx, %rdx
je 0x3eeaf
movl (%r14), %eax
movq %rdx, %r15
movl (%rdx), %ecx
movl $0x28, %edx
cmpl %ecx, %eax
jb 0x3ee95
movl $0x30, %edx
je 0x3f09e
movq (%r15,%rdx), %rdx
testq %rdx, %rdx
jne 0x3ee7c
xorl %edx, %edx
cmpl %ecx, %eax
setae %dl
leaq 0x28(,%rdx,8), %rax
jmp 0x3eeb7
movl $0x30, %eax
xorl %r15d, %r15d
movq %r15, 0x38(%r14)
xorps %xmm0, %xmm0
movups %xmm0, 0x28(%r14)
movl $0x1, 0x40(%r14)
testq %r15, %r15
je 0x3f08e
movq %r14, (%r15,%rax)
xorl %eax, %eax
movq %r14, %rdx
cmpl $0x1, 0x40(%r15)
jne 0x3f091
movq 0x38(%r15), %rcx
movq 0x28(%rcx), %rsi
cmpq %rsi, %r15
je 0x3ef14
testq %rsi, %rsi
je 0x3ef00
cmpl $0x1, 0x40(%rsi)
je 0x3ef23
movq 0x28(%r15), %rsi
cmpq %rdx, %rsi
je 0x3ef51
movq %r15, %rsi
movq %rdx, %r15
jmp 0x3ef94
movq 0x30(%rcx), %rsi
testq %rsi, %rsi
je 0x3ef39
cmpl $0x1, 0x40(%rsi)
jne 0x3ef39
movl %eax, 0x40(%rsi)
movl %eax, 0x40(%r15)
movl $0x1, 0x40(%rcx)
movq %rcx, %r15
jmp 0x3f07c
movq 0x30(%r15), %rsi
cmpq %rdx, %rsi
je 0x3efe7
movq %r15, %rsi
movq %rdx, %r15
jmp 0x3f02a
movq 0x30(%rsi), %rdi
movq %rdi, 0x28(%r15)
testq %rdi, %rdi
je 0x3ef62
movq %r15, 0x38(%rdi)
movq 0x38(%r15), %r8
movq %r8, 0x38(%rsi)
movq %rbx, %rdi
testq %r8, %r8
je 0x3ef86
movq 0x38(%r15), %r8
leaq 0x28(%r8), %r9
leaq 0x30(%r8), %rdi
cmpq 0x28(%r8), %r15
cmoveq %r9, %rdi
movq %rsi, (%rdi)
movq %r15, 0x30(%rsi)
movq %rsi, 0x38(%r15)
movq %rdx, %rsi
movl $0x0, 0x40(%rsi)
movl $0x1, 0x40(%rcx)
movq 0x30(%rcx), %rdx
movq 0x28(%rdx), %rsi
movq %rsi, 0x30(%rcx)
testq %rsi, %rsi
je 0x3efb7
movq %rcx, 0x38(%rsi)
movq 0x38(%rcx), %rdi
movq %rdi, 0x38(%rdx)
movq %rbx, %rsi
testq %rdi, %rdi
je 0x3efdb
movq 0x38(%rcx), %rdi
leaq 0x28(%rdi), %r8
leaq 0x30(%rdi), %rsi
cmpq 0x28(%rdi), %rcx
cmoveq %r8, %rsi
movq %rdx, (%rsi)
movq %rcx, 0x28(%rdx)
jmp 0x3f078
movq 0x28(%rsi), %rdi
movq %rdi, 0x30(%r15)
testq %rdi, %rdi
je 0x3eff8
movq %r15, 0x38(%rdi)
movq 0x38(%r15), %r8
movq %r8, 0x38(%rsi)
movq %rbx, %rdi
testq %r8, %r8
je 0x3f01c
movq 0x38(%r15), %r8
leaq 0x28(%r8), %r9
leaq 0x30(%r8), %rdi
cmpq 0x28(%r8), %r15
cmoveq %r9, %rdi
movq %rsi, (%rdi)
movq %r15, 0x28(%rsi)
movq %rsi, 0x38(%r15)
movq %rdx, %rsi
movl $0x0, 0x40(%rsi)
movl $0x1, 0x40(%rcx)
movq 0x28(%rcx), %rdx
movq 0x30(%rdx), %rsi
movq %rsi, 0x28(%rcx)
testq %rsi, %rsi
je 0x3f04d
movq %rcx, 0x38(%rsi)
movq 0x38(%rcx), %rdi
movq %rdi, 0x38(%rdx)
movq %rbx, %rsi
testq %rdi, %rdi
je 0x3f071
movq 0x38(%rcx), %rdi
leaq 0x28(%rdi), %r8
leaq 0x30(%rdi), %rsi
cmpq 0x28(%rdi), %rcx
cmoveq %r8, %rsi
movq %rdx, (%rsi)
movq %rcx, 0x30(%rdx)
movq %rdx, 0x38(%rcx)
movq %r15, %rdx
movq 0x38(%r15), %r15
testq %r15, %r15
jne 0x3eedd
jmp 0x3f091
movq %r14, (%rbx)
movq (%rbx), %rax
movl $0x0, 0x40(%rax)
xorl %r15d, %r15d
testq %r15, %r15
je 0x3f0ad
movq %r14, %rdi
callq 0x2f89d
jmp 0x3f0b0
movq %r14, %r15
movq %r15, 0x8(%rbx)
movl %ebp, 0x10(%rbx)
movq %r15, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
callq 0xf8d9
jmp 0x3ee71
callq 0xf8b5
jmp 0x3ee71
nopl (%rax)