// File: /workspace/github_c_makefile_star2_O0/hilbix[P]unbuffered/./tino/xd.h
// Function: tino_xd
static void
tino_xd(TINO_DATA *d, const char *prefix, int fmt, unsigned long long pos, const unsigned char *p, int len)
{
  int	i;

  if (!p || !len)
    {
      if (fmt<0)
	tino_data_printfA(d, "%s%0*llx:\n", prefix, -fmt, pos);
      else
	tino_data_printfA(d, "%s%0*llu:\n", prefix, fmt, pos);
      return;
    }
  for (i=0; i<len; i+=16)
    {
      int	j;
      char	buf[80], *ptr;

      tino_data_putsA(d, prefix);
      if (fmt<0)
	tino_data_printfA(d, "%0*llx:", -fmt, pos+i);
      else
	tino_data_printfA(d, "%0*llu:", fmt, pos+i);
      ptr	= buf;
      for (j=0; j<16 && i+j<len; j++)
	{
	  unsigned char	c=p[i+j];

	  *ptr++	= ' ';
	  *ptr++	= "0123456789abcdef"[(c>>4)&0xf];
	  *ptr++	= "0123456789abcdef"[c&0xf];
	}
      while (++j<=16)
	{
	  *ptr++	= ' ';
	  *ptr++	= ' ';
	  *ptr++	= ' ';
	}
      *ptr++	= ' ';
      *ptr++	= '!';
      *ptr++	= ' ';
      for (j=0; j<16 && i+j<len; j++)
	*ptr++	= tino_uni2prn(p[i+j]);
      *ptr++	= '\n';
      *ptr	= 0;
      tino_data_putsA(d, buf);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movl %r9d, -0x2c(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0xb78f
cmpl $0x0, -0x2c(%rbp)
jne 0xb7d8
cmpl $0x0, -0x14(%rbp)
jge 0xb7b6
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
xorl %ecx, %ecx
subl -0x14(%rbp), %ecx
movq -0x20(%rbp), %r8
leaq 0x272b(%rip), %rsi      # 0xded8
movb $0x0, %al
callq 0xba80
jmp 0xb7d3
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
movl -0x14(%rbp), %ecx
movq -0x20(%rbp), %r8
leaq 0x2717(%rip), %rsi      # 0xdee3
movb $0x0, %al
callq 0xba80
jmp 0xba70
movl $0x0, -0x30(%rbp)
movl -0x30(%rbp), %eax
cmpl -0x2c(%rbp), %eax
jge 0xba70
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x9c50
cmpl $0x0, -0x14(%rbp)
jge 0xb822
movq -0x8(%rbp), %rdi
xorl %edx, %edx
subl -0x14(%rbp), %edx
movq -0x20(%rbp), %rcx
movslq -0x30(%rbp), %rax
addq %rax, %rcx
leaq 0x26d5(%rip), %rsi      # 0xdeee
movb $0x0, %al
callq 0xba80
jmp 0xb842
movq -0x8(%rbp), %rdi
movl -0x14(%rbp), %edx
movq -0x20(%rbp), %rcx
movslq -0x30(%rbp), %rax
addq %rax, %rcx
leaq 0x26bb(%rip), %rsi      # 0xdef6
movb $0x0, %al
callq 0xba80
leaq -0x90(%rbp), %rax
movq %rax, -0x98(%rbp)
movl $0x0, -0x34(%rbp)
xorl %eax, %eax
cmpl $0x10, -0x34(%rbp)
movb %al, -0x9a(%rbp)
jge 0xb877
movl -0x30(%rbp), %eax
addl -0x34(%rbp), %eax
cmpl -0x2c(%rbp), %eax
setl %al
movb %al, -0x9a(%rbp)
movb -0x9a(%rbp), %al
testb $0x1, %al
jne 0xb886
jmp 0xb921
movq -0x28(%rbp), %rax
movl -0x30(%rbp), %ecx
addl -0x34(%rbp), %ecx
movslq %ecx, %rcx
movb (%rax,%rcx), %al
movb %al, -0x99(%rbp)
movq -0x98(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x98(%rbp)
movb $0x20, (%rax)
movzbl -0x99(%rbp), %eax
sarl $0x4, %eax
andl $0xf, %eax
movslq %eax, %rcx
leaq 0x2633(%rip), %rax      # 0xdefe
movb (%rax,%rcx), %cl
movq -0x98(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x98(%rbp)
movb %cl, (%rax)
movzbl -0x99(%rbp), %eax
andl $0xf, %eax
movslq %eax, %rcx
leaq 0x2605(%rip), %rax      # 0xdefe
movb (%rax,%rcx), %cl
movq -0x98(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x98(%rbp)
movb %cl, (%rax)
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0xb857
jmp 0xb923
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
cmpl $0x10, %eax
jg 0xb97b
movq -0x98(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x98(%rbp)
movb $0x20, (%rax)
movq -0x98(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x98(%rbp)
movb $0x20, (%rax)
movq -0x98(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x98(%rbp)
movb $0x20, (%rax)
jmp 0xb923
movq -0x98(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x98(%rbp)
movb $0x20, (%rax)
movq -0x98(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x98(%rbp)
movb $0x21, (%rax)
movq -0x98(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x98(%rbp)
movb $0x20, (%rax)
movl $0x0, -0x34(%rbp)
xorl %eax, %eax
cmpl $0x10, -0x34(%rbp)
movb %al, -0x9b(%rbp)
jge 0xb9ea
movl -0x30(%rbp), %eax
addl -0x34(%rbp), %eax
cmpl -0x2c(%rbp), %eax
setl %al
movb %al, -0x9b(%rbp)
movb -0x9b(%rbp), %al
testb $0x1, %al
jne 0xb9f6
jmp 0xba30
movq -0x28(%rbp), %rax
movl -0x30(%rbp), %ecx
addl -0x34(%rbp), %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %edi
callq 0xbb30
movb %al, %cl
movq -0x98(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x98(%rbp)
movb %cl, (%rax)
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0xb9ca
movq -0x98(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x98(%rbp)
movb $0xa, (%rax)
movq -0x98(%rbp), %rax
movb $0x0, (%rax)
movq -0x8(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x9c50
movl -0x30(%rbp), %eax
addl $0x10, %eax
movl %eax, -0x30(%rbp)
jmp 0xb7df
addq $0xa0, %rsp
popq %rbp
retq
nopl (%rax)