LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/query.c
// Function: query_state
void query_state(FILE *rsp)
{
	fprintf(rsp, "{");
	fprintf(rsp, "\"focusedMonitorId\":%u,", mon->id);
	if (pri_mon != NULL) {
		fprintf(rsp, "\"primaryMonitorId\":%u,", pri_mon->id);
	}
	fprintf(rsp, "\"clientsCount\":%i,", clients_count);
	fprintf(rsp, "\"monitors\":");
	fprintf(rsp, "[");
	for (monitor_t *m = mon_head; m != NULL; m = m->next) {
		query_monitor(m, rsp);
		if (m->next != NULL) {
			fprintf(rsp, ",");
		}
	}
	fprintf(rsp, "]");
	fprintf(rsp,",");
	fprintf(rsp, "\"focusHistory\":");
	query_history(rsp);
	fprintf(rsp,",");
	fprintf(rsp, "\"stackingList\":");
	query_stack(rsp);
	if (restart) {
		fprintf(rsp,",");
		fprintf(rsp, "\"eventSubscribers\":");
		query_subscribers(rsp);
	}
	fprintf(rsp, "}");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
leaq 0xc5f9(%rip), %rsi      # 0x2ef40
movb $0x0, %al
callq 0x4a00
movq -0x8(%rbp), %rdi
leaq 0x12da7(%rip), %rax     # 0x35700
movq (%rax), %rax
movl 0x20(%rax), %edx
leaq 0xc5dc(%rip), %rsi      # 0x2ef42
movb $0x0, %al
callq 0x4a00
leaq 0x12d74(%rip), %rax     # 0x356e8
cmpq $0x0, (%rax)
je 0x22999
movq -0x8(%rbp), %rdi
leaq 0x12d63(%rip), %rax     # 0x356e8
movq (%rax), %rax
movl 0x20(%rax), %edx
leaq 0xc5c7(%rip), %rsi      # 0x2ef59
movb $0x0, %al
callq 0x4a00
movq -0x8(%rbp), %rdi
leaq 0x12d40(%rip), %rax     # 0x356e4
movl (%rax), %edx
leaq 0xc5c3(%rip), %rsi      # 0x2ef70
movb $0x0, %al
callq 0x4a00
movq -0x8(%rbp), %rdi
leaq 0xc5c4(%rip), %rsi      # 0x2ef83
movb $0x0, %al
callq 0x4a00
movq -0x8(%rbp), %rdi
leaq 0xc5be(%rip), %rsi      # 0x2ef8f
movb $0x0, %al
callq 0x4a00
leaq 0x12d19(%rip), %rax     # 0x356f8
movq (%rax), %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x22a27
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x22af0
movq -0x10(%rbp), %rax
cmpq $0x0, 0x78(%rax)
je 0x22a17
movq -0x8(%rbp), %rdi
leaq 0xc794(%rip), %rsi      # 0x2f1a4
movb $0x0, %al
callq 0x4a00
jmp 0x22a19
movq -0x10(%rbp), %rax
movq 0x78(%rax), %rax
movq %rax, -0x10(%rbp)
jmp 0x229e6
movq -0x8(%rbp), %rdi
leaq 0xc55f(%rip), %rsi      # 0x2ef91
movb $0x0, %al
callq 0x4a00
movq -0x8(%rbp), %rdi
leaq 0xc760(%rip), %rsi      # 0x2f1a4
movb $0x0, %al
callq 0x4a00
movq -0x8(%rbp), %rdi
leaq 0xc53d(%rip), %rsi      # 0x2ef93
movb $0x0, %al
callq 0x4a00
movq -0x8(%rbp), %rdi
callq 0x22d00
movq -0x8(%rbp), %rdi
leaq 0xc733(%rip), %rsi      # 0x2f1a4
movb $0x0, %al
callq 0x4a00
movq -0x8(%rbp), %rdi
leaq 0xc520(%rip), %rsi      # 0x2efa3
movb $0x0, %al
callq 0x4a00
movq -0x8(%rbp), %rdi
callq 0x22d90
leaq 0x12c36(%rip), %rax     # 0x356d0
testb $0x1, (%rax)
je 0x22acc
movq -0x8(%rbp), %rdi
leaq 0xc6fa(%rip), %rsi      # 0x2f1a4
movb $0x0, %al
callq 0x4a00
movq -0x8(%rbp), %rdi
leaq 0xc4f7(%rip), %rsi      # 0x2efb3
movb $0x0, %al
callq 0x4a00
movq -0x8(%rbp), %rdi
callq 0x22e30
movq -0x8(%rbp), %rdi
leaq 0xc6a6(%rip), %rsi      # 0x2f17d
movb $0x0, %al
callq 0x4a00
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/query.c
// Function: query_history
void query_history(FILE *rsp)
{
	fprintf(rsp, "[");
	for (history_t *h = history_head; h != NULL; h = h->next) {
		query_coordinates(&h->loc, rsp);
		if (h->next != NULL) {
			fprintf(rsp, ",");
		}
	}
	fprintf(rsp, "]");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
leaq 0xc278(%rip), %rsi      # 0x2ef8f
movb $0x0, %al
callq 0x4a00
leaq 0x129f3(%rip), %rax     # 0x35718
movq (%rax), %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x22d6d
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x23840
movq -0x10(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x22d5d
movq -0x8(%rbp), %rdi
leaq 0xc44e(%rip), %rsi      # 0x2f1a4
movb $0x0, %al
callq 0x4a00
jmp 0x22d5f
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x10(%rbp)
jmp 0x22d2c
movq -0x8(%rbp), %rdi
leaq 0xc219(%rip), %rsi      # 0x2ef91
movb $0x0, %al
callq 0x4a00
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/query.c
// Function: query_stack
void query_stack(FILE *rsp)
{
	fprintf(rsp, "[");
	for (stacking_list_t *s = stack_head; s != NULL; s = s->next) {
		fprintf(rsp, "%u", s->node->id);
		if (s->next != NULL) {
			fprintf(rsp, ",");
		}
	}
	fprintf(rsp, "]");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
leaq 0xc1e8(%rip), %rsi      # 0x2ef8f
movb $0x0, %al
callq 0x4a00
leaq 0x12983(%rip), %rax     # 0x35738
movq (%rax), %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x22e0b
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rax
movl (%rax), %edx
leaq 0xb9d4(%rip), %rsi      # 0x2e7ab
movb $0x0, %al
callq 0x4a00
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x22dfb
movq -0x8(%rbp), %rdi
leaq 0xc3b0(%rip), %rsi      # 0x2f1a4
movb $0x0, %al
callq 0x4a00
jmp 0x22dfd
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x10(%rbp)
jmp 0x22dbc
movq -0x8(%rbp), %rdi
leaq 0xc17b(%rip), %rsi      # 0x2ef91
movb $0x0, %al
callq 0x4a00
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/query.c
// Function: query_subscribers
void query_subscribers(FILE *rsp)
{
	fprintf(rsp, "[");
	for (subscriber_list_t *s = subscribe_head; s != NULL; s = s->next) {
		fprintf(rsp, "{\"fileDescriptor\": %i", fileno(s->stream));
		if (s->fifo_path != NULL) {
			fprintf(rsp, ",\"fifoPath\":\"%s\"", s->fifo_path);
		}
		fprintf(rsp, ",\"field\":%i,\"count\":%i}", s->field, s->count);
		if (s->next != NULL) {
			fprintf(rsp, ",");
		}
	}
	fprintf(rsp, "]");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
leaq 0xc148(%rip), %rsi      # 0x2ef8f
movb $0x0, %al
callq 0x4a00
leaq 0x128f3(%rip), %rax     # 0x35748
movq (%rax), %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x22f04
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x4060
movq -0x18(%rbp), %rdi
movl %eax, %edx
leaq 0xc43e(%rip), %rsi      # 0x2f2c6
movb $0x0, %al
callq 0x4a00
movq -0x10(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x22eb4
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdx
leaq 0xc42f(%rip), %rsi      # 0x2f2dc
movb $0x0, %al
callq 0x4a00
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %edx
movq -0x10(%rbp), %rax
movl 0x14(%rax), %ecx
leaq 0xc420(%rip), %rsi      # 0x2f2ed
movb $0x0, %al
callq 0x4a00
movq -0x10(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x22ef1
movq -0x8(%rbp), %rdi
leaq 0xc2ba(%rip), %rsi      # 0x2f1a4
movb $0x0, %al
callq 0x4a00
jmp 0x22ef3
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x10(%rbp)
jmp 0x22e5c
movq -0x8(%rbp), %rdi
leaq 0xc082(%rip), %rsi      # 0x2ef91
movb $0x0, %al
callq 0x4a00
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/query.c
// Function: query_desktop
void query_desktop(desktop_t *d, FILE *rsp)
{
	fprintf(rsp, "{");
	fprintf(rsp, "\"name\":\"%s\",", d->name);
	fprintf(rsp, "\"id\":%u,", d->id);
	fprintf(rsp, "\"layout\":\"%s\",", LAYOUT_STR(d->layout));
	fprintf(rsp, "\"userLayout\":\"%s\",", LAYOUT_STR(d->user_layout));
	fprintf(rsp, "\"windowGap\":%i,", d->window_gap);
	fprintf(rsp, "\"borderWidth\":%u,", d->border_width);
	fprintf(rsp, "\"focusedNodeId\":%u,", d->focus != NULL ? d->focus->id : 0);
	fprintf(rsp, "\"padding\":");
	query_padding(d->padding, rsp);
	fprintf(rsp,",");
	fprintf(rsp, "\"root\":");
	query_node(d->root, rsp);
	fprintf(rsp, "}");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
leaq 0xbf85(%rip), %rsi      # 0x2ef40
movb $0x0, %al
callq 0x4a00
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rdx
leaq 0xbff6(%rip), %rsi      # 0x2efc7
movb $0x0, %al
callq 0x4a00
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movl 0x20(%rax), %edx
leaq 0xbfea(%rip), %rsi      # 0x2efd4
movb $0x0, %al
callq 0x4a00
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movl 0x24(%rax), %ecx
leaq 0xbe37(%rip), %rdx      # 0x2ee3a
leaq 0xbe29(%rip), %rax      # 0x2ee33
cmpl $0x0, %ecx
cmoveq %rax, %rdx
leaq 0xc04e(%rip), %rsi      # 0x2f066
movb $0x0, %al
callq 0x4a00
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movl 0x28(%rax), %ecx
leaq 0xbe09(%rip), %rdx      # 0x2ee3a
leaq 0xbdfb(%rip), %rax      # 0x2ee33
cmpl $0x0, %ecx
cmoveq %rax, %rdx
leaq 0xc02f(%rip), %rsi      # 0x2f075
movb $0x0, %al
callq 0x4a00
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movl 0x60(%rax), %edx
leaq 0xbfaa(%rip), %rsi      # 0x2f009
movb $0x0, %al
callq 0x4a00
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movl 0x64(%rax), %edx
leaq 0xbfa1(%rip), %rsi      # 0x2f019
movb $0x0, %al
callq 0x4a00
movq -0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x230a1
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rax
movl (%rax), %eax
movl %eax, -0x1c(%rbp)
jmp 0x230a8
xorl %eax, %eax
movl %eax, -0x1c(%rbp)
jmp 0x230a8
movq -0x18(%rbp), %rdi
movl -0x1c(%rbp), %edx
leaq 0xbfd2(%rip), %rsi      # 0x2f088
movb $0x0, %al
callq 0x4a00
movq -0x10(%rbp), %rdi
leaq 0xbf7a(%rip), %rsi      # 0x2f042
movb $0x0, %al
callq 0x4a00
movq -0x8(%rbp), %rax
movq -0x10(%rbp), %rdx
movq 0x50(%rax), %rdi
movq 0x58(%rax), %rsi
callq 0x22f20
movq -0x10(%rbp), %rdi
leaq 0xc0b5(%rip), %rsi      # 0x2f1a4
movb $0x0, %al
callq 0x4a00
movq -0x10(%rbp), %rdi
leaq 0xbf9b(%rip), %rsi      # 0x2f09c
movb $0x0, %al
callq 0x4a00
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x23140
movq -0x10(%rbp), %rdi
leaq 0xc059(%rip), %rsi      # 0x2f17d
movb $0x0, %al
callq 0x4a00
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/query.c
// Function: query_presel
void query_presel(presel_t *p, FILE *rsp)
{
	if (p == NULL) {
		fprintf(rsp, "null");
	} else {
		fprintf(rsp, "{\"splitDir\":\"%s\",\"splitRatio\":%lf}", SPLIT_DIR_STR(p->split_dir), p->split_ratio);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x2346b
movq -0x10(%rbp), %rdi
leaq 0xbc42(%rip), %rsi      # 0x2f0a4
movb $0x0, %al
callq 0x4a00
jmp 0x234e7
movq -0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x8(%rax)
jne 0x2348a
leaq 0xa38d(%rip), %rax      # 0x2d811
movq %rax, -0x20(%rbp)
jmp 0x234c9
movq -0x8(%rbp), %rax
cmpl $0x1, 0x8(%rax)
jne 0x234a1
leaq 0xbf60(%rip), %rax      # 0x2f3fb
movq %rax, -0x28(%rbp)
jmp 0x234c1
movq -0x8(%rbp), %rax
movl 0x8(%rax), %edx
leaq 0xa36e(%rip), %rax      # 0x2d81d
leaq 0xa361(%rip), %rcx      # 0x2d817
cmpl $0x2, %edx
cmoveq %rcx, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rdx
movq -0x8(%rbp), %rax
movsd (%rax), %xmm0
leaq 0xbc7c(%rip), %rsi      # 0x2f15c
movb $0x1, %al
callq 0x4a00
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/query.c
// Function: query_node_ids
int query_node_ids(coordinates_t *mon_ref, coordinates_t *desk_ref, coordinates_t* ref, coordinates_t *trg, monitor_select_t *mon_sel, desktop_select_t *desk_sel, node_select_t *sel, FILE *rsp)
{
	int count = 0;
	for (monitor_t *m = mon_head; m != NULL; m = m->next) {
		coordinates_t loc = {m, NULL, NULL};
		if ((trg->monitor != NULL && m != trg->monitor) ||
		    (mon_sel != NULL && !monitor_matches(&loc, mon_ref, mon_sel))) {
			continue;
		}
		for (desktop_t *d = m->desk_head; d != NULL; d = d->next) {
			coordinates_t loc = {m, d, NULL};
			if ((trg->desktop != NULL && d != trg->desktop) ||
			    (desk_sel != NULL && !desktop_matches(&loc, desk_ref, desk_sel))) {
				continue;
			}
			count += query_node_ids_in(d->root, d, m, ref, trg, sel, rsp);
		}
	}
	return count;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq 0x18(%rbp), %rax
movq 0x10(%rbp), %rax
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movl $0x0, -0x34(%rbp)
leaq 0x11dff(%rip), %rax     # 0x356f8
movq (%rax), %rax
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
je 0x23a14
movq -0x40(%rbp), %rax
movq %rax, -0x58(%rbp)
movq $0x0, -0x50(%rbp)
movq $0x0, -0x48(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, (%rax)
je 0x2393a
movq -0x40(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq (%rcx), %rax
jne 0x23956
cmpq $0x0, -0x28(%rbp)
je 0x2395b
movq -0x8(%rbp), %rsi
movq -0x28(%rbp), %rdx
leaq -0x58(%rbp), %rdi
callq 0x23a20
testb $0x1, %al
jne 0x2395b
jmp 0x23a03
movq -0x40(%rbp), %rax
movq 0x60(%rax), %rax
movq %rax, -0x60(%rbp)
cmpq $0x0, -0x60(%rbp)
je 0x23a01
movq -0x40(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
movq $0x0, -0x68(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x239a3
movq -0x60(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jne 0x239bf
cmpq $0x0, -0x30(%rbp)
je 0x239c1
movq -0x10(%rbp), %rsi
movq -0x30(%rbp), %rdx
leaq -0x78(%rbp), %rdi
callq 0x23ab0
testb $0x1, %al
jne 0x239c1
jmp 0x239f0
movq -0x60(%rbp), %rax
movq 0x30(%rax), %rdi
movq -0x60(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %r8
movq 0x10(%rbp), %r9
movq 0x18(%rbp), %rax
movq %rax, (%rsp)
callq 0x23cd0
addl -0x34(%rbp), %eax
movl %eax, -0x34(%rbp)
movq -0x60(%rbp), %rax
movq 0x48(%rax), %rax
movq %rax, -0x60(%rbp)
jmp 0x23967
jmp 0x23a03
movq -0x40(%rbp), %rax
movq 0x78(%rax), %rax
movq %rax, -0x40(%rbp)
jmp 0x23900
movl -0x34(%rbp), %eax
addq $0x80, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/query.c
// Function: monitor_matches
bool monitor_matches(coordinates_t *loc, __attribute__((unused)) coordinates_t *ref, monitor_select_t *sel)
{
	if (sel->occupied != OPTION_NONE &&
	    loc->monitor->desk->root == NULL
	    ? sel->occupied == OPTION_TRUE
	    : sel->occupied == OPTION_FALSE) {
		return false;
	}

	if (sel->focused != OPTION_NONE &&
	    loc->monitor != mon
	    ? sel->focused == OPTION_TRUE
	    : sel->focused == OPTION_FALSE) {
		return false;
	}

	return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpl $0x0, (%rax)
je 0x23a56
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x58(%rax), %rax
cmpq $0x0, 0x30(%rax)
jne 0x23a56
movq -0x20(%rbp), %rax
cmpl $0x1, (%rax)
je 0x23a5f
jmp 0x23a65
movq -0x20(%rbp), %rax
cmpl $0x2, (%rax)
jne 0x23a65
movb $0x0, -0x1(%rbp)
jmp 0x23aa2
movq -0x20(%rbp), %rax
cmpl $0x0, 0x4(%rax)
je 0x23a8e
movq -0x10(%rbp), %rax
movq (%rax), %rax
leaq 0x11c83(%rip), %rcx     # 0x35700
cmpq (%rcx), %rax
je 0x23a8e
movq -0x20(%rbp), %rax
cmpl $0x1, 0x4(%rax)
je 0x23a98
jmp 0x23a9e
movq -0x20(%rbp), %rax
cmpl $0x2, 0x4(%rax)
jne 0x23a9e
movb $0x0, -0x1(%rbp)
jmp 0x23aa2
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/query.c
// Function: query_node_ids_in
int query_node_ids_in(node_t *n, desktop_t *d, monitor_t *m, coordinates_t *ref, coordinates_t *trg, node_select_t *sel, FILE *rsp)
{
	int count = 0;
	if (n == NULL) {
		return 0;
	} else {
		coordinates_t loc = {m, d, n};
		if ((trg->node == NULL || n == trg->node) &&
		    (sel == NULL || node_matches(&loc, ref, sel))) {
			fprintf(rsp, "0x%08X\n", n->id);
			count++;
		}
		count += query_node_ids_in(n->first_child, d, m, ref, trg, sel, rsp);
		count += query_node_ids_in(n->second_child, d, m, ref, trg, sel, rsp);
	}
	return count;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq 0x10(%rbp), %rax
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq %r9, -0x38(%rbp)
movl $0x0, -0x3c(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x23d0e
movl $0x0, -0x4(%rbp)
jmp 0x23de2
movq -0x20(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x30(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x23d3f
movq -0x10(%rbp), %rax
movq -0x30(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jne 0x23d7e
cmpq $0x0, -0x38(%rbp)
je 0x23d5d
movq -0x28(%rbp), %rsi
movq -0x38(%rbp), %rdx
leaq -0x58(%rbp), %rdi
callq 0x23df0
testb $0x1, %al
jne 0x23d5d
jmp 0x23d7e
movq 0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movl (%rax), %edx
leaq 0x9bfa(%rip), %rsi      # 0x2d968
movb $0x0, %al
callq 0x4a00
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
movq -0x30(%rbp), %r8
movq -0x38(%rbp), %r9
movq 0x10(%rbp), %rax
movq %rax, (%rsp)
callq 0x23cd0
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
movq -0x30(%rbp), %r8
movq -0x38(%rbp), %r9
movq 0x10(%rbp), %rax
movq %rax, (%rsp)
callq 0x23cd0
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/query.c
// Function: query_desktop_ids
int query_desktop_ids(coordinates_t* mon_ref, coordinates_t *ref, coordinates_t *trg, monitor_select_t *mon_sel, desktop_select_t *sel, desktop_printer_t printer, FILE *rsp)
{
	int count = 0;
	for (monitor_t *m = mon_head; m != NULL; m = m->next) {
		coordinates_t loc = {m, NULL, NULL};
		if ((trg->monitor != NULL && m != trg->monitor) ||
		    (mon_sel != NULL && !monitor_matches(&loc, mon_ref, mon_sel))) {
			continue;
		}
		for (desktop_t *d = m->desk_head; d != NULL; d = d->next) {
			coordinates_t loc = {m, d, NULL};
			if ((trg->desktop != NULL && d != trg->desktop) ||
			    (sel != NULL && !desktop_matches(&loc, ref, sel))) {
				continue;
			}
			printer(d, rsp);
			count++;
		}
	}
	return count;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq 0x10(%rbp), %rax
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movl $0x0, -0x34(%rbp)
leaq 0x11223(%rip), %rax     # 0x356f8
movq (%rax), %rax
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
je 0x245d1
movq -0x40(%rbp), %rax
movq %rax, -0x58(%rbp)
movq $0x0, -0x50(%rbp)
movq $0x0, -0x48(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, (%rax)
je 0x24516
movq -0x40(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq (%rcx), %rax
jne 0x24532
cmpq $0x0, -0x20(%rbp)
je 0x24537
movq -0x8(%rbp), %rsi
movq -0x20(%rbp), %rdx
leaq -0x58(%rbp), %rdi
callq 0x23a20
testb $0x1, %al
jne 0x24537
jmp 0x245c0
movq -0x40(%rbp), %rax
movq 0x60(%rax), %rax
movq %rax, -0x60(%rbp)
cmpq $0x0, -0x60(%rbp)
je 0x245be
movq -0x40(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
movq $0x0, -0x68(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x2457b
movq -0x60(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jne 0x24597
cmpq $0x0, -0x28(%rbp)
je 0x24599
movq -0x10(%rbp), %rsi
movq -0x28(%rbp), %rdx
leaq -0x78(%rbp), %rdi
callq 0x23ab0
testb $0x1, %al
jne 0x24599
jmp 0x245b0
movq -0x30(%rbp), %rax
movq -0x60(%rbp), %rdi
movq 0x10(%rbp), %rsi
callq *%rax
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
movq -0x60(%rbp), %rax
movq 0x48(%rax), %rax
movq %rax, -0x60(%rbp)
jmp 0x24543
jmp 0x245c0
movq -0x40(%rbp), %rax
movq 0x78(%rax), %rax
movq %rax, -0x40(%rbp)
jmp 0x244dc
movl -0x34(%rbp), %eax
addq $0x80, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/query.c
// Function: query_monitor_ids
int query_monitor_ids(coordinates_t *ref, coordinates_t *trg, monitor_select_t *sel, monitor_printer_t printer, FILE *rsp)
{
	int count = 0;
	for (monitor_t *m = mon_head; m != NULL; m = m->next) {
		coordinates_t loc = {m, NULL, NULL};
		if ((trg->monitor != NULL && m != trg->monitor) ||
		    (sel != NULL && !monitor_matches(&loc, ref, sel))) {
			continue;
		}
		printer(m, rsp);
		count++;
	}
	return count;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movl $0x0, -0x2c(%rbp)
leaq 0x110ee(%rip), %rax     # 0x356f8
movq (%rax), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
je 0x2468a
movq -0x38(%rbp), %rax
movq %rax, -0x50(%rbp)
movq $0x0, -0x48(%rbp)
movq $0x0, -0x40(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x24647
movq -0x38(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq (%rcx), %rax
jne 0x24663
cmpq $0x0, -0x18(%rbp)
je 0x24665
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x50(%rbp), %rdi
callq 0x23a20
testb $0x1, %al
jne 0x24665
jmp 0x2467c
movq -0x20(%rbp), %rax
movq -0x38(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq *%rax
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
movq -0x38(%rbp), %rax
movq 0x78(%rax), %rax
movq %rax, -0x38(%rbp)
jmp 0x24611
movl -0x2c(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/query.c
// Function: print_ignore_request
void print_ignore_request(state_transition_t st, FILE *rsp)
{
	if (st == 0) {
		fprintf(rsp, "none");
	} else {
		unsigned int cnt = 0;
		if (st & STATE_TRANSITION_ENTER) {
			fprintf(rsp, "enter");
			cnt++;
		}
		if (st & STATE_TRANSITION_EXIT) {
			fprintf(rsp, "%sexit", cnt > 0 ? "," : "");
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
cmpl $0x0, -0x4(%rbp)
jne 0x24789
movq -0x10(%rbp), %rdi
leaq 0xa4e3(%rip), %rsi      # 0x2ec63
movb $0x0, %al
callq 0x4a00
jmp 0x247ed
movl $0x0, -0x14(%rbp)
movl -0x4(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x247b6
movq -0x10(%rbp), %rdi
leaq 0xaf96(%rip), %rsi      # 0x2f73c
movb $0x0, %al
callq 0x4a00
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
movl -0x4(%rbp), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x247eb
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %ecx
leaq 0xa3f1(%rip), %rdx      # 0x2ebc0
leaq 0xa9ce(%rip), %rax      # 0x2f1a4
cmpl $0x0, %ecx
cmovaq %rax, %rdx
leaq 0xab21(%rip), %rsi      # 0x2f305
movb $0x0, %al
callq 0x4a00
jmp 0x247ed
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/query.c
// Function: print_modifier_mask
void print_modifier_mask(uint16_t m, FILE *rsp)
{
	switch (m) {
		case XCB_MOD_MASK_SHIFT:
			fprintf(rsp, "shift");
			break;
		case XCB_MOD_MASK_CONTROL:
			fprintf(rsp, "control");
			break;
		case XCB_MOD_MASK_LOCK:
			fprintf(rsp, "lock");
			break;
		case XCB_MOD_MASK_1:
			fprintf(rsp, "mod1");
			break;
		case XCB_MOD_MASK_2:
			fprintf(rsp, "mod2");
			break;
		case XCB_MOD_MASK_3:
			fprintf(rsp, "mod3");
			break;
		case XCB_MOD_MASK_4:
			fprintf(rsp, "mod4");
			break;
		case XCB_MOD_MASK_5:
			fprintf(rsp, "mod5");
			break;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movw %di, %ax
movw %ax, -0x2(%rbp)
movq %rsi, -0x10(%rbp)
movzwl -0x2(%rbp), %eax
movl %eax, -0x14(%rbp)
subl $0x1, %eax
je 0x2487c
jmp 0x24821
movl -0x14(%rbp), %eax
subl $0x2, %eax
je 0x248a7
jmp 0x2482b
movl -0x14(%rbp), %eax
subl $0x4, %eax
je 0x24893
jmp 0x24835
movl -0x14(%rbp), %eax
subl $0x8, %eax
je 0x248bb
jmp 0x2483f
movl -0x14(%rbp), %eax
subl $0x10, %eax
je 0x248cf
jmp 0x2484d
movl -0x14(%rbp), %eax
subl $0x20, %eax
je 0x248e3
jmp 0x2485b
movl -0x14(%rbp), %eax
subl $0x40, %eax
je 0x248f7
jmp 0x24869
movl -0x14(%rbp), %eax
subl $0x80, %eax
je 0x2490b
jmp 0x2491d
movq -0x10(%rbp), %rdi
leaq 0xa394(%rip), %rsi      # 0x2ec1b
movb $0x0, %al
callq 0x4a00
jmp 0x2491d
movq -0x10(%rbp), %rdi
leaq 0xa383(%rip), %rsi      # 0x2ec21
movb $0x0, %al
callq 0x4a00
jmp 0x2491d
movq -0x10(%rbp), %rdi
leaq 0xa377(%rip), %rsi      # 0x2ec29
movb $0x0, %al
callq 0x4a00
jmp 0x2491d
movq -0x10(%rbp), %rdi
leaq 0xa368(%rip), %rsi      # 0x2ec2e
movb $0x0, %al
callq 0x4a00
jmp 0x2491d
movq -0x10(%rbp), %rdi
leaq 0xa359(%rip), %rsi      # 0x2ec33
movb $0x0, %al
callq 0x4a00
jmp 0x2491d
movq -0x10(%rbp), %rdi
leaq 0xa34a(%rip), %rsi      # 0x2ec38
movb $0x0, %al
callq 0x4a00
jmp 0x2491d
movq -0x10(%rbp), %rdi
leaq 0xa33b(%rip), %rsi      # 0x2ec3d
movb $0x0, %al
callq 0x4a00
jmp 0x2491d
movq -0x10(%rbp), %rdi
leaq 0xa32c(%rip), %rsi      # 0x2ec42
movb $0x0, %al
callq 0x4a00
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/query.c
// Function: print_button_index
void print_button_index(int8_t b, FILE *rsp)
{
	switch (b) {
		case XCB_BUTTON_INDEX_ANY:
			fprintf(rsp, "any");
			break;
		case XCB_BUTTON_INDEX_1:
			fprintf(rsp, "button1");
			break;
		case XCB_BUTTON_INDEX_2:
			fprintf(rsp, "button2");
			break;
		case XCB_BUTTON_INDEX_3:
			fprintf(rsp, "button3");
			break;
		case -1:
			fprintf(rsp, "none");
			break;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %dil, %al
movb %al, -0x1(%rbp)
movq %rsi, -0x10(%rbp)
movsbl -0x1(%rbp), %eax
incl %eax
movl %eax, %ecx
movq %rcx, -0x18(%rbp)
subl $0x4, %eax
ja 0x249c9
movq -0x18(%rbp), %rax
leaq 0xa5ba(%rip), %rcx      # 0x2ef18
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x10(%rbp), %rdi
leaq 0xa2d5(%rip), %rsi      # 0x2ec47
movb $0x0, %al
callq 0x4a00
jmp 0x249c9
movq -0x10(%rbp), %rdi
leaq 0xa2c5(%rip), %rsi      # 0x2ec4b
movb $0x0, %al
callq 0x4a00
jmp 0x249c9
movq -0x10(%rbp), %rdi
leaq 0xa2b9(%rip), %rsi      # 0x2ec53
movb $0x0, %al
callq 0x4a00
jmp 0x249c9
movq -0x10(%rbp), %rdi
leaq 0xa2ad(%rip), %rsi      # 0x2ec5b
movb $0x0, %al
callq 0x4a00
jmp 0x249c9
movq -0x10(%rbp), %rdi
leaq 0xa2a1(%rip), %rsi      # 0x2ec63
movb $0x0, %al
callq 0x4a00
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/query.c
// Function: print_pointer_action
void print_pointer_action(pointer_action_t a, FILE *rsp)
{
	switch (a) {
		case ACTION_MOVE:
			fprintf(rsp, "move");
			break;
		case ACTION_RESIZE_SIDE:
			fprintf(rsp, "resize_side");
			break;
		case ACTION_RESIZE_CORNER:
			fprintf(rsp, "resize_corner");
			break;
		case ACTION_FOCUS:
			fprintf(rsp, "focus");
			break;
		case ACTION_NONE:
			fprintf(rsp, "none");
			break;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
movl -0x4(%rbp), %eax
movq %rax, -0x18(%rbp)
subq $0x4, %rax
ja 0x24a62
movq -0x18(%rbp), %rax
leaq 0xa535(%rip), %rcx      # 0x2ef2c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x10(%rbp), %rdi
leaq 0x95cb(%rip), %rsi      # 0x2dfd6
movb $0x0, %al
callq 0x4a00
jmp 0x24a62
movq -0x10(%rbp), %rdi
leaq 0xa257(%rip), %rsi      # 0x2ec76
movb $0x0, %al
callq 0x4a00
jmp 0x24a62
movq -0x10(%rbp), %rdi
leaq 0xa235(%rip), %rsi      # 0x2ec68
movb $0x0, %al
callq 0x4a00
jmp 0x24a62
movq -0x10(%rbp), %rdi
leaq 0x941e(%rip), %rsi      # 0x2de65
movb $0x0, %al
callq 0x4a00
jmp 0x24a62
movq -0x10(%rbp), %rdi
leaq 0xa208(%rip), %rsi      # 0x2ec63
movb $0x0, %al
callq 0x4a00
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/query.c
// Function: resolve_rule_consequence
void resolve_rule_consequence(rule_consequence_t *csq)
{
	coordinates_t ref = {mon, mon->desk, mon->desk->focus};
	coordinates_t dst = {NULL, NULL, NULL};
	monitor_t *monitor = monitor_from_desc(csq->monitor_desc, &ref, &dst) != SELECTOR_OK ? NULL : dst.monitor;
	desktop_t *desktop = desktop_from_desc(csq->desktop_desc, &ref, &dst) != SELECTOR_OK ? NULL : dst.desktop;
	node_t *node = node_from_desc(csq->node_desc, &ref, &dst) != SELECTOR_OK ? NULL : dst.node;

#define PRINT_OBJECT_ID(name) \
	if (name == NULL) { \
		csq->name##_desc[0] = '\0'; \
	} else { \
		snprintf(csq->name##_desc, 11, "0x%08X", name->id); \
	}
	PRINT_OBJECT_ID(monitor)
	PRINT_OBJECT_ID(desktop)
	PRINT_OBJECT_ID(node)
#undef PRINT_OBJECT_ID
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
leaq 0x10c7d(%rip), %rax     # 0x35700
movq (%rax), %rax
movq %rax, -0x20(%rbp)
leaq 0x10c6f(%rip), %rax     # 0x35700
movq (%rax), %rax
movq 0x58(%rax), %rax
movq %rax, -0x18(%rbp)
leaq 0x10c5d(%rip), %rax     # 0x35700
movq (%rax), %rax
movq 0x58(%rax), %rax
movq 0x38(%rax), %rax
movq %rax, -0x10(%rbp)
leaq -0x38(%rbp), %rdi
xorl %esi, %esi
movl $0x18, %edx
callq 0x4100
movq -0x8(%rbp), %rdi
addq $0x300, %rdi            # imm = 0x300
leaq -0x20(%rbp), %rsi
leaq -0x38(%rbp), %rdx
callq 0x24c20
cmpl $0x0, %eax
je 0x24ae7
xorl %eax, %eax
movq %rax, -0x58(%rbp)
jmp 0x24aef
movq -0x38(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rdi
addq $0x400, %rdi            # imm = 0x400
leaq -0x20(%rbp), %rsi
leaq -0x38(%rbp), %rdx
callq 0x25140
cmpl $0x0, %eax
je 0x24b1c
xorl %eax, %eax
movq %rax, -0x60(%rbp)
jmp 0x24b24
movq -0x30(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rdi
addq $0x500, %rdi            # imm = 0x500
leaq -0x20(%rbp), %rsi
leaq -0x38(%rbp), %rdx
callq 0x25770
cmpl $0x0, %eax
je 0x24b51
xorl %eax, %eax
movq %rax, -0x68(%rbp)
jmp 0x24b59
movq -0x28(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x40(%rbp)
jne 0x24b75
movq -0x8(%rbp), %rax
movb $0x0, 0x300(%rax)
jmp 0x24b9a
movq -0x8(%rbp), %rdi
addq $0x300, %rdi            # imm = 0x300
movq -0x40(%rbp), %rax
movl 0x20(%rax), %ecx
movl $0xb, %esi
leaq 0xa779(%rip), %rdx      # 0x2f30c
movb $0x0, %al
callq 0x4120
cmpq $0x0, -0x48(%rbp)
jne 0x24bae
movq -0x8(%rbp), %rax
movb $0x0, 0x400(%rax)
jmp 0x24bd3
movq -0x8(%rbp), %rdi
addq $0x400, %rdi            # imm = 0x400
movq -0x48(%rbp), %rax
movl 0x20(%rax), %ecx
movl $0xb, %esi
leaq 0xa740(%rip), %rdx      # 0x2f30c
movb $0x0, %al
callq 0x4120
cmpq $0x0, -0x50(%rbp)
jne 0x24be7
movq -0x8(%rbp), %rax
movb $0x0, 0x500(%rax)
jmp 0x24c0b
movq -0x8(%rbp), %rdi
addq $0x500, %rdi            # imm = 0x500
movq -0x50(%rbp), %rax
movl (%rax), %ecx
movl $0xb, %esi
leaq 0xa708(%rip), %rdx      # 0x2f30c
movb $0x0, %al
callq 0x4120
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/query.c
// Function: locate_leaf
bool locate_leaf(xcb_window_t win, coordinates_t *loc)
{
	for (monitor_t *m = mon_head; m != NULL; m = m->next) {
		for (desktop_t *d = m->desk_head; d != NULL; d = d->next) {
			for (node_t *n = first_extrema(d->root); n != NULL; n = next_leaf(n, d->root)) {
				if (n->id == win) {
					loc->monitor = m;
					loc->desktop = d;
					loc->node = n;
					return true;
				}
			}
		}
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq 0xf112(%rip), %rax      # 0x356f8
movq (%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x26693
movq -0x18(%rbp), %rax
movq 0x60(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x26680
movq -0x20(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0xbe70
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x26670
movq -0x28(%rbp), %rax
movl (%rax), %eax
cmpl -0x8(%rbp), %eax
jne 0x26657
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x28(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movb $0x1, -0x1(%rbp)
jmp 0x26697
jmp 0x26659
movq -0x28(%rbp), %rdi
movq -0x20(%rbp), %rax
movq 0x30(%rax), %rsi
callq 0xbf80
movq %rax, -0x28(%rbp)
jmp 0x2661c
jmp 0x26672
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq %rax, -0x20(%rbp)
jmp 0x26604
jmp 0x26682
movq -0x18(%rbp), %rax
movq 0x78(%rax), %rax
movq %rax, -0x18(%rbp)
jmp 0x265ed
movb $0x0, -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/query.c
// Function: locate_desktop
bool locate_desktop(char *name, coordinates_t *loc)
{
	for (monitor_t *m = mon_head; m != NULL; m = m->next) {
		for (desktop_t *d = m->desk_head; d != NULL; d = d->next) {
			if (streq(d->name, name)) {
				loc->monitor = m;
				loc->desktop = d;
				return true;
			}
		}
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
leaq 0xf031(%rip), %rax      # 0x356f8
movq (%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x26737
movq -0x20(%rbp), %rax
movq 0x60(%rax), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x26727
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4800
cmpl $0x0, %eax
jne 0x26717
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
movb $0x1, -0x1(%rbp)
jmp 0x2673b
jmp 0x26719
movq -0x28(%rbp), %rax
movq 0x48(%rax), %rax
movq %rax, -0x28(%rbp)
jmp 0x266e1
jmp 0x26729
movq -0x20(%rbp), %rax
movq 0x78(%rax), %rax
movq %rax, -0x20(%rbp)
jmp 0x266ce
movb $0x0, -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/query.c
// Function: desktop_from_index
bool desktop_from_index(uint16_t idx, coordinates_t *loc, monitor_t *mm)
{
	for (monitor_t *m = mon_head; m != NULL; m = m->next) {
		if (mm != NULL && m != mm) {
			continue;
		}
		for (desktop_t *d = m->desk_head; d != NULL; d = d->next, idx--) {
			if (idx == 1) {
				loc->monitor = m;
				loc->desktop = d;
				loc->node = NULL;
				return true;
			}
		}
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movw %di, %ax
movw %ax, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
leaq 0xef8e(%rip), %rax      # 0x356f8
movq (%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x26803
cmpq $0x0, -0x18(%rbp)
je 0x2678f
movq -0x20(%rbp), %rax
cmpq -0x18(%rbp), %rax
je 0x2678f
jmp 0x267f2
movq -0x20(%rbp), %rax
movq 0x60(%rax), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x267f0
movzwl -0x4(%rbp), %eax
cmpl $0x1, %eax
jne 0x267d4
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x10(%rax)
movb $0x1, -0x1(%rbp)
jmp 0x26807
jmp 0x267d6
movq -0x28(%rbp), %rax
movq 0x48(%rax), %rax
movq %rax, -0x28(%rbp)
movw -0x4(%rbp), %ax
addw $-0x1, %ax
movw %ax, -0x4(%rbp)
jmp 0x2679b
jmp 0x267f2
movq -0x20(%rbp), %rax
movq 0x78(%rax), %rax
movq %rax, -0x20(%rbp)
jmp 0x26771
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/query.c
// Function: desktop_from_id
bool desktop_from_id(uint32_t id, coordinates_t *loc, monitor_t *mm)
{
	for (monitor_t *m = mon_head; m != NULL; m = m->next) {
		if (mm != NULL && m != mm) {
			continue;
		}
		for (desktop_t *d = m->desk_head; d != NULL; d = d->next) {
			if (d->id == id) {
				loc->monitor = m;
				loc->desktop = d;
				loc->node = NULL;
				return true;
			}
		}
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
leaq 0xeed2(%rip), %rax      # 0x356f8
movq (%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x268b2
cmpq $0x0, -0x18(%rbp)
je 0x26847
movq -0x20(%rbp), %rax
cmpq -0x18(%rbp), %rax
je 0x26847
jmp 0x268a1
movq -0x20(%rbp), %rax
movq 0x60(%rax), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x2689f
movq -0x28(%rbp), %rax
movl 0x20(%rax), %eax
cmpl -0x8(%rbp), %eax
jne 0x2688f
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x10(%rax)
movb $0x1, -0x1(%rbp)
jmp 0x268b6
jmp 0x26891
movq -0x28(%rbp), %rax
movq 0x48(%rax), %rax
movq %rax, -0x28(%rbp)
jmp 0x26853
jmp 0x268a1
movq -0x20(%rbp), %rax
movq 0x78(%rax), %rax
movq %rax, -0x20(%rbp)
jmp 0x2682d
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/query.c
// Function: desktop_from_name
bool desktop_from_name(char *name, coordinates_t *ref, coordinates_t *dst, desktop_select_t *sel, int *hits)
{
	for (monitor_t *m = mon_head; m != NULL; m = m->next) {
		for (desktop_t *d = m->desk_head; d != NULL; d = d->next) {
			if (streq(d->name, name)) {
				if (hits != NULL) {
					(*hits)++;
				}
				coordinates_t loc = {m, d, NULL};
				if (desktop_matches(&loc, ref, sel)) {
					dst->monitor = m;
					dst->desktop = d;
					return true;
				}
			}
		}
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
leaq 0xee15(%rip), %rax      # 0x356f8
movq (%rax), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
je 0x269a4
movq -0x38(%rbp), %rax
movq 0x60(%rax), %rax
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
je 0x26991
movq -0x40(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4800
cmpl $0x0, %eax
jne 0x2697e
cmpq $0x0, -0x30(%rbp)
je 0x26930
movq -0x30(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
movq -0x38(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
movq $0x0, -0x48(%rbp)
movq -0x18(%rbp), %rsi
movq -0x28(%rbp), %rdx
leaq -0x58(%rbp), %rdi
callq 0x23ab0
testb $0x1, %al
jne 0x2695f
jmp 0x2697c
movq -0x38(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movb $0x1, -0x1(%rbp)
jmp 0x269a8
jmp 0x2697e
jmp 0x26980
movq -0x40(%rbp), %rax
movq 0x48(%rax), %rax
movq %rax, -0x40(%rbp)
jmp 0x26901
jmp 0x26993
movq -0x38(%rbp), %rax
movq 0x78(%rax), %rax
movq %rax, -0x38(%rbp)
jmp 0x268ea
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/query.c
// Function: locate_monitor
bool locate_monitor(char *name, coordinates_t *loc)
{
	for (monitor_t *m = mon_head; m != NULL; m = m->next) {
		if (streq(m->name, name)) {
			loc->monitor = m;
			return true;
		}
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
leaq 0xed21(%rip), %rax      # 0x356f8
movq (%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x26a18
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4800
cmpl $0x0, %eax
jne 0x26a08
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x26a1c
jmp 0x26a0a
movq -0x20(%rbp), %rax
movq 0x78(%rax), %rax
movq %rax, -0x20(%rbp)
jmp 0x269de
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/query.c
// Function: monitor_from_index
bool monitor_from_index(int idx, coordinates_t *loc)
{
	for (monitor_t *m = mon_head; m != NULL; m = m->next, idx--) {
		if (idx == 1) {
			loc->monitor = m;
			loc->desktop = NULL;
			loc->node = NULL;
			return true;
		}
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq 0xecb6(%rip), %rax      # 0x356f8
movq (%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x26a98
cmpl $0x1, -0x8(%rbp)
jne 0x26a7f
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x8(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x10(%rax)
movb $0x1, -0x1(%rbp)
jmp 0x26a9c
jmp 0x26a81
movq -0x18(%rbp), %rax
movq 0x78(%rax), %rax
movq %rax, -0x18(%rbp)
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x26a49
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/query.c
// Function: monitor_from_id
bool monitor_from_id(uint32_t id, coordinates_t *loc)
{
	for (monitor_t *m = mon_head; m != NULL; m = m->next) {
		if (m->id == id) {
			loc->monitor = m;
			loc->desktop = NULL;
			loc->node = NULL;
			return true;
		}
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq 0xec36(%rip), %rax      # 0x356f8
movq (%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x26b15
movq -0x18(%rbp), %rax
movl 0x20(%rax), %eax
cmpl -0x8(%rbp), %eax
jne 0x26b05
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x8(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x10(%rax)
movb $0x1, -0x1(%rbp)
jmp 0x26b19
jmp 0x26b07
movq -0x18(%rbp), %rax
movq 0x78(%rax), %rax
movq %rax, -0x18(%rbp)
jmp 0x26ac9
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/query.c
// Function: locate_window
bool locate_window(xcb_window_t win, coordinates_t *loc)
{
	for (monitor_t *m = mon_head; m != NULL; m = m->next) {
		for (desktop_t *d = m->desk_head; d != NULL; d = d->next) {
			for (node_t *n = first_extrema(d->root); n != NULL; n = next_leaf(n, d->root)) {
				if (n->client == NULL) {
					continue;
				}
				if (n->id == win) {
					loc->monitor = m;
					loc->desktop = d;
					loc->node = n;
					return true;
				}
			}
		}
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq 0xebc2(%rip), %rax      # 0x356f8
movq (%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x26bf7
movq -0x18(%rbp), %rax
movq 0x60(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x26be4
movq -0x20(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0xbe70
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x26bd1
movq -0x28(%rbp), %rax
cmpq $0x0, 0x48(%rax)
jne 0x26b84
jmp 0x26bba
movq -0x28(%rbp), %rax
movl (%rax), %eax
cmpl -0x8(%rbp), %eax
jne 0x26bb8
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x28(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movb $0x1, -0x1(%rbp)
jmp 0x26bfb
jmp 0x26bba
movq -0x28(%rbp), %rdi
movq -0x20(%rbp), %rax
movq 0x30(%rax), %rsi
callq 0xbf80
movq %rax, -0x28(%rbp)
jmp 0x26b70
jmp 0x26bd3
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq %rax, -0x20(%rbp)
jmp 0x26b54
jmp 0x26be6
movq -0x18(%rbp), %rax
movq 0x78(%rax), %rax
movq %rax, -0x18(%rbp)
jmp 0x26b3d
movb $0x0, -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/restore.c
// Function: restore_history
void restore_history(jsmntok_t **t, char *json)
{
	int s = (*t)->size;
	(*t)++;

	for (int i = 0; i < s; i++) {
		coordinates_t loc = {NULL, NULL, NULL};
		restore_coordinates(&loc, t, json);
		if (loc.monitor != NULL && loc.desktop != NULL) {
			history_add(loc.monitor, loc.desktop, loc.node, true);
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movl 0xc(%rax), %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
addq $0x10, %rcx
movq %rcx, (%rax)
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x2795c
leaq -0x30(%rbp), %rdi
xorl %esi, %esi
movl $0x18, %edx
callq 0x4100
movq -0x8(%rbp), %rsi
movq -0x10(%rbp), %rdx
leaq -0x30(%rbp), %rdi
callq 0x29190
cmpq $0x0, -0x30(%rbp)
je 0x2794f
cmpq $0x0, -0x28(%rbp)
je 0x2794f
movq -0x30(%rbp), %rdi
movq -0x28(%rbp), %rsi
movq -0x20(%rbp), %rdx
movl $0x1, %ecx
callq 0x12420
jmp 0x27951
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x27902
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/restore.c
// Function: restore_stack
void restore_stack(jsmntok_t **t, char *json)
{
	int s = (*t)->size;
	(*t)++;

	for (int i = 0; i < s; i++) {
		uint32_t id;
		sscanf(json + (*t)->start, "%u", &id);
		coordinates_t loc;
		if (locate_window(id, &loc)) {
			stack_insert_after(stack_tail, loc.node);
		}
		(*t)++;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movl 0xc(%rax), %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
addq $0x10, %rcx
movq %rcx, (%rax)
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x27a0c
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq (%rax), %rax
movslq 0x4(%rax), %rax
addq %rax, %rdi
leaq 0x6de8(%rip), %rsi      # 0x2e7ab
leaq -0x1c(%rbp), %rdx
movb $0x0, %al
callq 0x41c0
movl -0x1c(%rbp), %edi
leaq -0x38(%rbp), %rsi
callq 0x26b20
testb $0x1, %al
jne 0x279e0
jmp 0x279f3
leaq 0xdd49(%rip), %rax      # 0x35730
movq (%rax), %rdi
movq -0x28(%rbp), %rsi
callq 0x11c00
movq -0x8(%rbp), %rax
movq (%rax), %rcx
addq $0x10, %rcx
movq %rcx, (%rax)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x279a2
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/restore.c
// Function: restore_subscribers
void restore_subscribers(jsmntok_t **t, char *json)
{
	int s = (*t)->size;
	(*t)++;

	for (int i = 0; i < s; i++) {
		subscriber_list_t *s = make_subscriber(NULL, NULL, 0, 0);
		restore_subscriber(s, t, json);
		add_subscriber(s);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movl 0xc(%rax), %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
addq $0x10, %rcx
movq %rcx, (%rax)
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x27a93
xorl %eax, %eax
movl %eax, %esi
xorl %ecx, %ecx
movq %rsi, %rdi
movl %ecx, %edx
callq 0x2bb40
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movq -0x8(%rbp), %rsi
movq -0x10(%rbp), %rdx
callq 0x29360
movq -0x20(%rbp), %rdi
callq 0x2bcd0
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x27a52
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)