// File: /workspace/github_c_makefile_star2_O2/Cloudef[P]dwm-fork/dwm.c
// Function: clientmessage
void
clientmessage(XEvent *e) {
   XClientMessageEvent *cme = &e->xclient;
   Client *c;

   if((c = wintoclient(cme->window))
         && (cme->message_type == netatom[NetWMState] && cme->data.l[1] == netatom[NetWMFullscreen]))
   {
      if(cme->data.l[0]) {
         XChangeProperty(dpy, cme->window, netatom[NetWMState], XA_ATOM, 32,
               PropModeReplace, (unsigned char*)&netatom[NetWMFullscreen], 1);
         c->isfullscreen = True;
         c->oldstate = c->isfloating;
         c->oldbw = c->bw;
         c->bw = 0;
         c->isfloating = 1;
         resizeclient(c, c->mon->ox, c->mon->oy, c->mon->ow, c->mon->oh);
         if(!c->isbelow) XRaiseWindow(dpy, c->win);
      }
      else {
         XChangeProperty(dpy, cme->window, netatom[NetWMState], XA_ATOM, 32,
               PropModeReplace, (unsigned char*)0, 0);
         c->isfullscreen = False;
         c->isfloating = c->oldstate;
         c->bw = c->oldbw;
         c->x = c->oldx;
         c->y = c->oldy;
         c->w = c->oldw;
         c->h = c->oldh;
         resizeclient(c, c->x, c->y, c->w, c->h);
      }
      arrange(c->mon);
   }
   else
      if(cme->window == traywin) {
         if(cme->data.l[1] == XEMBED_EMBEDDED_NOTIFY){
            systray_add(cme->data.l[2]);
            systray_update();
            updatestatus();
         }
      }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rdi, %r15
movq 0x20(%rdi), %r14
movq %r14, %rdi
callq 0x757f
testq %rax, %rax
je 0xadfa
movq 0x28(%r15), %rdx
cmpq 0x8792(%rip), %rdx      # 0x134d0
jne 0xadfa
movq %rax, %rbx
movq 0x40(%r15), %rax
cmpq 0x8786(%rip), %rax      # 0x134d8
jne 0xadfa
cmpq $0x0, 0x38(%r15)
movq 0x8724(%rip), %rdi      # 0x13488
je 0xae32
pushq $0x1
popq %rbp
movl %ebp, 0x8(%rsp)
leaq 0x8760(%rip), %rax      # 0x134d8
movq %rax, (%rsp)
pushq $0x4
popq %rcx
pushq $0x20
popq %r8
movq %r14, %rsi
xorl %r9d, %r9d
callq 0x5650
movl %ebp, 0x160(%rbx)
movl 0x150(%rbx), %eax
movl 0x168(%rbx), %ecx
movl %ecx, 0x188(%rbx)
movl %eax, 0x154(%rbx)
andl $0x0, 0x150(%rbx)
movl %ebp, 0x168(%rbx)
movq 0x1a0(%rbx), %rax
movl 0x48(%rax), %esi
movl 0x4c(%rax), %edx
movl 0x50(%rax), %ecx
movl 0x54(%rax), %r8d
movq %rbx, %rdi
callq 0x740d
cmpl $0x0, 0x174(%rbx)
jne 0xaea7
movq 0x869f(%rip), %rdi      # 0x13488
movq 0x1a8(%rbx), %rsi
callq 0x5170
jmp 0xaea7
cmpq 0x8697(%rip), %r14      # 0x13498
jne 0xae0a
cmpq $0x0, 0x40(%r15)
je 0xae15
addq $0x18, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq 0x48(%r15), %rdi
callq 0xbe75
callq 0x960f
addq $0x18, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x66e8
andl $0x0, 0x8(%rsp)
andq $0x0, (%rsp)
pushq $0x4
popq %rcx
pushq $0x20
popq %r8
movq %r14, %rsi
xorl %r9d, %r9d
callq 0x5650
andl $0x0, 0x160(%rbx)
movl 0x188(%rbx), %eax
movl %eax, 0x168(%rbx)
movl 0x154(%rbx), %eax
movl %eax, 0x150(%rbx)
movl 0x118(%rbx), %esi
movl 0x11c(%rbx), %edx
movl %esi, 0x108(%rbx)
movl %edx, 0x10c(%rbx)
movl 0x120(%rbx), %ecx
movl %ecx, 0x110(%rbx)
movl 0x124(%rbx), %r8d
movl %r8d, 0x114(%rbx)
movq %rbx, %rdi
callq 0x740d
movq 0x1a0(%rbx), %rdi
addq $0x18, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x958e