// File: /workspace/github_cpp_makefile_star2_O3/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 0x57745(%rip), %rdi     # 0xbb73d
movl $0x40, %edx
callq 0x4b741
testb %al, %al
je 0x6449c
callq 0x4678f
leaq 0x548b8(%rip), %rdi     # 0xb88ce
movq %rax, %rsi
xorl %eax, %eax
callq 0x90323
callq 0x93890
leaq 0x5831f(%rip), %rdi     # 0xbc34b
xorl %eax, %eax
callq 0x90323
leaq 0x58341(%rip), %rdi     # 0xbc37b
xorl %eax, %eax
callq 0x90323
leaq 0x58383(%rip), %rdi     # 0xbc3cb
leaq 0x97cba(%rip), %rsi     # 0xfbd09
callq 0x9286b
cmpb $0x1, 0x97cae(%rip)     # 0xfbd09
jne 0x6448a
callq 0x4714d
movq %rax, %r15
callq 0x43b94
movq %rax, %rbx
leaq -0x28(%rbp), %r12
movq $0x0, (%r12)
leaq 0x58360(%rip), %rdi     # 0xbc3e4
movq %r12, %rsi
callq 0x9141e
movl %eax, %r14d
callq 0x562e2
mulss 0x56e34(%rip), %xmm0    # 0xbaed0
movl $0x0, (%r12)
movss %xmm0, 0x4(%r12)
leaq 0x58344(%rip), %rdi     # 0xbc3f6
callq 0x550c7
leaq -0x28(%rbp), %rsi
movl %eax, %edi
movl $0x4, %edx
callq 0x52864
testb %r14b, %r14b
je 0x640e4
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x59008
leaq 0x5862b(%rip), %rdi     # 0xbc708
xorl %eax, %eax
callq 0x58cc1
leaq 0x58315(%rip), %rdi     # 0xbc400
leaq 0x50fe1(%rip), %rsi     # 0xb50d3
movl $0x4651, %edx           # imm = 0x4651
xorl %eax, %eax
callq 0x90323
callq 0x93890
leaq 0x58309(%rip), %rdi     # 0xbc413
movl $0x8, %esi
movl $0x2, %edx
movl $0x14, %ecx
xorl %eax, %eax
callq 0x90323
leaq 0x5832e(%rip), %rdi     # 0xbc455
movl $0x313e7, %esi          # imm = 0x313E7
xorl %eax, %eax
callq 0x90323
leaq 0x58332(%rip), %rdi     # 0xbc46c
xorl %eax, %eax
callq 0x90323
leaq 0x58336(%rip), %rdi     # 0xbc47e
movl $0x4, %esi
xorl %eax, %eax
callq 0x90323
leaq 0x58337(%rip), %rdi     # 0xbc492
leaq 0x5834d(%rip), %rsi     # 0xbc4af
xorl %eax, %eax
callq 0x90323
callq 0x93890
movq 0xd0(%r15), %rsi
testq %rsi, %rsi
leaq 0x5519f(%rip), %r12     # 0xb931e
cmoveq %r12, %rsi
leaq 0x58385(%rip), %rdi     # 0xbc50f
xorl %eax, %eax
callq 0x90323
movq 0xd8(%r15), %rsi
testq %rsi, %rsi
cmoveq %r12, %rsi
leaq 0x58384(%rip), %rdi     # 0xbc52a
xorl %eax, %eax
callq 0x90323
movl (%r15), %esi
leaq 0x5838e(%rip), %rdi     # 0xbc545
xorl %eax, %eax
callq 0x90323
movl (%r15), %eax
testb $0x1, %al
je 0x641d6
leaq 0x57835(%rip), %rdi     # 0xbba01
xorl %eax, %eax
callq 0x90323
movl (%r15), %eax
testb $0x2, %al
je 0x641eb
leaq 0x5785c(%rip), %rdi     # 0xbba3d
xorl %eax, %eax
callq 0x90323
movl (%r15), %eax
testb $0x4, %al
je 0x64200
leaq 0x578f6(%rip), %rdi     # 0xbbaec
xorl %eax, %eax
callq 0x90323
movl (%r15), %eax
testb $0x8, %al
je 0x64215
leaq 0x58351(%rip), %rdi     # 0xbc55c
xorl %eax, %eax
callq 0x90323
movl (%r15), %eax
testb $0x10, %al
je 0x6422a
leaq 0x57956(%rip), %rdi     # 0xbbb76
xorl %eax, %eax
callq 0x90323
movl (%r15), %eax
testb $0x20, %al
je 0x6423c
leaq 0x57974(%rip), %rdi     # 0xbbba9
xorl %eax, %eax
callq 0x90323
cmpb $0x1, 0xc0(%r15)
jne 0x64254
leaq 0x57b9c(%rip), %rdi     # 0xbbde9
xorl %eax, %eax
callq 0x90323
cmpb $0x1, 0xc1(%r15)
jne 0x6426c
leaq 0x5830d(%rip), %rdi     # 0xbc572
xorl %eax, %eax
callq 0x90323
cmpb $0x1, 0xc2(%r15)
jne 0x64284
leaq 0x57982(%rip), %rdi     # 0xbbbff
xorl %eax, %eax
callq 0x90323
cmpb $0x1, 0xc4(%r15)
jne 0x6429c
leaq 0x57a57(%rip), %rdi     # 0xbbcec
xorl %eax, %eax
callq 0x90323
cmpb $0x1, 0xc5(%r15)
jne 0x642b4
leaq 0x57b17(%rip), %rdi     # 0xbbdc4
xorl %eax, %eax
callq 0x90323
movss 0xc8(%r15), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jb 0x642d7
cvtss2sd %xmm0, %xmm0
leaq 0x582bb(%rip), %rdi     # 0xbc58b
movb $0x1, %al
callq 0x90323
movl 0x4(%r15), %esi
leaq 0x582cc(%rip), %rdi     # 0xbc5ae
xorl %eax, %eax
callq 0x90323
movl 0x4(%r15), %eax
testb $0x1, %al
je 0x64303
leaq 0x57d61(%rip), %rdi     # 0xbc059
xorl %eax, %eax
callq 0x90323
movl 0x4(%r15), %eax
testb $0x2, %al
je 0x64319
leaq 0x57d67(%rip), %rdi     # 0xbc075
xorl %eax, %eax
callq 0x90323
movl 0x4(%r15), %eax
testb $0x4, %al
je 0x6432f
leaq 0x57d72(%rip), %rdi     # 0xbc096
xorl %eax, %eax
callq 0x90323
movl 0x4(%r15), %eax
testb $0x8, %al
je 0x64341
leaq 0x57d7c(%rip), %rdi     # 0xbc0b6
xorl %eax, %eax
callq 0x90323
callq 0x93890
movq 0xa0(%r15), %rax
movl 0x40(%rax), %esi
movl 0x4(%rax), %edx
movl 0x28(%rax), %ecx
movl 0x2c(%rax), %r8d
leaq 0x58265(%rip), %rdi     # 0xbc5c6
xorl %eax, %eax
callq 0x90323
xorps %xmm0, %xmm0
cvtss2sd 0x8(%r15), %xmm0
xorps %xmm1, %xmm1
cvtss2sd 0xc(%r15), %xmm1
leaq 0x58277(%rip), %rdi     # 0xbc5f8
movb $0x2, %al
callq 0x90323
xorps %xmm0, %xmm0
cvtss2sd 0xb8(%r15), %xmm0
xorps %xmm1, %xmm1
cvtss2sd 0xbc(%r15), %xmm1
leaq 0x5826b(%rip), %rdi     # 0xbc612
movb $0x2, %al
callq 0x90323
callq 0x93890
xorps %xmm0, %xmm0
cvtss2sd 0x4(%rbx), %xmm0
xorps %xmm1, %xmm1
cvtss2sd 0x8(%rbx), %xmm1
leaq 0x5826e(%rip), %rdi     # 0xbc638
movb $0x2, %al
callq 0x90323
xorps %xmm0, %xmm0
cvtss2sd 0x10(%rbx), %xmm0
leaq 0x58277(%rip), %rdi     # 0xbc657
movb $0x1, %al
callq 0x90323
xorps %xmm0, %xmm0
cvtss2sd 0x38(%rbx), %xmm0
xorps %xmm1, %xmm1
cvtss2sd 0x3c(%rbx), %xmm1
leaq 0x58276(%rip), %rdi     # 0xbc674
movb $0x2, %al
callq 0x90323
xorps %xmm0, %xmm0
cvtss2sd 0x40(%rbx), %xmm0
leaq 0x5827e(%rip), %rdi     # 0xbc692
movb $0x1, %al
callq 0x90323
xorps %xmm0, %xmm0
cvtss2sd 0x44(%rbx), %xmm0
leaq 0x58282(%rip), %rdi     # 0xbc6ac
movb $0x1, %al
callq 0x90323
xorps %xmm0, %xmm0
cvtss2sd 0x48(%rbx), %xmm0
xorps %xmm1, %xmm1
cvtss2sd 0x4c(%rbx), %xmm1
leaq 0x58280(%rip), %rdi     # 0xbc6c8
movb $0x2, %al
callq 0x90323
xorps %xmm0, %xmm0
cvtss2sd 0x50(%rbx), %xmm0
xorps %xmm1, %xmm1
cvtss2sd 0x54(%rbx), %xmm1
leaq 0x5827f(%rip), %rdi     # 0xbc6e5
movb $0x2, %al
callq 0x90323
testb %r14b, %r14b
je 0x64485
leaq 0x5828e(%rip), %rdi     # 0xbc707
xorl %eax, %eax
callq 0x58cc1
callq 0x53716
callq 0x52905
callq 0x50af3
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 0x50af3