// File: /workspace/github_c_makefile_star2_O0/kek[P]evilwm/events.c
// Function: event_main_loop
void event_main_loop(void) {
	union {
		XEvent xevent;
#ifdef SHAPE
		XShapeEvent xshape;
#endif
	} ev;
	/* main event loop here */
	while (!wm_exit) {
		if (interruptibleXNextEvent(&ev.xevent)) {
			switch (ev.xevent.type) {
			case KeyPress:
				handle_key_event(&ev.xevent.xkey); break;
#ifdef MOUSE
			case ButtonPress:
				handle_button_event(&ev.xevent.xbutton); break;
#endif
			case ConfigureRequest:
				handle_configure_request(&ev.xevent.xconfigurerequest); break;
			case MapRequest:
				handle_map_request(&ev.xevent.xmaprequest); break;
			case ColormapNotify:
				handle_colormap_change(&ev.xevent.xcolormap); break;
			case EnterNotify:
				handle_enter_event(&ev.xevent.xcrossing); break;
			case PropertyNotify:
				handle_property_change(&ev.xevent.xproperty); break;
			case UnmapNotify:
				handle_unmap_event(&ev.xevent.xunmap); break;
			case MappingNotify:
				handle_mappingnotify_event(&ev.xevent.xmapping); break;
			case ClientMessage:
				handle_client_message(&ev.xevent.xclient); break;
			default:
#ifdef SHAPE
				if (have_shape && ev.xevent.type == shape_event) {
					handle_shape_event(&ev.xshape);
				}
#endif
#ifdef RANDR
				if (have_randr && ev.xevent.type == randr_event_base + RRScreenChangeNotify) {
					XRRUpdateConfiguration(&ev.xevent);
				}
#endif
				break;
			}
		}
		if (need_client_tidy) {
			struct list *iter, *niter;
			need_client_tidy = 0;
			for (iter = clients_tab_order; iter; iter = niter) {
				Client *c = iter->data;
				niter = iter->next;
				if (c->remove)
					remove_client(c);
			}
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
leaq 0xb616(%rip), %rax      # 0xf978
cmpl $0x0, (%rax)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x4373
jmp 0x453f
leaq -0xc0(%rbp), %rdi
callq 0x4550
cmpl $0x0, %eax
je 0x44b6
movl -0xc0(%rbp), %eax
addl $-0x2, %eax
movl %eax, %ecx
movq %rcx, -0xe0(%rbp)
subl $0x20, %eax
ja 0x445b
movq -0xe0(%rbp), %rax
leaq 0x7c77(%rip), %rcx      # 0xc028
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq -0xc0(%rbp), %rdi
callq 0x46a0
jmp 0x44b4
leaq -0xc0(%rbp), %rdi
callq 0x4e70
jmp 0x44b4
leaq -0xc0(%rbp), %rdi
callq 0x4ef0
jmp 0x44b4
leaq -0xc0(%rbp), %rdi
callq 0x5010
jmp 0x44b4
leaq -0xc0(%rbp), %rdi
callq 0x50d0
jmp 0x44b4
leaq -0xc0(%rbp), %rdi
callq 0x5130
jmp 0x44b4
leaq -0xc0(%rbp), %rdi
callq 0x5190
jmp 0x44b4
leaq -0xc0(%rbp), %rdi
callq 0x5230
jmp 0x44b4
leaq -0xc0(%rbp), %rdi
callq 0x5290
jmp 0x44b4
leaq -0xc0(%rbp), %rdi
callq 0x5300
jmp 0x44b4
leaq 0xb54e(%rip), %rax      # 0xf9b0
cmpl $0x0, (%rax)
je 0x4484
movl -0xc0(%rbp), %eax
leaq 0xb540(%rip), %rcx      # 0xf9b4
cmpl (%rcx), %eax
jne 0x4484
leaq -0xc0(%rbp), %rdi
callq 0x55f0
leaq 0xb52d(%rip), %rax      # 0xf9b8
cmpl $0x0, (%rax)
je 0x44b2
movl -0xc0(%rbp), %eax
leaq 0xb51f(%rip), %rcx      # 0xf9bc
movl (%rcx), %ecx
addl $0x0, %ecx
cmpl %ecx, %eax
jne 0x44b2
leaq -0xc0(%rbp), %rdi
callq 0x3190
jmp 0x44b4
jmp 0x44b6
leaq 0xb503(%rip), %rax      # 0xf9c0
cmpl $0x0, (%rax)
je 0x453a
leaq 0xb4f7(%rip), %rax      # 0xf9c0
movl $0x0, (%rax)
leaq 0xb462(%rip), %rax      # 0xf938
movq (%rax), %rax
movq %rax, -0xc8(%rbp)
cmpq $0x0, -0xc8(%rbp)
je 0x4538
movq -0xc8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0xd8(%rbp)
movq -0xc8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xd0(%rbp)
movq -0xd8(%rbp), %rax
cmpl $0x0, 0x7c(%rax)
je 0x4526
movq -0xd8(%rbp), %rdi
callq 0x3ea0
jmp 0x4528
movq -0xd0(%rbp), %rax
movq %rax, -0xc8(%rbp)
jmp 0x44e0
jmp 0x453a
jmp 0x435b
addq $0xe0, %rsp
popq %rbp
retq
nopl (%rax,%rax)