// File: /workspace/github_c_makefile_star2_O0/mjosaarinen[P]brutus/crypto_aead/minalpherv11/ref/minalpher.c
// Function: M
static void M( 
  unsigned char *_m_      /* I/O  Message     */
  )
{
  int i;
  unsigned char t0,t1,t2,t3;

  /*--- XorMatrix ---*/
  for( i=0; i<BLOCK_SIZE; i+=8 ){
    _m_[i+4] ^= _m_[i];
    _m_[i+5] ^= _m_[i+1];
    _m_[i+6] ^= _m_[i+2];
    _m_[i+7] ^= _m_[i+3];
  }

  /*--- MixColumns ---*/
  for( i=0; i<8; i++ ){
    t0 = _m_[i];
    t1 = _m_[i+8];
    t2 = _m_[i+16];
    t3 = _m_[i+24];

    _m_[i]  = t0 ^ t1 ^ t3;
    _m_[i+ 8] = t1 ^ t2 ^ t0;
    _m_[i+16] = t2 ^ t3 ^ t1;
    _m_[i+24] = t3 ^ t0 ^ t2;
  }
}

// Assembly:
movq %rdi, -0x8(%rsp)
movl $0x0, -0xc(%rsp)
cmpl $0x20, -0xc(%rsp)
jge 0x343f
movq -0x8(%rsp), %rax
movslq -0xc(%rsp), %rcx
movzbl (%rax,%rcx), %esi
movq -0x8(%rsp), %rax
movl -0xc(%rsp), %ecx
addl $0x4, %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %edx
xorl %esi, %edx
movb %dl, (%rax,%rcx)
movq -0x8(%rsp), %rax
movl -0xc(%rsp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %esi
movq -0x8(%rsp), %rax
movl -0xc(%rsp), %ecx
addl $0x5, %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %edx
xorl %esi, %edx
movb %dl, (%rax,%rcx)
movq -0x8(%rsp), %rax
movl -0xc(%rsp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %esi
movq -0x8(%rsp), %rax
movl -0xc(%rsp), %ecx
addl $0x6, %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %edx
xorl %esi, %edx
movb %dl, (%rax,%rcx)
movq -0x8(%rsp), %rax
movl -0xc(%rsp), %ecx
addl $0x3, %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %esi
movq -0x8(%rsp), %rax
movl -0xc(%rsp), %ecx
addl $0x7, %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %edx
xorl %esi, %edx
movb %dl, (%rax,%rcx)
movl -0xc(%rsp), %eax
addl $0x8, %eax
movl %eax, -0xc(%rsp)
jmp 0x337d
movl $0x0, -0xc(%rsp)
cmpl $0x8, -0xc(%rsp)
jge 0x354c
movq -0x8(%rsp), %rax
movslq -0xc(%rsp), %rcx
movb (%rax,%rcx), %al
movb %al, -0xd(%rsp)
movq -0x8(%rsp), %rax
movl -0xc(%rsp), %ecx
addl $0x8, %ecx
movslq %ecx, %rcx
movb (%rax,%rcx), %al
movb %al, -0xe(%rsp)
movq -0x8(%rsp), %rax
movl -0xc(%rsp), %ecx
addl $0x10, %ecx
movslq %ecx, %rcx
movb (%rax,%rcx), %al
movb %al, -0xf(%rsp)
movq -0x8(%rsp), %rax
movl -0xc(%rsp), %ecx
addl $0x18, %ecx
movslq %ecx, %rcx
movb (%rax,%rcx), %al
movb %al, -0x10(%rsp)
movzbl -0xd(%rsp), %eax
movzbl -0xe(%rsp), %ecx
xorl %ecx, %eax
movzbl -0x10(%rsp), %ecx
xorl %ecx, %eax
movb %al, %dl
movq -0x8(%rsp), %rax
movslq -0xc(%rsp), %rcx
movb %dl, (%rax,%rcx)
movzbl -0xe(%rsp), %eax
movzbl -0xf(%rsp), %ecx
xorl %ecx, %eax
movzbl -0xd(%rsp), %ecx
xorl %ecx, %eax
movb %al, %dl
movq -0x8(%rsp), %rax
movl -0xc(%rsp), %ecx
addl $0x8, %ecx
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movzbl -0xf(%rsp), %eax
movzbl -0x10(%rsp), %ecx
xorl %ecx, %eax
movzbl -0xe(%rsp), %ecx
xorl %ecx, %eax
movb %al, %dl
movq -0x8(%rsp), %rax
movl -0xc(%rsp), %ecx
addl $0x10, %ecx
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movzbl -0x10(%rsp), %eax
movzbl -0xd(%rsp), %ecx
xorl %ecx, %eax
movzbl -0xf(%rsp), %ecx
xorl %ecx, %eax
movb %al, %dl
movq -0x8(%rsp), %rax
movl -0xc(%rsp), %ecx
addl $0x18, %ecx
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movl -0xc(%rsp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rsp)
jmp 0x3447
retq
nopl (%rax)