// File: /workspace/github_cpp_makefile_star2_O1/Ciaxur[P]yagb-emu/include/imgui/imgui_demo.cpp
// Function: ImGui::ShowAboutWindow(bool*)
void ImGui::ShowAboutWindow(bool* p_open)
{
    if (!ImGui::Begin("About Dear ImGui", p_open, ImGuiWindowFlags_AlwaysAutoResize))
    {
        ImGui::End();
        return;
    }
    ImGui::Text("Dear ImGui %s", ImGui::GetVersion());
    ImGui::Separator();
    ImGui::Text("By Omar Cornut and all Dear ImGui contributors.");
    ImGui::Text("Dear ImGui is licensed under the MIT License, see LICENSE for more information.");

    static bool show_config_info = false;
    ImGui::Checkbox("Config/Build Information", &show_config_info);
    if (show_config_info)
    {
        ImGuiIO& io = ImGui::GetIO();
        ImGuiStyle& style = ImGui::GetStyle();

        bool copy_to_clipboard = ImGui::Button("Copy to clipboard");
        ImVec2 child_size = ImVec2(0, ImGui::GetTextLineHeightWithSpacing() * 18);
        ImGui::BeginChildFrame(ImGui::GetID("cfg_infos"), child_size, ImGuiWindowFlags_NoMove);
        if (copy_to_clipboard)
        {
            ImGui::LogToClipboard();
            ImGui::LogText("```\n"); // Back quotes will make text appears without formatting when pasting on GitHub
        }

        ImGui::Text("Dear ImGui %s (%d)", IMGUI_VERSION, IMGUI_VERSION_NUM);
        ImGui::Separator();
        ImGui::Text("sizeof(size_t): %d, sizeof(ImDrawIdx): %d, sizeof(ImDrawVert): %d", (int)sizeof(size_t), (int)sizeof(ImDrawIdx), (int)sizeof(ImDrawVert));
        ImGui::Text("define: __cplusplus=%d", (int)__cplusplus);
#ifdef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
        ImGui::Text("define: IMGUI_DISABLE_OBSOLETE_FUNCTIONS");
#endif
#ifdef IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS
        ImGui::Text("define: IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS");
#endif
#ifdef IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS
        ImGui::Text("define: IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS");
#endif
#ifdef IMGUI_DISABLE_WIN32_FUNCTIONS
        ImGui::Text("define: IMGUI_DISABLE_WIN32_FUNCTIONS");
#endif
#ifdef IMGUI_DISABLE_DEFAULT_FORMAT_FUNCTIONS
        ImGui::Text("define: IMGUI_DISABLE_DEFAULT_FORMAT_FUNCTIONS");
#endif
#ifdef IMGUI_DISABLE_DEFAULT_MATH_FUNCTIONS
        ImGui::Text("define: IMGUI_DISABLE_DEFAULT_MATH_FUNCTIONS");
#endif
#ifdef IMGUI_DISABLE_DEFAULT_FILE_FUNCTIONS
        ImGui::Text("define: IMGUI_DISABLE_DEFAULT_FILE_FUNCTIONS");
#endif
#ifdef IMGUI_DISABLE_FILE_FUNCTIONS
        ImGui::Text("define: IMGUI_DISABLE_FILE_FUNCTIONS");
#endif
#ifdef IMGUI_DISABLE_DEFAULT_ALLOCATORS
        ImGui::Text("define: IMGUI_DISABLE_DEFAULT_ALLOCATORS");
#endif
#ifdef IMGUI_USE_BGRA_PACKED_COLOR
        ImGui::Text("define: IMGUI_USE_BGRA_PACKED_COLOR");
#endif
#ifdef _WIN32
        ImGui::Text("define: _WIN32");
#endif
#ifdef _WIN64
        ImGui::Text("define: _WIN64");
#endif
#ifdef __linux__
        ImGui::Text("define: __linux__");
#endif
#ifdef __APPLE__
        ImGui::Text("define: __APPLE__");
#endif
#ifdef _MSC_VER
        ImGui::Text("define: _MSC_VER=%d", _MSC_VER);
#endif
#ifdef _MSVC_LANG
        ImGui::Text("define: _MSVC_LANG=%d", (int)_MSVC_LANG);
#endif
#ifdef __MINGW32__
        ImGui::Text("define: __MINGW32__");
#endif
#ifdef __MINGW64__
        ImGui::Text("define: __MINGW64__");
#endif
#ifdef __GNUC__
        ImGui::Text("define: __GNUC__=%d", (int)__GNUC__);
#endif
#ifdef __clang_version__
        ImGui::Text("define: __clang_version__=%s", __clang_version__);
#endif
        ImGui::Separator();
        ImGui::Text("io.BackendPlatformName: %s", io.BackendPlatformName ? io.BackendPlatformName : "NULL");
        ImGui::Text("io.BackendRendererName: %s", io.BackendRendererName ? io.BackendRendererName : "NULL");
        ImGui::Text("io.ConfigFlags: 0x%08X", io.ConfigFlags);
        if (io.ConfigFlags & ImGuiConfigFlags_NavEnableKeyboard)        ImGui::Text(" NavEnableKeyboard");
        if (io.ConfigFlags & ImGuiConfigFlags_NavEnableGamepad)         ImGui::Text(" NavEnableGamepad");
        if (io.ConfigFlags & ImGuiConfigFlags_NavEnableSetMousePos)     ImGui::Text(" NavEnableSetMousePos");
        if (io.ConfigFlags & ImGuiConfigFlags_NavNoCaptureKeyboard)     ImGui::Text(" NavNoCaptureKeyboard");
        if (io.ConfigFlags & ImGuiConfigFlags_NoMouse)                  ImGui::Text(" NoMouse");
        if (io.ConfigFlags & ImGuiConfigFlags_NoMouseCursorChange)      ImGui::Text(" NoMouseCursorChange");
        if (io.MouseDrawCursor)                                         ImGui::Text("io.MouseDrawCursor");
        if (io.ConfigMacOSXBehaviors)                                   ImGui::Text("io.ConfigMacOSXBehaviors");
        if (io.ConfigInputTextCursorBlink)                              ImGui::Text("io.ConfigInputTextCursorBlink");
        if (io.ConfigWindowsResizeFromEdges)                            ImGui::Text("io.ConfigWindowsResizeFromEdges");
        if (io.ConfigWindowsMoveFromTitleBarOnly)                       ImGui::Text("io.ConfigWindowsMoveFromTitleBarOnly");
        if (io.ConfigMemoryCompactTimer >= 0.0f)                        ImGui::Text("io.ConfigMemoryCompactTimer = %.1f", io.ConfigMemoryCompactTimer);
        ImGui::Text("io.BackendFlags: 0x%08X", io.BackendFlags);
        if (io.BackendFlags & ImGuiBackendFlags_HasGamepad)             ImGui::Text(" HasGamepad");
        if (io.BackendFlags & ImGuiBackendFlags_HasMouseCursors)        ImGui::Text(" HasMouseCursors");
        if (io.BackendFlags & ImGuiBackendFlags_HasSetMousePos)         ImGui::Text(" HasSetMousePos");
        if (io.BackendFlags & ImGuiBackendFlags_RendererHasVtxOffset)   ImGui::Text(" RendererHasVtxOffset");
        ImGui::Separator();
        ImGui::Text("io.Fonts: %d fonts, Flags: 0x%08X, TexSize: %d,%d", io.Fonts->Fonts.Size, io.Fonts->Flags, io.Fonts->TexWidth, io.Fonts->TexHeight);
        ImGui::Text("io.DisplaySize: %.2f,%.2f", io.DisplaySize.x, io.DisplaySize.y);
        ImGui::Text("io.DisplayFramebufferScale: %.2f,%.2f", io.DisplayFramebufferScale.x, io.DisplayFramebufferScale.y);
        ImGui::Separator();
        ImGui::Text("style.WindowPadding: %.2f,%.2f", style.WindowPadding.x, style.WindowPadding.y);
        ImGui::Text("style.WindowBorderSize: %.2f", style.WindowBorderSize);
        ImGui::Text("style.FramePadding: %.2f,%.2f", style.FramePadding.x, style.FramePadding.y);
        ImGui::Text("style.FrameRounding: %.2f", style.FrameRounding);
        ImGui::Text("style.FrameBorderSize: %.2f", style.FrameBorderSize);
        ImGui::Text("style.ItemSpacing: %.2f,%.2f", style.ItemSpacing.x, style.ItemSpacing.y);
        ImGui::Text("style.ItemInnerSpacing: %.2f,%.2f", style.ItemInnerSpacing.x, style.ItemInnerSpacing.y);

        if (copy_to_clipboard)
        {
            ImGui::LogText("\n```\n");
            ImGui::LogFinish();
        }
        ImGui::EndChildFrame();
    }
    ImGui::End();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rsi
leaq 0x5862e(%rip), %rdi     # 0xbd76d
movl $0x40, %edx
callq 0x4c3ad
testb %al, %al
je 0x655c7
callq 0x472b3
leaq 0x55771(%rip), %rdi     # 0xba8ce
movq %rax, %rsi
xorl %eax, %eax
callq 0x92024
callq 0x9552a
leaq 0x59208(%rip), %rdi     # 0xbe37b
xorl %eax, %eax
callq 0x92024
leaq 0x5922a(%rip), %rdi     # 0xbe3ab
xorl %eax, %eax
callq 0x92024
leaq 0x5926c(%rip), %rdi     # 0xbe3fb
leaq 0x98b73(%rip), %rsi     # 0xfdd09
callq 0x9450c
cmpb $0x1, 0x98b67(%rip)     # 0xfdd09
jne 0x655c7
callq 0x47c7c
movq %rax, %r15
callq 0x44587
movq %rax, %rbx
leaq -0x28(%rbp), %r12
movq $0x0, (%r12)
leaq 0x59249(%rip), %rdi     # 0xbe414
movq %r12, %rsi
callq 0x93128
movl %eax, %r14d
callq 0x573e7
mulss 0x57d1d(%rip), %xmm0    # 0xbcf00
movl $0x0, (%r12)
movss %xmm0, 0x4(%r12)
leaq 0x5922d(%rip), %rdi     # 0xbe426
callq 0x561cd
leaq -0x28(%rbp), %rsi
movl %eax, %edi
movl $0x4, %edx
callq 0x53844
testb %r14b, %r14b
je 0x6522b
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x5a1ab
leaq 0x59514(%rip), %rdi     # 0xbe738
xorl %eax, %eax
callq 0x59e5b
leaq 0x591fe(%rip), %rdi     # 0xbe430
leaq 0x51e9a(%rip), %rsi     # 0xb70d3
movl $0x4651, %edx           # imm = 0x4651
xorl %eax, %eax
callq 0x92024
callq 0x9552a
leaq 0x591f2(%rip), %rdi     # 0xbe443
movl $0x8, %esi
movl $0x2, %edx
movl $0x14, %ecx
xorl %eax, %eax
callq 0x92024
leaq 0x59217(%rip), %rdi     # 0xbe485
movl $0x313e7, %esi          # imm = 0x313E7
xorl %eax, %eax
callq 0x92024
leaq 0x5921b(%rip), %rdi     # 0xbe49c
xorl %eax, %eax
callq 0x92024
leaq 0x5921f(%rip), %rdi     # 0xbe4ae
movl $0x4, %esi
xorl %eax, %eax
callq 0x92024
leaq 0x59220(%rip), %rdi     # 0xbe4c2
leaq 0x59236(%rip), %rsi     # 0xbe4df
xorl %eax, %eax
callq 0x92024
callq 0x9552a
movq 0xd0(%r15), %rsi
testq %rsi, %rsi
leaq 0x56058(%rip), %r12     # 0xbb31e
cmoveq %r12, %rsi
leaq 0x5926e(%rip), %rdi     # 0xbe53f
xorl %eax, %eax
callq 0x92024
movq 0xd8(%r15), %rsi
testq %rsi, %rsi
cmoveq %r12, %rsi
leaq 0x5926d(%rip), %rdi     # 0xbe55a
xorl %eax, %eax
callq 0x92024
movl (%r15), %esi
leaq 0x59277(%rip), %rdi     # 0xbe575
xorl %eax, %eax
callq 0x92024
testb $0x1, (%r15)
je 0x65319
leaq 0x5871f(%rip), %rdi     # 0xbda31
xorl %eax, %eax
callq 0x92024
testb $0x2, (%r15)
je 0x6532d
leaq 0x58747(%rip), %rdi     # 0xbda6d
xorl %eax, %eax
callq 0x92024
testb $0x4, (%r15)
je 0x65341
leaq 0x587e2(%rip), %rdi     # 0xbdb1c
xorl %eax, %eax
callq 0x92024
testb $0x8, (%r15)
je 0x65355
leaq 0x5923e(%rip), %rdi     # 0xbe58c
xorl %eax, %eax
callq 0x92024
testb $0x10, (%r15)
je 0x65369
leaq 0x58844(%rip), %rdi     # 0xbdba6
xorl %eax, %eax
callq 0x92024
testb $0x20, (%r15)
je 0x6537d
leaq 0x58863(%rip), %rdi     # 0xbdbd9
xorl %eax, %eax
callq 0x92024
cmpb $0x1, 0xc0(%r15)
jne 0x65395
leaq 0x58a8b(%rip), %rdi     # 0xbde19
xorl %eax, %eax
callq 0x92024
cmpb $0x1, 0xc1(%r15)
jne 0x653ad
leaq 0x591fc(%rip), %rdi     # 0xbe5a2
xorl %eax, %eax
callq 0x92024
cmpb $0x1, 0xc2(%r15)
jne 0x653c5
leaq 0x58871(%rip), %rdi     # 0xbdc2f
xorl %eax, %eax
callq 0x92024
cmpb $0x1, 0xc4(%r15)
jne 0x653dd
leaq 0x58946(%rip), %rdi     # 0xbdd1c
xorl %eax, %eax
callq 0x92024
cmpb $0x1, 0xc5(%r15)
jne 0x653f5
leaq 0x58a06(%rip), %rdi     # 0xbddf4
xorl %eax, %eax
callq 0x92024
movss 0xc8(%r15), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jb 0x65418
cvtss2sd %xmm0, %xmm0
leaq 0x591aa(%rip), %rdi     # 0xbe5bb
movb $0x1, %al
callq 0x92024
movl 0x4(%r15), %esi
leaq 0x591bb(%rip), %rdi     # 0xbe5de
xorl %eax, %eax
callq 0x92024
testb $0x1, 0x4(%r15)
je 0x6543f
leaq 0x58c51(%rip), %rdi     # 0xbe089
xorl %eax, %eax
callq 0x92024
testb $0x2, 0x4(%r15)
je 0x65454
leaq 0x58c58(%rip), %rdi     # 0xbe0a5
xorl %eax, %eax
callq 0x92024
testb $0x4, 0x4(%r15)
je 0x65469
leaq 0x58c64(%rip), %rdi     # 0xbe0c6
xorl %eax, %eax
callq 0x92024
testb $0x8, 0x4(%r15)
je 0x6547e
leaq 0x58c6f(%rip), %rdi     # 0xbe0e6
xorl %eax, %eax
callq 0x92024
callq 0x9552a
movq 0xa0(%r15), %rax
movl 0x40(%rax), %esi
movl 0x4(%rax), %edx
movl 0x28(%rax), %ecx
movl 0x2c(%rax), %r8d
leaq 0x59158(%rip), %rdi     # 0xbe5f6
xorl %eax, %eax
callq 0x92024
xorps %xmm0, %xmm0
cvtss2sd 0x8(%r15), %xmm0
xorps %xmm1, %xmm1
cvtss2sd 0xc(%r15), %xmm1
leaq 0x5916a(%rip), %rdi     # 0xbe628
movb $0x2, %al
callq 0x92024
xorps %xmm0, %xmm0
cvtss2sd 0xb8(%r15), %xmm0
xorps %xmm1, %xmm1
cvtss2sd 0xbc(%r15), %xmm1
leaq 0x5915e(%rip), %rdi     # 0xbe642
movb $0x2, %al
callq 0x92024
callq 0x9552a
xorps %xmm0, %xmm0
cvtss2sd 0x4(%rbx), %xmm0
xorps %xmm1, %xmm1
cvtss2sd 0x8(%rbx), %xmm1
leaq 0x59161(%rip), %rdi     # 0xbe668
movb $0x2, %al
callq 0x92024
xorps %xmm0, %xmm0
cvtss2sd 0x10(%rbx), %xmm0
leaq 0x5916a(%rip), %rdi     # 0xbe687
movb $0x1, %al
callq 0x92024
xorps %xmm0, %xmm0
cvtss2sd 0x38(%rbx), %xmm0
xorps %xmm1, %xmm1
cvtss2sd 0x3c(%rbx), %xmm1
leaq 0x59169(%rip), %rdi     # 0xbe6a4
movb $0x2, %al
callq 0x92024
xorps %xmm0, %xmm0
cvtss2sd 0x40(%rbx), %xmm0
leaq 0x59171(%rip), %rdi     # 0xbe6c2
movb $0x1, %al
callq 0x92024
xorps %xmm0, %xmm0
cvtss2sd 0x44(%rbx), %xmm0
leaq 0x59175(%rip), %rdi     # 0xbe6dc
movb $0x1, %al
callq 0x92024
xorps %xmm0, %xmm0
cvtss2sd 0x48(%rbx), %xmm0
xorps %xmm1, %xmm1
cvtss2sd 0x4c(%rbx), %xmm1
leaq 0x59173(%rip), %rdi     # 0xbe6f8
movb $0x2, %al
callq 0x92024
xorps %xmm0, %xmm0
cvtss2sd 0x50(%rbx), %xmm0
xorps %xmm1, %xmm1
cvtss2sd 0x54(%rbx), %xmm1
leaq 0x59172(%rip), %rdi     # 0xbe715
movb $0x2, %al
callq 0x92024
testb %r14b, %r14b
je 0x655c2
leaq 0x59181(%rip), %rdi     # 0xbe737
xorl %eax, %eax
callq 0x59e5b
callq 0x54763
callq 0x538e5
callq 0x51ace
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq