LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./menubox.c
// Function: menubox_free
void menubox_free(Menubox *mb)
{
	for (uint i = 0; i < mb->box_count; i++)
		textbox_free(mb->boxes[i]);
	free(mb->boxes);
	free(mb->ids);
	free(mb->show);
	textbox_free(mb->input);
	XDestroyWindow(display, mb->window);
	free(mb);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x50(%rcx), %eax
jae 0x590e
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl -0xc(%rbp), %ecx
movq (%rax,%rcx,8), %rdi
callq 0x4430
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x58e3
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rdi
callq 0x3220
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rdi
callq 0x3220
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rdi
callq 0x3220
movq -0x8(%rbp), %rax
movq 0x70(%rax), %rdi
callq 0x4430
movq 0xe257(%rip), %rdi      # 0x13ba0
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x3280
movq -0x8(%rbp), %rdi
callq 0x3220
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./menubox.c
// Function: menubox_keypress
int menubox_keypress(Menubox *mb, XEvent *ev)
{
	KeySym key; Status stat; char pad[32];

	int len = XmbLookupString(mb->input->xic, &ev->xkey, pad, sizeof(pad), &key, &stat);
	pad[len] = 0;

	int rc = 0;

	switch (key)
	{
		case XK_Up     : { menubox_key_up(mb);   rc = 1; break; }
		case XK_Down   : { menubox_key_down(mb); rc = 1; break; }
		case XK_Escape : { rc = -2; break; }
		case XK_Return : { rc = -1; break; }
		default: rc = textbox_keypress(mb->input, ev);
	}

	menubox_filter(mb);
	return rc;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x70(%rax), %rax
movq 0x68(%rax), %rdi
movq -0x10(%rbp), %rsi
leaq -0x40(%rbp), %rdx
movl $0x20, %ecx
leaq -0x18(%rbp), %r8
leaq -0x1c(%rbp), %r9
callq 0x34f0
movl %eax, -0x44(%rbp)
movslq -0x44(%rbp), %rax
movb $0x0, -0x40(%rbp,%rax)
movl $0x0, -0x48(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
subq $0xff0d, %rax           # imm = 0xFF0D
je 0x5c52
jmp 0x5bfb
movq -0x50(%rbp), %rax
subq $0xff1b, %rax           # imm = 0xFF1B
je 0x5c49
jmp 0x5c09
movq -0x50(%rbp), %rax
subq $0xff52, %rax           # imm = 0xFF52
je 0x5c25
jmp 0x5c17
movq -0x50(%rbp), %rax
subq $0xff54, %rax           # imm = 0xFF54
je 0x5c37
jmp 0x5c5b
movq -0x8(%rbp), %rdi
callq 0x5b40
movl $0x1, -0x48(%rbp)
jmp 0x5c6f
movq -0x8(%rbp), %rdi
callq 0x5b70
movl $0x1, -0x48(%rbp)
jmp 0x5c6f
movl $0xfffffffe, -0x48(%rbp) # imm = 0xFFFFFFFE
jmp 0x5c6f
movl $0xffffffff, -0x48(%rbp) # imm = 0xFFFFFFFF
jmp 0x5c6f
movq -0x8(%rbp), %rax
movq 0x70(%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x4d40
movl %eax, -0x48(%rbp)
movq -0x8(%rbp), %rdi
callq 0x5970
movl -0x48(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./action.c
// Function: action_move_direction
void action_move_direction(void *data, int num, Client *cli)
{
	if (!cli) return;
	client_place_spot(cli, spot_choose_by_direction(cli->spot, cli->monitor, num), cli->monitor, 1);
	client_raise_family(cli);
	current_spot = cli->spot; current_mon = cli->monitor;
	spot_warp_pointer(cli->spot, cli->monitor);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x5d0f
jmp 0x5d9c
movq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0x118(%rax), %rax
movl %eax, %edi
movq -0x18(%rbp), %rax
movswl 0x100(%rax), %esi
movl -0xc(%rbp), %edx
callq 0xac20
movq -0x20(%rbp), %rdi
movl %eax, %esi
movq -0x18(%rbp), %rax
movswl 0x100(%rax), %edx
movl $0x1, %ecx
callq 0x8c50
movq -0x18(%rbp), %rdi
callq 0x97c0
movq -0x18(%rbp), %rax
movq 0x118(%rax), %rax
movw %ax, 0xe4cb(%rip)       # 0x14238
movq -0x18(%rbp), %rax
movw 0x100(%rax), %ax
movw %ax, 0xe4bb(%rip)       # 0x1423a
movq -0x18(%rbp), %rax
movq 0x118(%rax), %rax
movl %eax, %edi
movq -0x18(%rbp), %rax
movswl 0x100(%rax), %esi
callq 0xa790
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./action.c
// Function: action_raise_nth
void action_raise_nth(void *data, int num, Client *cli)
{
	if (!cli) return;
	int i, n = 0; Client *c;
	for_windows(i, c) if (c->manage && c->spot == cli->spot && c->monitor == cli->monitor && num == n++)
		{ client_activate(c); break; }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x5dcf
jmp 0x5e7f
movl $0x0, -0x20(%rbp)
callq 0x7380
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movswl 0xdfa4(%rip), %ecx      # 0x13d90
cmpl %ecx, %eax
jge 0x5e7f
movslq -0x1c(%rbp), %rcx
leaq 0xdf91(%rip), %rax      # 0x13d90
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
je 0x5e6f
movq -0x28(%rbp), %rax
movswl 0x104(%rax), %eax
cmpl $0x0, %eax
je 0x5e6d
movq -0x28(%rbp), %rax
movq 0x118(%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0x118(%rcx), %rax
jne 0x5e6d
movq -0x28(%rbp), %rax
movswl 0x100(%rax), %eax
movq -0x18(%rbp), %rcx
movswl 0x100(%rcx), %ecx
cmpl %ecx, %eax
jne 0x5e6d
movl -0xc(%rbp), %eax
movl -0x20(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x20(%rbp)
cmpl %ecx, %eax
jne 0x5e6d
movq -0x28(%rbp), %rdi
callq 0x9b80
jmp 0x5e7f
jmp 0x5e6f
jmp 0x5e71
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x5de2
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./action.c
// Function: action_cycle
void action_cycle(void *data, int num, Client *cli)
{
	if (!cli) return;
	STACK_INIT(order);
	if (spot_stack_clients(cli->spot, cli->monitor, &order) > 1)
	{
		int i; Client *c = NULL;
		for_stack_rev(&order, i, c) if (c->manage && c->transient == None && c->window != cli->window)
		{
			client_activate(c);
			break;
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x430, %rsp            # imm = 0x430
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x5eb2
jmp 0x5f8e
leaq -0x420(%rbp), %rdi
xorl %esi, %esi
movl $0x408, %edx            # imm = 0x408
callq 0x3070
movq -0x18(%rbp), %rax
movq 0x118(%rax), %rax
movl %eax, %edi
movq -0x18(%rbp), %rax
movswl 0x100(%rax), %esi
leaq -0x420(%rbp), %rdx
callq 0xae00
cmpl $0x1, %eax
jle 0x5f8e
movq $0x0, -0x430(%rbp)
movswl -0x420(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x424(%rbp)
cmpl $-0x1, -0x424(%rbp)
jle 0x5f8c
movslq -0x424(%rbp), %rax
movq -0x418(%rbp,%rax,8), %rax
movq %rax, -0x430(%rbp)
cmpq $0x0, %rax
je 0x5f79
movq -0x430(%rbp), %rax
movswl 0x104(%rax), %eax
cmpl $0x0, %eax
je 0x5f77
movq -0x430(%rbp), %rax
cmpq $0x0, 0x90(%rax)
jne 0x5f77
movq -0x430(%rbp), %rax
movq (%rax), %rax
movq -0x18(%rbp), %rcx
cmpq (%rcx), %rax
je 0x5f77
movq -0x430(%rbp), %rdi
callq 0x9b80
jmp 0x5f8c
jmp 0x5f79
jmp 0x5f7b
movl -0x424(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x424(%rbp)
jmp 0x5f0d
jmp 0x5f8e
addq $0x430, %rsp            # imm = 0x430
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./action.c
// Function: action_fullscreen
void action_fullscreen(void *data, int num, Client *cli)
{
	if (!cli) return;

	unsigned long spot;
	if (cli->full && GETPROP_LONG(cli->window, atoms[XOAT_SPOT], &spot, 1))
		cli->spot = spot;

	SETPROP_LONG(cli->window, atoms[XOAT_SPOT], &cli->spot, 1);
	client_toggle_state(cli, atoms[_NET_WM_STATE_FULLSCREEN]);
	client_place_spot(cli, cli->full ? SPOT1: cli->spot, cli->monitor, 1);
	client_update_border(cli);
	client_raise_family(cli);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x603f
jmp 0x615c
movq -0x18(%rbp), %rax
movswl 0x10a(%rax), %eax
cmpl $0x0, %eax
je 0x60ab
movq -0x18(%rbp), %rax
movq (%rax), %rdi
movq 0xdc33(%rip), %rsi      # 0x13c90
leaq 0xe13c(%rip), %rdx      # 0x141a0
leaq 0xe13d(%rip), %rcx      # 0x141a8
leaq -0x20(%rbp), %r8
movl $0x8, %r9d
callq 0x6ef0
cmpl $0x0, %eax
je 0x6094
cmpq $0x6, 0xe119(%rip)      # 0x141a0
jne 0x6094
cmpl $0x0, 0xe118(%rip)      # 0x141a8
jne 0x609c
jmp 0x60ab
xorl %eax, %eax
testb $0x1, %al
jne 0x609c
jmp 0x60ab
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x118(%rax)
movq 0xdaee(%rip), %rdi      # 0x13ba0
movq -0x18(%rbp), %rax
movq (%rax), %rsi
movq 0xdbd0(%rip), %rdx      # 0x13c90
movq -0x18(%rbp), %rax
addq $0x118, %rax            # imm = 0x118
movl $0x6, %ecx
movl $0x20, %r8d
xorl %r9d, %r9d
movq %rax, (%rsp)
movl $0x1, 0x8(%rsp)
callq 0x35d0
movq -0x18(%rbp), %rdi
movq 0xdc44(%rip), %rsi      # 0x13d38
callq 0x88d0
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
movswl 0x10a(%rax), %eax
cmpl $0x0, %eax
je 0x611c
movl $0x1, %eax
movq %rax, -0x30(%rbp)
jmp 0x612b
movq -0x18(%rbp), %rax
movq 0x118(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rdi
movq -0x30(%rbp), %rax
movl %eax, %esi
movq -0x18(%rbp), %rax
movswl 0x100(%rax), %edx
movl $0x1, %ecx
callq 0x8c50
movq -0x18(%rbp), %rdi
callq 0x8a30
movq -0x18(%rbp), %rdi
callq 0x97c0
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./action.c
// Function: action_maximize
void action_maximize(void *data, int num, Client *cli)
{
	if (!cli) return;
	cli->max = !cli->max;
	SETPROP_LONG(cli->window, atoms[XOAT_MAXIMIZE], &cli->max, 1);
	client_place_spot(cli, cli->spot, cli->monitor, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x626f
jmp 0x62f7
movq -0x18(%rbp), %rax
cmpq $0x0, 0x120(%rax)
setne %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
movslq %eax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x120(%rax)
movq 0xd906(%rip), %rdi      # 0x13ba0
movq -0x18(%rbp), %rax
movq (%rax), %rsi
movq 0xda00(%rip), %rdx      # 0x13ca8
movq -0x18(%rbp), %rax
addq $0x120, %rax            # imm = 0x120
movl $0x6, %ecx
movl $0x20, %r8d
xorl %r9d, %r9d
movq %rax, (%rsp)
movl $0x1, 0x8(%rsp)
callq 0x35d0
movq -0x18(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x118(%rax), %rax
movl %eax, %esi
movq -0x18(%rbp), %rax
movswl 0x100(%rax), %edx
movl $0x1, %ecx
callq 0x8c50
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/xoat.c
// Function: exec_cmd
void exec_cmd(char *cmd)
{
	signal(SIGCHLD, catch_exit);
	if (!cmd || !cmd[0] || fork()) return;
	setsid();
	EXECSH(cmd);
	exit(EXIT_FAILURE);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl $0x11, %edi
leaq -0x48(%rip), %rsi       # 0x63a0
callq 0x3380
cmpq $0x0, -0x8(%rbp)
je 0x6407
movq -0x8(%rbp), %rax
cmpb $0x0, (%rax)
je 0x6407
callq 0x3610
cmpl $0x0, %eax
je 0x640d
addq $0x10, %rsp
popq %rbp
retq
callq 0x3090
movq -0x8(%rbp), %rcx
leaq 0x8e97(%rip), %rdi      # 0xf2b4
leaq 0x8e95(%rip), %rsi      # 0xf2b9
leaq 0x8e91(%rip), %rdx      # 0xf2bc
xorl %eax, %eax
movl %eax, %r8d
movb $0x0, %al
callq 0x3190
movl $0x1, %edi
callq 0x3100
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./window.c
// Function: window_get_prop
int window_get_prop(Window w, Atom prop, Atom *type, int *items, void *buffer, int bytes)
{
	memset(buffer, 0, bytes);
	int format; unsigned long nitems, nbytes; unsigned char *ret = NULL;
	if (XGetWindowProperty(display, w, prop, 0, bytes/4, False, AnyPropertyType, type,
		&format, &nitems, &nbytes, &ret) == Success && ret && *type != None && format)
	{
		if (format ==  8) memmove(buffer, ret, MIN(bytes, nitems));
		if (format == 16) memmove(buffer, ret, MIN(bytes, nitems * sizeof(short)));
		if (format == 32) memmove(buffer, ret, MIN(bytes, nitems * sizeof(long)));
		*items = (int)nitems; XFree(ret);
		return 1;
	}
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0xd0, %rsp
movq %rdi, -0x20(%rbp)
movq %rsi, -0x28(%rbp)
movq %rdx, -0x30(%rbp)
movq %rcx, -0x38(%rbp)
movq %r8, -0x40(%rbp)
movl %r9d, -0x44(%rbp)
movq -0x40(%rbp), %rdi
movslq -0x44(%rbp), %rdx
xorl %esi, %esi
callq 0x3070
movq $0x0, -0x60(%rbp)
movq 0xcc6c(%rip), %rdi      # 0x13ba0
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rax
movq %rax, -0x68(%rbp)
movl -0x44(%rbp), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movq -0x68(%rbp), %rdx
movslq %eax, %r8
movq -0x30(%rbp), %r14
xorl %eax, %eax
movl %eax, %ecx
xorl %r9d, %r9d
leaq -0x48(%rbp), %rbx
leaq -0x50(%rbp), %r11
leaq -0x58(%rbp), %r10
leaq -0x60(%rbp), %rax
movq $0x0, (%rsp)
movq %r14, 0x8(%rsp)
movq %rbx, 0x10(%rsp)
movq %r11, 0x18(%rsp)
movq %r10, 0x20(%rsp)
movq %rax, 0x28(%rsp)
callq 0x3120
cmpl $0x0, %eax
jne 0x70e4
cmpq $0x0, -0x60(%rbp)
je 0x70e4
movq -0x30(%rbp), %rax
cmpq $0x0, (%rax)
je 0x70e4
cmpl $0x0, -0x48(%rbp)
je 0x70e4
cmpl $0x8, -0x48(%rbp)
jne 0x7002
movq -0x40(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
movslq -0x44(%rbp), %rax
cmpq -0x50(%rbp), %rax
jae 0x6fe9
movslq -0x44(%rbp), %rax
movq %rax, -0x80(%rbp)
jmp 0x6ff1
movq -0x50(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x70(%rbp), %rsi
movq -0x78(%rbp), %rdi
movq -0x80(%rbp), %rdx
callq 0x33a0
cmpl $0x10, -0x48(%rbp)
jne 0x7063
movq -0x40(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x88(%rbp)
movslq -0x44(%rbp), %rax
movq -0x50(%rbp), %rcx
shlq %rcx
cmpq %rcx, %rax
jae 0x703b
movslq -0x44(%rbp), %rax
movq %rax, -0x98(%rbp)
jmp 0x7049
movq -0x50(%rbp), %rax
shlq %rax
movq %rax, -0x98(%rbp)
movq -0x88(%rbp), %rsi
movq -0x90(%rbp), %rdi
movq -0x98(%rbp), %rdx
callq 0x33a0
cmpl $0x20, -0x48(%rbp)
jne 0x70c6
movq -0x40(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0xa0(%rbp)
movslq -0x44(%rbp), %rax
movq -0x50(%rbp), %rcx
shlq $0x3, %rcx
cmpq %rcx, %rax
jae 0x709d
movslq -0x44(%rbp), %rax
movq %rax, -0xb0(%rbp)
jmp 0x70ac
movq -0x50(%rbp), %rax
shlq $0x3, %rax
movq %rax, -0xb0(%rbp)
movq -0xa0(%rbp), %rsi
movq -0xa8(%rbp), %rdi
movq -0xb0(%rbp), %rdx
callq 0x33a0
movq -0x50(%rbp), %rax
movl %eax, %ecx
movq -0x38(%rbp), %rax
movl %ecx, (%rax)
movq -0x60(%rbp), %rdi
callq 0x3050
movl $0x1, -0x14(%rbp)
jmp 0x70eb
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
addq $0xd0, %rsp
popq %rbx
popq %r14
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./window.c
// Function: window_get_text_prop
char* window_get_text_prop(Window w, Atom atom)
{
	XTextProperty prop; char *res = NULL;
	char **list = NULL; int count;
	if (XGetTextProperty(display, w, &prop, atom) && prop.value && prop.nitems)
	{
		if (prop.encoding == XA_STRING)
		{
			res = malloc(strlen((char*)prop.value)+1);
			strcpy(res, (char*)prop.value);
		}
		else
		if (XmbTextPropertyToTextList(display, &prop, &list, &count) >= Success && count > 0 && *list)
		{
			res = malloc(strlen(*list)+1);
			strcpy(res, *list);
			XFreeStringList(list);
		}
	}
	if (prop.value) XFree(prop.value);
	return res;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq $0x0, -0x38(%rbp)
movq $0x0, -0x40(%rbp)
movq 0xca79(%rip), %rdi      # 0x13ba0
movq -0x8(%rbp), %rsi
movq -0x10(%rbp), %rcx
leaq -0x30(%rbp), %rdx
callq 0x3270
cmpl $0x0, %eax
je 0x71ec
cmpq $0x0, -0x30(%rbp)
je 0x71ec
cmpq $0x0, -0x18(%rbp)
je 0x71ec
cmpq $0x1f, -0x28(%rbp)
jne 0x7186
movq -0x30(%rbp), %rdi
callq 0x3250
movq %rax, %rdi
addq $0x1, %rdi
callq 0x3150
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x3490
jmp 0x71ea
movq 0xca13(%rip), %rdi      # 0x13ba0
leaq -0x30(%rbp), %rsi
leaq -0x40(%rbp), %rdx
leaq -0x44(%rbp), %rcx
callq 0x31c0
cmpl $0x0, %eax
jl 0x71e8
cmpl $0x0, -0x44(%rbp)
jle 0x71e8
movq -0x40(%rbp), %rax
cmpq $0x0, (%rax)
je 0x71e8
movq -0x40(%rbp), %rax
movq (%rax), %rdi
callq 0x3250
movq %rax, %rdi
addq $0x1, %rdi
callq 0x3150
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rax
movq (%rax), %rsi
callq 0x3490
movq -0x40(%rbp), %rdi
callq 0x34b0
jmp 0x71ea
jmp 0x71ec
cmpq $0x0, -0x30(%rbp)
je 0x71fc
movq -0x30(%rbp), %rdi
callq 0x3050
movq -0x38(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./window.c
// Function: window_get_name
char* window_get_name(Window w)
{
	char *name = NULL, *tmp = NULL;
	if (!(name = window_get_text_prop(w, atoms[_NET_WM_NAME])))
		if (XFetchName(display, w, &tmp))
			name = strdup(tmp);
	if (tmp) XFree(tmp);
	return name;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq $0x0, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq 0xcaa9(%rip), %rsi      # 0x13ce0
callq 0x7100
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
jne 0x726e
movq 0xc953(%rip), %rdi      # 0x13ba0
movq -0x8(%rbp), %rsi
leaq -0x18(%rbp), %rdx
callq 0x3510
cmpl $0x0, %eax
je 0x726c
movq -0x18(%rbp), %rdi
callq 0x3430
movq %rax, -0x10(%rbp)
jmp 0x726e
cmpq $0x0, -0x18(%rbp)
je 0x727e
movq -0x18(%rbp), %rdi
callq 0x3050
movq -0x10(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./window.c
// Function: window_send_clientmessage
int window_send_clientmessage(Window target, Window subject, Atom atom, unsigned long protocol, unsigned long mask)
{
	XEvent e;
	e.xclient.type         = ClientMessage;
	e.xclient.message_type = atom;
	e.xclient.window       = subject;
	e.xclient.data.l[0]    = protocol;
	e.xclient.data.l[1]    = latest_action;
	e.xclient.send_event   = True;
	e.xclient.format       = 32;
	int r = XSendEvent(display, target, False, mask, &e) ?1:0;
	XFlush(display);
	return r;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movl $0x21, -0xe8(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq 0xcaa7(%rip), %rax      # 0x13d88
movq %rax, -0xa8(%rbp)
movl $0x1, -0xd8(%rbp)
movl $0x20, -0xb8(%rbp)
movq 0xc89d(%rip), %rdi      # 0x13ba0
movq -0x8(%rbp), %rsi
movq -0x28(%rbp), %rcx
xorl %edx, %edx
leaq -0xe8(%rbp), %r8
callq 0x3440
movl %eax, %edx
xorl %eax, %eax
movl $0x1, %ecx
cmpl $0x0, %edx
cmovnel %ecx, %eax
movl %eax, -0xec(%rbp)
movq 0xc86b(%rip), %rdi      # 0x13ba0
callq 0x3410
movl -0xec(%rbp), %eax
addq $0xf0, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./window.c
// Function: query_windows
void query_windows()
{
	unsigned int nwins; int i; Window w1, w2, *wins; Client *c;
	if (windows.depth || !(XQueryTree(display, root, &w1, &w2, &wins, &nwins) && wins))
		return;
	for (i = nwins-1; i > -1 && windows.depth < STACK; i--)
	{
		if ((c = window_build_client(wins[i])) && c->visible)
		{
			windows.clients[windows.depth] = c;
			windows.windows[windows.depth++] = wins[i];
		}
		else client_free(c);
	}
	XFree(wins);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movswl 0xca01(%rip), %eax      # 0x13d90
cmpl $0x0, %eax
jne 0x73c3
movq 0xc805(%rip), %rdi      # 0x13ba0
movq 0xcdf6(%rip), %rsi      # 0x14198
leaq -0x10(%rbp), %rdx
leaq -0x18(%rbp), %rcx
leaq -0x20(%rbp), %r8
leaq -0x4(%rbp), %r9
callq 0x3690
cmpl $0x0, %eax
je 0x73c3
cmpq $0x0, -0x20(%rbp)
jne 0x73c8
jmp 0x7493
movl -0x4(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x8(%rbp)
xorl %eax, %eax
cmpl $-0x1, -0x8(%rbp)
movb %al, -0x29(%rbp)
jle 0x73ec
movswl 0xc9ad(%rip), %eax      # 0x13d90
cmpl $0x40, %eax
setl %al
movb %al, -0x29(%rbp)
movb -0x29(%rbp), %al
testb $0x1, %al
jne 0x73f8
jmp 0x748a
movq -0x20(%rbp), %rax
movslq -0x8(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x74a0
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
je 0x7471
movq -0x28(%rbp), %rax
movswl 0x102(%rax), %eax
cmpl $0x0, %eax
je 0x7471
movq -0x28(%rbp), %rdx
movswq 0xc961(%rip), %rcx      # 0x13d90
leaq 0xc95a(%rip), %rax      # 0x13d90
movq %rdx, 0x8(%rax,%rcx,8)
movq -0x20(%rbp), %rax
movslq -0x8(%rbp), %rcx
movq (%rax,%rcx,8), %rdx
movw 0xc942(%rip), %ax       # 0x13d90
movw %ax, %cx
addw $0x1, %cx
movw %cx, 0xc934(%rip)       # 0x13d90
movswq %ax, %rcx
leaq 0xc929(%rip), %rax      # 0x13d90
movq %rdx, 0x208(%rax,%rcx,8)
jmp 0x747a
movq -0x28(%rbp), %rdi
callq 0x86e0
jmp 0x747c
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x73d1
movq -0x20(%rbp), %rdi
callq 0x3050
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./ewmh.c
// Function: ewmh_client_list
void ewmh_client_list()
{
	int i; Client *c; STACK_INIT(wins);
	for_windows_rev(i, c) if (c->manage)
		wins.windows[wins.depth++] = c->window;
	SETPROP_WIND(root, atoms[_NET_CLIENT_LIST_STACKING], wins.windows, wins.depth);
	// hack for now, since we dont track window mapping history
	SETPROP_WIND(root, atoms[_NET_CLIENT_LIST], wins.windows, wins.depth);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x430, %rsp            # imm = 0x430
leaq -0x418(%rbp), %rdi
xorl %esi, %esi
movl $0x408, %edx            # imm = 0x408
callq 0x3070
callq 0x7380
movswl 0xb646(%rip), %eax      # 0x13d90
subl $0x1, %eax
movl %eax, -0x4(%rbp)
cmpl $-0x1, -0x4(%rbp)
jle 0x87b5
movslq -0x4(%rbp), %rcx
leaq 0xb62f(%rip), %rax      # 0x13d90
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
je 0x87a8
movq -0x10(%rbp), %rax
cmpw $0x0, 0x104(%rax)
je 0x87a6
movq -0x10(%rbp), %rax
movq (%rax), %rcx
movw -0x418(%rbp), %ax
movw %ax, %dx
addw $0x1, %dx
movw %dx, -0x418(%rbp)
movswq %ax, %rax
movq %rcx, -0x210(%rbp,%rax,8)
jmp 0x87a8
jmp 0x87aa
movl -0x4(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x8750
movq 0xb3e4(%rip), %rdi      # 0x13ba0
movq 0xb9d5(%rip), %rsi      # 0x14198
movq 0xb4fe(%rip), %rdx      # 0x13cc8
leaq -0x418(%rbp), %r10
addq $0x208, %r10            # imm = 0x208
movswl -0x418(%rbp), %eax
movl $0x21, %ecx
movl $0x20, %r8d
xorl %r9d, %r9d
movq %r10, (%rsp)
movl %eax, 0x8(%rsp)
callq 0x35d0
movq 0xb39f(%rip), %rdi      # 0x13ba0
movq 0xb990(%rip), %rsi      # 0x14198
movq 0xb4c1(%rip), %rdx      # 0x13cd0
leaq -0x418(%rbp), %r10
addq $0x208, %r10            # imm = 0x208
movswl -0x418(%rbp), %eax
movl $0x21, %ecx
movl $0x20, %r8d
xorl %r9d, %r9d
movq %r10, (%rsp)
movl %eax, 0x8(%rsp)
callq 0x35d0
addq $0x430, %rsp            # imm = 0x430
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./client.c
// Function: client_toggle_state
int client_toggle_state(Client *c, Atom state)
{
	int i, j, rc = 0;
	for (i = 0, j = 0; i < ATOMLIST && c->states[i]; i++, j++)
	{
		if (c->states[i] == state) i++;
		c->states[j] = c->states[i];
	}
	if (i == j && j < ATOMLIST)
	{
		c->states[j++] = state;
		rc = 1;
	}
	SETPROP_ATOM(c->window, atoms[_NET_WM_STATE], c->states, j);
	if (state == atoms[_NET_WM_STATE_FULLSCREEN])        c->full   = rc;
	if (state == atoms[_NET_WM_STATE_DEMANDS_ATTENTION]) c->urgent = rc;
	return rc;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x1c(%rbp)
movl $0x0, -0x14(%rbp)
movl $0x0, -0x18(%rbp)
xorl %eax, %eax
cmpl $0xa, -0x14(%rbp)
movb %al, -0x1d(%rbp)
jge 0x8917
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
cmpq $0x0, 0xa8(%rax,%rcx,8)
setne %al
movb %al, -0x1d(%rbp)
movb -0x1d(%rbp), %al
testb $0x1, %al
jne 0x8920
jmp 0x8973
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq 0xa8(%rax,%rcx,8), %rax
cmpq -0x10(%rbp), %rax
jne 0x893f
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq 0xa8(%rax,%rcx,8), %rdx
movq -0x8(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq %rdx, 0xa8(%rax,%rcx,8)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x88f5
movl -0x14(%rbp), %eax
cmpl -0x18(%rbp), %eax
jne 0x89a6
cmpl $0xa, -0x18(%rbp)
jge 0x89a6
movq -0x10(%rbp), %rdx
movq -0x8(%rbp), %rax
movl -0x18(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x18(%rbp)
movslq %ecx, %rcx
movq %rdx, 0xa8(%rax,%rcx,8)
movl $0x1, -0x1c(%rbp)
movq 0xb1f3(%rip), %rdi      # 0x13ba0
movq -0x8(%rbp), %rax
movq (%rax), %rsi
movq 0xb375(%rip), %rdx      # 0x13d30
movq -0x8(%rbp), %r10
addq $0xa8, %r10
movl -0x18(%rbp), %eax
movl $0x4, %ecx
movl $0x20, %r8d
xorl %r9d, %r9d
movq %r10, (%rsp)
movl %eax, 0x8(%rsp)
callq 0x35d0
movq -0x10(%rbp), %rax
cmpq 0xb349(%rip), %rax      # 0x13d38
jne 0x8a02
movl -0x1c(%rbp), %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x10a(%rax)
movq -0x10(%rbp), %rax
cmpq 0xb343(%rip), %rax      # 0x13d50
jne 0x8a20
movl -0x1c(%rbp), %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x108(%rax)
movl -0x1c(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./client.c
// Function: client_update_border
void client_update_border(Client *c)
{
	XColor color; Colormap map = DefaultColormap(display, DefaultScreen(display));
	char *colorname = c->window == current ? settings.border_focus: (c->urgent ? settings.border_urgent: settings.border_blur);
	XSetWindowBorder(display, c->window, XAllocNamedColor(display, map, colorname, &color, &color) ? color.pixel: None);
	XSetWindowBorderWidth(display, c->window, c->full ? 0: settings.border);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq 0xb15d(%rip), %rax      # 0x13ba0
movq 0xe8(%rax), %rax
movq 0xb14f(%rip), %rcx      # 0x13ba0
movslq 0xe0(%rcx), %rcx
shlq $0x7, %rcx
addq %rcx, %rax
movq 0x50(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
cmpq 0xb133(%rip), %rax      # 0x13ba8
jne 0x8a84
movq 0xb742(%rip), %rax      # 0x141c0
movq %rax, -0x30(%rbp)
jmp 0x8ab4
movq -0x8(%rbp), %rax
movswl 0x108(%rax), %eax
cmpl $0x0, %eax
je 0x8aa1
movq 0xb72d(%rip), %rax      # 0x141c8
movq %rax, -0x38(%rbp)
jmp 0x8aac
movq 0xb710(%rip), %rax      # 0x141b8
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x28(%rbp)
movq 0xb0dd(%rip), %rax      # 0x13ba0
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x40(%rbp)
movq 0xb0c7(%rip), %rdi      # 0x13ba0
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rdx
leaq -0x18(%rbp), %r8
movq %r8, %rcx
callq 0x31a0
cmpl $0x0, %eax
je 0x8afc
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
jmp 0x8b04
xorl %eax, %eax
movq %rax, -0x50(%rbp)
jmp 0x8b04
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdi
movq -0x50(%rbp), %rdx
callq 0x3260
movq 0xb084(%rip), %rax      # 0x13ba0
movq %rax, -0x60(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x58(%rbp)
movq -0x8(%rbp), %rax
movswl 0x10a(%rax), %eax
cmpl $0x0, %eax
je 0x8b42
xorl %eax, %eax
movl %eax, -0x64(%rbp)
jmp 0x8b4b
movl 0xb668(%rip), %eax      # 0x141b0
movl %eax, -0x64(%rbp)
movq -0x58(%rbp), %rsi
movq -0x60(%rbp), %rdi
movl -0x64(%rbp), %edx
callq 0x34d0
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./client.c
// Function: client_send_wm_protocol
int client_send_wm_protocol(Client *c, Atom protocol)
{
	Atom protocols[ATOMLIST]; int i, n;
	if ((n = GETPROP_ATOM(c->window, atoms[WM_PROTOCOLS], protocols, ATOMLIST)))
		for (i = 0; i < n; i++) if (protocols[i] == protocol)
			return window_send_clientmessage(c->window, c->window, atoms[WM_PROTOCOLS], protocol, NoEventMask);
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq 0xb1ef(%rip), %rsi      # 0x13d80
leaq -0x70(%rbp), %r8
leaq 0xb604(%rip), %rdx      # 0x141a0
leaq 0xb605(%rip), %rcx      # 0x141a8
movl $0x50, %r9d
callq 0x6ef0
cmpl $0x0, %eax
je 0x8bc8
cmpq $0x4, 0xb5e5(%rip)      # 0x141a0
jne 0x8bc8
movl 0xb5e5(%rip), %eax      # 0x141a8
movl %eax, -0x7c(%rbp)
jmp 0x8bcf
xorl %eax, %eax
movl %eax, -0x7c(%rbp)
jmp 0x8bcf
movl -0x7c(%rbp), %eax
movl %eax, -0x78(%rbp)
cmpl $0x0, %eax
je 0x8c2f
movl $0x0, -0x74(%rbp)
movl -0x74(%rbp), %eax
cmpl -0x78(%rbp), %eax
jge 0x8c2d
movslq -0x74(%rbp), %rax
movq -0x70(%rbp,%rax,8), %rax
cmpq -0x18(%rbp), %rax
jne 0x8c20
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
movq 0xb173(%rip), %rdx      # 0x13d80
movq -0x18(%rbp), %rcx
xorl %eax, %eax
movl %eax, %r8d
callq 0x7290
movl %eax, -0x4(%rbp)
jmp 0x8c36
jmp 0x8c22
movl -0x74(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x74(%rbp)
jmp 0x8be1
jmp 0x8c2f
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./client.c
// Function: client_stack_family
void client_stack_family(Client *c, Stack *raise)
{
	int i; Client *o, *self = NULL;
	for_windows(i, o)
	{
		if (o->manage && o->visible && o->transient == c->window)
			client_stack_family(o, raise);
		else
		if (o->visible && o->window == c->window)
			self = o;
	}
	if (self)
	{
		raise->clients[raise->depth] = self;
		raise->windows[raise->depth++] = self->window;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq $0x0, -0x28(%rbp)
callq 0x7380
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
movswl 0xa6c2(%rip), %ecx      # 0x13d90
cmpl %ecx, %eax
jge 0x976f
movslq -0x14(%rbp), %rcx
leaq 0xa6af(%rip), %rax      # 0x13d90
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
je 0x975f
movq -0x20(%rbp), %rax
movswl 0x104(%rax), %eax
cmpl $0x0, %eax
je 0x9733
movq -0x20(%rbp), %rax
movswl 0x102(%rax), %eax
cmpl $0x0, %eax
je 0x9733
movq -0x20(%rbp), %rax
movq 0x90(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq (%rcx), %rax
jne 0x9733
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x96a0
jmp 0x975d
movq -0x20(%rbp), %rax
movswl 0x102(%rax), %eax
cmpl $0x0, %eax
je 0x975b
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq -0x8(%rbp), %rcx
cmpq (%rcx), %rax
jne 0x975b
movq -0x20(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x975d
jmp 0x975f
jmp 0x9761
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x96c4
cmpq $0x0, -0x28(%rbp)
je 0x97b3
movq -0x28(%rbp), %rdx
movq -0x10(%rbp), %rax
movq -0x10(%rbp), %rcx
movswq (%rcx), %rcx
movq %rdx, 0x8(%rax,%rcx,8)
movq -0x28(%rbp), %rax
movq (%rax), %rdx
movq -0x10(%rbp), %rax
movq -0x10(%rbp), %rsi
movw (%rsi), %cx
movw %cx, %di
addw $0x1, %di
movw %di, (%rsi)
movswq %cx, %rcx
movq %rdx, 0x208(%rax,%rcx,8)
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./client.c
// Function: client_set_focus
void client_set_focus(Client *c)
{
	if (!c || !c->visible || c->window == current) return;
	Client *o; Window old = current;

	current      = c->window;
	current_spot = c->spot;
	current_mon  = c->monitor;

	if (old && (o = window_build_client(old)))
	{
		client_update_border(o);
		client_free(o);
	}
	client_send_wm_protocol(c, atoms[WM_TAKE_FOCUS]);
	XSetInputFocus(display, c->input ? c->window: PointerRoot, RevertToPointerRoot, CurrentTime);
	SETPROP_WIND(root, atoms[_NET_ACTIVE_WINDOW], &c->window, 1);
	client_update_border(c);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x9a71
movq -0x8(%rbp), %rax
cmpw $0x0, 0x102(%rax)
je 0x9a71
movq -0x8(%rbp), %rax
movq (%rax), %rax
cmpq 0xa139(%rip), %rax      # 0x13ba8
jne 0x9a76
jmp 0x9b79
movq 0xa12b(%rip), %rax      # 0x13ba8
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, 0xa119(%rip)      # 0x13ba8
movq -0x8(%rbp), %rax
movq 0x118(%rax), %rax
movw %ax, 0xa797(%rip)       # 0x14238
movq -0x8(%rbp), %rax
movw 0x100(%rax), %ax
movw %ax, 0xa787(%rip)       # 0x1423a
cmpq $0x0, -0x18(%rbp)
je 0x9adf
movq -0x18(%rbp), %rdi
callq 0x74a0
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
je 0x9adf
movq -0x10(%rbp), %rdi
callq 0x8a30
movq -0x10(%rbp), %rdi
callq 0x86e0
movq -0x8(%rbp), %rdi
movq 0xa28e(%rip), %rsi      # 0x13d78
callq 0x8b70
movq 0xa0aa(%rip), %rax      # 0x13ba0
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movswl 0x106(%rax), %eax
cmpl $0x0, %eax
je 0x9b17
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x28(%rbp)
jmp 0x9b22
movl $0x1, %eax
movq %rax, -0x28(%rbp)
jmp 0x9b22
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rsi
movl $0x1, %edx
xorl %eax, %eax
movl %eax, %ecx
callq 0x33f0
movq 0xa061(%rip), %rdi      # 0x13ba0
movq 0xa652(%rip), %rsi      # 0x14198
movq 0xa16b(%rip), %rdx      # 0x13cb8
movq -0x8(%rbp), %rax
movl $0x21, %ecx
movl $0x20, %r8d
xorl %r9d, %r9d
movq %rax, (%rsp)
movl $0x1, 0x8(%rsp)
callq 0x35d0
movq -0x8(%rbp), %rdi
callq 0x8a30
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./menu.c
// Function: menu_close
void menu_close()
{
	if (menu->mb)
	{
		menubox_free(menu->mb);
		menu->mb = NULL;

		for (int i = 0; i < sizeof(menu->items)/sizeof(MenuMap); i++)
		{
			free(menu->items[i].name);
			menu->items[i].name = NULL;
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq 0xa641(%rip), %rax      # 0x14230
cmpq $0x0, 0x648(%rax)
je 0x9c7d
movq 0xa62c(%rip), %rax      # 0x14230
movq 0x648(%rax), %rdi
callq 0x58d0
movq 0xa619(%rip), %rax      # 0x14230
movq $0x0, 0x648(%rax)
movl $0x0, -0x4(%rbp)
movslq -0x4(%rbp), %rax
cmpq $0x64, %rax
jae 0x9c7b
movq 0xa5f6(%rip), %rax      # 0x14230
addq $0x8, %rax
movslq -0x4(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rdi
callq 0x3220
movq 0xa5d7(%rip), %rax      # 0x14230
addq $0x8, %rax
movslq -0x4(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq $0x0, 0x8(%rax)
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x9c29
jmp 0x9c7d
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./menu.c
// Function: menu_select
void menu_select()
{
	int id; Client *c;

	if (menu->mb)
	{
		id = menubox_get_id(menu->mb);
		if (id >= 0 && (c = window_build_client(menu->items[id].window)) && c)
		{
			if (c->manage)
				client_activate(c);
			client_free(c);
		}
		else
		if (strlen(menu->mb->input->text))
		{
			exec_cmd(menu->mb->input->text);
		}
		menu_close();
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq 0xa591(%rip), %rax      # 0x14230
cmpq $0x0, 0x648(%rax)
je 0x9d5d
movq 0xa57c(%rip), %rax      # 0x14230
movq 0x648(%rax), %rdi
callq 0x55f0
movl %eax, -0x4(%rbp)
cmpl $0x0, -0x4(%rbp)
jl 0x9d1a
movq 0xa560(%rip), %rax      # 0x14230
addq $0x8, %rax
movslq -0x4(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rdi
callq 0x74a0
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
je 0x9d1a
cmpq $0x0, -0x10(%rbp)
je 0x9d1a
movq -0x10(%rbp), %rax
cmpw $0x0, 0x104(%rax)
je 0x9d0f
movq -0x10(%rbp), %rdi
callq 0x9b80
movq -0x10(%rbp), %rdi
callq 0x86e0
jmp 0x9d58
movq 0xa50f(%rip), %rax      # 0x14230
movq 0x648(%rax), %rax
movq 0x70(%rax), %rax
movq 0x50(%rax), %rdi
callq 0x3250
cmpq $0x0, %rax
je 0x9d56
movq 0xa4ee(%rip), %rax      # 0x14230
movq 0x648(%rax), %rax
movq 0x70(%rax), %rax
movq 0x50(%rax), %rdi
callq 0x63d0
jmp 0x9d58
callq 0x9be0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./menu.c
// Function: menu_sort
int menu_sort(const void *a, const void *b)
{
	const MenuMap *ma = a;
	const MenuMap *mb = b;
	char as[strlen(ma->name)+1];
	char bs[strlen(mb->name)+1];
	for (int i = 0; ma->name[i]; i++) as[i] = tolower(ma->name[i]);
	for (int i = 0; mb->name[i]; i++) bs[i] = tolower(mb->name[i]);
	return strcmp(as, bs);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x3250
movq %rax, %rdx
movq %rdx, %rax
incq %rax
movq %rsp, %rcx
movq %rcx, -0x28(%rbp)
addq $0x10, %rdx
andq $-0x10, %rdx
movq %rsp, %rcx
subq %rdx, %rcx
movq %rcx, -0x50(%rbp)
movq %rcx, %rsp
movq %rax, -0x30(%rbp)
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x3250
movq %rax, %rdx
movq %rdx, %rax
incq %rax
addq $0x10, %rdx
andq $-0x10, %rdx
movq %rsp, %rcx
subq %rdx, %rcx
movq %rcx, -0x48(%rbp)
movq %rcx, %rsp
movq %rax, -0x38(%rbp)
movl $0x0, -0x3c(%rbp)
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movslq -0x3c(%rbp), %rcx
cmpb $0x0, (%rax,%rcx)
je 0x9e3d
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movslq -0x3c(%rbp), %rcx
movsbl (%rax,%rcx), %edi
callq 0x3480
movl %eax, %ecx
movq -0x50(%rbp), %rax
movb %cl, %dl
movslq -0x3c(%rbp), %rcx
movb %dl, (%rax,%rcx)
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x9dfc
movl $0x0, -0x40(%rbp)
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rax
movslq -0x40(%rbp), %rcx
cmpb $0x0, (%rax,%rcx)
je 0x9e85
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rax
movslq -0x40(%rbp), %rcx
movsbl (%rax,%rcx), %edi
callq 0x3480
movl %eax, %ecx
movq -0x48(%rbp), %rax
movb %cl, %dl
movslq -0x40(%rbp), %rcx
movb %dl, (%rax,%rcx)
movl -0x40(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x40(%rbp)
jmp 0x9e44
movq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x3470
movq -0x28(%rbp), %rcx
movq %rcx, %rsp
movq %rbp, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./spot.c
// Function: spot_focus_top_window
Window spot_focus_top_window(int spot, int mon, Window except)
{
	int i; Client *c;
	for_windows(i, c) if (c->window != except && c->manage && c->spot == spot && c->monitor == mon)
	{
		client_raise_family(c);
		client_set_focus(c);
		return c->window;
	}
	return None;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0xc(%rbp)
movl %esi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
callq 0x7380
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movswl 0x9298(%rip), %ecx      # 0x13d90
cmpl %ecx, %eax
jge 0xab8c
movslq -0x1c(%rbp), %rcx
leaq 0x9285(%rip), %rax      # 0x13d90
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
je 0xab7c
movq -0x28(%rbp), %rax
movq (%rax), %rax
cmpq -0x18(%rbp), %rax
je 0xab7a
movq -0x28(%rbp), %rax
movswl 0x104(%rax), %eax
cmpl $0x0, %eax
je 0xab7a
movq -0x28(%rbp), %rax
movq 0x118(%rax), %rax
movslq -0xc(%rbp), %rcx
cmpq %rcx, %rax
jne 0xab7a
movq -0x28(%rbp), %rax
movswl 0x100(%rax), %eax
cmpl -0x10(%rbp), %eax
jne 0xab7a
movq -0x28(%rbp), %rdi
callq 0x97c0
movq -0x28(%rbp), %rdi
callq 0x9a40
movq -0x28(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0xab94
jmp 0xab7c
jmp 0xab7e
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0xaaee
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./spot.c
// Function: spot_try_focus_top_window
Window spot_try_focus_top_window(int spot, int mon, Window except)
{
	Window w = spot_focus_top_window(spot, mon, except);
	if (w == None)
	{
		current      = None;
		current_mon  = mon;
		current_spot = spot;
		update_bars();

		XSetInputFocus(display, PointerRoot, RevertToPointerRoot, CurrentTime);
	}
	return w;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
callq 0xaad0
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0xac0a
movq $0x0, 0x8fd1(%rip) # 0x13ba8
movl -0x8(%rbp), %eax
movw %ax, 0x9659(%rip)       # 0x1423a
movl -0x4(%rbp), %eax
movw %ax, 0x964d(%rip)       # 0x14238
callq 0xa700
movq 0x8fa9(%rip), %rdi      # 0x13ba0
movl $0x1, %esi
movl $0x1, %edx
xorl %eax, %eax
movl %eax, %ecx
callq 0x33f0
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./spot.c
// Function: spot_choose_by_direction
int spot_choose_by_direction(int spot, int mon, int dir)
{
	Monitor *m = &monitors[mon];
	int spot1_align = have_layout(mon) ? settings.layouts[mon].spot1_align : LEFT ;

	if (m->w < m->h) // rotated?
	{
		if (dir == LEFT)  return SPOT3;
		if (dir == RIGHT) return SPOT2;
		if (dir == UP)    return spot1_align == LEFT ? SPOT1: SPOT2;
		if (dir == DOWN)  return spot1_align == LEFT ? SPOT2: SPOT1;
		return spot;
	}
	if (dir == UP)    return SPOT2;
	if (dir == DOWN)  return SPOT3;
	if (dir == LEFT)  return spot1_align == LEFT ? SPOT1: SPOT2;
	if (dir == RIGHT) return spot1_align == LEFT ? SPOT2: SPOT1;
	return spot;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movslq -0xc(%rbp), %rcx
leaq 0x8f78(%rip), %rax      # 0x13bb0
imulq $0x48, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl 0x95b7(%rip), %eax      # 0x14200
cmpl -0xc(%rbp), %eax
jbe 0xac63
movq 0x95b3(%rip), %rax      # 0x14208
movslq -0xc(%rbp), %rcx
movswl 0x2(%rax,%rcx,8), %eax
movl %eax, -0x20(%rbp)
jmp 0xac6d
movl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0xac6d
movl -0x20(%rbp), %eax
movl %eax, -0x1c(%rbp)
movq -0x18(%rbp), %rax
movswl 0x4(%rax), %eax
movq -0x18(%rbp), %rcx
movswl 0x6(%rcx), %ecx
cmpl %ecx, %eax
jge 0xacf2
cmpl $0x1, -0x10(%rbp)
jne 0xac99
movl $0x3, -0x4(%rbp)
jmp 0xad52
cmpl $0x2, -0x10(%rbp)
jne 0xacab
movl $0x2, -0x4(%rbp)
jmp 0xad52
cmpl $0x3, -0x10(%rbp)
jne 0xaccc
movl -0x1c(%rbp), %edx
movl $0x2, %eax
movl $0x1, %ecx
cmpl $0x1, %edx
cmovel %ecx, %eax
movl %eax, -0x4(%rbp)
jmp 0xad52
cmpl $0x4, -0x10(%rbp)
jne 0xacea
movl -0x1c(%rbp), %edx
movl $0x1, %eax
movl $0x2, %ecx
cmpl $0x1, %edx
cmovel %ecx, %eax
movl %eax, -0x4(%rbp)
jmp 0xad52
movl -0x8(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xad52
cmpl $0x3, -0x10(%rbp)
jne 0xad01
movl $0x2, -0x4(%rbp)
jmp 0xad52
cmpl $0x4, -0x10(%rbp)
jne 0xad10
movl $0x3, -0x4(%rbp)
jmp 0xad52
cmpl $0x1, -0x10(%rbp)
jne 0xad2e
movl -0x1c(%rbp), %edx
movl $0x2, %eax
movl $0x1, %ecx
cmpl $0x1, %edx
cmovel %ecx, %eax
movl %eax, -0x4(%rbp)
jmp 0xad52
cmpl $0x2, -0x10(%rbp)
jne 0xad4c
movl -0x1c(%rbp), %edx
movl $0x1, %eax
movl $0x2, %ecx
cmpl $0x1, %edx
cmovel %ecx, %eax
movl %eax, -0x4(%rbp)
jmp 0xad52
movl -0x8(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./spot.c
// Function: spot_stack_clients
int spot_stack_clients(int spot, int mon, Stack *stk)
{
	int i; Client *c;
	for_windows(i, c) if (c->manage && c->spot == spot && c->monitor == mon)
		client_stack_family(c, stk);
	return stk->depth;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
callq 0x7380
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
movswl 0x8f68(%rip), %ecx      # 0x13d90
cmpl %ecx, %eax
jge 0xae96
movslq -0x14(%rbp), %rcx
leaq 0x8f59(%rip), %rax      # 0x13d90
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
je 0xae89
movq -0x20(%rbp), %rax
movswl 0x104(%rax), %eax
cmpl $0x0, %eax
je 0xae87
movq -0x20(%rbp), %rax
movq 0x118(%rax), %rax
movslq -0x4(%rbp), %rcx
cmpq %rcx, %rax
jne 0xae87
movq -0x20(%rbp), %rax
movswl 0x100(%rax), %eax
cmpl -0x8(%rbp), %eax
jne 0xae87
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x96a0
jmp 0xae89
jmp 0xae8b
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0xae1e
movq -0x10(%rbp), %rax
movswl (%rax), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./event.c
// Function: create_notify
void create_notify(XEvent *e)
{
	Client *c = window_build_client(e->xcreatewindow.window);
	if (c && c->manage)
		window_listen(c->window);
	client_free(c);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rdi
callq 0x74a0
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0xaef0
movq -0x10(%rbp), %rax
movswl 0x104(%rax), %eax
cmpl $0x0, %eax
je 0xaef0
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x7350
movq -0x10(%rbp), %rdi
callq 0x86e0
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./event.c
// Function: configure_request
void configure_request(XEvent *ev)
{
	XConfigureRequestEvent *e = &ev->xconfigurerequest;
	Client *c = window_build_client(e->window);
	if (c && c->manage && c->visible && !c->transient)
	{
		client_update_border(c);
		client_place_spot(c, c->spot, c->monitor, 0);
	}
	else
	if (c)
	{
		XWindowChanges wc;
		if (e->value_mask & CWX) wc.x = e->x;
		if (e->value_mask & CWY) wc.y = e->y;
		if (e->value_mask & CWWidth)  wc.width  = e->width;
		if (e->value_mask & CWHeight) wc.height = e->height;
		if (e->value_mask & CWStackMode)   wc.stack_mode   = e->detail;
		if (e->value_mask & CWBorderWidth) wc.border_width = settings.border;
		XConfigureWindow(display, c->window, e->value_mask, &wc);
	}
	client_free(c);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rdi
callq 0x74a0
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0xaf8b
movq -0x18(%rbp), %rax
movswl 0x104(%rax), %eax
cmpl $0x0, %eax
je 0xaf8b
movq -0x18(%rbp), %rax
movswl 0x102(%rax), %eax
cmpl $0x0, %eax
je 0xaf8b
movq -0x18(%rbp), %rax
cmpq $0x0, 0x90(%rax)
jne 0xaf8b
movq -0x18(%rbp), %rdi
callq 0x8a30
movq -0x18(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x118(%rax), %rax
movl %eax, %esi
movq -0x18(%rbp), %rax
movswl 0x100(%rax), %edx
xorl %ecx, %ecx
callq 0x8c50
jmp 0xb060
cmpq $0x0, -0x18(%rbp)
je 0xb05e
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xafb2
movq -0x10(%rbp), %rax
movl 0x30(%rax), %eax
movl %eax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
andq $0x2, %rax
cmpq $0x0, %rax
je 0xafce
movq -0x10(%rbp), %rax
movl 0x34(%rax), %eax
movl %eax, -0x3c(%rbp)
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
andq $0x4, %rax
cmpq $0x0, %rax
je 0xafea
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
movl %eax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
andq $0x8, %rax
cmpq $0x0, %rax
je 0xb006
movq -0x10(%rbp), %rax
movl 0x3c(%rax), %eax
movl %eax, -0x34(%rbp)
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0xb022
movq -0x10(%rbp), %rax
movl 0x50(%rax), %eax
movl %eax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
andq $0x10, %rax
cmpq $0x0, %rax
je 0xb03d
movl 0x9176(%rip), %eax      # 0x141b0
movl %eax, -0x30(%rbp)
movq 0x8b5c(%rip), %rdi      # 0x13ba0
movq -0x18(%rbp), %rax
movq (%rax), %rsi
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
movl %eax, %edx
leaq -0x40(%rbp), %rcx
callq 0x30c0
jmp 0xb060
movq -0x18(%rbp), %rdi
callq 0x86e0
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./event.c
// Function: configure_notify
void configure_notify(XEvent *e)
{
	Client *c = window_build_client(e->xconfigure.window);
	if (c && c->manage)
	{
		while (XCheckTypedEvent(display, ConfigureNotify, e));
		ewmh_client_list();
		update_bars();
		menu_update();
	}
	client_free(c);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rdi
callq 0x74a0
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0xb0d1
movq -0x10(%rbp), %rax
movswl 0x104(%rax), %eax
cmpl $0x0, %eax
je 0xb0d1
jmp 0xb0a6
movq 0x8af3(%rip), %rdi      # 0x13ba0
movq -0x8(%rbp), %rdx
movl $0x16, %esi
callq 0x31b0
cmpl $0x0, %eax
je 0xb0c2
jmp 0xb0a6
callq 0x8720
callq 0xa700
callq 0x9bb0
movq -0x10(%rbp), %rdi
callq 0x86e0
addq $0x10, %rsp
popq %rbp
retq