// File: /workspace/github_c_makefile_star2_O0/zenlinux[P]cwm/group.c
// Function: group_show
static void
group_show(struct screen_ctx *sc, struct group_ctx *gc)
{
	struct client_ctx	*cc;
	Window			*winlist;
	u_int			 i;
	int			 lastempty = -1;

	gc->highstack = 0;
	TAILQ_FOREACH(cc, &gc->clients, group_entry) {
		if (cc->stackingorder > gc->highstack)
			gc->highstack = cc->stackingorder;
	}
	winlist = (Window *) xcalloc(sizeof(*winlist), (gc->highstack + 1));

	/*
	 * Invert the stacking order as XRestackWindows() expects them
	 * top-to-bottom.
	 */
	TAILQ_FOREACH(cc, &gc->clients, group_entry) {
		winlist[gc->highstack - cc->stackingorder] = cc->win;
		client_unhide(cc);
	}

	/* Un-sparseify */
	for (i = 0; i <= gc->highstack; i++) {
		if (!winlist[i] && lastempty == -1)
			lastempty = i;
		else if (winlist[i] && lastempty != -1) {
			winlist[lastempty] = winlist[i];
			if (++lastempty == i)
				lastempty = -1;
		}
	}

	XRestackWindows(X_Dpy, winlist, gc->nhidden);
	xfree(winlist);

	gc->hidden = 0;
	group_setactive(sc, gc->shortcut - 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0xffffffff, -0x28(%rbp) # imm = 0xFFFFFFFF
movq -0x10(%rbp), %rax
movl $0x0, 0x2c(%rax)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0xe059
movq -0x18(%rbp), %rax
movl 0xb4(%rax), %eax
movq -0x10(%rbp), %rcx
cmpl 0x2c(%rcx), %eax
jle 0xe049
movq -0x18(%rbp), %rax
movl 0xb4(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x2c(%rax)
jmp 0xe04b
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x18(%rbp)
jmp 0xe01e
movq -0x10(%rbp), %rax
movl 0x2c(%rax), %eax
addl $0x1, %eax
movslq %eax, %rsi
movl $0x8, %edi
callq 0x6460
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0xe0c2
movq -0x18(%rbp), %rax
movq 0x38(%rax), %rdx
movq -0x20(%rbp), %rax
movq -0x10(%rbp), %rcx
movl 0x2c(%rcx), %ecx
movq -0x18(%rbp), %rsi
subl 0xb4(%rsi), %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x18(%rbp), %rdi
callq 0x73f0
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x18(%rbp)
jmp 0xe080
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x2c(%rcx), %eax
ja 0xe142
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
cmpq $0x0, (%rax,%rcx,8)
jne 0xe0f1
cmpl $-0x1, -0x28(%rbp)
jne 0xe0f1
movl -0x24(%rbp), %eax
movl %eax, -0x28(%rbp)
jmp 0xe135
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
cmpq $0x0, (%rax,%rcx,8)
je 0xe133
cmpl $-0x1, -0x28(%rbp)
je 0xe133
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
movq (%rax,%rcx,8), %rdx
movq -0x20(%rbp), %rax
movslq -0x28(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
cmpl -0x24(%rbp), %eax
jne 0xe131
movl $0xffffffff, -0x28(%rbp) # imm = 0xFFFFFFFF
jmp 0xe133
jmp 0xe135
jmp 0xe137
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0xe0c9
leaq 0xe65f(%rip), %rax      # 0x1c7a8
movq (%rax), %rdi
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rax
movl 0x28(%rax), %edx
callq 0x5400
movq -0x20(%rbp), %rdi
callq 0x64b0
movq -0x10(%rbp), %rax
movl $0x0, 0x24(%rax)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x20(%rax), %eax
subl $0x1, %eax
movslq %eax, %rsi
callq 0xdaa0
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)