// File: /workspace/github_c_makefile_star2_O0/kek[P]evilwm/ewmh.c
// Function: ewmh_init_screen
void ewmh_init_screen(ScreenInfo *s) {
	unsigned long pid = getpid();
	Atom supported[] = {
		xa_net_client_list,
		xa_net_client_list_stacking,
#ifdef VWM
		xa_net_number_of_desktops,
#endif
		xa_net_desktop_geometry,
		xa_net_desktop_viewport,
#ifdef VWM
		xa_net_current_desktop,
#endif
		xa_net_active_window,
		xa_net_workarea,
		xa_net_supporting_wm_check,

		xa_net_close_window,
		xa_net_moveresize_window,
		xa_net_restack_window,
		xa_net_request_frame_extents,

#ifdef VWM
		xa_net_wm_desktop,
#endif
		xa_net_wm_window_type,
		xa_net_wm_window_type_desktop,
		xa_net_wm_window_type_dock,
		xa_net_wm_state,
		xa_net_wm_state_maximized_vert,
		xa_net_wm_state_maximized_horz,
		xa_net_wm_state_fullscreen,
		xa_net_wm_state_hidden,
		xa_net_wm_allowed_actions,
		/* Not sure if it makes any sense including every action here
		 * as they'll already be listed per-client in the
		 * _NET_WM_ALLOWED_ACTIONS property, but EWMH spec is unclear.
		 * */
		xa_net_wm_action_move,
		xa_net_wm_action_resize,
		xa_net_wm_action_maximize_horz,
		xa_net_wm_action_maximize_vert,
		xa_net_wm_action_fullscreen,
		xa_net_wm_action_change_desktop,
		xa_net_wm_action_close,
		xa_net_frame_extents,
	};
#ifdef VWM
	unsigned long num_desktops = 8;
	unsigned long vdesk = s->vdesk;
#endif
	unsigned long workarea[4] = {
		0, 0,
		DisplayWidth(dpy, s->screen), DisplayHeight(dpy, s->screen)
	};
	s->supporting = XCreateSimpleWindow(dpy, s->root, 0, 0, 1, 1, 0, 0, 0);
	XChangeProperty(dpy, s->root, xa_net_supported,
			XA_ATOM, 32, PropModeReplace,
			(unsigned char *)&supported,
			sizeof(supported) / sizeof(Atom));
#ifdef VWM
	XChangeProperty(dpy, s->root, xa_net_number_of_desktops,
			XA_CARDINAL, 32, PropModeReplace,
			(unsigned char *)&num_desktops, 1);
#endif
	XChangeProperty(dpy, s->root, xa_net_desktop_geometry,
			XA_CARDINAL, 32, PropModeReplace,
			(unsigned char *)&workarea[2], 2);
	XChangeProperty(dpy, s->root, xa_net_desktop_viewport,
			XA_CARDINAL, 32, PropModeReplace,
			(unsigned char *)&workarea[0], 2);
#ifdef VWM
	XChangeProperty(dpy, s->root, xa_net_current_desktop,
			XA_CARDINAL, 32, PropModeReplace,
			(unsigned char *)&vdesk, 1);
#endif
	XChangeProperty(dpy, s->root, xa_net_workarea,
			XA_CARDINAL, 32, PropModeReplace,
			(unsigned char *)&workarea, 4);
	XChangeProperty(dpy, s->root, xa_net_supporting_wm_check,
			XA_WINDOW, 32, PropModeReplace,
			(unsigned char *)&s->supporting, 1);
	XChangeProperty(dpy, s->supporting, xa_net_supporting_wm_check,
			XA_WINDOW, 32, PropModeReplace,
			(unsigned char *)&s->supporting, 1);
	XChangeProperty(dpy, s->supporting, xa_net_wm_name,
			XA_STRING, 8, PropModeReplace,
			(const unsigned char *)"evilwm", 6);
	XChangeProperty(dpy, s->supporting, xa_net_wm_pid,
			XA_CARDINAL, 32, PropModeReplace,
			(unsigned char *)&pid, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x160, %rsp            # imm = 0x160
movq %rdi, -0x8(%rbp)
callq 0x3160
cltq
movq %rax, -0x10(%rbp)
movq 0x994f(%rip), %rax      # 0xf810
movq %rax, -0x110(%rbp)
movq 0x9949(%rip), %rax      # 0xf818
movq %rax, -0x108(%rbp)
movq 0x9943(%rip), %rax      # 0xf820
movq %rax, -0x100(%rbp)
movq 0x993d(%rip), %rax      # 0xf828
movq %rax, -0xf8(%rbp)
movq 0x9937(%rip), %rax      # 0xf830
movq %rax, -0xf0(%rbp)
movq 0x9931(%rip), %rax      # 0xf838
movq %rax, -0xe8(%rbp)
movq 0x992b(%rip), %rax      # 0xf840
movq %rax, -0xe0(%rbp)
movq 0x9925(%rip), %rax      # 0xf848
movq %rax, -0xd8(%rbp)
movq 0x991f(%rip), %rax      # 0xf850
movq %rax, -0xd0(%rbp)
movq 0x9919(%rip), %rax      # 0xf858
movq %rax, -0xc8(%rbp)
movq 0x9913(%rip), %rax      # 0xf860
movq %rax, -0xc0(%rbp)
movq 0x990d(%rip), %rax      # 0xf868
movq %rax, -0xb8(%rbp)
movq 0x9907(%rip), %rax      # 0xf870
movq %rax, -0xb0(%rbp)
movq 0x9909(%rip), %rax      # 0xf880
movq %rax, -0xa8(%rbp)
movq 0x9903(%rip), %rax      # 0xf888
movq %rax, -0xa0(%rbp)
movq 0x98fd(%rip), %rax      # 0xf890
movq %rax, -0x98(%rbp)
movq 0x98f7(%rip), %rax      # 0xf898
movq %rax, -0x90(%rbp)
movq 0x98f1(%rip), %rax      # 0xf8a0
movq %rax, -0x88(%rbp)
movq 0x98eb(%rip), %rax      # 0xf8a8
movq %rax, -0x80(%rbp)
movq 0x98e8(%rip), %rax      # 0xf8b0
movq %rax, -0x78(%rbp)
movq 0x98e5(%rip), %rax      # 0xf8b8
movq %rax, -0x70(%rbp)
movq 0x98e2(%rip), %rax      # 0xf8c0
movq %rax, -0x68(%rbp)
movq 0x98df(%rip), %rax      # 0xf8c8
movq %rax, -0x60(%rbp)
movq 0x98dc(%rip), %rax      # 0xf8d0
movq %rax, -0x58(%rbp)
movq 0x98d9(%rip), %rax      # 0xf8d8
movq %rax, -0x50(%rbp)
movq 0x98d6(%rip), %rax      # 0xf8e0
movq %rax, -0x48(%rbp)
movq 0x98d3(%rip), %rax      # 0xf8e8
movq %rax, -0x40(%rbp)
movq 0x98d0(%rip), %rax      # 0xf8f0
movq %rax, -0x38(%rbp)
movq 0x98cd(%rip), %rax      # 0xf8f8
movq %rax, -0x30(%rbp)
movq 0x98ca(%rip), %rax      # 0xf900
movq %rax, -0x28(%rbp)
movq 0x98cf(%rip), %rax      # 0xf910
movq %rax, -0x20(%rbp)
movq $0x8, -0x118(%rbp)
movq -0x8(%rbp), %rax
movl 0x40(%rax), %eax
movq %rax, -0x120(%rbp)
movq $0x0, -0x140(%rbp)
movq $0x0, -0x138(%rbp)
leaq 0x9905(%rip), %rax      # 0xf980
movq (%rax), %rax
movq 0xe8(%rax), %rax
movq -0x8(%rbp), %rcx
movslq (%rcx), %rcx
shlq $0x7, %rcx
addq %rcx, %rax
movslq 0x18(%rax), %rax
movq %rax, -0x130(%rbp)
leaq 0x98db(%rip), %rax      # 0xf980
movq (%rax), %rax
movq 0xe8(%rax), %rax
movq -0x8(%rbp), %rcx
movslq (%rcx), %rcx
shlq $0x7, %rcx
addq %rcx, %rax
movslq 0x1c(%rax), %rax
movq %rax, -0x128(%rbp)
leaq 0x98b1(%rip), %rax      # 0xf980
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
xorl %ecx, %ecx
movl $0x1, %r9d
xorl %eax, %eax
movl %ecx, %edx
movl %r9d, %r8d
movl $0x0, (%rsp)
movq $0x0, 0x8(%rsp)
movq $0x0, 0x10(%rsp)
callq 0x3590
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x10(%rax)
leaq 0x9867(%rip), %rax      # 0xf980
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
movq 0x96dd(%rip), %rdx      # 0xf808
movl $0x4, %ecx
movl $0x20, %r8d
xorl %r9d, %r9d
leaq -0x110(%rbp), %rax
movq %rax, (%rsp)
movl $0x1f, 0x8(%rsp)
callq 0x3480
leaq 0x9828(%rip), %rax      # 0xf980
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
movq 0x96b6(%rip), %rdx      # 0xf820
movl $0x6, %ecx
movl $0x20, %r8d
xorl %r9d, %r9d
leaq -0x118(%rbp), %rax
movq %rax, (%rsp)
movl $0x1, 0x8(%rsp)
callq 0x3480
leaq 0x97e9(%rip), %rax      # 0xf980
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
movq 0x967f(%rip), %rdx      # 0xf828
leaq -0x140(%rbp), %rax
addq $0x10, %rax
movl $0x6, %ecx
movl $0x20, %r8d
xorl %r9d, %r9d
movq %rax, (%rsp)
movl $0x2, 0x8(%rsp)
callq 0x3480
leaq 0x97a6(%rip), %rax      # 0xf980
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
movq 0x9644(%rip), %rdx      # 0xf830
leaq -0x140(%rbp), %rax
movl $0x6, %ecx
movl $0x20, %r8d
xorl %r9d, %r9d
movq %rax, (%rsp)
movl $0x2, 0x8(%rsp)
callq 0x3480
leaq 0x9767(%rip), %rax      # 0xf980
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
movq 0x960d(%rip), %rdx      # 0xf838
movl $0x6, %ecx
movl $0x20, %r8d
xorl %r9d, %r9d
leaq -0x120(%rbp), %rax
movq %rax, (%rsp)
movl $0x1, 0x8(%rsp)
callq 0x3480
leaq 0x9728(%rip), %rax      # 0xf980
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
movq 0x95de(%rip), %rdx      # 0xf848
movl $0x6, %ecx
movl $0x20, %r8d
xorl %r9d, %r9d
leaq -0x140(%rbp), %rax
movq %rax, (%rsp)
movl $0x4, 0x8(%rsp)
callq 0x3480
leaq 0x96e9(%rip), %rax      # 0xf980
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
movq 0x95a7(%rip), %rdx      # 0xf850
movq -0x8(%rbp), %rax
addq $0x10, %rax
movl $0x21, %ecx
movl $0x20, %r8d
xorl %r9d, %r9d
movq %rax, (%rsp)
movl $0x1, 0x8(%rsp)
callq 0x3480
leaq 0x96a9(%rip), %rax      # 0xf980
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rsi
movq 0x9567(%rip), %rdx      # 0xf850
movq -0x8(%rbp), %rax
addq $0x10, %rax
movl $0x21, %ecx
movl $0x20, %r8d
xorl %r9d, %r9d
movq %rax, (%rsp)
movl $0x1, 0x8(%rsp)
callq 0x3480
leaq 0x9669(%rip), %rax      # 0xf980
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rsi
movq 0x954f(%rip), %rdx      # 0xf878
movl $0x1f, %ecx
movl $0x8, %r8d
xorl %r9d, %r9d
leaq 0x6114(%rip), %rax      # 0xc452
movq %rax, (%rsp)
movl $0x6, 0x8(%rsp)
callq 0x3480
leaq 0x962a(%rip), %rax      # 0xf980
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rsi
movq 0x95a0(%rip), %rdx      # 0xf908
movl $0x6, %ecx
movl $0x20, %r8d
xorl %r9d, %r9d
leaq -0x10(%rbp), %rax
movq %rax, (%rsp)
movl $0x1, 0x8(%rsp)
callq 0x3480
addq $0x160, %rsp            # imm = 0x160
popq %rbp
retq
nopw %cs:(%rax,%rax)