// File: /workspace/github_c_makefile_star2_O0/zenlinux[P]cwm/mousefunc.c
// Function: mousefunc_menu_unhide
void
mousefunc_menu_unhide(struct client_ctx *cc, void *arg)
{
	struct screen_ctx	*sc = cc->sc;
	struct client_ctx	*old_cc;
	struct menu		*mi;
	struct menu_q		 menuq;
	char			*wname;

	old_cc = client_current();

	TAILQ_INIT(&menuq);
	TAILQ_FOREACH(cc, &Clientq, entry)
		if (cc->flags & CLIENT_HIDDEN) {
			wname = (cc->label) ? cc->label : cc->name;
			if (wname == NULL)
				continue;

			mi = xcalloc(1, sizeof(*mi));
			(void)strlcpy(mi->text, wname, sizeof(mi->text));
			mi->ctx = cc;
			TAILQ_INSERT_TAIL(&menuq, mi, entry);
		}

	if (TAILQ_EMPTY(&menuq))
		return;

	mi = menu_filter(sc, &menuq, NULL, NULL, 0, NULL, NULL);
	if (mi != NULL) {
		cc = (struct client_ctx *)mi->ctx;
		client_unhide(cc);

		if (old_cc != NULL)
			client_ptrsave(old_cc);
		client_ptrwarp(cc);
	} else {
		while ((mi = TAILQ_FIRST(&menuq)) != NULL) {
			TAILQ_REMOVE(&menuq, mi, entry);
			xfree(mi);
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rax
movq %rax, -0x18(%rbp)
callq 0x7aa0
movq %rax, -0x20(%rbp)
movq $0x0, -0x38(%rbp)
leaq -0x38(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x8e34(%rip), %rax      # 0x19480
movq (%rax), %rax
movq %rax, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x10729
movq -0x8(%rbp), %rax
movl 0xa8(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x10717
movq -0x8(%rbp), %rax
cmpq $0x0, 0xe0(%rax)
je 0x10693
movq -0x8(%rbp), %rax
movq 0xe0(%rax), %rax
movq %rax, -0x48(%rbp)
jmp 0x106a2
movq -0x8(%rbp), %rax
movq 0xd8(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
jne 0x106b3
jmp 0x10719
movl $0x1, %edi
movl $0x98, %esi
callq 0x6460
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
addq $0x20, %rdi
movq -0x40(%rbp), %rsi
movl $0x33, %edx
callq 0x12ce0
movq -0x8(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x88(%rax)
movq -0x28(%rbp), %rax
movq $0x0, (%rax)
movq -0x30(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x28(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
movq %rax, -0x30(%rbp)
jmp 0x10717
jmp 0x10719
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0x10653
cmpq $0x0, -0x38(%rbp)
jne 0x10735
jmp 0x107f2
movq -0x18(%rbp), %rdi
leaq -0x38(%rbp), %rsi
xorl %eax, %eax
movl %eax, %r9d
xorl %r8d, %r8d
movq %r9, %rdx
movq %r9, %rcx
movq $0x0, (%rsp)
callq 0x8a30
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x10796
movq -0x28(%rbp), %rax
movq 0x88(%rax), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x73f0
cmpq $0x0, -0x20(%rbp)
je 0x1078b
movq -0x20(%rbp), %rdi
callq 0x8260
movq -0x8(%rbp), %rdi
callq 0x81d0
jmp 0x107f2
jmp 0x10798
movq -0x38(%rbp), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
je 0x107f0
jmp 0x107a8
movq -0x28(%rbp), %rax
cmpq $0x0, (%rax)
je 0x107c7
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rcx
movq -0x28(%rbp), %rax
movq (%rax), %rax
movq %rcx, 0x8(%rax)
jmp 0x107d3
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rax
movq (%rax), %rcx
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rdi
callq 0x64b0
jmp 0x10798
jmp 0x107f2
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax,%rax)