// File: Neotoxic-off[P]Abstrakt/src/abstract/abstrakt.cpp
// Function: abstrakt::display_errors()
bool abstrakt::display_errors()
{
    std::size_t count = this->reported.line.size();
    std::size_t padding = std::to_string(this->reported.line.at(count - 1)).size();
    auto line_index = this->reported.line.begin();
    auto data_index = this->reported.data.begin();

    for (; line_index != this->reported.line.end(); line_index++, data_index++) {
        std::cout << this->colors.colors["blue"] << "line " << std::setw(static_cast<int>(padding)) << *line_index << ": " << *data_index << this->colors.colors["reset"] << std::endl;
    }

    std::cout << this->colors.colors["red"] << "\nTotal Errors: " << this->reported.data.size() << this->colors.colors["reset"] << std::endl;

    return (true);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1e0, %rsp            # imm = 0x1E0
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x118(%rbp)
addq $0xc8, %rdi
addq $0x18, %rdi
callq 0xc220
movq -0x118(%rbp), %rdi
movq %rax, -0x10(%rbp)
addq $0xc8, %rdi
addq $0x18, %rdi
movq -0x10(%rbp), %rsi
subq $0x1, %rsi
callq 0xc320
movq (%rax), %rsi
leaq -0x38(%rbp), %rdi
callq 0xc240
leaq -0x38(%rbp), %rdi
callq 0x3180
movq %rax, -0x120(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x3150
movq -0x120(%rbp), %rax
movq -0x118(%rbp), %rdi
movq %rax, -0x18(%rbp)
addq $0xc8, %rdi
addq $0x18, %rdi
callq 0xc360
movq -0x118(%rbp), %rdi
movq %rax, -0x40(%rbp)
addq $0xc8, %rdi
callq 0x4cd0
movq %rax, -0x48(%rbp)
movq -0x118(%rbp), %rdi
addq $0xc8, %rdi
addq $0x18, %rdi
callq 0xc3d0
movq %rax, -0x50(%rbp)
leaq -0x40(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0xc390
testb $0x1, %al
jne 0xa030
jmp 0xa2a3
movq -0x118(%rbp), %rax
addq $0x30, %rax
movq %rax, -0x130(%rbp)
leaq -0x71(%rbp), %rdi
movq %rdi, -0x128(%rbp)
callq 0x3380
movq -0x128(%rbp), %rdx
leaq 0x60fa(%rip), %rsi      # 0x1015a
leaq -0x70(%rbp), %rdi
callq 0x5370
jmp 0xa06b
movq -0x130(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0xc060
movq %rax, -0x138(%rbp)
jmp 0xa084
movq -0x138(%rbp), %rsi
movq 0xdf46(%rip), %rdi      # 0x17fd8
callq 0x31e0
movq %rax, -0x140(%rbp)
jmp 0xa0a0
movq -0x140(%rbp), %rdi
leaq 0x60b1(%rip), %rsi      # 0x1015f
callq 0x31f0
movq %rax, -0x148(%rbp)
jmp 0xa0bc
movl -0x18(%rbp), %edi
callq 0xc400
movl %eax, -0x14c(%rbp)
jmp 0xa0cc
movq -0x148(%rbp), %rdi
movl -0x14c(%rbp), %eax
movl %eax, -0x88(%rbp)
movl -0x88(%rbp), %esi
callq 0x3280
movq %rax, -0x158(%rbp)
jmp 0xa0f3
leaq -0x40(%rbp), %rdi
callq 0xc420
movq -0x158(%rbp), %rdi
movq (%rax), %rsi
callq 0x3090
movq %rax, -0x160(%rbp)
jmp 0xa114
movq -0x160(%rbp), %rdi
leaq 0x6054(%rip), %rsi      # 0x10176
callq 0x31f0
movq %rax, -0x168(%rbp)
jmp 0xa130
leaq -0x48(%rbp), %rdi
callq 0x4d70
movq -0x168(%rbp), %rdi
movq %rax, %rsi
callq 0x31e0
movq %rax, -0x170(%rbp)
jmp 0xa151
movq -0x118(%rbp), %rax
addq $0x30, %rax
movq %rax, -0x180(%rbp)
leaq -0xa9(%rbp), %rdi
movq %rdi, -0x178(%rbp)
callq 0x3380
movq -0x178(%rbp), %rdx
leaq 0x5fce(%rip), %rsi      # 0x10152
leaq -0xa8(%rbp), %rdi
callq 0x5370
jmp 0xa192
movq -0x180(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0xc060
movq %rax, -0x188(%rbp)
jmp 0xa1ae
movq -0x188(%rbp), %rsi
movq -0x170(%rbp), %rdi
callq 0x31e0
movq %rax, -0x190(%rbp)
jmp 0xa1ca
movq -0x190(%rbp), %rdi
movq 0xddf0(%rip), %rsi      # 0x17fc8
callq 0x3230
jmp 0xa1df
leaq -0xa8(%rbp), %rdi
callq 0x3150
leaq -0xa9(%rbp), %rdi
callq 0x3250
leaq -0x70(%rbp), %rdi
callq 0x3150
leaq -0x71(%rbp), %rdi
callq 0x3250
leaq -0x40(%rbp), %rdi
xorl %esi, %esi
callq 0xc440
movq %rax, -0xb8(%rbp)
leaq -0x48(%rbp), %rdi
xorl %esi, %esi
callq 0x4d90
movq %rax, -0xc0(%rbp)
jmp 0x9fff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0xa295
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0xa28c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0xa280
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x3150
leaq -0xa9(%rbp), %rdi
callq 0x3250
leaq -0x70(%rbp), %rdi
callq 0x3150
leaq -0x71(%rbp), %rdi
callq 0x3250
jmp 0xa4a0
movq -0x118(%rbp), %rax
addq $0x30, %rax
movq %rax, -0x1a0(%rbp)
leaq -0xe1(%rbp), %rdi
movq %rdi, -0x198(%rbp)
callq 0x3380
movq -0x198(%rbp), %rdx
leaq 0x5e8f(%rip), %rsi      # 0x10165
leaq -0xe0(%rbp), %rdi
callq 0x5370
jmp 0xa2e4
movq -0x1a0(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0xc060
movq %rax, -0x1a8(%rbp)
jmp 0xa300
movq -0x1a8(%rbp), %rsi
movq 0xdcca(%rip), %rdi      # 0x17fd8
callq 0x31e0
movq %rax, -0x1b0(%rbp)
jmp 0xa31c
movq -0x1b0(%rbp), %rdi
leaq 0x5e3f(%rip), %rsi      # 0x10169
callq 0x31f0
movq %rax, -0x1b8(%rbp)
jmp 0xa338
movq -0x118(%rbp), %rdi
addq $0xc8, %rdi
callq 0x76e0
movq -0x1b8(%rbp), %rdi
movq %rax, %rsi
callq 0x3090
movq %rax, -0x1c0(%rbp)
jmp 0xa363
movq -0x118(%rbp), %rax
addq $0x30, %rax
movq %rax, -0x1d0(%rbp)
leaq -0x109(%rbp), %rdi
movq %rdi, -0x1c8(%rbp)
callq 0x3380
movq -0x1c8(%rbp), %rdx
leaq 0x5dbc(%rip), %rsi      # 0x10152
leaq -0x108(%rbp), %rdi
callq 0x5370
jmp 0xa3a4
movq -0x1d0(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0xc060
movq %rax, -0x1d8(%rbp)
jmp 0xa3c0
movq -0x1d8(%rbp), %rsi
movq -0x1c0(%rbp), %rdi
callq 0x31e0
movq %rax, -0x1e0(%rbp)
jmp 0xa3dc
movq -0x1e0(%rbp), %rdi
movq 0xdbde(%rip), %rsi      # 0x17fc8
callq 0x3230
jmp 0xa3f1
leaq -0x108(%rbp), %rdi
callq 0x3150
leaq -0x109(%rbp), %rdi
callq 0x3250
leaq -0xe0(%rbp), %rdi
callq 0x3150
leaq -0xe1(%rbp), %rdi
callq 0x3250
movb $0x1, %al
andb $0x1, %al
addq $0x1e0, %rsp            # imm = 0x1E0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0xa494
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0xa488
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0xa47c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x108(%rbp), %rdi
callq 0x3150
leaq -0x109(%rbp), %rdi
callq 0x3250
leaq -0xe0(%rbp), %rdi
callq 0x3150
leaq -0xe1(%rbp), %rdi
callq 0x3250
movq -0x80(%rbp), %rdi
callq 0x3370
nopl (%rax)