Function at 0x140023570
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
movdqa xmmword [rsp + 0x60], xmm12
movdqa xmmword [rsp + 0x50], xmm11
movdqa xmmword [rsp + 0x40], xmm10
movdqa xmmword [rsp + 0x30], xmm9
movdqa xmmword [rsp + 0x20], xmm8
movdqa xmmword [rsp + 0x10], xmm7
movdqa xmmword [rsp], xmm6
mov rax, qword [0x1402e1030]
movzx eax, byte [rax]
cmp al, 1
jne 0x1400235e0
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]
add rsp, 0x78
jmp 0x140023800
mov rax, qword [rdx + 0x10]
movdqu xmm0, xmmword [rcx + 0x30]
test rax, rax
je 0x1400237cb
mov r8, qword [rdx]
mov rdx, qword [rdx + 8]
movdqu xmm1, xmmword [rcx]
movdqu xmm2, xmmword [rcx + 0x10]
movdqu xmm3, xmmword [rcx + 0x20]
xor r9d, r9d
movdqa xmm4, xmmword [0x140445280]
nop word cs:[rax + rax]
mov r10d, 0xa
movdqa xmm7, xmm1
movdqa xmm5, xmm2
movdqa xmm6, xmm0
movdqa xmm8, xmm3
nop word [rax + rax]
paddd xmm7, xmm5
pxor xmm6, xmm7
movdqa xmm9, xmm6
psrld xmm9, 0x10
pslld xmm6, 0x10
por xmm6, xmm9
paddd xmm8, xmm6
pxor xmm5, xmm8
movdqa xmm9, xmm5
psrld xmm9, 0x14
pslld xmm5, 0xc
por xmm5, xmm9
paddd xmm7, xmm5
pxor xmm6, xmm7
movdqa xmm9, xmm6
psrld xmm9, 0x18
pslld xmm6, 8
por xmm6, xmm9
paddd xmm8, xmm6
pxor xmm5, xmm8
movdqa xmm9, xmm5
psrld xmm9, 0x19
pslld xmm5, 7
por xmm5, xmm9
pshufd xmm8, xmm8, 0x39
pshufd xmm6, xmm6, 0x4e
pshufd xmm7, xmm7, 0x93
paddd xmm7, xmm5
pxor xmm6, xmm7
movdqa xmm9, xmm6
psrld xmm9, 0x10
pslld xmm6, 0x10
por xmm6, xmm9
paddd xmm8, xmm6
pxor xmm5, xmm8
movdqa xmm9, xmm5
psrld xmm9, 0x14
pslld xmm5, 0xc
por xmm5, xmm9
paddd xmm7, xmm5
pxor xmm6, xmm7
movdqa xmm9, xmm6
psrld xmm9, 0x18
pslld xmm6, 8
por xmm6, xmm9
paddd xmm8, xmm6
pxor xmm5, xmm8
movdqa xmm9, xmm5
psrld xmm9, 0x19
pslld xmm5, 7
por xmm5, xmm9
pshufd xmm8, xmm8, 0x93
pshufd xmm6, xmm6, 0x4e
pshufd xmm7, xmm7, 0x39
dec r10
jne 0x140023640
mov r10, r9
shl r10, 6
movdqu xmm9, xmmword [r8 + r10]
movdqu xmm10, xmmword [r8 + r10 + 0x10]
movdqu xmm11, xmmword [r8 + r10 + 0x20]
movdqu xmm12, xmmword [r8 + r10 + 0x30]
paddd xmm6, xmm0
pxor xmm6, xmm12
paddd xmm8, xmm3
pxor xmm8, xmm11
paddd xmm5, xmm2
pxor xmm5, xmm10
paddd xmm7, xmm1
pxor xmm7, xmm9
inc r9
paddd xmm0, xmm4
movdqu xmmword [rdx + r10], xmm7
movdqu xmmword [rdx + r10 + 0x10], xmm5
movdqu xmmword [rdx + r10 + 0x20], xmm8
movdqu xmmword [rdx + r10 + 0x30], xmm6
cmp rax, r9
jne 0x140023620
movd dword [rcx + 0x30], 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]
add rsp, 0x78
ret
push rsi
sub rsp, 0x220
vmovaps xmmword [rsp + 0x210], xmm15
vmovdqa xmmword [rsp + 0x200], xmm14
vmovdqa xmmword [rsp + 0x1f0], xmm13
vmovdqa xmmword [rsp + 0x1e0], xmm12
vmovaps xmmword [rsp + 0x1d0], xmm11
vmovdqa xmmword [rsp + 0x1c0], xmm10
vmovdqa xmmword [rsp + 0x1b0], xmm9
vmovdqa xmmword [rsp + 0x1a0], xmm8
vmovdqa xmmword [rsp + 0x190], xmm7
vmovdqa xmmword [rsp + 0x180], xmm6
vbroadcasti128 ymm3, xmmword [rcx + 0x30]
vpaddd ymm1, ymm3, ymmword [0x1404452a0]
vbroadcasti128 ymm11, xmmword [rcx + 0x10]
vbroadcasti128 ymm15, xmmword [rcx]
vbroadcasti128 ymm0, xmmword [rcx + 0x20]
vmovdqu ymmword [rsp], ymm0
mov r8, qword [rdx]
mov r9, qword [rdx + 8]
mov rdx, qword [rdx + 0x10]
mov eax, edx
and eax, 3
cmp rdx, 4
jae 0x1400238a5
vmovdqa ymm3, ymm1
jmp 0x140023bde
mov r10, rdx
shr r10, 2
vpaddd ymm5, ymm3, ymmword [0x1404452c0]
xor r11d, r11d
vbroadcasti128 ymm6, xmmword [0x1404453a0]
vmovdqa ymm7, ymmword [0x140445300]
vbroadcasti128 ymm0, xmmword [0x140445320]
vmovdqu ymmword [rsp + 0x20], ymm0
vmovdqu ymm4, ymmword [rsp]
nop dword [rax]
mov esi, 0xa
vmovdqa ymm13, ymm5
vmovdqu ymmword [rsp + 0x60], ymm1
vmovdqa ymm14, ymm1
vmovdqa ymm12, ymm15
vmovdqa ymm3, ymm11
vmovdqa ymm8, ymm15
vmovdqa ymm2, ymm11
vmovdqa ymm9, ymm11
vmovdqa ymm10, ymm4
vmovdqa ymm11, ymm4
nop word cs:[rax + rax]
vpaddd ymm12, ymm12, ymm3
vpxor ymm14, ymm14, ymm12
vpshuflw ymm14, ymm14, 0xb1
vpshufhw ymm14, ymm14, 0xb1
vpaddd ymm15, ymm9, ymm15
vpxor ymm13, ymm15, ymm13
vpshuflw ymm13, ymm13, 0xb1
vpshufhw ymm13, ymm13, 0xb1
vpaddd ymm10, ymm10, ymm14
vpxor ymm3, ymm10, ymm3
vpsrld ymm0, ymm3, 0x14
vpslld ymm3, ymm3, 0xc
vpor ymm0, ymm3, ymm0
vpaddd ymm3, ymm11, ymm13
vpxor ymm9, ymm9, ymm3
vpsrld ymm11, ymm9, 0x14
vpslld ymm9, ymm9, 0xc
vpor ymm9, ymm9, ymm11
vpaddd ymm11, ymm12, ymm0
vpshufb ymm12, ymm11, ymm6
vpshufb ymm14, ymm14, ymm6
vpxor ymm12, ymm14, ymm12
vpaddd ymm14, ymm9, ymm15
vpshufb ymm15, ymm14, ymm6
vpshufb ymm13, ymm13, ymm6
vpxor ymm13, ymm13, ymm15
vpaddd ymm10, ymm10, ymm12
vpxor ymm0, ymm10, ymm0
vpsrld ymm15, ymm0, 0x19
vpslld ymm0, ymm0, 7
vpor ymm0, ymm15, ymm0
vpaddd ymm3, ymm13, ymm3
vpxor ymm9, ymm9, ymm3
vpsrld ymm15, ymm9, 0x19
vpslld ymm9, ymm9, 7
vpor ymm9, ymm9, ymm15
vpshufd ymm10, ymm10, 0x39
vpshufd ymm11, ymm11, 0x93
vpshufd ymm3, ymm3, 0x39
vpshufd ymm14, ymm14, 0x93
vpaddd ymm11, ymm11, ymm0
vpshuflw ymm15, ymm11, 0xb1
vpshufhw ymm15, ymm15, 0xb1
vpshufb ymm12, ymm12, ymm7
vpxor ymm12, ymm12, ymm15
vpaddd ymm14, ymm9, ymm14
vpshuflw ymm15, ymm14, 0xb1
vpshufhw ymm15, ymm15, 0xb1
vpshufb ymm13, ymm13, ymm7
vpxor ymm13, ymm13, ymm15
vpaddd ymm10, ymm10, ymm12
vpxor ymm0, ymm10, ymm0
vpsrld ymm15, ymm0, 0x14
vpslld ymm0, ymm0, 0xc
vpor ymm0, ymm15, ymm0
vpaddd ymm15, ymm13, ymm3
vpxor ymm3, ymm15, ymm9
vpsrld ymm9, ymm3, 0x14
vpslld ymm3, ymm3, 0xc
vpor ymm9, ymm9, ymm3
vpaddd ymm11, ymm11, ymm0
vpxor ymm3, ymm12, ymm11
vpshufb ymm12, ymm3, ymm6
vpaddd ymm1, ymm9, ymm14
vpxor ymm3, ymm13, ymm1
vpshufb ymm13, ymm3, ymm6
vpaddd ymm10, ymm10, ymm12
vpxor ymm0, ymm10, ymm0
vpsrld ymm3, ymm0, 0x19
vpslld ymm0, ymm0, 7
vpor ymm3, ymm0, ymm3
vpaddd ymm0, ymm15, ymm13
vpxor ymm9, ymm9, ymm0
vpsrld ymm14, ymm9, 0x19
vpslld ymm9, ymm9, 7
vpor ymm9, ymm9, ymm14
vpshufd ymm10, ymm10, 0x93
vpshufd ymm14, ymm12, 0x4e
vpshufd ymm12, ymm11, 0x39
vpshufd ymm11, ymm0, 0x93
vpshufd ymm13, ymm13, 0x4e
vpshufd ymm15, ymm1, 0x39
dec rsi
jne 0x140023920
vpaddd ymm0, ymm13, ymm5
vpaddd ymm1, ymm9, ymm2
vmovdqu ymmword [rsp + 0x40], ymm5
vmovdqu ymm5, ymmword [rsp + 0x60]
vpaddd ymm9, ymm14, ymm5
vpaddd ymm3, ymm3, ymm2
vmovdqu ymm4, ymmword [rsp]
vpaddd ymm11, ymm11, ymm4
vpaddd ymm13, ymm15, ymm8
vmovdqa ymm15, ymm8
vpaddd ymm10, ymm10, ymm4
vpaddd ymm12, ymm12, ymm8
vinserti128 ymm14, ymm13, xmm1, 1
vperm2i128 ymm1, ymm13, ymm1, 0x31
vinserti128 ymm13, ymm11, xmm0, 1
vperm2i128 ymm0, ymm11, ymm0, 0x31
vperm2i128 ymm11, ymm10, ymm9, 0x31
vinserti128 ymm9, ymm10, xmm9, 1
vperm2i128 ymm10, ymm12, ymm3, 0x31
vinserti128 ymm3, ymm12, xmm3, 1
mov rsi, r11
shl rsi, 8
vpxor ymm3, ymm3, ymmword [r8 + rsi]
vpxor ymm9, ymm9, ymmword [r8 + rsi + 0x20]
vpxor ymm10, ymm10, ymmword [r8 + rsi + 0x40]
vpxor ymm11, ymm11, ymmword [r8 + rsi + 0x60]
vpxor ymm12, ymm13, ymmword [r8 + rsi + 0xa0]
vpxor ymm13, ymm14, ymmword [r8 + rsi + 0x80]
vpxor ymm1, ymm1, ymmword [r8 + rsi + 0xc0]
vpxor ymm0, ymm0, ymmword [r8 + rsi + 0xe0]
vmovdqu ymmword [r9 + rsi], ymm3
vmovdqu ymmword [r9 + rsi + 0x20], ymm9
vmovdqu ymmword [r9 + rsi + 0x40], ymm10
vmovdqu ymmword [r9 + rsi + 0x60], ymm11
vmovdqa ymm11, ymm2
vmovdqu ymmword [r9 + rsi + 0x80], ymm13
vmovdqu ymmword [r9 + rsi + 0xa0], ymm12
vmovdqu ymmword [r9 + rsi + 0xc0], ymm1
vmovdqu ymm1, ymmword [rsp + 0x20]
vpaddd ymm3, ymm5, ymm1
vpaddd ymm5, ymm1, ymmword [rsp + 0x40]
inc r11
vmovdqu ymmword [r9 + rsi + 0xe0], ymm0
vmovdqa ymm1, ymm3
cmp r10, r11
jne 0x1400238e0
vpxor xmm0, xmm0, xmm0
vmovdqu ymmword [rsp + 0x160], ymm0
vmovdqu ymmword [rsp + 0x140], ymm0
vmovdqu ymmword [rsp + 0x120], ymm0
vmovdqu ymmword [rsp + 0x100], ymm0
vmovdqu ymmword [rsp + 0xe0], ymm0
vmovdqu ymmword [rsp + 0xc0], ymm0
vmovdqu ymmword [rsp + 0xa0], ymm0
vmovdqu ymmword [rsp + 0x80], ymm0
test rax, rax
je 0x14002401b
mov r10d, 0xa
vbroadcasti128 ymm4, xmmword [0x1404453a0]
vmovdqa ymm5, ymmword [0x140445300]
vmovdqa ymm7, ymm3
vmovdqa ymm6, ymm15
vmovdqa ymm8, ymm11
vmovdqu ymm2, ymmword [rsp]
vmovdqa ymm9, ymm2
vpaddd ymm0, ymm8, ymm6
vpxor ymm1, ymm7, ymm0
vpshuflw ymm1, ymm1, 0xb1
vpshufhw ymm1, ymm1, 0xb1
vpaddd ymm6, ymm9, ymm1
vpxor ymm7, ymm8, ymm6
vpsrld ymm8, ymm7, 0x14
vpslld ymm7, ymm7, 0xc
vpor ymm7, ymm8, ymm7
vpaddd ymm0, ymm7, ymm0
vpshufb ymm8, ymm0, ymm4
vpshufb ymm1, ymm1, ymm4
vpxor ymm1, ymm8, ymm1
vpaddd ymm6, ymm6, ymm1
vpxor ymm7, ymm6, ymm7
vpsrld ymm8, ymm7, 0x19
vpslld ymm7, ymm7, 7
vpor ymm7, ymm8, ymm7
vpshufd ymm6, ymm6, 0x39
vpshufd ymm0, ymm0, 0x93
vpaddd ymm0, ymm7, ymm0
vpshuflw ymm8, ymm0, 0xb1
vpshufhw ymm8, ymm8, 0xb1
vpshufb ymm1, ymm1, ymm5
vpxor ymm1, ymm8, ymm1
vpaddd ymm6, ymm6, ymm1
vpxor ymm7, ymm6, ymm7
vpsrld ymm8, ymm7, 0x14
vpslld ymm7, ymm7, 0xc
vpor ymm7, ymm8, ymm7
vpaddd ymm0, ymm7, ymm0
vpxor ymm1, ymm1, ymm0
vpshufb ymm1, ymm1, ymm4
vpaddd ymm6, ymm6, ymm1
vpxor ymm7, ymm6, ymm7
vpsrld ymm8, ymm7, 0x19
vpslld ymm7, ymm7, 7
vpor ymm8, ymm8, ymm7
vpshufd ymm9, ymm6, 0x93
vpshufd ymm7, ymm1, 0x4e
vpshufd ymm6, ymm0, 0x39
dec r10
jne 0x140023c60
vpaddd ymm0, ymm15, ymm6
vpaddd ymm6, ymm3, ymmword [0x140445340]
vpaddd ymm1, ymm9, ymm2
vpaddd xmm8, xmm8, xmm11
vinserti128 ymm0, ymm0, xmm8, 1
vmovdqu ymmword [rsp + 0x80], ymm0
vpaddd xmm0, xmm7, xmm3
vinserti128 ymm0, ymm1, xmm0, 1
vmovdqu ymmword [rsp + 0xa0], ymm0
cmp eax, 1
je 0x140023fb8
mov r10d, 0xa
vmovdqa ymm8, ymm6
vmovdqa ymm7, ymm15
vmovdqa ymm9, ymm11
vmovdqa ymm10, ymm2
nop word [rax + rax]
vpaddd ymm0, ymm9, ymm7
vpxor ymm1, ymm8, ymm0
vpshuflw ymm1, ymm1, 0xb1
vpshufhw ymm1, ymm1, 0xb1
vpaddd ymm7, ymm10, ymm1
vpxor ymm8, ymm9, ymm7
vpsrld ymm9, ymm8, 0x14
vpslld ymm8, ymm8, 0xc
vpor ymm8, ymm8, ymm9
vpaddd ymm0, ymm8, ymm0
vpshufb ymm9, ymm0, ymm4
vpshufb ymm1, ymm1, ymm4
vpxor ymm1, ymm9, ymm1
vpaddd ymm7, ymm7, ymm1
vpxor ymm8, ymm8, ymm7
vpsrld ymm9, ymm8, 0x19
vpslld ymm8, ymm8, 7
vpor ymm8, ymm8, ymm9
vpshufd ymm7, ymm7, 0x39
vpshufd ymm0, ymm0, 0x93
vpaddd ymm0, ymm8, ymm0
vpshuflw ymm9, ymm0, 0xb1
vpshufhw ymm9, ymm9, 0xb1
vpshufb ymm1, ymm1, ymm5
vpxor ymm1, ymm9, ymm1
vpaddd ymm7, ymm7, ymm1
vpxor ymm8, ymm8, ymm7
vpsrld ymm9, ymm8, 0x14
vpslld ymm8, ymm8, 0xc
vpor ymm8, ymm8, ymm9
vpaddd ymm0, ymm8, ymm0
vpxor ymm1, ymm1, ymm0
vpshufb ymm1, ymm1, ymm4
vpaddd ymm7, ymm7, ymm1
vpxor ymm8, ymm8, ymm7
vpsrld ymm9, ymm8, 0x19
vpslld ymm8, ymm8, 7
vpor ymm9, ymm8, ymm9
vpshufd ymm10, ymm7, 0x93
vpshufd ymm8, ymm1, 0x4e
vpshufd ymm7, ymm0, 0x39
dec r10
jne 0x140023d80
vpaddd ymm0, ymm15, ymm7
vpaddd ymm7, ymm3, ymmword [0x140445360]
vpaddd ymm1, ymm10, ymm2
vpaddd xmm9, xmm9, xmm11
vinserti128 ymm0, ymm0, xmm9, 1
vmovdqu ymmword [rsp + 0xc0], ymm0
vpaddd xmm0, xmm8, xmm6
vinserti128 ymm0, ymm1, xmm0, 1
vmovdqu ymmword [rsp + 0xe0], ymm0
cmp eax, 2
jne 0x140023e94
vmovdqa ymm6, ymm7
jmp 0x140023fb8
mov r10d, 0xa
vmovdqa ymm8, ymm7
vmovdqa ymm10, ymm15
vmovdqa ymm9, ymm11
vmovdqa ymm6, ymm2
nop dword [rax]
vpaddd ymm0, ymm9, ymm10
vpxor ymm1, ymm8, ymm0
vpshuflw ymm1, ymm1, 0xb1
vpshufhw ymm1, ymm1, 0xb1
vpaddd ymm6, ymm6, ymm1
vpxor ymm8, ymm9, ymm6
vpsrld ymm9, ymm8, 0x14
vpslld ymm8, ymm8, 0xc
vpor ymm8, ymm8, ymm9
vpaddd ymm0, ymm8, ymm0
vpshufb ymm9, ymm0, ymm4
vpshufb ymm1, ymm1, ymm4
vpxor ymm1, ymm9, ymm1
vpaddd ymm6, ymm6, ymm1
vpxor ymm8, ymm8, ymm6
vpsrld ymm9, ymm8, 0x19
vpslld ymm8, ymm8, 7
vpor ymm8, ymm8, ymm9
vpshufd ymm6, ymm6, 0x39
vpshufd ymm0, ymm0, 0x93
vpaddd ymm0, ymm8, ymm0
vpshuflw ymm9, ymm0, 0xb1
vpshufhw ymm9, ymm9, 0xb1
vpshufb ymm1, ymm1, ymm5
vpxor ymm1, ymm9, ymm1
vpaddd ymm6, ymm6, ymm1
vpxor ymm8, ymm8, ymm6
vpsrld ymm9, ymm8, 0x14
vpslld ymm8, ymm8, 0xc
vpor ymm8, ymm8, ymm9
vpaddd ymm0, ymm8, ymm0
vpxor ymm1, ymm1, ymm0
vpshufb ymm1, ymm1, ymm4
vpaddd ymm6, ymm6, ymm1
vpxor ymm8, ymm8, ymm6
vpsrld ymm9, ymm8, 0x19
vpslld ymm8, ymm8, 7
vpor ymm9, ymm8, ymm9
vpshufd ymm6, ymm6, 0x93
vpshufd ymm8, ymm1, 0x4e
vpshufd ymm10, ymm0, 0x39
dec r10
jne 0x140023eb0
vpaddd ymm0, ymm10, ymm15
vpaddd ymm1, ymm6, ymm2
vpaddd ymm6, ymm3, ymmword [0x140445380]
vpaddd xmm2, xmm9, xmm11
vinserti128 ymm0, ymm0, xmm2, 1
vmovdqu ymmword [rsp + 0x100], ymm0
vpaddd xmm0, xmm8, xmm7
vinserti128 ymm0, ymm1, xmm0, 1
vmovdqu ymmword [rsp + 0x120], ymm0
and rdx, 0xfffffffffffffffc
shl rdx, 6
add r9, rdx
add r9, 0x20
shl eax, 6
add rdx, r8
add rdx, 0x20
xor r8d, r8d
nop word cs:[rax + rax]
vmovdqu ymm0, ymmword [rsp + r8 + 0x80]
vmovdqu ymm1, ymmword [rsp + r8 + 0xa0]
vpxor ymm0, ymm0, ymmword [rdx + r8 - 0x20]
vpxor ymm1, ymm1, ymmword [rdx + r8]
vmovdqu ymmword [r9 + r8 - 0x20], ymm0
vmovdqu ymmword [r9 + r8], ymm1
add r8, 0x40
cmp rax, r8
jne 0x140023fe0
vmovdqa ymm3, ymm6
vmovd dword [rcx + 0x30], xmm3
vmovaps xmm6, xmmword [rsp + 0x180]
vmovaps xmm7, xmmword [rsp + 0x190]
vmovaps xmm8, xmmword [rsp + 0x1a0]
vmovaps xmm9, xmmword [rsp + 0x1b0]
vmovaps xmm10, xmmword [rsp + 0x1c0]
vmovaps xmm11, xmmword [rsp + 0x1d0]
vmovaps xmm12, xmmword [rsp + 0x1e0]
vmovaps xmm13, xmmword [rsp + 0x1f0]
vmovaps xmm14, xmmword [rsp + 0x200]
vmovaps xmm15, xmmword [rsp + 0x210]
add rsp, 0x220
pop rsi
vzeroupper
ret