// File: donfreiday[P]gb/./imgui/imgui.cpp
// Function: ImGuiWindow::ImGuiWindow(char const*)
ImGuiWindow::ImGuiWindow(const char* name)
{
    Name = ImStrdup(name);
    ID = ImHash(name, 0);
    IDStack.push_back(ID);
    MoveID = GetID("#MOVE");

    Flags = 0;
    PosFloat = Pos = ImVec2(0.0f, 0.0f);
    Size = SizeFull = ImVec2(0.0f, 0.0f);
    SizeContents = SizeContentsExplicit = ImVec2(0.0f, 0.0f);
    WindowPadding = ImVec2(0.0f, 0.0f);
    Scroll = ImVec2(0.0f, 0.0f);
    ScrollTarget = ImVec2(FLT_MAX, FLT_MAX);
    ScrollTargetCenterRatio = ImVec2(0.5f, 0.5f);
    ScrollbarX = ScrollbarY = false;
    ScrollbarSizes = ImVec2(0.0f, 0.0f);
    Active = WasActive = false;
    Accessed = false;
    Collapsed = false;
    SkipItems = false;
    BeginCount = 0;
    PopupID = 0;
    AutoFitFramesX = AutoFitFramesY = -1;
    AutoFitOnlyGrows = false;
    AutoPosLastDirection = -1;
    HiddenFrames = 0;
    SetWindowPosAllowFlags = SetWindowSizeAllowFlags = SetWindowCollapsedAllowFlags = ImGuiSetCond_Always | ImGuiSetCond_Once | ImGuiSetCond_FirstUseEver | ImGuiSetCond_Appearing;
    SetWindowPosCenterWanted = false;

    LastFrameDrawn = -1;
    ItemWidthDefault = 0.0f;
    FontWindowScale = 1.0f;

    DrawList = (ImDrawList*)ImGui::MemAlloc(sizeof(ImDrawList));
    new(DrawList) ImDrawList();
    DrawList->_OwnerName = Name;
    RootWindow = NULL;
    RootNonPopupWindow = NULL;

    FocusIdxAllCounter = FocusIdxTabCounter = -1;
    FocusIdxAllRequestCurrent = FocusIdxTabRequestCurrent = IM_INT_MAX;
    FocusIdxAllRequestNext = FocusIdxTabRequestNext = IM_INT_MAX;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x70(%rbp)
addq $0x10, %rdi
callq 0x2d230
movq -0x70(%rbp), %rdi
addq $0x18, %rdi
callq 0x2d230
movq -0x70(%rbp), %rdi
addq $0x20, %rdi
callq 0x2d230
movq -0x70(%rbp), %rdi
addq $0x28, %rdi
callq 0x2d230
movq -0x70(%rbp), %rdi
addq $0x30, %rdi
callq 0x2d230
movq -0x70(%rbp), %rdi
addq $0x38, %rdi
callq 0x2d230
movq -0x70(%rbp), %rdi
addq $0x40, %rdi
callq 0x2d230
movq -0x70(%rbp), %rdi
addq $0x4c, %rdi
callq 0x2d230
movq -0x70(%rbp), %rdi
addq $0x54, %rdi
callq 0x2d230
movq -0x70(%rbp), %rdi
addq $0x5c, %rdi
callq 0x2d230
movq -0x70(%rbp), %rdi
addq $0x68, %rdi
callq 0x2d230
movq -0x70(%rbp), %rdi
addq $0xa8, %rdi
movq %rdi, -0x78(%rbp)
callq 0x2da70
movq -0x70(%rbp), %rdi
addq $0x1d0, %rdi            # imm = 0x1D0
movq %rdi, -0x68(%rbp)
callq 0x2dd70
jmp 0xb900
movq -0x70(%rbp), %rdi
addq $0x1e0, %rdi            # imm = 0x1E0
callq 0x2dda0
jmp 0xb912
movq -0x70(%rbp), %rdi
addq $0x1f0, %rdi            # imm = 0x1F0
callq 0x2dda0
jmp 0xb924
movq -0x70(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
callq 0xb540
jmp 0xb936
movq -0x70(%rbp), %rdi
addq $0x258, %rdi            # imm = 0x258
movq %rdi, -0x80(%rbp)
callq 0x2ddf0
jmp 0xb94c
movq -0x10(%rbp), %rdi
callq 0x9360
movq %rax, -0x88(%rbp)
jmp 0xb95e
movq -0x70(%rbp), %rax
movq -0x88(%rbp), %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x96e0
movq -0x70(%rbp), %rdi
movq %rdi, %rsi
addq $0x8, %rsi
movl %eax, 0x8(%rdi)
addq $0x1d0, %rdi            # imm = 0x1D0
callq 0x2de10
jmp 0xb995
movq -0x70(%rbp), %rdi
leaq 0x4fa0d(%rip), %rsi     # 0x5b3ad
xorl %eax, %eax
movl %eax, %edx
callq 0xbc60
movl %eax, -0x8c(%rbp)
jmp 0xb9b1
movq -0x70(%rbp), %rax
movl -0x8c(%rbp), %ecx
movl %ecx, 0x48(%rax)
movl $0x0, 0xc(%rax)
leaq -0x24(%rbp), %rdi
xorps %xmm1, %xmm1
movaps %xmm1, %xmm0
callq 0x2d280
jmp 0xb9d6
movq -0x70(%rbp), %rax
movq -0x24(%rbp), %rcx
movq %rcx, 0x18(%rax)
movq 0x18(%rax), %rcx
movq %rcx, 0x10(%rax)
leaq -0x2c(%rbp), %rdi
xorps %xmm1, %xmm1
movaps %xmm1, %xmm0
callq 0x2d280
jmp 0xb9fb
movq -0x70(%rbp), %rax
movq -0x2c(%rbp), %rcx
movq %rcx, 0x28(%rax)
movq 0x28(%rax), %rcx
movq %rcx, 0x20(%rax)
leaq -0x34(%rbp), %rdi
xorps %xmm1, %xmm1
movaps %xmm1, %xmm0
callq 0x2d280
jmp 0xba20
movq -0x70(%rbp), %rax
movq -0x34(%rbp), %rcx
movq %rcx, 0x38(%rax)
movq 0x38(%rax), %rcx
movq %rcx, 0x30(%rax)
leaq -0x3c(%rbp), %rdi
xorps %xmm1, %xmm1
movaps %xmm1, %xmm0
callq 0x2d280
jmp 0xba45
movq -0x70(%rbp), %rax
movq -0x3c(%rbp), %rcx
movq %rcx, 0x40(%rax)
leaq -0x44(%rbp), %rdi
xorps %xmm1, %xmm1
movaps %xmm1, %xmm0
callq 0x2d280
jmp 0xba62
movq -0x70(%rbp), %rax
movq -0x44(%rbp), %rcx
movq %rcx, 0x4c(%rax)
leaq -0x4c(%rbp), %rdi
movss 0x4f622(%rip), %xmm1    # 0x5b09c
movaps %xmm1, %xmm0
callq 0x2d280
jmp 0xba84
movq -0x70(%rbp), %rax
movq -0x4c(%rbp), %rcx
movq %rcx, 0x54(%rax)
leaq -0x54(%rbp), %rdi
movss 0x4f588(%rip), %xmm1    # 0x5b024
movaps %xmm1, %xmm0
callq 0x2d280
jmp 0xbaa6
movq -0x70(%rbp), %rax
movq -0x54(%rbp), %rcx
movq %rcx, 0x5c(%rax)
movb $0x0, 0x65(%rax)
movb $0x0, 0x64(%rax)
leaq -0x5c(%rbp), %rdi
xorps %xmm1, %xmm1
movaps %xmm1, %xmm0
callq 0x2d280
jmp 0xbacb
movq -0x70(%rbp), %rax
movq -0x5c(%rbp), %rcx
movq %rcx, 0x68(%rax)
movb $0x0, 0x71(%rax)
movb $0x0, 0x70(%rax)
movb $0x0, 0x72(%rax)
movb $0x0, 0x73(%rax)
movb $0x0, 0x74(%rax)
movl $0x0, 0x78(%rax)
movl $0x0, 0x7c(%rax)
movl $0xffffffff, 0x84(%rax) # imm = 0xFFFFFFFF
movl $0xffffffff, 0x80(%rax) # imm = 0xFFFFFFFF
movb $0x0, 0x88(%rax)
movl $0xffffffff, 0x8c(%rax) # imm = 0xFFFFFFFF
movl $0x0, 0x90(%rax)
movl $0xf, 0x9c(%rax)
movl $0xf, 0x98(%rax)
movl $0xf, 0x94(%rax)
movb $0x0, 0xa0(%rax)
movl $0xffffffff, 0x200(%rax) # imm = 0xFFFFFFFF
movl $0x0, 0x204(%rax)
movl $0x3f800000, 0x268(%rax) # imm = 0x3F800000
movl $0x98, %edi
callq 0x93d0
movq %rax, -0x98(%rbp)
jmp 0xbb7e
movq -0x70(%rbp), %rax
movq -0x98(%rbp), %rcx
movq %rcx, 0x270(%rax)
movq 0x270(%rax), %rdi
callq 0x2de70
jmp 0xbb9e
movq -0x70(%rbp), %rax
movq (%rax), %rdx
movq 0x270(%rax), %rcx
movq %rdx, 0x30(%rcx)
movq $0x0, 0x278(%rax)
movq $0x0, 0x280(%rax)
movl $0xffffffff, 0x28c(%rax) # imm = 0xFFFFFFFF
movl $0xffffffff, 0x288(%rax) # imm = 0xFFFFFFFF
movl $0x7fffffff, 0x294(%rax) # imm = 0x7FFFFFFF
movl $0x7fffffff, 0x290(%rax) # imm = 0x7FFFFFFF
movl $0x7fffffff, 0x29c(%rax) # imm = 0x7FFFFFFF
movl $0x7fffffff, 0x298(%rax) # imm = 0x7FFFFFFF
addq $0xa0, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xbc45
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xbc3c
movq -0x80(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
callq 0x2dfd0
movq -0x68(%rbp), %rdi
callq 0x2dff0
movq -0x78(%rbp), %rdi
callq 0x2e030
movq -0x18(%rbp), %rdi
callq 0x74f0
nopw (%rax,%rax)