// File: /workspace/github_c_makefile_star2_O0/Cloudef[P]dwm-fork/dwm.c
// Function: configurerequest
void
configurerequest(XEvent *e) {
   Client *c;
   Monitor *m;
   XConfigureRequestEvent *ev = &e->xconfigurerequest;
   XWindowChanges wc;

   if((c = wintoclient(ev->window))) {
      if(ev->value_mask & CWBorderWidth)
         c->bw = ev->border_width;
      else if(c->isfloating || !selmon->lt[selmon->sellt]->arrange) {
         m = c->mon;
         if(ev->value_mask & CWX)
            c->x = m->mx + ev->x;
         if(ev->value_mask & CWY)
            c->y = m->my + ev->y;
         if(ev->value_mask & CWWidth)
            c->w = ev->width;
         if(ev->value_mask & CWHeight)
            c->h = ev->height;
         if((c->x + c->w) > m->mx + m->mw && c->isfloating)
            c->x = m->mx + (m->mw / 2 - c->w / 2); /* center in x direction */
         if((c->y + c->h) > m->my + m->mh && c->isfloating)
            c->y = m->my + (m->mh / 2 - c->h / 2); /* center in y direction */
         if((ev->value_mask & (CWX|CWY)) && !(ev->value_mask & (CWWidth|CWHeight)))
            configure(c);
         if(ISVISIBLE(c))
            XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h);
      }
      else
         configure(c);
   }
   else {
      wc.x = ev->x;
      wc.y = ev->y;
      wc.width = ev->width;
      wc.height = ev->height;
      wc.border_width = ev->border_width;
      wc.sibling = ev->above;
      wc.stack_mode = ev->detail;
      XConfigureWindow(dpy, ev->window, ev->value_mask, &wc);
   }
   XSync(dpy, False);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq 0x28(%rax), %rdi
