// File: Ciaxur[P]yagb-emu/include/imgui/imgui_widgets.cpp
// Function: ImGui::SetColorEditOptions(int)
void ImGui::SetColorEditOptions(ImGuiColorEditFlags flags)
{
    ImGuiContext& g = *GImGui;
    if ((flags & ImGuiColorEditFlags__DisplayMask) == 0)
        flags |= ImGuiColorEditFlags__OptionsDefault & ImGuiColorEditFlags__DisplayMask;
    if ((flags & ImGuiColorEditFlags__DataTypeMask) == 0)
        flags |= ImGuiColorEditFlags__OptionsDefault & ImGuiColorEditFlags__DataTypeMask;
    if ((flags & ImGuiColorEditFlags__PickerMask) == 0)
        flags |= ImGuiColorEditFlags__OptionsDefault & ImGuiColorEditFlags__PickerMask;
    if ((flags & ImGuiColorEditFlags__InputMask) == 0)
        flags |= ImGuiColorEditFlags__OptionsDefault & ImGuiColorEditFlags__InputMask;
    IM_ASSERT(ImIsPowerOfTwo(flags & ImGuiColorEditFlags__DisplayMask));    // Check only 1 option is selected
    IM_ASSERT(ImIsPowerOfTwo(flags & ImGuiColorEditFlags__DataTypeMask));   // Check only 1 option is selected
    IM_ASSERT(ImIsPowerOfTwo(flags & ImGuiColorEditFlags__PickerMask));     // Check only 1 option is selected
    IM_ASSERT(ImIsPowerOfTwo(flags & ImGuiColorEditFlags__InputMask));      // Check only 1 option is selected
    g.ColorEditOptions = flags;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0xc22be(%rip), %rax     # 0x212f40
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movl -0x4(%rbp), %eax
andl $0x700000, %eax         # imm = 0x700000
cmpl $0x0, %eax
jne 0x150ca1
movl -0x4(%rbp), %eax
orl $0x100000, %eax         # imm = 0x100000
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
andl $0x1800000, %eax        # imm = 0x1800000
cmpl $0x0, %eax
jne 0x150cb9
movl -0x4(%rbp), %eax
orl $0x800000, %eax         # imm = 0x800000
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
andl $0x6000000, %eax        # imm = 0x6000000
cmpl $0x0, %eax
jne 0x150cd1
movl -0x4(%rbp), %eax
orl $0x2000000, %eax        # imm = 0x2000000
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
andl $0x18000000, %eax       # imm = 0x18000000
cmpl $0x0, %eax
jne 0x150ce9
movl -0x4(%rbp), %eax
orl $0x8000000, %eax        # imm = 0x8000000
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %edi
andl $0x700000, %edi         # imm = 0x700000
callq 0x13de90
testb $0x1, %al
jne 0x150cfd
jmp 0x150cff
jmp 0x150d1e
leaq 0x3ec5c(%rip), %rdi     # 0x18f962
leaq 0x3d6d3(%rip), %rsi     # 0x18e3e0
movl $0x14f4, %edx           # imm = 0x14F4
leaq 0x3ee6d(%rip), %rcx     # 0x18fb86
callq 0xd180
movl -0x4(%rbp), %edi
andl $0x1800000, %edi        # imm = 0x1800000
callq 0x13de90
testb $0x1, %al
jne 0x150d32
jmp 0x150d34
jmp 0x150d53
leaq 0x3ee80(%rip), %rdi     # 0x18fbbb
leaq 0x3d69e(%rip), %rsi     # 0x18e3e0
movl $0x14f5, %edx           # imm = 0x14F5
leaq 0x3ee38(%rip), %rcx     # 0x18fb86
callq 0xd180
movl -0x4(%rbp), %edi
andl $0x6000000, %edi        # imm = 0x6000000
callq 0x13de90
testb $0x1, %al
jne 0x150d67
jmp 0x150d69
jmp 0x150d88
leaq 0x3ed5a(%rip), %rdi     # 0x18faca
leaq 0x3d669(%rip), %rsi     # 0x18e3e0
movl $0x14f6, %edx           # imm = 0x14F6
leaq 0x3ee03(%rip), %rcx     # 0x18fb86
callq 0xd180
movl -0x4(%rbp), %edi
andl $0x18000000, %edi       # imm = 0x18000000
callq 0x13de90
testb $0x1, %al
jne 0x150d9c
jmp 0x150d9e
jmp 0x150dbd
leaq 0x3ec39(%rip), %rdi     # 0x18f9de
leaq 0x3d634(%rip), %rsi     # 0x18e3e0
movl $0x14f7, %edx           # imm = 0x14F7
leaq 0x3edce(%rip), %rcx     # 0x18fb86
callq 0xd180
movl -0x4(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x306c(%rax)
addq $0x10, %rsp
popq %rbp
retq