// File: /workspace/github_cpp_makefile_star2_O1/meirdev[P]HexViewer/Style/Hexyl/Hexyl.cpp
// Function: Hexyl::Hexyl(bool)
Hexyl::Hexyl(bool _colourful)
: m_colourful(_colourful)
{
    std::stringstream byte;

    for (int i = 0; i < 256; ++i)
    {
        byte << std::setfill('0') << std::setw(2) << std::hex << i;

        if (!i)
        {
            m_byteTextStyle.push_back({ "38;5;242", byte.str(), "0" });
        }
        else if (isspace(i))
        {
            m_byteTextStyle.push_back({ "32", byte.str(), i != 0x20 ? "_" : " " });
        }
        else if (iscntrl(i))
        {
            m_byteTextStyle.push_back({ "35", byte.str(), "•" });
        }
        else if (isprint(i))
        {
            m_byteTextStyle.push_back({ "36", byte.str(), std::string(1, static_cast<char>(i)) });
        }
        else
        {
            m_byteTextStyle.push_back({ "33", byte.str(), "×" });
        }

        byte.str("");
    }

    if (_colourful)
    {
        for (int i = 0; i < 256; ++i)
        {
            m_byteTextStyle[i].m_byte = "\x1b[" + m_byteTextStyle[i].m_color + "m" + m_byteTextStyle[i].m_byte + "\x1b[0m";
            m_byteTextStyle[i].m_text = "\x1b[" + m_byteTextStyle[i].m_color + "m" + m_byteTextStyle[i].m_text + "\x1b[0m";
        }
    }

    m_byteTextStyle.push_back({ "", "  ", " " });
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x258, %rsp            # imm = 0x258
leaq 0xf990(%rip), %rax      # 0x2fc40
movq %rax, (%rdi)
leaq 0x8(%rdi), %rbx
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%rdi)
movq $0x0, 0x18(%rdi)
movl %esi, 0xac(%rsp)
movb %sil, 0x20(%rdi)
leaq 0xd0(%rsp), %rdi
callq 0x5210
leaq 0x18(%rsp), %r12
xorl %ebp, %ebp
leaq 0x8(%rsp), %r15
leaq 0x346d(%rip), %r13      # 0x2375e
movq 0xe0(%rsp), %rax
movq -0x18(%rax), %rax
leaq 0xe0(%rsp), %rcx
leaq (%rcx,%rax), %r14
cmpb $0x0, 0x1c1(%rsp,%rax)
jne 0x2032f
movq %r14, %rdi
movl $0x20, %esi
callq 0x52a0
movb %al, 0xe0(%r14)
movb $0x1, 0xe1(%r14)
movb $0x30, 0xe0(%r14)
movq 0xe0(%rsp), %rax
movq -0x18(%rax), %rcx
movq $0x2, 0xf0(%rsp,%rcx)
movq -0x18(%rax), %rax
movl 0xf8(%rsp,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0xf8(%rsp,%rax)
leaq 0xe0(%rsp), %rdi
movl %ebp, %esi
callq 0x54e0
testl %ebp, %ebp
je 0x20405
movl %ebp, %edi
callq 0x5070
testl %eax, %eax
je 0x20464
movq %r12, 0x8(%rsp)
movq %r15, %rdi
leaq 0x4200(%rip), %rsi      # 0x2459c
leaq 0x41fb(%rip), %rdx      # 0x2459e
callq 0xc794
leaq 0x28(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x5480
cmpl $0x20, %ebp
leaq 0x41db(%rip), %rsi      # 0x2459f
leaq 0x3396(%rip), %rax      # 0x23761
cmoveq %rax, %rsi
leaq 0x58(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0x41c0(%rip), %rdx      # 0x245a0
leaq 0x337b(%rip), %rax      # 0x23762
cmoveq %rax, %rdx
leaq 0x48(%rsp), %rdi
callq 0xc794
movq %rbx, %rdi
movq %r15, %rsi
callq 0x216a0
jmp 0x2058a
movq %r12, 0x8(%rsp)
movq %r15, %rdi
leaq 0x417d(%rip), %rsi      # 0x24591
leaq 0x417e(%rip), %rdx      # 0x24599
callq 0xc794
leaq 0x28(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x5480
leaq 0x58(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0x48(%rsp), %rdi
leaq 0x4152(%rip), %rsi      # 0x2459a
leaq 0x414c(%rip), %rdx      # 0x2459b
callq 0xc794
movq %rbx, %rdi
movq %r15, %rsi
callq 0x216a0
jmp 0x2058a
movl %ebp, %edi
callq 0x5430
testl %eax, %eax
je 0x204ce
movq %r12, 0x8(%rsp)
movq %r15, %rdi
leaq 0x4123(%rip), %rsi      # 0x245a1
leaq 0x411e(%rip), %rdx      # 0x245a3
callq 0xc794
leaq 0x28(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x5480
leaq 0x58(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0x48(%rsp), %rdi
leaq 0x40f2(%rip), %rsi      # 0x245a4
leaq 0x40ee(%rip), %rdx      # 0x245a7
callq 0xc794
movq %rbx, %rdi
movq %r15, %rsi
callq 0x216a0
jmp 0x2058a
movl %ebp, %edi
callq 0x5520
testl %eax, %eax
je 0x20530
movq %r12, 0x8(%rsp)
movq %r15, %rdi
leaq 0x40c0(%rip), %rsi      # 0x245a8
leaq 0x40bb(%rip), %rdx      # 0x245aa
callq 0xc794
leaq 0x28(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x5480
leaq 0x58(%rsp), %rax
movq %rax, 0x48(%rsp)
movsbl %bpl, %edx
movl $0x1, %esi
leaq 0x48(%rsp), %rdi
callq 0x5340
movq %rbx, %rdi
movq %r15, %rsi
callq 0x216a0
jmp 0x2058a
movq %r12, 0x8(%rsp)
movq %r15, %rdi
leaq 0x406c(%rip), %rsi      # 0x245ab
leaq 0x4067(%rip), %rdx      # 0x245ad
callq 0xc794
leaq 0x28(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x5480
leaq 0x58(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0x48(%rsp), %rdi
leaq 0x403b(%rip), %rsi      # 0x245ae
leaq 0x4036(%rip), %rdx      # 0x245b0
callq 0xc794
movq %rbx, %rdi
movq %r15, %rsi
callq 0x216a0
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x205a6
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x205c2
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x205d9
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x52c0
movq %r12, 0x8(%rsp)
movq %r15, %rdi
movq %r13, %rsi
movq %r13, %rdx
callq 0xc794
leaq 0xe8(%rsp), %rdi
movq %r15, %rsi
callq 0x5440
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x20613
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x52c0
incl %ebp
cmpl $0x100, %ebp            # imm = 0x100
jne 0x202f1
cmpb $0x0, 0xac(%rsp)
je 0x209a6
leaq 0x78(%rsp), %rbp
leaq 0x98(%rsp), %r14
xorl %r13d, %r13d
leaq 0xb0(%rsp), %r15
movq (%rbx), %rdx
addq %r13, %rdx
movq %r15, %rdi
leaq 0x3f5a(%rip), %rsi      # 0x245b1
callq 0xbe64
movq %r15, %rdi
leaq 0x3f51(%rip), %rsi      # 0x245b7
callq 0x5570
movq %rbp, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x2068e
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x20695
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x70(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%rbx), %rax
movq 0x20(%rax,%r13), %rsi
movq 0x28(%rax,%r13), %rdx
leaq 0x68(%rsp), %rdi
callq 0x50e0
movq %r14, 0x88(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x206f0
movq %rdx, 0x88(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x98(%rsp)
jmp 0x206f7
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, 0x90(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x88(%rsp), %rdi
leaq 0x3e93(%rip), %rsi      # 0x245b4
callq 0x5570
movq %r12, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x20749
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x20751
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%rbx), %rax
leaq (%rax,%r13), %rdi
addq $0x20, %rdi
leaq 0x8(%rsp), %rsi
callq 0x5370
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x20795
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x207b2
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x207c9
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x207ee
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x52c0
movq (%rbx), %rdx
addq %r13, %rdx
movq %r15, %rdi
leaq 0x3db3(%rip), %rsi      # 0x245b1
callq 0xbe64
movq %r15, %rdi
leaq 0x3daa(%rip), %rsi      # 0x245b7
callq 0x5570
movq %rbp, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x20835
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x2083c
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x70(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%rbx), %rax
movq 0x40(%rax,%r13), %rsi
movq 0x48(%rax,%r13), %rdx
leaq 0x68(%rsp), %rdi
callq 0x50e0
movq %r14, 0x88(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x20897
movq %rdx, 0x88(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x98(%rsp)
jmp 0x2089e
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, 0x90(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x88(%rsp), %rdi
leaq 0x3cec(%rip), %rsi      # 0x245b4
callq 0x5570
movq %r12, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x208f0
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x208f8
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%rbx), %rax
leaq (%rax,%r13), %rdi
addq $0x40, %rdi
leaq 0x8(%rsp), %rsi
callq 0x5370
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x2093c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x20959
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x20970
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x20995
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x52c0
addq $0x60, %r13
cmpq $0x6000, %r13           # imm = 0x6000
jne 0x20647
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x2da9(%rip), %rdx      # 0x2375e
movq %rdx, %rsi
callq 0xc794
leaq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
movq %rax, (%rdi)
leaq 0x2d8f(%rip), %rsi      # 0x23760
leaq 0x2d8a(%rip), %rdx      # 0x23762
callq 0xc794
leaq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
movq %rax, (%rdi)
leaq 0x2d70(%rip), %rsi      # 0x23761
leaq 0x2d6a(%rip), %rdx      # 0x23762
callq 0xc794
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x216a0
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x20a26
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x20a42
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x20a59
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0xf538(%rip), %rsi      # 0x2ff98
leaq 0xd0(%rsp), %rdi
callq 0x5240
leaq 0x150(%rsp), %rdi
callq 0x5100
addq $0x258, %rsp            # imm = 0x258
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x20ad0
jmp 0x20ae1
jmp 0x20b0a
jmp 0x20ba5
movq %rax, %r15
jmp 0x20bc9
jmp 0x20ad0
jmp 0x20ae1
jmp 0x20b0a
jmp 0x20ba5
jmp 0x20ad0
jmp 0x20ae1
jmp 0x20b0a
jmp 0x20ba5
jmp 0x20ad0
jmp 0x20ae1
jmp 0x20b0a
jmp 0x20ba5
jmp 0x20ad0
jmp 0x20ae1
jmp 0x20b0a
jmp 0x20ba5
jmp 0x20ba5
movq %rax, %r15
leaq 0x8(%rsp), %rdi
callq 0x20e64
xorl %ebp, %ebp
jmp 0x20ae7
movq %rax, %r15
movb $0x1, %bpl
testb %bpl, %bpl
je 0x20b10
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x20b10
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x52c0
jmp 0x20b10
movq %rax, %r15
movb $0x1, %bpl
testb %bpl, %bpl
jne 0x20b8c
jmp 0x20ba8
jmp 0x20ba5
jmp 0x20b27
jmp 0x20b2c
jmp 0x20b31
jmp 0x20ba5
movq %rax, %r15
jmp 0x20b68
movq %rax, %r15
jmp 0x20b51
movq %rax, %r15
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x20b51
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x20b68
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x20ba8
movq 0xc0(%rsp), %rsi
jmp 0x20b9b
jmp 0x20ba5
movq %rax, %r15
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x20ba8
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x52c0
jmp 0x20ba8
movq %rax, %r15
movq 0xf3e9(%rip), %rsi      # 0x2ff98
leaq 0xd0(%rsp), %rdi
callq 0x5240
leaq 0x150(%rsp), %rdi
callq 0x5100
movq %rbx, %rdi
callq 0x20eb2
movq %r15, %rdi
callq 0x5510
nop