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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x738]
sub rsp, 0x810
mov rax, qword [0x1800c33b0]
xor rax, rsp
mov qword [rbp + 0x700], rax
xor r8d, r8d
lea r9, [rbp + 0x300]
mov ebx, 0x100
lea edi, [r8 + 1]
mov edx, edi
movsxd rax, edx
mov dword [r9], edx
lea r9, [r9 + 4]
mov dword [rsp + rax*4], r8d
mov eax, edx
and al, 0x80
neg al
lea eax, [rdx + rdx]
sbb ecx, ecx
add r8d, edi
and ecx, 0x1b
xor ecx, eax
xor ecx, edx
movzx edx, cl
cmp r8d, ebx
jl 0x180051fc0
mov edx, edi
lea r8, [0x1800c6ad0]
mov r9d, 0xa
mov eax, edx
mov dword [r8], edx
and al, 0x80
lea r8, [r8 + 4]
neg al
lea eax, [rdx + rdx]
sbb ecx, ecx
and ecx, 0x1b
xor ecx, eax
movzx edx, cl
sub r9, rdi
jne 0x180051ffa
mov byte [0x1800c5a33], r9b
lea r10, [0x1800c48d1]
mov r9d, edi
mov byte [0x1800c48d0], 0x63
lea r11, [rsp + 4]
lea rsi, [0x180000000]
mov eax, 0xff
sub eax, dword [r11]
lea r11, [r11 + 4]
cdqe
mov r8d, dword [rbp + rax*4 + 0x300]
mov ecx, r8d
sar ecx, 7
lea eax, [r8 + r8]
or ecx, eax
movzx eax, cl
xor r8d, eax
mov ecx, eax
shr ecx, 7
add eax, eax
or ecx, eax
movzx eax, cl
xor r8d, eax
mov ecx, eax
shr ecx, 7
add eax, eax
or ecx, eax
movzx edx, cl
mov ecx, edx
shr ecx, 7
lea eax, [rdx + rdx]
or ecx, eax
xor ecx, 0x63
movzx eax, cl
xor eax, edx
xor r8d, eax
movsxd rax, r8d
mov byte [r10], r8b
add r10, rdi
mov byte [rax + rsi + 0xc59d0], r9b
add r9d, edi
cmp r9d, ebx
jl 0x18005203d
mov r14, qword [rsp + 0x38]
xor r10d, r10d
mov r12, qword [rsp + 0x34]
mov r13, qword [rsp + 0x2c]
mov r15, qword [rsp + 0x24]
movzx edx, byte [r10 + rsi + 0xc48d0]
movzx r9d, byte [r10 + rsi + 0xc59d0]
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 [rsi + r10*4 + 0xc49d0], ecx
rol ecx, 8
mov dword [rsi + r10*4 + 0xc4dd0], ecx
rol ecx, 8
mov dword [rsi + r10*4 + 0xc51d0], ecx
rol ecx, 8
mov dword [rsi + r10*4 + 0xc55d0], ecx
test r9d, r9d
je 0x18005215f
movsxd rax, r9d
mov r8d, dword [rsp + rax*4]
mov eax, 0x80808081
add r8d, r14d
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xff
sub r8d, eax
movsxd rax, r8d
mov esi, dword [rbp + rax*4 + 0x300]
jmp 0x180052161
xor esi, esi
test r9d, r9d
je 0x18005219a
movsxd rax, r9d
mov r8d, dword [rsp + rax*4]
mov eax, 0x80808081
add r8d, r15d
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xff
sub r8d, eax
movsxd rax, r8d
mov edi, dword [rbp + rax*4 + 0x300]
jmp 0x18005219c
xor edi, edi
test r9d, r9d
je 0x1800521d6
movsxd rax, r9d
mov r8d, dword [rsp + rax*4]
mov eax, 0x80808081
add r8d, r12d
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xff
sub r8d, eax
movsxd rax, r8d
mov r11d, dword [rbp + rax*4 + 0x300]
jmp 0x1800521d9
xor r11d, r11d
test r9d, r9d
je 0x18005220f
mov r8d, dword [rsp + r9*4]
mov eax, 0x80808081
add r8d, r13d
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xff
sub r8d, eax
movsxd rax, r8d
mov ecx, dword [rbp + rax*4 + 0x300]
jmp 0x180052211
xor ecx, ecx
shl ecx, 8
xor ecx, r11d
shl ecx, 8
xor ecx, edi
shl ecx, 8
xor ecx, esi
lea rsi, [0x180000000]
mov dword [rsi + r10*4 + 0xc5ad0], ecx
rol ecx, 8
mov dword [rsi + r10*4 + 0xc5ed0], ecx
rol ecx, 8
mov dword [rsi + r10*4 + 0xc62d0], ecx
rol ecx, 8
mov dword [rsi + r10*4 + 0xc66d0], ecx
inc r10
sub rbx, 1
jne 0x1800520c5
mov rcx, qword [rbp + 0x700]
xor rcx, rsp
call fcn.180084a40
lea r11, [rsp + 0x810]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret