// File: /workspace/github_c_makefile_star2_O0/mjosaarinen[P]brutus/crypto_aead/aescopav2/ref/aes-core.c
// Function: aes_subbytes_shiftrows
void aes_subbytes_shiftrows(uint8_t state[])
{
	uint8_t tmp;
	
	state[0] = sbox(state[0]);
	state[4] = sbox(state[4]);
	state[8] = sbox(state[8]);
	state[12] = sbox(state[12]);
	
	tmp = state[1];
	state[1] = sbox(state[5]);
	state[5] = sbox(state[9]);
	state[9] = sbox(state[13]);
	state[13] = sbox(tmp);
	
	tmp = state[2];
	state[2] = sbox(state[10]);
	state[10] = sbox(tmp);
	tmp = state[6];
	state[6] = sbox(state[14]);
	state[14] = sbox(tmp);
	
	tmp = state[3];
	state[3] = sbox(state[15]);
	state[15] = sbox(state[11]);
	state[11] = sbox(state[7]);
	state[7] = sbox(tmp);
}

// Assembly:
movq %rdi, -0x8(%rsp)
movq -0x8(%rsp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x2aba(%rip), %rax      # 0x4000
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, (%rax)
movq -0x8(%rsp), %rax
movzbl 0x4(%rax), %eax
movl %eax, %ecx
leaq 0x2a9e(%rip), %rax      # 0x4000
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0x4(%rax)
movq -0x8(%rsp), %rax
movzbl 0x8(%rax), %eax
movl %eax, %ecx
leaq 0x2a81(%rip), %rax      # 0x4000
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0x8(%rax)
movq -0x8(%rsp), %rax
movzbl 0xc(%rax), %eax
movl %eax, %ecx
leaq 0x2a64(%rip), %rax      # 0x4000
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0xc(%rax)
movq -0x8(%rsp), %rax
movb 0x1(%rax), %al
movb %al, -0x9(%rsp)
movq -0x8(%rsp), %rax
movzbl 0x5(%rax), %eax
movl %eax, %ecx
leaq 0x2a3b(%rip), %rax      # 0x4000
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0x1(%rax)
movq -0x8(%rsp), %rax
movzbl 0x9(%rax), %eax
movl %eax, %ecx
leaq 0x2a1e(%rip), %rax      # 0x4000
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0x5(%rax)
movq -0x8(%rsp), %rax
movzbl 0xd(%rax), %eax
movl %eax, %ecx
leaq 0x2a01(%rip), %rax      # 0x4000
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0x9(%rax)
movzbl -0x9(%rsp), %eax
movl %eax, %ecx
leaq 0x29e8(%rip), %rax      # 0x4000
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0xd(%rax)
movq -0x8(%rsp), %rax
movb 0x2(%rax), %al
movb %al, -0x9(%rsp)
movq -0x8(%rsp), %rax
movzbl 0xa(%rax), %eax
movl %eax, %ecx
leaq 0x29bf(%rip), %rax      # 0x4000
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0x2(%rax)
movzbl -0x9(%rsp), %eax
movl %eax, %ecx
leaq 0x29a6(%rip), %rax      # 0x4000
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0xa(%rax)
movq -0x8(%rsp), %rax
movb 0x6(%rax), %al
movb %al, -0x9(%rsp)
movq -0x8(%rsp), %rax
movzbl 0xe(%rax), %eax
movl %eax, %ecx
leaq 0x297d(%rip), %rax      # 0x4000
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0x6(%rax)
movzbl -0x9(%rsp), %eax
movl %eax, %ecx
leaq 0x2964(%rip), %rax      # 0x4000
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0xe(%rax)
movq -0x8(%rsp), %rax
movb 0x3(%rax), %al
movb %al, -0x9(%rsp)
movq -0x8(%rsp), %rax
movzbl 0xf(%rax), %eax
movl %eax, %ecx
leaq 0x293b(%rip), %rax      # 0x4000
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0x3(%rax)
movq -0x8(%rsp), %rax
movzbl 0xb(%rax), %eax
movl %eax, %ecx
leaq 0x291e(%rip), %rax      # 0x4000
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0xf(%rax)
movq -0x8(%rsp), %rax
movzbl 0x7(%rax), %eax
movl %eax, %ecx
leaq 0x2901(%rip), %rax      # 0x4000
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0xb(%rax)
movzbl -0x9(%rsp), %eax
movl %eax, %ecx
leaq 0x28e8(%rip), %rax      # 0x4000
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0x7(%rax)
retq
nopw %cs:(%rax,%rax)