// File: /workspace/github_cpp_makefile_star2_O3/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 0x4882f(%rip), %rbx     # 0x55480
movq 0x1758(%rbx), %r14
leaq 0x31203(%rip), %rsi     # 0x3de62
movl $0x1, %edi
movl $0x1, %edx
callq 0x141d0
callq 0x14778
testb $0x10, 0xe(%r14)
jne 0xcc7f
callq 0x147e6
movl 0x1760(%rbx), %eax
testl %eax, %eax
jle 0xcd75
decl %eax
movl %eax, 0x1760(%rbx)
testb $0x2, 0xf(%r14)
je 0xccb2
movl 0x1808(%rbx), %ecx
testl %ecx, %ecx
jle 0xce49
decl %ecx
movl %ecx, 0x1808(%rbx)
movl 0x17c(%r14), %ecx
cmpl 0x1d0(%r14), %ecx
jne 0xcd8f
movl 0x180(%r14), %ecx
cmpl 0x168(%r14), %ecx
jne 0xcdae
movq 0x4879f(%rip), %rcx     # 0x55480
movl 0x184(%r14), %edx
cmpl 0x1808(%rcx), %edx
jne 0xcdcd
movl 0x188(%r14), %edx
cmpl 0x17c8(%rcx), %edx
jne 0xcdec
movl 0x18c(%r14), %edx
cmpl 0x17d8(%rcx), %edx
jne 0xce0b
movl 0x190(%r14), %edx
cmpl 0x17e8(%rcx), %edx
jne 0xce2a
testl %eax, %eax
je 0xcd65
movq 0x1768(%rbx), %rdx
movl %eax, %eax
movq -0x8(%rdx,%rax,8), %rax
movq %rax, 0x1758(%rcx)
testq %rax, %rax
je 0xcd70
movss 0x171c(%rcx), %xmm0
mulss 0x268(%rax), %xmm0
movss %xmm0, 0x1718(%rcx)
jmp 0xcd70
movq $0x0, 0x1758(%rcx)
popq %rbx
popq %r14
popq %rbp
retq
leaq 0x39db9(%rip), %rdi     # 0x46b35
leaq 0x31d40(%rip), %rsi     # 0x3eac3
leaq 0x32655(%rip), %rcx     # 0x3f3df
jmp 0xce5e
leaq 0x31f20(%rip), %rdi     # 0x3ecb6
leaq 0x30918(%rip), %rsi     # 0x3d6b5
leaq 0x31f27(%rip), %rcx     # 0x3eccb
movl $0xcee, %edx            # imm = 0xCEE
callq 0x7140
leaq 0x31f01(%rip), %rdi     # 0x3ecb6
leaq 0x308f9(%rip), %rsi     # 0x3d6b5
leaq 0x31f08(%rip), %rcx     # 0x3eccb
movl $0xcef, %edx            # imm = 0xCEF
callq 0x7140
leaq 0x31ee2(%rip), %rdi     # 0x3ecb6
leaq 0x308da(%rip), %rsi     # 0x3d6b5
leaq 0x31ee9(%rip), %rcx     # 0x3eccb
movl $0xcf0, %edx            # imm = 0xCF0
callq 0x7140
leaq 0x31ec3(%rip), %rdi     # 0x3ecb6
leaq 0x308bb(%rip), %rsi     # 0x3d6b5
leaq 0x31eca(%rip), %rcx     # 0x3eccb
movl $0xcf1, %edx            # imm = 0xCF1
callq 0x7140
leaq 0x31ea4(%rip), %rdi     # 0x3ecb6
leaq 0x3089c(%rip), %rsi     # 0x3d6b5
leaq 0x31eab(%rip), %rcx     # 0x3eccb
movl $0xcf2, %edx            # imm = 0xCF2
callq 0x7140
leaq 0x31e85(%rip), %rdi     # 0x3ecb6
leaq 0x3087d(%rip), %rsi     # 0x3d6b5
leaq 0x31e8c(%rip), %rcx     # 0x3eccb
movl $0xcf3, %edx            # imm = 0xCF3
callq 0x7140
leaq 0x39ce5(%rip), %rdi     # 0x46b35
leaq 0x31c6c(%rip), %rsi     # 0x3eac3
leaq 0x325be(%rip), %rcx     # 0x3f41c
movl $0x338, %edx            # imm = 0x338
callq 0x7140