// File: /workspace/github_cpp_makefile_star2_O1/kobanium[P]Ray/src/pattern/Pattern.cpp
// Function: MD2Transpose8(unsigned int, unsigned int*)
void
MD2Transpose8( const unsigned int md2, unsigned int *transp )
{
  transp[0] = md2;
  transp[1] = MD2VerticalMirror(md2);
  transp[2] = MD2HorizontalMirror(md2);
  transp[3] = MD2VerticalMirror(transp[2]);
  transp[4] = MD2Rotate90(md2);
  transp[5] = MD2Rotate90(transp[1]);
  transp[6] = MD2Rotate90(transp[2]);
  transp[7] = MD2Rotate90(transp[3]);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edi, %ebp
movl %edi, (%rsi)
movq %rsi, (%rsp)
movl %edi, %ebx
shrl $0xa, %ebx
movl %ebx, %eax
andl $0x3f, %eax
movl %edi, %r14d
shll $0xa, %r14d
movl $0xffff, %ecx           # imm = 0xFFFF
movl %r14d, %r12d
andl %ecx, %r12d
orl %eax, %r12d
movl %edi, %eax
shrl $0x14, %eax
andl $0x3, %eax
movl %edi, %ecx
shrl $0xc, %ecx
andl $0x30, %ecx
orl %eax, %ecx
shll $0x10, %ecx
movl $0xcc03c0, %r15d        # imm = 0xCC03C0
movl %edi, %r13d
andl %r15d, %r13d
orl %ecx, %r13d
leal (%r12,%r13), %eax
movl %eax, 0x4(%rsi)
callq 0x4f0a4
movl %eax, %ecx
shrl $0xa, %ecx
movl %ecx, %edx
andl $0x3f, %edx
movl %eax, %esi
shrl $0x14, %esi
andl $0x3, %esi
movl %eax, %edi
shrl $0xc, %edi
andl $0x30, %edi
orl %esi, %edi
shll $0x10, %edi
andl %eax, %r15d
orl %edx, %r15d
orl %edi, %r15d
movl $0xc00, %r9d            # imm = 0xC00
andl %r9d, %r14d
movl %ebp, %edi
shll $0x4, %edi
movl $0xc0c0, %edx           # imm = 0xC0C0
andl %edx, %edi
orl %r14d, %edi
movl %ebp, %r8d
shrl $0x4, %r8d
movl $0x303, %edx            # imm = 0x303
andl %edx, %r8d
orl %edi, %r8d
movl %ebp, %r10d
shll $0x6, %r10d
movl $0xc03000, %edi         # imm = 0xC03000
andl %edi, %r10d
orl %r8d, %r10d
movl %ebp, %r11d
shrl $0x6, %r11d
andl $0xc, %r11d
orl %r11d, %r10d
andl $0x30, %ebx
orl %r10d, %ebx
movl %ebp, %r14d
shrl $0x2, %r14d
movl $0x3f0000, %r8d         # imm = 0x3F0000
andl %r8d, %r14d
orl %ebx, %r14d
movq (%rsp), %rbx
movl %eax, 0x8(%rbx)
movl %eax, %r10d
shll $0xa, %r10d
movl $0xffff, %esi           # imm = 0xFFFF
andl %r10d, %esi
orl %r15d, %esi
movl %esi, 0xc(%rbx)
movl %r14d, 0x10(%rbx)
movq %rbx, %r14
movl %ebp, %ebx
andl $0x30, %ebp
orl %r11d, %ebp
andl %r9d, %ebx
orl %ebx, %ebp
movl %r13d, %r11d
shrl $0x2, %r13d
andl %r8d, %r13d
orl %r13d, %ebp
movl %r12d, %ebx
shll $0x4, %ebx
movl $0xc0c0, %r13d          # imm = 0xC0C0
andl %r13d, %ebx
orl %ebx, %ebp
shrl $0x4, %r12d
andl %edx, %r12d
orl %r12d, %ebp
shll $0x6, %r11d
andl %edi, %r11d
orl %r11d, %ebp
movl %ebp, 0x14(%r14)
andl %r9d, %r10d
movl %eax, %r9d
shll $0x4, %r9d
andl %r13d, %r9d
movl $0xc0c0, %ebx           # imm = 0xC0C0
orl %r10d, %r9d
movl %eax, %r10d
shrl $0x4, %r10d
andl %edx, %r10d
orl %r9d, %r10d
movl %eax, %r11d
shll $0x6, %r11d
andl %edi, %r11d
orl %r10d, %r11d
movl %eax, %r9d
shrl $0x6, %r9d
andl $0xc, %r9d
orl %r9d, %r11d
andl $0x30, %ecx
orl %r11d, %ecx
movl %eax, %r10d
shrl $0x2, %r10d
andl %r8d, %r10d
orl %ecx, %r10d
movl %r10d, 0x18(%r14)
movl %esi, %ecx
shll $0x4, %ecx
andl %ebx, %ecx
shrl $0x4, %esi
andl %edx, %esi
movl %r15d, %edx
shll $0x6, %edx
andl %edi, %edx
shrl $0x2, %r15d
andl %r8d, %r15d
andl $0xc30, %eax            # imm = 0xC30
orl %r9d, %eax
orl %r15d, %eax
orl %ecx, %eax
orl %esi, %eax
orl %edx, %eax
movl %eax, 0x1c(%r14)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq