// File: /workspace/github_c_makefile_star2_O1/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 0x3afc2(%rip), %rsi     # 0xf7f49
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x56d16(%rip), %rsi     # 0x113cae
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x58(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0xbde06
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %rdi
callq 0x59200
leaq 0x3af78(%rip), %rsi     # 0xf7f49
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x56cdd(%rip), %rsi     # 0x113cbf
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0xbde06
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %rdi
callq 0x59200
movq 0x60(%rsp), %r12
movq 0x50(%rsp), %r13
cmpq %r13, %r12
je 0xbd677
movups 0x58(%rsp), %xmm0
movq 0xaf49d(%rip), %rax     # 0x16c4d0
movups %xmm0, (%rax)
movupd 0x48(%rsp), %xmm0
movq 0xaf9a5(%rip), %rax     # 0x16c9e8
movupd %xmm0, (%rax)
leaq 0x3aefb(%rip), %rsi     # 0xf7f49
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x56c71(%rip), %rsi     # 0x113cd0
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0xbde06
movupd 0x38(%rsp), %xmm0
movq 0xaf8c6(%rip), %rax     # 0x16c950
movupd %xmm0, (%rax)
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %rdi
callq 0x59200
movq 0xaf427(%rip), %rbx     # 0x16c4d0
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 0xaf911(%rip), %rsi     # 0x16c9e8
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 0xbd1b3
leaq 0x3ae3f(%rip), %rsi     # 0xf7f49
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x56bc8(%rip), %rsi     # 0x113ce3
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0xbde06
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 0xaf353(%rip), %r14     # 0x16c4d0
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 0xbd1b3
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 0x3a8b4(%rip), %xmm2    # 0xf7a88
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 0xaf570(%rip), %r14     # 0x16c7a8
movl $0x0, (%r14)
movq %rax, 0x8(%r14)
leaq 0x56aad(%rip), %rsi     # 0x113cf7
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x56a53(%rip), %rsi     # 0x113cae
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0xbde06
movupd 0x38(%rsp), %xmm0
movq 0xaf3ea(%rip), %rax     # 0x16c670
movupd %xmm0, (%rax)
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %rdi
callq 0x59200
leaq 0x56a52(%rip), %rsi     # 0x113cf7
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x56a09(%rip), %rsi     # 0x113cbf
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0xbde06
movups 0x38(%rsp), %xmm0
movq 0xafb10(%rip), %rax     # 0x16cdf0
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 0x56929(%rip), %xmm2    # 0x113c40
mulsd %xmm2, %xmm1
cvttsd2si %xmm1, %edx
movl %eax, %esi
shrl $0x8, %esi
andl %ecx, %esi
xorps %xmm1, %xmm1
cvtsi2sd %esi, %xmm1
movq 0xaf544(%rip), %rsi     # 0x16c878
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 0xaf520(%rip), %rcx     # 0x16c888
movl $0x0, (%rcx)
movq %rax, 0x8(%rcx)
leaq 0x56e8a(%rip), %rsi     # 0x114203
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x56924(%rip), %rsi     # 0x113cae
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0xbde06
movupd 0x38(%rsp), %xmm0
movq 0xaf0ab(%rip), %r14     # 0x16c460
movupd %xmm0, (%r14)
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %rdi
callq 0x59200
leaq 0x56e2e(%rip), %rsi     # 0x114203
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x568d9(%rip), %rsi     # 0x113cbf
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0xbde06
movups 0x38(%rsp), %xmm0
movq 0xaf2e0(%rip), %rbx     # 0x16c6f0
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 0x56805(%rip), %xmm2    # 0x113c48
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 0x567ce(%rip), %xmm5    # 0x113c50
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 0xafafe(%rip), %rsi     # 0x16cfb8
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 0xafa28(%rip), %rcx     # 0x16cf20
movl %edi, (%rcx)
movq %rax, 0x8(%rcx)
movupd (%rbx), %xmm0
movq 0xaf627(%rip), %rax     # 0x16cb30
movupd %xmm0, (%rax)
leaq 0x567e8(%rip), %rsi     # 0x113cfc
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x56789(%rip), %rsi     # 0x113cae
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0xbde06
movupd 0x38(%rsp), %xmm0
movq 0xaefb0(%rip), %rax     # 0x16c500
movupd %xmm0, (%rax)
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %rdi
callq 0x59200
leaq 0x5678d(%rip), %rsi     # 0x113cfc
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x5673f(%rip), %rsi     # 0x113cbf
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0xbde06
movupd 0x38(%rsp), %xmm0
movq 0xaf2e5(%rip), %rax     # 0x16c890
movupd %xmm0, (%rax)
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %rdi
callq 0x59200
leaq 0x3a97f(%rip), %rsi     # 0xf7f49
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x56729(%rip), %rsi     # 0x113d04
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0xbde06
movupd 0x38(%rsp), %xmm0
movq 0xaf0b2(%rip), %rax     # 0x16c6b8
movupd %xmm0, (%rax)
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %rdi
callq 0x59200
leaq 0x3a924(%rip), %rsi     # 0xf7f49
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x566dd(%rip), %rsi     # 0x113d13
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0xbde06
movups 0x38(%rsp), %xmm0
movq 0xaf8d8(%rip), %rax     # 0x16cf38
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 0xbd6b8
jmp 0xbd6c7
jmp 0xbd6b8
jmp 0xbd6c7
jmp 0xbd6b8
jmp 0xbd6c7
jmp 0xbd6b8
jmp 0xbd6c7
jmp 0xbd6b8
jmp 0xbd6c7
jmp 0xbd6b8
jmp 0xbd6c7
jmp 0xbd6b8
jmp 0xbd6c7
jmp 0xbd6b8
jmp 0xbd6c7
jmp 0xbd6b8
jmp 0xbd6c7
jmp 0xbd6b8
jmp 0xbd6c7
jmp 0xbd6b8
jmp 0xbd6c7
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x59200
jmp 0xbd6ca
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x59200
movq %rbx, %rdi
callq 0x57090