// File: Ciaxur[P]yagb-emu/include/imgui/imgui_tables.cpp
// Function: ImGui::TableSetupScrollFreeze(int, int)
void ImGui::TableSetupScrollFreeze(int columns, int rows)
{
    ImGuiContext& g = *GImGui;
    ImGuiTable* table = g.CurrentTable;
    IM_ASSERT(table != NULL && "Need to call TableSetupColumn() after BeginTable()!");
    IM_ASSERT(table->IsLayoutLocked == false && "Need to call TableSetupColumn() before first row!");
    IM_ASSERT(columns >= 0 && columns < IMGUI_TABLE_MAX_COLUMNS);
    IM_ASSERT(rows >= 0 && rows < 128); // Arbitrary limit

    table->FreezeColumnsRequest = (table->Flags & ImGuiTableFlags_ScrollX) ? (ImGuiTableColumnIdx)columns : 0;
    table->FreezeColumnsCount = (table->InnerWindow->Scroll.x != 0.0f) ? table->FreezeColumnsRequest : 0;
    table->FreezeRowsRequest = (table->Flags & ImGuiTableFlags_ScrollY) ? (ImGuiTableColumnIdx)rows : 0;
    table->FreezeRowsCount = (table->InnerWindow->Scroll.y != 0.0f) ? table->FreezeRowsRequest : 0;
    table->IsUnfrozenRows = (table->FreezeRowsCount == 0); // Make sure this is set before TableUpdateLayout() so ImGuiListClipper can benefit from it.b
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
leaq 0xe215b(%rip), %rax     # 0x212f40
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x20a8(%rax), %rax
movq %rax, -0x18(%rbp)
xorl %eax, %eax
cmpq $0x0, -0x18(%rbp)
movb %al, -0x19(%rbp)
je 0x130e0e
movb $0x1, %al
movb %al, -0x19(%rbp)
jmp 0x130e0e
movb -0x19(%rbp), %al
testb $0x1, %al
jne 0x130e17
jmp 0x130e19
jmp 0x130e38
leaq 0x5b7d7(%rip), %rdi     # 0x18c5f7
leaq 0x5b17b(%rip), %rsi     # 0x18bfa2
movl $0x58f, %edx            # imm = 0x58F
leaq 0x5bafc(%rip), %rcx     # 0x18c92f
callq 0xd180
movq -0x18(%rbp), %rax
movb 0x248(%rax), %al
andb $0x1, %al
movzbl %al, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x1a(%rbp)
jne 0x130e58
movb $0x1, %al
movb %al, -0x1a(%rbp)
jmp 0x130e58
movb -0x1a(%rbp), %al
testb $0x1, %al
jne 0x130e61
jmp 0x130e63
jmp 0x130e82
leaq 0x5bb24(%rip), %rdi     # 0x18c98e
leaq 0x5b131(%rip), %rsi     # 0x18bfa2
movl $0x590, %edx            # imm = 0x590
leaq 0x5bab2(%rip), %rcx     # 0x18c92f
callq 0xd180
xorl %eax, %eax
cmpl $0x0, -0x4(%rbp)
movb %al, -0x1b(%rbp)
jl 0x130e97
cmpl $0x40, -0x4(%rbp)
setl %al
movb %al, -0x1b(%rbp)
movb -0x1b(%rbp), %al
testb $0x1, %al
jne 0x130ea0
jmp 0x130ea2
jmp 0x130ec1
leaq 0x5bb3b(%rip), %rdi     # 0x18c9e4
leaq 0x5b0f2(%rip), %rsi     # 0x18bfa2
movl $0x591, %edx            # imm = 0x591
leaq 0x5ba73(%rip), %rcx     # 0x18c92f
callq 0xd180
xorl %eax, %eax
cmpl $0x0, -0x8(%rbp)
movb %al, -0x1c(%rbp)
jl 0x130ed9
cmpl $0x80, -0x8(%rbp)
setl %al
movb %al, -0x1c(%rbp)
movb -0x1c(%rbp), %al
testb $0x1, %al
jne 0x130ee2
jmp 0x130ee4
jmp 0x130f03
leaq 0x5bb16(%rip), %rdi     # 0x18ca01
leaq 0x5b0b0(%rip), %rsi     # 0x18bfa2
movl $0x592, %edx            # imm = 0x592
leaq 0x5ba31(%rip), %rcx     # 0x18c92f
callq 0xd180
movq -0x18(%rbp), %rax
movl 0x4(%rax), %eax
andl $0x1000000, %eax        # imm = 0x1000000
cmpl $0x0, %eax
je 0x130f1f
movl -0x4(%rbp), %eax
movsbl %al, %eax
movl %eax, -0x20(%rbp)
jmp 0x130f26
xorl %eax, %eax
movl %eax, -0x20(%rbp)
jmp 0x130f26
movl -0x20(%rbp), %eax
movb %al, %cl
movq -0x18(%rbp), %rax
movb %cl, 0x242(%rax)
movq -0x18(%rbp), %rax
movq 0x1d0(%rax), %rax
movss 0x5c(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x130f51
jp 0x130f51
jmp 0x130f61
movq -0x18(%rbp), %rax
movsbl 0x242(%rax), %eax
movl %eax, -0x24(%rbp)
jmp 0x130f68
xorl %eax, %eax
movl %eax, -0x24(%rbp)
jmp 0x130f68
movl -0x24(%rbp), %eax
movb %al, %cl
movq -0x18(%rbp), %rax
movb %cl, 0x243(%rax)
movq -0x18(%rbp), %rax
movl 0x4(%rax), %eax
andl $0x2000000, %eax        # imm = 0x2000000
cmpl $0x0, %eax
je 0x130f93
movl -0x8(%rbp), %eax
movsbl %al, %eax
movl %eax, -0x28(%rbp)
jmp 0x130f9a
xorl %eax, %eax
movl %eax, -0x28(%rbp)
jmp 0x130f9a
movl -0x28(%rbp), %eax
movb %al, %cl
movq -0x18(%rbp), %rax
movb %cl, 0x240(%rax)
movq -0x18(%rbp), %rax
movq 0x1d0(%rax), %rax
movss 0x60(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x130fc5
jp 0x130fc5
jmp 0x130fd5
movq -0x18(%rbp), %rax
movsbl 0x240(%rax), %eax
movl %eax, -0x2c(%rbp)
jmp 0x130fdc
xorl %eax, %eax
movl %eax, -0x2c(%rbp)
jmp 0x130fdc
movl -0x2c(%rbp), %eax
movb %al, %cl
movq -0x18(%rbp), %rax
movb %cl, 0x241(%rax)
movq -0x18(%rbp), %rax
movsbl 0x241(%rax), %eax
cmpl $0x0, %eax
sete %cl
movq -0x18(%rbp), %rax
andb $0x1, %cl
movb %cl, 0x253(%rax)
addq $0x30, %rsp
popq %rbp
retq
nop