// File: lvandeve[P]base256/base256.cpp
// Function: Printer::getTable[abi:cxx11]()
std::string getTable() {
    std::string digits = "0123456789abcdef";
    int size = n->width() + 1;
    std::string table = "   ";
    for(int i = 0; i < 16; i++) {
      table += digits[i];
      for(int j = 1; j < size; j++) table += ' ';
    }
    table += '\n';
    table += " +";
    for(int i = 0; i < 16 * size; i++) {
      table += '-';
    }
    table += '\n';
    for(int y = 0; y < 16; y++) {
      table += digits.substr(y, 1) + "|";
      for(int x = 0; x < 16; x++) {
        unsigned char c = y * 16 + x;
        size_t outwidth = 0;
        std::string s = encodeChar(c, 0, 0, &outwidth);
        if(s == "\n") {
          s = "";
          for(size_t j = 1; j < size; j++) s += " ";
        }
        while(s.size() < n->width()) s = " " + s;
        table += std::string(" ") + s;
      }
      table += "\n";
    }
    return table;
  }

// Assembly:
subq $0x198, %rsp            # imm = 0x198
movq %rdi, 0x38(%rsp)
movq %rdi, %rax
movq %rax, 0x40(%rsp)
movq %rdi, 0x190(%rsp)
movq %rsi, 0x188(%rsp)
movq 0x188(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0x167(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0x54f0
movq 0x50(%rsp), %rdx
leaq 0x1229f(%rip), %rsi     # 0x2219e
leaq 0x168(%rsp), %rdi
callq 0x53d0
jmp 0xff0e
leaq 0x167(%rsp), %rdi
callq 0x5300
movq 0x48(%rsp), %rax
movq (%rax), %rdi
movq (%rdi), %rax
movq 0x28(%rax), %rax
callq *%rax
movl %eax, 0x34(%rsp)
jmp 0xff32
movl 0x34(%rsp), %eax
incl %eax
movl %eax, 0x150(%rsp)
movb $0x0, 0x14f(%rsp)
leaq 0x14e(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x54f0
movq 0x38(%rsp), %rdi
movq 0x28(%rsp), %rdx
leaq 0x122d3(%rip), %rsi     # 0x2223d
callq 0x53d0
jmp 0xff71
leaq 0x14e(%rsp), %rdi
callq 0x5300
movl $0x0, 0x148(%rsp)
cmpl $0x10, 0x148(%rsp)
jge 0x100a2
movslq 0x148(%rsp), %rsi
leaq 0x168(%rsp), %rdi
callq 0x5540
movq %rax, 0x20(%rsp)
jmp 0xffb3
movq 0x38(%rsp), %rdi
movq 0x20(%rsp), %rax
movsbl (%rax), %esi
callq 0x51d0
jmp 0xffc7
movl $0x1, 0x144(%rsp)
movl 0x144(%rsp), %eax
cmpl 0x150(%rsp), %eax
jge 0x1008a
movq 0x38(%rsp), %rdi
movl $0x20, %esi
callq 0x51d0
jmp 0xfff7
jmp 0xfff9
movl 0x144(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x144(%rsp)
jmp 0xffd2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x158(%rsp)
movl %eax, 0x154(%rsp)
leaq 0x167(%rsp), %rdi
callq 0x5300
jmp 0x10507
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x158(%rsp)
movl %eax, 0x154(%rsp)
jmp 0x104fa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x158(%rsp)
movl %eax, 0x154(%rsp)
leaq 0x14e(%rsp), %rdi
callq 0x5300
jmp 0x104fa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x158(%rsp)
movl %eax, 0x154(%rsp)
jmp 0x104f0
jmp 0x1008c
movl 0x148(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x148(%rsp)
jmp 0xff89
movq 0x38(%rsp), %rdi
movl $0xa, %esi
callq 0x51d0
jmp 0x100b3
movq 0x38(%rsp), %rdi
leaq 0x12169(%rip), %rsi     # 0x22228
callq 0x5280
jmp 0x100c6
movl $0x0, 0x140(%rsp)
movl 0x140(%rsp), %eax
movl 0x150(%rsp), %ecx
shll $0x4, %ecx
cmpl %ecx, %eax
jge 0x1010c
movq 0x38(%rsp), %rdi
movl $0x2d, %esi
callq 0x51d0
jmp 0x100f7
jmp 0x100f9
movl 0x140(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x140(%rsp)
jmp 0x100d1
movq 0x38(%rsp), %rdi
movl $0xa, %esi
callq 0x51d0
jmp 0x1011d
movl $0x0, 0x13c(%rsp)
cmpl $0x10, 0x13c(%rsp)
jge 0x104ba
movslq 0x13c(%rsp), %rdx
leaq 0xf8(%rsp), %rdi
leaq 0x168(%rsp), %rsi
movl $0x1, %ecx
callq 0x52c0
jmp 0x1015a
leaq 0x120e0(%rip), %rdx     # 0x22241
leaq 0x118(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
callq 0x11c10
jmp 0x10178
movq 0x38(%rsp), %rdi
leaq 0x118(%rsp), %rsi
callq 0x5360
jmp 0x1018c
leaq 0x118(%rsp), %rdi
callq 0x5558
leaq 0xf8(%rsp), %rdi
callq 0x5558
movl $0x0, 0xf4(%rsp)
cmpl $0x10, 0xf4(%rsp)
jge 0x1048f
movq 0x48(%rsp), %rsi
movl 0x13c(%rsp), %eax
shll $0x4, %eax
movl 0xf4(%rsp), %ecx
addl %ecx, %eax
movb %al, 0xf3(%rsp)
movq $0x0, 0xe8(%rsp)
movzbl 0xf3(%rsp), %edx
leaq 0xc8(%rsp), %rdi
xorl %r8d, %r8d
leaq 0xe8(%rsp), %r9
movl %r8d, %ecx
callq 0x1cf60
jmp 0x1020f
leaq 0x11069(%rip), %rsi     # 0x2127f
leaq 0xc8(%rsp), %rdi
callq 0xfd20
movb %al, 0x1f(%rsp)
jmp 0x10229
movb 0x1f(%rsp), %al
testb $0x1, %al
jne 0x10236
jmp 0x10303
leaq 0x11043(%rip), %rsi     # 0x21280
leaq 0xc8(%rsp), %rdi
callq 0x53c0
jmp 0x1024c
movq $0x1, 0xc0(%rsp)
movq 0xc0(%rsp), %rax
movslq 0x150(%rsp), %rcx
cmpq %rcx, %rax
jae 0x10301
leaq 0x11fc7(%rip), %rsi     # 0x2223f
leaq 0xc8(%rsp), %rdi
callq 0x5280
jmp 0x10287
jmp 0x10289
movq 0xc0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xc0(%rsp)
jmp 0x10258
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x158(%rsp)
movl %eax, 0x154(%rsp)
jmp 0x102d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x158(%rsp)
movl %eax, 0x154(%rsp)
leaq 0x118(%rsp), %rdi
callq 0x5558
leaq 0xf8(%rsp), %rdi
callq 0x5558
jmp 0x104f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x158(%rsp)
movl %eax, 0x154(%rsp)
jmp 0x10480
jmp 0x10303
jmp 0x10305
leaq 0xc8(%rsp), %rdi
callq 0x5220
movq %rax, %rcx
movq 0x48(%rsp), %rax
movq %rcx, 0x10(%rsp)
movq (%rax), %rdi
movq (%rdi), %rax
movq 0x28(%rax), %rax
callq *%rax
movl %eax, 0x18(%rsp)
jmp 0x10331
movq 0x10(%rsp), %rax
movl 0x18(%rsp), %ecx
movslq %ecx, %rcx
cmpq %rcx, %rax
jae 0x10384
leaq 0x11ef6(%rip), %rsi     # 0x2223f
leaq 0xa0(%rsp), %rdi
leaq 0xc8(%rsp), %rdx
callq 0x11ae0
jmp 0x10360
leaq 0xc8(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
callq 0x5330
leaq 0xa0(%rsp), %rdi
callq 0x5558
jmp 0x10305
leaq 0x5f(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x54f0
movq 0x8(%rsp), %rdx
leaq 0x11ea0(%rip), %rsi     # 0x2223f
leaq 0x60(%rsp), %rdi
callq 0x53d0
jmp 0x103ab
leaq 0x80(%rsp), %rdi
leaq 0x60(%rsp), %rsi
leaq 0xc8(%rsp), %rdx
callq 0x1dac0
jmp 0x103c7
movq 0x38(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x5360
jmp 0x103db
leaq 0x80(%rsp), %rdi
callq 0x5558
leaq 0x60(%rsp), %rdi
callq 0x5558
leaq 0x5f(%rsp), %rdi
callq 0x5300
leaq 0xc8(%rsp), %rdi
callq 0x5558
movl 0xf4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xf4(%rsp)
jmp 0x101b1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x158(%rsp)
movl %eax, 0x154(%rsp)
jmp 0x10476
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x158(%rsp)
movl %eax, 0x154(%rsp)
jmp 0x1046c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x158(%rsp)
movl %eax, 0x154(%rsp)
leaq 0x80(%rsp), %rdi
callq 0x5558
leaq 0x60(%rsp), %rdi
callq 0x5558
leaq 0x5f(%rsp), %rdi
callq 0x5300
leaq 0xc8(%rsp), %rdi
callq 0x5558
jmp 0x104f0
movq 0x38(%rsp), %rdi
leaq 0x10de4(%rip), %rsi     # 0x2127f
callq 0x5280
jmp 0x104a2
jmp 0x104a4
movl 0x13c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x13c(%rsp)
jmp 0x10128
movb $0x1, 0x14f(%rsp)
testb $0x1, 0x14f(%rsp)
jne 0x104d6
movq 0x38(%rsp), %rdi
callq 0x5558
leaq 0x168(%rsp), %rdi
callq 0x5558
movq 0x40(%rsp), %rax
addq $0x198, %rsp            # imm = 0x198
retq
movq 0x38(%rsp), %rdi
callq 0x5558
leaq 0x168(%rsp), %rdi
callq 0x5558
movq 0x158(%rsp), %rdi
callq 0x54e0
nopw %cs:(%rax,%rax)
nop