// File: /workspace/github_cpp_makefile_star2_O1/gprateek93[P]LaTeX_to_HTML/converter.cpp
// Function: converter::traversal[abi:cxx11](ast_node*)
string converter :: traversal(ast_node *root){
    string s = "";
    if(root){
        int type = root->node_type;
        string attributes = root->attributes;
        string data = root->data;
        switch (type) {
            case 0:
                s+= traverseSection(root,type);
                break;
            case 1:
                s+=traverseSubSection(root,type);
                break;
            case 2:
            case 3:
            case 4:
                s+=traverseList(root,type);
                break;
            case 5:
            case 6:
            case 7:
                s+=traverseFont(root,type);
                break;
            case 8:
                s+=traversePara(root,type);
                break;
            case 9:
            case 10:
                s+=traverseAnchor(root,type);
                break;
            case 11:
            case 17:
            case 18:
                s+=traverseTable(root,type);
                break;
            case 12:
            case 13:
            case 14:
                s+=traverseImage(root,type);
                break;
            case 15:
                s+=traverseContent(root,type);
                break;
            case 19:
            case 20:
            case 21:
            case 22:
            case 23:
                s+=traverseMath(root,type);
                break;
            default:
                s+=traverseDefault(root,type);
        }
    }
    return s;
 }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %rdi, %rbx
leaq 0x10(%rdi), %r13
movq %r13, (%rdi)
movq $0x0, 0x8(%rdi)
movb $0x0, 0x10(%rdi)
testq %rdx, %rdx
je 0x9e00
movq %rdx, %r14
movq %rsi, %r15
movl (%rdx), %r12d
leaq -0x78(%rbp), %rax
movq %rax, -0x10(%rax)
movq 0x28(%rdx), %rsi
movq 0x30(%rdx), %rdx
addq %rsi, %rdx
leaq -0x88(%rbp), %rdi
callq 0x3ddc
leaq -0x58(%rbp), %rax
movq %rax, -0x10(%rax)
movq 0x8(%r14), %rsi
movq 0x10(%r14), %rdx
addq %rsi, %rdx
leaq -0x68(%rbp), %rdi
callq 0x3ddc
cmpl $0x17, %r12d
ja 0x9d6a
movl %r12d, %eax
leaq 0x3d36(%rip), %rcx      # 0xd964
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq -0x48(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movl %r12d, %ecx
callq 0x9372
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq %rbx, %rdi
callq 0x30b0
jmp 0x9db2
leaq -0x48(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movl %r12d, %ecx
callq 0x839c
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq %rbx, %rdi
callq 0x30b0
jmp 0x9db2
leaq -0x48(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movl %r12d, %ecx
callq 0x839c
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq %rbx, %rdi
callq 0x30b0
jmp 0x9db2
leaq -0x48(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movl %r12d, %ecx
callq 0x8d6a
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq %rbx, %rdi
callq 0x30b0
jmp 0x9db2
leaq -0x48(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movl %r12d, %ecx
callq 0x839c
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq %rbx, %rdi
callq 0x30b0
jmp 0x9db2
leaq -0x48(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movl %r12d, %ecx
callq 0x89b4
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq %rbx, %rdi
callq 0x30b0
jmp 0x9db2
leaq -0x48(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
xorl %ecx, %ecx
callq 0x76a4
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq %rbx, %rdi
callq 0x30b0
jmp 0x9db2
leaq -0x48(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movl $0x1, %ecx
callq 0x7c7a
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq %rbx, %rdi
callq 0x30b0
jmp 0x9db2
leaq -0x48(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movl %r12d, %ecx
callq 0x839c
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq %rbx, %rdi
callq 0x30b0
jmp 0x9db2
leaq -0x48(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movl $0x8, %ecx
callq 0x8764
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq %rbx, %rdi
callq 0x30b0
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x9dcb
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3200
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x9de4
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x3200
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x9e00
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x3200
movq %rbx, %rax
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq -0x38(%rbp), %r15
movq %r15, -0x10(%r15)
movq 0x8(%r14), %rsi
movq 0x10(%r14), %rdx
addq %rsi, %rdx
leaq -0x48(%rbp), %rdi
callq 0x3ddc
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq %rbx, %rdi
callq 0x30b0
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
jne 0x9dbf
jmp 0x9dcb
movq %rax, %r14
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
jne 0x9e94
jmp 0x9ea5
jmp 0x9e84
jmp 0x9e84
jmp 0x9e84
jmp 0x9e84
jmp 0x9ea2
jmp 0x9ea2
jmp 0x9ea2
jmp 0x9ea2
jmp 0x9ea2
jmp 0x9e84
jmp 0x9ea2
jmp 0x9e84
jmp 0x9e84
jmp 0x9e84
jmp 0x9e84
jmp 0x9ea2
jmp 0x9ea2
jmp 0x9ea2
jmp 0x9ea2
movq %rax, %r14
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x9ea5
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3200
jmp 0x9ea5
movq %rax, %r14
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x9ec3
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x3200
jmp 0x9ec3
movq %rax, %r14
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x9ee4
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x3200
jmp 0x9ee4
movq %rax, %r14
movq (%rbx), %rdi
cmpq %r13, %rdi
je 0x9ef8
movq (%r13), %rsi
incq %rsi
callq 0x3200
movq %r14, %rdi
callq 0x3390