// File: /workspace/github_cpp_makefile_star2_O3/donfreiday[P]gb/./imgui/imgui.cpp
// Function: ImGui::DragFloatRange2(char const*, float*, float*, float, float, float, char const*, char const*, float)
bool ImGui::DragFloatRange2(const char* label, float* v_current_min, float* v_current_max, float v_speed, float v_min, float v_max, const char* display_format, const char* display_format_max, float power)
{
    ImGuiWindow* window = GetCurrentWindow();
    if (window->SkipItems)
        return false;

    ImGuiState& g = *GImGui;
    ImGui::PushID(label);
    ImGui::BeginGroup();
    PushMultiItemsWidths(2);

    bool value_changed = ImGui::DragFloat("##min", v_current_min, v_speed, (v_min >= v_max) ? -FLT_MAX : v_min, (v_min >= v_max) ? *v_current_max : ImMin(v_max, *v_current_max), display_format, power);
    ImGui::PopItemWidth();
    ImGui::SameLine(0, g.Style.ItemInnerSpacing.x);
    value_changed |= ImGui::DragFloat("##max", v_current_max, v_speed, (v_min >= v_max) ? *v_current_min : ImMax(v_min, *v_current_min), (v_min >= v_max) ? FLT_MAX : v_max, display_format_max ? display_format_max : display_format, power);
    ImGui::PopItemWidth();
    ImGui::SameLine(0, g.Style.ItemInnerSpacing.x);

    ImGui::TextUnformatted(label, FindTextDisplayEnd(label));
    ImGui::EndGroup();
    ImGui::PopID();

    return value_changed;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movss %xmm3, -0x30(%rbp)
movss %xmm0, -0x2c(%rbp)
movq 0x38e7b(%rip), %r12     # 0x55480
movq 0x1758(%r12), %rax
movb $0x1, 0x72(%rax)
cmpb $0x0, 0x74(%rax)
je 0x1c61f
xorl %r14d, %r14d
jmp 0x1c7f6
movq %rcx, %r15
movq %rdx, %r13
movq %rsi, %rbx
movq %rdi, %r14
movq %r8, -0x38(%rbp)
movaps %xmm1, -0x60(%rbp)
movaps %xmm2, -0x50(%rbp)
callq 0x16f0c
callq 0x1b560
movl $0x2, %edi
callq 0x1b714
movaps -0x50(%rbp), %xmm4
movaps -0x60(%rbp), %xmm2
ucomiss %xmm4, %xmm2
movaps %xmm4, %xmm3
cmpless %xmm2, %xmm3
movss 0x20d56(%rip), %xmm0    # 0x3d3bc
andps %xmm3, %xmm0
movaps %xmm3, %xmm1
andnps %xmm2, %xmm1
orps %xmm0, %xmm1
movss (%r13), %xmm2
movq %r14, -0x40(%rbp)
movaps %xmm3, -0x70(%rbp)
jae 0x1c68c
movaps %xmm4, %xmm0
minss %xmm2, %xmm0
movaps %xmm0, %xmm2
leaq 0x21c9b(%rip), %rdi     # 0x3e32e
movq %rbx, %rsi
movss -0x2c(%rbp), %xmm0
movq %r15, %rdx
movss -0x30(%rbp), %xmm3
callq 0x1c08e
movl %eax, %r14d
callq 0x9db1
movss 0x141c(%r12), %xmm0
movq 0x38dbf(%rip), %rcx     # 0x55480
movq 0x1758(%rcx), %rax
movb $0x1, 0x72(%rax)
cmpb $0x0, 0x74(%rax)
movq -0x38(%rbp), %rsi
movaps -0x60(%rbp), %xmm3
movaps -0x70(%rbp), %xmm2
movaps -0x50(%rbp), %xmm4
jne 0x1c71c
xorps %xmm1, %xmm1
ucomiss %xmm0, %xmm1
jbe 0x1c6f2
movss 0x1414(%rcx), %xmm0
addss 0xb0(%rax), %xmm0
movl 0xb4(%rax), %ecx
movq 0xd0(%rax), %rdx
movq %rdx, 0xc8(%rax)
movss %xmm0, 0xa8(%rax)
movl %ecx, 0xac(%rax)
ucomiss %xmm4, %xmm3
movss (%rbx), %xmm1
movss 0x20ca5(%rip), %xmm0    # 0x3d3d0
andps %xmm2, %xmm0
andnps %xmm4, %xmm2
orps %xmm0, %xmm2
jae 0x1c74a
movaps %xmm1, %xmm0
cmpless %xmm3, %xmm0
andps %xmm0, %xmm3
andnps %xmm1, %xmm0
orps %xmm3, %xmm0
movaps %xmm0, %xmm1
testq %rsi, %rsi
cmovneq %rsi, %r15
leaq 0x21bdc(%rip), %rdi     # 0x3e334
movq %r13, %rsi
movss -0x2c(%rbp), %xmm0
movq %r15, %rdx
movss -0x30(%rbp), %xmm3
callq 0x1c08e
movl %eax, %ebx
callq 0x9db1
movss 0x141c(%r12), %xmm0
movq 0x38cfb(%rip), %rcx     # 0x55480
movq 0x1758(%rcx), %rax
movb $0x1, 0x72(%rax)
cmpb $0x0, 0x74(%rax)
jne 0x1c7d0
xorps %xmm1, %xmm1
ucomiss %xmm0, %xmm1
jbe 0x1c7a6
movss 0x1414(%rcx), %xmm0
addss 0xb0(%rax), %xmm0
movl 0xb4(%rax), %ecx
movq 0xd0(%rax), %rdx
movq %rdx, 0xc8(%rax)
movss %xmm0, 0xa8(%rax)
movl %ecx, 0xac(%rax)
orb %bl, %r14b
movq -0x40(%rbp), %rbx
movq %rbx, %rdi
xorl %esi, %esi
callq 0xdfc4
movq %rbx, %rdi
movq %rax, %rsi
callq 0xd741
callq 0x1b97c
callq 0x16b19
movl %r14d, %eax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq