Function at 0x140023ff0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe0
movdqa xmmword [rsp + 0xd0], xmm15
movdqa xmmword [rsp + 0xc0], xmm14
movdqa xmmword [rsp + 0xb0], xmm13
movdqa xmmword [rsp + 0xa0], xmm12
movdqa xmmword [rsp + 0x90], xmm11
movdqa xmmword [rsp + 0x80], xmm10
movdqa xmmword [rsp + 0x70], xmm9
movdqa xmmword [rsp + 0x60], xmm8
movdqa xmmword [rsp + 0x50], xmm7
movdqa xmmword [rsp + 0x40], xmm6
test r8, r8
je 0x140024456
cmp r8, 1
je 0x140024466
mov rbx, rdx
mov rsi, rcx
movzx ebp, byte [rdx]
movzx r14d, byte [rdx + 1]
lea rdi, [r8 - 2]
cmp r8, 2
jne 0x14002408a
mov eax, 1
xor ecx, ecx
jmp 0x14002448e
jl 0x14002447c
movzx eax, byte [0x1402dd3d1]
mov edx, 1
mov rcx, rdi
call fcn.14002bea0
test rax, rax
je 0x140024481
movzx ecx, r14b
movzx edx, bpl
cmp rdi, 8
jae 0x1400240c3
xor r8d, r8d
jmp 0x1400244fe
cmp rdi, 0x10
jae 0x1400240d1
xor r8d, r8d
jmp 0x1400242fd
mov r8, rdi
and r8, 0xfffffffffffffff0
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmmword [rsp + 0x30], xmm0
movd xmm1, edx
punpcklbw xmm1, xmm1
pshuflw xmm1, xmm1, 0
pshufd xmm0, xmm1, 0
movdqa xmmword [rsp + 0x20], xmm0
movdqa xmm2, xmmword [0x1401f8600]
movdqa xmm3, xmmword [0x1401f8610]
movdqa xmm4, xmmword [0x1401f8620]
movdqa xmm5, xmmword [0x1401f8630]
movdqa xmm6, xmmword [0x1401f8640]
movdqa xmm7, xmmword [0x1401f8650]
movdqa xmm0, xmmword [0x1401f8660]
movdqa xmm1, xmmword [0x1401f7690]
xor r9d, r9d
movdqa xmm10, xmmword [0x1401f8670]
pxor xmm11, xmm11
movdqa xmm12, xmmword [0x1401f8680]
nop word cs:[rax + rax]
movdqa xmm14, xmm2
pand xmm14, xmm10
movdqa xmm15, xmm6
pand xmm15, xmm10
movdqa xmm8, xmm0
pand xmm8, xmm10
movdqa xmm9, xmm1
pand xmm9, xmm10
pcmpeqd xmm9, xmm11
pshufd xmm13, xmm9, 0xb1
pand xmm13, xmm9
pcmpeqd xmm8, xmm11
pshufd xmm9, xmm8, 0xb1
pand xmm9, xmm8
movdqa xmm8, xmm7
pand xmm8, xmm10
packssdw xmm13, xmm9
pcmpeqd xmm8, xmm11
pshufd xmm9, xmm8, 0xb1
pand xmm9, xmm8
pcmpeqd xmm15, xmm11
pshufd xmm8, xmm15, 0xb1
pand xmm8, xmm15
movdqa xmm15, xmm4
pand xmm15, xmm10
packssdw xmm9, xmm8
movdqa xmm8, xmm5
pand xmm8, xmm10
packssdw xmm13, xmm9
pcmpeqd xmm8, xmm11
pshufd xmm9, xmm8, 0xb1
pand xmm9, xmm8
pcmpeqd xmm15, xmm11
pshufd xmm8, xmm15, 0xb1
pand xmm8, xmm15
movdqa xmm15, xmm3
pand xmm15, xmm10
packssdw xmm9, xmm8
pcmpeqd xmm15, xmm11
pshufd xmm8, xmm15, 0xb1
pand xmm8, xmm15
pcmpeqd xmm14, xmm11
pshufd xmm15, xmm14, 0xb1
pand xmm15, xmm14
packssdw xmm8, xmm15
packssdw xmm9, xmm8
packsswb xmm13, xmm9
movdqa xmm8, xmm13
movdqa xmm15, xmmword [rsp + 0x20]
pandn xmm8, xmm15
movdqa xmm14, xmmword [rsp + 0x30]
movdqa xmm9, xmm14
pand xmm9, xmm13
por xmm9, xmm8
movdqu xmm8, xmmword [rbx + r9 + 2]
pxor xmm9, xmm8
movdqa xmm8, xmm15
pand xmm8, xmm13
pandn xmm13, xmm14
por xmm13, xmm8
psubb xmm9, xmm13
movdqu xmmword [rax + r9], xmm9
add r9, 0x10
paddq xmm1, xmm12
paddq xmm0, xmm12
paddq xmm7, xmm12
paddq xmm6, xmm12
paddq xmm5, xmm12
paddq xmm4, xmm12
paddq xmm3, xmm12
paddq xmm2, xmm12
cmp r8, r9
jne 0x140024170
cmp rdi, r8
je 0x140024524
test dil, 8
je 0x1400244fe
mov r9, r8
mov r8, rdi
and r8, 0xfffffffffffffff8
movq xmm0, r9
pshufd xmm0, xmm0, 0x44
movdqa xmm1, xmmword [0x1401f8640]
por xmm1, xmm0
movdqa xmm2, xmmword [0x1401f8650]
por xmm2, xmm0
movdqa xmm3, xmmword [0x1401f8660]
por xmm3, xmm0
por xmm0, xmmword [0x1401f7690]
movd xmm4, ecx
punpcklbw xmm4, xmm4
pshuflw xmm4, xmm4, 0
movd xmm5, edx
punpcklbw xmm5, xmm5
pshuflw xmm5, xmm5, 0
movdqa xmm6, xmmword [0x1401f8670]
pxor xmm7, xmm7
movdqa xmm8, xmmword [0x1401f8690]
nop dword [rax]
movq xmm9, qword [rbx + r9 + 2]
movdqa xmm11, xmm1
pand xmm11, xmm6
movdqa xmm12, xmm2
pand xmm12, xmm6
movdqa xmm13, xmm3
pand xmm13, xmm6
movdqa xmm14, xmm0
pand xmm14, xmm6
pcmpeqd xmm14, xmm7
pshufd xmm10, xmm14, 0xb1
pand xmm10, xmm14
pcmpeqd xmm13, xmm7
pshufd xmm14, xmm13, 0xb1
pand xmm14, xmm13
packssdw xmm10, xmm14
pcmpeqd xmm12, xmm7
pshufd xmm13, xmm12, 0xb1
pand xmm13, xmm12
pcmpeqd xmm11, xmm7
pshufd xmm12, xmm11, 0xb1
pand xmm12, xmm11
packssdw xmm13, xmm12
packssdw xmm10, xmm13
packsswb xmm10, xmm10
movdqa xmm11, xmm10
pandn xmm11, xmm5
movdqa xmm12, xmm4
pand xmm12, xmm10
por xmm12, xmm11
pxor xmm12, xmm9
movdqa xmm9, xmm5
pand xmm9, xmm10
pandn xmm10, xmm4
por xmm10, xmm9
psubb xmm12, xmm10
movq qword [rax + r9], xmm12
add r9, 8
paddq xmm0, xmm8
paddq xmm3, xmm8
paddq xmm2, xmm8
paddq xmm1, xmm8
cmp r8, r9
jne 0x140024370
jmp 0x14002451f
lea r8, str.srcmain.rs
xor ecx, ecx
xor edx, edx
call fcn.1401eda70
lea r8, str.srcmain.rs
mov ecx, 1
mov edx, 1
call fcn.1401eda70
call fcn.1401cf470
mov ecx, 1
mov rdx, rdi
call fcn.1401ed650
mov qword [rsi], rdi
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rcx
mov byte [rsi + 0x18], bpl
mov byte [rsi + 0x19], r14b
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x40]
movaps xmm7, xmmword [rsp + 0x50]
movaps xmm8, xmmword [rsp + 0x60]
movaps xmm9, xmmword [rsp + 0x70]
movaps xmm10, xmmword [rsp + 0x80]
movaps xmm11, xmmword [rsp + 0x90]
movaps xmm12, xmmword [rsp + 0xa0]
movaps xmm13, xmmword [rsp + 0xb0]
movaps xmm14, xmmword [rsp + 0xc0]
movaps xmm15, xmmword [rsp + 0xd0]
add rsp, 0xe0
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
test r8b, 1
mov r9d, edx
cmove r9d, ecx
mov r10d, ecx
cmove r10d, edx
xor r9b, byte [rbx + r8 + 2]
sub r9b, r10b
mov byte [rax + r8], r9b
inc r8
cmp rdi, r8
jne 0x1400244fe
mov rcx, rdi
jmp 0x14002448e