Function at 0x384f0
Capabilities:
Encode data using xor
Manually build aes constants

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r13
push r14
sub rsp, 0x800
xor r8d, r8d
lea r9, [rax - 0x418]
mov r11d, 0x100
lea edx, [r8 + 1]
movsxd rax, edx
mov dword [r9], edx
mov dword [rsp + rax*4], r8d
mov eax, edx
and al, 0x80
neg al
lea eax, [rdx + rdx]
sbb ecx, ecx
inc r8d
add r9, 4
and ecx, 0x1b
xor ecx, eax
xor ecx, edx
cmp r8d, r11d
movzx edx, cl
jl 0x38524
mov edx, 1
lea r8, [0x00078bc8]
lea r9d, [rdx + 9]
mov eax, edx
mov dword [r8], edx
and al, 0x80
neg al
lea eax, [rdx + rdx]
sbb ecx, ecx
add r8, 4
and ecx, 0x1b
xor ecx, eax
sub r9, 1
movzx edx, cl
jne 0x3855f
mov byte [0x0007ad53], r9b
lea r8d, [r9 + 1]
mov byte [0x00078bf0], 0x63
lea r9, [0x00078bf1]
lea r10, [rsp + 4]
lea rbx, [0x00010000]
movsxd rcx, dword [r10]
lea rax, [rsp + 0x7fc]
add r10, 4
shl rcx, 2
sub rax, rcx
mov edx, dword [rax]
mov ecx, edx
sar ecx, 7
lea eax, [rdx + rdx]
or ecx, eax
movzx eax, cl
xor edx, eax
mov ecx, eax
add eax, eax
sar ecx, 7
or ecx, eax
movzx eax, cl
xor edx, eax
mov ecx, eax
add eax, eax
sar ecx, 7
or ecx, eax
movzx eax, cl
xor edx, eax
mov ecx, eax
add eax, eax
sar ecx, 7
or ecx, eax
xor ecx, 0x63
movzx eax, cl
xor edx, eax
movsxd rax, edx
mov byte [r9], dl
inc r9
mov byte [rax + rbx + 0x6acf0], r8b
inc r8d
cmp r8d, r11d
jl 0x385a4
mov ebp, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x34]
mov r14d, dword [rsp + 0x2c]
mov r12d, dword [rsp + 0x24]
xor r10d, r10d
movzx edx, byte [r10 + rbx + 0x68bf0]
movzx r9d, byte [r10 + rbx + 0x6acf0]
mov eax, edx
and al, 0x80
neg al
lea eax, [rdx + rdx]
sbb ecx, ecx
and ecx, 0x1b
xor ecx, eax
movzx eax, cl
mov ecx, eax
xor ecx, edx
shl ecx, 8
xor ecx, edx
shl ecx, 8
xor ecx, edx
shl ecx, 8
xor ecx, eax
mov dword [rbx + r10*4 + 0x6a8f0], ecx
rol ecx, 8
mov dword [rbx + r10*4 + 0x6a4f0], ecx
rol ecx, 8
mov dword [rbx + r10*4 + 0x6a0f0], ecx
rol ecx, 8
mov dword [rbx + r10*4 + 0x69cf0], ecx
test r9d, r9d
je 0x386c2
movsxd rax, r9d
mov ecx, dword [rsp + rax*4]
mov eax, 0x80808081
lea r8d, [rbp + rcx]
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xff
sub r8d, edx
movsxd rax, r8d
mov esi, dword [rsp + rax*4 + 0x400]
jmp 0x386c4
xor esi, esi
test r9d, r9d
je 0x386fd
movsxd rax, r9d
mov ecx, dword [rsp + rax*4]
mov eax, 0x80808081
lea r8d, [r12 + rcx]
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xff
sub r8d, edx
movsxd rax, r8d
mov edi, dword [rsp + rax*4 + 0x400]
jmp 0x386ff
xor edi, edi
test r9d, r9d
je 0x38739
movsxd rax, r9d
mov ecx, dword [rsp + rax*4]
mov eax, 0x80808081
lea r8d, [r13 + rcx]
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xff
sub r8d, edx
movsxd rax, r8d
mov ebx, dword [rsp + rax*4 + 0x400]
jmp 0x3873b
xor ebx, ebx
test r9d, r9d
je 0x38772
mov ecx, dword [rsp + r9*4]
mov eax, 0x80808081
lea r8d, [r14 + rcx]
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xff
sub r8d, edx
movsxd rax, r8d
mov ecx, dword [rsp + rax*4 + 0x400]
jmp 0x38774
xor ecx, ecx
shl ecx, 8
inc r10
xor ecx, ebx
lea rbx, [0x00010000]
shl ecx, 8
xor ecx, edi
shl ecx, 8
xor ecx, esi
mov dword [rbx + r10*4 + 0x698ec], ecx
rol ecx, 8
mov dword [rbx + r10*4 + 0x694ec], ecx
rol ecx, 8
mov dword [rbx + r10*4 + 0x690ec], ecx
rol ecx, 8
sub r11, 1
mov dword [rbx + r10*4 + 0x68cec], ecx
jne 0x38627
lea r11, [rsp + 0x800]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r13
pop r12
ret