// File: /workspace/github_cpp_makefile_star2_O2/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 0x515ef(%rip), %rdi     # 0xa2a6d
pushq $0x40
popq %rdx
callq 0x3bad8
testb %al, %al
je 0x518e1
callq 0x37a32
leaq 0x4e464(%rip), %rdi     # 0x9f8fe
movq %rax, %rsi
xorl %eax, %eax
callq 0x795ac
callq 0x7cad7
leaq 0x521cb(%rip), %rdi     # 0xa367b
xorl %eax, %eax
callq 0x795ac
leaq 0x521ed(%rip), %rdi     # 0xa36ab
xorl %eax, %eax
callq 0x795ac
leaq 0x5222f(%rip), %rdi     # 0xa36fb
leaq 0x92846(%rip), %rsi     # 0xe3d19
callq 0x7bae6
cmpb $0x1, 0x9283a(%rip)     # 0xe3d19
jne 0x518cf
callq 0x37e82
movq %rax, %r15
callq 0x35cfd
movq %rax, %rbx
leaq -0x28(%rbp), %r12
andq $0x0, (%r12)
leaq 0x5220f(%rip), %rdi     # 0xa3714
movq %r12, %rsi
callq 0x7a64b
movl %eax, %r14d
callq 0x43eac
mulss 0x50cf3(%rip), %xmm0    # 0xa2210
andl $0x0, (%r12)
movss %xmm0, 0x4(%r12)
leaq 0x521f6(%rip), %rdi     # 0xa3726
callq 0x43030
leaq -0x28(%rbp), %rsi
pushq $0x4
popq %rdx
movl %eax, %edi
callq 0x41204
testb %r14b, %r14b
je 0x5155e
pushq $-0x1
popq %rdi
callq 0x4659c
leaq 0x524e1(%rip), %rdi     # 0xa3a38
xorl %eax, %eax
callq 0x462f3
leaq 0x521cb(%rip), %rdi     # 0xa3730
leaq 0x4ab7b(%rip), %rsi     # 0x9c0e7
movl $0x4651, %edx           # imm = 0x4651
xorl %eax, %eax
callq 0x795ac
callq 0x7cad7
leaq 0x521bf(%rip), %rdi     # 0xa3743
pushq $0x8
popq %rsi
pushq $0x2
popq %rdx
pushq $0x14
popq %rcx
xorl %eax, %eax
callq 0x795ac
leaq 0x521ea(%rip), %rdi     # 0xa3785
movl $0x313e7, %esi          # imm = 0x313E7
xorl %eax, %eax
callq 0x795ac
leaq 0x521ee(%rip), %rdi     # 0xa379c
xorl %eax, %eax
callq 0x795ac
leaq 0x521f2(%rip), %rdi     # 0xa37ae
pushq $0x4
popq %rsi
xorl %eax, %eax
callq 0x795ac
leaq 0x521f5(%rip), %rdi     # 0xa37c2
leaq 0x5220b(%rip), %rsi     # 0xa37df
xorl %eax, %eax
callq 0x795ac
callq 0x7cad7
movq 0xd0(%r15), %rsi
testq %rsi, %rsi
leaq 0x4ed5d(%rip), %r12     # 0xa034e
cmoveq %r12, %rsi
leaq 0x52243(%rip), %rdi     # 0xa383f
xorl %eax, %eax
callq 0x795ac
movq 0xd8(%r15), %rsi
testq %rsi, %rsi
cmoveq %r12, %rsi
leaq 0x52242(%rip), %rdi     # 0xa385a
xorl %eax, %eax
callq 0x795ac
movl (%r15), %esi
leaq 0x5224c(%rip), %rdi     # 0xa3875
xorl %eax, %eax
callq 0x795ac
movl (%r15), %eax
testb $0x1, %al
je 0x51648
leaq 0x516f3(%rip), %rdi     # 0xa2d31
xorl %eax, %eax
callq 0x795ac
movl (%r15), %eax
testb $0x2, %al
je 0x5165d
leaq 0x5171a(%rip), %rdi     # 0xa2d6d
xorl %eax, %eax
callq 0x795ac
movl (%r15), %eax
testb $0x4, %al
je 0x51672
leaq 0x517b4(%rip), %rdi     # 0xa2e1c
xorl %eax, %eax
callq 0x795ac
movl (%r15), %eax
testb $0x8, %al
je 0x51687
leaq 0x5220f(%rip), %rdi     # 0xa388c
xorl %eax, %eax
callq 0x795ac
movl (%r15), %eax
testb $0x10, %al
je 0x5169c
leaq 0x51814(%rip), %rdi     # 0xa2ea6
xorl %eax, %eax
callq 0x795ac
movl (%r15), %eax
testb $0x20, %al
je 0x516ae
leaq 0x51832(%rip), %rdi     # 0xa2ed9
xorl %eax, %eax
callq 0x795ac
cmpb $0x1, 0xc0(%r15)
jne 0x516c6
leaq 0x51a5a(%rip), %rdi     # 0xa3119
xorl %eax, %eax
callq 0x795ac
cmpb $0x1, 0xc1(%r15)
jne 0x516de
leaq 0x521cb(%rip), %rdi     # 0xa38a2
xorl %eax, %eax
callq 0x795ac
cmpb $0x1, 0xc2(%r15)
jne 0x516f6
leaq 0x51840(%rip), %rdi     # 0xa2f2f
xorl %eax, %eax
callq 0x795ac
cmpb $0x1, 0xc4(%r15)
jne 0x5170e
leaq 0x51915(%rip), %rdi     # 0xa301c
xorl %eax, %eax
callq 0x795ac
cmpb $0x1, 0xc5(%r15)
jne 0x51726
leaq 0x519d5(%rip), %rdi     # 0xa30f4
xorl %eax, %eax
callq 0x795ac
movss 0xc8(%r15), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jb 0x51749
cvtss2sd %xmm0, %xmm0
leaq 0x52179(%rip), %rdi     # 0xa38bb
movb $0x1, %al
callq 0x795ac
movl 0x4(%r15), %esi
leaq 0x5218a(%rip), %rdi     # 0xa38de
xorl %eax, %eax
callq 0x795ac
movl 0x4(%r15), %eax
testb $0x1, %al
je 0x51775
leaq 0x51c1f(%rip), %rdi     # 0xa3389
xorl %eax, %eax
callq 0x795ac
movl 0x4(%r15), %eax
testb $0x2, %al
je 0x5178b
leaq 0x51c25(%rip), %rdi     # 0xa33a5
xorl %eax, %eax
callq 0x795ac
movl 0x4(%r15), %eax
testb $0x4, %al
je 0x517a1
leaq 0x51c30(%rip), %rdi     # 0xa33c6
xorl %eax, %eax
callq 0x795ac
movl 0x4(%r15), %eax
testb $0x8, %al
je 0x517b3
leaq 0x51c3a(%rip), %rdi     # 0xa33e6
xorl %eax, %eax
callq 0x795ac
callq 0x7cad7
movq 0xa0(%r15), %rax
movl 0x40(%rax), %esi
movl 0x4(%rax), %edx
movl 0x28(%rax), %ecx
movl 0x2c(%rax), %r8d
leaq 0x52123(%rip), %rdi     # 0xa38f6
xorl %eax, %eax
callq 0x795ac
cvtss2sd 0x8(%r15), %xmm0
cvtss2sd 0xc(%r15), %xmm1
leaq 0x5213b(%rip), %rdi     # 0xa3928
movb $0x2, %al
callq 0x795ac
cvtss2sd 0xb8(%r15), %xmm0
cvtss2sd 0xbc(%r15), %xmm1
leaq 0x52135(%rip), %rdi     # 0xa3942
movb $0x2, %al
callq 0x795ac
callq 0x7cad7
cvtss2sd 0x4(%rbx), %xmm0
cvtss2sd 0x8(%rbx), %xmm1
leaq 0x5213e(%rip), %rdi     # 0xa3968
movb $0x2, %al
callq 0x795ac
cvtss2sd 0x10(%rbx), %xmm0
leaq 0x5214a(%rip), %rdi     # 0xa3987
movb $0x1, %al
callq 0x795ac
cvtss2sd 0x38(%rbx), %xmm0
cvtss2sd 0x3c(%rbx), %xmm1
leaq 0x5214f(%rip), %rdi     # 0xa39a4
movb $0x2, %al
callq 0x795ac
cvtss2sd 0x40(%rbx), %xmm0
leaq 0x5215a(%rip), %rdi     # 0xa39c2
movb $0x1, %al
callq 0x795ac
cvtss2sd 0x44(%rbx), %xmm0
leaq 0x52161(%rip), %rdi     # 0xa39dc
movb $0x1, %al
callq 0x795ac
cvtss2sd 0x48(%rbx), %xmm0
cvtss2sd 0x4c(%rbx), %xmm1
leaq 0x52165(%rip), %rdi     # 0xa39f8
movb $0x2, %al
callq 0x795ac
cvtss2sd 0x50(%rbx), %xmm0
cvtss2sd 0x54(%rbx), %xmm1
leaq 0x5216a(%rip), %rdi     # 0xa3a15
movb $0x2, %al
callq 0x795ac
testb %r14b, %r14b
je 0x518ca
leaq 0x52179(%rip), %rdi     # 0xa3a37
xorl %eax, %eax
callq 0x462f3
callq 0x41ef0
callq 0x412a1
callq 0x3f958
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x3f958