Function at 0x2023f5e0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xa8
movdqa xmmword [rsp + 0x90], xmm15
movaps xmmword [rsp + 0x80], xmm14
movdqa xmmword [rsp + 0x70], xmm13
movaps xmmword [rsp + 0x60], xmm12
movdqa xmmword [rsp + 0x50], xmm11
movdqa xmmword [rsp + 0x40], xmm10
movdqa xmmword [rsp + 0x30], xmm9
movaps xmmword [rsp + 0x20], xmm8
movdqa xmmword [rsp + 0x10], xmm7
movaps xmmword [rsp], xmm6
cmp byte [0x204a3970], 0
jne 0x2023f877
movdqa xmm0, xmmword [0x2036dec0]
movdqa xmm15, xmmword [0x2036ded0]
movdqa xmm2, xmmword [0x20384020]
xor eax, eax
pxor xmm4, xmm4
movaps xmm5, xmmword [0x20384030]
movdqa xmm7, xmmword [0x20384050]
movdqa xmm9, xmmword [0x2036df00]
movdqa xmm11, xmmword [0x20384080]
movdqa xmm13, xmmword [0x203840a0]
lea r9, [0x204a3980]
nop dword [rax]
movdqa xmm10, xmm2
psrld xmm10, 1
movdqa xmm12, xmm0
movdqa xmm3, xmmword [0x2037d8a0]
pand xmm12, xmm3
movdqa xmm1, xmm15
pand xmm1, xmm3
pcmpeqd xmm1, xmm4
pcmpeqd xmm12, xmm4
movdqa xmm14, xmm1
shufps xmm14, xmm12, 0xdd
shufps xmm1, xmm12, 0x88
andps xmm1, xmm14
andnps xmm1, xmm5
xorps xmm1, xmm10
movaps xmm12, xmm1
psrld xmm12, 1
movdqa xmm14, xmm0
movdqa xmm3, xmmword [0x20384040]
pand xmm14, xmm3
movdqa xmm10, xmm15
pand xmm10, xmm3
pcmpeqd xmm10, xmm4
pcmpeqd xmm14, xmm4
movdqa xmm8, xmm10
shufps xmm8, xmm14, 0xdd
shufps xmm10, xmm14, 0x88
andps xmm10, xmm8
andnps xmm10, xmm5
xorps xmm10, xmm12
movdqa xmm8, xmm0
pand xmm8, xmm7
movdqa xmm14, xmm15
pand xmm14, xmm7
pcmpeqd xmm14, xmm4
pcmpeqd xmm8, xmm4
movdqa xmm12, xmm14
shufps xmm12, xmm8, 0xdd
shufps xmm14, xmm8, 0x88
andps xmm14, xmm12
andnps xmm14, xmmword [0x20384060]
movdqa xmm8, xmm0
pand xmm8, xmm9
movdqa xmm12, xmm15
pand xmm12, xmm9
pcmpeqd xmm12, xmm4
pcmpeqd xmm8, xmm4
movdqa xmm3, xmm12
shufps xmm3, xmm8, 0xdd
shufps xmm12, xmm8, 0x88
andps xmm12, xmm3
andnps xmm12, xmmword [0x20384070]
xorps xmm12, xmm14
movdqa xmm3, xmm0
pand xmm3, xmm11
movdqa xmm8, xmm15
pand xmm8, xmm11
pcmpeqd xmm8, xmm4
pcmpeqd xmm3, xmm4
movdqa xmm14, xmm8
shufps xmm14, xmm3, 0xdd
shufps xmm8, xmm3, 0x88
andps xmm8, xmm14
movdqa xmm3, xmm0
pand xmm3, xmm13
movdqa xmm14, xmm15
pand xmm14, xmm13
pcmpeqd xmm14, xmm4
pcmpeqd xmm3, xmm4
movdqa xmm6, xmm14
shufps xmm6, xmm3, 0xdd
shufps xmm14, xmm3, 0x88
andps xmm14, xmm6
andnps xmm8, xmmword [0x20384090]
andnps xmm14, xmmword [0x203840b0]
xorps xmm14, xmm8
xorps xmm14, xmm12
movaps xmm3, xmm10
psrld xmm3, 6
xorps xmm14, xmm3
pslld xmm10, 0x1a
psrad xmm10, 0x1f
pand xmm10, xmm5
pxor xmm10, xmm14
pslld xmm1, 0x1a
psrad xmm1, 0x1f
pand xmm1, xmmword [0x203840c0]
pxor xmm10, xmm1
movdqa xmmword [rax + r9], xmm10
paddq xmm15, xmm7
paddq xmm0, xmm7
paddd xmm2, xmmword [0x203840d0]
add rax, 0x10
cmp rax, 0x400
jne 0x2023f690
mov byte [0x204a3970], 1
test rcx, rcx
je 0x2023fa09
test rdx, rdx
je 0x2023fa09
mov r10d, dword [rcx]
test r8d, r8d
je 0x2023fa03
lea rax, [0x204a3980]
mov r9d, r10d
jmp 0x2023f9df
mov r10d, r9d
xor r9b, byte [rdx + 1]
shr r10d, 8
movzx r9d, r9b
xor r10d, dword [rax + r9*4]
mov r9d, r10d
xor r10b, byte [rdx + 2]
shr r9d, 8
movzx r10d, r10b
xor r9d, dword [rax + r10*4]
mov r10d, r9d
xor r9b, byte [rdx + 3]
shr r10d, 8
movzx r9d, r9b
xor r10d, dword [rax + r9*4]
mov r9d, r10d
xor r10b, byte [rdx + 4]
shr r9d, 8
movzx r10d, r10b
xor r9d, dword [rax + r10*4]
mov r10d, r9d
xor r9b, byte [rdx + 5]
shr r10d, 8
movzx r9d, r9b
xor r10d, dword [rax + r9*4]
mov r9d, r10d
xor r10b, byte [rdx + 6]
shr r9d, 8
movzx r10d, r10b
xor r9d, dword [rax + r10*4]
mov r10d, r9d
xor r9b, byte [rdx + 7]
shr r10d, 8
movzx r9d, r9b
xor r10d, dword [rax + r9*4]
mov r9d, r10d
xor r10b, byte [rdx + 8]
shr r9d, 8
movzx r10d, r10b
xor r9d, dword [rax + r10*4]
mov r10d, r9d
xor r9b, byte [rdx + 9]
shr r10d, 8
movzx r9d, r9b
xor r10d, dword [rax + r9*4]
mov r9d, r10d
xor r10b, byte [rdx + 0xa]
shr r9d, 8
movzx r10d, r10b
xor r9d, dword [rax + r10*4]
mov r10d, r9d
xor r9b, byte [rdx + 0xb]
shr r10d, 8
movzx r9d, r9b
xor r10d, dword [rax + r9*4]
mov r9d, r10d
xor r10b, byte [rdx + 0xc]
shr r9d, 8
movzx r10d, r10b
xor r9d, dword [rax + r10*4]
mov r10d, r9d
xor r9b, byte [rdx + 0xd]
shr r10d, 8
movzx r9d, r9b
xor r10d, dword [rax + r9*4]
mov r11d, r10d
shr r11d, 8
xor r10b, byte [rdx + 0xe]
movzx r9d, r10b
xor r11d, dword [rax + r9*4]
mov r9d, r11d
shr r9d, 8
xor r11b, byte [rdx + 0xf]
add rdx, 0x10
movzx r10d, r11b
xor r9d, dword [rax + r10*4]
mov r11d, 0xfffffff0
mov r10d, r9d
add r8d, r11d
je 0x2023fa06
shr r9d, 8
xor r10b, byte [rdx]
movzx r10d, r10b
xor r9d, dword [rax + r10*4]
cmp r8d, 0x10
jae 0x2023f8b0
inc rdx
mov r11d, 0xffffffff
jmp 0x2023f9d7
mov r9d, r10d
mov dword [rcx], r9d
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]
add rsp, 0xa8
ret