// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/messages.c
// Function: cmd_query
void cmd_query(char **args, int num, FILE *rsp)
{
	coordinates_t monitor_ref = {mon, NULL, NULL};
	coordinates_t desktop_ref = {mon, mon->desk, NULL};
	coordinates_t node_ref = {mon, mon->desk, mon->desk->focus};
	coordinates_t trg = {NULL, NULL, NULL};
	monitor_select_t *monitor_sel = NULL;
	desktop_select_t *desktop_sel = NULL;
	node_select_t *node_sel = NULL;
	domain_t dom = DOMAIN_TREE;
	bool print_ids = true;
	uint8_t d = 0;

	if (num < 1) {
		fail(rsp, "query: Missing arguments.\n");
		return;
	}

	while (num > 0) {
		if (streq("-T", *args) || streq("--tree", *args)) {
			dom = DOMAIN_TREE, d++;
		} else if (streq("-M", *args) || streq("--monitors", *args)) {
			dom = DOMAIN_MONITOR, d++;
			if (num > 1 && *(args + 1)[0] != OPT_CHR) {
				num--, args++;
				int ret;
				coordinates_t tmp = monitor_ref;
				monitor_ref.desktop = NULL;
				monitor_ref.node = NULL;
				if ((ret = monitor_from_desc(*args, &tmp, &monitor_ref)) != SELECTOR_OK) {
					handle_failure(ret, "query -M", *args, rsp);
					goto end;
				}
			}
		} else if (streq("-D", *args) || streq("--desktops", *args)) {
			dom = DOMAIN_DESKTOP, d++;
			if (num > 1 && *(args + 1)[0] != OPT_CHR) {
				num--, args++;
				int ret;
				coordinates_t tmp = desktop_ref;
				desktop_ref.node = NULL;
				if ((ret = desktop_from_desc(*args, &tmp, &desktop_ref)) != SELECTOR_OK) {
					handle_failure(ret, "query -D", *args, rsp);
					goto end;
				}
			}
		} else if (streq("-N", *args) || streq("--nodes", *args)) {
			dom = DOMAIN_NODE, d++;
			if (num > 1 && *(args + 1)[0] != OPT_CHR) {
				num--, args++;
				int ret;
				coordinates_t tmp = node_ref;
				if ((ret = node_from_desc(*args, &tmp, &node_ref)) != SELECTOR_OK) {
					handle_failure(ret, "query -N", *args, rsp);
					goto end;
				}
			}
		} else if (streq("-m", *args) || streq("--monitor", *args)) {
			if (num > 1 && *(args + 1)[0] != OPT_CHR) {
				num--, args++;
				int ret;
				if ((*args)[0] == '.') {
					free(monitor_sel);
					monitor_sel = malloc(sizeof(monitor_select_t));
					*monitor_sel = make_monitor_select();
					char *desc = copy_string(*args, strlen(*args));
					if (!parse_monitor_modifiers(desc, monitor_sel)) {
						handle_failure(SELECTOR_BAD_MODIFIERS, "query -m", *args, rsp);
						free(desc);
						goto end;
					}
					free(desc);
				} else if ((ret = monitor_from_desc(*args, &monitor_ref, &trg)) != SELECTOR_OK) {
					handle_failure(ret, "query -m", *args, rsp);
					goto end;
				}
			} else {
				trg = monitor_ref;
			}
		} else if (streq("-d", *args) || streq("--desktop", *args)) {
			if (num > 1 && *(args + 1)[0] != OPT_CHR) {
				num--, args++;
				int ret;
				if ((*args)[0] == '.') {
					free(desktop_sel);
					desktop_sel = malloc(sizeof(desktop_select_t));
					*desktop_sel = make_desktop_select();
					char *desc = copy_string(*args, strlen(*args));
					if (!parse_desktop_modifiers(desc, desktop_sel)) {
						handle_failure(SELECTOR_BAD_MODIFIERS, "query -d", *args, rsp);
						free(desc);
						goto end;
					}
					free(desc);
				} else if ((ret = desktop_from_desc(*args, &desktop_ref, &trg)) != SELECTOR_OK) {
					handle_failure(ret, "query -d", *args, rsp);
					goto end;
				}
			} else {
				trg = desktop_ref;
			}
		} else if (streq("-n", *args) || streq("--node", *args)) {
			if (num > 1 && *(args + 1)[0] != OPT_CHR) {
				num--, args++;
				int ret;
				if ((*args)[0] == '.') {
					free(node_sel);
					node_sel = malloc(sizeof(node_select_t));
					*node_sel = make_node_select();
					char *desc = copy_string(*args, strlen(*args));
					if (!parse_node_modifiers(desc, node_sel)) {
						handle_failure(SELECTOR_BAD_MODIFIERS, "query -n", *args, rsp);
						free(desc);
						goto end;
					}
					free(desc);
				} else if ((ret = node_from_desc(*args, &node_ref, &trg)) != SELECTOR_OK) {
					handle_failure(ret, "query -n", *args, rsp);
					goto end;
				}
			} else {
				trg = node_ref;
				if (trg.node == NULL) {
					fail(rsp, "");
					goto end;
				}
			}
		} else if (streq("--names", *args)) {
			print_ids = false;
		} else {
			fail(rsp, "query: Unknown option: '%s'.\n", *args);
			goto end;
		}
		num--, args++;
	}

	if (d < 1) {
		fail(rsp, "query: No commands given.\n");
		goto end;
	}

	if (d > 1) {
		fail(rsp, "query: Multiple commands given.\n");
		goto end;
	}

	if (dom == DOMAIN_TREE && trg.monitor == NULL) {
		fail(rsp, "query -T: No options given.\n");
		goto end;
	}

	if (!print_ids && (dom == DOMAIN_NODE || dom == DOMAIN_TREE)) {
		fail(rsp, "query -%c: --names only applies to -M and -D.\n", dom == DOMAIN_NODE ? 'N' : 'T');
		goto end;
	}

	if ((dom == DOMAIN_MONITOR && (desktop_sel != NULL || node_sel != NULL)) ||
	    (dom == DOMAIN_DESKTOP && node_sel != NULL)) {
		fail(rsp, "query -%c: Incompatible descriptor-free constraints.\n", dom == DOMAIN_MONITOR ? 'M' : 'D');
		goto end;
	}

	if (dom == DOMAIN_NODE) {
		if (query_node_ids(&monitor_ref, &desktop_ref, &node_ref, &trg, monitor_sel, desktop_sel, node_sel, rsp) < 1) {
			fail(rsp, "");
		}
	} else if (dom == DOMAIN_DESKTOP) {
		if (query_desktop_ids(&monitor_ref, &desktop_ref, &trg, monitor_sel, desktop_sel, print_ids ? fprint_desktop_id : fprint_desktop_name, rsp) < 1) {
			fail(rsp, "");
		}
	} else if (dom == DOMAIN_MONITOR) {
		if (query_monitor_ids(&monitor_ref, &trg, monitor_sel, print_ids ? fprint_monitor_id : fprint_monitor_name, rsp) < 1) {
			fail(rsp, "");
		}
	} else {
		if (trg.node != NULL) {
			query_node(trg.node, rsp);
		} else if (trg.desktop != NULL) {
			query_desktop(trg.desktop, rsp);
		} else  {
			query_monitor(trg.monitor, rsp);
		}
		fprintf(rsp, "\n");
	}

end:
	free(monitor_sel);
	free(desktop_sel);
	free(node_sel);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1f0, %rsp            # imm = 0x1F0
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
leaq 0x19463(%rip), %rax     # 0x35700
movq (%rax), %rax
movq %rax, -0x30(%rbp)
movq $0x0, -0x28(%rbp)
movq $0x0, -0x20(%rbp)
leaq 0x19445(%rip), %rax     # 0x35700
movq (%rax), %rax
movq %rax, -0x48(%rbp)
leaq 0x19437(%rip), %rax     # 0x35700
movq (%rax), %rax
movq 0x58(%rax), %rax
movq %rax, -0x40(%rbp)
movq $0x0, -0x38(%rbp)
leaq 0x1941d(%rip), %rax     # 0x35700
movq (%rax), %rax
movq %rax, -0x60(%rbp)
leaq 0x1940f(%rip), %rax     # 0x35700
movq (%rax), %rax
movq 0x58(%rax), %rax
movq %rax, -0x58(%rbp)
leaq 0x193fd(%rip), %rax     # 0x35700
movq (%rax), %rax
movq 0x58(%rax), %rax
movq 0x38(%rax), %rax
movq %rax, -0x50(%rbp)
leaq -0x78(%rbp), %rdi
xorl %esi, %esi
movl $0x18, %edx
callq 0x4100
movq $0x0, -0x80(%rbp)
movq $0x0, -0x88(%rbp)
movq $0x0, -0x90(%rbp)
movl $0x0, -0x94(%rbp)
movb $0x1, -0x95(%rbp)
movb $0x0, -0x96(%rbp)
cmpl $0x1, -0xc(%rbp)
jge 0x1c375
movq -0x18(%rbp), %rdi
leaq 0x11fe3(%rip), %rsi     # 0x2e34c
movb $0x0, %al
callq 0x18d60
jmp 0x1ceb5
jmp 0x1c377
cmpl $0x0, -0xc(%rbp)
jle 0x1cc1e
movq -0x8(%rbp), %rax
movq (%rax), %rsi
leaq 0x11fd8(%rip), %rdi     # 0x2e367
callq 0x4800
cmpl $0x0, %eax
je 0x1c3b1
movq -0x8(%rbp), %rax
movq (%rax), %rsi
leaq 0x11fc3(%rip), %rdi     # 0x2e36a
callq 0x4800
cmpl $0x0, %eax
jne 0x1c3ce
movl $0x0, -0x94(%rbp)
movb -0x96(%rbp), %al
addb $0x1, %al
movb %al, -0x96(%rbp)
jmp 0x1cc04
movq -0x8(%rbp), %rax
movq (%rax), %rsi
leaq 0x11fa6(%rip), %rdi     # 0x2e382
callq 0x4800
cmpl $0x0, %eax
je 0x1c402
movq -0x8(%rbp), %rax
movq (%rax), %rsi
leaq 0x11f7d(%rip), %rdi     # 0x2e371
callq 0x4800
cmpl $0x0, %eax
jne 0x1c4c9
movl $0x1, -0x94(%rbp)
movb -0x96(%rbp), %al
addb $0x1, %al
movb %al, -0x96(%rbp)
cmpl $0x1, -0xc(%rbp)
jle 0x1c4c4
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0x1c4c4
movl -0xc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x8(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq $0x0, -0x28(%rbp)
movq $0x0, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq -0xb8(%rbp), %rsi
leaq -0x30(%rbp), %rdx
callq 0x24c20
movl %eax, -0x9c(%rbp)
cmpl $0x0, %eax
je 0x1c4c2
movl -0x9c(%rbp), %edi
movq -0x8(%rbp), %rax
movq (%rax), %rdx
movq -0x18(%rbp), %rcx
leaq 0x11ec4(%rip), %rsi     # 0x2e37c
callq 0x1df60
jmp 0x1ce94
jmp 0x1c4c4
jmp 0x1cc02
movq -0x8(%rbp), %rax
movq (%rax), %rsi
leaq 0x11ebf(%rip), %rdi     # 0x2e396
callq 0x4800
cmpl $0x0, %eax
je 0x1c4fd
movq -0x8(%rbp), %rax
movq (%rax), %rsi
leaq 0x11e96(%rip), %rdi     # 0x2e385
callq 0x4800
cmpl $0x0, %eax
jne 0x1c5bc
movl $0x2, -0x94(%rbp)
movb -0x96(%rbp), %al
addb $0x1, %al
movb %al, -0x96(%rbp)
cmpl $0x1, -0xc(%rbp)
jle 0x1c5b7
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0x1c5b7
movl -0xc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x8(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0xd8(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0xd0(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq $0x0, -0x38(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq -0xd8(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0x25140
movl %eax, -0xbc(%rbp)
cmpl $0x0, %eax
je 0x1c5b5
movl -0xbc(%rbp), %edi
movq -0x8(%rbp), %rax
movq (%rax), %rdx
movq -0x18(%rbp), %rcx
leaq 0x11de5(%rip), %rsi     # 0x2e390
callq 0x1df60
jmp 0x1ce94
jmp 0x1c5b7
jmp 0x1cc00
movq -0x8(%rbp), %rax
movq (%rax), %rsi
leaq 0x11ddd(%rip), %rdi     # 0x2e3a7
callq 0x4800
cmpl $0x0, %eax
je 0x1c5f0
movq -0x8(%rbp), %rax
movq (%rax), %rsi
leaq 0x11db7(%rip), %rdi     # 0x2e399
callq 0x4800
cmpl $0x0, %eax
jne 0x1c6a3
movl $0x3, -0x94(%rbp)
movb -0x96(%rbp), %al
addb $0x1, %al
movb %al, -0x96(%rbp)
cmpl $0x1, -0xc(%rbp)
jle 0x1c69e
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0x1c69e
movl -0xc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x8(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0xf8(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0xf0(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0xe8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq -0xf8(%rbp), %rsi
leaq -0x60(%rbp), %rdx
callq 0x25770
movl %eax, -0xdc(%rbp)
cmpl $0x0, %eax
je 0x1c69c
movl -0xdc(%rbp), %edi
movq -0x8(%rbp), %rax
movq (%rax), %rdx
movq -0x18(%rbp), %rcx
leaq 0x11d0f(%rip), %rsi     # 0x2e3a1
callq 0x1df60
jmp 0x1ce94
jmp 0x1c69e
jmp 0x1cbfe
movq -0x8(%rbp), %rax
movq (%rax), %rsi
leaq 0x11825(%rip), %rdi     # 0x2ded6
callq 0x4800
cmpl $0x0, %eax
je 0x1c6d7
movq -0x8(%rbp), %rax
movq (%rax), %rsi
leaq 0x11ce1(%rip), %rdi     # 0x2e3aa
callq 0x4800
cmpl $0x0, %eax
jne 0x1c840
cmpl $0x1, -0xc(%rbp)
jle 0x1c823
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0x1c823
movl -0xc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x2e, %eax
jne 0x1c7de
movq -0x80(%rbp), %rdi
callq 0x4450
movl $0x8, %edi
callq 0x42a0
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rax
movq %rax, -0x1c0(%rbp)
callq 0x265a0
movq %rax, %rcx
movq -0x1c0(%rbp), %rax
movq %rcx, -0x104(%rbp)
movq -0x104(%rbp), %rcx
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x1b8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
callq 0x4460
movq -0x1b8(%rbp), %rdi
movq %rax, %rsi
callq 0x6750
movq %rax, -0x110(%rbp)
movq -0x110(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0x21d90
testb $0x1, %al
jne 0x1c7d0
movq -0x8(%rbp), %rax
movq (%rax), %rdx
movq -0x18(%rbp), %rcx
movl $0x2, %edi
leaq 0x11bfa(%rip), %rsi     # 0x2e3b4
callq 0x1df60
movq -0x110(%rbp), %rdi
callq 0x4450
jmp 0x1ce94
movq -0x110(%rbp), %rdi
callq 0x4450
jmp 0x1c821
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq -0x30(%rbp), %rsi
leaq -0x78(%rbp), %rdx
callq 0x24c20
movl %eax, -0xfc(%rbp)
cmpl $0x0, %eax
je 0x1c81f
movl -0xfc(%rbp), %edi
movq -0x8(%rbp), %rax
movq (%rax), %rdx
movq -0x18(%rbp), %rcx
leaq 0x11b9f(%rip), %rsi     # 0x2e3b4
callq 0x1df60
jmp 0x1ce94
jmp 0x1c821
jmp 0x1c83b
movq -0x30(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x68(%rbp)
jmp 0x1cbfc
movq -0x8(%rbp), %rax
movq (%rax), %rsi
leaq 0x11673(%rip), %rdi     # 0x2dec1
callq 0x4800
cmpl $0x0, %eax
je 0x1c874
movq -0x8(%rbp), %rax
movq (%rax), %rsi
leaq 0x11b57(%rip), %rdi     # 0x2e3bd
callq 0x4800
cmpl $0x0, %eax
jne 0x1c9ed
cmpl $0x1, -0xc(%rbp)
jle 0x1c9d0
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0x1c9d0
movl -0xc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x2e, %eax
jne 0x1c98b
movq -0x88(%rbp), %rdi
callq 0x4450
movl $0x24, %edi
callq 0x42a0
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x1d0(%rbp)
leaq -0x138(%rbp), %rdi
callq 0x26570
movq -0x1d0(%rbp), %rdi
leaq -0x138(%rbp), %rsi
movl $0x24, %edx
callq 0x4a70
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x1c8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
callq 0x4460
movq -0x1c8(%rbp), %rdi
movq %rax, %rsi
callq 0x6750
movq %rax, -0x140(%rbp)
movq -0x140(%rbp), %rdi
movq -0x88(%rbp), %rsi
callq 0x21e80
testb $0x1, %al
jne 0x1c97d
movq -0x8(%rbp), %rax
movq (%rax), %rdx
movq -0x18(%rbp), %rcx
movl $0x2, %edi
leaq 0x11a60(%rip), %rsi     # 0x2e3c7
callq 0x1df60
movq -0x140(%rbp), %rdi
callq 0x4450
jmp 0x1ce94
movq -0x140(%rbp), %rdi
callq 0x4450
jmp 0x1c9ce
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq -0x48(%rbp), %rsi
leaq -0x78(%rbp), %rdx
callq 0x25140
movl %eax, -0x114(%rbp)
cmpl $0x0, %eax
je 0x1c9cc
movl -0x114(%rbp), %edi
movq -0x8(%rbp), %rax
movq (%rax), %rdx
movq -0x18(%rbp), %rcx
leaq 0x11a05(%rip), %rsi     # 0x2e3c7
callq 0x1df60
jmp 0x1ce94
jmp 0x1c9ce
jmp 0x1c9e8
movq -0x48(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x68(%rbp)
jmp 0x1cbfa
movq -0x8(%rbp), %rax
movq (%rax), %rsi
leaq 0x114ed(%rip), %rdi     # 0x2dee8
callq 0x4800
cmpl $0x0, %eax
je 0x1ca21
movq -0x8(%rbp), %rax
movq (%rax), %rsi
leaq 0x119bd(%rip), %rdi     # 0x2e3d0
callq 0x4800
cmpl $0x0, %eax
jne 0x1cbb7
cmpl $0x1, -0xc(%rbp)
jle 0x1cb7d
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0x1cb7d
movl -0xc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x2e, %eax
jne 0x1cb38
movq -0x90(%rbp), %rdi
callq 0x4450
movl $0x60, %edi
callq 0x42a0
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rax
movq %rax, -0x1e0(%rbp)
leaq -0x1a4(%rbp), %rdi
callq 0x26540
movq -0x1e0(%rbp), %rdi
leaq -0x1a4(%rbp), %rsi
movl $0x60, %edx
callq 0x4a70
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x1d8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
callq 0x4460
movq -0x1d8(%rbp), %rdi
movq %rax, %rsi
callq 0x6750
movq %rax, -0x1b0(%rbp)
movq -0x1b0(%rbp), %rdi
movq -0x90(%rbp), %rsi
callq 0x22190
testb $0x1, %al
jne 0x1cb2a
movq -0x8(%rbp), %rax
movq (%rax), %rdx
movq -0x18(%rbp), %rcx
movl $0x2, %edi
leaq 0x118c3(%rip), %rsi     # 0x2e3d7
callq 0x1df60
movq -0x1b0(%rbp), %rdi
callq 0x4450
jmp 0x1ce94
movq -0x1b0(%rbp), %rdi
callq 0x4450
jmp 0x1cb7b
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq -0x60(%rbp), %rsi
leaq -0x78(%rbp), %rdx
callq 0x25770
movl %eax, -0x144(%rbp)
cmpl $0x0, %eax
je 0x1cb79
movl -0x144(%rbp), %edi
movq -0x8(%rbp), %rax
movq (%rax), %rdx
movq -0x18(%rbp), %rcx
leaq 0x11868(%rip), %rsi     # 0x2e3d7
callq 0x1df60
jmp 0x1ce94
jmp 0x1cb7b
jmp 0x1cbb5
movq -0x60(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x68(%rbp)
cmpq $0x0, -0x68(%rbp)
jne 0x1cbb3
movq -0x18(%rbp), %rdi
leaq 0x12019(%rip), %rsi     # 0x2ebc0
movb $0x0, %al
callq 0x18d60
jmp 0x1ce94
jmp 0x1cbb5
jmp 0x1cbf8
movq -0x8(%rbp), %rax
movq (%rax), %rsi
leaq 0x1181b(%rip), %rdi     # 0x2e3e0
callq 0x4800
cmpl $0x0, %eax
jne 0x1cbd8
movb $0x0, -0x95(%rbp)
jmp 0x1cbf6
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rax
movq (%rax), %rdx
leaq 0x117fe(%rip), %rsi     # 0x2e3e8
movb $0x0, %al
callq 0x18d60
jmp 0x1ce94
jmp 0x1cbf8
jmp 0x1cbfa
jmp 0x1cbfc
jmp 0x1cbfe
jmp 0x1cc00
jmp 0x1cc02
jmp 0x1cc04
movl -0xc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x8(%rbp)
jmp 0x1c377
movzbl -0x96(%rbp), %eax
cmpl $0x1, %eax
jge 0x1cc41
movq -0x18(%rbp), %rdi
leaq 0x117d1(%rip), %rsi     # 0x2e406
movb $0x0, %al
callq 0x18d60
jmp 0x1ce94
movzbl -0x96(%rbp), %eax
cmpl $0x1, %eax
jle 0x1cc64
movq -0x18(%rbp), %rdi
leaq 0x117c9(%rip), %rsi     # 0x2e421
movb $0x0, %al
callq 0x18d60
jmp 0x1ce94
cmpl $0x0, -0x94(%rbp)
jne 0x1cc8b
cmpq $0x0, -0x78(%rbp)
jne 0x1cc8b
movq -0x18(%rbp), %rdi
leaq 0x117c3(%rip), %rsi     # 0x2e442
movb $0x0, %al
callq 0x18d60
jmp 0x1ce94
testb $0x1, -0x95(%rbp)
jne 0x1ccd3
cmpl $0x3, -0x94(%rbp)
je 0x1cca6
cmpl $0x0, -0x94(%rbp)
jne 0x1ccd3
movq -0x18(%rbp), %rdi
movl -0x94(%rbp), %ecx
movl $0x54, %edx
movl $0x4e, %eax
cmpl $0x3, %ecx
cmovel %eax, %edx
leaq 0x11798(%rip), %rsi     # 0x2e45f
movb $0x0, %al
callq 0x18d60
jmp 0x1ce94
cmpl $0x1, -0x94(%rbp)
jne 0x1ccf0
cmpq $0x0, -0x88(%rbp)
jne 0x1cd03
cmpq $0x0, -0x90(%rbp)
jne 0x1cd03
cmpl $0x2, -0x94(%rbp)
jne 0x1cd30
cmpq $0x0, -0x90(%rbp)
je 0x1cd30
movq -0x18(%rbp), %rdi
movl -0x94(%rbp), %ecx
movl $0x44, %edx
movl $0x4d, %eax
cmpl $0x1, %ecx
cmovel %eax, %edx
leaq 0x1176a(%rip), %rsi     # 0x2e48e
movb $0x0, %al
callq 0x18d60
jmp 0x1ce94
cmpl $0x3, -0x94(%rbp)
jne 0x1cd89
movq -0x80(%rbp), %r8
movq -0x88(%rbp), %r9
movq -0x90(%rbp), %r10
movq -0x18(%rbp), %rax
leaq -0x30(%rbp), %rdi
leaq -0x48(%rbp), %rsi
leaq -0x60(%rbp), %rdx
leaq -0x78(%rbp), %rcx
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x238c0
cmpl $0x1, %eax
jge 0x1cd84
movq -0x18(%rbp), %rdi
leaq 0x11e43(%rip), %rsi     # 0x2ebc0
movb $0x0, %al
callq 0x18d60
jmp 0x1ce92
cmpl $0x2, -0x94(%rbp)
jne 0x1cded
movq -0x80(%rbp), %rcx
movq -0x88(%rbp), %r8
movb -0x95(%rbp), %dl
leaq 0x7986(%rip), %r9       # 0x24730
leaq 0x794f(%rip), %rax      # 0x24700
testb $0x1, %dl
cmovneq %rax, %r9
movq -0x18(%rbp), %rax
leaq -0x30(%rbp), %rdi
leaq -0x48(%rbp), %rsi
leaq -0x78(%rbp), %rdx
movq %rax, (%rsp)
callq 0x244a0
cmpl $0x1, %eax
jge 0x1cde8
movq -0x18(%rbp), %rdi
leaq 0x11ddf(%rip), %rsi     # 0x2ebc0
movb $0x0, %al
callq 0x18d60
jmp 0x1ce90
cmpl $0x1, -0x94(%rbp)
jne 0x1ce41
movq -0x80(%rbp), %rdx
movb -0x95(%rbp), %sil
leaq 0x78c8(%rip), %rcx      # 0x246d0
leaq 0x7891(%rip), %rax      # 0x246a0
testb $0x1, %sil
cmovneq %rax, %rcx
movq -0x18(%rbp), %r8
leaq -0x30(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x245e0
cmpl $0x1, %eax
jge 0x1ce3f
movq -0x18(%rbp), %rdi
leaq 0x11d88(%rip), %rsi     # 0x2ebc0
movb $0x0, %al
callq 0x18d60
jmp 0x1ce8e
cmpq $0x0, -0x68(%rbp)
je 0x1ce57
movq -0x68(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x23140
jmp 0x1ce7c
cmpq $0x0, -0x70(%rbp)
je 0x1ce6d
movq -0x70(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x22fa0
jmp 0x1ce7a
movq -0x78(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x22af0
jmp 0x1ce7c
movq -0x18(%rbp), %rdi
leaq 0x1288a(%rip), %rsi     # 0x2f711
movb $0x0, %al
callq 0x4a00
jmp 0x1ce90
jmp 0x1ce92
jmp 0x1ce94
movq -0x80(%rbp), %rdi
callq 0x4450
movq -0x88(%rbp), %rdi
callq 0x4450
movq -0x90(%rbp), %rdi
callq 0x4450
addq $0x1f0, %rsp            # imm = 0x1F0
popq %rbp
retq
nop