Function at 0x1401d8e80
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 [0x14029a048]
xor rax, rsp
mov qword [rsp + 0xc8], rax
cmp edx, 0x100
je 0x1401d8fc0
cmp edx, 0xc0
je 0x1401d9124
mov r12d, 1
cmp edx, 0x80
jne 0x1401d9362
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, [0x140264510]
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.1401d9f50
mov rcx, r14
call fcn.1401da1c0
mov rcx, r14
call fcn.1401d9f50
movdqa xmm0, xmmword [rsp + 0x40]
movzx eax, byte [rdi + r15]
movd xmm1, eax
movdqa xmm2, xmm0
psrld xmm2, 8
pslld xmm0, 0x18
por xmm0, xmm2
psrldq xmm0, 0xc
pxor xmm1, xmm7
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], xmm7
inc rdi
add rsi, 0x10
cmp rdi, 0xa
jne 0x1401d8f18
jmp 0x1401d9362
mov dword [rsi + 0xf0], 0xe
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, [0x140264510]
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.1401d9f50
mov rcx, r14
call fcn.1401da1c0
mov rcx, r14
call fcn.1401d9f50
movdqa xmm0, xmmword [rsp + 0x40]
movzx eax, byte [r15]
movd xmm1, eax
pxor xmm1, xmm7
movdqa xmm2, xmm0
psrld xmm2, 8
pslld xmm0, 0x18
por xmm0, xmm2
psrldq xmm0, 0xc
pxor xmm0, xmm1
movdqa xmm1, xmm0
pslldq xmm1, 4
movdqa xmm2, xmm0
pslldq xmm2, 8
pxor xmm2, xmm1
movdqa xmm7, xmm0
pslldq xmm7, 0xc
pxor xmm7, xmm2
pxor xmm7, xmm0
movdqu xmmword [rsi + rdi - 0x10], xmm7
cmp rdi, 0xf0
je 0x1401d935f
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.1401d9f50
mov rcx, r14
call fcn.1401da1c0
mov rcx, r14
call fcn.1401d9f50
movdqa xmm0, xmmword [rsp + 0x40]
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 + rdi], xmm6
add rdi, 0x20
inc r15
jmp 0x1401d8ff6
mov dword [rsi + 0xf0], 0xc
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, [0x140264510]
movdqa xmm7, xmmword [0x140264410]
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.1401d9f50
mov rcx, r14
call fcn.1401da1c0
mov rcx, r14
call fcn.1401d9f50
movzx eax, byte [r15 + rdi*2]
movd xmm0, eax
movdqa xmm1, xmmword [r12]
pxor xmm0, xmm1
pslldq xmm0, 8
por xmm0, xmmword [rbx]
movdqa xmm2, xmmword [rsp + 0x40]
movdqa xmm3, xmm2
psrld xmm3, 8
pslld xmm2, 0x18
por xmm2, xmm3
shufps xmm2, xmm6, 0x31
pxor xmm3, xmm3
shufps xmm3, xmm2, 0x84
xorps xmm3, xmm0
pshufd xmm2, xmm3, 0xaa
pand xmm2, xmm7
pxor xmm2, xmm3
movdqa xmmword [rbx], xmm2
shufps xmm1, xmm0, 0x4e
psrldq xmm2, 0xc
pxor xmm2, xmm1
movdqa xmm0, xmm2
movdqa xmm1, xmm2
pslldq xmm1, 0xc
pxor xmm1, xmm2
pslldq xmm2, 4
pslldq xmm0, 8
pxor xmm0, xmm2
pxor xmm1, xmm0
movdqa xmmword [r12], xmm1
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.1401d9f50
mov rcx, r14
call fcn.1401da1c0
mov rcx, r14
call fcn.1401d9f50
movdqa xmm1, xmmword [rsp + 0x40]
movzx eax, byte [r15 + rdi*2 + 1]
movaps xmm2, xmmword [rbx]
movaps xmm0, xmmword [r12]
shufps xmm2, xmm0, 0x4e
movd xmm3, eax
pxor xmm3, xmm2
movdqa xmm2, xmm1
psrld xmm2, 8
pslld xmm1, 0x18
por xmm1, xmm2
psrldq xmm1, 0xc
pxor xmm1, xmm3
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 [rbx], xmm2
psrldq xmm0, 8
psrldq xmm2, 0xc
pxor xmm2, xmm0
movdqa xmm0, xmm2
psllq xmm0, 0x20
pxor xmm0, xmm2
movdqa xmmword [r12], xmm0
movdqu xmm0, xmmword [rbx]
movdqu xmmword [rsi], xmm0
inc rdi
add rsi, 0x30
mov rax, rbx
mov rbx, r12
cmp rdi, 4
jne 0x1401d9172
xor r12d, r12d
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.140116250
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