// File: /workspace/github_c_makefile_star2_O0/snow1eo[P]IPsec_IKEv2/crypt/aes128.c
// Function: MixColumns
static void MixColumns(void)
{
  uint8_t i;
  uint8_t Tmp,Tm,t;
  for(i = 0; i < 4; ++i)
  {  
    t   = (*state)[i][0];
    Tmp = (*state)[i][0] ^ (*state)[i][1] ^ (*state)[i][2] ^ (*state)[i][3] ;
    Tm  = (*state)[i][0] ^ (*state)[i][1] ; Tm = xtime(Tm);  (*state)[i][0] ^= Tm ^ Tmp ;
    Tm  = (*state)[i][1] ^ (*state)[i][2] ; Tm = xtime(Tm);  (*state)[i][1] ^= Tm ^ Tmp ;
    Tm  = (*state)[i][2] ^ (*state)[i][3] ; Tm = xtime(Tm);  (*state)[i][2] ^= Tm ^ Tmp ;
    Tm  = (*state)[i][3] ^ t ;        Tm = xtime(Tm);  (*state)[i][3] ^= Tm ^ Tmp ;
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movb $0x0, -0x1(%rbp)
movzbl -0x1(%rbp), %eax
cmpl $0x4, %eax
jge 0xbfe4
movq 0x6810(%rip), %rax      # 0x12660
movzbl -0x1(%rbp), %ecx
movb (%rax,%rcx,4), %al
movb %al, -0x4(%rbp)
movq 0x67ff(%rip), %rax      # 0x12660
movzbl -0x1(%rbp), %ecx
movzbl (%rax,%rcx,4), %eax
movq 0x67f0(%rip), %rcx      # 0x12660
movzbl -0x1(%rbp), %edx
movzbl 0x1(%rcx,%rdx,4), %ecx
xorl %ecx, %eax
movq 0x67de(%rip), %rcx      # 0x12660
movzbl -0x1(%rbp), %edx
movzbl 0x2(%rcx,%rdx,4), %ecx
xorl %ecx, %eax
movq 0x67cc(%rip), %rcx      # 0x12660
movzbl -0x1(%rbp), %edx
movzbl 0x3(%rcx,%rdx,4), %ecx
xorl %ecx, %eax
movb %al, -0x2(%rbp)
movq 0x67b7(%rip), %rax      # 0x12660
movzbl -0x1(%rbp), %ecx
movzbl (%rax,%rcx,4), %eax
movq 0x67a8(%rip), %rcx      # 0x12660
movzbl -0x1(%rbp), %edx
movzbl 0x1(%rcx,%rdx,4), %ecx
xorl %ecx, %eax
movb %al, -0x3(%rbp)
movzbl -0x3(%rbp), %edi
callq 0xbff0
movb %al, -0x3(%rbp)
movzbl -0x3(%rbp), %esi
movzbl -0x2(%rbp), %eax
xorl %eax, %esi
movq 0x677d(%rip), %rax      # 0x12660
movzbl -0x1(%rbp), %ecx
movzbl (%rax,%rcx,4), %edx
xorl %esi, %edx
movb %dl, (%rax,%rcx,4)
movq 0x6769(%rip), %rax      # 0x12660
movzbl -0x1(%rbp), %ecx
movzbl 0x1(%rax,%rcx,4), %eax
movq 0x6759(%rip), %rcx      # 0x12660
movzbl -0x1(%rbp), %edx
movzbl 0x2(%rcx,%rdx,4), %ecx
xorl %ecx, %eax
movb %al, -0x3(%rbp)
movzbl -0x3(%rbp), %edi
callq 0xbff0
movb %al, -0x3(%rbp)
movzbl -0x3(%rbp), %esi
movzbl -0x2(%rbp), %eax
xorl %eax, %esi
movq 0x672e(%rip), %rax      # 0x12660
movzbl -0x1(%rbp), %ecx
movzbl 0x1(%rax,%rcx,4), %edx
xorl %esi, %edx
movb %dl, 0x1(%rax,%rcx,4)
movq 0x6718(%rip), %rax      # 0x12660
movzbl -0x1(%rbp), %ecx
movzbl 0x2(%rax,%rcx,4), %eax
movq 0x6708(%rip), %rcx      # 0x12660
movzbl -0x1(%rbp), %edx
movzbl 0x3(%rcx,%rdx,4), %ecx
xorl %ecx, %eax
movb %al, -0x3(%rbp)
movzbl -0x3(%rbp), %edi
callq 0xbff0
movb %al, -0x3(%rbp)
movzbl -0x3(%rbp), %esi
movzbl -0x2(%rbp), %eax
xorl %eax, %esi
movq 0x66dd(%rip), %rax      # 0x12660
movzbl -0x1(%rbp), %ecx
movzbl 0x2(%rax,%rcx,4), %edx
xorl %esi, %edx
movb %dl, 0x2(%rax,%rcx,4)
movq 0x66c7(%rip), %rax      # 0x12660
movzbl -0x1(%rbp), %ecx
movzbl 0x3(%rax,%rcx,4), %eax
movzbl -0x4(%rbp), %ecx
xorl %ecx, %eax
movb %al, -0x3(%rbp)
movzbl -0x3(%rbp), %edi
callq 0xbff0
movb %al, -0x3(%rbp)
movzbl -0x3(%rbp), %esi
movzbl -0x2(%rbp), %eax
xorl %eax, %esi
movq 0x6698(%rip), %rax      # 0x12660
movzbl -0x1(%rbp), %ecx
movzbl 0x3(%rax,%rcx,4), %edx
xorl %esi, %edx
movb %dl, 0x3(%rax,%rcx,4)
movb -0x1(%rbp), %al
addb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0xbe3c
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)