// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/tree.c
// Function: set_hidden
void set_hidden(monitor_t *m, desktop_t *d, node_t *n, bool value)
{
	if (n == NULL || n->hidden == value) {
		return;
	}

	bool held_focus = is_descendant(d->focus, n);

	propagate_hidden_downward(m, d, n, value);
	propagate_hidden_upward(m, d, n);

	put_status(SBSC_MASK_NODE_FLAG, "node_flag 0x%08X 0x%08X 0x%08X hidden %s\n", m->id, d->id, n->id, ON_OFF_STR(value));

	if (held_focus || d->focus == NULL) {
		if (d->focus != NULL) {
			d->focus = NULL;
			draw_border(n, false, (mon == m));
		}
		if (d == mon->desk) {
			focus_node(m, d, d->focus);
		} else {
			activate_node(m, d, d->focus);
		}
	}

	if (single_monocle) {
		if (value && d->layout != LAYOUT_MONOCLE && tiled_count(d->root, true) <= 1) {
			set_layout(m, d, LAYOUT_MONOCLE, false);
		} else if (!value && d->layout == LAYOUT_MONOCLE && tiled_count(d->root, true) > 1) {
			set_layout(m, d, d->user_layout, false);
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %cl, %al
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
andb $0x1, %al
movb %al, -0x19(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x1149b
movq -0x18(%rbp), %rax
movb 0x25(%rax), %al
andb $0x1, %al
movzbl %al, %eax
movb -0x19(%rbp), %cl
andb $0x1, %cl
movzbl %cl, %ecx
cmpl %ecx, %eax
jne 0x114a0
jmp 0x1163a
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0xd040
andb $0x1, %al
movb %al, -0x1a(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movb -0x19(%rbp), %al
andb $0x1, %al
movzbl %al, %ecx
callq 0x11640
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x116c0
movq -0x8(%rbp), %rax
movl 0x20(%rax), %edx
movq -0x10(%rbp), %rax
movl 0x20(%rax), %ecx
movq -0x18(%rbp), %rax
movl (%rax), %r8d
movb -0x19(%rbp), %sil
leaq 0x1c546(%rip), %r9      # 0x2da46
leaq 0x1d7a0(%rip), %rax     # 0x2eca7
testb $0x1, %sil
cmovneq %rax, %r9
movl $0x2000000, %edi        # imm = 0x2000000
leaq 0x1c501(%rip), %rsi     # 0x2da1c
movb $0x0, %al
callq 0x2c0b0
testb $0x1, -0x1a(%rbp)
jne 0x11533
movq -0x10(%rbp), %rax
cmpq $0x0, 0x38(%rax)
jne 0x115b0
movq -0x10(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x1156e
movq -0x10(%rbp), %rax
movq $0x0, 0x38(%rax)
movq -0x18(%rbp), %rdi
leaq 0x241ab(%rip), %rax     # 0x35700
movq (%rax), %rax
cmpq -0x8(%rbp), %rax
sete %al
xorl %ecx, %ecx
movzbl %al, %edx
andl $0x1, %edx
xorl %esi, %esi
callq 0x167c0
movq -0x10(%rbp), %rax
leaq 0x24187(%rip), %rcx     # 0x35700
movq (%rcx), %rcx
cmpq 0x58(%rcx), %rax
jne 0x11599
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rdx
callq 0xd720
jmp 0x115ae
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rdx
callq 0xccb0
jmp 0x115b0
leaq 0x24831(%rip), %rax     # 0x35de8
testb $0x1, (%rax)
je 0x1163a
testb $0x1, -0x19(%rbp)
je 0x115f9
movq -0x10(%rbp), %rax
cmpl $0x1, 0x24(%rax)
je 0x115f9
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rdi
movl $0x1, %esi
callq 0xc8d0
cmpl $0x1, %eax
jg 0x115f9
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x1, %edx
xorl %ecx, %ecx
callq 0x9e80
jmp 0x11638
testb $0x1, -0x19(%rbp)
jne 0x11636
movq -0x10(%rbp), %rax
cmpl $0x1, 0x24(%rax)
jne 0x11636
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rdi
movl $0x1, %esi
callq 0xc8d0
cmpl $0x1, %eax
jle 0x11636
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x10(%rbp), %rax
movl 0x28(%rax), %edx
xorl %ecx, %ecx
callq 0x9e80
jmp 0x11638
jmp 0x1163a
addq $0x20, %rsp
popq %rbp
retq