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

// Assembly:
movq %rdi, -0x8(%rsp)
movq -0x8(%rsp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x258a(%rip), %rax      # 0x4310
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, (%rax)
movq -0x8(%rsp), %rax
movzbl 0x4(%rax), %eax
movl %eax, %ecx
leaq 0x256e(%rip), %rax      # 0x4310
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0x4(%rax)
movq -0x8(%rsp), %rax
movzbl 0x8(%rax), %eax
movl %eax, %ecx
leaq 0x2551(%rip), %rax      # 0x4310
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0x8(%rax)
movq -0x8(%rsp), %rax
movzbl 0xc(%rax), %eax
movl %eax, %ecx
leaq 0x2534(%rip), %rax      # 0x4310
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0xc(%rax)
movq -0x8(%rsp), %rax
movb 0xd(%rax), %al
movb %al, -0x9(%rsp)
movq -0x8(%rsp), %rax
movzbl 0x9(%rax), %eax
movl %eax, %ecx
leaq 0x250b(%rip), %rax      # 0x4310
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0xd(%rax)
movq -0x8(%rsp), %rax
movzbl 0x5(%rax), %eax
movl %eax, %ecx
leaq 0x24ee(%rip), %rax      # 0x4310
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0x9(%rax)
movq -0x8(%rsp), %rax
movzbl 0x1(%rax), %eax
movl %eax, %ecx
leaq 0x24d1(%rip), %rax      # 0x4310
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0x5(%rax)
movzbl -0x9(%rsp), %eax
movl %eax, %ecx
leaq 0x24b8(%rip), %rax      # 0x4310
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0x1(%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 0x248f(%rip), %rax      # 0x4310
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0x2(%rax)
movzbl -0x9(%rsp), %eax
movl %eax, %ecx
leaq 0x2476(%rip), %rax      # 0x4310
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 0x244d(%rip), %rax      # 0x4310
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0x6(%rax)
movzbl -0x9(%rsp), %eax
movl %eax, %ecx
leaq 0x2434(%rip), %rax      # 0x4310
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 0x7(%rax), %eax
movl %eax, %ecx
leaq 0x240b(%rip), %rax      # 0x4310
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0x3(%rax)
movq -0x8(%rsp), %rax
movzbl 0xb(%rax), %eax
movl %eax, %ecx
leaq 0x23ee(%rip), %rax      # 0x4310
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0x7(%rax)
movq -0x8(%rsp), %rax
movzbl 0xf(%rax), %eax
movl %eax, %ecx
leaq 0x23d1(%rip), %rax      # 0x4310
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0xb(%rax)
movzbl -0x9(%rsp), %eax
movl %eax, %ecx
leaq 0x23b8(%rip), %rax      # 0x4310
movb (%rax,%rcx), %cl
movq -0x8(%rsp), %rax
movb %cl, 0xf(%rax)
retq
nopw %cs:(%rax,%rax)