// File: /workspace/github_c_makefile_star2_O1/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, 0x8(%rsp)
leaq 0x3770(%rip), %rdi      # 0x9471
callq 0x3070
testq %rax, %rax
je 0x5d63
movq %rax, %r14
movq %rax, %rdi
callq 0x31e0
leaq 0xc(%rax), %rdi
callq 0x643a
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 0x669d(%rip), %rdi      # 0xc3f0
movq %r15, %rsi
callq 0x8238
movq %r15, %rdi
callq 0x3090
leaq 0x6686(%rip), %rdi      # 0xc3f0
leaq 0x8(%rsp), %rcx
movl %ebp, %esi
movq %rbx, %rdx
callq 0x85b7
cmpl $0x1, %eax
je 0x63a0
cmpl $0x2, %eax
je 0x63d6
movq 0x6a2e(%rip), %rdi      # 0xc7c0
testq %rdi, %rdi
je 0x5da2
callq 0x645e
movl %eax, 0x662e(%rip)      # 0xc3d0
movq 0x6a1f(%rip), %rdi      # 0xc7c8
testq %rdi, %rdi
je 0x5db9
callq 0x645e
movl %eax, 0x661b(%rip)      # 0xc3d4
movq 0x6a10(%rip), %rdi      # 0xc7d0
testq %rdi, %rdi
je 0x5dd0
callq 0x645e
movl %eax, 0x6608(%rip)      # 0xc3d8
xorl %r14d, %r14d
movl %r14d, 0x69fe(%rip)     # 0xc7d8
leaq 0x890(%rip), %rax       # 0x6671
leaq 0x1b8(%rsp), %rbx
movq %rax, -0x8(%rbx)
movq %rbx, %rdi
callq 0x3340
movl %r14d, 0x80(%rbx)
leaq 0x1b0(%rsp), %rbx
movl $0xf, %edi
movq %rbx, %rsi
xorl %edx, %edx
callq 0x3150
movl $0x2, %edi
movq %rbx, %rsi
xorl %edx, %edx
callq 0x3150
movl $0x1, %edi
movq %rbx, %rsi
xorl %edx, %edx
callq 0x3150
movq 0x67d0(%rip), %rdi      # 0xc608
callq 0x3320
movq %rax, 0x699c(%rip)      # 0xc7e0
testq %rax, %rax
je 0x63e3
leaq 0x82b(%rip), %rdi       # 0x667f
callq 0x3410
callq 0x4e10
movq 0x697b(%rip), %rdi      # 0xc7e0
movq 0x6794(%rip), %rsi      # 0xc600
callq 0x3290
movq %rax, 0x6970(%rip)      # 0xc7e8
testq %rax, %rax
jne 0x5e97
movq 0x695c(%rip), %rdi      # 0xc7e0
leaq 0x3691(%rip), %rsi      # 0x951c
callq 0x3290
movq %rax, 0x6951(%rip)      # 0xc7e8
cmpq $0x0, 0x6949(%rip)      # 0xc7e8
je 0x63e8
movq 0x6934(%rip), %rdi      # 0xc7e0
movl $0x34, %esi
callq 0x3140
movq %rax, 0x6943(%rip)      # 0xc800
movq 0x691c(%rip), %rdi      # 0xc7e0
movl $0x5a, %esi
callq 0x3140
movq %rax, 0x6933(%rip)      # 0xc808
movq 0x6904(%rip), %rdi      # 0xc7e0
callq 0x3370
movq %rax, %rbx
xorl %ebp, %ebp
movl (%rbx), %eax
testl %eax, %eax
je 0x5f2f
movl $0x1, %r14d
movl %ebp, %ecx
shll %cl, %r14d
xorl %r15d, %r15d
movq 0x8(%rbx), %rcx
imull %ebp, %eax
addl %r15d, %eax
movb (%rcx,%rax), %r12b
movq 0x68d1(%rip), %rdi      # 0xc7e0
movl $0xff7f, %esi           # imm = 0xFF7F
callq 0x33a0
cmpb %al, %r12b
jne 0x5f25
movl %r14d, 0x685b(%rip)     # 0xc780
incl %r15d
movl (%rbx), %eax
cmpl %eax, %r15d
jb 0x5efa
incl %ebp
cmpl $0x8, %ebp
jne 0x5ee6
movq %rbx, %rdi
callq 0x3080
movl $0xa, 0x38(%rsp)
movl $0x1, %eax
movl %eax, 0x98(%rsp)
movl %eax, 0x58(%rsp)
movq 0x688b(%rip), %rax      # 0xc7e8
movq 0x8(%rax), %rax
movq %rax, 0x90(%rsp)
movq $0x980010, 0x188(%rsp) # imm = 0x980010
movq 0x6864(%rip), %rdi      # 0xc7e0
leaq 0x6891(%rip), %rsi      # 0xc814
leaq 0xb8(%rsp), %rdx
callq 0x3530
movl %eax, 0x687a(%rip)      # 0xc810
movq 0x6843(%rip), %rdi      # 0xc7e0
leaq 0x6878(%rip), %rsi      # 0xc81c
leaq 0xb8(%rsp), %rdx
callq 0x3110
movl %eax, 0x6861(%rip)      # 0xc818
movq 0x6822(%rip), %rax      # 0xc7e0
movslq 0xe4(%rax), %rax
movl %eax, 0x6825(%rip)      # 0xc7f0
testq %rax, %rax
js 0x63ed
imulq $0x70, %rax, %rdi
callq 0x643a
movq %rax, 0x6814(%rip)      # 0xc7f8
cmpl $0x0, 0x6805(%rip)      # 0xc7f0
je 0x62b8
leaq 0x28(%rsp), %r14
leaq 0xb8(%rsp), %r12
xorl %r13d, %r13d
movq 0x67d8(%rip), %rax      # 0xc7e0
movq 0xd8(%rax), %rbx
movq %rbx, %rdi
movl $0x3a, %esi
callq 0x3260
movq %rax, %r15
movq %rbx, %rdi
callq 0x31e0
leaq 0xe(%rax), %rdi
callq 0x643a
movq 0x67c1(%rip), %rcx      # 0xc7f8
imulq $0x70, %r13, %rbp
movq %rax, 0x60(%rcx,%rbp)
movq 0x67b1(%rip), %rax      # 0xc7f8
movq 0x60(%rax,%rbp), %rcx
movabsq $0x3d59414c50534944, %rdx # imm = 0x3D59414C50534944
movq %rdx, (%rcx)
movb $0x0, 0x8(%rcx)
movq 0x60(%rax,%rbp), %rdi
movq %rbx, %rsi
callq 0x3640
testq %r15, %r15
je 0x60c7
cmpl $0x2, 0x677a(%rip)      # 0xc7f0
jl 0x60c7
movq 0x6779(%rip), %rax      # 0xc7f8
movq 0x60(%rax,%rbp), %rdi
movl $0x3a, %esi
callq 0x3260
movq %rax, %rbx
movq %rax, %rdi
movl $0x2e, %esi
callq 0x3200
testq %rax, %rax
jne 0x60ae
movq %rbx, %rdi
callq 0x31e0
addq %rbx, %rax
movl $0x5, %esi
movq %rax, %rdi
leaq 0x3662(%rip), %rdx      # 0x971f
movl %r13d, %ecx
xorl %eax, %eax
callq 0x3240
movq 0x672a(%rip), %rax      # 0xc7f8
movl %r13d, (%rax,%rbp)
movq 0x6707(%rip), %rdi      # 0xc7e0
movq 0xe8(%rdi), %rcx
movq %r13, %rbx
shlq $0x7, %rbx
movq 0x10(%rcx,%rbx), %rsi
movq %rsi, 0x8(%rax,%rbp)
cmpl $0x0, 0x6720(%rip)      # 0xc818
je 0x6104
movl $0x1, %edx
callq 0x3680
movq 0x66ed(%rip), %rax      # 0xc7f8
leaq (%rax,%rbp), %rcx
addq $0x20, %rcx
movl $0x0, 0x20(%rcx)
movq 0x66bf(%rip), %rdi      # 0xc7e0
movq 0xe8(%rdi), %rax
movq 0x50(%rax,%rbx), %rsi
movq 0x64dc(%rip), %rdx      # 0xc610
movq %r14, %r8
callq 0x34f0
movq 0x669d(%rip), %rdi      # 0xc7e0
movq 0xe8(%rdi), %rax
movq 0x50(%rax,%rbx), %rsi
movq 0x64c2(%rip), %rdx      # 0xc618
movq 0x669b(%rip), %rax      # 0xc7f8
leaq (%rax,%rbp), %rcx
addq $0x30, %rcx
movq %r14, %r8
callq 0x34f0
movq 0x666c(%rip), %rdi      # 0xc7e0
movq 0xe8(%rdi), %rax
movq 0x50(%rax,%rbx), %rsi
movq 0x6499(%rip), %rdx      # 0xc620
movq 0x666a(%rip), %rax      # 0xc7f8
leaq (%rax,%rbp), %rcx
addq $0x48, %rcx
movq %r14, %r8
callq 0x34f0
movq 0x663b(%rip), %rdi      # 0xc7e0
movq 0x664c(%rip), %rax      # 0xc7f8
movq 0x8(%rax,%rbp), %rsi
movl $0xc011, %edx           # imm = 0xC011
leaq 0x38(%rsp), %rcx
callq 0x3520
movq 0x6631(%rip), %rcx      # 0xc7f8
movq %rax, 0x18(%rcx,%rbp)
movq 0x660d(%rip), %rdi      # 0xc7e0
movq 0x661e(%rip), %rax      # 0xc7f8
movq 0x8(%rax,%rbp), %rsi
movl $0x800, %edx            # imm = 0x800
leaq 0x140(%rsp), %rcx
callq 0x3280
movq 0x6600(%rip), %rdi      # 0xc7f8
addq %rbp, %rdi
callq 0x80c4
movq 0x65f1(%rip), %rax      # 0xc7f8
movl $0x1, 0x68(%rax,%rbp)
movq 0x65ca(%rip), %rdi      # 0xc7e0
movq 0x8(%rax,%rbp), %rsi
leaq 0x20(%rsp), %rdx
leaq 0x18(%rsp), %rcx
leaq 0x10(%rsp), %r8
leaq 0xc(%rsp), %r9
callq 0x31d0
cmpl $0x0, 0xc(%rsp)
je 0x628d
xorl %ebx, %ebx
movq 0x659c(%rip), %rdi      # 0xc7e0
movq 0x10(%rsp), %rax
movq (%rax,%rbx,8), %rsi
movq %r12, %rdx
callq 0x35b0
cmpl $0x0, 0x130(%rsp)
jne 0x6281
cmpl $0x2, 0x114(%rsp)
jne 0x6281
movq 0x10(%rsp), %rax
movq (%rax,%rbx,8), %rdi
movq 0x657f(%rip), %rsi      # 0xc7f8
addq %rbp, %rsi
callq 0x677c
incq %rbx
movl 0xc(%rsp), %eax
cmpq %rax, %rbx
jb 0x623d
movq 0x10(%rsp), %rdi
callq 0x3210
addq 0x655a(%rip), %rbp      # 0xc7f8
movq %rbp, %rdi
callq 0x51f2
incq %r13
movl 0x6541(%rip), %eax      # 0xc7f0
cmpq %rax, %r13
jb 0x6001
xorl %edi, %edi
callq 0x5934
callq 0x4104
movq 0x64dd(%rip), %rax      # 0xc7a8
testq %rax, %rax
je 0x62db
movq 0x8(%rax), %rdi
callq 0x3da2
jmp 0x62c4
movq 0x64fe(%rip), %rdi      # 0xc7e0
movl $0x1, %esi
movl $0x1, %edx
xorl %ecx, %ecx
callq 0x3710
movq 0x64ee(%rip), %rsi      # 0xc7e8
testq %rsi, %rsi
je 0x630b
movq 0x64da(%rip), %rdi      # 0xc7e0
callq 0x30f0
cmpl $0x0, 0x64de(%rip)      # 0xc7f0
jle 0x6374
movl $0x50, %ebx
xorl %r14d, %r14d
xorl %r15d, %r15d
movq 0x64d2(%rip), %rdi      # 0xc7f8
addq %r14, %rdi
callq 0x55ec
movq 0x64ab(%rip), %rdi      # 0xc7e0
movq 0x64bc(%rip), %rax      # 0xc7f8
movq 0x18(%rax,%r14), %rsi
callq 0x3650
movq 0x6493(%rip), %rdi      # 0xc7e0
movq 0xe8(%rdi), %rax
movq (%rax,%rbx), %rsi
callq 0x36d0
incq %r15
movslq 0x6489(%rip), %rax      # 0xc7f0
addq $0x70, %r14
subq $-0x80, %rbx
cmpq %rax, %r15
jl 0x631f
movq 0x647d(%rip), %rdi      # 0xc7f8
callq 0x3090
movq 0x6459(%rip), %rdi      # 0xc7e0
callq 0x36f0
xorl %eax, %eax
addq $0x248, %rsp            # imm = 0x248
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movslq 0x8(%rsp), %rax
movq (%rbx,%rax,8), %rbx
leaq 0x30ef(%rip), %rsi      # 0x949f
movq %rbx, %rdi
callq 0x3310
testl %eax, %eax
je 0x63cf
leaq 0x30df(%rip), %rsi      # 0x94a2
movq %rbx, %rdi
callq 0x3310
testl %eax, %eax
jne 0x63f2
callq 0x6452
jmp 0x6424
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x37a2
callq 0x381a
callq 0x37f5
callq 0x37d0
leaq 0x30b0(%rip), %rsi      # 0x94a9
movq %rbx, %rdi
callq 0x3310
testl %eax, %eax
je 0x6418
leaq 0x30a0(%rip), %rsi      # 0x94ac
movq %rbx, %rdi
callq 0x3310
testl %eax, %eax
jne 0x642b
leaq 0x3337(%rip), %rdi      # 0x9756
callq 0x3130
xorl %edi, %edi
callq 0x3660
callq 0x6452
movl $0x1, %edi
callq 0x3660