Function at 0x14015bec0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov r13, r8
mov r14, rdx
mov rax, qword [0x1403f0dc0]
test byte [rax + 3], 1
je 0x14014d99e
mov eax, dword [rax + 4]
test al, 2
jne 0x14014db60
mov rax, qword [rcx]
bswap rax
mov rbx, qword [rcx + 8]
bswap rbx
cmp r13, 0x10
mov qword [rsp + 0x28], rcx
jb 0x14014dabe
shr r13, 4
mov rdx, qword [rcx + 0x10]
mov rcx, qword [rcx + 0x18]
shl r13, 4
add r13, r14
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rdx
xor rcx, rdx
mov qword [rsp + 0x30], rcx
nop
mov r12, qword [r14]
mov rdi, qword [r14 + 8]
bswap r12
xor r12, rax
bswap rdi
xor rdi, rbx
mov rcx, rdi
mov rdx, qword [rsp + 0x38]
call sym.ring::aead::gcm::gcm_nohw::gcm_mul64_nohw::h0da125f3e719c2ef
mov rbp, rax
mov rbx, rdx
mov rcx, r12
mov rdx, qword [rsp + 0x40]
call sym.ring::aead::gcm::gcm_nohw::gcm_mul64_nohw::h0da125f3e719c2ef
mov rsi, rax
mov r15, rdx
xor rdi, r12
mov rcx, rdi
mov rdx, qword [rsp + 0x30]
call sym.ring::aead::gcm::gcm_nohw::gcm_mul64_nohw::h0da125f3e719c2ef
mov rcx, rbp
shl rcx, 0x3f
mov r8, rbp
shl r8, 0x3e
xor r8, rcx
mov r9, rbp
shl r9, 0x39
xor r9, rax
xor r9, r8
xor rbx, rbp
mov rcx, rbx
xor rcx, rsi
xor rcx, r9
mov r8, rbp
shr r8, 1
mov rax, rcx
shr rax, 1
mov r9, rcx
mov r11, rcx
shr r11, 2
xor r11, rax
mov r10, rcx
mov rax, rcx
shr rax, 7
xor rax, r15
xor rax, r11
xor rax, rcx
shl rcx, 0x3f
mov r11, rbp
shr r11, 2
xor r11, r8
shl r9, 0x3e
shr rbp, 7
shl r10, 0x39
xor r10, r9
xor rbp, rdx
xor rbp, r11
xor rbp, rcx
xor rbp, r10
xor rbx, r15
xor rbx, rsi
xor rbx, rbp
add r14, 0x10
cmp r14, r13
jne 0x14014d9e0
bswap rax
bswap rbx
mov ecx, eax
shr ecx, 0x10
mov edx, eax
shr edx, 0x18
mov r8, rax
shr r8, 0x20
mov r9, rax
shr r9, 0x28
mov r10, rax
shr r10, 0x30
mov r11, rax
shr r11, 0x38
mov esi, ebx
shr esi, 0x10
mov edi, ebx
shr edi, 0x18
mov r14, rbx
shr r14, 0x20
mov r15, rbx
shr r15, 0x28
mov r12, rbx
shr r12, 0x30
mov r13, rbx
shr r13, 0x38
mov rbp, qword [rsp + 0x28]
mov byte [rbp], al
mov byte [rbp + 1], ah
mov byte [rbp + 2], cl
mov byte [rbp + 3], dl
mov byte [rbp + 4], r8b
mov byte [rbp + 5], r9b
mov byte [rbp + 6], r10b
mov byte [rbp + 7], r11b
mov byte [rbp + 8], bl
mov byte [rbp + 9], bh
mov byte [rbp + 0xa], sil
mov byte [rbp + 0xb], dil
mov byte [rbp + 0xc], r14b
mov byte [rbp + 0xd], r15b
mov byte [rbp + 0xe], r12b
mov byte [rbp + 0xf], r13b
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
not eax
lea rdx, [rcx + 0x10]
mov r8, r14
mov r9, r13
test eax, 0x10400000
jne 0x14014db88
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x14015c760
nop
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x14015bec0
lea rax, [rsp - 0x88]
lea rsp, [rax - 0x20]
movaps xmmword [rax - 0x20], xmm6
movaps xmmword [rax - 0x10], xmm7
movaps xmmword [rax], xmm8
movaps xmmword [rax + 0x10], xmm9
movaps xmmword [rax + 0x20], xmm10
movaps xmmword [rax + 0x30], xmm11
movaps xmmword [rax + 0x40], xmm12
movaps xmmword [rax + 0x50], xmm13
movaps xmmword [rax + 0x60], xmm14
movaps xmmword [rax + 0x70], xmm15
movdqa xmm10, xmmword [0x14036d040]
movdqu xmm0, xmmword [rcx]
movdqu xmm2, xmmword [rdx]
movdqu xmm7, xmmword [rdx + 0x20]
pshufb xmm0, xmm10
sub r9, 0x10
je 0x14015c496
movdqu xmm6, xmmword [rdx + 0x10]
lea rax, [0x14031e6c0]
mov eax, dword [rax + 4]
cmp r9, 0x30
jb 0x14015c282
and eax, 0x4400000
cmp eax, 0x400000
je 0x14015c282
sub r9, 0x30
movabs rax, 0xa040608020c0e000
movdqu xmm14, xmmword [rdx + 0x30]
movdqu xmm15, xmmword [rdx + 0x40]
movdqu xmm3, xmmword [r8 + 0x30]
movdqu xmm11, xmmword [r8 + 0x20]
pshufb xmm3, xmm10
pshufb xmm11, xmm10
movdqa xmm5, xmm3
pshufd xmm4, xmm3, 0x4e
pxor xmm4, xmm3
pclmulqdq xmm3, xmm2, 0
pclmulqdq xmm5, xmm2, 0x11
pclmulqdq xmm4, xmm7, 0
movdqa xmm13, xmm11
pshufd xmm12, xmm11, 0x4e
pxor xmm12, xmm11
pclmulqdq xmm11, xmm6, 0
pclmulqdq xmm13, xmm6, 0x11
pclmulqdq xmm12, xmm7, 0x10
xorps xmm3, xmm11
xorps xmm5, xmm13
movups xmm7, xmmword [rdx + 0x50]
xorps xmm4, xmm12
movdqu xmm11, xmmword [r8 + 0x10]
movdqu xmm8, xmmword [r8]
pshufb xmm11, xmm10
pshufb xmm8, xmm10
movdqa xmm13, xmm11
pshufd xmm12, xmm11, 0x4e
pxor xmm0, xmm8
pxor xmm12, xmm11
pclmulqdq xmm11, xmm14, 0
movdqa xmm1, xmm0
pshufd xmm8, xmm0, 0x4e
pxor xmm8, xmm0
pclmulqdq xmm13, xmm14, 0x11
pclmulqdq xmm12, xmm7, 0
xorps xmm3, xmm11
xorps xmm5, xmm13
lea r8, [r8 + 0x40]
sub r9, 0x40
jb 0x14015c1c5
jmp 0x14015c040
pclmulqdq xmm0, xmm15, 0
xorps xmm4, xmm12
movdqu xmm11, xmmword [r8 + 0x30]
pshufb xmm11, xmm10
pclmulqdq xmm1, xmm15, 0x11
xorps xmm0, xmm3
movdqu xmm3, xmmword [r8 + 0x20]
movdqa xmm13, xmm11
pclmulqdq xmm8, xmm7, 0x10
pshufd xmm12, xmm11, 0x4e
xorps xmm1, xmm5
pxor xmm12, xmm11
pshufb xmm3, xmm10
movups xmm7, xmmword [rdx + 0x20]
xorps xmm8, xmm4
pclmulqdq xmm11, xmm2, 0
pshufd xmm4, xmm3, 0x4e
pxor xmm8, xmm0
movdqa xmm5, xmm3
pxor xmm8, xmm1
pxor xmm4, xmm3
movdqa xmm9, xmm8
pclmulqdq xmm13, xmm2, 0x11
pslldq xmm8, 8
psrldq xmm9, 8
pxor xmm0, xmm8
movdqa xmm8, xmmword [0x14036d060]
pxor xmm1, xmm9
movq xmm9, rax
pand xmm8, xmm0
pshufb xmm9, xmm8
pxor xmm9, xmm0
pclmulqdq xmm12, xmm7, 0
psllq xmm9, 0x39
movdqa xmm8, xmm9
pslldq xmm9, 8
pclmulqdq xmm3, xmm6, 0
psrldq xmm8, 8
pxor xmm0, xmm9
pxor xmm1, xmm8
movdqu xmm8, xmmword [r8]
movdqa xmm9, xmm0
psrlq xmm0, 1
pclmulqdq xmm5, xmm6, 0x11
xorps xmm3, xmm11
movdqu xmm11, xmmword [r8 + 0x10]
pshufb xmm11, xmm10
pclmulqdq xmm4, xmm7, 0x10
xorps xmm5, xmm13
movups xmm7, xmmword [rdx + 0x50]
pshufb xmm8, xmm10
pxor xmm1, xmm9
pxor xmm9, xmm0
psrlq xmm0, 5
movdqa xmm13, xmm11
pxor xmm4, xmm12
pshufd xmm12, xmm11, 0x4e
pxor xmm0, xmm9
pxor xmm1, xmm8
pxor xmm12, xmm11
pclmulqdq xmm11, xmm14, 0
psrlq xmm0, 1
pxor xmm0, xmm1
movdqa xmm1, xmm0
pclmulqdq xmm13, xmm14, 0x11
xorps xmm3, xmm11
pshufd xmm8, xmm0, 0x4e
pxor xmm8, xmm0
pclmulqdq xmm12, xmm7, 0
xorps xmm5, xmm13
lea r8, [r8 + 0x40]
sub r9, 0x40
jae 0x14015c040
pclmulqdq xmm0, xmm15, 0
pclmulqdq xmm1, xmm15, 0x11
pclmulqdq xmm8, xmm7, 0x10
xorps xmm4, xmm12
xorps xmm0, xmm3
xorps xmm1, xmm5
pxor xmm1, xmm0
pxor xmm8, xmm4
pxor xmm8, xmm1
pxor xmm1, xmm0
movdqa xmm9, xmm8
psrldq xmm8, 8
pslldq xmm9, 8
pxor xmm1, xmm8
pxor xmm0, xmm9
movdqa xmm4, xmm0
movdqa xmm3, xmm0
psllq xmm0, 5
pxor xmm3, xmm0
psllq xmm0, 1
pxor xmm0, xmm3
psllq xmm0, 0x39
movdqa xmm3, xmm0
pslldq xmm0, 8
psrldq xmm3, 8
pxor xmm0, xmm4
pxor xmm1, xmm3
movdqa xmm4, xmm0
psrlq xmm0, 1
pxor xmm1, xmm4
pxor xmm4, xmm0
psrlq xmm0, 5
pxor xmm0, xmm4
psrlq xmm0, 1
pxor xmm0, xmm1
add r9, 0x40
je 0x14015c53b
movdqu xmm7, xmmword [rdx + 0x20]
sub r9, 0x10
je 0x14015c496
movdqu xmm8, xmmword [r8]
movdqu xmm3, xmmword [r8 + 0x10]
pshufb xmm8, xmm10
pshufb xmm3, xmm10
pxor xmm0, xmm8
movdqa xmm5, xmm3
pshufd xmm4, xmm3, 0x4e
pxor xmm4, xmm3
pclmulqdq xmm3, xmm2, 0
pclmulqdq xmm5, xmm2, 0x11
pclmulqdq xmm4, xmm7, 0
lea r8, [r8 + 0x20]
nop
sub r9, 0x20
jbe 0x14015c3e1
nop
jmp 0x14015c2e0
movdqa xmm1, xmm0
movdqa xmm8, xmm4
pshufd xmm4, xmm0, 0x4e
pxor xmm4, xmm0
pclmulqdq xmm0, xmm6, 0
pclmulqdq xmm1, xmm6, 0x11
pclmulqdq xmm4, xmm7, 0x10
pxor xmm0, xmm3
pxor xmm1, xmm5
movdqu xmm9, xmmword [r8]
pxor xmm8, xmm0
pshufb xmm9, xmm10
movdqu xmm3, xmmword [r8 + 0x10]
pxor xmm8, xmm1
pxor xmm1, xmm9
pxor xmm4, xmm8
pshufb xmm3, xmm10
movdqa xmm8, xmm4
psrldq xmm8, 8
pslldq xmm4, 8
pxor xmm1, xmm8
pxor xmm0, xmm4
movdqa xmm5, xmm3
movdqa xmm9, xmm0
movdqa xmm8, xmm0
psllq xmm0, 5
pxor xmm8, xmm0
pclmulqdq xmm3, xmm2, 0
psllq xmm0, 1
pxor xmm0, xmm8
psllq xmm0, 0x39
movdqa xmm8, xmm0
pslldq xmm0, 8
psrldq xmm8, 8
pxor xmm0, xmm9
pshufd xmm4, xmm5, 0x4e
pxor xmm1, xmm8
pxor xmm4, xmm5
movdqa xmm9, xmm0
psrlq xmm0, 1
pclmulqdq xmm5, xmm2, 0x11
pxor xmm1, xmm9
pxor xmm9, xmm0
psrlq xmm0, 5
pxor xmm0, xmm9
lea r8, [r8 + 0x20]
psrlq xmm0, 1
pclmulqdq xmm4, xmm7, 0
pxor xmm0, xmm1
sub r9, 0x20
ja 0x14015c2e0
movdqa xmm1, xmm0
movdqa xmm8, xmm4
pshufd xmm4, xmm0, 0x4e
pxor xmm4, xmm0
pclmulqdq xmm0, xmm6, 0
pclmulqdq xmm1, xmm6, 0x11
pclmulqdq xmm4, xmm7, 0x10
pxor xmm0, xmm3
pxor xmm1, xmm5
pxor xmm8, xmm0
pxor xmm8, xmm1
pxor xmm4, xmm8
movdqa xmm8, xmm4
psrldq xmm8, 8
pslldq xmm4, 8
pxor xmm1, xmm8
pxor xmm0, xmm4
movdqa xmm4, xmm0
movdqa xmm3, xmm0
psllq xmm0, 5
pxor xmm3, xmm0
psllq xmm0, 1
pxor xmm0, xmm3
psllq xmm0, 0x39
movdqa xmm3, xmm0
pslldq xmm0, 8
psrldq xmm3, 8
pxor xmm0, xmm4
pxor xmm1, xmm3
movdqa xmm4, xmm0
psrlq xmm0, 1
pxor xmm1, xmm4
pxor xmm4, xmm0
psrlq xmm0, 5
pxor xmm0, xmm4
psrlq xmm0, 1
pxor xmm0, xmm1
test r9, r9
jne 0x14015c53b
movdqu xmm8, xmmword [r8]
pshufb xmm8, xmm10
pxor xmm0, xmm8
movdqa xmm1, xmm0
pshufd xmm3, xmm0, 0x4e
pxor xmm3, xmm0
pclmulqdq xmm0, xmm2, 0
pclmulqdq xmm1, xmm2, 0x11
pclmulqdq xmm3, xmm7, 0
pxor xmm3, xmm0
pxor xmm3, xmm1
movdqa xmm4, xmm3
psrldq xmm3, 8
pslldq xmm4, 8
pxor xmm1, xmm3
pxor xmm0, xmm4
movdqa xmm4, xmm0
movdqa xmm3, xmm0
psllq xmm0, 5
pxor xmm3, xmm0
psllq xmm0, 1
pxor xmm0, xmm3
psllq xmm0, 0x39
movdqa xmm3, xmm0
pslldq xmm0, 8
psrldq xmm3, 8
pxor xmm0, xmm4
pxor xmm1, xmm3
movdqa xmm4, xmm0
psrlq xmm0, 1
pxor xmm1, xmm4
pxor xmm4, xmm0
psrlq xmm0, 5
pxor xmm0, xmm4
psrlq xmm0, 1
pxor xmm0, xmm1
pshufb xmm0, xmm10
movdqu xmmword [rcx], xmm0
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm10, xmmword [rsp + 0x40]
movaps xmm11, xmmword [rsp + 0x50]
movaps xmm12, xmmword [rsp + 0x60]
movaps xmm13, xmmword [rsp + 0x70]
movaps xmm14, xmmword [rsp + 0x80]
movaps xmm15, xmmword [rsp + 0x90]
lea rsp, [rsp + 0xa8]
ret
lea rax, [rsp - 0x88]
lea rsp, [rax - 0x20]
movaps xmmword [rax - 0x20], xmm6
movaps xmmword [rax - 0x10], xmm7
movaps xmmword [rax], xmm8
movaps xmmword [rax + 0x10], xmm9
movaps xmmword [rax + 0x20], xmm10
movaps xmmword [rax + 0x30], xmm11
movaps xmmword [rax + 0x40], xmm12
movaps xmmword [rax + 0x50], xmm13
movaps xmmword [rax + 0x60], xmm14
movaps xmmword [rax + 0x70], xmm15
vzeroupper
vmovdqu xmm10, xmmword [rcx]
lea r10, [0x14036d050]
lea rdx, [rdx + 0x40]
vmovdqu xmm13, xmmword [0x14036d040]
vpshufb xmm10, xmm10, xmm13
cmp r9, 0x80
jb 0x14015cbe0
sub r9, 0x80
vmovdqu xmm14, xmmword [r8 + 0x70]
vmovdqu xmm6, xmmword [rdx - 0x40]
vpshufb xmm14, xmm14, xmm13
vmovdqu xmm7, xmmword [rdx - 0x20]
vpunpckhqdq xmm9, xmm14, xmm14
vmovdqu xmm15, xmmword [r8 + 0x60]
vpclmulqdq xmm0, xmm14, xmm6, 0
vpxor xmm9, xmm9, xmm14
vpshufb xmm15, xmm15, xmm13
vpclmulqdq xmm1, xmm14, xmm6, 0x11
vmovdqu xmm6, xmmword [rdx - 0x30]
vpunpckhqdq xmm8, xmm15, xmm15
vmovdqu xmm14, xmmword [r8 + 0x50]
vpclmulqdq xmm2, xmm9, xmm7, 0
vpxor xmm8, xmm8, xmm15
vpshufb xmm14, xmm14, xmm13
vpclmulqdq xmm3, xmm15, xmm6, 0
vpunpckhqdq xmm9, xmm14, xmm14
vpclmulqdq xmm4, xmm15, xmm6, 0x11
vmovdqu xmm6, xmmword [rdx - 0x10]
vpxor xmm9, xmm9, xmm14
vmovdqu xmm15, xmmword [r8 + 0x40]
vpclmulqdq xmm5, xmm8, xmm7, 0x10
vmovdqu xmm7, xmmword [rdx + 0x10]
vpshufb xmm15, xmm15, xmm13
vpxor xmm3, xmm3, xmm0
vpclmulqdq xmm0, xmm14, xmm6, 0
vpxor xmm4, xmm4, xmm1
vpunpckhqdq xmm8, xmm15, xmm15
vpclmulqdq xmm1, xmm14, xmm6, 0x11
vmovdqu xmm6, xmmword [rdx]
vpxor xmm5, xmm5, xmm2
vpclmulqdq xmm2, xmm9, xmm7, 0
vpxor xmm8, xmm8, xmm15
vmovdqu xmm14, xmmword [r8 + 0x30]
vpxor xmm0, xmm0, xmm3
vpclmulqdq xmm3, xmm15, xmm6, 0
vpxor xmm1, xmm1, xmm4
vpshufb xmm14, xmm14, xmm13
vpclmulqdq xmm4, xmm15, xmm6, 0x11
vmovdqu xmm6, xmmword [rdx + 0x20]
vpxor xmm2, xmm2, xmm5
vpunpckhqdq xmm9, xmm14, xmm14
vpclmulqdq xmm5, xmm8, xmm7, 0x10
vmovdqu xmm7, xmmword [rdx + 0x40]
vpxor xmm9, xmm9, xmm14
vmovdqu xmm15, xmmword [r8 + 0x20]
vpxor xmm3, xmm3, xmm0
vpclmulqdq xmm0, xmm14, xmm6, 0
vpxor xmm4, xmm4, xmm1
vpshufb xmm15, xmm15, xmm13
vpclmulqdq xmm1, xmm14, xmm6, 0x11
vmovdqu xmm6, xmmword [rdx + 0x30]
vpxor xmm5, xmm5, xmm2
vpunpckhqdq xmm8, xmm15, xmm15
vpclmulqdq xmm2, xmm9, xmm7, 0
vpxor xmm8, xmm8, xmm15
vmovdqu xmm14, xmmword [r8 + 0x10]
vpxor xmm0, xmm0, xmm3
vpclmulqdq xmm3, xmm15, xmm6, 0
vpxor xmm1, xmm1, xmm4
vpshufb xmm14, xmm14, xmm13
vpclmulqdq xmm4, xmm15, xmm6, 0x11
vmovdqu xmm6, xmmword [rdx + 0x50]
vpxor xmm2, xmm2, xmm5
vpunpckhqdq xmm9, xmm14, xmm14
vpclmulqdq xmm5, xmm8, xmm7, 0x10
vmovdqu xmm7, xmmword [rdx + 0x70]
vpxor xmm9, xmm9, xmm14
vmovdqu xmm15, xmmword [r8]
vpxor xmm3, xmm3, xmm0
vpclmulqdq xmm0, xmm14, xmm6, 0
vpxor xmm4, xmm4, xmm1
vpshufb xmm15, xmm15, xmm13
vpclmulqdq xmm1, xmm14, xmm6, 0x11
vmovdqu xmm6, xmmword [rdx + 0x60]
vpxor xmm5, xmm5, xmm2
vpclmulqdq xmm2, xmm9, xmm7, 0x10
lea r8, [r8 + 0x80]
cmp r9, 0x80
jb 0x14015cdc0
vpxor xmm15, xmm15, xmm10
sub r9, 0x80
jmp 0x14015c9a0
vpunpckhqdq xmm8, xmm15, xmm15
vmovdqu xmm14, xmmword [r8 + 0x70]
vpxor xmm3, xmm3, xmm0
vpxor xmm8, xmm8, xmm15
vpclmulqdq xmm10, xmm15, xmm6, 0
vpshufb xmm14, xmm14, xmm13
vpxor xmm4, xmm4, xmm1
vpclmulqdq xmm11, xmm15, xmm6, 0x11
vmovdqu xmm6, xmmword [rdx - 0x40]
vpunpckhqdq xmm9, xmm14, xmm14
vpxor xmm5, xmm5, xmm2
vpclmulqdq xmm12, xmm8, xmm7, 0
vmovdqu xmm7, xmmword [rdx - 0x20]
vpxor xmm9, xmm9, xmm14
vmovdqu xmm15, xmmword [r8 + 0x60]
vpclmulqdq xmm0, xmm14, xmm6, 0
vpxor xmm10, xmm10, xmm3
vpshufb xmm15, xmm15, xmm13
vpclmulqdq xmm1, xmm14, xmm6, 0x11
vxorps xmm11, xmm11, xmm4
vmovdqu xmm6, xmmword [rdx - 0x30]
vpunpckhqdq xmm8, xmm15, xmm15
vpclmulqdq xmm2, xmm9, xmm7, 0
vpxor xmm12, xmm12, xmm5
vxorps xmm8, xmm8, xmm15
vmovdqu xmm14, xmmword [r8 + 0x50]
vpxor xmm12, xmm12, xmm10
vpclmulqdq xmm3, xmm15, xmm6, 0
vpxor xmm12, xmm12, xmm11
vpslldq xmm9, xmm12, 8
vpxor xmm3, xmm3, xmm0
vpclmulqdq xmm4, xmm15, xmm6, 0x11
vpsrldq xmm12, xmm12, 8
vpxor xmm10, xmm10, xmm9
vmovdqu xmm6, xmmword [rdx - 0x10]
vpshufb xmm14, xmm14, xmm13
vxorps xmm11, xmm11, xmm12
vpxor xmm4, xmm4, xmm1
vpunpckhqdq xmm9, xmm14, xmm14
vpclmulqdq xmm5, xmm8, xmm7, 0x10
vmovdqu xmm7, xmmword [rdx + 0x10]
vpxor xmm9, xmm9, xmm14
vpxor xmm5, xmm5, xmm2
vmovdqu xmm15, xmmword [r8 + 0x40]
vpalignr xmm12, xmm10, xmm10, 8
vpclmulqdq xmm0, xmm14, xmm6, 0
vpshufb xmm15, xmm15, xmm13
vpxor xmm0, xmm0, xmm3
vpclmulqdq xmm1, xmm14, xmm6, 0x11
vmovdqu xmm6, xmmword [rdx]
vpunpckhqdq xmm8, xmm15, xmm15
vpxor xmm1, xmm1, xmm4
vpclmulqdq xmm2, xmm9, xmm7, 0
vxorps xmm8, xmm8, xmm15
vpxor xmm2, xmm2, xmm5
vmovdqu xmm14, xmmword [r8 + 0x30]
vpclmulqdq xmm10, xmm10, xmmword [r10], 0x10
vpclmulqdq xmm3, xmm15, xmm6, 0
vpshufb xmm14, xmm14, xmm13
vpxor xmm3, xmm3, xmm0
vpclmulqdq xmm4, xmm15, xmm6, 0x11
vmovdqu xmm6, xmmword [rdx + 0x20]
vpunpckhqdq xmm9, xmm14, xmm14
vpxor xmm4, xmm4, xmm1
vpclmulqdq xmm5, xmm8, xmm7, 0x10
vmovdqu xmm7, xmmword [rdx + 0x40]
vpxor xmm9, xmm9, xmm14
vpxor xmm5, xmm5, xmm2
vmovdqu xmm15, xmmword [r8 + 0x20]
vpclmulqdq xmm0, xmm14, xmm6, 0
vpshufb xmm15, xmm15, xmm13
vpxor xmm0, xmm0, xmm3
vpclmulqdq xmm1, xmm14, xmm6, 0x11
vmovdqu xmm6, xmmword [rdx + 0x30]
vpunpckhqdq xmm8, xmm15, xmm15
vpxor xmm1, xmm1, xmm4
vpclmulqdq xmm2, xmm9, xmm7, 0
vpxor xmm8, xmm8, xmm15
vpxor xmm2, xmm2, xmm5
vxorps xmm10, xmm10, xmm12
vmovdqu xmm14, xmmword [r8 + 0x10]
vpalignr xmm12, xmm10, xmm10, 8
vpclmulqdq xmm3, xmm15, xmm6, 0
vpshufb xmm14, xmm14, xmm13
vpxor xmm3, xmm3, xmm0
vpclmulqdq xmm4, xmm15, xmm6, 0x11
vmovdqu xmm6, xmmword [rdx + 0x50]
vpclmulqdq xmm10, xmm10, xmmword [r10], 0x10
vxorps xmm12, xmm12, xmm11
vpunpckhqdq xmm9, xmm14, xmm14
vpxor xmm4, xmm4, xmm1
vpclmulqdq xmm5, xmm8, xmm7, 0x10
vmovdqu xmm7, xmmword [rdx + 0x70]
vpxor xmm9, xmm9, xmm14
vpxor xmm5, xmm5, xmm2
vmovdqu xmm15, xmmword [r8]
vpclmulqdq xmm0, xmm14, xmm6, 0
vpshufb xmm15, xmm15, xmm13
vpclmulqdq xmm1, xmm14, xmm6, 0x11
vmovdqu xmm6, xmmword [rdx + 0x60]
vpxor xmm15, xmm15, xmm12
vpclmulqdq xmm2, xmm9, xmm7, 0x10
vpxor xmm15, xmm15, xmm10
lea r8, [r8 + 0x80]
sub r9, 0x80
jae 0x14015c9a0
add r9, 0x80
jmp 0x14015cdc5
vmovdqu xmm14, xmmword [r8 + r9 - 0x10]
lea r8, [r8 + r9]
vmovdqu xmm6, xmmword [rdx - 0x40]
vmovdqu xmm7, xmmword [rdx - 0x20]
vpshufb xmm15, xmm14, xmm13
vmovdqa xmm3, xmm0
vmovdqa xmm4, xmm1
vmovdqa xmm5, xmm2
sub r9, 0x10
je 0x14015cdc0
vpunpckhqdq xmm8, xmm15, xmm15
vpxor xmm3, xmm3, xmm0
vpclmulqdq xmm0, xmm15, xmm6, 0
vpxor xmm8, xmm8, xmm15
vmovdqu xmm14, xmmword [r8 - 0x20]
vpxor xmm4, xmm4, xmm1
vpclmulqdq xmm1, xmm15, xmm6, 0x11
vmovdqu xmm6, xmmword [rdx - 0x30]
vpshufb xmm15, xmm14, xmm13
vpxor xmm5, xmm5, xmm2
vpclmulqdq xmm2, xmm8, xmm7, 0
vpsrldq xmm7, xmm7, 8
sub r9, 0x10
je 0x14015cdc0
vpunpckhqdq xmm8, xmm15, xmm15
vpxor xmm3, xmm3, xmm0
vpclmulqdq xmm0, xmm15, xmm6, 0
vpxor xmm8, xmm8, xmm15
vmovdqu xmm14, xmmword [r8 - 0x30]
vpxor xmm4, xmm4, xmm1
vpclmulqdq xmm1, xmm15, xmm6, 0x11
vmovdqu xmm6, xmmword [rdx - 0x10]
vpshufb xmm15, xmm14, xmm13
vpxor xmm5, xmm5, xmm2
vpclmulqdq xmm2, xmm8, xmm7, 0
vmovdqu xmm7, xmmword [rdx + 0x10]
sub r9, 0x10
je 0x14015cdc0
vpunpckhqdq xmm8, xmm15, xmm15
vpxor xmm3, xmm3, xmm0
vpclmulqdq xmm0, xmm15, xmm6, 0
vpxor xmm8, xmm8, xmm15
vmovdqu xmm14, xmmword [r8 - 0x40]
vpxor xmm4, xmm4, xmm1
vpclmulqdq xmm1, xmm15, xmm6, 0x11
vmovdqu xmm6, xmmword [rdx]
vpshufb xmm15, xmm14, xmm13
vpxor xmm5, xmm5, xmm2
vpclmulqdq xmm2, xmm8, xmm7, 0
vpsrldq xmm7, xmm7, 8
sub r9, 0x10
je 0x14015cdc0
vpunpckhqdq xmm8, xmm15, xmm15
vpxor xmm3, xmm3, xmm0
vpclmulqdq xmm0, xmm15, xmm6, 0
vpxor xmm8, xmm8, xmm15
vmovdqu xmm14, xmmword [r8 - 0x50]
vpxor xmm4, xmm4, xmm1
vpclmulqdq xmm1, xmm15, xmm6, 0x11
vmovdqu xmm6, xmmword [rdx + 0x20]
vpshufb xmm15, xmm14, xmm13
vpxor xmm5, xmm5, xmm2
vpclmulqdq xmm2, xmm8, xmm7, 0
vmovdqu xmm7, xmmword [rdx + 0x40]
sub r9, 0x10
je 0x14015cdc0
vpunpckhqdq xmm8, xmm15, xmm15
vpxor xmm3, xmm3, xmm0
vpclmulqdq xmm0, xmm15, xmm6, 0
vpxor xmm8, xmm8, xmm15
vmovdqu xmm14, xmmword [r8 - 0x60]
vpxor xmm4, xmm4, xmm1
vpclmulqdq xmm1, xmm15, xmm6, 0x11
vmovdqu xmm6, xmmword [rdx + 0x30]
vpshufb xmm15, xmm14, xmm13
vpxor xmm5, xmm5, xmm2
vpclmulqdq xmm2, xmm8, xmm7, 0
vpsrldq xmm7, xmm7, 8
sub r9, 0x10
je 0x14015cdc0
vpunpckhqdq xmm8, xmm15, xmm15
vpxor xmm3, xmm3, xmm0
vpclmulqdq xmm0, xmm15, xmm6, 0
vpxor xmm8, xmm8, xmm15
vmovdqu xmm14, xmmword [r8 - 0x70]
vpxor xmm4, xmm4, xmm1
vpclmulqdq xmm1, xmm15, xmm6, 0x11
vmovdqu xmm6, xmmword [rdx + 0x50]
vpshufb xmm15, xmm14, xmm13
vpxor xmm5, xmm5, xmm2
vpclmulqdq xmm2, xmm8, xmm7, 0
vmovq xmm7, qword [rdx + 0x78]
sub r9, 0x10
jmp 0x14015cdc0
vpxor xmm15, xmm15, xmm10
vpunpckhqdq xmm8, xmm15, xmm15
vpxor xmm3, xmm3, xmm0
vpclmulqdq xmm0, xmm15, xmm6, 0
vpxor xmm8, xmm8, xmm15
vpxor xmm4, xmm4, xmm1
vpclmulqdq xmm1, xmm15, xmm6, 0x11
vpxor xmm5, xmm5, xmm2
vpclmulqdq xmm2, xmm8, xmm7, 0
vmovdqu xmm12, xmmword [r10]
vpxor xmm10, xmm3, xmm0
vpxor xmm11, xmm4, xmm1
vpxor xmm5, xmm5, xmm2
vpxor xmm5, xmm5, xmm10
vpxor xmm5, xmm5, xmm11
vpslldq xmm9, xmm5, 8
vpsrldq xmm5, xmm5, 8
vpxor xmm10, xmm10, xmm9
vpxor xmm11, xmm11, xmm5
vpclmulqdq xmm9, xmm10, xmm12, 0x10
vpalignr xmm10, xmm10, xmm10, 8
vpxor xmm10, xmm10, xmm9
vpclmulqdq xmm9, xmm10, xmm12, 0x10
vpalignr xmm10, xmm10, xmm10, 8
vpxor xmm10, xmm10, xmm11
vpxor xmm10, xmm10, xmm9
cmp r9, 0
jne 0x14015cbe0
vpshufb xmm10, xmm10, xmm13
vmovdqu xmmword [rcx], xmm10
vzeroupper
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm10, xmmword [rsp + 0x40]
movaps xmm11, xmmword [rsp + 0x50]
movaps xmm12, xmmword [rsp + 0x60]
movaps xmm13, xmmword [rsp + 0x70]
movaps xmm14, xmmword [rsp + 0x80]
movaps xmm15, xmmword [rsp + 0x90]
lea rsp, [rsp + 0xa8]
ret