// File: /workspace/github_c_makefile_star2_O3/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 0x37c4(%rip), %rdi      # 0x9471
callq 0x3070
testq %rax, %rax
je 0x5d0f
movq %rax, %r14
movq %rax, %rdi
callq 0x31e0
leaq 0xc(%rax), %rdi
callq 0x63f6
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 0x66f1(%rip), %rdi      # 0xc3f0
movq %r15, %rsi
callq 0x823c
movq %r15, %rdi
callq 0x3090
leaq 0x66da(%rip), %rdi      # 0xc3f0
leaq 0x8(%rsp), %rcx
movl %ebp, %esi
movq %rbx, %rdx
callq 0x85b1
cmpl $0x1, %eax
je 0x6350
cmpl $0x2, %eax
je 0x638b
movq 0x6a82(%rip), %rdi      # 0xc7c0
testq %rdi, %rdi
je 0x5d4e
callq 0x641a
movl %eax, 0x6682(%rip)      # 0xc3d0
movq 0x6a73(%rip), %rdi      # 0xc7c8
testq %rdi, %rdi
je 0x5d65
callq 0x641a
movl %eax, 0x666f(%rip)      # 0xc3d4
movq 0x6a64(%rip), %rdi      # 0xc7d0
testq %rdi, %rdi
je 0x5d7c
callq 0x641a
movl %eax, 0x665c(%rip)      # 0xc3d8
xorl %r14d, %r14d
movl %r14d, 0x6a52(%rip)     # 0xc7d8
leaq 0x8a0(%rip), %rax       # 0x662d
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 0x6824(%rip), %rdi      # 0xc608
callq 0x3320
movq %rax, 0x69f0(%rip)      # 0xc7e0
testq %rax, %rax
je 0x6398
leaq 0x83b(%rip), %rdi       # 0x663b
callq 0x3410
callq 0x4dc4
movq 0x69cf(%rip), %rdi      # 0xc7e0
movq 0x67e8(%rip), %rsi      # 0xc600
callq 0x3290
movq %rax, 0x69c4(%rip)      # 0xc7e8
testq %rax, %rax
jne 0x5e4c
movq 0x69b0(%rip), %rdi      # 0xc7e0
leaq 0x36df(%rip), %rsi      # 0x9516
callq 0x3290
movq %rax, 0x69a5(%rip)      # 0xc7e8
testq %rax, %rax
je 0x63e2
movq 0x698d(%rip), %rdi      # 0xc7e0
movl $0x34, %esi
callq 0x3140
movq %rax, 0x699c(%rip)      # 0xc800
movq 0x6975(%rip), %rdi      # 0xc7e0
movl $0x5a, %esi
callq 0x3140
movq %rax, 0x698c(%rip)      # 0xc808
movq 0x695d(%rip), %rdi      # 0xc7e0
callq 0x3370
movq %rax, %rbx
movl (%rax), %edx
xorl %ebp, %ebp
movl $0x0, %eax
testl %edx, %edx
je 0x5edd
movl $0x1, %r14d
movl %ebp, %ecx
shll %cl, %r14d
xorl %r15d, %r15d
movl %edx, %eax
movq 0x8(%rbx), %rcx
imull %ebp, %eax
addl %r15d, %eax
movb (%rcx,%rax), %r12b
movq 0x6923(%rip), %rdi      # 0xc7e0
movl $0xff7f, %esi           # imm = 0xFF7F
callq 0x33a0
cmpb %al, %r12b
jne 0x5ed3
movl %r14d, 0x68ad(%rip)     # 0xc780
incl %r15d
movl (%rbx), %eax
cmpl %eax, %r15d
jb 0x5ea8
incl %ebp
movl %eax, %edx
cmpl $0x8, %ebp
jne 0x5e8f
movq %rbx, %rdi
callq 0x3080
movl $0xa, 0x38(%rsp)
movl $0x1, %eax
movl %eax, 0x98(%rsp)
movl %eax, 0x58(%rsp)
movq 0x68db(%rip), %rax      # 0xc7e8
movq 0x8(%rax), %rax
movq %rax, 0x90(%rsp)
movq $0x980010, 0x188(%rsp) # imm = 0x980010
movq 0x68b4(%rip), %rdi      # 0xc7e0
leaq 0x68e1(%rip), %rsi      # 0xc814
leaq 0xb8(%rsp), %rdx
callq 0x3530
movl %eax, 0x68ca(%rip)      # 0xc810
movq 0x6893(%rip), %rdi      # 0xc7e0
leaq 0x68c8(%rip), %rsi      # 0xc81c
leaq 0xb8(%rsp), %rdx
callq 0x3110
movl %eax, 0x68b1(%rip)      # 0xc818
movq 0x6872(%rip), %rax      # 0xc7e0
movslq 0xe4(%rax), %rax
movl %eax, 0x6875(%rip)      # 0xc7f0
testq %rax, %rax
js 0x639d
imulq $0x70, %rax, %rdi
callq 0x63f6
movq %rax, 0x6864(%rip)      # 0xc7f8
cmpl $0x0, 0x6855(%rip)      # 0xc7f0
je 0x6268
leaq 0x28(%rsp), %r14
leaq 0xb8(%rsp), %r12
xorl %r13d, %r13d
movq 0x6828(%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 0x63f6
movq 0x6811(%rip), %rcx      # 0xc7f8
imulq $0x70, %r13, %rbp
movq %rax, 0x60(%rcx,%rbp)
movq 0x6801(%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 0x6077
cmpl $0x1, 0x67ca(%rip)      # 0xc7f0
jle 0x6077
movq 0x67c9(%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 0x605e
movq %rbx, %rdi
callq 0x31e0
addq %rbx, %rax
movl $0x5, %esi
movq %rax, %rdi
leaq 0x36ac(%rip), %rdx      # 0x9719
movl %r13d, %ecx
xorl %eax, %eax
callq 0x3240
movq 0x677a(%rip), %rax      # 0xc7f8
movl %r13d, (%rax,%rbp)
movq 0x6757(%rip), %rdi      # 0xc7e0
movq 0xe8(%rdi), %rdx
movq %r13, %rbx
shlq $0x7, %rbx
movq 0x10(%rdx,%rbx), %rsi
movq %rsi, 0x8(%rax,%rbp)
cmpl $0x0, 0x6770(%rip)      # 0xc818
je 0x60c9
movl $0x1, %edx
callq 0x3680
movq 0x673d(%rip), %rax      # 0xc7f8
movq 0x671e(%rip), %rdi      # 0xc7e0
movq 0xe8(%rdi), %rdx
leaq (%rax,%rbp), %rcx
addq $0x20, %rcx
movl $0x0, 0x20(%rcx)
movq 0x50(%rdx,%rbx), %rsi
movq 0x652c(%rip), %rdx      # 0xc610
movq %r14, %r8
callq 0x34f0
movq 0x66ed(%rip), %rdi      # 0xc7e0
movq 0xe8(%rdi), %rax
movq 0x50(%rax,%rbx), %rsi
movq 0x6512(%rip), %rdx      # 0xc618
movq 0x66eb(%rip), %rax      # 0xc7f8
leaq (%rax,%rbp), %rcx
addq $0x30, %rcx
movq %r14, %r8
callq 0x34f0
movq 0x66bc(%rip), %rdi      # 0xc7e0
movq 0xe8(%rdi), %rax
movq 0x50(%rax,%rbx), %rsi
movq 0x64e9(%rip), %rdx      # 0xc620
movq 0x66ba(%rip), %rax      # 0xc7f8
leaq (%rax,%rbp), %rcx
addq $0x48, %rcx
movq %r14, %r8
callq 0x34f0
movq 0x668b(%rip), %rdi      # 0xc7e0
movq 0x669c(%rip), %rax      # 0xc7f8
movq 0x8(%rax,%rbp), %rsi
movl $0xc011, %edx           # imm = 0xC011
leaq 0x38(%rsp), %rcx
callq 0x3520
movq 0x6681(%rip), %rcx      # 0xc7f8
movq %rax, 0x18(%rcx,%rbp)
movq 0x665d(%rip), %rdi      # 0xc7e0
movq 0x666e(%rip), %rax      # 0xc7f8
movq 0x8(%rax,%rbp), %rsi
movl $0x800, %edx            # imm = 0x800
leaq 0x140(%rsp), %rcx
callq 0x3280
movq 0x6650(%rip), %rdi      # 0xc7f8
addq %rbp, %rdi
callq 0x80c6
movq 0x6641(%rip), %rax      # 0xc7f8
movl $0x1, 0x68(%rax,%rbp)
movq 0x661a(%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 0x623d
xorl %ebx, %ebx
movq 0x65ec(%rip), %rdi      # 0xc7e0
movq 0x10(%rsp), %rax
movq (%rax,%rbx,8), %rsi
movq %r12, %rdx
callq 0x35b0
cmpl $0x0, 0x130(%rsp)
jne 0x6231
cmpl $0x2, 0x114(%rsp)
jne 0x6231
movq 0x10(%rsp), %rax
movq (%rax,%rbx,8), %rdi
movq 0x65cf(%rip), %rsi      # 0xc7f8
addq %rbp, %rsi
callq 0x6738
incq %rbx
movl 0xc(%rsp), %eax
cmpq %rax, %rbx
jb 0x61ed
movq 0x10(%rsp), %rdi
callq 0x3210
addq 0x65aa(%rip), %rbp      # 0xc7f8
movq %rbp, %rdi
callq 0x51a6
incq %r13
movl 0x6591(%rip), %eax      # 0xc7f0
cmpq %rax, %r13
jb 0x5fb1
xorl %edi, %edi
callq 0x58e8
callq 0x40d0
movq 0x652d(%rip), %rax      # 0xc7a8
testq %rax, %rax
je 0x628b
movq 0x8(%rax), %rdi
callq 0x3d73
jmp 0x6274
movq 0x654e(%rip), %rdi      # 0xc7e0
movl $0x1, %esi
movl $0x1, %edx
xorl %ecx, %ecx
callq 0x3710
movq 0x653e(%rip), %rsi      # 0xc7e8
testq %rsi, %rsi
je 0x62bb
movq 0x652a(%rip), %rdi      # 0xc7e0
callq 0x30f0
cmpl $0x0, 0x652e(%rip)      # 0xc7f0
jle 0x6324
movl $0x50, %ebx
xorl %r14d, %r14d
xorl %r15d, %r15d
movq 0x6522(%rip), %rdi      # 0xc7f8
addq %r14, %rdi
callq 0x55a0
movq 0x64fb(%rip), %rdi      # 0xc7e0
movq 0x650c(%rip), %rax      # 0xc7f8
movq 0x18(%rax,%r14), %rsi
callq 0x3650
movq 0x64e3(%rip), %rdi      # 0xc7e0
movq 0xe8(%rdi), %rax
movq (%rax,%rbx), %rsi
callq 0x36d0
incq %r15
movslq 0x64d9(%rip), %rax      # 0xc7f0
addq $0x70, %r14
subq $-0x80, %rbx
cmpq %rax, %r15
jl 0x62cf
movq 0x64cd(%rip), %rdi      # 0xc7f8
callq 0x3090
movq 0x64a9(%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
cmpb $0x2d, (%rbx)
jne 0x63a2
cmpb $0x68, 0x1(%rbx)
jne 0x636a
cmpb $0x0, 0x2(%rbx)
je 0x63b5
leaq 0x312e(%rip), %rsi      # 0x949f
movq %rbx, %rdi
callq 0x3310
testl %eax, %eax
je 0x63b5
cmpb $0x56, 0x1(%rbx)
jne 0x63bc
cmpb $0x0, 0x2(%rbx)
je 0x63cf
jmp 0x63bc
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x37a2
callq 0x381a
callq 0x37d0
leaq 0x30f6(%rip), %rsi      # 0x949f
movq %rbx, %rdi
callq 0x3310
testl %eax, %eax
jne 0x63bc
callq 0x640e
jmp 0x63db
leaq 0x30e3(%rip), %rsi      # 0x94a6
movq %rbx, %rdi
callq 0x3310
testl %eax, %eax
jne 0x63e7
leaq 0x337a(%rip), %rdi      # 0x9750
callq 0x3130
xorl %edi, %edi
callq 0x3660
callq 0x37f5
callq 0x640e
movl $0x1, %edi
callq 0x3660