// File: /workspace/github_c_makefile_star2_O0/zenlinux[P]cwm/group.c
// Function: group_update_names
void
group_update_names(struct screen_ctx *sc)
{
	char		**strings, *p;
	unsigned char	*prop_ret;
	int		 i = 0, j = 0, nstrings = 0, n = 0, setnames = 0;

	if ((j = xu_getprop(sc->rootwin, ewmh[_NET_DESKTOP_NAMES].atom,
	    cwmh[UTF8_STRING].atom, 0xffffff, (u_char **)&prop_ret)) > 0) {
		prop_ret[j - 1] = '\0'; /* paranoia */
		while (i < j) {
			if (prop_ret[i++] == '\0')
				nstrings++;
		}
	}

	strings = xmalloc((nstrings < CALMWM_NGROUPS ? CALMWM_NGROUPS :
	    nstrings) * sizeof(*strings));

	p = (char *)prop_ret;
	while (n < nstrings) {
		strings[n++] = xstrdup(p);
		p += strlen(p) + 1;
	}
	/*
	 * make sure we always set our defaults if nothing is there to
	 * replace them.
	 */
	if (n < CALMWM_NGROUPS) {
		setnames = 1;
		i = 1;
		while (n < CALMWM_NGROUPS)
			strings[n++] = xstrdup(shortcut_to_name[i++]);
	}

	if (prop_ret != NULL)
		XFree(prop_ret);
	if (sc->group_nonames != 0)
		xfree(sc->group_names);

	sc->group_names = strings;
	sc->group_nonames = n;
	if (setnames)
		group_set_names(sc);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0x24(%rbp)
movl $0x0, -0x28(%rbp)
movl $0x0, -0x2c(%rbp)
movl $0x0, -0x30(%rbp)
movl $0x0, -0x34(%rbp)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
leaq 0xbbf2(%rip), %rax      # 0x19500
movq 0xa8(%rax), %rsi
leaq 0xbb84(%rip), %rax      # 0x194a0
movq 0x58(%rax), %rdx
movl $0xffffff, %ecx         # imm = 0xFFFFFF
leaq -0x20(%rbp), %r8
callq 0xaf70
movl %eax, -0x28(%rbp)
cmpl $0x0, %eax
jle 0xd977
movq -0x20(%rbp), %rax
movl -0x28(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movb $0x0, (%rax,%rcx)
movl -0x24(%rbp), %eax
cmpl -0x28(%rbp), %eax
jge 0xd975
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x24(%rbp)
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
cmpl $0x0, %eax
jne 0xd973
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0xd947
jmp 0xd977
cmpl $0x9, -0x2c(%rbp)
jge 0xd987
movl $0x9, %eax
movl %eax, -0x38(%rbp)
jmp 0xd98d
movl -0x2c(%rbp), %eax
movl %eax, -0x38(%rbp)
movl -0x38(%rbp), %eax
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x6420
movq %rax, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
movl -0x30(%rbp), %eax
cmpl -0x2c(%rbp), %eax
jge 0xd9e9
movq -0x18(%rbp), %rdi
callq 0x64d0
movq %rax, %rdx
movq -0x10(%rbp), %rax
movl -0x30(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x30(%rbp)
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x18(%rbp), %rdi
callq 0x5320
addq $0x1, %rax
addq -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0xd9a8
cmpl $0x9, -0x30(%rbp)
jge 0xda3e
movl $0x1, -0x34(%rbp)
movl $0x1, -0x24(%rbp)
cmpl $0x9, -0x30(%rbp)
jge 0xda3c
movl -0x24(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movslq %eax, %rcx
leaq 0xcc38(%rip), %rax      # 0x1a650
movq (%rax,%rcx,8), %rdi
callq 0x64d0
movq %rax, %rdx
movq -0x10(%rbp), %rax
movl -0x30(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x30(%rbp)
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0xd9fd
jmp 0xda3e
cmpq $0x0, -0x20(%rbp)
je 0xda4e
movq -0x20(%rbp), %rdi
callq 0x5060
movq -0x8(%rbp), %rax
cmpl $0x0, 0x2dc(%rax)
je 0xda6b
movq -0x8(%rbp), %rax
movq 0x2e8(%rax), %rdi
callq 0x64b0
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x2e8(%rax)
movl -0x30(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x2dc(%rax)
cmpl $0x0, -0x34(%rbp)
je 0xda96
movq -0x8(%rbp), %rdi
callq 0xe930
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)