// File: /workspace/github_cpp_makefile_star2_O1/Ciaxur[P]yagb-emu/include/imgui/imgui_tables.cpp
// Function: TableSettingsHandler_ReadLine(ImGuiContext*, ImGuiSettingsHandler*, void*, char const*)
static void TableSettingsHandler_ReadLine(ImGuiContext*, ImGuiSettingsHandler*, void* entry, const char* line)
{
    // "Column 0  UserID=0x42AD2D21 Width=100 Visible=1 Order=0 Sort=0v"
    ImGuiTableSettings* settings = (ImGuiTableSettings*)entry;
    float f = 0.0f;
    int column_n = 0, r = 0, n = 0;

    if (sscanf(line, "RefScale=%f", &f) == 1) { settings->RefScale = f; return; }

    if (sscanf(line, "Column %d%n", &column_n, &r) == 1)
    {
        if (column_n < 0 || column_n >= settings->ColumnsCount)
            return;
        line = ImStrSkipBlank(line + r);
        char c = 0;
        ImGuiTableColumnSettings* column = settings->GetColumnSettings() + column_n;
        column->Index = (ImGuiTableColumnIdx)column_n;
        if (sscanf(line, "UserID=0x%08X%n", (ImU32*)&n, &r)==1) { line = ImStrSkipBlank(line + r); column->UserID = (ImGuiID)n; }
        if (sscanf(line, "Width=%d%n", &n, &r) == 1)            { line = ImStrSkipBlank(line + r); column->WidthOrWeight = (float)n; column->IsStretch = 0; settings->SaveFlags |= ImGuiTableFlags_Resizable; }
        if (sscanf(line, "Weight=%f%n", &f, &r) == 1)           { line = ImStrSkipBlank(line + r); column->WidthOrWeight = f; column->IsStretch = 1; settings->SaveFlags |= ImGuiTableFlags_Resizable; }
        if (sscanf(line, "Visible=%d%n", &n, &r) == 1)          { line = ImStrSkipBlank(line + r); column->IsEnabled = (ImU8)n; settings->SaveFlags |= ImGuiTableFlags_Hideable; }
        if (sscanf(line, "Order=%d%n", &n, &r) == 1)            { line = ImStrSkipBlank(line + r); column->DisplayOrder = (ImGuiTableColumnIdx)n; settings->SaveFlags |= ImGuiTableFlags_Reorderable; }
        if (sscanf(line, "Sort=%d%c%n", &n, &c, &r) == 2)       { line = ImStrSkipBlank(line + r); column->SortOrder = (ImGuiTableColumnIdx)n; column->SortDirection = (c == '^') ? ImGuiSortDirection_Descending : ImGuiSortDirection_Ascending; settings->SaveFlags |= ImGuiTableFlags_Sortable; }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x20, %rsp
movq %rcx, %r14
movq %rdx, %rbx
xorl %eax, %eax
leaq -0x34(%rbp), %rdx
movl %eax, (%rdx)
movl %eax, -0x30(%rbp)
movl %eax, -0x24(%rbp)
movl %eax, -0x2c(%rbp)
leaq 0x436f3(%rip), %rsi     # 0xd28ad
movq %rcx, %rdi
xorl %eax, %eax
callq 0xc0c0
cmpl $0x1, %eax
jne 0x8f1d8
movss -0x34(%rbp), %xmm0
movss %xmm0, 0x8(%rbx)
jmp 0x8f3d9
leaq 0x436da(%rip), %rsi     # 0xd28b9
leaq -0x30(%rbp), %rdx
leaq -0x24(%rbp), %rcx
movq %r14, %rdi
xorl %eax, %eax
callq 0xc0c0
cmpl $0x1, %eax
jne 0x8f3d9
movl -0x30(%rbp), %eax
testl %eax, %eax
js 0x8f3d9
movsbl 0xc(%rbx), %ecx
cmpl %ecx, %eax
jge 0x8f3d9
leaq -0x24(%rbp), %r15
movslq (%r15), %rax
addq %rax, %r14
movq %r14, %rdi
callq 0x427b0
movq %rax, %r14
movb $0x0, -0x25(%rbp)
movslq -0x30(%rbp), %rax
leaq (%rax,%rax,2), %rcx
leaq 0x10(%rbx,%rcx,4), %r12
movb %al, 0x8(%r12)
leaq 0x43682(%rip), %rsi     # 0xd28c5
leaq -0x2c(%rbp), %rdx
movq %r14, %rdi
movq %r15, %rcx
xorl %eax, %eax
callq 0xc0c0
cmpl $0x1, %eax
jne 0x8f273
movslq -0x24(%rbp), %rax
addq %rax, %r14
movq %r14, %rdi
callq 0x427b0
movq %rax, %r14
movl -0x2c(%rbp), %eax
movl %eax, 0x4(%r12)
leaq 0x4365b(%rip), %rsi     # 0xd28d5
leaq -0x2c(%rbp), %rdx
leaq -0x24(%rbp), %rcx
movq %r14, %rdi
xorl %eax, %eax
callq 0xc0c0
cmpl $0x1, %eax
jne 0x8f2b8
movslq -0x24(%rbp), %rax
addq %rax, %r14
movq %r14, %rdi
callq 0x427b0
cvtsi2ssl -0x2c(%rbp), %xmm0
movss %xmm0, (%r12)
andb $-0x9, 0xb(%r12)
movq %rax, %r14
orb $0x1, 0x4(%rbx)
leaq 0x43621(%rip), %rsi     # 0xd28e0
leaq -0x34(%rbp), %rdx
leaq -0x24(%rbp), %rcx
movq %r14, %rdi
xorl %eax, %eax
callq 0xc0c0
cmpl $0x1, %eax
jne 0x8f2fd
movslq -0x24(%rbp), %rax
addq %rax, %r14
movq %r14, %rdi
callq 0x427b0
movss -0x34(%rbp), %xmm0
movss %xmm0, (%r12)
orb $0x8, 0xb(%r12)
movq %rax, %r14
orb $0x1, 0x4(%rbx)
leaq 0x435e8(%rip), %rsi     # 0xd28ec
leaq -0x2c(%rbp), %rdx
leaq -0x24(%rbp), %rcx
movq %r14, %rdi
xorl %eax, %eax
callq 0xc0c0
cmpl $0x1, %eax
jne 0x8f348
movslq -0x24(%rbp), %rax
addq %rax, %r14
movq %r14, %rdi
callq 0x427b0
movq %rax, %r14
movb -0x2c(%rbp), %al
movb 0xb(%r12), %cl
shlb $0x2, %al
andb $0x4, %al
andb $-0x5, %cl
orb %al, %cl
movb %cl, 0xb(%r12)
orb $0x4, 0x4(%rbx)
leaq 0x435aa(%rip), %rsi     # 0xd28f9
leaq -0x2c(%rbp), %rdx
leaq -0x24(%rbp), %rcx
movq %r14, %rdi
xorl %eax, %eax
callq 0xc0c0
cmpl $0x1, %eax
jne 0x8f384
movslq -0x24(%rbp), %rax
addq %rax, %r14
movq %r14, %rdi
callq 0x427b0
movq %rax, %r14
movb -0x2c(%rbp), %al
movb %al, 0x9(%r12)
orb $0x2, 0x4(%rbx)
leaq 0x43579(%rip), %rsi     # 0xd2904
leaq -0x2c(%rbp), %rdx
leaq -0x25(%rbp), %rcx
leaq -0x24(%rbp), %r8
movq %r14, %rdi
xorl %eax, %eax
callq 0xc0c0
cmpl $0x2, %eax
jne 0x8f3d9
movslq -0x24(%rbp), %rax
addq %rax, %r14
movq %r14, %rdi
callq 0x427b0
movb -0x2c(%rbp), %al
movb %al, 0xa(%r12)
cmpb $0x5e, -0x25(%rbp)
sete %al
movb 0xb(%r12), %cl
andb $-0x4, %cl
orb %al, %cl
incb %cl
movb %cl, 0xb(%r12)
orb $0x8, 0x4(%rbx)
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq