// File: /workspace/github_cpp_makefile_star2_O3/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 0xfd64(%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 0x3841(%rip), %r13      # 0x2375e
movq 0xe0(%rsp), %rax
movq -0x18(%rax), %rcx
leaq 0xe0(%rsp), %rdx
leaq (%rdx,%rcx), %r14
cmpb $0x0, 0x1c1(%rsp,%rcx)
jne 0x1ff5c
movq %r14, %rdi
movl $0x20, %esi
callq 0x52a0
movb $0x1, 0xe1(%r14)
movq 0xe0(%rsp), %rax
movb $0x30, 0xe0(%r14)
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 0x2002a
movl %ebp, %edi
callq 0x5070
testl %eax, %eax
je 0x20089
movq %r12, 0x8(%rsp)
movq %r15, %rdi
leaq 0x45db(%rip), %rsi      # 0x2459c
leaq 0x45d6(%rip), %rdx      # 0x2459e
callq 0xc736
leaq 0x28(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x5480
cmpl $0x20, %ebp
leaq 0x45b6(%rip), %rsi      # 0x2459f
leaq 0x3771(%rip), %rax      # 0x23761
cmoveq %rax, %rsi
leaq 0x58(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0x459b(%rip), %rdx      # 0x245a0
leaq 0x3756(%rip), %rax      # 0x23762
cmoveq %rax, %rdx
leaq 0x48(%rsp), %rdi
callq 0xc736
movq %rbx, %rdi
movq %r15, %rsi
callq 0x212b0
jmp 0x201af
movq %r12, 0x8(%rsp)
movq %r15, %rdi
leaq 0x4558(%rip), %rsi      # 0x24591
leaq 0x4559(%rip), %rdx      # 0x24599
callq 0xc736
leaq 0x28(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x5480
leaq 0x58(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0x48(%rsp), %rdi
leaq 0x452d(%rip), %rsi      # 0x2459a
leaq 0x4527(%rip), %rdx      # 0x2459b
callq 0xc736
movq %rbx, %rdi
movq %r15, %rsi
callq 0x212b0
jmp 0x201af
movl %ebp, %edi
callq 0x5430
testl %eax, %eax
je 0x200f3
movq %r12, 0x8(%rsp)
movq %r15, %rdi
leaq 0x44fe(%rip), %rsi      # 0x245a1
leaq 0x44f9(%rip), %rdx      # 0x245a3
callq 0xc736
leaq 0x28(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x5480
leaq 0x58(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0x48(%rsp), %rdi
leaq 0x44cd(%rip), %rsi      # 0x245a4
leaq 0x44c9(%rip), %rdx      # 0x245a7
callq 0xc736
movq %rbx, %rdi
movq %r15, %rsi
callq 0x212b0
jmp 0x201af
movl %ebp, %edi
callq 0x5520
testl %eax, %eax
je 0x20155
movq %r12, 0x8(%rsp)
movq %r15, %rdi
leaq 0x449b(%rip), %rsi      # 0x245a8
leaq 0x4496(%rip), %rdx      # 0x245aa
callq 0xc736
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 0x212b0
jmp 0x201af
movq %r12, 0x8(%rsp)
movq %r15, %rdi
leaq 0x4447(%rip), %rsi      # 0x245ab
leaq 0x4442(%rip), %rdx      # 0x245ad
callq 0xc736
leaq 0x28(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x5480
leaq 0x58(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0x48(%rsp), %rdi
leaq 0x4416(%rip), %rsi      # 0x245ae
leaq 0x4411(%rip), %rdx      # 0x245b0
callq 0xc736
movq %rbx, %rdi
movq %r15, %rsi
callq 0x212b0
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x201cb
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x201e7
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x201fe
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x52c0
movq %r12, 0x8(%rsp)
movq %r15, %rdi
movq %r13, %rsi
movq %r13, %rdx
callq 0xc736
leaq 0xe8(%rsp), %rdi
movq %r15, %rsi
callq 0x5440
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x20238
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x52c0
incl %ebp
cmpl $0x100, %ebp            # imm = 0x100
jne 0x1ff1d
cmpb $0x0, 0xac(%rsp)
je 0x205cb
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 0x4335(%rip), %rsi      # 0x245b1
callq 0xbe30
movq %r15, %rdi
leaq 0x432c(%rip), %rsi      # 0x245b7
callq 0x5570
movq %rbp, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x202b3
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x202ba
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 0x20315
movq %rdx, 0x88(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x98(%rsp)
jmp 0x2031c
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 0x426e(%rip), %rsi      # 0x245b4
callq 0x5570
movq %r12, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x2036e
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x20376
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 0x203ba
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x203d7
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x203ee
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x20413
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x52c0
movq (%rbx), %rdx
addq %r13, %rdx
movq %r15, %rdi
leaq 0x418e(%rip), %rsi      # 0x245b1
callq 0xbe30
movq %r15, %rdi
leaq 0x4185(%rip), %rsi      # 0x245b7
callq 0x5570
movq %rbp, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x2045a
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x20461
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 0x204bc
movq %rdx, 0x88(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x98(%rsp)
jmp 0x204c3
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 0x40c7(%rip), %rsi      # 0x245b4
callq 0x5570
movq %r12, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x20515
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x2051d
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 0x20561
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x2057e
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x20595
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x205ba
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x52c0
addq $0x60, %r13
cmpq $0x6000, %r13           # imm = 0x6000
jne 0x2026c
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x3184(%rip), %rdx      # 0x2375e
movq %rdx, %rsi
callq 0xc736
leaq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
movq %rax, (%rdi)
leaq 0x316a(%rip), %rsi      # 0x23760
leaq 0x3165(%rip), %rdx      # 0x23762
callq 0xc736
leaq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
movq %rax, (%rdi)
leaq 0x314b(%rip), %rsi      # 0x23761
leaq 0x3145(%rip), %rdx      # 0x23762
callq 0xc736
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x212b0
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x2064b
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x20667
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x2067e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0xf913(%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 0x20704
jmp 0x20716
jmp 0x207ac
jmp 0x207c8
movq %rax, %r15
jmp 0x207ec
jmp 0x20704
jmp 0x20716
jmp 0x207ac
jmp 0x207c8
jmp 0x20704
jmp 0x20716
jmp 0x207ac
jmp 0x207c8
jmp 0x20704
jmp 0x20716
jmp 0x207ac
jmp 0x207c8
jmp 0x20704
jmp 0x20716
jmp 0x207ac
jmp 0x207c8
jmp 0x207c8
movq %rax, %r15
leaq 0x8(%rsp), %rdi
callq 0x20a84
jmp 0x207cb
movq %rax, %r15
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x207af
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x52c0
jmp 0x207af
jmp 0x207ac
jmp 0x207c8
jmp 0x2074a
jmp 0x2074f
jmp 0x20754
jmp 0x207c8
movq %rax, %r15
jmp 0x2078b
movq %rax, %r15
jmp 0x20774
movq %rax, %r15
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x20774
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x2078b
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x207cb
movq 0xc0(%rsp), %rsi
jmp 0x207be
jmp 0x207c8
movq %rax, %r15
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x207cb
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x52c0
jmp 0x207cb
movq %rax, %r15
movq 0xf7c6(%rip), %rsi      # 0x2ff98
leaq 0xd0(%rsp), %rdi
callq 0x5240
leaq 0x150(%rsp), %rdi
callq 0x5100
movq %rbx, %rdi
callq 0x20ad2
movq %r15, %rdi
callq 0x5510