// File: /workspace/github_c_makefile_star2_O1/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 0x8166(%rip), %rax      # 0x13468
testq %rax, %rax
je 0xb32b
movq 0x78(%rax), %rbx
testq %rbx, %rbx
je 0xb322
cmpq %rsi, 0x1a8(%rbx)
je 0xb32d
movq 0x190(%rbx), %rbx
jmp 0xb30b
movq 0x90(%rax), %rax
jmp 0xb302
xorl %ebx, %ebx
testq %rbx, %rbx
je 0xb402
movq 0x8193(%rip), %rdx      # 0x134d0
cmpq %rdx, 0x28(%rdi)
jne 0xb402
movq 0x40(%rdi), %rax
cmpq 0x8186(%rip), %rax      # 0x134d8
jne 0xb402
cmpq $0x0, 0x38(%rdi)
movq 0x8124(%rip), %rdi      # 0x13488
je 0xb434
movl $0x1, %r14d
leaq 0x8161(%rip), %rax      # 0x134d8
movl $0x4, %ecx
movl $0x20, %r8d
xorl %r9d, %r9d
pushq %r14
pushq %rax
callq 0x5660
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 0x75b8
cmpl $0x0, 0x174(%rbx)
jne 0xb4ab
movq 0x8097(%rip), %rdi      # 0x13488
movq 0x1a8(%rbx), %rsi
callq 0x5170
jmp 0xb4ab
cmpq 0x808f(%rip), %rsi      # 0x13498
jne 0xb412
cmpq $0x0, 0x40(%rdi)
je 0xb41a
addq $0x8, %rsp
popq %rbx
popq %r14
retq
movq 0x48(%rdi), %rdi
callq 0xc560
callq 0x996a
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x68f4
xorl %r14d, %r14d
movl $0x4, %ecx
movl $0x20, %r8d
xorl %r9d, %r9d
pushq %r14
pushq $0x0
callq 0x5660
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 0x75b8
movq 0x1a0(%rbx), %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x98ef