// File: /workspace/github_c_makefile_star2_O0/9wm[P]9wm/event.c
// Function: clientmesg
void
clientmesg(XClientMessageEvent * e)
{
	Client *c;

	curtime = CurrentTime;
	if (e->message_type == exit_9wm) {
		cleanup();
		exit(0);
	} else if (e->message_type == restart_9wm) {
		fprintf(stderr, "*** 9wm restarting ***\n");
		cleanup();
		execvp(myargv[0], myargv);
		perror("9wm: exec failed");
		exit(1);
	} else if (e->message_type == wm_change_state) {
		c = getclient(e->window, 0);
		if (e->format == 32 && e->data.l[0] == IconicState && c != 0) {
			if (normal(c))
				hide(c);
		} else
			fprintf(stderr, "9wm: WM_CHANGE_STATE: format %d data %ld w 0x%x\n",
				e->format, e->data.l[0], (int) e->window);
	} else if ((e->message_type == wm_moveresize) && (e->data.l[2] == 8)) {
		Client *c = getclient(e->window, 0);
		move(c);
		return;
	} else if (e->message_type == net_wm_state) {
		if (e->data.l[1] == net_wm_state_fullscreen || e->data.l[2] == net_wm_state_fullscreen) {
			if (e->data.l[0] == 1)
				XChangeProperty(dpy, e->window, net_wm_state, XA_ATOM, 32, PropModeReplace, (unsigned char *)&net_wm_state_fullscreen, 1);
			else if (e->data.l[0] == 0)
				XDeleteProperty(dpy, e->window, net_wm_state);
		}
		return;
	} else if (e->message_type == active_window) {
		Client *c = getclient(e->window, 0);
		XMapRaised(dpy, c->parent);
		top(c);
		active(c);
		return;
	} else {
		char *name;

		name = XGetAtomName(dpy, e->message_type);
		fprintf(stderr, "9wm: unhandled ClientMessage %s (%d),  window 0x%x\n", name, (int) e->message_type,
			(int) e->window);
		XFree(name);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
leaq 0x8695(%rip), %rax      # 0xc998
movl $0x0, (%rax)
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
leaq 0x8670(%rip), %rcx      # 0xc988
cmpq (%rcx), %rax
jne 0x432b
movb $0x0, %al
callq 0x3830
xorl %edi, %edi
callq 0x2520
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
leaq 0x8656(%rip), %rcx      # 0xc990
cmpq (%rcx), %rax
jne 0x4390
movq 0x7cb2(%rip), %rax      # 0xbff8
movq (%rax), %rdi
leaq 0x51f0(%rip), %rsi      # 0x9540
movb $0x0, %al
callq 0x22b0
movb $0x0, %al
callq 0x3830
leaq 0x85e3(%rip), %rax      # 0xc948
movq (%rax), %rax
movq (%rax), %rdi
leaq 0x85d6(%rip), %rax      # 0xc948
movq (%rax), %rsi
callq 0x24e0
leaq 0x51d7(%rip), %rdi      # 0x9558
callq 0x24a0
movl $0x1, %edi
callq 0x2520
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
leaq 0x8609(%rip), %rcx      # 0xc9a8
cmpq (%rcx), %rax
jne 0x442a
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdi
xorl %esi, %esi
movb $0x0, %al
callq 0x6e90
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x20, 0x30(%rax)
jne 0x43f3
movq -0x8(%rbp), %rax
cmpq $0x3, 0x38(%rax)
jne 0x43f3
cmpq $0x0, -0x10(%rbp)
je 0x43f3
movq -0x10(%rbp), %rax
cmpl $0x1, 0x98(%rax)
jne 0x43f1
movq -0x10(%rbp), %rdi
movb $0x0, %al
callq 0x6500
jmp 0x4425
movq 0x7bfe(%rip), %rax      # 0xbff8
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movl 0x30(%rax), %edx
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movl %eax, %r8d
leaq 0x514b(%rip), %rsi      # 0x9569
movb $0x0, %al
callq 0x22b0
jmp 0x45e5
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
leaq 0x8597(%rip), %rcx      # 0xc9d0
cmpq (%rcx), %rax
jne 0x446e
movq -0x8(%rbp), %rax
cmpq $0x8, 0x48(%rax)
jne 0x446e
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdi
xorl %esi, %esi
movb $0x0, %al
callq 0x6e90
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movb $0x0, %al
callq 0x63e0
jmp 0x45e9
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
leaq 0x8563(%rip), %rcx      # 0xc9e0
cmpq (%rcx), %rax
jne 0x4532
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rax
leaq 0x8553(%rip), %rcx      # 0xc9e8
cmpq (%rcx), %rax
je 0x44ae
movq -0x8(%rbp), %rax
movq 0x48(%rax), %rax
leaq 0x853f(%rip), %rcx      # 0xc9e8
cmpq (%rcx), %rax
jne 0x452d
movq -0x8(%rbp), %rax
cmpq $0x1, 0x38(%rax)
jne 0x44fd
leaq 0x84b8(%rip), %rax      # 0xc978
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rsi
leaq 0x850e(%rip), %rax      # 0xc9e0
movq (%rax), %rdx
movl $0x4, %ecx
movl $0x20, %r8d
xorl %r9d, %r9d
leaq 0x84fe(%rip), %rax      # 0xc9e8
movq %rax, (%rsp)
movl $0x1, 0x8(%rsp)
callq 0x2360
jmp 0x452b
movq -0x8(%rbp), %rax
cmpq $0x0, 0x38(%rax)
jne 0x4529
leaq 0x8469(%rip), %rax      # 0xc978
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rsi
leaq 0x84bf(%rip), %rax      # 0xc9e0
movq (%rax), %rdx
callq 0x21a0
jmp 0x452b
jmp 0x452d
jmp 0x45e9
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
leaq 0x8497(%rip), %rcx      # 0xc9d8
cmpq (%rcx), %rax
jne 0x458a
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdi
xorl %esi, %esi
movb $0x0, %al
callq 0x6e90
movq %rax, -0x20(%rbp)
leaq 0x8416(%rip), %rax      # 0xc978
movq (%rax), %rdi
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x2340
movq -0x20(%rbp), %rdi
movb $0x0, %al
callq 0x6df0
movq -0x20(%rbp), %rdi
movb $0x0, %al
callq 0x6b40
jmp 0x45e9
leaq 0x83e7(%rip), %rax      # 0xc978
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rsi
callq 0x2390
movq %rax, -0x28(%rbp)
movq 0x7a4c(%rip), %rax      # 0xbff8
movq (%rax), %rdi
movq -0x28(%rbp), %rdx
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movl %eax, %ecx
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movl %eax, %r8d
leaq 0x4fcb(%rip), %rsi      # 0x959a
movb $0x0, %al
callq 0x22b0
movq -0x28(%rbp), %rdi
callq 0x2180
jmp 0x45e1
jmp 0x45e3
jmp 0x45e5
jmp 0x45e7
jmp 0x45e9
addq $0x40, %rsp
popq %rbp
retq
nop