// File: acliusBackHome[P]kamaya/dist/ParseDeclaration.cpp
// Function: ParseScope::emitText2Nasm[abi:cxx11]()
map<string, ParseFunction> ParseScope::emitText2Nasm() {
    map<string, ParseFunction> sectionText;
    for (const auto &scope: scopes) {
        const auto &symbol2dec = scope.symbol2dec_ptr;
        for (const auto &each : symbol2dec) {
            if (each.first.empty()) {
                continue;
            }
            DeclarationType dec_type = each.second.first;
            switch (dec_type) {
                case D_FUNCTION: {
                    const auto &func_ptr_list = each.second.second;
                    for (const auto &func_ptr:func_ptr_list) {
                        sectionText[((ParseFunction *) func_ptr)->get_symbol()] = *((ParseFunction *) func_ptr);
                    }
                    break;
                }
                default: {
                    break;
                }
            }
        }
    }
    return sectionText;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rdi, -0xc8(%rbp)
movq %rdi, %rax
movq %rax, -0xc0(%rbp)
movq %rdi, -0x8(%rbp)
movb $0x0, -0x9(%rbp)
callq 0x6d110
leaq 0x5b360(%rip), %rax     # 0xc7440
movq %rax, -0x18(%rbp)
leaq 0x5b355(%rip), %rdi     # 0xc7440
callq 0x6cf80
movq %rax, -0x20(%rbp)
leaq 0x5b345(%rip), %rdi     # 0xc7440
callq 0x6cfb0
movq %rax, -0x28(%rbp)
leaq -0x20(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x6cfe0
testb $0x1, %al
jne 0x6c11a
jmp 0x6c2be
leaq -0x20(%rbp), %rdi
callq 0x6d020
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
callq 0x6d040
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rdi
callq 0x6cc40
movq %rax, -0x50(%rbp)
leaq -0x48(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x6d070
testb $0x1, %al
jne 0x6c16b
jmp 0x6c2ae
leaq -0x48(%rbp), %rdi
callq 0x6d0a0
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rdi
callq 0x4590
testb $0x1, %al
jne 0x6c187
jmp 0x6c18c
jmp 0x6c2a0
movq -0x58(%rbp), %rax
movl 0x20(%rax), %eax
movl %eax, -0x5c(%rbp)
movl -0x5c(%rbp), %eax
subl $0x1, %eax
jne 0x6c29c
jmp 0x6c1a4
movq -0x58(%rbp), %rax
addq $0x20, %rax
addq $0x8, %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rdi
callq 0x1a560
movq %rax, -0x78(%rbp)
movq -0x70(%rbp), %rdi
callq 0x1a590
movq %rax, -0x80(%rbp)
leaq -0x78(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x40110
testb $0x1, %al
jne 0x6c1ec
jmp 0x6c29a
leaq -0x78(%rbp), %rdi
callq 0x40150
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movq (%rax), %rsi
movq %rsi, -0xd0(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x68bc0
jmp 0x6c21b
movq -0xc8(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x6d130
movq %rax, -0xd8(%rbp)
jmp 0x6c237
movq -0xd0(%rbp), %rsi
movq -0xd8(%rbp), %rdi
callq 0x6d210
jmp 0x6c24c
leaq -0xa8(%rbp), %rdi
callq 0x4688
leaq -0x78(%rbp), %rdi
callq 0x40170
jmp 0x6c1d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x6c2e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x4688
jmp 0x6c2e4
jmp 0x6c29e
jmp 0x6c29e
jmp 0x6c2a0
leaq -0x48(%rbp), %rdi
callq 0x6d0c0
jmp 0x6c155
jmp 0x6c2b0
leaq -0x20(%rbp), %rdi
callq 0x6d0f0
jmp 0x6c104
movb $0x1, -0x9(%rbp)
testb $0x1, -0x9(%rbp)
jne 0x6c2d4
movq -0xc8(%rbp), %rdi
callq 0x6d280
movq -0xc0(%rbp), %rax
addq $0xe0, %rsp
popq %rbp
retq
movq -0xc8(%rbp), %rdi
callq 0x6d280
movq -0xb0(%rbp), %rdi
callq 0x45e0
nopl (%rax)