// File: Nallantli[P]Rossa/main/rossa/node/node.cpp
// Function: CallNode::printTree(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool) const
void CallNode::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 << "CALL\n";
	callee->printTree(indent, args.empty());
	for (size_t i = 0; i < args.size(); i++)
		args[i]->printTree(indent, i == args.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 0x10e32d(%rip), %rdi    # 0x1e4fa0
callq 0x114e0
testb $0x1, -0x11(%rbp)
je 0xd6ca6
movq 0x10e31b(%rip), %rdi    # 0x1e4fa0
leaq 0x7cadc(%rip), %rsi     # 0x153768
callq 0x11560
movq -0xc0(%rbp), %rdi
leaq 0x7cad0(%rip), %rsi     # 0x15376f
callq 0x11540
jmp 0xd6ccc
movq 0x10e2f3(%rip), %rdi    # 0x1e4fa0
leaq 0x7cabe(%rip), %rsi     # 0x153772
callq 0x11560
movq -0xc0(%rbp), %rdi
leaq 0x7cab2(%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 0x7ca7b(%rip), %rdx     # 0x153770
leaq -0x38(%rbp), %rdi
callq 0x24ec0
jmp 0xd6d00
movl $0x1f, -0x68(%rbp)
leaq -0x38(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x247f0
jmp 0xd6d16
leaq -0x38(%rbp), %rdi
callq 0x11360
leaq -0x58(%rbp), %rdi
callq 0x11360
movq 0x10e271(%rip), %rdi    # 0x1e4fa0
leaq 0x7caa9(%rip), %rsi     # 0x1537df
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 -0xb8(%rbp), %rdi
addq $0xb8, %rdi
callq 0xe6820
movq -0xd8(%rbp), %rdi
movq -0xd0(%rbp), %rsi
movb %al, %cl
movq (%rdi), %rax
movq 0x10(%rax), %rax
movzbl %cl, %edx
callq *%rax
jmp 0xd6da0
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 0xd6f03
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 0xd6e7e
leaq -0xb0(%rbp), %rdi
callq 0x11360
movq -0x90(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x90(%rbp)
jmp 0xd6db7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0xd6ec4
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 0xd6f0c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x11360
jmp 0xd6f0c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0x11360
jmp 0xd6f0c
addq $0x100, %rsp            # imm = 0x100
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0x119c0
nopw %cs:(%rax,%rax)