// File: kobanium[P]Ray/src/pattern/Pattern.cpp
// Function: DisplayInputMD5(unsigned long long)
void
DisplayInputMD5( const unsigned long long md5 )
{
  std::ostringstream oss;

  oss << "\n";
  oss << "     " << Stone(md5,  0) << "     \n";
  oss << "    " << Stone(md5, 38) << " " << Stone(md5,  2) << "    \n";
  oss << "   " << Stone(md5, 36) << "   " << Stone(md5,  4) << "   \n";
  oss << "  " << Stone(md5, 34) << "     " << Stone(md5,  6) << "  \n";
  oss << " " << Stone(md5, 32) << "       " << Stone(md5,  8) << " \n";
  oss <<       Stone(md5, 30) << "    *    " << Stone(md5, 10) << "\n";
  oss << " " << Stone(md5, 28) << "       " << Stone(md5, 12) << " \n";
  oss << "  " << Stone(md5, 26) << "     " << Stone(md5, 14) << "  \n";
  oss << "   " << Stone(md5, 24) << "   " << Stone(md5, 16) << "   \n";
  oss << "    " << Stone(md5, 22) << " " << Stone(md5, 18) << "    \n";
  oss << "     " << Stone(md5, 20) << "     \n";
  std::cerr << oss.str() << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x3a0, %rsp            # imm = 0x3A0
movq %rdi, -0x8(%rbp)
leaq -0x180(%rbp), %rdi
movq %rdi, -0x1b8(%rbp)
callq 0x7750
movq -0x1b8(%rbp), %rdi
leaq 0x1a615(%rip), %rsi     # 0xaf705
callq 0x7530
jmp 0x950f7
leaq 0x17344(%rip), %rsi     # 0xac442
leaq -0x180(%rbp), %rdi
callq 0x7530
movq %rax, -0x1c0(%rbp)
jmp 0x95113
movl -0x8(%rbp), %edi
xorl %esi, %esi
callq 0x940c0
movb %al, -0x1c1(%rbp)
jmp 0x95125
movq -0x1c0(%rbp), %rdi
movb -0x1c1(%rbp), %al
movsbl %al, %esi
callq 0x7660
movq %rax, -0x1d0(%rbp)
jmp 0x95143
movq -0x1d0(%rbp), %rdi
leaq 0x1a5af(%rip), %rsi     # 0xaf700
callq 0x7530
jmp 0x95158
leaq 0x172e4(%rip), %rsi     # 0xac443
leaq -0x180(%rbp), %rdi
callq 0x7530
movq %rax, -0x1d8(%rbp)
jmp 0x95174
movl -0x8(%rbp), %edi
movl $0x26, %esi
callq 0x940c0
movb %al, -0x1d9(%rbp)
jmp 0x95189
movq -0x1d8(%rbp), %rdi
movb -0x1d9(%rbp), %al
movsbl %al, %esi
callq 0x7660
movq %rax, -0x1e8(%rbp)
jmp 0x951a7
movq -0x1e8(%rbp), %rdi
leaq 0x17291(%rip), %rsi     # 0xac446
callq 0x7530
movq %rax, -0x1f0(%rbp)
jmp 0x951c3
movl -0x8(%rbp), %edi
movl $0x2, %esi
callq 0x940c0
movb %al, -0x1f1(%rbp)
jmp 0x951d8
movq -0x1f0(%rbp), %rdi
movb -0x1f1(%rbp), %al
movsbl %al, %esi
callq 0x7660
movq %rax, -0x200(%rbp)
jmp 0x951f6
movq -0x200(%rbp), %rdi
leaq 0x1a4fd(%rip), %rsi     # 0xaf701
callq 0x7530
jmp 0x9520b
leaq 0x17232(%rip), %rsi     # 0xac444
leaq -0x180(%rbp), %rdi
callq 0x7530
movq %rax, -0x208(%rbp)
jmp 0x95227
movl -0x8(%rbp), %edi
movl $0x24, %esi
callq 0x940c0
movb %al, -0x209(%rbp)
jmp 0x9523c
movq -0x208(%rbp), %rdi
movb -0x209(%rbp), %al
movsbl %al, %esi
callq 0x7660
movq %rax, -0x218(%rbp)
jmp 0x9525a
movq -0x218(%rbp), %rdi
leaq 0x171dc(%rip), %rsi     # 0xac444
callq 0x7530
movq %rax, -0x220(%rbp)
jmp 0x95276
movl -0x8(%rbp), %edi
movl $0x4, %esi
callq 0x940c0
movb %al, -0x221(%rbp)
jmp 0x9528b
movq -0x220(%rbp), %rdi
movb -0x221(%rbp), %al
movsbl %al, %esi
callq 0x7660
movq %rax, -0x230(%rbp)
jmp 0x952a9
movq -0x230(%rbp), %rdi
leaq 0x1a44b(%rip), %rsi     # 0xaf702
callq 0x7530
jmp 0x952be
leaq 0x17180(%rip), %rsi     # 0xac445
leaq -0x180(%rbp), %rdi
callq 0x7530
movq %rax, -0x238(%rbp)
jmp 0x952da
movl -0x8(%rbp), %edi
movl $0x22, %esi
callq 0x940c0
movb %al, -0x239(%rbp)
jmp 0x952ef
movq -0x238(%rbp), %rdi
movb -0x239(%rbp), %al
movsbl %al, %esi
callq 0x7660
movq %rax, -0x248(%rbp)
jmp 0x9530d
movq -0x248(%rbp), %rdi
leaq 0x17127(%rip), %rsi     # 0xac442
callq 0x7530
movq %rax, -0x250(%rbp)
jmp 0x95329
movl -0x8(%rbp), %edi
movl $0x6, %esi
callq 0x940c0
movb %al, -0x251(%rbp)
jmp 0x9533e
movq -0x250(%rbp), %rdi
movb -0x251(%rbp), %al
movsbl %al, %esi
callq 0x7660
movq %rax, -0x260(%rbp)
jmp 0x9535c
movq -0x260(%rbp), %rdi
leaq 0x1a399(%rip), %rsi     # 0xaf703
callq 0x7530
jmp 0x95371
leaq 0x170ce(%rip), %rsi     # 0xac446
leaq -0x180(%rbp), %rdi
callq 0x7530
movq %rax, -0x268(%rbp)
jmp 0x9538d
movl -0x8(%rbp), %edi
movl $0x20, %esi
callq 0x940c0
movb %al, -0x269(%rbp)
jmp 0x953a2
movq -0x268(%rbp), %rdi
movb -0x269(%rbp), %al
movsbl %al, %esi
callq 0x7660
movq %rax, -0x278(%rbp)
jmp 0x953c0
movq -0x278(%rbp), %rdi
leaq 0x17072(%rip), %rsi     # 0xac440
callq 0x7530
movq %rax, -0x280(%rbp)
jmp 0x953dc
movl -0x8(%rbp), %edi
movl $0x8, %esi
callq 0x940c0
movb %al, -0x281(%rbp)
jmp 0x953f1
movq -0x280(%rbp), %rdi
movb -0x281(%rbp), %al
movsbl %al, %esi
callq 0x7660
movq %rax, -0x290(%rbp)
jmp 0x9540f
movq -0x290(%rbp), %rdi
leaq 0x1a2e7(%rip), %rsi     # 0xaf704
callq 0x7530
jmp 0x95424
movl -0x8(%rbp), %edi
movl $0x1e, %esi
callq 0x940c0
movb %al, -0x291(%rbp)
jmp 0x95439
movb -0x291(%rbp), %al
movsbl %al, %esi
leaq -0x180(%rbp), %rdi
callq 0x7660
movq %rax, -0x2a0(%rbp)
jmp 0x95457
movq -0x2a0(%rbp), %rdi
leaq 0x1a2a2(%rip), %rsi     # 0xaf707
callq 0x7530
movq %rax, -0x2a8(%rbp)
jmp 0x95473
movl -0x8(%rbp), %edi
movl $0xa, %esi
callq 0x940c0
movb %al, -0x2a9(%rbp)
jmp 0x95488
movq -0x2a8(%rbp), %rdi
movb -0x2a9(%rbp), %al
movsbl %al, %esi
callq 0x7660
movq %rax, -0x2b8(%rbp)
jmp 0x954a6
movq -0x2b8(%rbp), %rdi
leaq 0x1a251(%rip), %rsi     # 0xaf705
callq 0x7530
jmp 0x954bb
leaq 0x16f84(%rip), %rsi     # 0xac446
leaq -0x180(%rbp), %rdi
callq 0x7530
movq %rax, -0x2c0(%rbp)
jmp 0x954d7
movl -0x8(%rbp), %edi
movl $0x1c, %esi
callq 0x940c0
movb %al, -0x2c1(%rbp)
jmp 0x954ec
movq -0x2c0(%rbp), %rdi
movb -0x2c1(%rbp), %al
movsbl %al, %esi
callq 0x7660
movq %rax, -0x2d0(%rbp)
jmp 0x9550a
movq -0x2d0(%rbp), %rdi
leaq 0x16f28(%rip), %rsi     # 0xac440
callq 0x7530
movq %rax, -0x2d8(%rbp)
jmp 0x95526
movl -0x8(%rbp), %edi
movl $0xc, %esi
callq 0x940c0
movb %al, -0x2d9(%rbp)
jmp 0x9553b
movq -0x2d8(%rbp), %rdi
movb -0x2d9(%rbp), %al
movsbl %al, %esi
callq 0x7660
movq %rax, -0x2e8(%rbp)
jmp 0x95559
movq -0x2e8(%rbp), %rdi
leaq 0x1a19d(%rip), %rsi     # 0xaf704
callq 0x7530
jmp 0x9556e
leaq 0x16ed0(%rip), %rsi     # 0xac445
leaq -0x180(%rbp), %rdi
callq 0x7530
movq %rax, -0x2f0(%rbp)
jmp 0x9558a
movl -0x8(%rbp), %edi
movl $0x1a, %esi
callq 0x940c0
movb %al, -0x2f1(%rbp)
jmp 0x9559f
movq -0x2f0(%rbp), %rdi
movb -0x2f1(%rbp), %al
movsbl %al, %esi
callq 0x7660
movq %rax, -0x300(%rbp)
jmp 0x955bd
movq -0x300(%rbp), %rdi
leaq 0x16e77(%rip), %rsi     # 0xac442
callq 0x7530
movq %rax, -0x308(%rbp)
jmp 0x955d9
movl -0x8(%rbp), %edi
movl $0xe, %esi
callq 0x940c0
movb %al, -0x309(%rbp)
jmp 0x955ee
movq -0x308(%rbp), %rdi
movb -0x309(%rbp), %al
movsbl %al, %esi
callq 0x7660
movq %rax, -0x318(%rbp)
jmp 0x9560c
movq -0x318(%rbp), %rdi
leaq 0x1a0e9(%rip), %rsi     # 0xaf703
callq 0x7530
jmp 0x95621
leaq 0x16e1c(%rip), %rsi     # 0xac444
leaq -0x180(%rbp), %rdi
callq 0x7530
movq %rax, -0x320(%rbp)
jmp 0x9563d
movl -0x8(%rbp), %edi
movl $0x18, %esi
callq 0x940c0
movb %al, -0x321(%rbp)
jmp 0x95652
movq -0x320(%rbp), %rdi
movb -0x321(%rbp), %al
movsbl %al, %esi
callq 0x7660
movq %rax, -0x330(%rbp)
jmp 0x95670
movq -0x330(%rbp), %rdi
leaq 0x16dc6(%rip), %rsi     # 0xac444
callq 0x7530
movq %rax, -0x338(%rbp)
jmp 0x9568c
movl -0x8(%rbp), %edi
movl $0x10, %esi
callq 0x940c0
movb %al, -0x339(%rbp)
jmp 0x956a1
movq -0x338(%rbp), %rdi
movb -0x339(%rbp), %al
movsbl %al, %esi
callq 0x7660
movq %rax, -0x348(%rbp)
jmp 0x956bf
movq -0x348(%rbp), %rdi
leaq 0x1a035(%rip), %rsi     # 0xaf702
callq 0x7530
jmp 0x956d4
leaq 0x16d68(%rip), %rsi     # 0xac443
leaq -0x180(%rbp), %rdi
callq 0x7530
movq %rax, -0x350(%rbp)
jmp 0x956f0
movl -0x8(%rbp), %edi
movl $0x16, %esi
callq 0x940c0
movb %al, -0x351(%rbp)
jmp 0x95705
movq -0x350(%rbp), %rdi
movb -0x351(%rbp), %al
movsbl %al, %esi
callq 0x7660
movq %rax, -0x360(%rbp)
jmp 0x95723
movq -0x360(%rbp), %rdi
leaq 0x16d15(%rip), %rsi     # 0xac446
callq 0x7530
movq %rax, -0x368(%rbp)
jmp 0x9573f
movl -0x8(%rbp), %edi
movl $0x12, %esi
callq 0x940c0
movb %al, -0x369(%rbp)
jmp 0x95754
movq -0x368(%rbp), %rdi
movb -0x369(%rbp), %al
movsbl %al, %esi
callq 0x7660
movq %rax, -0x378(%rbp)
jmp 0x95772
movq -0x378(%rbp), %rdi
leaq 0x19f81(%rip), %rsi     # 0xaf701
callq 0x7530
jmp 0x95787
leaq 0x16cb4(%rip), %rsi     # 0xac442
leaq -0x180(%rbp), %rdi
callq 0x7530
movq %rax, -0x380(%rbp)
jmp 0x957a3
movl -0x8(%rbp), %edi
movl $0x14, %esi
callq 0x940c0
movb %al, -0x381(%rbp)
jmp 0x957b8
movq -0x380(%rbp), %rdi
movb -0x381(%rbp), %al
movsbl %al, %esi
callq 0x7660
movq %rax, -0x390(%rbp)
jmp 0x957d6
movq -0x390(%rbp), %rdi
leaq 0x19f1c(%rip), %rsi     # 0xaf700
callq 0x7530
jmp 0x957eb
leaq -0x1b0(%rbp), %rdi
leaq -0x180(%rbp), %rsi
callq 0x7580
jmp 0x95800
movq 0x517e9(%rip), %rdi     # 0xe6ff0
leaq -0x1b0(%rbp), %rsi
callq 0x7480
movq %rax, -0x398(%rbp)
jmp 0x9581c
movq -0x398(%rbp), %rdi
movq 0x5173e(%rip), %rsi     # 0xe6f68
callq 0x75b0
jmp 0x95831
leaq -0x1b0(%rbp), %rdi
callq 0x7ae8
leaq -0x180(%rbp), %rdi
callq 0x7110
addq $0x3a0, %rsp            # imm = 0x3A0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x188(%rbp)
movl %eax, -0x18c(%rbp)
jmp 0x95884
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x188(%rbp)
movl %eax, -0x18c(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0x7ae8
leaq -0x180(%rbp), %rdi
callq 0x7110
movq -0x188(%rbp), %rdi
callq 0x79b0
nopl (%rax)