// File: Ciaxur[P]yagb-emu/include/imgui/imgui.cpp
// Function: ImGui::ShowMetricsWindow(bool*)::Funcs::GetWindowRect(ImGuiWindow*, int)
static ImRect GetWindowRect(ImGuiWindow* window, int rect_type)
        {
            if (rect_type == WRT_OuterRect)                 { return window->Rect(); }
            else if (rect_type == WRT_OuterRectClipped)     { return window->OuterRectClipped; }
            else if (rect_type == WRT_InnerRect)            { return window->InnerRect; }
            else if (rect_type == WRT_InnerClipRect)        { return window->InnerClipRect; }
            else if (rect_type == WRT_WorkRect)             { return window->WorkRect; }
            else if (rect_type == WRT_Content)       { ImVec2 min = window->InnerRect.Min - window->Scroll + window->WindowPadding; return ImRect(min, min + window->ContentSize); }
            else if (rect_type == WRT_ContentIdeal)         { ImVec2 min = window->InnerRect.Min - window->Scroll + window->WindowPadding; return ImRect(min, min + window->ContentSizeIdeal); }
            else if (rect_type == WRT_ContentRegionRect)    { return window->ContentRegionRect; }
            IM_ASSERT(0);
            return ImRect();
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x18(%rbp)
movl %esi, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
jne 0xe32dd
movq -0x18(%rbp), %rdi
callq 0xeb880
movlpd %xmm0, -0x10(%rbp)
movlpd %xmm1, -0x8(%rbp)
jmp 0xe3485
cmpl $0x1, -0x1c(%rbp)
jne 0xe3302
movq -0x18(%rbp), %rax
movq 0x208(%rax), %rcx
movq %rcx, -0x10(%rbp)
movq 0x210(%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0xe3485
cmpl $0x2, -0x1c(%rbp)
jne 0xe3327
movq -0x18(%rbp), %rax
movq 0x218(%rax), %rcx
movq %rcx, -0x10(%rbp)
movq 0x220(%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0xe3485
cmpl $0x3, -0x1c(%rbp)
jne 0xe334c
movq -0x18(%rbp), %rax
movq 0x228(%rax), %rcx
movq %rcx, -0x10(%rbp)
movq 0x230(%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0xe3485
cmpl $0x4, -0x1c(%rbp)
jne 0xe3371
movq -0x18(%rbp), %rax
movq 0x238(%rax), %rcx
movq %rcx, -0x10(%rbp)
movq 0x240(%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0xe3485
cmpl $0x5, -0x1c(%rbp)
jne 0xe33d5
movq -0x18(%rbp), %rsi
movq %rsi, %rdi
addq $0x218, %rdi            # imm = 0x218
addq $0x5c, %rsi
callq 0xc3c00
movlpd %xmm0, -0x2c(%rbp)
movq -0x18(%rbp), %rsi
addq $0x40, %rsi
leaq -0x2c(%rbp), %rdi
callq 0xc41b0
movlpd %xmm0, -0x24(%rbp)
movq -0x18(%rbp), %rsi
addq $0x28, %rsi
leaq -0x24(%rbp), %rdi
callq 0xc41b0
movlpd %xmm0, -0x34(%rbp)
leaq -0x10(%rbp), %rdi
leaq -0x24(%rbp), %rsi
leaq -0x34(%rbp), %rdx
callq 0xe8660
jmp 0xe3485
cmpl $0x6, -0x1c(%rbp)
jne 0xe3436
movq -0x18(%rbp), %rsi
movq %rsi, %rdi
addq $0x218, %rdi            # imm = 0x218
addq $0x5c, %rsi
callq 0xc3c00
movlpd %xmm0, -0x44(%rbp)
movq -0x18(%rbp), %rsi
addq $0x40, %rsi
leaq -0x44(%rbp), %rdi
callq 0xc41b0
movlpd %xmm0, -0x3c(%rbp)
movq -0x18(%rbp), %rsi
addq $0x30, %rsi
leaq -0x3c(%rbp), %rdi
callq 0xc41b0
movlpd %xmm0, -0x4c(%rbp)
leaq -0x10(%rbp), %rdi
leaq -0x3c(%rbp), %rsi
leaq -0x4c(%rbp), %rdx
callq 0xe8660
jmp 0xe3485
cmpl $0x7, -0x1c(%rbp)
jne 0xe3458
movq -0x18(%rbp), %rax
movq 0x268(%rax), %rcx
movq %rcx, -0x10(%rbp)
movq 0x270(%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0xe3485
jmp 0xe345a
jmp 0xe345c
jmp 0xe345e
jmp 0xe3460
jmp 0xe3462
jmp 0xe3464
jmp 0xe3466
leaq 0x91c9d(%rip), %rdi     # 0x17510a
leaq 0x8fa95(%rip), %rsi     # 0x172f09
movl $0x2963, %edx           # imm = 0x2963
leaq 0x9457b(%rip), %rcx     # 0x1779fb
callq 0xd180
movsd -0x10(%rbp), %xmm0
movsd -0x8(%rbp), %xmm1
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)