Function at 0x1400d5dc8
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
call fcn.14005ca9d
test al, al
je 0x14005cbed
mov r14, qword [rsi + 0x20]
mov rax, qword [rsi]
mov rcx, qword [rsi + 8]
bswap rax
bswap rcx
mov qword [rsp + 0x30], rsi
mov r15, qword [rsi + 0x28]
lea rdx, [rsp + 0x20]
mov qword [rdx], rcx
mov qword [rdx + 8], rax
and rdi, 0xfffffffffffffff0
lea r13, str.Z:WorkspaceDevelopTools.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ring_0.16.20_src_aeadgcmgcm_nohw.rs
lea rbp, str.Z:WorkspaceDevelopTools.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ring_0.16.20_src_aeadgcmgcm_nohw.rs
xor r12d, r12d
cmp rdi, r12
je 0x14005cc1e
mov rsi, qword [rbx + r12 + 8]
xor ecx, ecx
mov rdx, rsi
mov r8, r13
call fcn.14005cc8f
bswap rsi
xor qword [rsp + 0x20], rsi
mov rsi, qword [rbx + r12]
xor ecx, ecx
mov rdx, rsi
mov r8, rbp
call fcn.14005cc8f
bswap rsi
xor qword [rsp + 0x28], rsi
lea rcx, [rsp + 0x20]
mov rdx, r14
mov r8, r15
call fcn.14005ccc3
add r12, 0x10
jmp 0x14005cb9f
mov eax, dword [0x1401c4cec]
not eax
lea rdx, [rsi + 0x20]
mov rcx, rsi
mov r8, rbx
mov r9, rdi
test eax, 0x10400000
jne 0x14005cc56
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x1400d6660
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
bswap rcx
bswap rax
movq xmm0, rax
movq xmm1, rcx
punpcklqdq xmm1, xmm0
mov rax, qword [rsp + 0x30]
movdqa xmmword [rax], xmm1
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x1400d5dc0
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 [0x1400d6dc0]
movdqu xmm0, xmmword [rcx]
movdqu xmm2, xmmword [rdx]
movdqu xmm7, xmmword [rdx + 0x20]
pshufb xmm0, xmm10
sub r9, 0x10
je 0x1400d6396
movdqu xmm6, xmmword [rdx + 0x10]
lea rax, [0x1401c4ce8]
mov eax, dword [rax + 4]
cmp r9, 0x30
jb 0x1400d6182
and eax, 0x4400000
cmp eax, 0x400000
je 0x1400d6182
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 0x1400d60c5
jmp 0x1400d5f40
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 [0x1400d6de0]
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 0x1400d5f40
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 0x1400d643b
movdqu xmm7, xmmword [rdx + 0x20]
sub r9, 0x10
je 0x1400d6396
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 0x1400d62e1
nop
jmp 0x1400d61e0
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 0x1400d61e0
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 0x1400d643b
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]
repz 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, [0x1400d6dd0]
lea rdx, [rdx + 0x40]
vmovdqu xmm13, xmmword [0x1400d6dc0]
vpshufb xmm10, xmm10, xmm13
cmp r9, 0x80
jb 0x1400d6ae0
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 0x1400d6cc0
vpxor xmm15, xmm15, xmm10
sub r9, 0x80
jmp 0x1400d68a0
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 0x1400d68a0
add r9, 0x80
jmp 0x1400d6cc5
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 0x1400d6cc0
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 0x1400d6cc0
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 0x1400d6cc0
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 0x1400d6cc0
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 0x1400d6cc0
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 0x1400d6cc0
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 0x1400d6cc0
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 0x1400d6ae0
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]
repz ret