Function at 0x1400226a0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
movdqa xmmword [rsp + 0xc0], xmm7
movdqa xmmword [rsp + 0xb0], xmm6
mov rsi, r8
mov rax, qword [0x1404a7eb8]
xor rax, rsp
mov qword [rsp + 0xa8], rax
cmp edx, 0x100
je 0x140022a0b
cmp edx, 0xc0
je 0x1400227f8
mov edi, 1
cmp edx, 0x80
jne 0x1400227ba
mov dword [rsi + 0xf0], 0xa
movdqu xmm6, xmmword [rcx]
movdqu xmmword [rsi], xmm6
add rsi, 0x10
xor edi, edi
lea rbx, [rsp + 0x90]
lea r14, [rsp + 0x20]
lea r15, [0x14039a4d7]
xor r12d, r12d
nop word cs:[rax + rax]
movdqa xmmword [rsp + 0x20], xmm6
mov rcx, rbx
mov rdx, r14
call fcn.140056ca0
movzx eax, byte [r12 + r15]
movd xmm0, eax
movdqa xmm1, xmmword [rsp + 0x90]
movdqa xmm2, xmm1
psrld xmm2, 8
pslld xmm1, 0x18
por xmm1, xmm2
psrldq xmm1, 0xc
pxor xmm0, xmm6
pxor xmm0, xmm1
movdqa xmm1, xmm0
pslldq xmm1, 4
movdqa xmm2, xmm0
pslldq xmm2, 8
pxor xmm2, xmm1
movdqa xmm6, xmm0
pslldq xmm6, 0xc
pxor xmm6, xmm2
pxor xmm6, xmm0
movdqu xmmword [rsi], xmm6
inc r12
add rsi, 0x10
cmp r12, 0xa
jne 0x140022740
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
cmp rcx, qword [0x1404a7eb8]
jne 0x140022a05
mov eax, edi
movaps xmm6, xmmword [rsp + 0xb0]
movaps xmm7, xmmword [rsp + 0xc0]
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsi + 0xf0], send
movups xmm0, xmmword [rcx]
movaps xmmword [rsp + 0x90], xmm0
movdqu xmm0, xmmword [rcx]
movdqu xmmword [rsi], xmm0
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 0
add rsi, 0x30
lea r15, [rsp + 0x80]
lea rax, [rsp + 0x90]
xor r12d, r12d
lea rdi, [rsp + 0x70]
lea rbx, [rsp + 0x40]
lea r13, [0x14039a4d7]
pxor xmm6, xmm6
movdqa xmm7, xmmword [0x14039a1b0]
lea r14, [rsp + 0x30]
nop word cs:[rax + rax]
mov rbp, rax
movaps xmm0, xmmword [r15]
movaps xmmword [rsp + 0x40], xmm0
mov rcx, rdi
mov rdx, rbx
call fcn.140056ca0
movzx eax, byte [r13 + r12*2]
movd xmm1, eax
movdqa xmm0, xmmword [rbp]
pxor xmm1, xmm0
pslldq xmm1, 8
movdqa xmm2, xmmword [r15]
por xmm1, xmm2
movdqa xmmword [r15], xmm1
movdqa xmm3, xmmword [rsp + 0x70]
movdqa xmm4, xmm3
psrld xmm4, 8
pslld xmm3, 0x18
por xmm3, xmm4
shufps xmm3, xmm6, 0x31
pxor xmm4, xmm4
shufps xmm4, xmm3, 0x84
xorps xmm4, xmm1
pshufd xmm1, xmm4, 0xaa
pand xmm1, xmm7
pxor xmm1, xmm4
movdqa xmmword [r15], xmm1
shufps xmm0, xmm2, 0x4e
psrldq xmm1, 0xc
pxor xmm1, xmm0
movdqa xmm0, xmm1
movdqa xmm2, xmm1
pslldq xmm2, 0xc
pxor xmm2, xmm1
pslldq xmm1, 4
pslldq xmm0, 8
pxor xmm0, xmm1
pxor xmm2, xmm0
movdqa xmmword [rbp], xmm2
movups xmm0, xmmword [r15]
movups xmmword [rsi - 0x20], xmm0
movups xmm0, xmmword [rbp]
movups xmmword [rsi - 0x10], xmm0
movaps xmm0, xmmword [rbp]
movaps xmmword [rsp + 0x30], xmm0
mov rcx, rdi
mov rdx, r14
call fcn.140056ca0
movzx eax, byte [r13 + r12*2 + 1]
movaps xmm1, xmmword [r15]
movaps xmm0, xmmword [rbp]
shufps xmm1, xmm0, 0x4e
movd xmm2, eax
pxor xmm2, xmm1
movdqa xmmword [r15], xmm2
movdqa xmm1, xmmword [rsp + 0x70]
movdqa xmm3, xmm1
psrld xmm3, 8
pslld xmm1, 0x18
por xmm1, xmm3
psrldq xmm1, 0xc
pxor xmm1, xmm2
movdqa xmm2, xmm1
pslldq xmm2, 4
movdqa xmm3, xmm1
pslldq xmm3, 8
pxor xmm3, xmm2
movdqa xmm2, xmm1
pslldq xmm2, 0xc
pxor xmm2, xmm3
pxor xmm2, xmm1
movdqa xmmword [r15], xmm2
psrldq xmm0, 8
psrldq xmm2, 0xc
pxor xmm2, xmm0
movdqa xmm0, xmm2
psllq xmm0, 0x20
pxor xmm0, xmm2
movdqa xmmword [rbp], xmm0
movdqu xmm0, xmmword [r15]
movdqu xmmword [rsi], xmm0
inc r12
add rsi, 0x30
mov rax, r15
mov r15, rbp
cmp r12, 4
jne 0x140022870
xor edi, edi
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
cmp rcx, qword [0x1404a7eb8]
je 0x1400227d2
call fcn.14029fd30
int3
mov dword [rsi + 0xf0], send
movdqu xmm7, xmmword [rcx]
movdqu xmmword [rsi], xmm7
movdqu xmm6, xmmword [rcx + 0x10]
movdqu xmmword [rsi + 0x10], xmm6
mov r15d, 0x30
lea r12, [0x14039a4d7]
lea rdi, [rsp + 0x90]
lea rbx, [rsp + 0x60]
lea r14, [rsp + 0x50]
nop word cs:[rax + rax]
movdqa xmmword [rsp + 0x60], xmm6
mov rcx, rdi
mov rdx, rbx
call fcn.140056ca0
movzx eax, byte [r12]
movd xmm0, eax
pxor xmm0, xmm7
movdqa xmm1, xmmword [rsp + 0x90]
movdqa xmm2, xmm1
psrld xmm2, 8
pslld xmm1, 0x18
por xmm1, xmm2
psrldq xmm1, 0xc
pxor xmm1, xmm0
movdqa xmm0, xmm1
pslldq xmm0, 4
movdqa xmm2, xmm1
pslldq xmm2, 8
pxor xmm2, xmm0
movdqa xmm7, xmm1
pslldq xmm7, 0xc
pxor xmm7, xmm2
pxor xmm7, xmm1
movdqu xmmword [rsi + r15 - 0x10], xmm7
cmp r15, 0xf0
je 0x1400229eb
movdqa xmmword [rsp + 0x50], xmm7
mov rcx, rdi
mov rdx, r14
call fcn.140056ca0
movdqa xmm0, xmmword [rsp + 0x90]
psrldq xmm0, 0xc
pxor xmm6, xmm0
movdqa xmm0, xmm6
pslldq xmm0, 4
movdqa xmm1, xmm6
pslldq xmm1, 8
pxor xmm1, xmm0
movdqa xmm0, xmm6
pslldq xmm0, 0xc
pxor xmm0, xmm1
pxor xmm6, xmm0
movdqu xmmword [rsi + r15], xmm6
add r15, 0x20
inc r12
jmp 0x140022a50