// File: /workspace/github_c_makefile_star2_O2/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 0x30e0e(%rip), %rsi     # 0xe6fed
leaq 0x20(%rsp), %rdi
callq 0x58c40
leaq 0x4cb76(%rip), %rsi     # 0x102d66
leaq 0x8(%rsp), %rdi
callq 0x58c40
leaq 0x58(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0xb6fcf
leaq 0x8(%rsp), %rdi
callq 0x5a588
leaq 0x20(%rsp), %rdi
callq 0x5a588
leaq 0x30dc4(%rip), %rsi     # 0xe6fed
leaq 0x20(%rsp), %rdi
callq 0x58c40
leaq 0x4cb3d(%rip), %rsi     # 0x102d77
leaq 0x8(%rsp), %rdi
callq 0x58c40
leaq 0x48(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0xb6fcf
leaq 0x8(%rsp), %rdi
callq 0x5a588
leaq 0x20(%rsp), %rdi
callq 0x5a588
movq 0x60(%rsp), %r12
movq 0x50(%rsp), %r13
cmpq %r13, %r12
je 0xb6845
movups 0x58(%rsp), %xmm0
movq 0xab245(%rip), %rax     # 0x1614d0
movups %xmm0, (%rax)
movupd 0x48(%rsp), %xmm0
movq 0xab74d(%rip), %rax     # 0x1619e8
movupd %xmm0, (%rax)
leaq 0x30d47(%rip), %rsi     # 0xe6fed
leaq 0x20(%rsp), %rdi
callq 0x58c40
leaq 0x4cad1(%rip), %rsi     # 0x102d88
leaq 0x8(%rsp), %rdi
callq 0x58c40
leaq 0x38(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0xb6fcf
movupd 0x38(%rsp), %xmm0
movq 0xab66e(%rip), %rax     # 0x161950
movupd %xmm0, (%rax)
leaq 0x8(%rsp), %rdi
callq 0x5a588
leaq 0x20(%rsp), %rdi
callq 0x5a588
movq 0xab1cf(%rip), %rbx     # 0x1614d0
leaq 0x20(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x582f0
movq 0x8(%r14), %r15
movq 0xab6cc(%rip), %rsi     # 0x1619e8
leaq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x582f0
cmpq 0x8(%r14), %r15
jge 0xb63bb
leaq 0x30cb3(%rip), %rsi     # 0xe6fed
leaq 0x20(%rsp), %rdi
callq 0x58c40
leaq 0x4ca50(%rip), %rsi     # 0x102d9b
leaq 0x8(%rsp), %rdi
callq 0x58c40
leaq 0x38(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0xb6fcf
leaq 0x8(%rsp), %rdi
callq 0x5a588
leaq 0x20(%rsp), %rdi
callq 0x5a588
leaq 0x20(%rsp), %r14
leaq 0x38(%rsp), %rsi
movq %r14, %rdi
callq 0x582f0
movq 0x8(%r14), %rbp
movq 0xab136(%rip), %r14     # 0x1614d0
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x582f0
cmpq 0x8(%r15), %rbp
jle 0xb63bb
movupd 0x38(%rsp), %xmm0
movupd %xmm0, (%r14)
movl 0x8(%rbx), %eax
movl $0xff, %ecx
movl %eax, %edx
andl %ecx, %edx
cvtsi2sd %edx, %xmm0
xorl %ecx, %edx
cvtsi2sd %edx, %xmm1
movsd 0x30737(%rip), %xmm2    # 0xe6b10
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
cvttsd2si %xmm1, %edx
movl %eax, %esi
shrl $0x8, %esi
andl %ecx, %esi
cvtsi2sd %esi, %xmm0
xorl %ecx, %esi
cvtsi2sd %esi, %xmm1
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
cvttsd2si %xmm1, %esi
shrl $0x10, %eax
andl %ecx, %eax
cvtsi2sd %eax, %xmm0
xorl %ecx, %eax
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 0xab377(%rip), %r14     # 0x1617a8
andl $0x0, (%r14)
movq %rax, 0x8(%r14)
leaq 0x4c96f(%rip), %rsi     # 0x102daf
leaq 0x20(%rsp), %rdi
callq 0x58c40
leaq 0x4c915(%rip), %rsi     # 0x102d66
leaq 0x8(%rsp), %rdi
callq 0x58c40
leaq 0x38(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0xb6fcf
movupd 0x38(%rsp), %xmm0
movq 0xab1f4(%rip), %rax     # 0x161670
movupd %xmm0, (%rax)
leaq 0x8(%rsp), %rdi
callq 0x5a588
leaq 0x20(%rsp), %rdi
callq 0x5a588
leaq 0x4c914(%rip), %rsi     # 0x102daf
leaq 0x20(%rsp), %rdi
callq 0x58c40
leaq 0x4c8cb(%rip), %rsi     # 0x102d77
leaq 0x8(%rsp), %rdi
callq 0x58c40
leaq 0x38(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0xb6fcf
movups 0x38(%rsp), %xmm0
movq 0xab91a(%rip), %rax     # 0x161df0
movups %xmm0, (%rax)
leaq 0x8(%rsp), %rdi
callq 0x5a588
leaq 0x20(%rsp), %rdi
callq 0x5a588
movups (%r14), %xmm0
movq 0xab380(%rip), %rax     # 0x161878
movups %xmm0, (%rax)
movl 0x8(%rbx), %eax
movl $0xff, %ecx
movl %eax, %edx
andl %ecx, %edx
cvtsi2sd %edx, %xmm0
movsd 0x4c7e5(%rip), %xmm1    # 0x102cf8
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %edx
movl %eax, %esi
shrl $0x8, %esi
andl %ecx, %esi
cvtsi2sd %esi, %xmm0
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %esi
shrl $0x10, %eax
andl %ecx, %eax
cvtsi2sd %eax, %xmm0
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
shll $0x10, %eax
shll $0x8, %esi
orl %edx, %esi
orl %eax, %esi
movslq %esi, %rax
movq 0xab335(%rip), %rcx     # 0x161888
andl $0x0, (%rcx)
movq %rax, 0x8(%rcx)
leaq 0x4cd8e(%rip), %rsi     # 0x1032ef
leaq 0x20(%rsp), %rdi
callq 0x58c40
leaq 0x4c7f4(%rip), %rsi     # 0x102d66
leaq 0x8(%rsp), %rdi
callq 0x58c40
leaq 0x38(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0xb6fcf
movupd 0x38(%rsp), %xmm0
movq 0xaaec3(%rip), %r14     # 0x161460
movupd %xmm0, (%r14)
leaq 0x8(%rsp), %rdi
callq 0x5a588
leaq 0x20(%rsp), %rdi
callq 0x5a588
leaq 0x4cd32(%rip), %rsi     # 0x1032ef
leaq 0x20(%rsp), %rdi
callq 0x58c40
leaq 0x4c7a9(%rip), %rsi     # 0x102d77
leaq 0x8(%rsp), %rdi
callq 0x58c40
leaq 0x38(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0xb6fcf
movups 0x38(%rsp), %xmm0
movq 0xab0f8(%rip), %rbx     # 0x1616f0
movups %xmm0, (%rbx)
leaq 0x8(%rsp), %rdi
callq 0x5a588
leaq 0x20(%rsp), %rdi
callq 0x5a588
movl 0x8(%r14), %eax
movl $0xff, %ecx
movl %eax, %edi
andl %ecx, %edi
cvtsi2sd %edi, %xmm1
movsd 0x4c6d8(%rip), %xmm0    # 0x102d00
movapd %xmm1, %xmm2
mulsd %xmm0, %xmm2
cvttsd2si %xmm2, %edx
movl %eax, %esi
shrl $0x8, %esi
andl %ecx, %esi
cvtsi2sd %esi, %xmm2
xorl %ecx, %edi
cvtsi2sd %edi, %xmm4
movsd 0x4c6bb(%rip), %xmm3    # 0x102d08
mulsd %xmm3, %xmm4
xorl %ecx, %esi
cvtsi2sd %esi, %xmm5
addsd %xmm1, %xmm4
mulsd %xmm3, %xmm5
addsd %xmm2, %xmm5
mulsd %xmm0, %xmm2
cvttsd2si %xmm2, %esi
shrl $0x10, %eax
andl %ecx, %eax
cvtsi2sd %eax, %xmm1
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %edi
shll $0x10, %edi
shll $0x8, %esi
orl %edx, %esi
orl %edi, %esi
movslq %esi, %rdx
movq 0xab928(%rip), %rsi     # 0x161fb8
andl $0x0, (%rsi)
movq %rdx, 0x8(%rsi)
cvttsd2si %xmm4, %edx
cvttsd2si %xmm5, %esi
xorl %ecx, %eax
cvtsi2sd %eax, %xmm0
mulsd %xmm3, %xmm0
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
shll $0x10, %eax
shll $0x8, %esi
orl %edx, %esi
orl %eax, %esi
movslq %esi, %rax
movq 0xab85b(%rip), %rcx     # 0x161f20
andl $0x0, (%rcx)
movq %rax, 0x8(%rcx)
movupd (%rbx), %xmm0
movq 0xab459(%rip), %rax     # 0x161b30
movupd %xmm0, (%rax)
leaq 0x4c6d2(%rip), %rsi     # 0x102db4
leaq 0x20(%rsp), %rdi
callq 0x58c40
leaq 0x4c673(%rip), %rsi     # 0x102d66
leaq 0x8(%rsp), %rdi
callq 0x58c40
leaq 0x38(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0xb6fcf
movupd 0x38(%rsp), %xmm0
movq 0xaade2(%rip), %rax     # 0x161500
movupd %xmm0, (%rax)
leaq 0x8(%rsp), %rdi
callq 0x5a588
leaq 0x20(%rsp), %rdi
callq 0x5a588
leaq 0x4c677(%rip), %rsi     # 0x102db4
leaq 0x20(%rsp), %rdi
callq 0x58c40
leaq 0x4c629(%rip), %rsi     # 0x102d77
leaq 0x8(%rsp), %rdi
callq 0x58c40
leaq 0x38(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0xb6fcf
movupd 0x38(%rsp), %xmm0
movq 0xab117(%rip), %rax     # 0x161890
movupd %xmm0, (%rax)
leaq 0x8(%rsp), %rdi
callq 0x5a588
leaq 0x20(%rsp), %rdi
callq 0x5a588
leaq 0x30855(%rip), %rsi     # 0xe6fed
leaq 0x20(%rsp), %rdi
callq 0x58c40
leaq 0x4c613(%rip), %rsi     # 0x102dbc
leaq 0x8(%rsp), %rdi
callq 0x58c40
leaq 0x38(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0xb6fcf
movupd 0x38(%rsp), %xmm0
movq 0xaaee4(%rip), %rax     # 0x1616b8
movupd %xmm0, (%rax)
leaq 0x8(%rsp), %rdi
callq 0x5a588
leaq 0x20(%rsp), %rdi
callq 0x5a588
leaq 0x307fa(%rip), %rsi     # 0xe6fed
leaq 0x20(%rsp), %rdi
callq 0x58c40
leaq 0x4c5c7(%rip), %rsi     # 0x102dcb
leaq 0x8(%rsp), %rdi
callq 0x58c40
leaq 0x38(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0xb6fcf
movups 0x38(%rsp), %xmm0
movq 0xab70a(%rip), %rax     # 0x161f38
movups %xmm0, (%rax)
leaq 0x8(%rsp), %rdi
callq 0x5a588
leaq 0x20(%rsp), %rdi
callq 0x5a588
cmpq %r13, %r12
setne %al
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xb6886
jmp 0xb6895
jmp 0xb6886
jmp 0xb6895
jmp 0xb6886
jmp 0xb6895
jmp 0xb6886
jmp 0xb6895
jmp 0xb6886
jmp 0xb6895
jmp 0xb6886
jmp 0xb6895
jmp 0xb6886
jmp 0xb6895
jmp 0xb6886
jmp 0xb6895
jmp 0xb6886
jmp 0xb6895
jmp 0xb6886
jmp 0xb6895
jmp 0xb6886
jmp 0xb6895
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x5a588
jmp 0xb6898
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x5a588
movq %rbx, %rdi
callq 0x58260