// File: /workspace/github_cpp_makefile_star2_O1/donfreiday[P]gb/./imgui/imgui.cpp
// Function: ImGui::End()
void ImGui::End()
{
    ImGuiState& g = *GImGui;
    ImGuiWindow* window = g.CurrentWindow;

    ImGui::Columns(1, "#CloseColumns");
    PopClipRect();   // inner window clip rectangle

    // Stop logging
    if (!(window->Flags & ImGuiWindowFlags_ChildWindow))    // FIXME: add more options for scope of logging
        ImGui::LogFinish();

    // Pop
    // NB: we don't clear 'window->RootWindow'. The pointer is allowed to live until the next call to Begin().
    g.CurrentWindowStack.pop_back();
    if (window->Flags & ImGuiWindowFlags_Popup)
        g.CurrentPopupStack.pop_back();
    CheckStacksSize(window, false);
    SetCurrentWindow(g.CurrentWindowStack.empty() ? NULL : g.CurrentWindowStack.back());
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq 0x486bb(%rip), %rbx     # 0x55490
movq 0x1758(%rbx), %r14
leaq 0x3104f(%rip), %rsi     # 0x3de32
movl $0x1, %edi
movl $0x1, %edx
callq 0x1453d
callq 0x14adb
testb $0x10, 0xe(%r14)
jne 0xce03
callq 0x14b49
movl 0x1760(%rbx), %eax
testl %eax, %eax
jle 0xcefa
leal -0x1(%rax), %ecx
movl %ecx, 0x1760(%rbx)
testb $0x2, 0xf(%r14)
je 0xce37
movl 0x1808(%rbx), %edx
testl %edx, %edx
jle 0xcfed
decl %edx
movl %edx, 0x1808(%rbx)
movl 0x17c(%r14), %edx
cmpl 0x1d0(%r14), %edx
jne 0xcf14
movl 0x180(%r14), %edx
cmpl 0x168(%r14), %edx
jne 0xcf33
movq 0x4862a(%rip), %rdx     # 0x55490
movl 0x184(%r14), %esi
cmpl 0x1808(%rdx), %esi
jne 0xcf52
movl 0x188(%r14), %esi
cmpl 0x17c8(%rdx), %esi
jne 0xcf71
movl 0x18c(%r14), %esi
cmpl 0x17d8(%rdx), %esi
jne 0xcf90
movl 0x190(%r14), %esi
cmpl 0x17e8(%rdx), %esi
jne 0xcfaf
testl %ecx, %ecx
je 0xcecf
cmpl $0x1, %eax
je 0xcfce
movq 0x1768(%rbx), %rax
movl %ecx, %ecx
movq -0x8(%rax,%rcx,8), %rax
jmp 0xced1
xorl %eax, %eax
movq %rax, 0x1758(%rdx)
testq %rax, %rax
je 0xcef5
movss 0x171c(%rdx), %xmm0
mulss 0x268(%rax), %xmm0
movss %xmm0, 0x1718(%rdx)
popq %rbx
popq %r14
popq %rbp
retq
leaq 0x39cb4(%rip), %rdi     # 0x46bb5
leaq 0x31b8b(%rip), %rsi     # 0x3ea93
leaq 0x324a0(%rip), %rcx     # 0x3f3af
jmp 0xd002
leaq 0x31d6b(%rip), %rdi     # 0x3ec86
leaq 0x30763(%rip), %rsi     # 0x3d685
leaq 0x31d72(%rip), %rcx     # 0x3ec9b
movl $0xcee, %edx            # imm = 0xCEE
callq 0x7140
leaq 0x31d4c(%rip), %rdi     # 0x3ec86
leaq 0x30744(%rip), %rsi     # 0x3d685
leaq 0x31d53(%rip), %rcx     # 0x3ec9b
movl $0xcef, %edx            # imm = 0xCEF
callq 0x7140
leaq 0x31d2d(%rip), %rdi     # 0x3ec86
leaq 0x30725(%rip), %rsi     # 0x3d685
leaq 0x31d34(%rip), %rcx     # 0x3ec9b
movl $0xcf0, %edx            # imm = 0xCF0
callq 0x7140
leaq 0x31d0e(%rip), %rdi     # 0x3ec86
leaq 0x30706(%rip), %rsi     # 0x3d685
leaq 0x31d15(%rip), %rcx     # 0x3ec9b
movl $0xcf1, %edx            # imm = 0xCF1
callq 0x7140
leaq 0x31cef(%rip), %rdi     # 0x3ec86
leaq 0x306e7(%rip), %rsi     # 0x3d685
leaq 0x31cf6(%rip), %rcx     # 0x3ec9b
movl $0xcf2, %edx            # imm = 0xCF2
callq 0x7140
leaq 0x31cd0(%rip), %rdi     # 0x3ec86
leaq 0x306c8(%rip), %rsi     # 0x3d685
leaq 0x31cd7(%rip), %rcx     # 0x3ec9b
movl $0xcf3, %edx            # imm = 0xCF3
callq 0x7140
leaq 0x39be0(%rip), %rdi     # 0x46bb5
leaq 0x31ab7(%rip), %rsi     # 0x3ea93
leaq 0x3238c(%rip), %rcx     # 0x3f36f
movl $0x326, %edx            # imm = 0x326
callq 0x7140
leaq 0x39bc1(%rip), %rdi     # 0x46bb5
leaq 0x31a98(%rip), %rsi     # 0x3ea93
leaq 0x323ea(%rip), %rcx     # 0x3f3ec
movl $0x338, %edx            # imm = 0x338
callq 0x7140