callq 0x8940
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
je 0xe299
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
andq $0x10, %rax
cmpq $0x0, %rax
je 0xe027
movq -0x20(%rbp), %rax
movl 0x40(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x150(%rax)
jmp 0xe297
movq -0x10(%rbp), %rax
cmpl $0x0, 0x168(%rax)
jne 0xe058
movq 0xa5c5(%rip), %rax      # 0x18600
movq 0xa5be(%rip), %rcx      # 0x18600
movl 0x5c(%rcx), %ecx
movq 0xa0(%rax,%rcx,8), %rax
cmpq $0x0, 0x10(%rax)
jne 0xe28c
movq -0x10(%rbp), %rax
movq 0x1a0(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xe091
movq -0x18(%rbp), %rax
movl 0x28(%rax), %ecx
movq -0x20(%rbp), %rax
addl 0x30(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x108(%rax)
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
andq $0x2, %rax
cmpq $0x0, %rax
je 0xe0bb
movq -0x18(%rbp), %rax
movl 0x2c(%rax), %ecx
movq -0x20(%rbp), %rax
addl 0x34(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x10c(%rax)
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
andq $0x4, %rax
cmpq $0x0, %rax
je 0xe0de
movq -0x20(%rbp), %rax
movl 0x38(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x110(%rax)
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
andq $0x8, %rax
cmpq $0x0, %rax
je 0xe101
movq -0x20(%rbp), %rax
movl 0x3c(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x114(%rax)
movq -0x10(%rbp), %rax
movl 0x108(%rax), %eax
movq -0x10(%rbp), %rcx
addl 0x110(%rcx), %eax
movq -0x18(%rbp), %rcx
movl 0x28(%rcx), %ecx
movq -0x18(%rbp), %rdx
addl 0x30(%rdx), %ecx
cmpl %ecx, %eax
jle 0xe172
movq -0x10(%rbp), %rax
cmpl $0x0, 0x168(%rax)
je 0xe172
movq -0x18(%rbp), %rax
movl 0x28(%rax), %ecx
movq -0x18(%rbp), %rax
movl 0x30(%rax), %eax
movl $0x2, %esi
cltd
idivl %esi
movl %eax, -0x4c(%rbp)
movq -0x10(%rbp), %rax
movl 0x110(%rax), %eax
movl $0x2, %esi
cltd
idivl %esi
movl %eax, %edx
movl -0x4c(%rbp), %eax
subl %edx, %eax
addl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x108(%rax)
movq -0x10(%rbp), %rax
movl 0x10c(%rax), %eax
movq -0x10(%rbp), %rcx
addl 0x114(%rcx), %eax
movq -0x18(%rbp), %rcx
movl 0x2c(%rcx), %ecx
movq -0x18(%rbp), %rdx
addl 0x34(%rdx), %ecx
cmpl %ecx, %eax
jle 0xe1e3
movq -0x10(%rbp), %rax
cmpl $0x0, 0x168(%rax)
je 0xe1e3
movq -0x18(%rbp), %rax
movl 0x2c(%rax), %ecx
movq -0x18(%rbp), %rax
movl 0x34(%rax), %eax
movl $0x2, %esi
cltd
idivl %esi
movl %eax, -0x50(%rbp)
movq -0x10(%rbp), %rax
movl 0x114(%rax), %eax
movl $0x2, %esi
cltd
idivl %esi
movl %eax, %edx
movl -0x50(%rbp), %eax
subl %edx, %eax
addl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x10c(%rax)
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
andq $0x3, %rax
cmpq $0x0, %rax
je 0xe210
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
andq $0xc, %rax
cmpq $0x0, %rax
jne 0xe210
movq -0x10(%rbp), %rdi
callq 0x87a0
movq -0x10(%rbp), %rax
cmpl $0x0, 0x180(%rax)
jne 0xe249
movq -0x10(%rbp), %rax
movl 0x15c(%rax), %eax
movq -0x10(%rbp), %rcx
movq 0x1a0(%rcx), %rcx
movq -0x10(%rbp), %rdx
movq 0x1a0(%rdx), %rdx
movl 0x58(%rdx), %edx
andl 0x60(%rcx,%rdx,4), %eax
cmpl $0x0, %eax
je 0xe28a
movq 0xa3c8(%rip), %rdi      # 0x18618
movq -0x10(%rbp), %rax
movq 0x1a8(%rax), %rsi
movq -0x10(%rbp), %rax
movl 0x108(%rax), %edx
movq -0x10(%rbp), %rax
movl 0x10c(%rax), %ecx
movq -0x10(%rbp), %rax
movl 0x110(%rax), %r8d
movq -0x10(%rbp), %rax
movl 0x114(%rax), %r9d
callq 0x53b0
jmp 0xe295
movq -0x10(%rbp), %rdi
callq 0x87a0
jmp 0xe297
jmp 0xe303
movq -0x20(%rbp), %rax
movl 0x30(%rax), %eax
movl %eax, -0x48(%rbp)
movq -0x20(%rbp), %rax
movl 0x34(%rax), %eax
movl %eax, -0x44(%rbp)
movq -0x20(%rbp), %rax
movl 0x38(%rax), %eax
movl %eax, -0x40(%rbp)
movq -0x20(%rbp), %rax
movl 0x3c(%rax), %eax
movl %eax, -0x3c(%rbp)
movq -0x20(%rbp), %rax
movl 0x40(%rax), %eax
movl %eax, -0x38(%rbp)
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x20(%rbp), %rax
movl 0x50(%rax), %eax
movl %eax, -0x28(%rbp)
movq 0xa330(%rip), %rdi      # 0x18618
movq -0x20(%rbp), %rax
movq 0x28(%rax), %rsi
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
movl %eax, %edx
leaq -0x48(%rbp), %rcx
callq 0x50e0
movq 0xa30e(%rip), %rdi      # 0x18618
xorl %esi, %esi
callq 0x54d0
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)