// File: /workspace/github_c_makefile_star2_O2/kek[P]evilwm/main.c
// Function: main
int main(int argc, char *argv[]) {
	struct sigaction act;
	int argn = 1, ret;

	{
		const char *home = getenv("HOME");
		if (home) {
			char *conffile = xmalloc(strlen(home) + sizeof(CONFIG_FILE) + 2);
			strcpy(conffile, home);
			strcat(conffile, "/" CONFIG_FILE);
			xconfig_parse_file(evilwm_options, conffile);
			free(conffile);
		}
	}
	ret = xconfig_parse_cli(evilwm_options, argc, argv, &argn);
	if (ret == XCONFIG_MISSING_ARG) {
		fprintf(stderr, "%s: missing argument to `%s'\n", argv[0], argv[argn]);
		exit(1);
	} else if (ret == XCONFIG_BAD_OPTION) {
		if (0 == strcmp(argv[argn], "-h")
				|| 0 == strcmp(argv[argn], "--help")) {
			helptext();
			exit(0);
#ifdef STDIO
		} else if (0 == strcmp(argv[argn], "-V")
				|| 0 == strcmp(argv[argn], "--version")) {
			LOG_INFO("evilwm version " VERSION "\n");
			exit(0);
#endif
		} else {
			helptext();
			exit(1);
		}
	}

	if (opt_grabmask1) grabmask1 = parse_modifiers(opt_grabmask1);
	if (opt_grabmask2) grabmask2 = parse_modifiers(opt_grabmask2);
	if (opt_altmask) altmask = parse_modifiers(opt_altmask);

	wm_exit = 0;
	act.sa_handler = handle_signal;
	sigemptyset(&act.sa_mask);
	act.sa_flags = 0;
	sigaction(SIGTERM, &act, NULL);
	sigaction(SIGINT, &act, NULL);
	sigaction(SIGHUP, &act, NULL);

	setup_display();

	event_main_loop();

	/* Quit Nicely */
	while (clients_stacking_order)
		remove_client(clients_stacking_order->data);
	XSetInputFocus(dpy, PointerRoot, RevertToPointerRoot, CurrentTime);
	if (font) XFreeFont(dpy, font);
	{
		int i;
		for (i = 0; i < num_screens; i++) {
			ewmh_deinit_screen(&screens[i]);
			XFreeGC(dpy, screens[i].invert_gc);
			XInstallColormap(dpy, DefaultColormap(dpy, i));
		}
	}
	free(screens);
	XCloseDisplay(dpy);

	return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x248, %rsp            # imm = 0x248
movq %rsi, %rbx
movl %edi, %ebp
movl $0x1, 0x4(%rsp)
leaq 0x3b54(%rip), %rdi      # 0x9471
callq 0x3070
testq %rax, %rax
je 0x597f
movq %rax, %r14
movq %rax, %rdi
callq 0x31e0
leaq 0xc(%rax), %rdi
callq 0x6073
movq %rax, %r15
movq %rax, %rdi
movq %r14, %rsi
callq 0x3100
movq %r15, %rdi
callq 0x31e0
movabsq $0x6d776c6976652e2f, %rcx # imm = 0x6D776C6976652E2F
movq %rcx, (%r15,%rax)
movl $0x63726d, 0x7(%r15,%rax) # imm = 0x63726D
leaq 0x7a81(%rip), %rdi      # 0xd3f0
movq %r15, %rsi
callq 0x7e4c
movq %r15, %rdi
callq 0x3090
leaq 0x7a6a(%rip), %rdi      # 0xd3f0
leaq 0x4(%rsp), %rcx
movl %ebp, %esi
movq %rbx, %rdx
callq 0x81bd
cmpl $0x1, %eax
je 0x5f76
cmpl $0x2, %eax
je 0x5fb1
movq 0x7e12(%rip), %rdi      # 0xd7c0
testq %rdi, %rdi
je 0x59be
callq 0x60b2
movl %eax, 0x7a12(%rip)      # 0xd3d0
movq 0x7e03(%rip), %rdi      # 0xd7c8
testq %rdi, %rdi
je 0x59d5
callq 0x60b2
movl %eax, 0x79ff(%rip)      # 0xd3d4
movq 0x7df4(%rip), %rdi      # 0xd7d0
testq %rdi, %rdi
je 0x59ec
callq 0x60b2
movl %eax, 0x79ec(%rip)      # 0xd3d8
andl $0x0, 0x7de5(%rip)      # 0xd7d8
leaq 0x8cb(%rip), %rax       # 0x62c5
leaq 0x1b8(%rsp), %rbx
movq %rax, -0x8(%rbx)
movq %rbx, %rdi
callq 0x3340
andl $0x0, 0x80(%rbx)
pushq $0xf
popq %rdi
leaq 0x1b0(%rsp), %r14
movq %r14, %rsi
xorl %edx, %edx
callq 0x3150
pushq $0x2
popq %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0x3150
pushq $0x1
popq %rbx
movl %ebx, %edi
movq %r14, %rsi
xorl %edx, %edx
callq 0x3150
movq 0x7bbb(%rip), %rdi      # 0xd608
callq 0x3320
movq %rax, 0x7d87(%rip)      # 0xd7e0
testq %rax, %rax
je 0x5fda
leaq 0x86a(%rip), %rdi       # 0x62d3
callq 0x3410
callq 0x4b14
movq 0x7d66(%rip), %rdi      # 0xd7e0
movq 0x7b7f(%rip), %rsi      # 0xd600
callq 0x3290
movq %rax, 0x7d5b(%rip)      # 0xd7e8
testq %rax, %rax
jne 0x5ab5
movq 0x7d47(%rip), %rdi      # 0xd7e0
leaq 0x3a76(%rip), %rsi      # 0x9516
callq 0x3290
movq %rax, 0x7d3c(%rip)      # 0xd7e8
testq %rax, %rax
je 0x6048
movq 0x7d24(%rip), %rdi      # 0xd7e0
pushq $0x34
popq %rsi
callq 0x3140
movq %rax, 0x7d35(%rip)      # 0xd800
movq 0x7d0e(%rip), %rdi      # 0xd7e0
pushq $0x5a
popq %rsi
callq 0x3140
movq %rax, 0x7d27(%rip)      # 0xd808
movq 0x7cf8(%rip), %rdi      # 0xd7e0
callq 0x3370
movq %rax, %r14
xorl %ebp, %ebp
cmpl $0x8, %ebp
je 0x5b3e
movl %ebx, %r15d
movl %ebp, %ecx
shll %cl, %r15d
xorl %r12d, %r12d
movl (%r14), %eax
cmpl %eax, %r12d
jae 0x5b3a
movq 0x8(%r14), %rcx
imull %ebp, %eax
addl %r12d, %eax
movb (%rcx,%rax), %r13b
movq 0x7cc1(%rip), %rdi      # 0xd7e0
movl $0xff7f, %esi           # imm = 0xFF7F
callq 0x33a0
cmpb %al, %r13b
jne 0x5b35
movl %r15d, 0x7c4b(%rip)     # 0xd780
incl %r12d
jmp 0x5b02
incl %ebp
jmp 0x5af2
movq %r14, %rdi
callq 0x3080
movl $0xa, 0x38(%rsp)
movl %ebx, 0x98(%rsp)
movl %ebx, 0x58(%rsp)
movq 0x7c88(%rip), %rax      # 0xd7e8
movq 0x8(%rax), %rax
movq %rax, 0x90(%rsp)
movq $0x980010, 0x188(%rsp) # imm = 0x980010
movq 0x7c61(%rip), %rdi      # 0xd7e0
leaq 0x7c8e(%rip), %rsi      # 0xd814
leaq 0xb8(%rsp), %rdx
callq 0x3530
movl %eax, 0x7c77(%rip)      # 0xd810
movq 0x7c40(%rip), %rdi      # 0xd7e0
leaq 0x7c75(%rip), %rsi      # 0xd81c
leaq 0xb8(%rsp), %rdx
callq 0x3110
movl %eax, 0x7c5e(%rip)      # 0xd818
movq 0x7c1f(%rip), %rax      # 0xd7e0
movslq 0xe4(%rax), %rax
movl %eax, 0x7c22(%rip)      # 0xd7f0
testq %rax, %rax
js 0x5ffb
imulq $0x70, %rax, %rdi
callq 0x6073
movq %rax, 0x7c11(%rip)      # 0xd7f8
leaq 0x28(%rsp), %r12
leaq 0xb8(%rsp), %r14
xorl %r15d, %r15d
movl 0x7bf3(%rip), %eax      # 0xd7f0
cmpq %rax, %r15
jae 0x5ea2
movq 0x7bd3(%rip), %rax      # 0xd7e0
movq 0xd8(%rax), %rbp
movq %rbp, %rdi
pushq $0x3a
popq %rsi
callq 0x3260
movq %rax, %rbx
movq %rbp, %rdi
callq 0x31e0
leaq 0xe(%rax), %rdi
callq 0x6073
movq 0x7bbe(%rip), %rcx      # 0xd7f8
imulq $0x70, %r15, %r13
movq %rax, 0x60(%rcx,%r13)
movq 0x7bae(%rip), %rax      # 0xd7f8
movq 0x60(%rax,%r13), %rcx
movabsq $0x3d59414c50534944, %rdx # imm = 0x3D59414C50534944
movq %rdx, (%rcx)
movb $0x0, 0x8(%rcx)
movq 0x60(%rax,%r13), %rdi
movq %rbp, %rsi
callq 0x3640
testq %rbx, %rbx
je 0x5cc4
cmpl $0x1, 0x7b77(%rip)      # 0xd7f0
jle 0x5cc4
movq 0x7b76(%rip), %rax      # 0xd7f8
movq 0x60(%rax,%r13), %rdi
pushq $0x3a
popq %rsi
callq 0x3260
movq %rax, %rbp
movq %rax, %rdi
pushq $0x2e
popq %rsi
callq 0x3200
testq %rax, %rax
jne 0x5cad
movq %rbp, %rdi
callq 0x31e0
addq %rbp, %rax
movq %rax, %rdi
pushq $0x5
popq %rsi
leaq 0x3a5f(%rip), %rdx      # 0x9719
movl %r15d, %ecx
xorl %eax, %eax
callq 0x3240
movq 0x7b2d(%rip), %rax      # 0xd7f8
movl %r15d, (%rax,%r13)
movq 0x7b0a(%rip), %rdi      # 0xd7e0
movq 0xe8(%rdi), %rdx
movq %r15, %rbx
shlq $0x7, %rbx
movq 0x10(%rdx,%rbx), %rsi
movq %rsi, 0x8(%rax,%r13)
cmpl $0x0, 0x7b23(%rip)      # 0xd818
je 0x5d14
pushq $0x1
popq %rdx
callq 0x3680
movq 0x7af2(%rip), %rax      # 0xd7f8
movq 0x7ad3(%rip), %rdi      # 0xd7e0
movq 0xe8(%rdi), %rdx
leaq (%rax,%r13), %rcx
addq $0x20, %rcx
andl $0x0, 0x20(%rcx)
movq 0x50(%rdx,%rbx), %rsi
movq 0x78e4(%rip), %rdx      # 0xd610
movq %r12, %r8
callq 0x34f0
movq 0x7aa5(%rip), %rdi      # 0xd7e0
movq 0xe8(%rdi), %rax
movq 0x50(%rax,%rbx), %rsi
movq 0x78ca(%rip), %rdx      # 0xd618
movq 0x7aa3(%rip), %rax      # 0xd7f8
leaq (%rax,%r13), %rcx
addq $0x30, %rcx
movq %r12, %r8
callq 0x34f0
movq 0x7a74(%rip), %rdi      # 0xd7e0
movq 0xe8(%rdi), %rax
movq 0x50(%rax,%rbx), %rsi
movq 0x78a1(%rip), %rdx      # 0xd620
movq 0x7a72(%rip), %rax      # 0xd7f8
leaq (%rax,%r13), %rcx
addq $0x48, %rcx
movq %r12, %r8
callq 0x34f0
movq 0x7a43(%rip), %rdi      # 0xd7e0
movq 0x7a54(%rip), %rax      # 0xd7f8
movq 0x8(%rax,%r13), %rsi
movl $0xc011, %edx           # imm = 0xC011
leaq 0x38(%rsp), %rcx
callq 0x3520
movq 0x7a39(%rip), %rcx      # 0xd7f8
movq %rax, 0x18(%rcx,%r13)
movq 0x7a15(%rip), %rdi      # 0xd7e0
movq 0x7a26(%rip), %rax      # 0xd7f8
movq 0x8(%rax,%r13), %rsi
movl $0x800, %edx            # imm = 0x800
leaq 0x140(%rsp), %rcx
callq 0x3280
movq 0x7a08(%rip), %rdi      # 0xd7f8
addq %r13, %rdi
callq 0x7cec
movq 0x79f9(%rip), %rax      # 0xd7f8
movl $0x1, 0x68(%rax,%r13)
movq 0x79d1(%rip), %rdi      # 0xd7e0
movq 0x8(%rax,%r13), %rsi
leaq 0x20(%rsp), %rdx
leaq 0x18(%rsp), %rcx
leaq 0x8(%rsp), %r8
leaq 0x14(%rsp), %r9
callq 0x31d0
xorl %ebx, %ebx
movl 0x14(%rsp), %eax
cmpq %rax, %rbx
jae 0x5e81
movq 0x79a1(%rip), %rdi      # 0xd7e0
movq 0x8(%rsp), %rax
movq (%rax,%rbx,8), %rsi
movq %r14, %rdx
callq 0x35b0
cmpl $0x0, 0x130(%rsp)
jne 0x5e7c
cmpl $0x2, 0x114(%rsp)
jne 0x5e7c
movq 0x8(%rsp), %rax
movq (%rax,%rbx,8), %rdi
movq 0x7984(%rip), %rsi      # 0xd7f8
addq %r13, %rsi
callq 0x63e0
incq %rbx
jmp 0x5e2f
movq 0x8(%rsp), %rdi
callq 0x3210
addq 0x7966(%rip), %r13      # 0xd7f8
movq %r13, %rdi
callq 0x4ef6
incq %r15
jmp 0x5bf7
xorl %edi, %edi
callq 0x55fa
callq 0x3ed8
movq 0x78f3(%rip), %rax      # 0xd7a8
testq %rax, %rax
je 0x5ec5
movq 0x8(%rax), %rdi
callq 0x3bb0
jmp 0x5eae
movq 0x7914(%rip), %rdi      # 0xd7e0
pushq $0x1
popq %rsi
pushq $0x1
popq %rdx
xorl %ecx, %ecx
callq 0x3710
movq 0x7908(%rip), %rsi      # 0xd7e8
testq %rsi, %rsi
je 0x5ef1
movq 0x78f4(%rip), %rdi      # 0xd7e0
callq 0x30f0
pushq $0x50
popq %rbx
xorl %r14d, %r14d
xorl %r15d, %r15d
movslq 0x78ef(%rip), %rax      # 0xd7f0
movq 0x78f0(%rip), %rdi      # 0xd7f8
cmpq %rax, %r15
jge 0x5f51
addq %r14, %rdi
callq 0x52c2
movq 0x78c4(%rip), %rdi      # 0xd7e0
movq 0x78d5(%rip), %rax      # 0xd7f8
movq 0x18(%rax,%r14), %rsi
callq 0x3650
movq 0x78ac(%rip), %rdi      # 0xd7e0
movq 0xe8(%rdi), %rax
movq (%rax,%rbx), %rsi
callq 0x36d0
incq %r15
addq $0x70, %r14
subq $-0x80, %rbx
jmp 0x5efa
callq 0x3090
movq 0x7883(%rip), %rdi      # 0xd7e0
callq 0x36f0
xorl %eax, %eax
addq $0x248, %rsp            # imm = 0x248
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movslq 0x4(%rsp), %rax
movq (%rbx,%rax,8), %rbx
movb (%rbx), %bpl
cmpb $0x2d, %bpl
jne 0x5f94
cmpb $0x68, 0x1(%rbx)
jne 0x5f94
cmpb $0x0, 0x2(%rbx)
je 0x5fa7
leaq 0x3504(%rip), %rsi      # 0x949f
movq %rbx, %rdi
callq 0x3310
testl %eax, %eax
jne 0x6010
callq 0x60a6
jmp 0x6041
movq 0x7040(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movq (%rbx), %rdx
movslq 0x4(%rsp), %rax
movq (%rbx,%rax,8), %rcx
leaq 0x34b3(%rip), %rsi      # 0x9481
xorl %eax, %eax
callq 0x3330
jmp 0x6064
movq 0x7017(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movq 0x761d(%rip), %rdx      # 0xd608
leaq 0x36b5(%rip), %rsi      # 0x96a7
xorl %eax, %eax
callq 0x3330
jmp 0x6064
movq 0x6ff6(%rip), %rax      # 0xcff8
movq (%rax), %rcx
leaq 0x36ef(%rip), %rdi      # 0x96fb
pushq $0x14
jmp 0x605b
cmpb $0x2d, %bpl
jne 0x6022
cmpb $0x56, 0x1(%rbx)
jne 0x6022
cmpb $0x0, 0x2(%rbx)
je 0x6035
leaq 0x347d(%rip), %rsi      # 0x94a6
movq %rbx, %rdi
callq 0x3310
testl %eax, %eax
jne 0x606c
leaq 0x3714(%rip), %rdi      # 0x9750
callq 0x3130
xorl %edi, %edi
callq 0x3660
movq 0x6fa9(%rip), %rax      # 0xcff8
movq (%rax), %rcx
leaq 0x3665(%rip), %rdi      # 0x96be
pushq $0x3c
popq %rsi
pushq $0x1
popq %rdx
callq 0x3670
pushq $0x1
popq %rdi
callq 0x3660
callq 0x60a6
jmp 0x6064