// File: /workspace/github_c_makefile_star2_O3/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 %r14
pushq %rbx
pushq %rax
movq 0x20(%rdi), %rsi
movq 0x81cc(%rip), %rax      # 0x13468
testq %rax, %rax
je 0xb395
movq 0x78(%rax), %rbx
testq %rbx, %rbx
je 0xb2c0
cmpq %rsi, 0x1a8(%rbx)
je 0xb2c9
movq 0x190(%rbx), %rbx
jmp 0xb2a9
movq 0x90(%rax), %rax
jmp 0xb29c
movq 0x28(%rdi), %rdx
cmpq 0x81fc(%rip), %rdx      # 0x134d0
jne 0xb395
movq 0x40(%rdi), %rax
cmpq 0x81f3(%rip), %rax      # 0x134d8
jne 0xb395
cmpq $0x0, 0x38(%rdi)
movq 0x8191(%rip), %rdi      # 0x13488
je 0xb3c7
movl $0x1, %r14d
leaq 0x81ce(%rip), %rax      # 0x134d8
movl $0x4, %ecx
movl $0x20, %r8d
xorl %r9d, %r9d
pushq %r14
pushq %rax
callq 0x5650
addq $0x10, %rsp
movl %r14d, 0x160(%rbx)
movl 0x150(%rbx), %eax
movl 0x168(%rbx), %ecx
movl %ecx, 0x188(%rbx)
movl %eax, 0x154(%rbx)
movl $0x0, 0x150(%rbx)
movl %r14d, 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 0x75cf
cmpl $0x0, 0x174(%rbx)
jne 0xb43e
movq 0x8104(%rip), %rdi      # 0x13488
movq 0x1a8(%rbx), %rsi
callq 0x5170
jmp 0xb43e
cmpq 0x80fc(%rip), %rsi      # 0x13498
jne 0xb3a5
cmpq $0x0, 0x40(%rdi)
je 0xb3ad
addq $0x8, %rsp
popq %rbx
popq %r14
retq
movq 0x48(%rdi), %rdi
callq 0xc4ac
callq 0x990f
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x6859
xorl %r14d, %r14d
movl $0x4, %ecx
movl $0x20, %r8d
xorl %r9d, %r9d
pushq %r14
pushq $0x0
callq 0x5650
addq $0x10, %rsp
movl %r14d, 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 0x75cf
movq 0x1a0(%rbx), %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x98a3