// File: /workspace/github_c_makefile_star2_O3/enzo1982[P]smooth/classes/backends/xlib/backendxlib.cpp
// Function: smooth::Backends::BackendXLib::UpdateColorsKDE()
S::Bool S::Backends::BackendXLib::UpdateColorsKDE()
{
	GUI::Color	 backgroundColor = get_kde_color("Window", "BackgroundNormal");
	GUI::Color	 textColor	 = get_kde_color("Window", "ForegroundNormal");

	if (backgroundColor == textColor) return False;

	Setup::BackgroundColor	  = backgroundColor;
	Setup::TextColor	  = textColor;
	Setup::InactiveTextColor  = get_kde_color("Window", "ForegroundInactive");

	if (Setup::BackgroundColor.Grayscale() < Setup::TextColor.Grayscale())
	{
		GUI::Color	 backgroundAlternate = get_kde_color("Window", "BackgroundAlternate");

		if (backgroundAlternate.Grayscale() > Setup::BackgroundColor.Grayscale()) Setup::BackgroundColor = backgroundAlternate;
	}

	Setup::LightGrayColor	  = GUI::Color(Setup::BackgroundColor.GetRed() + (255 - Setup::BackgroundColor.GetRed()) * 0.6, Setup::BackgroundColor.GetGreen() + (255 - Setup::BackgroundColor.GetGreen()) * 0.6, Setup::BackgroundColor.GetBlue() + (255 - Setup::BackgroundColor.GetBlue()) * 0.6);

	Setup::ClientColor	  = get_kde_color("View", "BackgroundNormal");
	Setup::ClientTextColor	  = get_kde_color("View", "ForegroundNormal");

	Setup::DividerLightColor  = Setup::LightGrayColor;
	Setup::DividerDarkColor	  = GUI::Color(Setup::BackgroundColor.GetRed() * 0.7, Setup::BackgroundColor.GetGreen() * 0.7, Setup::BackgroundColor.GetBlue() * 0.7);

	Setup::HighlightColor	  = get_kde_color("Selection", "BackgroundNormal");
	Setup::HighlightTextColor = get_kde_color("Selection", "ForegroundNormal");

	Setup::GradientStartColor = GUI::Color(Setup::HighlightColor.GetRed() * 0.75, Setup::HighlightColor.GetGreen() * 0.75, Setup::HighlightColor.GetBlue() * 0.75);
	Setup::GradientEndColor	  = GUI::Color(Setup::HighlightColor.GetRed() + (255 - Setup::HighlightColor.GetRed()) * 0.15, Setup::HighlightColor.GetGreen() + (255 - Setup::HighlightColor.GetGreen()) * 0.15, Setup::HighlightColor.GetBlue() + (255 - Setup::HighlightColor.GetBlue()) * 0.15);
	Setup::GradientTextColor  = Setup::HighlightTextColor;

	Setup::TooltipColor	  = get_kde_color("Tooltip", "BackgroundNormal");
	Setup::TooltipTextColor	  = get_kde_color("Tooltip", "ForegroundNormal");

	Setup::LinkColor	  = get_kde_color("Window", "ForegroundLink");
	Setup::LinkHighlightColor = get_kde_color("Window", "ForegroundActive");

	return True;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
leaq 0x3b0f2(%rip), %rsi     # 0xf70ed
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x56ea2(%rip), %rsi     # 0x112eae
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x58(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0xbce7c
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %rdi
callq 0x59200
leaq 0x3b0a8(%rip), %rsi     # 0xf70ed
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x56e69(%rip), %rsi     # 0x112ebf
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0xbce7c
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %rdi
callq 0x59200
movq 0x60(%rsp), %r12
movq 0x50(%rsp), %r13
cmpq %r13, %r12
je 0xbc6eb
movups 0x58(%rsp), %xmm0
movq 0xaf429(%rip), %rax     # 0x16b4d0
movups %xmm0, (%rax)
movupd 0x48(%rsp), %xmm0
movq 0xaf931(%rip), %rax     # 0x16b9e8
movupd %xmm0, (%rax)
leaq 0x3b02b(%rip), %rsi     # 0xf70ed
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x56dfd(%rip), %rsi     # 0x112ed0
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0xbce7c
movupd 0x38(%rsp), %xmm0
movq 0xaf852(%rip), %rax     # 0x16b950
movupd %xmm0, (%rax)
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %rdi
callq 0x59200
movq 0xaf3b3(%rip), %rbx     # 0x16b4d0
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
movl $0x6, %edx
callq 0x57d10
movl 0x8(%r14), %eax
movl %eax, %ecx
shll $0x10, %ecx
movl %eax, %ebp
shll $0x8, %ebp
orl %ecx, %ebp
orl %eax, %ebp
movq 0xaf89d(%rip), %rsi     # 0x16b9e8
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movl $0x6, %edx
callq 0x57d10
movl 0x8(%r14), %eax
movl %eax, %ecx
shll $0x10, %ecx
movl %eax, %edx
shll $0x8, %edx
orl %ecx, %edx
orl %eax, %edx
cmpl %edx, %ebp
jge 0xbc227
leaq 0x3af6f(%rip), %rsi     # 0xf70ed
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x56d54(%rip), %rsi     # 0x112ee3
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0xbce7c
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %r14
leaq 0x38(%rsp), %rsi
movq %r14, %rdi
movl $0x6, %edx
callq 0x57d10
movl 0x8(%r14), %eax
movl %eax, %ecx
shll $0x10, %ecx
movl %eax, %ebp
shll $0x8, %ebp
orl %ecx, %ebp
orl %eax, %ebp
movq 0xaf2df(%rip), %r14     # 0x16b4d0
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
movl $0x6, %edx
callq 0x57d10
movl 0x8(%r15), %eax
movl %eax, %ecx
shll $0x10, %ecx
movl %eax, %edx
shll $0x8, %edx
orl %ecx, %edx
orl %eax, %edx
cmpl %edx, %ebp
jle 0xbc227
movupd 0x38(%rsp), %xmm0
movupd %xmm0, (%r14)
movl 0x8(%rbx), %eax
movl $0xff, %ecx
movl %eax, %edx
andl %ecx, %edx
xorps %xmm0, %xmm0
cvtsi2sd %edx, %xmm0
xorl %ecx, %edx
cvtsi2sd %edx, %xmm1
movsd 0x3a9c8(%rip), %xmm2    # 0xf6c10
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
cvttsd2si %xmm1, %edx
movl %eax, %esi
shrl $0x8, %esi
andl %ecx, %esi
xorps %xmm0, %xmm0
cvtsi2sd %esi, %xmm0
xorl %ecx, %esi
xorps %xmm1, %xmm1
cvtsi2sd %esi, %xmm1
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
cvttsd2si %xmm1, %esi
shrl $0x10, %eax
andl %ecx, %eax
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
xorl %ecx, %eax
xorps %xmm1, %xmm1
cvtsi2sd %eax, %xmm1
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
cvttsd2si %xmm1, %eax
shll $0x10, %eax
shll $0x8, %esi
orl %edx, %esi
orl %eax, %esi
movslq %esi, %rax
movq 0xaf4fc(%rip), %r14     # 0x16b7a8
movl $0x0, (%r14)
movq %rax, 0x8(%r14)
leaq 0x56c39(%rip), %rsi     # 0x112ef7
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x56bdf(%rip), %rsi     # 0x112eae
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0xbce7c
movupd 0x38(%rsp), %xmm0
movq 0xaf376(%rip), %rax     # 0x16b670
movupd %xmm0, (%rax)
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %rdi
callq 0x59200
leaq 0x56bde(%rip), %rsi     # 0x112ef7
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x56b95(%rip), %rsi     # 0x112ebf
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0xbce7c
movups 0x38(%rsp), %xmm0
movq 0xafa9c(%rip), %rax     # 0x16bdf0
movups %xmm0, (%rax)
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %rdi
callq 0x59200
movupd (%r14), %xmm0
movl 0x8(%rbx), %eax
movl $0xff, %ecx
movl %eax, %edx
andl %ecx, %edx
xorps %xmm1, %xmm1
cvtsi2sd %edx, %xmm1
movsd 0x56ab5(%rip), %xmm2    # 0x112e40
mulsd %xmm2, %xmm1
cvttsd2si %xmm1, %edx
movl %eax, %esi
shrl $0x8, %esi
andl %ecx, %esi
xorps %xmm1, %xmm1
cvtsi2sd %esi, %xmm1
movq 0xaf4d0(%rip), %rsi     # 0x16b878
mulsd %xmm2, %xmm1
shrl $0x10, %eax
andl %ecx, %eax
cvttsd2si %xmm1, %ecx
xorps %xmm1, %xmm1
cvtsi2sd %eax, %xmm1
movupd %xmm0, (%rsi)
mulsd %xmm2, %xmm1
cvttsd2si %xmm1, %eax
shll $0x10, %eax
shll $0x8, %ecx
orl %edx, %ecx
orl %eax, %ecx
movslq %ecx, %rax
movq 0xaf4ac(%rip), %rcx     # 0x16b888
movl $0x0, (%rcx)
movq %rax, 0x8(%rcx)
leaq 0x57022(%rip), %rsi     # 0x11340f
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x56ab0(%rip), %rsi     # 0x112eae
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0xbce7c
movupd 0x38(%rsp), %xmm0
movq 0xaf037(%rip), %r14     # 0x16b460
movupd %xmm0, (%r14)
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %rdi
callq 0x59200
leaq 0x56fc6(%rip), %rsi     # 0x11340f
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x56a65(%rip), %rsi     # 0x112ebf
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0xbce7c
movups 0x38(%rsp), %xmm0
movq 0xaf26c(%rip), %rbx     # 0x16b6f0
movups %xmm0, (%rbx)
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %rdi
callq 0x59200
movl 0x8(%r14), %eax
movl $0xff, %ecx
movl %eax, %r8d
andl %ecx, %r8d
cvtsi2sd %r8d, %xmm3
movsd 0x56991(%rip), %xmm2    # 0x112e48
movapd %xmm3, %xmm0
mulsd %xmm2, %xmm0
cvttsd2si %xmm0, %edx
movl %eax, %edi
shrl $0x8, %edi
andl %ecx, %edi
cvtsi2sd %edi, %xmm1
movapd %xmm1, %xmm0
mulsd %xmm2, %xmm0
cvttsd2si %xmm0, %esi
shrl $0x10, %eax
andl %ecx, %eax
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
xorl %ecx, %r8d
cvtsi2sd %r8d, %xmm4
movsd 0x5695a(%rip), %xmm5    # 0x112e50
mulsd %xmm5, %xmm4
addsd %xmm3, %xmm4
mulsd %xmm0, %xmm2
cvttsd2si %xmm2, %r8d
xorl %ecx, %edi
xorps %xmm2, %xmm2
cvtsi2sd %edi, %xmm2
mulsd %xmm5, %xmm2
addsd %xmm1, %xmm2
shll $0x10, %r8d
shll $0x8, %esi
orl %edx, %esi
orl %r8d, %esi
movslq %esi, %rdx
movq 0xafa8a(%rip), %rsi     # 0x16bfb8
xorl %edi, %edi
cvttsd2si %xmm4, %r8d
cvttsd2si %xmm2, %r9d
movl %edi, (%rsi)
xorl %ecx, %eax
xorps %xmm1, %xmm1
cvtsi2sd %eax, %xmm1
mulsd %xmm5, %xmm1
addsd %xmm0, %xmm1
cvttsd2si %xmm1, %eax
movq %rdx, 0x8(%rsi)
shll $0x10, %eax
shll $0x8, %r9d
orl %r8d, %r9d
orl %eax, %r9d
movslq %r9d, %rax
movq 0xaf9b4(%rip), %rcx     # 0x16bf20
movl %edi, (%rcx)
movq %rax, 0x8(%rcx)
movupd (%rbx), %xmm0
movq 0xaf5b3(%rip), %rax     # 0x16bb30
movupd %xmm0, (%rax)
leaq 0x56974(%rip), %rsi     # 0x112efc
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x56915(%rip), %rsi     # 0x112eae
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0xbce7c
movupd 0x38(%rsp), %xmm0
movq 0xaef3c(%rip), %rax     # 0x16b500
movupd %xmm0, (%rax)
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %rdi
callq 0x59200
leaq 0x56919(%rip), %rsi     # 0x112efc
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x568cb(%rip), %rsi     # 0x112ebf
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0xbce7c
movupd 0x38(%rsp), %xmm0
movq 0xaf271(%rip), %rax     # 0x16b890
movupd %xmm0, (%rax)
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %rdi
callq 0x59200
leaq 0x3aaaf(%rip), %rsi     # 0xf70ed
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x568b5(%rip), %rsi     # 0x112f04
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0xbce7c
movupd 0x38(%rsp), %xmm0
movq 0xaf03e(%rip), %rax     # 0x16b6b8
movupd %xmm0, (%rax)
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %rdi
callq 0x59200
leaq 0x3aa54(%rip), %rsi     # 0xf70ed
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x56869(%rip), %rsi     # 0x112f13
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0xbce7c
movups 0x38(%rsp), %xmm0
movq 0xaf864(%rip), %rax     # 0x16bf38
movups %xmm0, (%rax)
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %rdi
callq 0x59200
cmpq %r13, %r12
setne %al
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xbc72c
jmp 0xbc73b
jmp 0xbc72c
jmp 0xbc73b
jmp 0xbc72c
jmp 0xbc73b
jmp 0xbc72c
jmp 0xbc73b
jmp 0xbc72c
jmp 0xbc73b
jmp 0xbc72c
jmp 0xbc73b
jmp 0xbc72c
jmp 0xbc73b
jmp 0xbc72c
jmp 0xbc73b
jmp 0xbc72c
jmp 0xbc73b
jmp 0xbc72c
jmp 0xbc73b
jmp 0xbc72c
jmp 0xbc73b
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x59200
jmp 0xbc73e
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x59200
movq %rbx, %rdi
callq 0x57090