// File: Nallantli[P]Rossa/main/rossa/node/node.cpp
// Function: DefineNode::printTree(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool) const
void DefineNode::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 << "DEFINE : " << (key > 0 ? ROSSA_DEHASH(key) : "<LAMBDA>") << ", " << ftype.toString() << "\n";
	body->printTree(indent, true);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x120, %rsp            # imm = 0x120
movq %rsi, -0xe0(%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, -0xd8(%rbp)
movq 0x11065d(%rip), %rdi    # 0x1e4fa0
callq 0x114e0
testb $0x1, -0x11(%rbp)
je 0xd4976
movq 0x11064b(%rip), %rdi    # 0x1e4fa0
leaq 0x7ee0c(%rip), %rsi     # 0x153768
callq 0x11560
movq -0xe0(%rbp), %rdi
leaq 0x7ee00(%rip), %rsi     # 0x15376f
callq 0x11540
jmp 0xd499c
movq 0x110623(%rip), %rdi    # 0x1e4fa0
leaq 0x7edee(%rip), %rsi     # 0x153772
callq 0x11560
movq -0xe0(%rbp), %rdi
leaq 0x7ede2(%rip), %rsi     # 0x153779
callq 0x11540
movq -0xd8(%rbp), %rsi
addq $0x8, %rsi
leaq -0x58(%rbp), %rdi
movq %rdi, -0xe8(%rbp)
callq 0xd27b0
movq -0xe8(%rbp), %rsi
leaq 0x7edab(%rip), %rdx     # 0x153770
leaq -0x38(%rbp), %rdi
callq 0x24ec0
jmp 0xd49d0
movl $0x1f, -0x68(%rbp)
leaq -0x38(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x247f0
jmp 0xd49e6
leaq -0x38(%rbp), %rdi
callq 0x11360
leaq -0x58(%rbp), %rdi
callq 0x11360
movq 0x1105a1(%rip), %rdi    # 0x1e4fa0
leaq 0x7eda6(%rip), %rsi     # 0x1537ac
callq 0x11560
movq %rax, %rcx
movq -0xd8(%rbp), %rax
movq %rcx, -0xf0(%rbp)
movq 0xa8(%rax), %rax
movb $0x0, -0x8a(%rbp)
cmpq $0x0, %rax
jbe 0xd4a53
movq -0xd8(%rbp), %rdx
addq $0xa8, %rdx
leaq -0x88(%rbp), %rdi
leaq 0x11104c(%rip), %rsi    # 0x1e5a98
callq 0x2d270
jmp 0xd4a8b
leaq -0x89(%rbp), %rdi
movq %rdi, -0xf8(%rbp)
callq 0x119d0
movq -0xf8(%rbp), %rdx
movb $0x1, -0x8a(%rbp)
leaq 0x7b91e(%rip), %rsi     # 0x150399
leaq -0x88(%rbp), %rdi
callq 0x24740
jmp 0xd4a89
jmp 0xd4a8b
movq -0xf0(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x114e0
movq %rax, -0x100(%rbp)
jmp 0xd4aa7
movq -0x100(%rbp), %rdi
leaq 0x7d467(%rip), %rsi     # 0x151f1c
callq 0x11560
movq %rax, -0x108(%rbp)
jmp 0xd4ac3
movq -0xd8(%rbp), %rsi
addq $0xb0, %rsi
leaq -0xb0(%rbp), %rdi
callq 0x84280
jmp 0xd4adf
movq -0x108(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x114e0
movq %rax, -0x110(%rbp)
jmp 0xd4afb
movq -0x110(%rbp), %rdi
leaq 0x7d9cc(%rip), %rsi     # 0x1524d5
callq 0x11560
jmp 0xd4b10
leaq -0xb0(%rbp), %rdi
callq 0x11360
leaq -0x88(%rbp), %rdi
callq 0x11360
testb $0x1, -0x8a(%rbp)
jne 0xd4b33
jmp 0xd4b3f
leaq -0x89(%rbp), %rdi
callq 0x11600
movq -0xd8(%rbp), %rdi
addq $0xe0, %rdi
callq 0x2d030
movq -0xe0(%rbp), %rsi
movq %rax, -0x120(%rbp)
leaq -0xd0(%rbp), %rdi
movq %rdi, -0x118(%rbp)
callq 0x11250
movq -0x120(%rbp), %rdi
movq -0x118(%rbp), %rsi
movq (%rdi), %rax
movq 0x10(%rax), %rax
movl $0x1, %edx
callq *%rax
jmp 0xd4b91
leaq -0xd0(%rbp), %rdi
callq 0x11360
addq $0x120, %rsp            # imm = 0x120
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0xd4bc9
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 0xd4c45
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0xd4c14
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0xd4c08
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0x11360
leaq -0x88(%rbp), %rdi
callq 0x11360
testb $0x1, -0x8a(%rbp)
jne 0xd4c1f
jmp 0xd4c2b
leaq -0x89(%rbp), %rdi
callq 0x11600
jmp 0xd4c45
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0x11360
movq -0x60(%rbp), %rdi
callq 0x119c0
nop