// File: Nallantli[P]Rossa/main/rossa/node/node.cpp
// Function: IfElseNode::printTree(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool) const
void IfElseNode::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 << "IF_ELSE\n";
	ifs->printTree(indent, false);
	body->printTree(indent, elses == nullptr);
	if (elses != nullptr)
		elses->printTree(indent, true);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x110, %rsp            # imm = 0x110
movq %rsi, -0xd8(%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, -0xd0(%rbp)
movq 0x10518d(%rip), %rdi    # 0x1e4fa0
callq 0x114e0
testb $0x1, -0x11(%rbp)
je 0xdfe46
movq 0x10517b(%rip), %rdi    # 0x1e4fa0
leaq 0x7393c(%rip), %rsi     # 0x153768
callq 0x11560
movq -0xd8(%rbp), %rdi
leaq 0x73930(%rip), %rsi     # 0x15376f
callq 0x11540
jmp 0xdfe6c
movq 0x105153(%rip), %rdi    # 0x1e4fa0
leaq 0x7391e(%rip), %rsi     # 0x153772
callq 0x11560
movq -0xd8(%rbp), %rdi
leaq 0x73912(%rip), %rsi     # 0x153779
callq 0x11540
movq -0xd0(%rbp), %rsi
addq $0x8, %rsi
leaq -0x58(%rbp), %rdi
movq %rdi, -0xe0(%rbp)
callq 0xd27b0
movq -0xe0(%rbp), %rsi
leaq 0x738db(%rip), %rdx     # 0x153770
leaq -0x38(%rbp), %rdi
callq 0x24ec0
jmp 0xdfea0
movl $0x1f, -0x68(%rbp)
leaq -0x38(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x247f0
jmp 0xdfeb6
leaq -0x38(%rbp), %rdi
callq 0x11360
leaq -0x58(%rbp), %rdi
callq 0x11360
movq 0x1050d1(%rip), %rdi    # 0x1e4fa0
leaq 0x73a35(%rip), %rsi     # 0x15390b
callq 0x11560
movq -0xd0(%rbp), %rdi
addq $0xa8, %rdi
callq 0x2d030
movq -0xd8(%rbp), %rsi
movq %rax, -0xf0(%rbp)
leaq -0x88(%rbp), %rdi
movq %rdi, -0xe8(%rbp)
callq 0x11250
movq -0xf0(%rbp), %rdi
movq -0xe8(%rbp), %rsi
movq (%rdi), %rax
movq 0x10(%rax), %rax
xorl %edx, %edx
callq *%rax
jmp 0xdff2a
leaq -0x88(%rbp), %rdi
callq 0x11360
movq -0xd0(%rbp), %rdi
addq $0xb8, %rdi
callq 0x2d030
movq -0xd8(%rbp), %rsi
movq %rax, -0x100(%rbp)
leaq -0xa8(%rbp), %rdi
movq %rdi, -0xf8(%rbp)
callq 0x11250
movq -0xd0(%rbp), %rdi
addq $0xc8, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xe6230
movq -0x100(%rbp), %rdi
movq -0xf8(%rbp), %rsi
movb %al, %cl
movq (%rdi), %rax
movq 0x10(%rax), %rax
movzbl %cl, %edx
callq *%rax
jmp 0xdff9f
leaq -0xa8(%rbp), %rdi
callq 0x11360
movq -0xd0(%rbp), %rdi
addq $0xc8, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xe53d0
testb $0x1, %al
jne 0xdffcb
jmp 0xe00a7
movq -0xd0(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq -0xd8(%rbp), %rsi
movq %rax, -0x110(%rbp)
leaq -0xc8(%rbp), %rdi
movq %rdi, -0x108(%rbp)
callq 0x11250
movq -0x110(%rbp), %rdi
movq -0x108(%rbp), %rsi
movq (%rdi), %rax
movq 0x10(%rax), %rax
movl $0x1, %edx
callq *%rax
jmp 0xe001d
leaq -0xc8(%rbp), %rdi
callq 0x11360
jmp 0xe00a7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0xe004e
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 0xe00b0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x11360
jmp 0xe00b0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x11360
jmp 0xe00b0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x11360
jmp 0xe00b0
addq $0x110, %rsp            # imm = 0x110
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0x119c0
nopl (%rax)