// File: kztomita[P]http-dump/dump.cc
// Function: (anonymous namespace)::out_line(char const*, char const*, bool)
void out_line(const char* start, const char* end, bool snipped) {
  std::ostringstream octets;
  std::string chars;

  octets << std::hex;
  for (auto p = start ; p < end ; p++) {
    octets << std::setw(2) << std::setfill('0') << (static_cast<int>(*p) & 0xff) << " ";

    if (*p >= 0x20 && *p <= 0x7e) {
      chars += *p;
    } else {
      chars += ".";
    }
  }
  if (snipped) {
    octets << "snipped...";
  }

  std::ostringstream line;
  line << std::left << std::setw(16*3 + 2) << octets.str() << chars;

  std::cout << line.str() <<  std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x3f0, %rsp            # imm = 0x3F0
movb %dl, %al
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
andb $0x1, %al
movb %al, -0x11(%rbp)
leaq -0x190(%rbp), %rdi
movq %rdi, -0x398(%rbp)
callq 0xdd60
leaq -0x1b0(%rbp), %rdi
callq 0xd510
movq -0x398(%rbp), %rdi
leaq -0x41307(%rip), %rsi    # 0x31910
callq 0xe170
jmp 0x72c1e
movq -0x8(%rbp), %rax
movq %rax, -0x1c8(%rbp)
movq -0x1c8(%rbp), %rax
cmpq -0x10(%rbp), %rax
jae 0x72d60
movl $0x2, %edi
callq 0x72f40
movl %eax, -0x39c(%rbp)
jmp 0x72c4c
movl -0x39c(%rbp), %eax
movl %eax, -0x1cc(%rbp)
movl -0x1cc(%rbp), %esi
leaq -0x190(%rbp), %rdi
callq 0xd770
movq %rax, -0x3a8(%rbp)
jmp 0x72c73
movl $0x30, %edi
callq 0x72f60
movb %al, -0x3a9(%rbp)
jmp 0x72c85
movq -0x3a8(%rbp), %rdi
movb -0x3a9(%rbp), %al
movb %al, -0x1cd(%rbp)
movzbl -0x1cd(%rbp), %esi
callq 0xda90
movq %rax, -0x3b8(%rbp)
jmp 0x72cad
movq -0x3b8(%rbp), %rdi
movq -0x1c8(%rbp), %rax
movzbl (%rax), %esi
callq 0xd4c0
movq %rax, -0x3c0(%rbp)
jmp 0x72ccc
movq -0x3c0(%rbp), %rdi
leaq 0x2bc8(%rip), %rsi      # 0x758a2
callq 0xd860
jmp 0x72ce1
movq -0x1c8(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x20, %eax
jl 0x72d30
movq -0x1c8(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x7e, %eax
jg 0x72d30
movq -0x1c8(%rbp), %rax
movsbl (%rax), %esi
leaq -0x1b0(%rbp), %rdi
callq 0xda20
jmp 0x72d17
jmp 0x72d47
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b8(%rbp)
movl %eax, -0x1bc(%rbp)
jmp 0x72f0f
leaq 0x2453(%rip), %rsi      # 0x7518a
leaq -0x1b0(%rbp), %rdi
callq 0xd1f0
jmp 0x72d45
jmp 0x72d47
jmp 0x72d49
movq -0x1c8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x1c8(%rbp)
jmp 0x72c29
testb $0x1, -0x11(%rbp)
je 0x72d7d
leaq 0x37ec(%rip), %rsi      # 0x76559
leaq -0x190(%rbp), %rdi
callq 0xd860
jmp 0x72d7b
jmp 0x72d7d
leaq -0x348(%rbp), %rdi
callq 0xdd60
jmp 0x72d8b
leaq 0x1ee(%rip), %rsi       # 0x72f80
leaq -0x348(%rbp), %rdi
callq 0xe170
movq %rax, -0x3c8(%rbp)
jmp 0x72da7
movl $0x32, %edi
callq 0x72f40
movl %eax, -0x3cc(%rbp)
jmp 0x72db9
movq -0x3c8(%rbp), %rdi
movl -0x3cc(%rbp), %eax
movl %eax, -0x34c(%rbp)
movl -0x34c(%rbp), %esi
callq 0xd770
movq %rax, -0x3d8(%rbp)
jmp 0x72de0
leaq -0x370(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0xe0c0
jmp 0x72df5
movq -0x3d8(%rbp), %rdi
leaq -0x370(%rbp), %rsi
callq 0xd480
movq %rax, -0x3e0(%rbp)
jmp 0x72e11
movq -0x3e0(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
callq 0xd480
jmp 0x72e26
leaq -0x370(%rbp), %rdi
callq 0xdac0
leaq -0x390(%rbp), %rdi
leaq -0x348(%rbp), %rsi
callq 0xe0c0
jmp 0x72e47
movq 0x3a0f2(%rip), %rdi     # 0xacf40
leaq -0x390(%rbp), %rsi
callq 0xd480
movq %rax, -0x3e8(%rbp)
jmp 0x72e63
movq -0x3e8(%rbp), %rdi
movq 0x3a127(%rip), %rsi     # 0xacf98
callq 0xde80
jmp 0x72e78
leaq -0x390(%rbp), %rdi
callq 0xdac0
leaq -0x348(%rbp), %rdi
callq 0xdcb0
leaq -0x1b0(%rbp), %rdi
callq 0xdac0
leaq -0x190(%rbp), %rdi
callq 0xdcb0
addq $0x3f0, %rsp            # imm = 0x3F0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b8(%rbp)
movl %eax, -0x1bc(%rbp)
jmp 0x72f03
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b8(%rbp)
movl %eax, -0x1bc(%rbp)
leaq -0x370(%rbp), %rdi
callq 0xdac0
jmp 0x72f03
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b8(%rbp)
movl %eax, -0x1bc(%rbp)
leaq -0x390(%rbp), %rdi
callq 0xdac0
leaq -0x348(%rbp), %rdi
callq 0xdcb0
leaq -0x1b0(%rbp), %rdi
callq 0xdac0
leaq -0x190(%rbp), %rdi
callq 0xdcb0
movq -0x1b8(%rbp), %rdi
callq 0xd990
nopw %cs:(%rax,%rax)
nopl (%rax)