// File: /workspace/github_c_makefile_star2_O0/zenlinux[P]cwm/client.c
// Function: client_applysizehints
void
client_applysizehints(struct client_ctx *cc)
{
	Bool		 baseismin;

	baseismin = (cc->hint.basew == cc->hint.minw) &&
	    (cc->hint.baseh == cc->hint.minh);

	/* temporarily remove base dimensions, ICCCM 4.1.2.3 */
	if (!baseismin) {
		cc->geom.w -= cc->hint.basew;
		cc->geom.h -= cc->hint.baseh;
	}

	/* adjust for aspect limits */
	if (cc->hint.mina > 0 && cc->hint.maxa > 0) {
		if (cc->hint.maxa <
		    (float)cc->geom.w / cc->geom.h)
			cc->geom.w = cc->geom.h * cc->hint.maxa;
		else if (cc->hint.mina <
		    (float)cc->geom.h / cc->geom.w)
			cc->geom.h = cc->geom.w * cc->hint.mina;
	}

	/* remove base dimensions for increment */
	if (baseismin) {
		cc->geom.w -= cc->hint.basew;
		cc->geom.h -= cc->hint.baseh;
	}

	/* adjust for increment value */
	cc->geom.w -= cc->geom.w % cc->hint.incw;
	cc->geom.h -= cc->geom.h % cc->hint.inch;

	/* restore base dimensions */
	cc->geom.w += cc->hint.basew;
	cc->geom.h += cc->hint.baseh;

	/* adjust for min width/height */
	cc->geom.w = MAX(cc->geom.w, cc->hint.minw);
	cc->geom.h = MAX(cc->geom.h, cc->hint.minh);

	/* adjust for max width/height */
	if (cc->hint.maxw)
		cc->geom.w = MIN(cc->geom.w, cc->hint.maxw);
	if (cc->hint.maxh)
		cc->geom.h = MIN(cc->geom.h, cc->hint.maxh);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movl 0x74(%rax), %ecx
movq -0x8(%rbp), %rdx
xorl %eax, %eax
cmpl 0x7c(%rdx), %ecx
movb %al, -0xd(%rbp)
jne 0x8604
movq -0x8(%rbp), %rax
movl 0x78(%rax), %eax
movq -0x8(%rbp), %rcx
cmpl 0x80(%rcx), %eax
sete %al
movb %al, -0xd(%rbp)
movb -0xd(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0xc(%rbp)
cmpl $0x0, -0xc(%rbp)
jne 0x863b
movq -0x8(%rbp), %rax
movl 0x74(%rax), %edx
movq -0x8(%rbp), %rax
movl 0x5c(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x5c(%rax)
movq -0x8(%rbp), %rax
movl 0x78(%rax), %edx
movq -0x8(%rbp), %rax
movl 0x60(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x60(%rax)
movq -0x8(%rbp), %rax
movss 0x94(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jbe 0x86ff
movq -0x8(%rbp), %rax
movss 0x98(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jbe 0x86ff
movq -0x8(%rbp), %rax
movss 0x98(%rax), %xmm1
movq -0x8(%rbp), %rax
cvtsi2ssl 0x5c(%rax), %xmm0
movq -0x8(%rbp), %rax
cvtsi2ssl 0x60(%rax), %xmm2
divss %xmm2, %xmm0
ucomiss %xmm1, %xmm0
jbe 0x86b4
movq -0x8(%rbp), %rax
cvtsi2ssl 0x60(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x98(%rax), %xmm0
cvttss2si %xmm0, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x5c(%rax)
jmp 0x86fd
movq -0x8(%rbp), %rax
movss 0x94(%rax), %xmm1
movq -0x8(%rbp), %rax
cvtsi2ssl 0x60(%rax), %xmm0
movq -0x8(%rbp), %rax
cvtsi2ssl 0x5c(%rax), %xmm2
divss %xmm2, %xmm0
ucomiss %xmm1, %xmm0
jbe 0x86fb
movq -0x8(%rbp), %rax
cvtsi2ssl 0x5c(%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x94(%rax), %xmm0
cvttss2si %xmm0, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x60(%rax)
jmp 0x86fd
jmp 0x86ff
cmpl $0x0, -0xc(%rbp)
je 0x872b
movq -0x8(%rbp), %rax
movl 0x74(%rax), %edx
movq -0x8(%rbp), %rax
movl 0x5c(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x5c(%rax)
movq -0x8(%rbp), %rax
movl 0x78(%rax), %edx
movq -0x8(%rbp), %rax
movl 0x60(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x60(%rax)
movq -0x8(%rbp), %rax
movl 0x5c(%rax), %eax
movq -0x8(%rbp), %rcx
cltd
idivl 0x8c(%rcx)
movq -0x8(%rbp), %rax
movl 0x5c(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x5c(%rax)
movq -0x8(%rbp), %rax
movl 0x60(%rax), %eax
movq -0x8(%rbp), %rcx
cltd
idivl 0x90(%rcx)
movq -0x8(%rbp), %rax
movl 0x60(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x60(%rax)
movq -0x8(%rbp), %rax
movl 0x74(%rax), %ecx
movq -0x8(%rbp), %rax
addl 0x5c(%rax), %ecx
movl %ecx, 0x5c(%rax)
movq -0x8(%rbp), %rax
movl 0x78(%rax), %ecx
movq -0x8(%rbp), %rax
addl 0x60(%rax), %ecx
movl %ecx, 0x60(%rax)
movq -0x8(%rbp), %rax
movl 0x5c(%rax), %eax
movq -0x8(%rbp), %rcx
cmpl 0x7c(%rcx), %eax
jle 0x87a5
movq -0x8(%rbp), %rax
movl 0x5c(%rax), %eax
movl %eax, -0x14(%rbp)
jmp 0x87af
movq -0x8(%rbp), %rax
movl 0x7c(%rax), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x5c(%rax)
movq -0x8(%rbp), %rax
movl 0x60(%rax), %eax
movq -0x8(%rbp), %rcx
cmpl 0x80(%rcx), %eax
jle 0x87d8
movq -0x8(%rbp), %rax
movl 0x60(%rax), %eax
movl %eax, -0x18(%rbp)
jmp 0x87e5
movq -0x8(%rbp), %rax
movl 0x80(%rax), %eax
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x60(%rax)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x84(%rax)
je 0x8832
movq -0x8(%rbp), %rax
movl 0x5c(%rax), %eax
movq -0x8(%rbp), %rcx
cmpl 0x84(%rcx), %eax
jge 0x881b
movq -0x8(%rbp), %rax
movl 0x5c(%rax), %eax
movl %eax, -0x1c(%rbp)
jmp 0x8828
movq -0x8(%rbp), %rax
movl 0x84(%rax), %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x5c(%rax)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x88(%rax)
je 0x8875
movq -0x8(%rbp), %rax
movl 0x60(%rax), %eax
movq -0x8(%rbp), %rcx
cmpl 0x88(%rcx), %eax
jge 0x885e
movq -0x8(%rbp), %rax
movl 0x60(%rax), %eax
movl %eax, -0x20(%rbp)
jmp 0x886b
movq -0x8(%rbp), %rax
movl 0x88(%rax), %eax
movl %eax, -0x20(%rbp)
movl -0x20(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x60(%rax)
popq %rbp
retq
nopw (%rax,%rax)