// File: /workspace/github_c_makefile_star2_O0/maandree[P]libkeccak/digest.c
// Function: libkeccak_absorption_phase
LIBKECCAK_GCC_ONLY(__attribute__((__nonnull__, __nothrow__)))
static void
libkeccak_absorption_phase(register struct libkeccak_state *restrict state,
                           register const unsigned char *restrict message, register size_t len)
{
	register long int rr = state->r >> 3;
	register long int ww = state->w >> 3;
	register long int n = (long)len / rr;

	if (__builtin_expect(ww == 8, 1)) {
		while (n--) {
#define X(N) state->S.w64[N] ^= libkeccak_to_lane64(message, len, rr, (size_t)(LANE_TRANSPOSE_MAP[N] * 8))
			LIST_25(X, ;);
#undef X
			libkeccak_f(state);
			message += (size_t)rr;
			len -= (size_t)rr;
		}
	} else if (__builtin_expect(ww == 4, 1)) {
		while (n--) {
#define X(N) state->S.w32[N] ^= libkeccak_to_lane32(message, len, rr, (size_t)(LANE_TRANSPOSE_MAP[N] * 4))
			LIST_25(X, ;);
#undef X
			libkeccak_f(state);
			message += (size_t)rr;
			len -= (size_t)rr;
		}
	} else if (__builtin_expect(ww == 2, 1)) {
		while (n--) {
#define X(N) state->S.w16[N] ^= libkeccak_to_lane16(message, len, rr, (size_t)(LANE_TRANSPOSE_MAP[N] * 2))
			LIST_25(X, ;);
#undef X
			libkeccak_f(state);
			message += (size_t)rr;
			len -= (size_t)rr;
		}
	} else if (__builtin_expect(ww == 1, 1)) {
		while (n--) {
#define X(N) state->S.w8[N] ^= libkeccak_to_lane8(message, len, rr, (size_t)(LANE_TRANSPOSE_MAP[N] * 1))
			LIST_25(X, ;);
#undef X
			libkeccak_f(state);
			message += (size_t)rr;
			len -= (size_t)rr;
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0xc8(%rax), %rax
sarq $0x3, %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq 0xe8(%rax), %rax
sarq $0x3, %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
cqto
idivq -0x20(%rbp)
movq %rax, -0x30(%rbp)
cmpq $0x8, -0x28(%rbp)
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x1ab1
jmp 0x1603
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x30(%rbp)
cmpq $0x0, %rax
je 0x1aac
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x5a41(%rip), %rcx      # 0x7070
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq (%rax), %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x5a20(%rip), %rcx      # 0x7078
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq 0x8(%rax), %rcx
movq %rcx, 0x8(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x59fd(%rip), %rcx      # 0x7080
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq 0x10(%rax), %rcx
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x59da(%rip), %rcx      # 0x7088
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq 0x18(%rax), %rcx
movq %rcx, 0x18(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x59b7(%rip), %rcx      # 0x7090
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq 0x20(%rax), %rcx
movq %rcx, 0x20(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x5994(%rip), %rcx      # 0x7098
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq 0x28(%rax), %rcx
movq %rcx, 0x28(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x5971(%rip), %rcx      # 0x70a0
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq 0x30(%rax), %rcx
movq %rcx, 0x30(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x594e(%rip), %rcx      # 0x70a8
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq 0x38(%rax), %rcx
movq %rcx, 0x38(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x592b(%rip), %rcx      # 0x70b0
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq 0x40(%rax), %rcx
movq %rcx, 0x40(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x5908(%rip), %rcx      # 0x70b8
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq 0x48(%rax), %rcx
movq %rcx, 0x48(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x58e5(%rip), %rcx      # 0x70c0
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq 0x50(%rax), %rcx
movq %rcx, 0x50(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x58c2(%rip), %rcx      # 0x70c8
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq 0x58(%rax), %rcx
movq %rcx, 0x58(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x589f(%rip), %rcx      # 0x70d0
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq 0x60(%rax), %rcx
movq %rcx, 0x60(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x587c(%rip), %rcx      # 0x70d8
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq 0x68(%rax), %rcx
movq %rcx, 0x68(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x5859(%rip), %rcx      # 0x70e0
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq 0x70(%rax), %rcx
movq %rcx, 0x70(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x5836(%rip), %rcx      # 0x70e8
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq 0x78(%rax), %rcx
movq %rcx, 0x78(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x5813(%rip), %rcx      # 0x70f0
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq 0x80(%rax), %rcx
movq %rcx, 0x80(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x57ea(%rip), %rcx      # 0x70f8
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq 0x88(%rax), %rcx
movq %rcx, 0x88(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x57c1(%rip), %rcx      # 0x7100
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq 0x90(%rax), %rcx
movq %rcx, 0x90(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x5798(%rip), %rcx      # 0x7108
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq 0x98(%rax), %rcx
movq %rcx, 0x98(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x576f(%rip), %rcx      # 0x7110
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq 0xa0(%rax), %rcx
movq %rcx, 0xa0(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x5746(%rip), %rcx      # 0x7118
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq 0xa8(%rax), %rcx
movq %rcx, 0xa8(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x571d(%rip), %rcx      # 0x7120
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq 0xb0(%rax), %rcx
movq %rcx, 0xb0(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x56f4(%rip), %rcx      # 0x7128
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq 0xb8(%rax), %rcx
movq %rcx, 0xb8(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x56cb(%rip), %rcx      # 0x7130
shlq $0x3, %rcx
callq 0x3e50
movq %rax, %rcx
movq -0x8(%rbp), %rax
xorq 0xc0(%rax), %rcx
movq %rcx, 0xc0(%rax)
movq -0x8(%rbp), %rdi
callq 0x34d0
movq -0x20(%rbp), %rax
addq -0x10(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x18(%rbp)
jmp 0x1603
jmp 0x2854
cmpq $0x4, -0x28(%rbp)
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x1ef9
jmp 0x1acc
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x30(%rbp)
cmpq $0x0, %rax
je 0x1ef4
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x5578(%rip), %rcx      # 0x7070
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl (%rax), %ecx
movl %ecx, (%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x555a(%rip), %rcx      # 0x7078
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl 0x4(%rax), %ecx
movl %ecx, 0x4(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x553a(%rip), %rcx      # 0x7080
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl 0x8(%rax), %ecx
movl %ecx, 0x8(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x551a(%rip), %rcx      # 0x7088
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl 0xc(%rax), %ecx
movl %ecx, 0xc(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x54fa(%rip), %rcx      # 0x7090
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl 0x10(%rax), %ecx
movl %ecx, 0x10(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x54da(%rip), %rcx      # 0x7098
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl 0x14(%rax), %ecx
movl %ecx, 0x14(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x54ba(%rip), %rcx      # 0x70a0
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl 0x18(%rax), %ecx
movl %ecx, 0x18(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x549a(%rip), %rcx      # 0x70a8
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl 0x1c(%rax), %ecx
movl %ecx, 0x1c(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x547a(%rip), %rcx      # 0x70b0
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl 0x20(%rax), %ecx
movl %ecx, 0x20(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x545a(%rip), %rcx      # 0x70b8
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl 0x24(%rax), %ecx
movl %ecx, 0x24(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x543a(%rip), %rcx      # 0x70c0
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl 0x28(%rax), %ecx
movl %ecx, 0x28(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x541a(%rip), %rcx      # 0x70c8
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl 0x2c(%rax), %ecx
movl %ecx, 0x2c(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x53fa(%rip), %rcx      # 0x70d0
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl 0x30(%rax), %ecx
movl %ecx, 0x30(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x53da(%rip), %rcx      # 0x70d8
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl 0x34(%rax), %ecx
movl %ecx, 0x34(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x53ba(%rip), %rcx      # 0x70e0
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl 0x38(%rax), %ecx
movl %ecx, 0x38(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x539a(%rip), %rcx      # 0x70e8
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl 0x3c(%rax), %ecx
movl %ecx, 0x3c(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x537a(%rip), %rcx      # 0x70f0
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl 0x40(%rax), %ecx
movl %ecx, 0x40(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x535a(%rip), %rcx      # 0x70f8
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl 0x44(%rax), %ecx
movl %ecx, 0x44(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x533a(%rip), %rcx      # 0x7100
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl 0x48(%rax), %ecx
movl %ecx, 0x48(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x531a(%rip), %rcx      # 0x7108
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl 0x4c(%rax), %ecx
movl %ecx, 0x4c(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x52fa(%rip), %rcx      # 0x7110
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl 0x50(%rax), %ecx
movl %ecx, 0x50(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x52da(%rip), %rcx      # 0x7118
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl 0x54(%rax), %ecx
movl %ecx, 0x54(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x52ba(%rip), %rcx      # 0x7120
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl 0x58(%rax), %ecx
movl %ecx, 0x58(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x529a(%rip), %rcx      # 0x7128
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl 0x5c(%rax), %ecx
movl %ecx, 0x5c(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x527a(%rip), %rcx      # 0x7130
shlq $0x2, %rcx
callq 0x4090
movl %eax, %ecx
movq -0x8(%rbp), %rax
xorl 0x60(%rax), %ecx
movl %ecx, 0x60(%rax)
movq -0x8(%rbp), %rdi
callq 0x34d0
movq -0x20(%rbp), %rax
addq -0x10(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x18(%rbp)
jmp 0x1acc
jmp 0x2852
cmpq $0x2, -0x28(%rbp)
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x23a5
jmp 0x1f14
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x30(%rbp)
cmpq $0x0, %rax
je 0x23a0
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x5130(%rip), %rcx      # 0x7070
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl (%rax), %ecx
xorl %edx, %ecx
movw %cx, (%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x510e(%rip), %rcx      # 0x7078
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl 0x2(%rax), %ecx
xorl %edx, %ecx
movw %cx, 0x2(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x50ea(%rip), %rcx      # 0x7080
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl 0x4(%rax), %ecx
xorl %edx, %ecx
movw %cx, 0x4(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x50c6(%rip), %rcx      # 0x7088
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl 0x6(%rax), %ecx
xorl %edx, %ecx
movw %cx, 0x6(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x50a2(%rip), %rcx      # 0x7090
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl 0x8(%rax), %ecx
xorl %edx, %ecx
movw %cx, 0x8(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x507e(%rip), %rcx      # 0x7098
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl 0xa(%rax), %ecx
xorl %edx, %ecx
movw %cx, 0xa(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x505a(%rip), %rcx      # 0x70a0
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl 0xc(%rax), %ecx
xorl %edx, %ecx
movw %cx, 0xc(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x5036(%rip), %rcx      # 0x70a8
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl 0xe(%rax), %ecx
xorl %edx, %ecx
movw %cx, 0xe(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x5012(%rip), %rcx      # 0x70b0
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl 0x10(%rax), %ecx
xorl %edx, %ecx
movw %cx, 0x10(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4fee(%rip), %rcx      # 0x70b8
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl 0x12(%rax), %ecx
xorl %edx, %ecx
movw %cx, 0x12(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4fca(%rip), %rcx      # 0x70c0
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl 0x14(%rax), %ecx
xorl %edx, %ecx
movw %cx, 0x14(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4fa6(%rip), %rcx      # 0x70c8
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl 0x16(%rax), %ecx
xorl %edx, %ecx
movw %cx, 0x16(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4f82(%rip), %rcx      # 0x70d0
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl 0x18(%rax), %ecx
xorl %edx, %ecx
movw %cx, 0x18(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4f5e(%rip), %rcx      # 0x70d8
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl 0x1a(%rax), %ecx
xorl %edx, %ecx
movw %cx, 0x1a(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4f3a(%rip), %rcx      # 0x70e0
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl 0x1c(%rax), %ecx
xorl %edx, %ecx
movw %cx, 0x1c(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4f16(%rip), %rcx      # 0x70e8
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl 0x1e(%rax), %ecx
xorl %edx, %ecx
movw %cx, 0x1e(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4ef2(%rip), %rcx      # 0x70f0
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl 0x20(%rax), %ecx
xorl %edx, %ecx
movw %cx, 0x20(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4ece(%rip), %rcx      # 0x70f8
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl 0x22(%rax), %ecx
xorl %edx, %ecx
movw %cx, 0x22(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4eaa(%rip), %rcx      # 0x7100
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl 0x24(%rax), %ecx
xorl %edx, %ecx
movw %cx, 0x24(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4e86(%rip), %rcx      # 0x7108
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl 0x26(%rax), %ecx
xorl %edx, %ecx
movw %cx, 0x26(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4e62(%rip), %rcx      # 0x7110
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl 0x28(%rax), %ecx
xorl %edx, %ecx
movw %cx, 0x28(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4e3e(%rip), %rcx      # 0x7118
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl 0x2a(%rax), %ecx
xorl %edx, %ecx
movw %cx, 0x2a(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4e1a(%rip), %rcx      # 0x7120
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl 0x2c(%rax), %ecx
xorl %edx, %ecx
movw %cx, 0x2c(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4df6(%rip), %rcx      # 0x7128
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl 0x2e(%rax), %ecx
xorl %edx, %ecx
movw %cx, 0x2e(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4dd2(%rip), %rcx      # 0x7130
shlq %rcx
callq 0x41c0
movzwl %ax, %edx
movq -0x8(%rbp), %rax
movzwl 0x30(%rax), %ecx
xorl %edx, %ecx
movw %cx, 0x30(%rax)
movq -0x8(%rbp), %rdi
callq 0x34d0
movq -0x20(%rbp), %rax
addq -0x10(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x18(%rbp)
jmp 0x1f14
jmp 0x2850
cmpq $0x1, -0x28(%rbp)
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x284e
jmp 0x23c0
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x30(%rbp)
cmpq $0x0, %rax
je 0x284c
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4c84(%rip), %rcx      # 0x7070
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl (%rax), %ecx
xorl %edx, %ecx
movb %cl, (%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4c62(%rip), %rcx      # 0x7078
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl 0x1(%rax), %ecx
xorl %edx, %ecx
movb %cl, 0x1(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4c3e(%rip), %rcx      # 0x7080
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl 0x2(%rax), %ecx
xorl %edx, %ecx
movb %cl, 0x2(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4c1a(%rip), %rcx      # 0x7088
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl 0x3(%rax), %ecx
xorl %edx, %ecx
movb %cl, 0x3(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4bf6(%rip), %rcx      # 0x7090
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl 0x4(%rax), %ecx
xorl %edx, %ecx
movb %cl, 0x4(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4bd2(%rip), %rcx      # 0x7098
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl 0x5(%rax), %ecx
xorl %edx, %ecx
movb %cl, 0x5(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4bae(%rip), %rcx      # 0x70a0
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl 0x6(%rax), %ecx
xorl %edx, %ecx
movb %cl, 0x6(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4b8a(%rip), %rcx      # 0x70a8
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl 0x7(%rax), %ecx
xorl %edx, %ecx
movb %cl, 0x7(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4b66(%rip), %rcx      # 0x70b0
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl 0x8(%rax), %ecx
xorl %edx, %ecx
movb %cl, 0x8(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4b42(%rip), %rcx      # 0x70b8
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl 0x9(%rax), %ecx
xorl %edx, %ecx
movb %cl, 0x9(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4b1e(%rip), %rcx      # 0x70c0
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl 0xa(%rax), %ecx
xorl %edx, %ecx
movb %cl, 0xa(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4afa(%rip), %rcx      # 0x70c8
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl 0xb(%rax), %ecx
xorl %edx, %ecx
movb %cl, 0xb(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4ad6(%rip), %rcx      # 0x70d0
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl 0xc(%rax), %ecx
xorl %edx, %ecx
movb %cl, 0xc(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4ab2(%rip), %rcx      # 0x70d8
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl 0xd(%rax), %ecx
xorl %edx, %ecx
movb %cl, 0xd(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4a8e(%rip), %rcx      # 0x70e0
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl 0xe(%rax), %ecx
xorl %edx, %ecx
movb %cl, 0xe(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4a6a(%rip), %rcx      # 0x70e8
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl 0xf(%rax), %ecx
xorl %edx, %ecx
movb %cl, 0xf(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4a46(%rip), %rcx      # 0x70f0
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl 0x10(%rax), %ecx
xorl %edx, %ecx
movb %cl, 0x10(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4a22(%rip), %rcx      # 0x70f8
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl 0x11(%rax), %ecx
xorl %edx, %ecx
movb %cl, 0x11(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x49fe(%rip), %rcx      # 0x7100
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl 0x12(%rax), %ecx
xorl %edx, %ecx
movb %cl, 0x12(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x49da(%rip), %rcx      # 0x7108
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl 0x13(%rax), %ecx
xorl %edx, %ecx
movb %cl, 0x13(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x49b6(%rip), %rcx      # 0x7110
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl 0x14(%rax), %ecx
xorl %edx, %ecx
movb %cl, 0x14(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4992(%rip), %rcx      # 0x7118
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl 0x15(%rax), %ecx
xorl %edx, %ecx
movb %cl, 0x15(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x496e(%rip), %rcx      # 0x7120
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl 0x16(%rax), %ecx
xorl %edx, %ecx
movb %cl, 0x16(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x494a(%rip), %rcx      # 0x7128
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl 0x17(%rax), %ecx
xorl %edx, %ecx
movb %cl, 0x17(%rax)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq 0x4926(%rip), %rcx      # 0x7130
shlq $0x0, %rcx
callq 0x42a0
movzbl %al, %edx
movq -0x8(%rbp), %rax
movzbl 0x18(%rax), %ecx
xorl %edx, %ecx
movb %cl, 0x18(%rax)
movq -0x8(%rbp), %rdi
callq 0x34d0
movq -0x20(%rbp), %rax
addq -0x10(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x18(%rbp)
jmp 0x23c0
jmp 0x284e
jmp 0x2850
jmp 0x2852
jmp 0x2854
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)