Function at 0x1400011a0
Capabilities:
Encode data using xor
Encrypt data using aes
Reference aes constants

Disassembly:
mov r11, rsp
push rbp
push rdi
push r13
mov rbp, rsp
sub rsp, 0x50
mov rax, qword [0x14006b680]
xor rax, rsp
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x48], r8
xorps xmm0, xmm0
mov qword [rbp - 0x50], rdx
mov r10, r8
mov r9, rdx
mov r13, rcx
movups xmmword [rbp - 0x40], xmm0
test r8, r8
je 0x1400014d2
mov qword [r11 + 0x18], rbx
mov edi, 0x10
mov qword [r11 - 0x20], rsi
mov qword [r11 - 0x28], r12
mov qword [r11 - 0x30], r14
mov qword [r11 - 0x38], r15
lea r11, str.cw
nop dword [rax]
cmp rdi, 0x10
jne 0x140001496
lfence
movups xmm0, xmmword [r13 + 0xf0]
lea rax, [rbp - 0x40]
mov r14, r13
sub r14, rax
lea rcx, [rbp - 0x40]
movups xmmword [rbp - 0x40], xmm0
mov edi, 4
nop dword [rax]
mov edx, 4
nop word [rax + rax]
movzx eax, byte [rcx + r14]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x140001240
sub rdi, 1
jne 0x140001230
mov r12b, 1
nop dword [rax]
lea rdi, [rbp - 0x40]
mov r8d, 4
nop word [rax + rax]
mov rcx, rdi
mov edx, 4
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 4]
movzx eax, byte [rax + r11]
mov byte [rcx - 4], al
sub rdx, 1
jne 0x140001280
inc rdi
sub r8, 1
jne 0x140001270
movzx eax, byte [rbp - 0x3b]
movzx ecx, byte [rbp - 0x3f]
mov byte [rbp - 0x3f], al
movzx eax, byte [rbp - 0x37]
mov byte [rbp - 0x3b], al
movzx eax, byte [rbp - 0x33]
mov byte [rbp - 0x37], al
movzx eax, byte [rbp - 0x36]
mov byte [rbp - 0x33], cl
movzx ecx, byte [rbp - 0x3e]
mov byte [rbp - 0x3e], al
movzx eax, byte [rbp - 0x32]
mov byte [rbp - 0x36], cl
movzx ecx, byte [rbp - 0x3a]
mov byte [rbp - 0x3a], al
movzx eax, byte [rbp - 0x31]
mov byte [rbp - 0x32], cl
movzx ecx, byte [rbp - 0x3d]
mov byte [rbp - 0x3d], al
movzx eax, byte [rbp - 0x35]
mov byte [rbp - 0x31], al
movzx eax, byte [rbp - 0x39]
mov byte [rbp - 0x35], al
mov byte [rbp - 0x39], cl
cmp r12b, 0xe
je 0x140001415
lea rsi, [rbp - 0x3f]
mov r15d, 4
nop word [rax + rax]
movzx r10d, byte [rsi - 1]
movzx edi, byte [rsi]
movzx edx, r10b
movzx ebx, byte [rsi + 2]
xor dl, dil
movzx r9d, byte [rsi + 1]
lea rsi, [rsi + 4]
movzx eax, dl
movzx r8d, bl
shr al, 7
add dl, dl
movzx eax, al
xor r8b, r9b
imul ecx, eax, 0x1b
movzx r11d, r8b
xor r11b, r10b
xor r11b, dil
xor cl, dl
movzx edx, r9b
xor cl, r10b
xor dl, dil
xor cl, r11b
movzx eax, dl
mov byte [rsi - 5], cl
add dl, dl
shr al, 7
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r8b
shr al, 7
add r8b, r8b
movzx eax, al
xor cl, dl
movzx edx, bl
xor cl, dil
xor dl, r10b
xor cl, r11b
mov byte [rsi - 4], cl
imul ecx, eax, 0x1b
movzx eax, dl
shr al, 7
add dl, dl
movzx eax, al
xor cl, r8b
xor cl, r9b
xor cl, r11b
mov byte [rsi - 3], cl
imul ecx, eax, 0x1b
xor cl, dl
xor cl, bl
xor cl, r11b
mov byte [rsi - 2], cl
sub r15, 1
jne 0x140001310
lea rax, [rbp - 0x40]
movzx edi, r12b
shl rdi, 4
mov r8d, 4
sub rdi, rax
lea rax, [rbp - 0x40]
add rdi, r13
nop word [rax + rax]
mov edx, 4
nop word [rax + rax]
movzx ecx, byte [rax + rdi]
xor byte [rax], cl
inc rax
sub rdx, 1
jne 0x1400013f0
nop
sub r8, 1
jne 0x1400013e0
inc r12b
lea r11, str.cw
jmp 0x140001260
lfence
lea rcx, [rbp - 0x40]
mov edi, 4
mov edx, 4
nop word [rax + rax]
movzx eax, byte ds:[rcx + r14 + 0xe0]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x140001430
sub rdi, 1
jne 0x140001421
mov eax, 0xf
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rax + r13 + 0xf0]
lea rdx, [rax + r13]
cmp cl, 0xff
jne 0x140001484
lfence
sub rax, 1
mov byte [rdx + 0xf0], 0
jns 0x140001460
jmp 0x14000148c
inc cl
mov byte [rdx + 0xf0], cl
mov r9, qword [rbp - 0x50]
xor edi, edi
mov r10, qword [rbp - 0x48]
movzx eax, byte [rbp + rdi - 0x40]
inc rdi
xor byte [r9], al
inc r9
sub r10, 1
mov qword [rbp - 0x50], r9
mov qword [rbp - 0x48], r10
jne 0x140001200
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x80]
lea rdi, [rbp - 0x40]
xor eax, eax
mov ecx, 0x10
rep stosb byte [rdi], al
mov rcx, qword [rbp - 0x30]
xor rcx, rsp
call fcn.14001e390
add rsp, 0x50
pop r13
pop rdi
pop rbp
ret