// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./client.c
// Function: client_raise_family
void client_raise_family(Client *c)
{
	if (!c) return;
	int i; Client *o; STACK_INIT(raise); STACK_INIT(family);

	for_windows(i, o)
	{
		if (o->type == atoms[_NET_WM_WINDOW_TYPE_DOCK])
			client_stack_family(o, &raise);
		if (o->above && c->spot != SPOT3 && o->spot == SPOT3)
			client_stack_family(o, &raise);
	}

	while (c->transient && (o = window_build_client(c->transient)) && o->manage)
		c = family.clients[family.depth++] = o;

	client_stack_family(c, &raise);

	if (!c->full && settings.title)
	{
		// raise spot's title bar in case some other fullscreen or max v/h window has obscured
		Monitor *m = &monitors[c->monitor];
		raise.windows[raise.depth] = m->bars[c->spot]->window;
		raise.clients[raise.depth] = NULL;
		raise.depth++;
	}

	XRaiseWindow(display, raise.windows[0]);
	XRestackWindows(display, raise.windows, raise.depth);

	STACK_FREE(&family);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x840, %rsp            # imm = 0x840
movq %rdi, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x97db
jmp 0x9a36
leaq -0x420(%rbp), %rdi
xorl %esi, %esi
movl $0x408, %edx            # imm = 0x408
callq 0x3070
leaq -0x828(%rbp), %rdi
xorl %esi, %esi
movl $0x408, %edx            # imm = 0x408
callq 0x3070
callq 0x7380
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
movswl 0xa579(%rip), %ecx      # 0x13d90
cmpl %ecx, %eax
jge 0x98ab
movslq -0xc(%rbp), %rcx
leaq 0xa566(%rip), %rax      # 0x13d90
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
je 0x989b
movq -0x18(%rbp), %rax
movq 0xa0(%rax), %rax
cmpq 0xa4c5(%rip), %rax      # 0x13d10
jne 0x985d
movq -0x18(%rbp), %rdi
leaq -0x420(%rbp), %rsi
callq 0x96a0
movq -0x18(%rbp), %rax
movswl 0x116(%rax), %eax
cmpl $0x0, %eax
je 0x9899
movq -0x8(%rbp), %rax
cmpq $0x3, 0x118(%rax)
je 0x9899
movq -0x18(%rbp), %rax
cmpq $0x3, 0x118(%rax)
jne 0x9899
movq -0x18(%rbp), %rdi
leaq -0x420(%rbp), %rsi
callq 0x96a0
jmp 0x989b
jmp 0x989d
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x980d
jmp 0x98ad
movq -0x8(%rbp), %rcx
xorl %eax, %eax
cmpq $0x0, 0x90(%rcx)
movb %al, -0x831(%rbp)
je 0x98ff
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rdi
callq 0x74a0
movq %rax, %rcx
movq %rcx, -0x18(%rbp)
xorl %eax, %eax
cmpq $0x0, %rcx
movb %al, -0x831(%rbp)
je 0x98ff
movq -0x18(%rbp), %rax
movswl 0x104(%rax), %eax
cmpl $0x0, %eax
setne %al
movb %al, -0x831(%rbp)
movb -0x831(%rbp), %al
testb $0x1, %al
jne 0x990b
jmp 0x9939
movq -0x18(%rbp), %rax
movw -0x828(%rbp), %cx
movw %cx, %dx
addw $0x1, %dx
movw %dx, -0x828(%rbp)
movswq %cx, %rcx
movq %rax, -0x820(%rbp,%rcx,8)
movq %rax, -0x8(%rbp)
jmp 0x98ad
movq -0x8(%rbp), %rdi
leaq -0x420(%rbp), %rsi
callq 0x96a0
movq -0x8(%rbp), %rax
cmpw $0x0, 0x10a(%rax)
jne 0x99d3
cmpq $0x0, 0xa879(%rip)      # 0x141d8
je 0x99d3
movq -0x8(%rbp), %rax
movswq 0x100(%rax), %rcx
leaq 0xa23c(%rip), %rax      # 0x13bb0
imulq $0x48, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x830(%rbp)
movq -0x830(%rbp), %rax
movq -0x8(%rbp), %rcx
movq 0x118(%rcx), %rcx
movq 0x28(%rax,%rcx,8), %rax
movq 0x8(%rax), %rcx
movswq -0x420(%rbp), %rax
movq %rcx, -0x218(%rbp,%rax,8)
movswq -0x420(%rbp), %rax
movq $0x0, -0x418(%rbp,%rax,8)
movw -0x420(%rbp), %ax
addw $0x1, %ax
movw %ax, -0x420(%rbp)
movq 0xa1c6(%rip), %rdi      # 0x13ba0
movq -0x218(%rbp), %rsi
callq 0x3110
movq 0xa1b3(%rip), %rdi      # 0x13ba0
leaq -0x420(%rbp), %rsi
addq $0x208, %rsi            # imm = 0x208
movswl -0x420(%rbp), %edx
callq 0x32e0
cmpw $0x0, -0x828(%rbp)
je 0x9a36
movw -0x828(%rbp), %ax
addw $-0x1, %ax
movw %ax, -0x828(%rbp)
movswq %ax, %rax
movq -0x820(%rbp,%rax,8), %rdi
callq 0x86e0
jmp 0x9a07
addq $0x840, %rsp            # imm = 0x840
popq %rbp
retq
nop