Function at 0x5fa440
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 r9, r8
mov r13, rdx
mov rax, qword [0x009648a0]
test byte [rax + 3], 1
je 0x524f2e
mov eax, dword [rax + 4]
test al, 2
jne 0x525095
movdqa xmm0, xmmword [rcx]
pshufd xmm1, xmm0, 0xee
movq rax, xmm0
bswap rax
movq r14, xmm1
bswap r14
cmp r9, 0x10
mov qword [rsp + 0x20], rcx
jb 0x525072
shr r9, 4
mov rdx, qword [rcx + 0x10]
mov rcx, qword [rcx + 0x18]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rdx
xor rcx, rdx
mov qword [rsp + 0x28], rcx
shl r9, 4
xor r12d, r12d
mov qword [rsp + 0x40], r9
movdqu xmm0, xmmword [r13 + r12]
pshufd xmm1, xmm0, 0xee
movq rdi, xmm0
bswap rdi
xor rdi, rax
movq r15, xmm1
bswap r15
xor r15, r14
mov rcx, r15
mov rdx, qword [rsp + 0x30]
call fcn.00525250
mov rbp, rax
mov r14, rdx
mov rcx, rdi
mov rdx, qword [rsp + 0x38]
call fcn.00525250
mov rsi, rax
mov rbx, rdx
xor r15, rdi
mov rcx, r15
mov rdx, qword [rsp + 0x28]
call fcn.00525250
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 r14, rbp
mov rcx, r14
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, rbx
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
mov r9, qword [rsp + 0x40]
xor rbp, rdx
xor rbp, r11
xor rbp, rcx
xor rbp, r10
xor r14, rbx
xor r14, rsi
xor r14, rbp
add r12, 0x10
cmp r9, r12
jne 0x524f80
bswap rax
bswap r14
mov rcx, qword [rsp + 0x20]
mov qword [rcx], rax
mov qword [rcx + 8], r14
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, r13
test eax, 0x10400000
jne 0x5250ba
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x5face0
nop
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x5fa440
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 [0x00963900]
movdqu xmm0, xmmword [rcx]
movdqu xmm2, xmmword [rdx]
movdqu xmm7, xmmword [rdx + 0x20]
pshufb xmm0, xmm10
sub r9, 0x10
je 0x5faa16
movdqu xmm6, xmmword [rdx + 0x10]
lea rax, [0x00869180]
mov eax, dword [rax + 4]
cmp r9, 0x30
jb 0x5fa802
and eax, 0x4400000
cmp eax, 0x400000
je 0x5fa802
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 0x5fa745
jmp 0x5fa5c0
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 [0x00963920]
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 0x5fa5c0
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 0x5faabb
movdqu xmm7, xmmword [rdx + 0x20]
sub r9, 0x10
je 0x5faa16
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 0x5fa961
nop
jmp 0x5fa860
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 0x5fa860
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 0x5faabb
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, [0x00963910]
lea rdx, [rdx + 0x40]
vmovdqu xmm13, xmmword [0x00963900]
vpshufb xmm10, xmm10, xmm13
cmp r9, 0x80
jb 0x5fb160
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 0x5fb340
vpxor xmm15, xmm15, xmm10
sub r9, 0x80
jmp 0x5faf20
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 0x5faf20
add r9, 0x80
jmp 0x5fb345
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 0x5fb340
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 0x5fb340
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 0x5fb340
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 0x5fb340
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 0x5fb340
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 0x5fb340
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 0x5fb340
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 0x5fb160
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