// File: /workspace/github_c_makefile_star2_O2/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 0x3c1b0
movq 0x8(%rbx), %r14
jmp 0x3c43a
movl %esi, %ebp
pushq $0x1
popq %rdi
pushq $0x48
popq %rsi
callq 0xc850
movq %rax, %r14
testq %rax, %rax
je 0x3c448
movl %ebp, (%r14)
pushq $0x1
popq %rdi
pushq $0x8
popq %rsi
callq 0xc850
movq %rax, 0x20(%r14)
movabsq $0x402e000000000000, %rcx # imm = 0x402E000000000000
movq %rcx, 0x8(%r14)
testq %rax, %rax
je 0x3c44f
xorl %eax, %eax
pushq $0x1
popq %rcx
pushq $0x28
popq %rsi
pushq $0x30
popq %rdi
movq %rbx, %r8
xorl %edx, %edx
movq (%r8), %r15
testq %r15, %r15
je 0x3c234
movl (%r14), %eax
movl (%r15), %r9d
cmpl %r9d, %eax
movl $0x0, %edx
sbbl %edx, %edx
movq %rsi, %r8
cmpl %r9d, %eax
cmoval %ecx, %edx
jb 0x3c22c
movq %rdi, %r8
testl %edx, %edx
je 0x3c252
addq %r15, %r8
movq %r15, %rax
jmp 0x3c202
movq %rax, 0x38(%r14)
movl $0x1, 0x40(%r14)
movq %rbx, %rcx
testq %rax, %rax
je 0x3c266
testl %edx, %edx
js 0x3c262
leaq 0x30(%rax), %rcx
jmp 0x3c266
movq %r14, %rdi
callq 0x2c7f9
movq %r15, %r14
jmp 0x3c433
leaq 0x28(%rax), %rcx
movq %r14, (%rcx)
movq %r14, %rdx
testq %rax, %rax
je 0x3c42c
cmpl $0x1, 0x40(%rax)
jne 0x3c42c
movq 0x38(%rax), %rcx
movq 0x28(%rcx), %rsi
cmpq %rsi, %rax
je 0x3c2b1
testq %rsi, %rsi
je 0x3c29d
cmpl $0x1, 0x40(%rsi)
jne 0x3c29d
andl $0x0, 0x40(%rsi)
jmp 0x3c2c4
movq 0x28(%rax), %rsi
cmpq %rdx, %rsi
je 0x3c2eb
movq %rax, %rsi
movq %rdx, %rax
jmp 0x3c362
movq 0x30(%rcx), %rdi
testq %rdi, %rdi
je 0x3c2d7
cmpl $0x1, 0x40(%rdi)
jne 0x3c2d7
andl $0x0, 0x40(%rdi)
andl $0x0, 0x40(%rax)
movl $0x1, 0x40(%rcx)
movq %rcx, %rax
jmp 0x3c420
movq 0x30(%rax), %rdi
cmpq %rdx, %rdi
je 0x3c30e
movq %rax, %rdi
movq %rdx, %rax
jmp 0x3c3d9
movq 0x30(%rsi), %rdi
movq %rdi, 0x28(%rax)
testq %rdi, %rdi
je 0x3c33c
movq %rax, 0x38(%rdi)
movq 0x38(%rax), %rdi
movq %rdi, 0x38(%rsi)
movq %rbx, %r8
testq %rdi, %rdi
jne 0x3c344
jmp 0x3c354
movq 0x28(%rdi), %rsi
movq %rsi, 0x30(%rax)
testq %rsi, %rsi
je 0x3c3af
movq %rax, 0x38(%rsi)
movq 0x38(%rax), %rsi
movq %rsi, 0x38(%rdi)
movq %rbx, %r8
testq %rsi, %rsi
jne 0x3c3b7
jmp 0x3c3c7
movq %rcx, 0x38(%rsi)
movq 0x38(%rax), %rdi
leaq 0x28(%rdi), %r9
leaq 0x30(%rdi), %r8
cmpq 0x28(%rdi), %rax
cmoveq %r9, %r8
movq %rsi, (%r8)
movq %rax, 0x30(%rsi)
movq %rsi, 0x38(%rax)
movq %rdx, %rsi
andl $0x0, 0x40(%rsi)
movl $0x1, 0x40(%rcx)
movq 0x30(%rcx), %rdx
movq 0x28(%rdx), %rsi
movq %rsi, 0x30(%rcx)
testq %rsi, %rsi
je 0x3c382
movq %rcx, 0x38(%rsi)
movq 0x38(%rcx), %rdi
movq %rdi, 0x38(%rdx)
movq %rbx, %rsi
testq %rdi, %rdi
je 0x3c3a2
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 0x3c420
movq %rcx, 0x38(%rdi)
movq 0x38(%rax), %rsi
leaq 0x28(%rsi), %r9
leaq 0x30(%rsi), %r8
cmpq 0x28(%rsi), %rax
cmoveq %r9, %r8
movq %rdi, (%r8)
movq %rax, 0x28(%rdi)
movq %rdi, 0x38(%rax)
movq 0x28(%rcx), %rsi
movq %rdx, %rdi
andl $0x0, 0x40(%rdi)
movl $0x1, 0x40(%rcx)
movq 0x30(%rsi), %rdx
movq %rdx, 0x28(%rcx)
testq %rdx, %rdx
je 0x3c3f5
movq %rcx, 0x38(%rdx)
movq 0x38(%rcx), %rdi
movq %rdi, 0x38(%rsi)
movq %rbx, %rdx
testq %rdi, %rdi
je 0x3c415
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 %rax, %rdx
movq 0x38(%rax), %rax
jmp 0x3c26c
movq (%rbx), %rax
andl $0x0, 0x40(%rax)
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, %ecx            # imm = 0x33D
jmp 0x3c454
movl $0x33a, %ecx            # imm = 0x33A
movq 0x16b9d(%rip), %rax     # 0x52ff8
movq (%rax), %rdi
leaq 0xc7b(%rip), %rsi       # 0x3d0e0
leaq 0x7574(%rip), %rdx      # 0x439e0
xorl %eax, %eax
callq 0xc8d0
jmp 0x3c1f2