// File: /workspace/github_c_makefile_star2_O0/maandree[P]libkeccak/./400.c
// Function: libkeccak_f_round16
LIBKECCAK_GCC_ONLY(__attribute__((__nonnull__, __nothrow__, __hot__)))
static void
libkeccak_f_round16(register struct libkeccak_state *state, register uint16_t rc)
{
	uint16_t *restrict A = state->S.w16;
	uint16_t B[25], C[5], da, db, dc, dd, de;

	/* θ step (step 1 of 3). */
#define X(N) C[N] = A[N * 5] ^ A[N * 5 + 1] ^ A[N * 5 + 2] ^ A[N * 5 + 3] ^ A[N * 5 + 4]
	LIST_5(X, ;);
#undef X

	/* θ step (step 2 of 3). */
	da = C[4] ^ rotate16(C[1], 1);
	dd = C[2] ^ rotate16(C[4], 1);
	db = C[0] ^ rotate16(C[2], 1);
	de = C[3] ^ rotate16(C[0], 1);
	dc = C[1] ^ rotate16(C[3], 1);

	/* ρ and π steps, with last two part of θ. */
#define X(bi, ai, dv, r) B[bi] = rotate16(A[ai] ^ dv, r)
	B[0] = A[0] ^ da;   X( 1, 15, dd, 12);  X( 2,  5, db,  1);  X( 3, 20, de, 11);  X( 4, 10, dc, 14);
	X( 5,  6, db, 12);  X( 6, 21, de,  4);  X( 7, 11, dc,  6);  X( 8,  1, da,  4);  X( 9, 16, dd,  7);
	X(10, 12, dc, 11);  X(11,  2, da,  3);  X(12, 17, dd,  9);  X(13,  7, db, 10);  X(14, 22, de,  7);
	X(15, 18, dd,  5);  X(16,  8, db, 13);  X(17, 23, de,  8);  X(18, 13, dc, 15);  X(19,  3, da,  9);
	X(20, 24, de, 14);  X(21, 14, dc, 13);  X(22,  4, da,  2);  X(23, 19, dd,  8);  X(24,  9, db,  2);
#undef X

	/* ξ step. */
#define X(N) A[N] = (uint16_t)(B[N] ^ ((~(B[(N + 5) % 25])) & B[(N + 10) % 25]))
	LIST_25(X, ;);
#undef X

	/* ι step. */
	A[0] ^= rc;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movw %si, %ax
movq %rdi, -0x8(%rbp)
movw %ax, -0xa(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movzwl (%rax), %eax
movq -0x18(%rbp), %rcx
movzwl 0x2(%rcx), %ecx
xorl %ecx, %eax
movq -0x18(%rbp), %rcx
movzwl 0x4(%rcx), %ecx
xorl %ecx, %eax
movq -0x18(%rbp), %rcx
movzwl 0x6(%rcx), %ecx
xorl %ecx, %eax
movq -0x18(%rbp), %rcx
movzwl 0x8(%rcx), %ecx
xorl %ecx, %eax
movw %ax, -0x5a(%rbp)
movq -0x18(%rbp), %rax
movzwl 0xa(%rax), %eax
movq -0x18(%rbp), %rcx
movzwl 0xc(%rcx), %ecx
xorl %ecx, %eax
movq -0x18(%rbp), %rcx
movzwl 0xe(%rcx), %ecx
xorl %ecx, %eax
movq -0x18(%rbp), %rcx
movzwl 0x10(%rcx), %ecx
xorl %ecx, %eax
movq -0x18(%rbp), %rcx
movzwl 0x12(%rcx), %ecx
xorl %ecx, %eax
movw %ax, -0x58(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x14(%rax), %eax
movq -0x18(%rbp), %rcx
movzwl 0x16(%rcx), %ecx
xorl %ecx, %eax
movq -0x18(%rbp), %rcx
movzwl 0x18(%rcx), %ecx
xorl %ecx, %eax
movq -0x18(%rbp), %rcx
movzwl 0x1a(%rcx), %ecx
xorl %ecx, %eax
movq -0x18(%rbp), %rcx
movzwl 0x1c(%rcx), %ecx
xorl %ecx, %eax
movw %ax, -0x56(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x1e(%rax), %eax
movq -0x18(%rbp), %rcx
movzwl 0x20(%rcx), %ecx
xorl %ecx, %eax
movq -0x18(%rbp), %rcx
movzwl 0x22(%rcx), %ecx
xorl %ecx, %eax
movq -0x18(%rbp), %rcx
movzwl 0x24(%rcx), %ecx
xorl %ecx, %eax
movq -0x18(%rbp), %rcx
movzwl 0x26(%rcx), %ecx
xorl %ecx, %eax
movw %ax, -0x54(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x28(%rax), %eax
movq -0x18(%rbp), %rcx
movzwl 0x2a(%rcx), %ecx
xorl %ecx, %eax
movq -0x18(%rbp), %rcx
movzwl 0x2c(%rcx), %ecx
xorl %ecx, %eax
movq -0x18(%rbp), %rcx
movzwl 0x2e(%rcx), %ecx
xorl %ecx, %eax
movq -0x18(%rbp), %rcx
movzwl 0x30(%rcx), %ecx
xorl %ecx, %eax
movw %ax, -0x52(%rbp)
movzwl -0x52(%rbp), %eax
movzwl -0x58(%rbp), %ecx
sarl $0xf, %ecx
movzwl -0x58(%rbp), %edx
shll %edx
orl %edx, %ecx
movzwl %cx, %ecx
xorl %ecx, %eax
movw %ax, -0x5c(%rbp)
movzwl -0x56(%rbp), %eax
movzwl -0x52(%rbp), %ecx
sarl $0xf, %ecx
movzwl -0x52(%rbp), %edx
shll %edx
orl %edx, %ecx
movzwl %cx, %ecx
xorl %ecx, %eax
movw %ax, -0x62(%rbp)
movzwl -0x5a(%rbp), %eax
movzwl -0x56(%rbp), %ecx
sarl $0xf, %ecx
movzwl -0x56(%rbp), %edx
shll %edx
orl %edx, %ecx
movzwl %cx, %ecx
xorl %ecx, %eax
movw %ax, -0x5e(%rbp)
movzwl -0x54(%rbp), %eax
movzwl -0x5a(%rbp), %ecx
sarl $0xf, %ecx
movzwl -0x5a(%rbp), %edx
shll %edx
orl %edx, %ecx
movzwl %cx, %ecx
xorl %ecx, %eax
movw %ax, -0x64(%rbp)
movzwl -0x58(%rbp), %eax
movzwl -0x54(%rbp), %ecx
sarl $0xf, %ecx
movzwl -0x54(%rbp), %edx
shll %edx
orl %edx, %ecx
movzwl %cx, %ecx
xorl %ecx, %eax
movw %ax, -0x60(%rbp)
movq -0x18(%rbp), %rax
movzwl (%rax), %eax
movzwl -0x5c(%rbp), %ecx
xorl %ecx, %eax
movw %ax, -0x50(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x1e(%rax), %eax
movzwl -0x62(%rbp), %ecx
xorl %ecx, %eax
movzwl %ax, %eax
sarl $0x4, %eax
movq -0x18(%rbp), %rcx
movzwl 0x1e(%rcx), %ecx
movzwl -0x62(%rbp), %edx
xorl %edx, %ecx
movzwl %cx, %ecx
shll $0xc, %ecx
orl %ecx, %eax
movw %ax, -0x4e(%rbp)
movq -0x18(%rbp), %rax
movzwl 0xa(%rax), %eax
movzwl -0x5e(%rbp), %ecx
xorl %ecx, %eax
movzwl %ax, %eax
sarl $0xf, %eax
movq -0x18(%rbp), %rcx
movzwl 0xa(%rcx), %ecx
movzwl -0x5e(%rbp), %edx
xorl %edx, %ecx
movzwl %cx, %ecx
shll %ecx
orl %ecx, %eax
movw %ax, -0x4c(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x28(%rax), %eax
movzwl -0x64(%rbp), %ecx
xorl %ecx, %eax
movzwl %ax, %eax
sarl $0x5, %eax
movq -0x18(%rbp), %rcx
movzwl 0x28(%rcx), %ecx
movzwl -0x64(%rbp), %edx
xorl %edx, %ecx
movzwl %cx, %ecx
shll $0xb, %ecx
orl %ecx, %eax
movw %ax, -0x4a(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x14(%rax), %eax
movzwl -0x60(%rbp), %ecx
xorl %ecx, %eax
movzwl %ax, %eax
sarl $0x2, %eax
movq -0x18(%rbp), %rcx
movzwl 0x14(%rcx), %ecx
movzwl -0x60(%rbp), %edx
xorl %edx, %ecx
movzwl %cx, %ecx
shll $0xe, %ecx
orl %ecx, %eax
movw %ax, -0x48(%rbp)
movq -0x18(%rbp), %rax
movzwl 0xc(%rax), %eax
movzwl -0x5e(%rbp), %ecx
xorl %ecx, %eax
movzwl %ax, %eax
sarl $0x4, %eax
movq -0x18(%rbp), %rcx
movzwl 0xc(%rcx), %ecx
movzwl -0x5e(%rbp), %edx
xorl %edx, %ecx
movzwl %cx, %ecx
shll $0xc, %ecx
orl %ecx, %eax
movw %ax, -0x46(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x2a(%rax), %eax
movzwl -0x64(%rbp), %ecx
xorl %ecx, %eax
movzwl %ax, %eax
sarl $0xc, %eax
movq -0x18(%rbp), %rcx
movzwl 0x2a(%rcx), %ecx
movzwl -0x64(%rbp), %edx
xorl %edx, %ecx
movzwl %cx, %ecx
shll $0x4, %ecx
orl %ecx, %eax
movw %ax, -0x44(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x16(%rax), %eax
movzwl -0x60(%rbp), %ecx
xorl %ecx, %eax
movzwl %ax, %eax
sarl $0xa, %eax
movq -0x18(%rbp), %rcx
movzwl 0x16(%rcx), %ecx
movzwl -0x60(%rbp), %edx
xorl %edx, %ecx
movzwl %cx, %ecx
shll $0x6, %ecx
orl %ecx, %eax
movw %ax, -0x42(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x2(%rax), %eax
movzwl -0x5c(%rbp), %ecx
xorl %ecx, %eax
movzwl %ax, %eax
sarl $0xc, %eax
movq -0x18(%rbp), %rcx
movzwl 0x2(%rcx), %ecx
movzwl -0x5c(%rbp), %edx
xorl %edx, %ecx
movzwl %cx, %ecx
shll $0x4, %ecx
orl %ecx, %eax
movw %ax, -0x40(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x20(%rax), %eax
movzwl -0x62(%rbp), %ecx
xorl %ecx, %eax
movzwl %ax, %eax
sarl $0x9, %eax
movq -0x18(%rbp), %rcx
movzwl 0x20(%rcx), %ecx
movzwl -0x62(%rbp), %edx
xorl %edx, %ecx
movzwl %cx, %ecx
shll $0x7, %ecx
orl %ecx, %eax
movw %ax, -0x3e(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x18(%rax), %eax
movzwl -0x60(%rbp), %ecx
xorl %ecx, %eax
movzwl %ax, %eax
sarl $0x5, %eax
movq -0x18(%rbp), %rcx
movzwl 0x18(%rcx), %ecx
movzwl -0x60(%rbp), %edx
xorl %edx, %ecx
movzwl %cx, %ecx
shll $0xb, %ecx
orl %ecx, %eax
movw %ax, -0x3c(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x4(%rax), %eax
movzwl -0x5c(%rbp), %ecx
xorl %ecx, %eax
movzwl %ax, %eax
sarl $0xd, %eax
movq -0x18(%rbp), %rcx
movzwl 0x4(%rcx), %ecx
movzwl -0x5c(%rbp), %edx
xorl %edx, %ecx
movzwl %cx, %ecx
shll $0x3, %ecx
orl %ecx, %eax
movw %ax, -0x3a(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x22(%rax), %eax
movzwl -0x62(%rbp), %ecx
xorl %ecx, %eax
movzwl %ax, %eax
sarl $0x7, %eax
movq -0x18(%rbp), %rcx
movzwl 0x22(%rcx), %ecx
movzwl -0x62(%rbp), %edx
xorl %edx, %ecx
movzwl %cx, %ecx
shll $0x9, %ecx
orl %ecx, %eax
movw %ax, -0x38(%rbp)
movq -0x18(%rbp), %rax
movzwl 0xe(%rax), %eax
movzwl -0x5e(%rbp), %ecx
xorl %ecx, %eax
movzwl %ax, %eax
sarl $0x6, %eax
movq -0x18(%rbp), %rcx
movzwl 0xe(%rcx), %ecx
movzwl -0x5e(%rbp), %edx
xorl %edx, %ecx
movzwl %cx, %ecx
shll $0xa, %ecx
orl %ecx, %eax
movw %ax, -0x36(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x2c(%rax), %eax
movzwl -0x64(%rbp), %ecx
xorl %ecx, %eax
movzwl %ax, %eax
sarl $0x9, %eax
movq -0x18(%rbp), %rcx
movzwl 0x2c(%rcx), %ecx
movzwl -0x64(%rbp), %edx
xorl %edx, %ecx
movzwl %cx, %ecx
shll $0x7, %ecx
orl %ecx, %eax
movw %ax, -0x34(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x24(%rax), %eax
movzwl -0x62(%rbp), %ecx
xorl %ecx, %eax
movzwl %ax, %eax
sarl $0xb, %eax
movq -0x18(%rbp), %rcx
movzwl 0x24(%rcx), %ecx
movzwl -0x62(%rbp), %edx
xorl %edx, %ecx
movzwl %cx, %ecx
shll $0x5, %ecx
orl %ecx, %eax
movw %ax, -0x32(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x10(%rax), %eax
movzwl -0x5e(%rbp), %ecx
xorl %ecx, %eax
movzwl %ax, %eax
sarl $0x3, %eax
movq -0x18(%rbp), %rcx
movzwl 0x10(%rcx), %ecx
movzwl -0x5e(%rbp), %edx
xorl %edx, %ecx
movzwl %cx, %ecx
shll $0xd, %ecx
orl %ecx, %eax
movw %ax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x2e(%rax), %eax
movzwl -0x64(%rbp), %ecx
xorl %ecx, %eax
movzwl %ax, %eax
sarl $0x8, %eax
movq -0x18(%rbp), %rcx
movzwl 0x2e(%rcx), %ecx
movzwl -0x64(%rbp), %edx
xorl %edx, %ecx
movzwl %cx, %ecx
shll $0x8, %ecx
orl %ecx, %eax
movw %ax, -0x2e(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x1a(%rax), %eax
movzwl -0x60(%rbp), %ecx
xorl %ecx, %eax
movzwl %ax, %eax
sarl %eax
movq -0x18(%rbp), %rcx
movzwl 0x1a(%rcx), %ecx
movzwl -0x60(%rbp), %edx
xorl %edx, %ecx
movzwl %cx, %ecx
shll $0xf, %ecx
orl %ecx, %eax
movw %ax, -0x2c(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x6(%rax), %eax
movzwl -0x5c(%rbp), %ecx
xorl %ecx, %eax
movzwl %ax, %eax
sarl $0x7, %eax
movq -0x18(%rbp), %rcx
movzwl 0x6(%rcx), %ecx
movzwl -0x5c(%rbp), %edx
xorl %edx, %ecx
movzwl %cx, %ecx
shll $0x9, %ecx
orl %ecx, %eax
movw %ax, -0x2a(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x30(%rax), %eax
movzwl -0x64(%rbp), %ecx
xorl %ecx, %eax
movzwl %ax, %eax
sarl $0x2, %eax
movq -0x18(%rbp), %rcx
movzwl 0x30(%rcx), %ecx
movzwl -0x64(%rbp), %edx
xorl %edx, %ecx
movzwl %cx, %ecx
shll $0xe, %ecx
orl %ecx, %eax
movw %ax, -0x28(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x1c(%rax), %eax
movzwl -0x60(%rbp), %ecx
xorl %ecx, %eax
movzwl %ax, %eax
sarl $0x3, %eax
movq -0x18(%rbp), %rcx
movzwl 0x1c(%rcx), %ecx
movzwl -0x60(%rbp), %edx
xorl %edx, %ecx
movzwl %cx, %ecx
shll $0xd, %ecx
orl %ecx, %eax
movw %ax, -0x26(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x8(%rax), %eax
movzwl -0x5c(%rbp), %ecx
xorl %ecx, %eax
movzwl %ax, %eax
sarl $0xe, %eax
movq -0x18(%rbp), %rcx
movzwl 0x8(%rcx), %ecx
movzwl -0x5c(%rbp), %edx
xorl %edx, %ecx
movzwl %cx, %ecx
shll $0x2, %ecx
orl %ecx, %eax
movw %ax, -0x24(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x26(%rax), %eax
movzwl -0x62(%rbp), %ecx
xorl %ecx, %eax
movzwl %ax, %eax
sarl $0x8, %eax
movq -0x18(%rbp), %rcx
movzwl 0x26(%rcx), %ecx
movzwl -0x62(%rbp), %edx
xorl %edx, %ecx
movzwl %cx, %ecx
shll $0x8, %ecx
orl %ecx, %eax
movw %ax, -0x22(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x12(%rax), %eax
movzwl -0x5e(%rbp), %ecx
xorl %ecx, %eax
movzwl %ax, %eax
sarl $0xe, %eax
movq -0x18(%rbp), %rcx
movzwl 0x12(%rcx), %ecx
movzwl -0x5e(%rbp), %edx
xorl %edx, %ecx
movzwl %cx, %ecx
shll $0x2, %ecx
orl %ecx, %eax
movw %ax, -0x20(%rbp)
movzwl -0x50(%rbp), %eax
movzwl -0x46(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x3c(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, (%rax)
movzwl -0x4e(%rbp), %eax
movzwl -0x44(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x3a(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x2(%rax)
movzwl -0x4c(%rbp), %eax
movzwl -0x42(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x38(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x4(%rax)
movzwl -0x4a(%rbp), %eax
movzwl -0x40(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x36(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x6(%rax)
movzwl -0x48(%rbp), %eax
movzwl -0x3e(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x34(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x8(%rax)
movzwl -0x46(%rbp), %eax
movzwl -0x3c(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x32(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0xa(%rax)
movzwl -0x44(%rbp), %eax
movzwl -0x3a(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x30(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0xc(%rax)
movzwl -0x42(%rbp), %eax
movzwl -0x38(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x2e(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0xe(%rax)
movzwl -0x40(%rbp), %eax
movzwl -0x36(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x2c(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x10(%rax)
movzwl -0x3e(%rbp), %eax
movzwl -0x34(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x2a(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x12(%rax)
movzwl -0x3c(%rbp), %eax
movzwl -0x32(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x28(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x14(%rax)
movzwl -0x3a(%rbp), %eax
movzwl -0x30(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x26(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x16(%rax)
movzwl -0x38(%rbp), %eax
movzwl -0x2e(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x24(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x18(%rax)
movzwl -0x36(%rbp), %eax
movzwl -0x2c(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x22(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x1a(%rax)
movzwl -0x34(%rbp), %eax
movzwl -0x2a(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x20(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x1c(%rax)
movzwl -0x32(%rbp), %eax
movzwl -0x28(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x50(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x1e(%rax)
movzwl -0x30(%rbp), %eax
movzwl -0x26(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x4e(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x20(%rax)
movzwl -0x2e(%rbp), %eax
movzwl -0x24(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x4c(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x22(%rax)
movzwl -0x2c(%rbp), %eax
movzwl -0x22(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x4a(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x24(%rax)
movzwl -0x2a(%rbp), %eax
movzwl -0x20(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x48(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x26(%rax)
movzwl -0x28(%rbp), %eax
movzwl -0x50(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x46(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x28(%rax)
movzwl -0x26(%rbp), %eax
movzwl -0x4e(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x44(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x2a(%rax)
movzwl -0x24(%rbp), %eax
movzwl -0x4c(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x42(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x2c(%rax)
movzwl -0x22(%rbp), %eax
movzwl -0x4a(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x40(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x2e(%rax)
movzwl -0x20(%rbp), %eax
movzwl -0x48(%rbp), %ecx
xorl $-0x1, %ecx
movzwl -0x3e(%rbp), %edx
andl %edx, %ecx
xorl %ecx, %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x30(%rax)
movzwl -0xa(%rbp), %edx
movq -0x18(%rbp), %rax
movzwl (%rax), %ecx
xorl %edx, %ecx
movw %cx, (%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)