// File: acliusBackHome[P]kamaya/dist/ParseNode.cpp
// Function: ParseNode::get_node_type_name[abi:cxx11](NodeType)
string ParseNode::get_node_type_name(NodeType type) noexcept {
    switch (type) {
        case N_NORMAL:
            return "normal";
        case N_IDENTIFIER:
            return "identifier";
        case N_CONST:
            return "constant";
        case N_UNKNOWN:
            return "unknown";
        case N_TYPE_SPE:
            return "type_specifier";
        case N_DECLARATION_SPE:
            return "declaration_specifier";
        case N_DECLARATOR:
            return "declarator";
        case N_DIRECT_DEC:
            return "direct_declarator";
        case N_PARAM_LIST:
            return "parameters_list";
        case N_PARAM_DECLARATION:
            return "parameter_declaration";
        case N_FUNCTION_DEFINITION:
            return "function_definition";
        case N_INIT_DECLARATOR:
            return "initialize_declarator";
        case N_INIT_DECLARATOR_LIST:
            return "initialize_declarator_list";
        case N_INITIALIZER:
            return "initializer";
        case N_DECLARATION:
            return "declaration";
        case N_EXPRESSION:
            return "expression";
        case N_BLOCK_ITEM_LIST:
            return "block_item_list";
        case N_COMP_STMT:
            return "compound_statement";
        case N_FOR_STMT:
            return "for_statement";
        case N_POINTER:
            return "pointer";
        case N_BP_INST:
            return "back_patch_instr";
        case N_BP_NEXT_LIST:
            return "back_patch_next_list";
        case N_IF_STMT:
            return "if_statement";
        case N_BI_LIST:
            return "block_item_list";
        case N_EXPRESSION_LIST:
            return "expression_list";
        case N_FUNCTION_DECLARATOR:
            return "function_declarator";
        case N_FUNCTION_CALL:
            return "function_call";
        case N_STRUCT_ENUM:
            return "struct_enum";
        case N_STRUCT_DEC_LIST:
            return "struct_dec_list";
    }
    return "unknown";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x140, %rsp            # imm = 0x140
movq %rdi, -0x48(%rbp)
movq %rdi, %rax
movq %rax, -0x40(%rbp)
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl -0xc(%rbp), %eax
movq %rax, -0x38(%rbp)
subq $0x1c, %rax
ja 0x3c33d
movq -0x38(%rbp), %rax
leaq 0x53b2f(%rip), %rcx     # 0x8f858
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq -0xd(%rbp), %rdi
movq %rdi, -0x50(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0x50(%rbp), %rdx
leaq 0x53c25(%rip), %rsi     # 0x8f973
callq 0x4450
jmp 0x3bd55
leaq -0xd(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0xe(%rbp), %rdi
movq %rdi, -0x58(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0x58(%rbp), %rdx
leaq 0x516fc(%rip), %rsi     # 0x8d47b
callq 0x4450
jmp 0x3bd86
leaq -0xe(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0xf(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0x60(%rbp), %rdx
leaq 0x53b24(%rip), %rsi     # 0x8f8d4
callq 0x4450
jmp 0x3bdb7
leaq -0xf(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x10(%rbp), %rdi
movq %rdi, -0x68(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0x68(%rbp), %rdx
leaq 0x53816(%rip), %rsi     # 0x8f5f7
callq 0x4450
jmp 0x3bde8
leaq -0x10(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x11(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0x70(%rbp), %rdx
leaq 0x51d4a(%rip), %rsi     # 0x8db5c
callq 0x4450
jmp 0x3be19
leaq -0x11(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x12(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0x78(%rbp), %rdx
leaq 0x53b37(%rip), %rsi     # 0x8f97a
callq 0x4450
jmp 0x3be4a
leaq -0x12(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x13(%rbp), %rdi
movq %rdi, -0x80(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0x80(%rbp), %rdx
leaq 0x53b27(%rip), %rsi     # 0x8f99b
callq 0x4450
jmp 0x3be7b
leaq -0x13(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x14(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0x88(%rbp), %rdx
leaq 0x51da0(%rip), %rsi     # 0x8dc4b
callq 0x4450
jmp 0x3beb2
leaq -0x14(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x15(%rbp), %rdi
movq %rdi, -0x90(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0x90(%rbp), %rdx
leaq 0x53a76(%rip), %rsi     # 0x8f958
callq 0x4450
jmp 0x3bee9
leaq -0x15(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x16(%rbp), %rdi
movq %rdi, -0x98(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0x98(%rbp), %rdx
leaq 0x51d67(%rip), %rsi     # 0x8dc80
callq 0x4450
jmp 0x3bf20
leaq -0x16(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x17(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0xa0(%rbp), %rdx
leaq 0x51ea2(%rip), %rsi     # 0x8ddf2
callq 0x4450
jmp 0x3bf57
leaq -0x17(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x18(%rbp), %rdi
movq %rdi, -0xa8(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0xa8(%rbp), %rdx
leaq 0x53a09(%rip), %rsi     # 0x8f990
callq 0x4450
jmp 0x3bf8e
leaq -0x18(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x19(%rbp), %rdi
movq %rdi, -0xb0(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0xb0(%rbp), %rdx
leaq 0x539e8(%rip), %rsi     # 0x8f9a6
callq 0x4450
jmp 0x3bfc5
leaq -0x19(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x1a(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0xb8(%rbp), %rdx
leaq 0x5155f(%rip), %rsi     # 0x8d554
callq 0x4450
jmp 0x3bffc
leaq -0x1a(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x1b(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0xc0(%rbp), %rdx
leaq 0x51432(%rip), %rsi     # 0x8d45e
callq 0x4450
jmp 0x3c033
leaq -0x1b(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x1c(%rbp), %rdi
movq %rdi, -0xc8(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0xc8(%rbp), %rdx
leaq 0x51191(%rip), %rsi     # 0x8d1f4
callq 0x4450
jmp 0x3c06a
leaq -0x1c(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x1d(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0xd0(%rbp), %rdx
leaq 0x51c92(%rip), %rsi     # 0x8dd2c
callq 0x4450
jmp 0x3c0a1
leaq -0x1d(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x1e(%rbp), %rdi
movq %rdi, -0xd8(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0xd8(%rbp), %rdx
leaq 0x51c44(%rip), %rsi     # 0x8dd15
callq 0x4450
jmp 0x3c0d8
leaq -0x1e(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x1f(%rbp), %rdi
movq %rdi, -0xe0(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0xe0(%rbp), %rdx
leaq 0x538b9(%rip), %rsi     # 0x8f9c1
callq 0x4450
jmp 0x3c10f
leaq -0x1f(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x20(%rbp), %rdi
movq %rdi, -0xe8(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0xe8(%rbp), %rdx
leaq 0x51347(%rip), %rsi     # 0x8d486
callq 0x4450
jmp 0x3c146
leaq -0x20(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x21(%rbp), %rdi
movq %rdi, -0xf0(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0xf0(%rbp), %rdx
leaq 0x53859(%rip), %rsi     # 0x8f9cf
callq 0x4450
jmp 0x3c17d
leaq -0x21(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x22(%rbp), %rdi
movq %rdi, -0xf8(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0xf8(%rbp), %rdx
leaq 0x53833(%rip), %rsi     # 0x8f9e0
callq 0x4450
jmp 0x3c1b4
leaq -0x22(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x23(%rbp), %rdi
movq %rdi, -0x100(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0x100(%rbp), %rdx
leaq 0x53811(%rip), %rsi     # 0x8f9f5
callq 0x4450
jmp 0x3c1eb
leaq -0x23(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x24(%rbp), %rdi
movq %rdi, -0x108(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0x108(%rbp), %rdx
leaq 0x51b11(%rip), %rsi     # 0x8dd2c
callq 0x4450
jmp 0x3c222
leaq -0x24(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x25(%rbp), %rdi
movq %rdi, -0x110(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0x110(%rbp), %rdx
leaq 0x51790(%rip), %rsi     # 0x8d9e2
callq 0x4450
jmp 0x3c259
leaq -0x25(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x26(%rbp), %rdi
movq %rdi, -0x118(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0x118(%rbp), %rdx
leaq 0x51400(%rip), %rsi     # 0x8d689
callq 0x4450
jmp 0x3c290
leaq -0x26(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x27(%rbp), %rdi
movq %rdi, -0x120(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0x120(%rbp), %rdx
leaq 0x53742(%rip), %rsi     # 0x8fa02
callq 0x4450
jmp 0x3c2c7
leaq -0x27(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x28(%rbp), %rdi
movq %rdi, -0x128(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0x128(%rbp), %rdx
leaq 0x53719(%rip), %rsi     # 0x8fa10
callq 0x4450
jmp 0x3c2fe
leaq -0x28(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x29(%rbp), %rdi
movq %rdi, -0x130(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0x130(%rbp), %rdx
leaq 0x536f1(%rip), %rsi     # 0x8fa1c
callq 0x4450
jmp 0x3c332
leaq -0x29(%rbp), %rdi
callq 0x4380
jmp 0x3c36f
leaq -0x2a(%rbp), %rdi
movq %rdi, -0x138(%rbp)
callq 0x45f0
movq -0x48(%rbp), %rdi
movq -0x138(%rbp), %rdx
leaq 0x53298(%rip), %rsi     # 0x8f5f7
callq 0x4450
jmp 0x3c366
leaq -0x2a(%rbp), %rdi
callq 0x4380
movq -0x40(%rbp), %rax
addq $0x140, %rsp            # imm = 0x140
popq %rbp
retq
movq %rax, %rdi
callq 0x16180
nopw %cs:(%rax,%rax)