// File: /workspace/github_c_makefile_star2_O3/baskerville[P]bspwm/src/query.c
// Function: query_node
void query_node(node_t *n, FILE *rsp)
{
	if (n == NULL) {
		fprintf(rsp, "null");
	} else {
		fprintf(rsp, "{");
		fprintf(rsp, "\"id\":%u,", n->id);
		fprintf(rsp, "\"splitType\":\"%s\",", SPLIT_TYPE_STR(n->split_type));
		fprintf(rsp, "\"splitRatio\":%lf,", n->split_ratio);
		fprintf(rsp, "\"vacant\":%s,", BOOL_STR(n->vacant));
		fprintf(rsp, "\"hidden\":%s,", BOOL_STR(n->hidden));
		fprintf(rsp, "\"sticky\":%s,", BOOL_STR(n->sticky));
		fprintf(rsp, "\"private\":%s,", BOOL_STR(n->private));
		fprintf(rsp, "\"locked\":%s,", BOOL_STR(n->locked));
		fprintf(rsp, "\"marked\":%s,", BOOL_STR(n->marked));
		fprintf(rsp, "\"presel\":");
		query_presel(n->presel, rsp);
		fprintf(rsp,",");
		fprintf(rsp, "\"rectangle\":");
		query_rectangle(n->rectangle, rsp);
		fprintf(rsp,",");
		fprintf(rsp, "\"constraints\":");
		query_constraints(n->constraints, rsp);
		fprintf(rsp,",");
		fprintf(rsp, "\"firstChild\":");
		query_node(n->first_child, rsp);
		fprintf(rsp,",");
		fprintf(rsp, "\"secondChild\":");
		query_node(n->second_child, rsp);
		fprintf(rsp,",");
		fprintf(rsp, "\"client\":");
		query_client(n->client, rsp);
		fprintf(rsp, "}");
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rsi, %rbx
testq %rdi, %rdi
je 0x18b00
movq %rdi, %r14
movl $0x7b, %edi
movq %rbx, %rsi
callq 0x4420
movl (%r14), %edx
leaq 0x8588(%rip), %rsi      # 0x20e1a
movq %rbx, %rdi
xorl %eax, %eax
callq 0x4a30
cmpl $0x0, 0x4(%r14)
leaq 0x847b(%rip), %rax      # 0x20d23
leaq 0x8480(%rip), %rdx      # 0x20d2f
cmoveq %rax, %rdx
leaq 0x8635(%rip), %rsi      # 0x20eef
movq %rbx, %rdi
xorl %eax, %eax
callq 0x4a30
movsd 0x8(%r14), %xmm0
leaq 0x8630(%rip), %rsi      # 0x20f01
movq %rbx, %rdi
movb $0x1, %al
callq 0x4a30
leaq 0x80a5(%rip), %r12      # 0x20987
cmpb $0x0, 0x24(%r14)
leaq 0x809e(%rip), %r15      # 0x2098c
movq %r15, %rdx
cmovneq %r12, %rdx
leaq 0x8617(%rip), %rsi      # 0x20f13
movq %rbx, %rdi
xorl %eax, %eax
callq 0x4a30
cmpb $0x0, 0x25(%r14)
movq %r15, %rdx
cmovneq %r12, %rdx
leaq 0x8607(%rip), %rsi      # 0x20f20
movq %rbx, %rdi
xorl %eax, %eax
callq 0x4a30
cmpb $0x0, 0x26(%r14)
movq %r15, %rdx
cmovneq %r12, %rdx
leaq 0x85f7(%rip), %rsi      # 0x20f2d
movq %rbx, %rdi
xorl %eax, %eax
callq 0x4a30
cmpb $0x0, 0x27(%r14)
movq %r15, %rdx
cmovneq %r12, %rdx
leaq 0x85e7(%rip), %rsi      # 0x20f3a
movq %rbx, %rdi
xorl %eax, %eax
callq 0x4a30
cmpb $0x0, 0x28(%r14)
movq %r15, %rdx
cmovneq %r12, %rdx
leaq 0x85d8(%rip), %rsi      # 0x20f48
movq %rbx, %rdi
xorl %eax, %eax
callq 0x4a30
cmpb $0x0, 0x29(%r14)
cmovneq %r12, %r15
leaq 0x85cb(%rip), %rsi      # 0x20f55
movq %rbx, %rdi
movq %r15, %rdx
xorl %eax, %eax
callq 0x4a30
leaq 0x85c4(%rip), %rdi      # 0x20f62
movl $0x9, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x49e0
movq 0x10(%r14), %rdi
movq %rbx, %rsi
callq 0x18b21
movl $0x2c, %edi
movq %rbx, %rsi
callq 0x4420
leaq 0x84c3(%rip), %rdi      # 0x20e93
movl $0xc, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x49e0
movq 0x18(%r14), %rcx
movq %rcx, %r8
shrq $0x20, %r8
movq %rcx, %r9
shrq $0x30, %r9
movswl %cx, %edx
sarl $0x10, %ecx
movl $0xffff, %ebp           # imm = 0xFFFF
andl %ebp, %r8d
leaq 0x8663(%rip), %rsi      # 0x2106c
movq %rbx, %rdi
xorl %eax, %eax
callq 0x4a30
movl $0x2c, %edi
movq %rbx, %rsi
callq 0x4420
leaq 0x8545(%rip), %rdi      # 0x20f6c
movl $0xe, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x49e0
movl 0x20(%r14), %edx
movl %edx, %ecx
shrl $0x10, %ecx
andl %ebp, %edx
leaq 0x8648(%rip), %rsi      # 0x21093
movq %rbx, %rdi
xorl %eax, %eax
callq 0x4a30
movl $0x2c, %edi
movq %rbx, %rsi
callq 0x4420
leaq 0x8512(%rip), %rdi      # 0x20f7b
movl $0xd, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x49e0
movq 0x30(%r14), %rdi
movq %rbx, %rsi
callq 0x18864
movl $0x2c, %edi
movq %rbx, %rsi
callq 0x4420
leaq 0x84ee(%rip), %rdi      # 0x20f89
movl $0xe, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x49e0
movq 0x38(%r14), %rdi
movq %rbx, %rsi
callq 0x18864
movl $0x2c, %edi
movq %rbx, %rsi
callq 0x4420
leaq 0x84cb(%rip), %rdi      # 0x20f98
movl $0x9, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x49e0
movq 0x48(%r14), %rdi
movq %rbx, %rsi
callq 0x18ba3
movl $0x7d, %edi
movq %rbx, %rsi
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x4420
leaq 0x83e3(%rip), %rdi      # 0x20eea
movl $0x4, %esi
movl $0x1, %edx
movq %rbx, %rcx
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x49e0