// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/classes/gui/window/backends/xlib/windowxlib.cpp
// Function: smooth::GUI::WindowXLib::UpdateWMNormalHints()
S::Void S::GUI::WindowXLib::UpdateWMNormalHints()
{
	if (wnd == None) return;

	XSizeHints	 normal;

	normal.flags	   = (minSize != Size() ? PMinSize : 0) |
			     (maxSize != Size() ? PMaxSize : 0) |
			     (flags & WF_NORESIZE ? PPosition | PSize : 0);

	normal.x	   = pos.x;
	normal.y	   = pos.y;

	normal.width	   = Math::Round(size.cx * fontSize) + sizeModifier.cx;
	normal.height	   = Math::Round(size.cy * fontSize) + sizeModifier.cy;

	normal.min_width   = Math::Round(minSize.cx * fontSize) + sizeModifier.cx;
	normal.min_height  = Math::Round(minSize.cy * fontSize) + sizeModifier.cy;

	normal.max_width   = Math::Round(maxSize.cx * fontSize) + sizeModifier.cx;
	normal.max_height  = Math::Round(maxSize.cy * fontSize) + sizeModifier.cy;

	XSetWMNormalHints(display, wnd, &normal);
}

// Assembly:
movq 0x138(%rdi), %rsi
testq %rsi, %rsi
je 0xbfb3b
subq $0x58, %rsp
movl 0x190(%rdi), %ecx
xorl %edx, %edx
movl 0x194(%rdi), %eax
orl %ecx, %eax
setne %dl
shll $0x4, %edx
movl 0x198(%rdi), %eax
xorl %r8d, %r8d
movl 0x19c(%rdi), %r9d
orl %eax, %r9d
setne %r8b
shll $0x5, %r8d
orl %edx, %r8d
xorl %edx, %edx
testb $0x4, 0x1b4(%rdi)
movl $0xc, %r9d
cmoveq %rdx, %r9
orq %r8, %r9
leaq 0x8(%rsp), %rdx
movq %r9, (%rdx)
movl 0x180(%rdi), %r8d
movl %r8d, 0x8(%rdx)
movl 0x184(%rdi), %r8d
movl %r8d, 0xc(%rdx)
cvtsi2sdl 0x188(%rdi), %xmm4
movsd 0x178(%rdi), %xmm1
mulsd %xmm1, %xmm4
xorpd %xmm2, %xmm2
movapd %xmm4, %xmm5
cmpltsd %xmm2, %xmm5
movsd 0x3499d(%rip), %xmm0    # 0xf4390
movapd %xmm5, %xmm6
andpd %xmm0, %xmm6
movsd 0x34995(%rip), %xmm3    # 0xf4398
andnpd %xmm3, %xmm5
orpd %xmm6, %xmm5
addsd %xmm4, %xmm5
cvttsd2si %xmm5, %r9
movl 0x18(%rdi), %r8d
addl %r8d, %r9d
movl %r9d, 0x10(%rdx)
xorps %xmm4, %xmm4
cvtsi2sdl 0x18c(%rdi), %xmm4
mulsd %xmm1, %xmm4
movapd %xmm4, %xmm5
cmpltsd %xmm2, %xmm5
movapd %xmm5, %xmm6
andpd %xmm0, %xmm6
andnpd %xmm3, %xmm5
orpd %xmm6, %xmm5
addsd %xmm4, %xmm5
cvttsd2si %xmm5, %r10
movl 0x1c(%rdi), %r9d
addl %r9d, %r10d
movl %r10d, 0x14(%rdx)
xorps %xmm4, %xmm4
cvtsi2sd %ecx, %xmm4
mulsd %xmm1, %xmm4
movapd %xmm4, %xmm5
cmpltsd %xmm2, %xmm5
movapd %xmm5, %xmm6
andpd %xmm0, %xmm6
andnpd %xmm3, %xmm5
orpd %xmm6, %xmm5
addsd %xmm4, %xmm5
cvttsd2si %xmm5, %rcx
addl %r8d, %ecx
movl %ecx, 0x18(%rdx)
xorps %xmm4, %xmm4
cvtsi2sdl 0x194(%rdi), %xmm4
mulsd %xmm1, %xmm4
movapd %xmm4, %xmm5
cmpltsd %xmm2, %xmm5
movapd %xmm5, %xmm6
andpd %xmm0, %xmm6
andnpd %xmm3, %xmm5
orpd %xmm6, %xmm5
addsd %xmm4, %xmm5
cvttsd2si %xmm5, %rcx
addl %r9d, %ecx
xorps %xmm4, %xmm4
cvtsi2sd %eax, %xmm4
movl %ecx, 0x1c(%rdx)
mulsd %xmm1, %xmm4
movapd %xmm4, %xmm5
cmpltsd %xmm2, %xmm5
movapd %xmm5, %xmm6
andpd %xmm0, %xmm6
andnpd %xmm3, %xmm5
orpd %xmm6, %xmm5
addsd %xmm4, %xmm5
cvttsd2si %xmm5, %rax
addl %r8d, %eax
movl %eax, 0x20(%rdx)
xorps %xmm4, %xmm4
cvtsi2sdl 0x19c(%rdi), %xmm4
mulsd %xmm1, %xmm4
movapd %xmm4, %xmm1
cmpltsd %xmm2, %xmm1
andpd %xmm1, %xmm0
andnpd %xmm3, %xmm1
orpd %xmm0, %xmm1
addsd %xmm4, %xmm1
cvttsd2si %xmm1, %rax
addl %r9d, %eax
movl %eax, 0x24(%rdx)
movq 0x120(%rdi), %rdi
callq 0x565e0
addq $0x58, %rsp
retq