Function at 0x1400021c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x28
movzx eax, byte [rcx + 0xd]
xor r8d, r8d
movzx edx, byte [rcx + 1]
movzx r9d, byte [rcx + 2]
movzx r10d, byte [rcx + 3]
movzx r11d, byte [rcx + 4]
movzx ebx, byte [rcx + 5]
movzx edi, byte [rcx + 6]
movzx esi, byte [rcx + 7]
movzx ebp, byte [rcx + 8]
movzx r14d, byte [rcx + 9]
movzx r15d, byte [rcx + 0xa]
movzx r12d, byte [rcx + 0xb]
movzx r13d, byte [rcx + 0xc]
mov byte [rsp + 0x80], al
movzx eax, byte [rcx + 0xe]
mov byte [rsp + 0x88], al
movzx eax, byte [rcx + 0xf]
mov byte [rsp], al
movzx eax, byte [rcx + 0x10]
mov byte [rsp + 1], al
movzx eax, byte [rcx + 0x11]
mov byte [rsp + 2], al
movzx eax, byte [rcx + 0x12]
mov byte [rsp + 3], al
movzx eax, byte [rcx + 0x13]
mov byte [rsp + 4], al
movzx eax, byte [rcx + 0x14]
mov byte [rsp + 5], al
movzx eax, byte [rcx + 0x15]
mov byte [rsp + 6], al
movzx eax, byte [rcx + 0x16]
mov byte [rsp + 7], al
movzx eax, byte [rcx + 0x17]
mov byte [rsp + 8], al
movzx eax, byte [rcx + 0x18]
mov byte [rsp + 9], al
movzx eax, byte [rcx + 0x19]
mov byte [rsp + 0xa], al
movzx eax, byte [rcx + 0x1a]
mov byte [rsp + 0xb], al
movzx eax, byte [rcx + 0x1b]
mov byte [rsp + 0xc], al
movzx eax, byte [rcx + 0x1c]
mov byte [rsp + 0xd], al
movzx eax, byte [rcx + 0x1d]
mov byte [rsp + 0xe], al
movzx eax, byte [rcx + 0x1e]
mov byte [rsp + 0xf], al
movzx eax, byte [rcx + 0x1f]
mov rcx, qword [rsp + 0x78]
mov byte [rsp + 0x10], al
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
inc r8
xor byte [rsp + 0x80], al
xor dl, al
xor byte [rsp + 0x88], al
xor r9b, al
xor byte [rsp], al
xor r10b, al
xor byte [rsp + 1], al
xor r11b, al
xor byte [rsp + 2], al
xor bl, al
xor byte [rsp + 3], al
xor dil, al
xor byte [rsp + 4], al
xor sil, al
xor byte [rsp + 5], al
xor bpl, al
xor byte [rsp + 6], al
xor r14b, al
xor byte [rsp + 7], al
xor r15b, al
xor byte [rsp + 8], al
xor r12b, al
xor byte [rsp + 9], al
xor r13b, al
xor byte [rsp + 0xa], al
xor byte [rsp + 0xb], al
xor byte [rsp + 0xc], al
xor byte [rsp + 0xd], al
xor byte [rsp + 0xe], al
xor byte [rsp + 0xf], al
xor byte [rsp + 0x10], al
cmp r8, 0x10
jl 0x1400022c0
mov rcx, qword [rsp + 0x70]
movzx eax, byte [rsp + 0x80]
movdqa xmm3, xmmword [0x140004570]
movdqa xmm1, xmm3
mov byte [rcx + 0xd], al
movzx eax, byte [rsp + 0x88]
mov byte [rcx + 0xe], al
movzx eax, byte [rsp]
mov byte [rcx + 0xf], al
movzx eax, byte [rsp + 1]
mov byte [rcx + 0x10], al
movzx eax, byte [rsp + 2]
mov byte [rcx + 0x11], al
movzx eax, byte [rsp + 3]
mov byte [rcx + 0x12], al
movzx eax, byte [rsp + 4]
mov byte [rcx + 0x13], al
movzx eax, byte [rsp + 5]
mov byte [rcx + 0x14], al
movzx eax, byte [rsp + 6]
mov byte [rcx + 0x15], al
movzx eax, byte [rsp + 7]
mov byte [rcx + 0x16], al
movzx eax, byte [rsp + 8]
mov byte [rcx + 0x17], al
movzx eax, byte [rsp + 9]
mov byte [rcx + 0x18], al
movzx eax, byte [rsp + 0xa]
mov byte [rcx + 0x19], al
movzx eax, byte [rsp + 0xb]
mov byte [rcx + 0x1a], al
movzx eax, byte [rsp + 0xc]
mov byte [rcx + 0x1b], al
movzx eax, byte [rsp + 0xd]
mov byte [rcx + 0x1c], al
movzx eax, byte [rsp + 0xe]
mov byte [rcx + 0x1d], al
movzx eax, byte [rsp + 0xf]
mov byte [rcx + 0x1e], al
movzx eax, byte [rsp + 0x10]
mov byte [rcx + 0x1f], al
mov byte [rcx + 1], dl
mov byte [rcx + 2], r9b
mov byte [rcx + 3], r10b
mov byte [rcx + 4], r11b
mov byte [rcx + 5], bl
mov byte [rcx + 6], dil
mov byte [rcx + 7], sil
mov byte [rcx + 8], bpl
mov byte [rcx + 9], r14b
mov byte [rcx + 0xa], r15b
mov byte [rcx + 0xb], r12b
mov byte [rcx + 0xc], r13b
movsx eax, byte [rcx]
movdqu xmm0, xmmword [rcx]
paddb xmm0, xmm3
movd xmm2, eax
mov rax, qword [rsp + 0x78]
punpcklbw xmm2, xmm2
movdqu xmmword [rcx], xmm0
movdqu xmm0, xmmword [rcx + 0x10]
punpcklwd xmm2, xmm2
paddb xmm1, xmm0
pshufd xmm2, xmm2, 0
movdqu xmm0, xmmword [rax]
movdqu xmmword [rcx + 0x10], xmm1
xorps xmm2, xmm0
paddb xmm2, xmm3
movdqu xmmword [rax], xmm2
add rsp, 0x28
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret