// File: /workspace/github_c_makefile_star2_O0/Cloudef[P]dwm-fork/dwm.c
// Function: focus
void
focus(Client *c) {
   Monitor *m;

   if(menu) return;
   if(!c || !ISVISIBLE(c) || c->iszombie)
      for(c = selmon->stack; c && (!ISVISIBLE(c) || c->iszombie); c = c->snext);
   for(m = mons; m; m = m->next)
      if(m->sel && m->sel != c)
         unfocus(m->sel, False);

   if(c) {
      if(c->mon != selmon)
         focusmon(c->mon);
      if(c->isurgent)
         clearurgent(c);
      detachstack(c);
      attachstack(c);
      grabbuttons(c, True);
      XSetWindowBorder(dpy, c->win, dc.colors[1][ColBorder]);
      XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime);
      selmon->sel = c;
   }
   else
   {
      XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
      selmon->sel = NULL;
   }
   drawbars();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
cmpq $0x0, 0xc32c(%rip)      # 0x18610
je 0xc2eb
jmp 0xc50d
cmpq $0x0, -0x8(%rbp)
je 0xc33c
movq -0x8(%rbp), %rax
cmpl $0x0, 0x180(%rax)
jne 0xc32b
movq -0x8(%rbp), %rax
movl 0x15c(%rax), %eax
movq -0x8(%rbp), %rcx
movq 0x1a0(%rcx), %rcx
movq -0x8(%rbp), %rdx
movq 0x1a0(%rdx), %rdx
movl 0x58(%rdx), %edx
andl 0x60(%rcx,%rdx,4), %eax
cmpl $0x0, %eax
je 0xc33c
movq -0x8(%rbp), %rax
cmpl $0x0, 0x17c(%rax)
je 0xc3cd
movq 0xc2bd(%rip), %rax      # 0x18600
movq 0x88(%rax), %rax
movq %rax, -0x8(%rbp)
xorl %eax, %eax
cmpq $0x0, -0x8(%rbp)
movb %al, -0x11(%rbp)
je 0xc3af
movq -0x8(%rbp), %rax
cmpl $0x0, 0x180(%rax)
jne 0xc398
movq -0x8(%rbp), %rax
movl 0x15c(%rax), %ecx
movq -0x8(%rbp), %rax
movq 0x1a0(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x1a0(%rdx), %rdx
movl 0x58(%rdx), %edx
andl 0x60(%rax,%rdx,4), %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x12(%rbp)
je 0xc3a9
movq -0x8(%rbp), %rax
cmpl $0x0, 0x17c(%rax)
setne %al
movb %al, -0x12(%rbp)
movb -0x12(%rbp), %al
movb %al, -0x11(%rbp)
movb -0x11(%rbp), %al
testb $0x1, %al
jne 0xc3b8
jmp 0xc3cb
jmp 0xc3ba
movq -0x8(%rbp), %rax
movq 0x198(%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0xc34e
jmp 0xc3cd
movq 0xc224(%rip), %rax      # 0x185f8
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0xc423
movq -0x10(%rbp), %rax
cmpq $0x0, 0x80(%rax)
je 0xc410
movq -0x10(%rbp), %rax
movq 0x80(%rax), %rax
cmpq -0x8(%rbp), %rax
je 0xc410
movq -0x10(%rbp), %rax
movq 0x80(%rax), %rdi
xorl %esi, %esi
callq 0xc5a0
jmp 0xc412
movq -0x10(%rbp), %rax
movq 0x90(%rax), %rax
movq %rax, -0x10(%rbp)
jmp 0xc3d8
cmpq $0x0, -0x8(%rbp)
je 0xc4da
movq -0x8(%rbp), %rax
movq 0x1a0(%rax), %rax
cmpq 0xc1c0(%rip), %rax      # 0x18600
je 0xc452
movq -0x8(%rbp), %rax
movq 0x1a0(%rax), %rdi
callq 0xc610
movq -0x8(%rbp), %rax
cmpl $0x0, 0x184(%rax)
je 0xc468
movq -0x8(%rbp), %rdi
callq 0xc660
movq -0x8(%rbp), %rdi
callq 0xc6e0
movq -0x8(%rbp), %rdi
callq 0xc820
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0xc860
movq 0xc189(%rip), %rdi      # 0x18618
movq -0x8(%rbp), %rax
movq 0x1a8(%rax), %rsi
movq 0xc207(%rip), %rdx      # 0x186a8
callq 0x52f0
movq 0xc16b(%rip), %rdi      # 0x18618
movq -0x8(%rbp), %rax
movq 0x1a8(%rax), %rsi
movl $0x1, %edx
xorl %eax, %eax
movl %eax, %ecx
callq 0x54b0
movq -0x8(%rbp), %rcx
movq 0xc12f(%rip), %rax      # 0x18600
movq %rcx, 0x80(%rax)
jmp 0xc508
movq 0xc137(%rip), %rdi      # 0x18618
movq 0xc2f8(%rip), %rsi      # 0x187e0
movl $0x1, %edx
xorl %eax, %eax
movl %eax, %ecx
callq 0x54b0
movq 0xc103(%rip), %rax      # 0x18600
movq $0x0, 0x80(%rax)
callq 0x8ad0
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)