// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/events.c
// Function: property_notify
void property_notify(xcb_generic_event_t *evt)
{
	xcb_property_notify_event_t *e = (xcb_property_notify_event_t *) evt;

	if (!ignore_ewmh_struts && e->atom == ewmh->_NET_WM_STRUT_PARTIAL && ewmh_handle_struts(e->window)) {
		for (monitor_t *m = mon_head; m != NULL; m = m->next) {
			for (desktop_t *d = m->desk_head; d != NULL; d = d->next) {
				arrange(m, d);
			}
		}
	}

	if (e->atom != XCB_ATOM_WM_HINTS && e->atom != XCB_ATOM_WM_NORMAL_HINTS) {
		return;
	}

	coordinates_t loc;
	if (!locate_window(e->window, &loc)) {
		for (pending_rule_t *pr = pending_rule_head; pr != NULL; pr = pr->next) {
			if (pr->win == e->window) {
				postpone_event(pr, evt);
				break;
			}
		}
		return;
	}

	if (e->atom == XCB_ATOM_WM_HINTS) {
		xcb_icccm_wm_hints_t hints;
		if (xcb_icccm_get_wm_hints_reply(dpy, xcb_icccm_get_wm_hints(dpy, e->window), &hints, NULL) == 1 &&
		    (hints.flags & XCB_ICCCM_WM_HINT_X_URGENCY))
			set_urgent(loc.monitor, loc.desktop, loc.node, xcb_icccm_wm_hints_get_urgency(&hints));
	} else if (e->atom == XCB_ATOM_WM_NORMAL_HINTS) {
		client_t *c = loc.node->client;
		if (xcb_icccm_get_wm_normal_hints_reply(dpy, xcb_icccm_get_wm_normal_hints(dpy, e->window), &c->size_hints, NULL) == 1) {
			arrange(loc.monitor, loc.desktop);
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
leaq 0x22346(%rip), %rax     # 0x35df4
testb $0x1, (%rax)
jne 0x13b37
movq -0x10(%rbp), %rax
movl 0x8(%rax), %eax
leaq 0x2235b(%rip), %rcx     # 0x35e20
movq (%rcx), %rcx
cmpl 0x90(%rcx), %eax
jne 0x13b37
movq -0x10(%rbp), %rax
movl 0x4(%rax), %edi
callq 0x2b300
testb $0x1, %al
jne 0x13ae2
jmp 0x13b37
leaq 0x21c0f(%rip), %rax     # 0x356f8
movq (%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x13b35
movq -0x18(%rbp), %rax
movq 0x60(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x13b25
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0xafd0
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq %rax, -0x20(%rbp)
jmp 0x13b03
jmp 0x13b27
movq -0x18(%rbp), %rax
movq 0x78(%rax), %rax
movq %rax, -0x18(%rbp)
jmp 0x13af0
jmp 0x13b37
movq -0x10(%rbp), %rax
cmpl $0x23, 0x8(%rax)
je 0x13b50
movq -0x10(%rbp), %rax
cmpl $0x28, 0x8(%rax)
je 0x13b50
jmp 0x13cd4
movq -0x10(%rbp), %rax
movl 0x4(%rax), %edi
leaq -0x38(%rbp), %rsi
callq 0x26b20
testb $0x1, %al
jne 0x13bad
leaq 0x21b5d(%rip), %rax     # 0x356c8
movq (%rax), %rax
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
je 0x13ba8
movq -0x40(%rbp), %rax
movl 0x4(%rax), %eax
movq -0x10(%rbp), %rcx
cmpl 0x4(%rcx), %eax
jne 0x13b98
movq -0x40(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x29b60
jmp 0x13ba8
jmp 0x13b9a
movq -0x40(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x40(%rbp)
jmp 0x13b72
jmp 0x13cd4
movq -0x10(%rbp), %rax
cmpl $0x23, 0x8(%rax)
jne 0x13c5d
leaq 0x21af6(%rip), %rax     # 0x356b8
movq (%rax), %rax
movq %rax, -0x80(%rbp)
leaq 0x21ae8(%rip), %rax     # 0x356b8
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movl 0x4(%rax), %esi
callq 0x4170
movq -0x80(%rbp), %rdi
movl %eax, -0x68(%rbp)
movl -0x68(%rbp), %esi
leaq -0x64(%rbp), %rdx
xorl %eax, %eax
movl %eax, %ecx
callq 0x44b0
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x13c5b
movl -0x64(%rbp), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x13c5b
movq -0x38(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq -0x64(%rbp), %rdi
callq 0x4ac0
movq -0x98(%rbp), %rdi
movq -0x90(%rbp), %rsi
movq -0x88(%rbp), %rdx
cmpl $0x0, %eax
setne %al
movzbl %al, %ecx
andl $0x1, %ecx
callq 0xdc90
jmp 0x13cd4
movq -0x10(%rbp), %rax
cmpl $0x28, 0x8(%rax)
jne 0x13cd2
movq -0x28(%rbp), %rax
movq 0x48(%rax), %rax
movq %rax, -0x70(%rbp)
leaq 0x21a3e(%rip), %rax     # 0x356b8
movq (%rax), %rax
movq %rax, -0xa0(%rbp)
leaq 0x21a2d(%rip), %rax     # 0x356b8
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movl 0x4(%rax), %esi
callq 0x4980
movq -0xa0(%rbp), %rdi
movl %eax, -0x74(%rbp)
movq -0x70(%rbp), %rdx
addq $0x32c, %rdx            # imm = 0x32C
movl -0x74(%rbp), %esi
xorl %eax, %eax
movl %eax, %ecx
callq 0x4b00
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x13cd0
movq -0x38(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0xafd0
jmp 0x13cd2
jmp 0x13cd4
addq $0xa0, %rsp
popq %rbp
retq
nopl (%rax)