// File: /workspace/github_cpp_makefile_star2_O3/donfreiday[P]gb/./imgui/imgui.cpp
// Function: ImGui::ShowMetricsWindow(bool*)::Funcs::NodeDrawList(ImDrawList*, char const*)
static void NodeDrawList(ImDrawList* draw_list, const char* label)
            {
                bool node_opened = ImGui::TreeNode(draw_list, "%s: '%s' %d vtx, %d indices, %d cmds", label, draw_list->_OwnerName ? draw_list->_OwnerName : "", draw_list->VtxBuffer.Size, draw_list->IdxBuffer.Size, draw_list->CmdBuffer.Size);
                if (draw_list == ImGui::GetWindowDrawList())
                {
                    ImGui::SameLine();
                    ImGui::TextColored(ImColor(255,100,100), "CURRENTLY APPENDING"); // Can't display stats for active draw list! (we don't have the data double-buffered)
                }
                if (!node_opened)
                    return;

                int elem_offset = 0;
                for (const ImDrawCmd* pcmd = draw_list->CmdBuffer.begin(); pcmd < draw_list->CmdBuffer.end(); elem_offset += pcmd->ElemCount, pcmd++)
                {
                    if (pcmd->UserCallback)
                        ImGui::BulletText("Callback %p, user_data %p", pcmd->UserCallback, pcmd->UserCallbackData);
                    else
                    {
                        ImGui::BulletText("Draw %d indexed vtx, tex = %p, clip_rect = (%.0f,%.0f)..(%.0f,%.0f)", pcmd->ElemCount, pcmd->TextureId, pcmd->ClipRect.x, pcmd->ClipRect.y, pcmd->ClipRect.z, pcmd->ClipRect.w);
                        if (show_clip_rects && ImGui::IsItemHovered())
                        {
                            ImRect clip_rect = pcmd->ClipRect;
                            ImRect vtxs_rect;
                            for (int i = elem_offset; i < elem_offset + (int)pcmd->ElemCount; i++)
                                vtxs_rect.Add(draw_list->VtxBuffer[draw_list->IdxBuffer[i]].pos);
                            GImGui->OverlayDrawList.PushClipRectFullScreen();
                            clip_rect.Round(); GImGui->OverlayDrawList.AddRect(clip_rect.Min, clip_rect.Max, ImColor(255,255,0));
                            vtxs_rect.Round(); GImGui->OverlayDrawList.AddRect(vtxs_rect.Min, vtxs_rect.Max, ImColor(255,0,255));
                            GImGui->OverlayDrawList.PopClipRect();
                        }
                    }
                }
                ImGui::TreePop();
            }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdi, %rbx
