// File: /workspace/github_cpp_makefile_star2_O3/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
movq %rsi, %rbx
movl %edi, %ebp
movl %edi, (%rsi)
movl %edi, %eax
shrl $0xa, %eax
movl %eax, 0x4(%rsp)
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 0x4f41a
movl %eax, 0x8(%rbx)
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, %edx            # imm = 0xC00
andl %edx, %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, %edx         # imm = 0xC03000
andl %edx, %r10d
orl %r8d, %r10d
movl 0x4(%rsp), %edx
andl $0x30, %edx
orl %r10d, %edx
movl %ebp, %r10d
shrl $0x2, %r10d
movl $0x3f0000, %r8d         # imm = 0x3F0000
andl %r8d, %r10d
orl %edx, %r10d
movl %eax, %r11d
shll $0xa, %r11d
movl $0xffff, %edi           # imm = 0xFFFF
andl %r11d, %edi
orl %r15d, %edi
movq %rbx, %r9
movl %edi, 0xc(%rbx)
movl %ebp, %ebx
shrl $0x6, %ebx
andl $0xc, %ebx
orl %ebx, %r10d
movl %r10d, 0x10(%r9)
movq %r9, %rsi
movl %r13d, %r14d
shrl $0x2, %r13d
andl %r8d, %r13d
movl $0xc30, %r10d           # imm = 0xC30
andl %r10d, %ebp
orl %r13d, %ebp
movl %r12d, %r13d
shll $0x4, %r13d
movl $0xc0c0, %edx           # imm = 0xC0C0
andl %edx, %r13d
orl %r13d, %ebp
shrl $0x4, %r12d
movl $0x303, %r13d           # imm = 0x303
andl %r13d, %r12d
orl %r12d, %ebp
shll $0x6, %r14d
movl $0xc03000, %r12d        # imm = 0xC03000
andl %r12d, %r14d
orl %r14d, %ebp
orl %ebx, %ebp
movl %ebp, 0x14(%r9)
movl $0xc00, %r9d            # imm = 0xC00
andl %r9d, %r11d
movl %eax, %r9d
shll $0x4, %r9d
andl %edx, %r9d
movl $0xc0c0, %ebx           # imm = 0xC0C0
orl %r11d, %r9d
movl %eax, %r11d
shrl $0x4, %r11d
andl %r13d, %r11d
movl $0x303, %edx            # imm = 0x303
orl %r9d, %r11d
movl %eax, %r9d
shll $0x6, %r9d
andl %r12d, %r9d
movl $0xc03000, %ebp         # imm = 0xC03000
orl %r11d, %r9d
andl $0x30, %ecx
orl %r9d, %ecx
movl %eax, %r9d
shrl $0x2, %r9d
andl %r8d, %r9d
orl %ecx, %r9d
movl %eax, %ecx
shrl $0x6, %ecx
andl $0xc, %ecx
orl %ecx, %r9d
movl %r9d, 0x18(%rsi)
movl %edi, %r9d
shll $0x4, %r9d
andl %ebx, %r9d
shrl $0x4, %edi
andl %edx, %edi
movl %r15d, %edx
shll $0x6, %edx
andl %ebp, %edx
shrl $0x2, %r15d
andl %r8d, %r15d
andl %r10d, %eax
orl %r15d, %eax
orl %r9d, %eax
orl %edi, %eax
orl %edx, %eax
orl %ecx, %eax
movl %eax, 0x1c(%rsi)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq