// File: Nallantli[P]Rossa/main/rossa/node/node.cpp
// Function: WhileNode::printTree(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool) const
void WhileNode::printTree(std::string indent, bool last) const
{
	std::cout << indent;
	if (last)
	{
		std::cout << "└─";
		indent += "  ";
	}
	else
	{
		std::cout << "├─";
		indent += "│ ";
	}
	printc(deHashVec(path) + " ", RED_TEXT);
	std::cout << "WHILE\n";
	whiles->printTree(indent, false);
	for (size_t i = 0; i < body.size(); i++)
		body[i]->printTree(indent, i == body.size() - 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x100, %rsp            # imm = 0x100
movq %rsi, -0xc0(%rbp)
movb %dl, %al
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
andb $0x1, %al
movb %al, -0x11(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq 0x10489d(%rip), %rdi    # 0x1e4fa0
callq 0x114e0
testb $0x1, -0x11(%rbp)
je 0xe0736
movq 0x10488b(%rip), %rdi    # 0x1e4fa0
leaq 0x7304c(%rip), %rsi     # 0x153768
callq 0x11560
movq -0xc0(%rbp), %rdi
leaq 0x73040(%rip), %rsi     # 0x15376f
callq 0x11540
jmp 0xe075c
movq 0x104863(%rip), %rdi    # 0x1e4fa0
leaq 0x7302e(%rip), %rsi     # 0x153772
callq 0x11560
movq -0xc0(%rbp), %rdi
leaq 0x73022(%rip), %rsi     # 0x153779
callq 0x11540
movq -0xb8(%rbp), %rsi
addq $0x8, %rsi
leaq -0x58(%rbp), %rdi
movq %rdi, -0xc8(%rbp)
callq 0xd27b0
movq -0xc8(%rbp), %rsi
leaq 0x72feb(%rip), %rdx     # 0x153770
leaq -0x38(%rbp), %rdi
callq 0x24ec0
jmp 0xe0790
movl $0x1f, -0x68(%rbp)
leaq -0x38(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x247f0
jmp 0xe07a6
leaq -0x38(%rbp), %rdi
callq 0x11360
leaq -0x58(%rbp), %rdi
callq 0x11360
movq 0x1047e1(%rip), %rdi    # 0x1e4fa0
leaq 0x7314e(%rip), %rsi     # 0x153914
callq 0x11560
movq -0xb8(%rbp), %rdi
addq $0xa8, %rdi
callq 0x2d030
movq -0xc0(%rbp), %rsi
movq %rax, -0xd8(%rbp)
leaq -0x88(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
callq 0x11250
movq -0xd8(%rbp), %rdi
movq -0xd0(%rbp), %rsi
movq (%rdi), %rax
movq 0x10(%rax), %rax
xorl %edx, %edx
callq *%rax
jmp 0xe081a
leaq -0x88(%rbp), %rdi
callq 0x11360
movq $0x0, -0x90(%rbp)
movq -0xb8(%rbp), %rdi
movq -0x90(%rbp), %rax
movq %rax, -0xe0(%rbp)
addq $0xb8, %rdi
callq 0x593c0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
cmpq %rcx, %rax
jae 0xe097d
movq -0xb8(%rbp), %rdi
addq $0xb8, %rdi
movq %rdi, -0x100(%rbp)
movq -0x90(%rbp), %rsi
callq 0xe5650
movq %rax, %rdi
callq 0x2d030
movq -0xc0(%rbp), %rsi
movq %rax, -0xf8(%rbp)
leaq -0xb0(%rbp), %rdi
movq %rdi, -0xf0(%rbp)
callq 0x11250
movq -0x100(%rbp), %rdi
movq -0x90(%rbp), %rax
movq %rax, -0xe8(%rbp)
callq 0x593c0
movq -0xf8(%rbp), %rdi
movq -0xf0(%rbp), %rsi
movq %rax, %rcx
movq -0xe8(%rbp), %rax
decq %rcx
subq %rcx, %rax
sete %cl
movq (%rdi), %rax
movq 0x10(%rax), %rax
movzbl %cl, %edx
callq *%rax
jmp 0xe08f8
leaq -0xb0(%rbp), %rdi
callq 0x11360
movq -0x90(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x90(%rbp)
jmp 0xe0831
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0xe093e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x11360
leaq -0x58(%rbp), %rdi
callq 0x11360
jmp 0xe0986
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x11360
jmp 0xe0986
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0x11360
jmp 0xe0986
addq $0x100, %rsp            # imm = 0x100
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0x119c0
nop