Function at 0x1400778c0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x50
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
test byte [0x1400f5b83], 1
je 0x1400300ac
mov eax, dword [0x1400f5b84]
test al, 2
jne 0x140030173
mov r14, qword [rsi + 0x10]
movdqa xmm0, xmmword [rsi]
movq rax, xmm0
bswap rax
pshufd xmm0, xmm0, 0xee
movq rcx, xmm0
bswap rcx
mov r15, qword [rsi + 0x18]
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rax
cmp rdi, 0x10
jb 0x140030129
shr rdi, 4
shl rdi, 4
xor r13d, r13d
lea r12, [rsp + 0x20]
movdqu xmm0, xmmword [rbx + r13]
movq rax, xmm0
bswap rax
pshufd xmm0, xmm0, 0xee
movq rcx, xmm0
bswap rcx
xor qword [rsp + 0x20], rcx
xor qword [rsp + 0x28], rax
mov rcx, r12
mov rdx, r14
mov r8, r15
call fcn.1400301b2
add r13, 0x10
cmp rdi, r13
jne 0x1400300ed
pshufd xmm0, xmmword [rsp + 0x20], 0x4e
lea rax, [rsp + 0x40]
movdqa xmmword [rax], xmm0
mov cl, 1
xor edx, edx
mov r8, qword [rax]
add rax, 8
bswap r8
mov qword [rsp + rdx*8 + 0x30], r8
mov edx, 1
test cl, 1
mov ecx, 0
jne 0x14003013d
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsi], xmm0
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
not eax
lea rdx, [rsi + 0x10]
mov rcx, rsi
mov r8, rbx
mov r9, rdi
test eax, 0x10400000
jne 0x14003019d
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x140078160
nop
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x1400778c0
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 [0x1400bc280]
movdqu xmm0, xmmword [rcx]
movdqu xmm2, xmmword [rdx]
movdqu xmm7, xmmword [rdx + 0x20]
pshufb xmm0, xmm10
sub r9, 0x10
je 0x140077e96
movdqu xmm6, xmmword [rdx + 0x10]
lea rax, [0x1400f5b80]
mov eax, dword [rax + 4]
cmp r9, 0x30
jb 0x140077c82
and eax, 0x4400000
cmp eax, 0x400000
je 0x140077c82
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 0x140077bc5
jmp 0x140077a40
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 [0x1400bc2a0]
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 0x140077a40
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 0x140077f3b
movdqu xmm7, xmmword [rdx + 0x20]
sub r9, 0x10
je 0x140077e96
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 0x140077de1
nop
jmp 0x140077ce0
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 0x140077ce0
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 0x140077f3b
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, [0x1400bc290]
lea rdx, [rdx + 0x40]
vmovdqu xmm13, xmmword [0x1400bc280]
vpshufb xmm10, xmm10, xmm13
cmp r9, 0x80
jb 0x1400785e0
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 0x1400787c0
vpxor xmm15, xmm15, xmm10
sub r9, 0x80
jmp 0x1400783a0
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 0x1400783a0
add r9, 0x80
jmp 0x1400787c5
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 0x1400787c0
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 0x1400787c0
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 0x1400787c0
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 0x1400787c0
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 0x1400787c0
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 0x1400787c0
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 0x1400787c0
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 0x1400785e0
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