// File: /workspace/github_c_makefile_star2_O3/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 0x3f073
movq 0x8(%rbx), %r14
jmp 0x3f2f9
movl %esi, %ebp
movl $0x1, %edi
movl $0x48, %esi
callq 0xc7f0
movq %rax, %r14
testq %rax, %rax
je 0x3f307
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 0x3f30e
movq (%rbx), %rdx
testq %rdx, %rdx
je 0x3f2d0
movl (%r14), %eax
movq %rdx, %r15
movl (%rdx), %ecx
movl $0x28, %edx
cmpl %ecx, %eax
jb 0x3f0e5
movl $0x30, %edx
je 0x3f2e7
movq (%r15,%rdx), %rdx
testq %rdx, %rdx
jne 0x3f0cc
xorl %edx, %edx
cmpl %ecx, %eax
setae %dl
movq %r15, 0x38(%r14)
movl $0x1, 0x40(%r14)
movq %r14, 0x28(%r15,%rdx,8)
xorl %eax, %eax
movq %r14, %rdx
cmpl $0x1, 0x40(%r15)
jne 0x3f2cb
movq 0x38(%r15), %rcx
movq 0x28(%rcx), %rsi
cmpq %rsi, %r15
je 0x3f147
testq %rsi, %rsi
je 0x3f133
cmpl $0x1, 0x40(%rsi)
jne 0x3f133
movl %eax, 0x40(%rsi)
jmp 0x3f159
movq 0x28(%r15), %rsi
cmpq %rdx, %rsi
je 0x3f180
movq %r15, %rsi
movq %rdx, %r15
jmp 0x3f1f7
movq 0x30(%rcx), %rdi
testq %rdi, %rdi
je 0x3f16c
cmpl $0x1, 0x40(%rdi)
jne 0x3f16c
movl %eax, 0x40(%rdi)
movl %eax, 0x40(%r15)
movl $0x1, 0x40(%rcx)
movq %rcx, %r15
jmp 0x3f2bb
movq 0x30(%r15), %rdi
cmpq %rdx, %rdi
je 0x3f1a3
movq %r15, %rdi
movq %rdx, %r15
jmp 0x3f271
movq 0x30(%rsi), %rdi
movq %rdi, 0x28(%r15)
testq %rdi, %rdi
je 0x3f1d1
movq %r15, 0x38(%rdi)
movq 0x38(%r15), %rdi
movq %rdi, 0x38(%rsi)
movq %rbx, %r8
testq %rdi, %rdi
jne 0x3f1d9
jmp 0x3f1e9
movq 0x28(%rdi), %rsi
movq %rsi, 0x30(%r15)
testq %rsi, %rsi
je 0x3f247
movq %r15, 0x38(%rsi)
movq 0x38(%r15), %rsi
movq %rsi, 0x38(%rdi)
movq %rbx, %r8
testq %rsi, %rsi
jne 0x3f24f
jmp 0x3f25f
movq %rcx, 0x38(%rsi)
movq 0x38(%r15), %rdi
leaq 0x28(%rdi), %r9
leaq 0x30(%rdi), %r8
cmpq 0x28(%rdi), %r15
cmoveq %r9, %r8
movq %rsi, (%r8)
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 0x3f21a
movq %rcx, 0x38(%rsi)
movq 0x38(%rcx), %rdi
movq %rdi, 0x38(%rdx)
movq %rbx, %rsi
testq %rdi, %rdi
je 0x3f23a
leaq 0x28(%rdi), %r8
leaq 0x30(%rdi), %rsi
cmpq 0x28(%rdi), %rcx
cmoveq %r8, %rsi
movq %rdx, (%rsi)
movq %rcx, 0x28(%rdx)
movq %rdx, 0x38(%rcx)
jmp 0x3f2bb
movq %rcx, 0x38(%rdi)
movq 0x38(%r15), %rsi
leaq 0x28(%rsi), %r9
leaq 0x30(%rsi), %r8
cmpq 0x28(%rsi), %r15
cmoveq %r9, %r8
movq %rdi, (%r8)
movq %r15, 0x28(%rdi)
movq %rdi, 0x38(%r15)
movq 0x28(%rcx), %rsi
movq %rdx, %rdi
movl $0x0, 0x40(%rdi)
movl $0x1, 0x40(%rcx)
movq 0x30(%rsi), %rdx
movq %rdx, 0x28(%rcx)
testq %rdx, %rdx
je 0x3f290
movq %rcx, 0x38(%rdx)
movq 0x38(%rcx), %rdi
movq %rdi, 0x38(%rsi)
movq %rbx, %rdx
testq %rdi, %rdi
je 0x3f2b0
leaq 0x28(%rdi), %r8
leaq 0x30(%rdi), %rdx
cmpq 0x28(%rdi), %rcx
cmoveq %r8, %rdx
movq %rsi, (%rdx)
movq %rcx, 0x30(%rsi)
movq %rsi, 0x38(%rcx)
movq %r15, %rdx
movq 0x38(%r15), %r15
testq %r15, %r15
jne 0x3f10b
movq (%rbx), %rax
jmp 0x3f2de
movl $0x1, 0x40(%r14)
movq %r14, (%rbx)
movq %r14, %rax
movl $0x0, 0x40(%rax)
jmp 0x3f2f2
movq %r14, %rdi
callq 0x2f9ff
movq %r15, %r14
movq %r14, 0x8(%rbx)
movl %ebp, 0x10(%rbx)
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x33d, %edi            # imm = 0x33D
jmp 0x3f313
movl $0x33a, %edi            # imm = 0x33A
callq 0xfc98
jmp 0x3f0bd
nopl (%rax)