movq 0x30(%rdi), %rax
testq %rax, %rax
leaq 0x1e56d(%rip), %rcx     # 0x41439
cmovneq %rax, %rcx
movl 0x20(%rdi), %r8d
movl (%rdi), %eax
movl 0x10(%rdi), %r9d
movl %eax, (%rsp)
leaq 0x1c0ea(%rip), %rsi     # 0x3efce
leaq 0x1bab0(%rip), %rdx     # 0x3e99b
xorl %eax, %eax
callq 0x17ca1
movl %eax, %r14d
movq 0x32584(%rip), %rcx     # 0x55480
movq 0x1758(%rcx), %rax
movb $0x1, 0x72(%rax)
cmpq %rbx, 0x270(%rax)
jne 0x22f64
cmpb $0x0, 0x74(%rax)
jne 0x22f48
movss 0x1414(%rcx), %xmm0
addss 0xb0(%rax), %xmm0
movl 0xb4(%rax), %ecx
movq 0xd0(%rax), %rdx
movq %rdx, 0xc8(%rax)
movss %xmm0, 0xa8(%rax)
movl %ecx, 0xac(%rax)
movaps 0x1a401(%rip), %xmm0    # 0x3d350
leaq -0x48(%rbp), %rdi
movups %xmm0, (%rdi)
leaq 0x1c096(%rip), %rsi     # 0x3eff3
xorl %eax, %eax
callq 0x15cb5
testb %r14b, %r14b
je 0x23210
cmpl $0x0, (%rbx)
jle 0x2320b
movq 0x8(%rbx), %r13
leaq 0x1c0a0(%rip), %r15     # 0x3f021
leaq 0x1c07f(%rip), %r14     # 0x3f007
xorl %r12d, %r12d
movq 0x20(%r13), %rsi
testq %rsi, %rsi
je 0x22fa7
movq 0x28(%r13), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x179b7
jmp 0x231eb
movl (%r13), %esi
movq 0x18(%r13), %rdx
xorps %xmm0, %xmm0
cvtss2sd 0x4(%r13), %xmm0
xorps %xmm1, %xmm1
cvtss2sd 0x8(%r13), %xmm1
xorps %xmm2, %xmm2
cvtss2sd 0xc(%r13), %xmm2
xorps %xmm3, %xmm3
cvtss2sd 0x10(%r13), %xmm3
movq %r15, %rdi
movb $0x4, %al
callq 0x179b7
cmpb $0x1, 0x324a4(%rip)     # 0x55488
jne 0x231eb
movq 0x3248f(%rip), %rdi     # 0x55480
movq 0x1758(%rdi), %rax
cmpb $0x1, 0xf4(%rax)
jne 0x231eb
movq 0x4(%r13), %rax
movq %rax, -0x48(%rbp)
movq 0xc(%r13), %rax
movq %rax, -0x40(%rbp)
movaps 0x1a2d4(%rip), %xmm0    # 0x3d2f0
movups %xmm0, -0x38(%rbp)
movl (%r13), %ecx
testl %ecx, %ecx
jle 0x230cf
addl %r12d, %ecx
movl 0x10(%rbx), %edx
movslq %r12d, %rax
movslq %ecx, %rcx
cmpl %edx, %eax
cmovgl %r12d, %edx
movslq %edx, %rdx
movss 0x1a387(%rip), %xmm1    # 0x3d3d0
movaps %xmm1, %xmm0
movss 0x1a368(%rip), %xmm3    # 0x3d3bc
movaps %xmm3, %xmm2
cmpq %rax, %rdx
je 0x23236
movq 0x18(%rbx), %rsi
movzwl (%rsi,%rax,2), %r8d
cmpl %r8d, 0x20(%rbx)
jle 0x2321f
movq 0x28(%rbx), %rsi
leaq (%r8,%r8,4), %r8
movss (%rsi,%r8,4), %xmm4
ucomiss %xmm4, %xmm0
jbe 0x2308e
movss %xmm4, -0x38(%rbp)
movaps %xmm4, %xmm0
leaq (%rsi,%r8,4), %rsi
movss 0x4(%rsi), %xmm4
ucomiss %xmm4, %xmm1
jbe 0x230a4
movss %xmm4, -0x34(%rbp)
movaps %xmm4, %xmm1
movss (%rsi), %xmm4
ucomiss %xmm2, %xmm4
jbe 0x230b5
movss %xmm4, -0x30(%rbp)
movaps %xmm4, %xmm2
movss 0x4(%rsi), %xmm4
ucomiss %xmm3, %xmm4
jbe 0x230c7
movss %xmm4, -0x2c(%rbp)
movaps %xmm4, %xmm3
incq %rax
cmpq %rcx, %rax
jl 0x23057
movl $0x18a8, %eax           # imm = 0x18A8
addq %rax, %rdi
movl $0x18a8, %r14d          # imm = 0x18A8
callq 0x2d040
movss -0x48(%rbp), %xmm0
movss -0x44(%rbp), %xmm1
movss -0x40(%rbp), %xmm2
movss -0x3c(%rbp), %xmm3
cvttps2dq %xmm0, %xmm0
cvtdq2ps %xmm0, %xmm0
cvttps2dq %xmm2, %xmm2
cvtdq2ps %xmm2, %xmm2
cvttps2dq %xmm3, %xmm3
cvtdq2ps %xmm3, %xmm3
unpcklps %xmm3, %xmm2            # xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1]
cvttps2dq %xmm1, %xmm1
cvtdq2ps %xmm1, %xmm1
unpcklps %xmm1, %xmm0            # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movlhps %xmm2, %xmm0            # xmm0 = xmm0[0],xmm2[0]
movups %xmm0, -0x48(%rbp)
movq 0x3235a(%rip), %r15     # 0x55480
addq %r14, %r15
movaps 0x1a230(%rip), %xmm0    # 0x3d360
movups %xmm0, -0x58(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x8c82
xorps %xmm0, %xmm0
movq %r15, %rdi
leaq -0x48(%rbp), %rsi
leaq -0x40(%rbp), %rdx
movl %eax, %ecx
movl $0xf, %r8d
callq 0x2f8b6
movss -0x38(%rbp), %xmm0
movss -0x34(%rbp), %xmm1
movss -0x30(%rbp), %xmm2
movss -0x2c(%rbp), %xmm3
cvttps2dq %xmm0, %xmm0
cvtdq2ps %xmm0, %xmm0
cvttps2dq %xmm2, %xmm2
cvtdq2ps %xmm2, %xmm2
cvttps2dq %xmm3, %xmm3
cvtdq2ps %xmm3, %xmm3
unpcklps %xmm3, %xmm2            # xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1]
cvttps2dq %xmm1, %xmm1
cvtdq2ps %xmm1, %xmm1
unpcklps %xmm1, %xmm0            # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movlhps %xmm2, %xmm0            # xmm0 = xmm0[0],xmm2[0]
movups %xmm0, -0x38(%rbp)
movq 0x322e4(%rip), %r15     # 0x55480
addq %r14, %r15
movaps 0x1a1ca(%rip), %xmm0    # 0x3d370
movups %xmm0, -0x58(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x8c82
xorps %xmm0, %xmm0
movq %r15, %rdi
leaq -0x38(%rbp), %rsi
leaq -0x30(%rbp), %rdx
movl %eax, %ecx
movl $0xf, %r8d
callq 0x2f8b6
movq 0x322ab(%rip), %rdi     # 0x55480
addq %r14, %rdi
callq 0x2d052
leaq 0x1be3d(%rip), %r15     # 0x3f021
leaq 0x1be1c(%rip), %r14     # 0x3f007
addl (%r13), %r12d
addq $0x30, %r13
movslq (%rbx), %rax
leaq (%rax,%rax,2), %rax
shlq $0x4, %rax
addq 0x8(%rbx), %rax
cmpq %rax, %r13
jb 0x22f8b
callq 0x228ce
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x1bbba(%rip), %rdi     # 0x3ede0
leaq 0x1b896(%rip), %rsi     # 0x3eac3
leaq 0x1be31(%rip), %rcx     # 0x3f065
jmp 0x2324b
leaq 0x1bba3(%rip), %rdi     # 0x3ede0
leaq 0x1b87f(%rip), %rsi     # 0x3eac3
leaq 0x1bb9e(%rip), %rcx     # 0x3ede9
movl $0x31c, %edx            # imm = 0x31C
callq 0x7140