Function at 0x14022f4c0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x108
movaps xmmword [rsp + 0xf0], xmm8
movdqa xmmword [rsp + 0xe0], xmm7
movaps xmmword [rsp + 0xd0], xmm6
mov rsi, r8
mov rax, qword [0x1403a0028]
xor rax, rsp
mov qword [rsp + 0xc8], rax
cmp edx, 0x100
je 0x14022f600
cmp edx, 0xc0
je 0x14022f75c
mov r12d, 1
cmp edx, 0x80
jne 0x14022f996
mov dword [rsi + 0xf0], 0xa
movdqu xmm7, xmmword [rcx]
movdqu xmmword [rsi], xmm7
lea rbx, [rsp + 0x50]
add rsi, 0x10
xor r12d, r12d
xorps xmm6, xmm6
lea r14, [rsp + 0x40]
lea r15, [0x14033bc00]
xor edi, edi
movaps xmmword [rbx + 0x60], xmm6
movaps xmmword [rbx + 0x50], xmm6
movaps xmmword [rbx + 0x40], xmm6
movaps xmmword [rbx + 0x30], xmm6
movaps xmmword [rbx + 0x20], xmm6
movaps xmmword [rbx + 0x10], xmm6
movaps xmmword [rbx], xmm6
movdqa xmmword [rsp + 0x40], xmm7
mov rcx, r14
call fcn.140241eb0
mov rcx, r14
call fcn.140242120
mov rcx, r14
call fcn.140241eb0
movdqa xmm1, xmmword [rsp + 0x40]
movzx eax, byte [rdi + r15]
movd xmm0, eax
movdqa xmm2, xmm1
psrld xmm2, 8
pslld xmm1, 0x18
por xmm1, xmm2
psrldq xmm1, 0xc
pxor xmm0, xmm7
pxor xmm0, xmm1
movdqa xmm1, xmm0
pslldq xmm1, 4
pxor xmm1, xmm0
movdqa xmm2, xmm0
pslldq xmm2, 8
pslldq xmm0, 0xc
pxor xmm0, xmm2
pxor xmm0, xmm1
movdqu xmmword [rsi], xmm0
inc rdi
add rsi, 0x10
movdqa xmm7, xmm0
cmp rdi, 0xa
jne 0x14022f558
jmp 0x14022f996
mov dword [rsi + 0xf0], reloc.WS2_32.dll_ntohl
movdqu xmm7, xmmword [rcx]
movdqu xmmword [rsi], xmm7
movdqu xmm6, xmmword [rcx + 0x10]
movdqu xmmword [rsi + 0x10], xmm6
lea rbx, [rsp + 0x50]
mov edi, 0x30
lea r15, [0x14033bc00]
xorps xmm8, xmm8
lea r14, [rsp + 0x40]
movaps xmmword [rbx + 0x60], xmm8
movaps xmmword [rbx + 0x50], xmm8
movaps xmmword [rbx + 0x40], xmm8
movaps xmmword [rbx + 0x30], xmm8
movaps xmmword [rbx + 0x20], xmm8
movaps xmmword [rbx + 0x10], xmm8
movaps xmmword [rbx], xmm8
movdqa xmmword [rsp + 0x40], xmm6
mov rcx, r14
call fcn.140241eb0
mov rcx, r14
call fcn.140242120
mov rcx, r14
call fcn.140241eb0
movzx eax, byte [r15]
movd xmm0, eax
pxor xmm0, xmm7
movdqa xmm7, xmmword [rsp + 0x40]
movdqa xmm1, xmm7
psrld xmm1, 8
pslld xmm7, 0x18
por xmm7, xmm1
psrldq xmm7, 0xc
pxor xmm7, xmm0
movdqa xmm0, xmm7
pslldq xmm0, 4
pxor xmm0, xmm7
movdqa xmm1, xmm7
pslldq xmm1, 8
pslldq xmm7, 0xc
pxor xmm7, xmm1
pxor xmm7, xmm0
movdqu xmmword [rsi + rdi - 0x10], xmm7
cmp rdi, 0xf0
je 0x14022f993
movaps xmmword [rbx + 0x60], xmm8
movaps xmmword [rbx + 0x50], xmm8
movaps xmmword [rbx + 0x40], xmm8
movaps xmmword [rbx + 0x30], xmm8
movaps xmmword [rbx + 0x20], xmm8
movaps xmmword [rbx + 0x10], xmm8
movaps xmmword [rbx], xmm8
movdqa xmmword [rsp + 0x40], xmm7
mov rcx, r14
call fcn.140241eb0
mov rcx, r14
call fcn.140242120
mov rcx, r14
call fcn.140241eb0
movdqa xmm0, xmmword [rsp + 0x40]
psrldq xmm0, 0xc
pxor xmm6, xmm0
movdqa xmm0, xmm6
pslldq xmm0, 4
pxor xmm0, xmm6
movdqa xmm1, xmm6
pslldq xmm1, 8
pslldq xmm6, 0xc
pxor xmm6, xmm1
pxor xmm6, xmm0
movdqu xmmword [rsi + rdi], xmm6
add rdi, 0x20
inc r15
jmp 0x14022f636
mov dword [rsi + 0xf0], ntohl
movups xmm0, xmmword [rcx]
lea rax, [rsp + 0x30]
movaps xmmword [rax], xmm0
movdqu xmm0, xmmword [rcx]
movdqu xmmword [rsi], xmm0
mov rcx, qword [rcx + 0x10]
lea rbx, [rsp + 0x20]
mov qword [rbx], rcx
mov qword [rbx + 8], 0
add rsi, 0x30
xor edi, edi
xorps xmm6, xmm6
lea r14, [rsp + 0x40]
lea r15, [0x14033bc00]
movdqa xmm7, xmmword [0x14033b080]
mov r12, rax
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm6
movaps xmm0, xmmword [rbx]
movaps xmmword [rsp + 0x40], xmm0
mov rcx, r14
call fcn.140241eb0
mov rcx, r14
call fcn.140242120
mov rcx, r14
call fcn.140241eb0
movdqa xmm0, xmmword [rsp + 0x40]
movzx eax, byte [r15 + rdi*2]
movd xmm1, eax
movdqa xmm2, xmmword [r12]
pxor xmm1, xmm2
pslldq xmm1, 8
por xmm1, xmmword [rbx]
movdqa xmm3, xmm0
psrld xmm3, 8
pslld xmm0, 0x18
por xmm0, xmm3
shufps xmm0, xmm6, 0x31
pxor xmm3, xmm3
shufps xmm3, xmm0, 0x84
xorps xmm3, xmm1
pshufd xmm0, xmm3, 0xaa
pand xmm0, xmm7
pxor xmm0, xmm3
movdqa xmmword [rbx], xmm0
shufps xmm2, xmm1, 0x4e
psrldq xmm0, 0xc
pxor xmm0, xmm2
movdqa xmm1, xmm0
pslldq xmm1, 4
pxor xmm1, xmm0
movdqa xmm2, xmm0
pslldq xmm2, 8
pslldq xmm0, 0xc
pxor xmm0, xmm2
pxor xmm0, xmm1
movdqa xmmword [r12], xmm0
movups xmm0, xmmword [rbx]
movups xmmword [rsi - 0x20], xmm0
movups xmm0, xmmword [r12]
movups xmmword [rsi - 0x10], xmm0
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm6
movaps xmm0, xmmword [r12]
movaps xmmword [rsp + 0x40], xmm0
mov rcx, r14
call fcn.140241eb0
mov rcx, r14
call fcn.140242120
mov rcx, r14
call fcn.140241eb0
movdqa xmm0, xmmword [rsp + 0x40]
movzx eax, byte [r15 + rdi*2 + 1]
movaps xmm2, xmmword [rbx]
movaps xmm1, xmmword [r12]
shufps xmm2, xmm1, 0x4e
movd xmm3, eax
pxor xmm3, xmm2
movdqa xmm2, xmm0
psrld xmm2, 8
pslld xmm0, 0x18
por xmm0, xmm2
psrldq xmm0, 0xc
pxor xmm0, xmm3
movdqa xmm2, xmm0
pslldq xmm2, 4
pxor xmm2, xmm0
movdqa xmm3, xmm0
pslldq xmm3, 8
pslldq xmm0, 0xc
pxor xmm0, xmm3
pxor xmm0, xmm2
movdqa xmmword [rbx], xmm0
psrldq xmm1, 8
psrldq xmm0, 0xc
pxor xmm0, xmm1
movdqa xmm1, xmm0
psllq xmm1, 0x20
pxor xmm1, xmm0
movdqa xmmword [r12], xmm1
movdqu xmm0, xmmword [rbx]
movdqu xmmword [rsi], xmm0
inc rdi
add rsi, 0x30
mov rax, rbx
mov rbx, r12
cmp rdi, 4
jne 0x14022f7aa
xor r12d, r12d
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.1401bb0d0
mov eax, r12d
movaps xmm6, xmmword [rsp + 0xd0]
movaps xmm7, xmmword [rsp + 0xe0]
movaps xmm8, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret