// File: /workspace/github_c_makefile_star2_O0/Cloudef[P]dwm-fork/dwm.c
// Function: applysizehints
Bool
applysizehints(Client *c, int *x, int *y, int *w, int *h, Bool interact) {
   Bool baseismin;
   Monitor *m = c->mon;

   /* set minimum possible */
   *w = MAX(1, *w);
   *h = MAX(1, *h);
   if(interact) {
      if(*x > sw)
         *x = sw - WIDTH(c);
      if(*y > sh)
         *y = sh - HEIGHT(c);
      if(*x + *w + 2 * c->bw < 0)
         *x = 0;
      if(*y + *h + 2 * c->bw < 0)
         *y = 0;
   }
   else {
      if(*x > m->mx + m->mw)
         *x = m->mx + m->mw - WIDTH(c);
      if(*y > m->my + m->mh)
         *y = m->my + m->mh - HEIGHT(c);
      if(*x + *w + 2 * c->bw < m->mx)
         *x = m->mx;
      if(*y + *h + 2 * c->bw < m->my)
         *y = m->my;
   }
   if(*h < bh)
      *h = bh;
   if(*w < bh)
      *w = bh;
   if(resizehints || c->isfloating) {
      /* see last two sentences in ICCCM 4.1.2.3 */
      baseismin = c->basew == c->minw && c->baseh == c->minh;
      if(!baseismin) { /* temporarily remove base dimensions */
         *w -= c->basew;
         *h -= c->baseh;
      }
      /* adjust for aspect limits */
      if(c->mina > 0 && c->maxa > 0) {
         if(c->maxa < (float)*w / *h)
            *w = *h * c->maxa + 0.5;
         else if(c->mina < (float)*h / *w)
            *h = *w * c->mina + 0.5;
      }
      if(baseismin) { /* increment calculation requires this */
         *w -= c->basew;
         *h -= c->baseh;
      }
      /* adjust for increment value */
      if(c->incw)
         *w -= *w % c->incw;
      if(c->inch)
         *h -= *h % c->inch;
      /* restore base dimensions */
      *w += c->basew;
      *h += c->baseh;
      *w = MAX(*w, c->minw);
      *h = MAX(*h, c->minh);
      if(c->maxw)
         *w = MIN(*w, c->maxw);
      if(c->maxh)
         *h = MIN(*h, c->maxh);
   }
   return *x != c->x || *y != c->y || *w != c->w || *h != c->h;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movl %r9d, -0x2c(%rbp)
movq -0x8(%rbp), %rax
movq 0x1a0(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x20(%rbp), %rcx
movl $0x1, %eax
cmpl (%rcx), %eax
jle 0x8102
movl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x810b
movq -0x20(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
movq -0x28(%rbp), %rcx
movl $0x1, %eax
cmpl (%rcx), %eax
jle 0x812b
movl $0x1, %eax
movl %eax, -0x40(%rbp)
jmp 0x8134
movq -0x28(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x40(%rbp)
movl -0x40(%rbp), %ecx
movq -0x28(%rbp), %rax
movl %ecx, (%rax)
cmpl $0x0, -0x2c(%rbp)
je 0x8206
movq -0x10(%rbp), %rax
movl (%rax), %eax
cmpl 0x106a9(%rip), %eax     # 0x187fc
jle 0x817b
movl 0x106a1(%rip), %ecx     # 0x187fc
movq -0x8(%rbp), %rax
movl 0x110(%rax), %eax
movq -0x8(%rbp), %rdx
movl 0x150(%rdx), %edx
shll %edx
addl %edx, %eax
subl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, (%rax)
movq -0x18(%rbp), %rax
movl (%rax), %eax
cmpl 0x10679(%rip), %eax     # 0x18800
jle 0x81af
movl 0x10671(%rip), %ecx     # 0x18800
movq -0x8(%rbp), %rax
movl 0x114(%rax), %eax
movq -0x8(%rbp), %rdx
movl 0x150(%rdx), %edx
shll %edx
addl %edx, %eax
subl %eax, %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
movq -0x10(%rbp), %rax
movl (%rax), %eax
movq -0x20(%rbp), %rcx
addl (%rcx), %eax
movq -0x8(%rbp), %rcx
movl 0x150(%rcx), %ecx
shll %ecx
addl %ecx, %eax
cmpl $0x0, %eax
jge 0x81d8
movq -0x10(%rbp), %rax
movl $0x0, (%rax)
movq -0x18(%rbp), %rax
movl (%rax), %eax
movq -0x28(%rbp), %rcx
addl (%rcx), %eax
movq -0x8(%rbp), %rcx
movl 0x150(%rcx), %ecx
shll %ecx
addl %ecx, %eax
cmpl $0x0, %eax
jge 0x8201
movq -0x18(%rbp), %rax
movl $0x0, (%rax)
jmp 0x82f4
movq -0x10(%rbp), %rax
movl (%rax), %eax
movq -0x38(%rbp), %rcx
movl 0x28(%rcx), %ecx
movq -0x38(%rbp), %rdx
addl 0x30(%rdx), %ecx
cmpl %ecx, %eax
jle 0x824c
movq -0x38(%rbp), %rax
movl 0x28(%rax), %ecx
movq -0x38(%rbp), %rax
addl 0x30(%rax), %ecx
movq -0x8(%rbp), %rax
movl 0x110(%rax), %eax
movq -0x8(%rbp), %rdx
movl 0x150(%rdx), %edx
shll %edx
addl %edx, %eax
subl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, (%rax)
movq -0x18(%rbp), %rax
movl (%rax), %eax
movq -0x38(%rbp), %rcx
movl 0x2c(%rcx), %ecx
movq -0x38(%rbp), %rdx
addl 0x34(%rdx), %ecx
cmpl %ecx, %eax
jle 0x8292
movq -0x38(%rbp), %rax
movl 0x2c(%rax), %ecx
movq -0x38(%rbp), %rax
addl 0x34(%rax), %ecx
movq -0x8(%rbp), %rax
movl 0x114(%rax), %eax
movq -0x8(%rbp), %rdx
movl 0x150(%rdx), %edx
shll %edx
addl %edx, %eax
subl %eax, %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
movq -0x10(%rbp), %rax
movl (%rax), %eax
movq -0x20(%rbp), %rcx
addl (%rcx), %eax
movq -0x8(%rbp), %rcx
movl 0x150(%rcx), %ecx
shll %ecx
addl %ecx, %eax
movq -0x38(%rbp), %rcx
cmpl 0x28(%rcx), %eax
jge 0x82c2
movq -0x38(%rbp), %rax
movl 0x28(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, (%rax)
movq -0x18(%rbp), %rax
movl (%rax), %eax
movq -0x28(%rbp), %rcx
addl (%rcx), %eax
movq -0x8(%rbp), %rcx
movl 0x150(%rcx), %ecx
shll %ecx
addl %ecx, %eax
movq -0x38(%rbp), %rcx
cmpl 0x2c(%rcx), %eax
jge 0x82f2
movq -0x38(%rbp), %rax
movl 0x2c(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
jmp 0x82f4
movq -0x28(%rbp), %rax
movl (%rax), %eax
cmpl 0x10504(%rip), %eax     # 0x18804
jge 0x830e
movl 0x104fc(%rip), %ecx     # 0x18804
movq -0x28(%rbp), %rax
movl %ecx, (%rax)
movq -0x20(%rbp), %rax
movl (%rax), %eax
cmpl 0x104ea(%rip), %eax     # 0x18804
jge 0x8328
movl 0x104e2(%rip), %ecx     # 0x18804
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl 0x130(%rax), %ecx
movq -0x8(%rbp), %rdx
xorl %eax, %eax
cmpl 0x148(%rdx), %ecx
movb %al, -0x41(%rbp)
jne 0x835d
movq -0x8(%rbp), %rax
movl 0x134(%rax), %eax
movq -0x8(%rbp), %rcx
cmpl 0x14c(%rcx), %eax
sete %al
movb %al, -0x41(%rbp)
movb -0x41(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x30(%rbp)
cmpl $0x0, -0x30(%rbp)
jne 0x8396
movq -0x8(%rbp), %rax
movl 0x130(%rax), %edx
movq -0x20(%rbp), %rax
movl (%rax), %ecx
subl %edx, %ecx
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl 0x134(%rax), %edx
movq -0x28(%rbp), %rax
movl (%rax), %ecx
subl %edx, %ecx
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movss 0x100(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jbe 0x8472
movq -0x8(%rbp), %rax
movss 0x104(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jbe 0x8472
movq -0x8(%rbp), %rax
movss 0x104(%rax), %xmm1
movq -0x20(%rbp), %rax
cvtsi2ssl (%rax), %xmm0
movq -0x28(%rbp), %rax
cvtsi2ssl (%rax), %xmm2
divss %xmm2, %xmm0
ucomiss %xmm1, %xmm0
jbe 0x841b
movq -0x28(%rbp), %rax
cvtsi2ssl (%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x104(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x9bfd(%rip), %xmm1     # 0x12008
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
jmp 0x8470
movq -0x8(%rbp), %rax
movss 0x100(%rax), %xmm1
movq -0x28(%rbp), %rax
cvtsi2ssl (%rax), %xmm0
movq -0x20(%rbp), %rax
cvtsi2ssl (%rax), %xmm2
divss %xmm2, %xmm0
ucomiss %xmm1, %xmm0
jbe 0x846e
movq -0x20(%rbp), %rax
cvtsi2ssl (%rax), %xmm0
movq -0x8(%rbp), %rax
mulss 0x100(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x9ba8(%rip), %xmm1     # 0x12008
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %ecx
movq -0x28(%rbp), %rax
movl %ecx, (%rax)
jmp 0x8470
jmp 0x8472
cmpl $0x0, -0x30(%rbp)
je 0x84a0
movq -0x8(%rbp), %rax
movl 0x130(%rax), %edx
movq -0x20(%rbp), %rax
movl (%rax), %ecx
subl %edx, %ecx
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl 0x134(%rax), %edx
movq -0x28(%rbp), %rax
movl (%rax), %ecx
subl %edx, %ecx
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x138(%rax)
je 0x84c8
movq -0x20(%rbp), %rax
movl (%rax), %eax
movq -0x8(%rbp), %rcx
cltd
idivl 0x138(%rcx)
movq -0x20(%rbp), %rax
movl (%rax), %ecx
subl %edx, %ecx
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x13c(%rax)
je 0x84f0
movq -0x28(%rbp), %rax
movl (%rax), %eax
movq -0x8(%rbp), %rcx
cltd
idivl 0x13c(%rcx)
movq -0x28(%rbp), %rax
movl (%rax), %ecx
subl %edx, %ecx
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl 0x130(%rax), %ecx
movq -0x20(%rbp), %rax
addl (%rax), %ecx
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl 0x134(%rax), %ecx
movq -0x28(%rbp), %rax
addl (%rax), %ecx
movl %ecx, (%rax)
movq -0x20(%rbp), %rax
movl (%rax), %eax
movq -0x8(%rbp), %rcx
cmpl 0x148(%rcx), %eax
jle 0x8531
movq -0x20(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x48(%rbp)
jmp 0x853e
movq -0x8(%rbp), %rax
movl 0x148(%rax), %eax
movl %eax, -0x48(%rbp)
movl -0x48(%rbp), %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
movq -0x28(%rbp), %rax
movl (%rax), %eax
movq -0x8(%rbp), %rcx
cmpl 0x14c(%rcx), %eax
jle 0x8564
movq -0x28(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x4c(%rbp)
jmp 0x8571
movq -0x8(%rbp), %rax
movl 0x14c(%rax), %eax
movl %eax, -0x4c(%rbp)
movl -0x4c(%rbp), %ecx
movq -0x28(%rbp), %rax
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x140(%rax)
je 0x85ba
movq -0x20(%rbp), %rax
movl (%rax), %eax
movq -0x8(%rbp), %rcx
cmpl 0x140(%rcx), %eax
jge 0x85a4
movq -0x20(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x50(%rbp)
jmp 0x85b1
movq -0x8(%rbp), %rax
movl 0x140(%rax), %eax
movl %eax, -0x50(%rbp)
movl -0x50(%rbp), %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x144(%rax)
je 0x85fa
movq -0x28(%rbp), %rax
movl (%rax), %eax
movq -0x8(%rbp), %rcx
cmpl 0x144(%rcx), %eax
jge 0x85e4
movq -0x28(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x54(%rbp)
jmp 0x85f1
movq -0x8(%rbp), %rax
movl 0x144(%rax), %eax
movl %eax, -0x54(%rbp)
movl -0x54(%rbp), %ecx
movq -0x28(%rbp), %rax
movl %ecx, (%rax)
movq -0x10(%rbp), %rax
movl (%rax), %ecx
movq -0x8(%rbp), %rdx
movb $0x1, %al
cmpl 0x108(%rdx), %ecx
movb %al, -0x55(%rbp)
jne 0x8655
movq -0x18(%rbp), %rax
movl (%rax), %ecx
movq -0x8(%rbp), %rdx
movb $0x1, %al
cmpl 0x10c(%rdx), %ecx
movb %al, -0x55(%rbp)
jne 0x8655
movq -0x20(%rbp), %rax
movl (%rax), %ecx
movq -0x8(%rbp), %rdx
movb $0x1, %al
cmpl 0x110(%rdx), %ecx
movb %al, -0x55(%rbp)
jne 0x8655
movq -0x28(%rbp), %rax
movl (%rax), %eax
movq -0x8(%rbp), %rcx
cmpl 0x114(%rcx), %eax
setne %al
movb %al, -0x55(%rbp)
movb -0x55(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
popq %rbp
retq
nop