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

Disassembly:
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x28
mov rbx, rcx
shl r8b, 2
add r8b, 0xa
lea r15, [0x140004490]
movzx r9d, r8b
mov ecx, r9d
shl rcx, 4
add rcx, rdx
movzx eax, byte [rcx]
xor byte [rbx], al
movzx eax, byte [rcx + 1]
xor byte [rbx + 1], al
movzx eax, byte [rcx + 2]
xor byte [rbx + 2], al
movzx eax, byte [rcx + 3]
xor byte [rbx + 3], al
movzx eax, byte [rcx + 4]
xor byte [rbx + 4], al
movzx eax, byte [rcx + 5]
xor byte [rbx + 5], al
movzx eax, byte [rcx + 6]
xor byte [rbx + 6], al
movzx eax, byte [rcx + 7]
xor byte [rbx + 7], al
movzx eax, byte [rcx + 8]
xor byte [rbx + 8], al
movzx eax, byte [rcx + 9]
xor byte [rbx + 9], al
movzx eax, byte [rcx + 0xa]
xor byte [rbx + 0xa], al
movzx eax, byte [rcx + 0xb]
xor byte [rbx + 0xb], al
movzx eax, byte [rcx + 0xc]
xor byte [rbx + 0xc], al
movzx eax, byte [rcx + 0xd]
xor byte [rbx + 0xd], al
movzx eax, byte [rcx + 0xe]
xor byte [rbx + 0xe], al
movzx eax, byte [rcx + 0xf]
xor byte [rbx + 0xf], al
dec r9b
mov qword [rsp + 0x88], r9
nop
movzx ecx, byte [rbx + 0xd]
movzx r8d, byte [rbx + 5]
movzx edx, byte [rbx + 1]
movzx edi, byte [rbx + 2]
movzx r10d, byte [rbx + 9]
movzx r9d, byte [rbx + 0xa]
movzx esi, byte [rbx + 6]
movzx r11d, byte [rbx + 0xe]
movzx r13d, byte [rbx + 3]
movzx ebp, byte [rbx + 7]
movzx r14d, byte [rbx + 0xb]
movzx r12d, byte [rbx + 0xf]
movzx eax, byte [rbx]
movzx eax, byte [rax + r15]
mov byte [rbx], al
mov byte [rsp + 0x80], al
movzx eax, byte [rbx + 4]
movzx eax, byte [rax + r15]
mov byte [rbx + 4], al
mov byte [rsp + 0x70], al
movzx eax, byte [rbx + 8]
movzx eax, byte [rax + r15]
mov byte [rbx + 8], al
movzx eax, byte [rbx + 0xc]
movzx eax, byte [rax + r15]
movzx r15d, byte [rcx + r15]
mov byte [rbx + 0xc], al
mov eax, edx
mov byte [rbx + 1], r15b
lea rdx, [0x140004490]
movzx ecx, byte [rbp + rdx]
mov byte [rbx + 3], cl
movzx eax, byte [rax + rdx]
mov byte [rbx + 5], al
movzx eax, byte [r8 + rdx]
movzx r8d, byte [r9 + rdx]
mov byte [rbx + 9], al
movzx eax, byte [r10 + rdx]
mov byte [rbx + 0xd], al
movzx eax, byte [r11 + rdx]
mov byte [rbx + 6], al
movzx eax, byte [rdi + rdx]
mov rdi, qword [rsp + 0x88]
mov byte [rbx + 0xa], al
movzx eax, byte [rsi + rdx]
mov byte [rbx + 0xe], al
movzx eax, byte [r14 + rdx]
mov byte [rbx + 7], al
movzx eax, byte [r12 + rdx]
mov byte [rbx + 0xb], al
movzx eax, byte [r13 + rdx]
mov rdx, qword [rsp + 0x78]
mov byte [rbx + 0xf], al
mov byte [rbx + 2], r8b
movzx eax, dil
shl rax, 4
add rdx, rax
movzx eax, byte [rsp + 0x80]
xor al, byte [rdx]
mov byte [rbx], al
xor r15b, byte [rdx + 1]
movzx eax, byte [rsp + 0x70]
mov byte [rbx + 1], r15b
xor r8b, byte [rdx + 2]
mov byte [rbx + 2], r8b
xor cl, byte [rdx + 3]
mov byte [rbx + 3], cl
xor al, byte [rdx + 4]
mov byte [rbx + 4], al
movzx eax, byte [rdx + 5]
xor byte [rbx + 5], al
movzx eax, byte [rdx + 6]
xor byte [rbx + 6], al
movzx eax, byte [rdx + 7]
xor byte [rbx + 7], al
movzx eax, byte [rdx + 8]
xor byte [rbx + 8], al
movzx eax, byte [rdx + 9]
xor byte [rbx + 9], al
movzx eax, byte [rdx + 0xa]
xor byte [rbx + 0xa], al
movzx eax, byte [rdx + 0xb]
mov rcx, rbx
xor byte [rbx + 0xb], al
movzx eax, byte [rdx + 0xc]
xor byte [rbx + 0xc], al
movzx eax, byte [rdx + 0xd]
xor byte [rbx + 0xd], al
movzx eax, byte [rdx + 0xe]
xor byte [rbx + 0xe], al
movzx eax, byte [rdx + 0xf]
xor byte [rbx + 0xf], al
call fcn.140001170
add dil, 0xff
lea r15, [0x140004490]
mov qword [rsp + 0x88], rdi
jne 0x1400014b0
movzx ecx, byte [rbx + 0xd]
lea r14, [0x140004490]
movzx r8d, byte [rbx + 5]
movzx edx, byte [rbx + 1]
movzx r10d, byte [rbx + 9]
movzx edi, byte [rbx + 2]
movzx r9d, byte [rbx + 0xa]
movzx esi, byte [rbx + 6]
movzx r11d, byte [rbx + 0xe]
movzx r13d, byte [rbx + 3]
movzx ebp, byte [rbx + 7]
movzx r15d, byte [rbx + 0xb]
movzx r12d, byte [rbx + 0xf]
movzx eax, byte [rbx]
movzx eax, byte [rax + r14]
mov byte [rbx], al
mov byte [rsp + 0x80], al
movzx eax, byte [rbx + 4]
movzx eax, byte [rax + r14]
mov byte [rbx + 4], al
mov byte [rsp + 0x70], al
movzx eax, byte [rbx + 8]
movzx eax, byte [rax + r14]
mov byte [rbx + 8], al
movzx eax, byte [rbx + 0xc]
movzx eax, byte [rax + r14]
movzx r14d, byte [rcx + r14]
lea rcx, [0x140004490]
mov byte [rbx + 0xc], al
movzx eax, byte [rdx + rcx]
mov byte [rbx + 5], al
mov eax, r8d
mov byte [rbx + 1], r14b
lea r8, [0x140004490]
movzx edx, byte [r9 + r8]
movzx ecx, byte [rbp + r8]
movzx eax, byte [rax + r8]
mov byte [rbx + 9], al
movzx eax, byte [r10 + r8]
mov byte [rbx + 0xd], al
movzx eax, byte [r11 + r8]
mov byte [rbx + 6], al
movzx eax, byte [rdi + r8]
mov byte [rbx + 0xa], al
movzx eax, byte [rsi + r8]
mov byte [rbx + 0xe], al
movzx eax, byte [r15 + r8]
mov byte [rbx + 7], al
movzx eax, byte [r12 + r8]
mov byte [rbx + 0xb], al
movzx eax, byte [r13 + r8]
mov r8, qword [rsp + 0x78]
mov byte [rbx + 0xf], al
movzx eax, byte [rsp + 0x80]
mov byte [rbx + 2], dl
mov byte [rbx + 3], cl
xor al, byte [r8]
mov byte [rbx], al
xor r14b, byte [r8 + 1]
movzx eax, byte [rsp + 0x70]
mov byte [rbx + 1], r14b
xor dl, byte [r8 + 2]
mov byte [rbx + 2], dl
xor cl, byte [r8 + 3]
mov byte [rbx + 3], cl
xor al, byte [r8 + 4]
mov byte [rbx + 4], al
movzx eax, byte [r8 + 5]
xor byte [rbx + 5], al
movzx eax, byte [r8 + 6]
xor byte [rbx + 6], al
movzx eax, byte [r8 + 7]
xor byte [rbx + 7], al
movzx eax, byte [r8 + 8]
xor byte [rbx + 8], al
movzx eax, byte [r8 + 9]
xor byte [rbx + 9], al
movzx eax, byte [r8 + 0xa]
xor byte [rbx + 0xa], al
movzx eax, byte [r8 + 0xb]
xor byte [rbx + 0xb], al
movzx eax, byte [r8 + 0xc]
xor byte [rbx + 0xc], al
movzx eax, byte [r8 + 0xd]
xor byte [rbx + 0xd], al
movzx eax, byte [r8 + 0xe]
xor byte [rbx + 0xe], al
movzx eax, byte [r8 + 0xf]
xor byte [rbx + 0xf], al
add rsp, 0x28
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret