// File: donfreiday[P]gb/./imgui/imgui.cpp
// Function: CheckStacksSize(ImGuiWindow*, bool)
static void CheckStacksSize(ImGuiWindow* window, bool write)
{
    // NOT checking: DC.ItemWidth, DC.AllowKeyboardFocus, DC.ButtonRepeat, DC.TextWrapPos (per window) to allow user to conveniently push once and not pop (they are cleared on Begin)
    ImGuiState& g = *GImGui;
    int* p_backup = &window->DC.StackSizesBackup[0];
    { int current = window->IDStack.Size;       if (write) *p_backup = current; else IM_ASSERT(*p_backup == current); p_backup++; }    // User forgot PopID()
    { int current = window->DC.GroupStack.Size; if (write) *p_backup = current; else IM_ASSERT(*p_backup == current); p_backup++; }    // User forgot EndGroup()
    { int current = g.CurrentPopupStack.Size;   if (write) *p_backup = current; else IM_ASSERT(*p_backup == current); p_backup++; }    // User forgot EndPopup()/EndMenu()
    { int current = g.ColorModifiers.Size;      if (write) *p_backup = current; else IM_ASSERT(*p_backup == current); p_backup++; }    // User forgot PopStyleColor()
    { int current = g.StyleModifiers.Size;      if (write) *p_backup = current; else IM_ASSERT(*p_backup == current); p_backup++; }    // User forgot PopStyleVar()
    { int current = g.FontStack.Size;           if (write) *p_backup = current; else IM_ASSERT(*p_backup == current); p_backup++; }    // User forgot PopFont()
    IM_ASSERT(p_backup == window->DC.StackSizesBackup + IM_ARRAYSIZE(window->DC.StackSizesBackup));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movb %sil, %al
movq %rdi, -0x8(%rbp)
andb $0x1, %al
movb %al, -0x9(%rbp)
movq 0x62ef5(%rip), %rax     # 0x794c0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
addq $0xa8, %rax
addq $0xd4, %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movl 0x1d0(%rax), %eax
movl %eax, -0x24(%rbp)
testb $0x1, -0x9(%rbp)
je 0x16601
movl -0x24(%rbp), %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
jmp 0x1662f
movq -0x20(%rbp), %rax
movl (%rax), %eax
cmpl -0x24(%rbp), %eax
jne 0x1660e
jmp 0x1662d
leaq 0x462ea(%rip), %rdi     # 0x5c8ff
leaq 0x44ca9(%rip), %rsi     # 0x5b2c5
movl $0xcee, %edx            # imm = 0xCEE
leaq 0x462ec(%rip), %rcx     # 0x5c914
callq 0x7160
jmp 0x1662f
movq -0x20(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movl 0x168(%rax), %eax
movl %eax, -0x28(%rbp)
testb $0x1, -0x9(%rbp)
je 0x16659
movl -0x28(%rbp), %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
jmp 0x16687
movq -0x20(%rbp), %rax
movl (%rax), %eax
cmpl -0x28(%rbp), %eax
jne 0x16666
jmp 0x16685
leaq 0x46292(%rip), %rdi     # 0x5c8ff
leaq 0x44c51(%rip), %rsi     # 0x5b2c5
movl $0xcef, %edx            # imm = 0xCEF
leaq 0x46294(%rip), %rcx     # 0x5c914
callq 0x7160
jmp 0x16687
movq -0x20(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movl 0x1808(%rax), %eax
movl %eax, -0x2c(%rbp)
testb $0x1, -0x9(%rbp)
je 0x166b1
movl -0x2c(%rbp), %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
jmp 0x166df
movq -0x20(%rbp), %rax
movl (%rax), %eax
cmpl -0x2c(%rbp), %eax
jne 0x166be
jmp 0x166dd
leaq 0x4623a(%rip), %rdi     # 0x5c8ff
leaq 0x44bf9(%rip), %rsi     # 0x5b2c5
movl $0xcf0, %edx            # imm = 0xCF0
leaq 0x4623c(%rip), %rcx     # 0x5c914
callq 0x7160
jmp 0x166df
movq -0x20(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movl 0x17c8(%rax), %eax
movl %eax, -0x30(%rbp)
testb $0x1, -0x9(%rbp)
je 0x16709
movl -0x30(%rbp), %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
jmp 0x16737
movq -0x20(%rbp), %rax
movl (%rax), %eax
cmpl -0x30(%rbp), %eax
jne 0x16716
jmp 0x16735
leaq 0x461e2(%rip), %rdi     # 0x5c8ff
leaq 0x44ba1(%rip), %rsi     # 0x5b2c5
movl $0xcf1, %edx            # imm = 0xCF1
leaq 0x461e4(%rip), %rcx     # 0x5c914
callq 0x7160
jmp 0x16737
movq -0x20(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movl 0x17d8(%rax), %eax
movl %eax, -0x34(%rbp)
testb $0x1, -0x9(%rbp)
je 0x16761
movl -0x34(%rbp), %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
jmp 0x1678f
movq -0x20(%rbp), %rax
movl (%rax), %eax
cmpl -0x34(%rbp), %eax
jne 0x1676e
jmp 0x1678d
leaq 0x4618a(%rip), %rdi     # 0x5c8ff
leaq 0x44b49(%rip), %rsi     # 0x5b2c5
movl $0xcf2, %edx            # imm = 0xCF2
leaq 0x4618c(%rip), %rcx     # 0x5c914
callq 0x7160
jmp 0x1678f
movq -0x20(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movl 0x17e8(%rax), %eax
movl %eax, -0x38(%rbp)
testb $0x1, -0x9(%rbp)
je 0x167b9
movl -0x38(%rbp), %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
jmp 0x167e7
movq -0x20(%rbp), %rax
movl (%rax), %eax
cmpl -0x38(%rbp), %eax
jne 0x167c6
jmp 0x167e5
leaq 0x46132(%rip), %rdi     # 0x5c8ff
leaq 0x44af1(%rip), %rsi     # 0x5b2c5
movl $0xcf3, %edx            # imm = 0xCF3
leaq 0x46134(%rip), %rcx     # 0x5c914
callq 0x7160
jmp 0x167e7
movq -0x20(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq -0x8(%rbp), %rcx
addq $0xa8, %rcx
addq $0xd4, %rcx
addq $0x18, %rcx
cmpq %rcx, %rax
jne 0x16814
jmp 0x16833
leaq 0x46123(%rip), %rdi     # 0x5c93e
leaq 0x44aa3(%rip), %rsi     # 0x5b2c5
movl $0xcf4, %edx            # imm = 0xCF4
leaq 0x460e6(%rip), %rcx     # 0x5c914
callq 0x7160
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)