// File: /workspace/github_cpp_makefile_star2_O1/jahzielv[P]stingray/main.cpp
// Function: main
int main(void)
{
    std::cout << "Hello world!\n";
    DomNode *d = new DomNode(4);
    std::cout << d->getId() << std::endl;
    TextNode *tn = new TextNode("my data");
    tn->setId(5);
    std::cout << tn->getData() << "\n";
    DomNode *kid = new TextNode("child data");
    tn->addChild(kid);
    TextNode *gotChild = dynamic_cast<TextNode *>(tn->getChildren()[0]);
    std::cout << gotChild->getData() << "\n";
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq 0x3cb4(%rip), %rdi      # 0x5fd8
leaq 0x1cd9(%rip), %rsi      # 0x4004
movl $0xd, %edx
callq 0x2120
movl $0x28, %edi
callq 0x20f0
movq %rax, %rbx
movq %rax, %rdi
movl $0x4, %esi
callq 0x2682
movq %rbx, %rdi
callq 0x26a0
movq 0x3c7a(%rip), %rdi      # 0x5fd8
movl %eax, %esi
callq 0x2170
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x20e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2090
movl $0x48, %edi
callq 0x20f0
movq %rax, %rbx
leaq -0x78(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x1c67(%rip), %rsi      # 0x4012
leaq 0x1c67(%rip), %rdx      # 0x4019
leaq -0x88(%rbp), %rdi
callq 0x25c6
leaq -0x88(%rbp), %rsi
movq %rbx, %rdi
callq 0x2820
movq -0x88(%rbp), %rdi
cmpq %r15, %rdi
je 0x23e5
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x2100
movq %rbx, %rdi
movl $0x5, %esi
callq 0x26a4
leaq -0x48(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2880
movq (%r14), %rsi
movq 0x8(%r14), %rdx
movq 0x3bc9(%rip), %rdi      # 0x5fd8
callq 0x2120
leaq 0x1bf5(%rip), %rsi      # 0x4010
movl $0x1, %edx
movq %rax, %rdi
callq 0x2120
leaq -0x38(%rbp), %r12
movq -0x10(%r12), %rdi
cmpq %r12, %rdi
je 0x2442
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2100
movl $0x48, %edi
callq 0x20f0
movq %rax, %r15
leaq -0x58(%rbp), %r13
movq %r13, -0x10(%r13)
leaq 0x1bbc(%rip), %rsi      # 0x401a
leaq 0x1bbf(%rip), %rdx      # 0x4024
leaq -0x68(%rbp), %rdi
callq 0x25c6
leaq -0x68(%rbp), %rsi
movq %r15, %rdi
callq 0x2820
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
je 0x248f
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x2100
movq %rbx, %rdi
movq %r15, %rsi
callq 0x26a8
movq %r14, %rdi
movq %rbx, %rsi
callq 0x26d2
movq (%r14), %rbx
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x24ca
leaq 0x3899(%rip), %rsi      # 0x5d50
leaq 0x385a(%rip), %rdx      # 0x5d18
xorl %ecx, %ecx
callq 0x2110
movq %rax, %r14
jmp 0x24cd
xorl %r14d, %r14d
leaq -0x48(%rbp), %r15
movq 0x10(%r15), %rsi
subq %rbx, %rsi
movq %rbx, %rdi
callq 0x2100
movq %r15, %rdi
movq %r14, %rsi
callq 0x2880
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq 0x3adf(%rip), %rdi      # 0x5fd8
callq 0x2120
leaq 0x1b0b(%rip), %rsi      # 0x4010
movl $0x1, %edx
movq %rax, %rdi
callq 0x2120
movq -0x48(%rbp), %rdi
cmpq %r12, %rdi
je 0x2527
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2100
xorl %eax, %eax
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
je 0x2555
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x2100
jmp 0x2555
movq %rax, %r14
movl $0x48, %esi
movq %r15, %rdi
jmp 0x25b8
movq %rax, %r14
movq -0x88(%rbp), %rdi
cmpq %r15, %rdi
je 0x257f
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x2100
jmp 0x257f
movq %rax, %r14
movl $0x48, %esi
jmp 0x258e
movq %rax, %r14
movl $0x28, %esi
movq %rbx, %rdi
jmp 0x25b8
movq %rax, %r14
movq -0x48(%rbp), %rdi
cmpq %r12, %rdi
jne 0x25b1
jmp 0x25bd
movq %rax, %r14
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x25bd
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2100
movq %r14, %rdi
callq 0x2180
nop