LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/window.c
// Function: enable_motion_recorder
void enable_motion_recorder(xcb_window_t win)
{
	xcb_get_geometry_reply_t *geo = xcb_get_geometry_reply(dpy, xcb_get_geometry(dpy, win), NULL);
	if (geo != NULL) {
		uint16_t width = geo->width + 2 * geo->border_width;
		uint16_t height = geo->height + 2 * geo->border_width;
		window_move_resize(motion_recorder.id, geo->x, geo->y, width, height);
		window_above(motion_recorder.id, win);
		window_show(motion_recorder.id);
		motion_recorder.enabled = true;
	}
	free(geo);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x4(%rbp)
leaq 0x1d156(%rip), %rax     # 0x356b8
movq (%rax), %rax
movq %rax, -0x20(%rbp)
leaq 0x1d148(%rip), %rax     # 0x356b8
movq (%rax), %rdi
movl -0x4(%rbp), %esi
callq 0x45b0
movq -0x20(%rbp), %rdi
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x4680
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x18627
movq -0x10(%rbp), %rax
movzwl 0x10(%rax), %eax
movq -0x10(%rbp), %rcx
movzwl 0x14(%rcx), %ecx
shll %ecx
addl %ecx, %eax
movw %ax, -0x16(%rbp)
movq -0x10(%rbp), %rax
movzwl 0x12(%rax), %eax
movq -0x10(%rbp), %rcx
movzwl 0x14(%rcx), %ecx
shll %ecx
addl %ecx, %eax
movw %ax, -0x18(%rbp)
leaq 0x1d104(%rip), %rax     # 0x356d8
movl (%rax), %edi
movq -0x10(%rbp), %rax
movw 0xc(%rax), %dx
movq -0x10(%rbp), %rax
movw 0xe(%rax), %cx
movw -0x16(%rbp), %ax
movswl %dx, %esi
movswl %cx, %edx
movzwl %ax, %ecx
movzwl -0x18(%rbp), %r8d
callq 0x16da0
leaq 0x1d0d4(%rip), %rax     # 0x356d8
movl (%rax), %edi
movl -0x4(%rbp), %esi
callq 0x16b50
leaq 0x1d0c3(%rip), %rax     # 0x356d8
movl (%rax), %edi
callq 0x16590
leaq 0x1d0b5(%rip), %rax     # 0x356d8
movb $0x1, 0x6(%rax)
movq -0x10(%rbp), %rdi
callq 0x4450
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/window.c
// Function: disable_motion_recorder
void disable_motion_recorder(void)
{
	if (!motion_recorder.enabled) {
		return;
	}
	window_hide(motion_recorder.id);
	motion_recorder.enabled = false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x1d08d(%rip), %rax     # 0x356d8
testb $0x1, 0x6(%rax)
jne 0x18653
jmp 0x1866c
leaq 0x1d07e(%rip), %rax     # 0x356d8
movl (%rax), %edi
callq 0x16f50
leaq 0x1d070(%rip), %rax     # 0x356d8
movb $0x0, 0x6(%rax)
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/window.c
// Function: window_stack
void window_stack(xcb_window_t w1, xcb_window_t w2, uint32_t mode)
{
	if (w2 == XCB_NONE) {
		return;
	}
	uint16_t mask = XCB_CONFIG_WINDOW_SIBLING | XCB_CONFIG_WINDOW_STACK_MODE;
	uint32_t values[] = {w2, mode};
	xcb_configure_window(dpy, w1, mask, values);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl %edx, -0xc(%rbp)
movl -0x8(%rbp), %eax
cmpq $0x0, %rax
jne 0x1871c
jmp 0x1874e
movw $0x60, -0xe(%rbp)
movl -0x8(%rbp), %eax
movl %eax, -0x18(%rbp)
movl -0xc(%rbp), %eax
movl %eax, -0x14(%rbp)
leaq 0x1cf83(%rip), %rax     # 0x356b8
movq (%rax), %rdi
movl -0x4(%rbp), %esi
movw -0xe(%rbp), %ax
leaq -0x18(%rbp), %rcx
movzwl %ax, %edx
callq 0x4320
movl %eax, -0x1c(%rbp)
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/window.c
// Function: window_set_visibility
void window_set_visibility(xcb_window_t win, bool visible)
{
	uint32_t values_off[] = {ROOT_EVENT_MASK & ~XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY};
	uint32_t values_on[] = {ROOT_EVENT_MASK};
	xcb_change_window_attributes(dpy, root, XCB_CW_EVENT_MASK, values_off);
	if (visible) {
		set_window_state(win, XCB_ICCCM_WM_STATE_NORMAL);
		xcb_map_window(dpy, win);
	} else {
		xcb_unmap_window(dpy, win);
		set_window_state(win, XCB_ICCCM_WM_STATE_ICONIC);
	}
	xcb_change_window_attributes(dpy, root, XCB_CW_EVENT_MASK, values_on);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movl %edi, -0x4(%rbp)
andb $0x1, %al
movb %al, -0x5(%rbp)
movl 0x155bb(%rip), %eax     # 0x2dda4
movl %eax, -0xc(%rbp)
movl 0x14b96(%rip), %eax     # 0x2d388
movl %eax, -0x10(%rbp)
leaq 0x1cebc(%rip), %rax     # 0x356b8
movq (%rax), %rdi
leaq 0x1cf62(%rip), %rax     # 0x35768
movl (%rax), %esi
leaq -0xc(%rbp), %rcx
movl $0x800, %edx            # imm = 0x800
callq 0x46e0
movl %eax, -0x14(%rbp)
testb $0x1, -0x5(%rbp)
je 0x18843
movl -0x4(%rbp), %edi
movl $0x1, %esi
callq 0x16750
leaq 0x1ce85(%rip), %rax     # 0x356b8
movq (%rax), %rdi
movl -0x4(%rbp), %esi
callq 0x43f0
movl %eax, -0x18(%rbp)
jmp 0x18865
leaq 0x1ce6e(%rip), %rax     # 0x356b8
movq (%rax), %rdi
movl -0x4(%rbp), %esi
callq 0x4910
movl %eax, -0x1c(%rbp)
movl -0x4(%rbp), %edi
movl $0x3, %esi
callq 0x16750
leaq 0x1ce4c(%rip), %rax     # 0x356b8
movq (%rax), %rdi
leaq 0x1cef2(%rip), %rax     # 0x35768
movl (%rax), %esi
leaq -0x10(%rbp), %rcx
movl $0x800, %edx            # imm = 0x800
callq 0x46e0
movl %eax, -0x20(%rbp)
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/window.c
// Function: set_input_focus
void set_input_focus(node_t *n)
{
	if (n == NULL || n->client == NULL) {
		clear_input_focus();
	} else {
		if (n->client->icccm_props.input_hint) {
			xcb_set_input_focus(dpy, XCB_INPUT_FOCUS_PARENT, n->id, XCB_CURRENT_TIME);
		} else if (n->client->icccm_props.take_focus) {
			send_client_message(n->id, ewmh->WM_PROTOCOLS, WM_TAKE_FOCUS);
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x188ce
movq -0x8(%rbp), %rax
cmpq $0x0, 0x48(%rax)
jne 0x188d5
callq 0x18950
jmp 0x18940
movq -0x8(%rbp), %rax
movq 0x48(%rax), %rax
testb $0x1, 0x375(%rax)
je 0x18907
leaq 0x1cdcb(%rip), %rax     # 0x356b8
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movl (%rax), %edx
movl $0x2, %esi
xorl %ecx, %ecx
callq 0x4210
movl %eax, -0xc(%rbp)
jmp 0x1893e
movq -0x8(%rbp), %rax
movq 0x48(%rax), %rax
testb $0x1, 0x374(%rax)
je 0x1893c
movq -0x8(%rbp), %rax
movl (%rax), %edi
leaq 0x1d4fb(%rip), %rax     # 0x35e20
movq (%rax), %rax
movl 0xc8(%rax), %esi
leaq 0x1ce47(%rip), %rax     # 0x3577c
movl (%rax), %edx
callq 0x18980
jmp 0x1893e
jmp 0x18940
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/window.c
// Function: send_client_message
void send_client_message(xcb_window_t win, xcb_atom_t property, xcb_atom_t value)
{
	xcb_client_message_event_t *e = calloc(32, 1);

	e->response_type = XCB_CLIENT_MESSAGE;
	e->window = win;
	e->type = property;
	e->format = 32;
	e->data.data32[0] = value;
	e->data.data32[1] = XCB_CURRENT_TIME;

	xcb_send_event(dpy, false, win, XCB_EVENT_MASK_NO_EVENT, (char *) e);
	xcb_flush(dpy);
	free(e);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl %edx, -0xc(%rbp)
movl $0x20, %edi
movl $0x1, %esi
callq 0x4890
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movb $0x21, (%rax)
movl -0x4(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x4(%rax)
movl -0x8(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x8(%rax)
movq -0x18(%rbp), %rax
movb $0x20, 0x1(%rax)
movl -0xc(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0xc(%rax)
movq -0x18(%rbp), %rax
movl $0x0, 0x10(%rax)
leaq 0x1ccd5(%rip), %rax     # 0x356b8
movq (%rax), %rdi
movl -0x4(%rbp), %edx
movq -0x18(%rbp), %r8
xorl %ecx, %ecx
movl %ecx, %esi
callq 0x45f0
movl %eax, -0x1c(%rbp)
leaq 0x1ccb8(%rip), %rax     # 0x356b8
movq (%rax), %rdi
callq 0x4650
movq -0x18(%rbp), %rdi
callq 0x4450
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/window.c
// Function: center_pointer
void center_pointer(xcb_rectangle_t r)
{
	if (grabbing) {
		return;
	}
	int16_t cx = r.x + r.width / 2;
	int16_t cy = r.y + r.height / 2;
	xcb_warp_pointer(dpy, XCB_NONE, root, 0, 0, 0, 0, cx, cy);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
leaq 0x1d3e3(%rip), %rax     # 0x35e16
testb $0x1, (%rax)
je 0x18a3a
jmp 0x18ab5
movswl -0x8(%rbp), %eax
movl %eax, -0x18(%rbp)
movzwl -0x4(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x18(%rbp), %eax
addl %ecx, %eax
movw %ax, -0xa(%rbp)
movswl -0x6(%rbp), %eax
movl %eax, -0x14(%rbp)
movzwl -0x2(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x14(%rbp), %eax
addl %ecx, %eax
movw %ax, -0xc(%rbp)
leaq 0x1cc3b(%rip), %rax     # 0x356b8
movq (%rax), %rdi
leaq 0x1cce1(%rip), %rax     # 0x35768
movl (%rax), %edx
movw -0xa(%rbp), %ax
xorl %r9d, %r9d
movl %r9d, %esi
movl %r9d, %ecx
movl %r9d, %r8d
movl $0x0, (%rsp)
cwtl
movl %eax, 0x8(%rsp)
movswl -0xc(%rbp), %eax
movl %eax, 0x10(%rsp)
callq 0x4430
movl %eax, -0x10(%rbp)
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/window.c
// Function: get_atom
void get_atom(char *name, xcb_atom_t *atom)
{
	xcb_intern_atom_reply_t *reply = xcb_intern_atom_reply(dpy, xcb_intern_atom(dpy, 0, strlen(name), name), NULL);
	if (reply != NULL) {
		*atom = reply->atom;
	} else {
		*atom = XCB_NONE;
	}
	free(reply);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq 0x1cbe1(%rip), %rax     # 0x356b8
movq (%rax), %rax
movq %rax, -0x28(%rbp)
leaq 0x1cbd3(%rip), %rax     # 0x356b8
movq (%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rdi
callq 0x4460
movq -0x30(%rbp), %rdi
movq -0x8(%rbp), %rcx
xorl %esi, %esi
movzwl %ax, %edx
callq 0x41b0
movq -0x28(%rbp), %rdi
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x4670
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x18b34
movq -0x18(%rbp), %rax
movl 0x8(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, (%rax)
jmp 0x18b3e
movq -0x10(%rbp), %rax
movl $0x0, (%rax)
movq -0x18(%rbp), %rdi
callq 0x4450
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/window.c
// Function: window_exists
bool window_exists(xcb_window_t win)
{
	xcb_generic_error_t *err;
	free(xcb_query_tree_reply(dpy, xcb_query_tree(dpy, win), &err));

	if (err != NULL) {
		free(err);
		return false;
	}

	return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x8(%rbp)
leaq 0x1cb06(%rip), %rax     # 0x356b8
movq (%rax), %rax
movq %rax, -0x20(%rbp)
leaq 0x1caf8(%rip), %rax     # 0x356b8
movq (%rax), %rdi
movl -0x8(%rbp), %esi
callq 0x4360
movq -0x20(%rbp), %rdi
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %esi
leaq -0x10(%rbp), %rdx
callq 0x45a0
movq %rax, %rdi
callq 0x4450
cmpq $0x0, -0x10(%rbp)
je 0x18bfc
movq -0x10(%rbp), %rdi
callq 0x4450
movb $0x0, -0x1(%rbp)
jmp 0x18c00
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/messages.c
// Function: handle_message
void handle_message(char *msg, int msg_len, FILE *rsp)
{
	int cap = INIT_CAP;
	int num = 0;
	char **args = calloc(cap, sizeof(char *));

	if (args == NULL) {
		perror("Handle message: calloc");
		return;
	}

	for (int i = 0, j = 0; i < msg_len; i++) {
		if (msg[i] == 0) {
			args[num++] = msg + j;
			j = i + 1;
		}
		if (num >= cap) {
			cap *= 2;
			char **new = realloc(args, cap * sizeof(char *));
			if (new == NULL) {
				free(args);
				perror("Handle message: realloc");
				return;
			} else {
				args = new;
			}
		}
	}

	if (num < 1) {
		free(args);
		fail(rsp, "No arguments given.\n");
		return;
	}

	char **args_orig = args;
	process_message(args, num, rsp);
	free(args_orig);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x8, -0x1c(%rbp)
movl $0x0, -0x20(%rbp)
movslq -0x1c(%rbp), %rdi
movl $0x8, %esi
callq 0x4890
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x18c5b
leaq 0x1515f(%rip), %rdi     # 0x2ddb0
callq 0x49e0
jmp 0x18d51
movl $0x0, -0x2c(%rbp)
movl $0x0, -0x30(%rbp)
movl -0x2c(%rbp), %eax
cmpl -0xc(%rbp), %eax
jge 0x18d0d
movq -0x8(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
jne 0x18cb0
movq -0x8(%rbp), %rdx
movslq -0x30(%rbp), %rax
addq %rax, %rdx
movq -0x28(%rbp), %rax
movl -0x20(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x20(%rbp)
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
movl -0x20(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jl 0x18cfd
movl -0x1c(%rbp), %eax
shll %eax
movl %eax, -0x1c(%rbp)
movq -0x28(%rbp), %rdi
movslq -0x1c(%rbp), %rsi
shlq $0x3, %rsi
callq 0x49c0
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
jne 0x18cf3
movq -0x28(%rbp), %rdi
callq 0x4450
leaq 0x150db(%rip), %rdi     # 0x2ddc7
callq 0x49e0
jmp 0x18d51
movq -0x38(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x18cfd
jmp 0x18cff
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x18c69
cmpl $0x1, -0x20(%rbp)
jge 0x18d30
movq -0x28(%rbp), %rdi
callq 0x4450
movq -0x18(%rbp), %rdi
leaq 0x150b8(%rip), %rsi     # 0x2dddf
movb $0x0, %al
callq 0x18d60
jmp 0x18d51
movq -0x28(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x28(%rbp), %rdi
movl -0x20(%rbp), %esi
movq -0x18(%rbp), %rdx
callq 0x18e10
movq -0x40(%rbp), %rdi
callq 0x4450
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/messages.c
// Function: cmd_quit
void cmd_quit(char **args, int num, FILE *rsp)
{
	if (num > 0 && sscanf(*args, "%i", &exit_status) != 1) {
		fail(rsp, "%s: Invalid argument: '%s'.\n", *(args - 1), *args);
		return;
	}
	running = false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
cmpl $0x0, -0xc(%rbp)
jle 0x1df4d
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x113c2(%rip), %rsi     # 0x2f2d9
leaq 0x177c2(%rip), %rdx     # 0x356e0
movb $0x0, %al
callq 0x41c0
cmpl $0x1, %eax
je 0x1df4d
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rax
movq -0x8(%rax), %rdx
movq -0x8(%rbp), %rax
movq (%rax), %rcx
leaq 0x1071c(%rip), %rsi     # 0x2e660
movb $0x0, %al
callq 0x18d60
jmp 0x1df57
leaq 0x1776c(%rip), %rax     # 0x356c0
movb $0x0, (%rax)
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/messages.c
// Function: handle_failure
void handle_failure(int code, char *src, char *val, FILE *rsp)
{
	switch (code) {
		case SELECTOR_BAD_DESCRIPTOR:
			fail(rsp, "%s: Invalid descriptor found in '%s'.\n", src, val);
			break;
		case SELECTOR_BAD_MODIFIERS:
			fail(rsp, "%s: Invalid modifier found in '%s'.\n", src, val);
			break;
		case SELECTOR_INVALID:
			fail(rsp, "");
			break;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl -0x4(%rbp), %eax
movl %eax, -0x24(%rbp)
subl $0x1, %eax
je 0x1dfd0
jmp 0x1df84
movl -0x24(%rbp), %eax
subl $0x2, %eax
je 0x1dfb4
jmp 0x1df8e
movl -0x24(%rbp), %eax
subl $0x3, %eax
jne 0x1dfe2
jmp 0x1df98
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rdx
movq -0x18(%rbp), %rcx
leaq 0x10bc8(%rip), %rsi     # 0x2eb73
movb $0x0, %al
callq 0x18d60
jmp 0x1dfe2
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rdx
movq -0x18(%rbp), %rcx
leaq 0x10bd3(%rip), %rsi     # 0x2eb9a
movb $0x0, %al
callq 0x18d60
jmp 0x1dfe2
movq -0x20(%rbp), %rdi
leaq 0x10be5(%rip), %rsi     # 0x2ebc0
movb $0x0, %al
callq 0x18d60
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_bool
bool parse_bool(char *value, bool *b)
{
	if (streq("true", value) || streq("on", value)) {
		*b = true;
		return true;
	} else if (streq("false", value) || streq("off", value)) {
		*b = false;
		return true;
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0xe298(%rip), %rdi      # 0x2eb63
callq 0x4800
cmpl $0x0, %eax
je 0x208ea
movq -0x10(%rbp), %rsi
leaq 0xe3c7(%rip), %rdi      # 0x2eca7
callq 0x4800
cmpl $0x0, %eax
jne 0x208f7
movq -0x18(%rbp), %rax
movb $0x1, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20934
movq -0x10(%rbp), %rsi
leaq 0xe266(%rip), %rdi      # 0x2eb68
callq 0x4800
cmpl $0x0, %eax
je 0x20921
movq -0x10(%rbp), %rsi
leaq 0xd12f(%rip), %rdi      # 0x2da46
callq 0x4800
cmpl $0x0, %eax
jne 0x2092e
movq -0x18(%rbp), %rax
movb $0x0, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20934
jmp 0x20930
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_split_type
bool parse_split_type(char *s, split_type_t *t)
{
	if (streq("horizontal", s)) {
		*t = TYPE_HORIZONTAL;
		return true;
	} else if (streq("vertical", s)) {
		*t = TYPE_VERTICAL;
		return true;
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0xe5a6(%rip), %rdi      # 0x2ef01
callq 0x4800
cmpl $0x0, %eax
jne 0x20975
movq -0x18(%rbp), %rax
movl $0x0, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x209a0
movq -0x10(%rbp), %rsi
leaq 0xe58d(%rip), %rdi      # 0x2ef0d
callq 0x4800
cmpl $0x0, %eax
jne 0x2099a
movq -0x18(%rbp), %rax
movl $0x1, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x209a0
jmp 0x2099c
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_split_mode
bool parse_split_mode(char *s, split_mode_t *m)
{
	if (streq("automatic", s)) {
		*m = MODE_AUTOMATIC;
		return true;
	} else if (streq("vertical", s)) {
		*m = MODE_MANUAL;
		return true;
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0xe492(%rip), %rdi      # 0x2ee5d
callq 0x4800
cmpl $0x0, %eax
jne 0x209e5
movq -0x18(%rbp), %rax
movl $0x0, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20a10
movq -0x10(%rbp), %rsi
leaq 0xe51d(%rip), %rdi      # 0x2ef0d
callq 0x4800
cmpl $0x0, %eax
jne 0x20a0a
movq -0x18(%rbp), %rax
movl $0x1, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20a10
jmp 0x20a0c
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_layout
bool parse_layout(char *s, layout_t *l)
{
	if (streq("monocle", s)) {
		*l = LAYOUT_MONOCLE;
		return true;
	} else if (streq("tiled", s)) {
		*l = LAYOUT_TILED;
		return true;
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0xe3ff(%rip), %rdi      # 0x2ee3a
callq 0x4800
cmpl $0x0, %eax
jne 0x20a55
movq -0x18(%rbp), %rax
movl $0x1, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20a80
movq -0x10(%rbp), %rsi
leaq 0xe3d3(%rip), %rdi      # 0x2ee33
callq 0x4800
cmpl $0x0, %eax
jne 0x20a7a
movq -0x18(%rbp), %rax
movl $0x0, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20a80
jmp 0x20a7c
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_client_state
bool parse_client_state(char *s, client_state_t *t)
{
	if (streq("tiled", s)) {
		*t = STATE_TILED;
		return true;
	} else if (streq("pseudo_tiled", s)) {
		*t = STATE_PSEUDO_TILED;
		return true;
	} else if (streq("floating", s)) {
		*t = STATE_FLOATING;
		return true;
	} else if (streq("fullscreen", s)) {
		*t = STATE_FULLSCREEN;
		return true;
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0xe388(%rip), %rdi      # 0x2ee33
callq 0x4800
cmpl $0x0, %eax
jne 0x20ac5
movq -0x18(%rbp), %rax
movl $0x0, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20b3e
movq -0x10(%rbp), %rsi
leaq 0xe3a6(%rip), %rdi      # 0x2ee76
callq 0x4800
cmpl $0x0, %eax
jne 0x20aea
movq -0x18(%rbp), %rax
movl $0x1, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20b3e
movq -0x10(%rbp), %rsi
leaq 0xe38f(%rip), %rdi      # 0x2ee84
callq 0x4800
cmpl $0x0, %eax
jne 0x20b0f
movq -0x18(%rbp), %rax
movl $0x2, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20b3e
movq -0x10(%rbp), %rsi
leaq 0xe374(%rip), %rdi      # 0x2ee8e
callq 0x4800
cmpl $0x0, %eax
jne 0x20b34
movq -0x18(%rbp), %rax
movl $0x3, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20b3e
jmp 0x20b36
jmp 0x20b38
jmp 0x20b3a
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_stack_layer
bool parse_stack_layer(char *s, stack_layer_t *l)
{
	if (streq("below", s)) {
		*l = LAYER_BELOW;
		return true;
	} else if (streq("normal", s)) {
		*l = LAYER_NORMAL;
		return true;
	} else if (streq("above", s)) {
		*l = LAYER_ABOVE;
		return true;
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0xe380(%rip), %rdi      # 0x2eeeb
callq 0x4800
cmpl $0x0, %eax
jne 0x20b85
movq -0x18(%rbp), %rax
movl $0x0, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20bd7
movq -0x10(%rbp), %rsi
leaq 0xe362(%rip), %rdi      # 0x2eef2
callq 0x4800
cmpl $0x0, %eax
jne 0x20baa
movq -0x18(%rbp), %rax
movl $0x1, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20bd7
movq -0x10(%rbp), %rsi
leaq 0xe345(%rip), %rdi      # 0x2eefa
callq 0x4800
cmpl $0x0, %eax
jne 0x20bcf
movq -0x18(%rbp), %rax
movl $0x2, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20bd7
jmp 0x20bd1
jmp 0x20bd3
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_direction
bool parse_direction(char *s, direction_t *d)
{
	if (streq("north", s)) {
		*d = DIR_NORTH;
		return true;
	} else if (streq("west", s)) {
		*d = DIR_WEST;
		return true;
	} else if (streq("south", s)) {
		*d = DIR_SOUTH;
		return true;
	} else if (streq("east", s)) {
		*d = DIR_EAST;
		return true;
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0xcc06(%rip), %rdi      # 0x2d811
callq 0x4800
cmpl $0x0, %eax
jne 0x20c25
movq -0x18(%rbp), %rax
movl $0x0, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20c9e
movq -0x10(%rbp), %rsi
leaq 0xe7cb(%rip), %rdi      # 0x2f3fb
callq 0x4800
cmpl $0x0, %eax
jne 0x20c4a
movq -0x18(%rbp), %rax
movl $0x1, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20c9e
movq -0x10(%rbp), %rsi
leaq 0xcbc2(%rip), %rdi      # 0x2d817
callq 0x4800
cmpl $0x0, %eax
jne 0x20c6f
movq -0x18(%rbp), %rax
movl $0x2, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20c9e
movq -0x10(%rbp), %rsi
leaq 0xcba3(%rip), %rdi      # 0x2d81d
callq 0x4800
cmpl $0x0, %eax
jne 0x20c94
movq -0x18(%rbp), %rax
movl $0x3, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20c9e
jmp 0x20c96
jmp 0x20c98
jmp 0x20c9a
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_cycle_direction
bool parse_cycle_direction(char *s, cycle_dir_t *d)
{
	if (streq("next", s)) {
		*d = CYCLE_NEXT;
		return true;
	} else if (streq("prev", s)) {
		*d = CYCLE_PREV;
		return true;
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0xdef6(%rip), %rdi      # 0x2ebc1
callq 0x4800
cmpl $0x0, %eax
jne 0x20ce5
movq -0x18(%rbp), %rax
movl $0x0, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20d10
movq -0x10(%rbp), %rsi
leaq 0xded6(%rip), %rdi      # 0x2ebc6
callq 0x4800
cmpl $0x0, %eax
jne 0x20d0a
movq -0x18(%rbp), %rax
movl $0x1, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20d10
jmp 0x20d0c
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_circulate_direction
bool parse_circulate_direction(char *s, circulate_dir_t *d)
{
	if (streq("forward", s)) {
		*d = CIRCULATE_FORWARD;
		return true;
	} else if (streq("backward", s)) {
		*d = CIRCULATE_BACKWARD;
		return true;
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0xde90(%rip), %rdi      # 0x2ebcb
callq 0x4800
cmpl $0x0, %eax
jne 0x20d55
movq -0x18(%rbp), %rax
movl $0x0, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20d80
movq -0x10(%rbp), %rsi
leaq 0xde73(%rip), %rdi      # 0x2ebd3
callq 0x4800
cmpl $0x0, %eax
jne 0x20d7a
movq -0x18(%rbp), %rax
movl $0x1, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20d80
jmp 0x20d7c
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_history_direction
bool parse_history_direction(char *s, history_dir_t *d)
{
	if (streq("older", s)) {
		*d = HISTORY_OLDER;
		return true;
	} else if (streq("newer", s)) {
		*d = HISTORY_NEWER;
		return true;
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0xde31(%rip), %rdi      # 0x2ebdc
callq 0x4800
cmpl $0x0, %eax
jne 0x20dc5
movq -0x18(%rbp), %rax
movl $0x0, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20df0
movq -0x10(%rbp), %rsi
leaq 0xde12(%rip), %rdi      # 0x2ebe2
callq 0x4800
cmpl $0x0, %eax
jne 0x20dea
movq -0x18(%rbp), %rax
movl $0x1, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20df0
jmp 0x20dec
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_flip
bool parse_flip(char *s, flip_t *f)
{
	if (streq("horizontal", s)) {
		*f = FLIP_HORIZONTAL;
		return true;
	} else if (streq("vertical", s)) {
		*f = FLIP_VERTICAL;
		return true;
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0xe0e6(%rip), %rdi      # 0x2ef01
callq 0x4800
cmpl $0x0, %eax
jne 0x20e35
movq -0x18(%rbp), %rax
movl $0x0, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20e60
movq -0x10(%rbp), %rsi
leaq 0xe0cd(%rip), %rdi      # 0x2ef0d
callq 0x4800
cmpl $0x0, %eax
jne 0x20e5a
movq -0x18(%rbp), %rax
movl $0x1, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20e60
jmp 0x20e5c
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_resize_handle
bool parse_resize_handle(char *s, resize_handle_t *h)
{
	if (streq("left", s)) {
		*h = HANDLE_LEFT;
		return true;
	} else if (streq("top", s)) {
		*h = HANDLE_TOP;
		return true;
	} else if (streq("right", s)) {
		*h = HANDLE_RIGHT;
		return true;
	} else if (streq("bottom", s)) {
		*h = HANDLE_BOTTOM;
		return true;
	} else if (streq("top_left", s)) {
		*h = HANDLE_TOP_LEFT;
		return true;
	} else if (streq("top_right", s)) {
		*h = HANDLE_TOP_RIGHT;
		return true;
	} else if (streq("bottom_right", s)) {
		*h = HANDLE_BOTTOM_RIGHT;
		return true;
	} else if (streq("bottom_left", s)) {
		*h = HANDLE_BOTTOM_LEFT;
		return true;
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0xdd8b(%rip), %rdi      # 0x2ec16
callq 0x4800
cmpl $0x0, %eax
jne 0x20ea8
movq -0x18(%rbp), %rax
movl $0x1, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20fc9
movq -0x10(%rbp), %rsi
leaq 0xc84c(%rip), %rdi      # 0x2d6ff
callq 0x4800
cmpl $0x0, %eax
jne 0x20ed0
movq -0x18(%rbp), %rax
movl $0x2, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20fc9
movq -0x10(%rbp), %rsi
leaq 0xdd2e(%rip), %rdi      # 0x2ec09
callq 0x4800
cmpl $0x0, %eax
jne 0x20ef8
movq -0x18(%rbp), %rax
movl $0x4, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20fc9
movq -0x10(%rbp), %rsi
leaq 0xdce5(%rip), %rdi      # 0x2ebe8
callq 0x4800
cmpl $0x0, %eax
jne 0x20f20
movq -0x18(%rbp), %rax
movl $0x8, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20fc9
movq -0x10(%rbp), %rsi
leaq 0xdcc4(%rip), %rdi      # 0x2ebef
callq 0x4800
cmpl $0x0, %eax
jne 0x20f48
movq -0x18(%rbp), %rax
movl $0x3, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20fc9
movq -0x10(%rbp), %rsi
leaq 0xdca5(%rip), %rdi      # 0x2ebf8
callq 0x4800
cmpl $0x0, %eax
jne 0x20f6d
movq -0x18(%rbp), %rax
movl $0x6, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20fc9
movq -0x10(%rbp), %rsi
leaq 0xdc8a(%rip), %rdi      # 0x2ec02
callq 0x4800
cmpl $0x0, %eax
jne 0x20f92
movq -0x18(%rbp), %rax
movl $0xc, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20fc9
movq -0x10(%rbp), %rsi
leaq 0xdc72(%rip), %rdi      # 0x2ec0f
callq 0x4800
cmpl $0x0, %eax
jne 0x20fb7
movq -0x18(%rbp), %rax
movl $0x9, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x20fc9
jmp 0x20fb9
jmp 0x20fbb
jmp 0x20fbd
jmp 0x20fbf
jmp 0x20fc1
jmp 0x20fc3
jmp 0x20fc5
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_modifier_mask
bool parse_modifier_mask(char *s, uint16_t *m)
{
	if (strcmp(s, "shift") == 0) {
		*m = XCB_MOD_MASK_SHIFT;
		return true;
	} else if (strcmp(s, "control") == 0) {
		*m = XCB_MOD_MASK_CONTROL;
		return true;
	} else if (strcmp(s, "lock") == 0) {
		*m = XCB_MOD_MASK_LOCK;
		return true;
	} else if (strcmp(s, "mod1") == 0) {
		*m = XCB_MOD_MASK_1;
		return true;
	} else if (strcmp(s, "mod2") == 0) {
		*m = XCB_MOD_MASK_2;
		return true;
	} else if (strcmp(s, "mod3") == 0) {
		*m = XCB_MOD_MASK_3;
		return true;
	} else if (strcmp(s, "mod4") == 0) {
		*m = XCB_MOD_MASK_4;
		return true;
	} else if (strcmp(s, "mod5") == 0) {
		*m = XCB_MOD_MASK_5;
		return true;
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
leaq 0xdc20(%rip), %rsi      # 0x2ec1b
callq 0x4800
cmpl $0x0, %eax
jne 0x21017
movq -0x18(%rbp), %rax
movw $0x1, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x2112e
movq -0x10(%rbp), %rdi
leaq 0xdbff(%rip), %rsi      # 0x2ec21
callq 0x4800
cmpl $0x0, %eax
jne 0x2103e
movq -0x18(%rbp), %rax
movw $0x4, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x2112e
movq -0x10(%rbp), %rdi
leaq 0xdbe0(%rip), %rsi      # 0x2ec29
callq 0x4800
cmpl $0x0, %eax
jne 0x21065
movq -0x18(%rbp), %rax
movw $0x2, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x2112e
movq -0x10(%rbp), %rdi
leaq 0xdbbe(%rip), %rsi      # 0x2ec2e
callq 0x4800
cmpl $0x0, %eax
jne 0x2108c
movq -0x18(%rbp), %rax
movw $0x8, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x2112e
movq -0x10(%rbp), %rdi
leaq 0xdb9c(%rip), %rsi      # 0x2ec33
callq 0x4800
cmpl $0x0, %eax
jne 0x210b0
movq -0x18(%rbp), %rax
movw $0x10, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x2112e
movq -0x10(%rbp), %rdi
leaq 0xdb7d(%rip), %rsi      # 0x2ec38
callq 0x4800
cmpl $0x0, %eax
jne 0x210d4
movq -0x18(%rbp), %rax
movw $0x20, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x2112e
movq -0x10(%rbp), %rdi
leaq 0xdb5e(%rip), %rsi      # 0x2ec3d
callq 0x4800
cmpl $0x0, %eax
jne 0x210f8
movq -0x18(%rbp), %rax
movw $0x40, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x2112e
movq -0x10(%rbp), %rdi
leaq 0xdb3f(%rip), %rsi      # 0x2ec42
callq 0x4800
cmpl $0x0, %eax
jne 0x2111c
movq -0x18(%rbp), %rax
movw $0x80, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x2112e
jmp 0x2111e
jmp 0x21120
jmp 0x21122
jmp 0x21124
jmp 0x21126
jmp 0x21128
jmp 0x2112a
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_button_index
bool parse_button_index(char *s, int8_t *b)
{
	if (strcmp(s, "any") == 0) {
		*b = XCB_BUTTON_INDEX_ANY;
		return true;
	} else if (strcmp(s, "button1") == 0) {
		*b = XCB_BUTTON_INDEX_1;
		return true;
	} else if (strcmp(s, "button2") == 0) {
		*b = XCB_BUTTON_INDEX_2;
		return true;
	} else if (strcmp(s, "button3") == 0) {
		*b = XCB_BUTTON_INDEX_3;
		return true;
	} else if (strcmp(s, "none") == 0) {
		*b = -1;
		return true;
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
leaq 0xdaec(%rip), %rsi      # 0x2ec47
callq 0x4800
cmpl $0x0, %eax
jne 0x21175
movq -0x18(%rbp), %rax
movb $0x0, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x21209
movq -0x10(%rbp), %rdi
leaq 0xdacb(%rip), %rsi      # 0x2ec4b
callq 0x4800
cmpl $0x0, %eax
jne 0x21197
movq -0x18(%rbp), %rax
movb $0x1, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x21209
movq -0x10(%rbp), %rdi
leaq 0xdab1(%rip), %rsi      # 0x2ec53
callq 0x4800
cmpl $0x0, %eax
jne 0x211b9
movq -0x18(%rbp), %rax
movb $0x2, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x21209
movq -0x10(%rbp), %rdi
leaq 0xda97(%rip), %rsi      # 0x2ec5b
callq 0x4800
cmpl $0x0, %eax
jne 0x211db
movq -0x18(%rbp), %rax
movb $0x3, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x21209
movq -0x10(%rbp), %rdi
leaq 0xda7d(%rip), %rsi      # 0x2ec63
callq 0x4800
cmpl $0x0, %eax
jne 0x211fd
movq -0x18(%rbp), %rax
movb $-0x1, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x21209
jmp 0x211ff
jmp 0x21201
jmp 0x21203
jmp 0x21205
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_pointer_action
bool parse_pointer_action(char *s, pointer_action_t *a)
{
	if (streq("move", s)) {
		*a = ACTION_MOVE;
		return true;
	} else if (streq("resize_corner", s)) {
		*a = ACTION_RESIZE_CORNER;
		return true;
	} else if (streq("resize_side", s)) {
		*a = ACTION_RESIZE_SIDE;
		return true;
	} else if (streq("focus", s)) {
		*a = ACTION_FOCUS;
		return true;
	} else if (streq("none", s)) {
		*a = ACTION_NONE;
		return true;
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0xcd9b(%rip), %rdi      # 0x2dfd6
callq 0x4800
cmpl $0x0, %eax
jne 0x21258
movq -0x18(%rbp), %rax
movl $0x2, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x212f8
movq -0x10(%rbp), %rsi
leaq 0xda05(%rip), %rdi      # 0x2ec68
callq 0x4800
cmpl $0x0, %eax
jne 0x2127d
movq -0x18(%rbp), %rax
movl $0x4, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x212f8
movq -0x10(%rbp), %rsi
leaq 0xd9ee(%rip), %rdi      # 0x2ec76
callq 0x4800
cmpl $0x0, %eax
jne 0x212a2
movq -0x18(%rbp), %rax
movl $0x3, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x212f8
movq -0x10(%rbp), %rsi
leaq 0xcbb8(%rip), %rdi      # 0x2de65
callq 0x4800
cmpl $0x0, %eax
jne 0x212c7
movq -0x18(%rbp), %rax
movl $0x1, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x212f8
movq -0x10(%rbp), %rsi
leaq 0xd991(%rip), %rdi      # 0x2ec63
callq 0x4800
cmpl $0x0, %eax
jne 0x212ec
movq -0x18(%rbp), %rax
movl $0x0, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x212f8
jmp 0x212ee
jmp 0x212f0
jmp 0x212f2
jmp 0x212f4
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_child_polarity
bool parse_child_polarity(char *s, child_polarity_t *p)
{
	if (streq("first_child", s)) {
		*p = FIRST_CHILD;
		return true;
	} else if (streq("second_child", s)) {
		*p = SECOND_CHILD;
		return true;
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0xd801(%rip), %rdi      # 0x2eb2c
callq 0x4800
cmpl $0x0, %eax
jne 0x21345
movq -0x18(%rbp), %rax
movl $0x0, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x21370
movq -0x10(%rbp), %rsi
leaq 0xd7e8(%rip), %rdi      # 0x2eb38
callq 0x4800
cmpl $0x0, %eax
jne 0x2136a
movq -0x18(%rbp), %rax
movl $0x1, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x21370
jmp 0x2136c
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_automatic_scheme
bool parse_automatic_scheme(char *s, automatic_scheme_t *a)
{
	if (streq("longest_side", s)) {
		*a = SCHEME_LONGEST_SIDE;
		return true;
	} else if (streq("alternate", s)) {
		*a = SCHEME_ALTERNATE;
		return true;
	} else if (streq("spiral", s)) {
		*a = SCHEME_SPIRAL;
		return true;
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0xd7aa(%rip), %rdi      # 0x2eb45
callq 0x4800
cmpl $0x0, %eax
jne 0x213b5
movq -0x18(%rbp), %rax
movl $0x0, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x21407
movq -0x10(%rbp), %rsi
leaq 0xd792(%rip), %rdi      # 0x2eb52
callq 0x4800
cmpl $0x0, %eax
jne 0x213da
movq -0x18(%rbp), %rax
movl $0x1, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x21407
movq -0x10(%rbp), %rsi
leaq 0xd777(%rip), %rdi      # 0x2eb5c
callq 0x4800
cmpl $0x0, %eax
jne 0x213ff
movq -0x18(%rbp), %rax
movl $0x2, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x21407
jmp 0x21401
jmp 0x21403
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_honor_size_hints_mode
bool parse_honor_size_hints_mode(char *s, honor_size_hints_mode_t *a)
{
	bool b;
	if (parse_bool(s, &b)) {
		*a = b ? HONOR_SIZE_HINTS_YES : HONOR_SIZE_HINTS_NO;
		return true;
	} else if (streq("floating", s)) {
		*a = HONOR_SIZE_HINTS_FLOATING;
		return true;
	} else if (streq("tiled", s)) {
		*a = HONOR_SIZE_HINTS_TILED;
		return true;
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x19(%rbp), %rsi
callq 0x208b0
testb $0x1, %al
jne 0x21443
jmp 0x2145f
movb -0x19(%rbp), %dl
xorl %ecx, %ecx
movl $0x1, %eax
testb $0x1, %dl
cmovnel %eax, %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x214b1
movq -0x10(%rbp), %rsi
leaq 0xda1a(%rip), %rdi      # 0x2ee84
callq 0x4800
cmpl $0x0, %eax
jne 0x21484
movq -0x18(%rbp), %rax
movl $0x2, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x214b1
movq -0x10(%rbp), %rsi
leaq 0xd9a4(%rip), %rdi      # 0x2ee33
callq 0x4800
cmpl $0x0, %eax
jne 0x214a9
movq -0x18(%rbp), %rax
movl $0x3, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x214b1
jmp 0x214ab
jmp 0x214ad
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_state_transition
bool parse_state_transition(char *s, state_transition_t *m)
{
	if (streq("none", s)) {
		*m = 0;
		return true;
	} else if (streq("all", s)) {
		*m = STATE_TRANSITION_ENTER | STATE_TRANSITION_EXIT;
		return true;
	} else {
		state_transition_t w = 0;
		char *x = copy_string(s, strlen(s));
		char *key = strtok(x, ",");
		while (key != NULL) {
			if (streq("enter", key)) {
				w |= STATE_TRANSITION_ENTER;
			} else if (streq("exit", key)) {
				w |= STATE_TRANSITION_EXIT;
			} else {
				free(x);
				return false;
			}
			key = strtok(NULL, ",");
		}
		free(x);
		if (w != 0) {
			*m = w;
			return true;
		} else {
			return false;
		}
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0xd788(%rip), %rdi      # 0x2ec63
callq 0x4800
cmpl $0x0, %eax
jne 0x214f8
movq -0x18(%rbp), %rax
movl $0x0, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x215ec
movq -0x10(%rbp), %rsi
leaq 0xd77f(%rip), %rdi      # 0x2ec82
callq 0x4800
cmpl $0x0, %eax
jne 0x21520
movq -0x18(%rbp), %rax
movl $0x3, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x215ec
movl $0x0, -0x1c(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rdi
callq 0x4460
movq -0x38(%rbp), %rdi
movq %rax, %rsi
callq 0x6750
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
leaq 0xdc51(%rip), %rsi      # 0x2f1a4
callq 0x4830
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0x215ca
movq -0x30(%rbp), %rsi
leaq 0xe1ce(%rip), %rdi      # 0x2f73c
callq 0x4800
cmpl $0x0, %eax
jne 0x21583
movl -0x1c(%rbp), %eax
orl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x215b4
movq -0x30(%rbp), %rsi
leaq 0xdd79(%rip), %rdi      # 0x2f307
callq 0x4800
cmpl $0x0, %eax
jne 0x215a3
movl -0x1c(%rbp), %eax
orl $0x2, %eax
movl %eax, -0x1c(%rbp)
jmp 0x215b2
movq -0x28(%rbp), %rdi
callq 0x4450
movb $0x0, -0x1(%rbp)
jmp 0x215ec
jmp 0x215b4
xorl %eax, %eax
movl %eax, %edi
leaq 0xdbe5(%rip), %rsi      # 0x2f1a4
callq 0x4830
movq %rax, -0x30(%rbp)
jmp 0x2155c
movq -0x28(%rbp), %rdi
callq 0x4450
cmpl $0x0, -0x1c(%rbp)
je 0x215e8
movl -0x1c(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x215ec
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_tightness
bool parse_tightness(char *s, tightness_t *t)
{
	if (streq("high", s)) {
		*t = TIGHTNESS_HIGH;
		return true;
	} else if (streq("low", s)) {
		*t = TIGHTNESS_LOW;
		return true;
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0xd553(%rip), %rdi      # 0x2eb6e
callq 0x4800
cmpl $0x0, %eax
jne 0x21635
movq -0x18(%rbp), %rax
movl $0x1, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x21660
movq -0x10(%rbp), %rsi
leaq 0xd8ad(%rip), %rdi      # 0x2eeed
callq 0x4800
cmpl $0x0, %eax
jne 0x2165a
movq -0x18(%rbp), %rax
movl $0x0, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x21660
jmp 0x2165c
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_degree
bool parse_degree(char *s, int *d)
{
	int i = atoi(s);
	while (i < 0)
		i += 360;
	while (i > 359)
		i -= 360;
	if ((i % 90) != 0) {
		return false;
	} else {
		*d = i;
		return true;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x4690
movl %eax, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
jge 0x2169f
movl -0x1c(%rbp), %eax
addl $0x168, %eax            # imm = 0x168
movl %eax, -0x1c(%rbp)
jmp 0x2168c
jmp 0x216a1
cmpl $0x167, -0x1c(%rbp)     # imm = 0x167
jle 0x216b7
movl -0x1c(%rbp), %eax
subl $0x168, %eax            # imm = 0x168
movl %eax, -0x1c(%rbp)
jmp 0x216a1
movl -0x1c(%rbp), %eax
movl $0x5a, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
je 0x216cd
movb $0x0, -0x1(%rbp)
jmp 0x216da
movl -0x1c(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_id
bool parse_id(char *s, uint32_t *id)
{
	char *end;
	errno = 0;
	uint32_t v = strtol(s, &end, 0);
	if (errno != 0 || *end != '\0') {
		return false;
	}
	*id = v;
	return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
callq 0x4780
movl $0x0, (%rax)
movq -0x10(%rbp), %rdi
leaq -0x20(%rbp), %rsi
xorl %edx, %edx
callq 0x4660
movl %eax, -0x24(%rbp)
callq 0x4780
cmpl $0x0, (%rax)
jne 0x21733
movq -0x20(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x21739
movb $0x0, -0x1(%rbp)
jmp 0x21746
movl -0x24(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_bool_declaration
bool parse_bool_declaration(char *s, char **key, bool *value, alter_state_t *state)
{
	*key = strtok(s, EQL_TOK);
	char *v = strtok(NULL, EQL_TOK);
	if (v == NULL) {
		*state = ALTER_TOGGLE;
		return true;
	} else {
		if (parse_bool(v, value)) {
			*state = ALTER_SET;
			return true;
		} else {
			return false;
		}
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x10(%rbp), %rdi
leaq 0xc7b9(%rip), %rsi      # 0x2df3c
callq 0x4830
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
xorl %eax, %eax
movl %eax, %edi
leaq 0xc79f(%rip), %rsi      # 0x2df3c
callq 0x4830
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
jne 0x217bd
movq -0x28(%rbp), %rax
movl $0x0, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x217e4
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x208b0
testb $0x1, %al
jne 0x217d0
jmp 0x217e0
movq -0x28(%rbp), %rax
movl $0x1, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x217e4
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_rectangle
bool parse_rectangle(char *s, xcb_rectangle_t *r)
{
	uint16_t w, h;
	int16_t x, y;
	if (sscanf(s, "%hux%hu+%hi+%hi", &w, &h, &x, &y) != 4) {
		return false;
	}
	r->width = w;
	r->height = h;
	r->x = x;
	r->y = y;
	return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
leaq 0xd440(%rip), %rsi      # 0x2ec8b
leaq -0x1a(%rbp), %rdx
leaq -0x1c(%rbp), %rcx
leaq -0x1e(%rbp), %r8
leaq -0x20(%rbp), %r9
movb $0x0, %al
callq 0x41c0
cmpl $0x4, %eax
je 0x2186d
movb $0x0, -0x1(%rbp)
jmp 0x218a0
movw -0x1a(%rbp), %cx
movq -0x18(%rbp), %rax
movw %cx, 0x4(%rax)
movw -0x1c(%rbp), %cx
movq -0x18(%rbp), %rax
movw %cx, 0x6(%rax)
movw -0x1e(%rbp), %cx
movq -0x18(%rbp), %rax
movw %cx, (%rax)
movw -0x20(%rbp), %cx
movq -0x18(%rbp), %rax
movw %cx, 0x2(%rax)
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/parse.c
// Function: parse_monitor_modifiers
bool parse_monitor_modifiers(char *desc, monitor_select_t *sel)
{
	char *tok;
	while ((tok = strrchr(desc, CAT_CHR)) != NULL) {
		tok[0] = '\0';
		tok++;
		if (streq("occupied", tok)) {
			sel->occupied = OPTION_TRUE;
		} else if (streq("!occupied", tok)) {
			sel->occupied = OPTION_FALSE;
		GET_MOD(focused)
		} else {
			return false;
		}
	}
	return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movl $0x2e, %esi
callq 0x4550
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
je 0x21e66
movq -0x20(%rbp), %rax
movb $0x0, (%rax)
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rsi
leaq 0xd02f(%rip), %rdi      # 0x2ee09
callq 0x4800
cmpl $0x0, %eax
jne 0x21df0
movq -0x18(%rbp), %rax
movl $0x1, (%rax)
jmp 0x21e61
movq -0x20(%rbp), %rsi
leaq 0xd00d(%rip), %rdi      # 0x2ee08
callq 0x4800
cmpl $0x0, %eax
jne 0x21e11
movq -0x18(%rbp), %rax
movl $0x2, (%rax)
jmp 0x21e5f
movq -0x20(%rbp), %rsi
leaq 0xcff7(%rip), %rdi      # 0x2ee13
callq 0x4800
cmpl $0x0, %eax
jne 0x21e33
movq -0x18(%rbp), %rax
movl $0x1, 0x4(%rax)
jmp 0x21e5d
movq -0x20(%rbp), %rsi
leaq 0xcfd4(%rip), %rdi      # 0x2ee12
callq 0x4800
cmpl $0x0, %eax
jne 0x21e55
movq -0x18(%rbp), %rax
movl $0x2, 0x4(%rax)
jmp 0x21e5b
movb $0x0, -0x1(%rbp)
jmp 0x21e6a
jmp 0x21e5d
jmp 0x21e5f
jmp 0x21e61
jmp 0x21da0
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)