Function at 0x1400aa390
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2d0
mov rax, qword [0x140193440]
xor rax, rsp
mov qword [rsp + 0x2c0], rax
mov rax, qword [rcx + 0x10]
lea r8, [rsp + 0x48]
mov r13, qword [rcx + 8]
lea r9, [rsp + 0x50]
mov qword [rsp], rax
lea r10, [rsp + 0x46]
mov rax, qword [rcx + 0x18]
lea r11, [rsp + 0x4e]
mov qword [rsp + 8], rax
lea rbx, [rsp + 0x56]
mov rax, qword [rcx + 0x20]
lea rdi, [rsp + 0x5e]
mov qword [rsp + 0x10], rax
lea rsi, [rsp + 0x66]
mov rax, qword [rcx + 0x28]
lea rbp, [rsp + 0x40]
mov qword [rsp + 0x18], rax
sub r8, rdx
mov rax, qword [rcx + 0x30]
sub r9, rdx
mov qword [rsp + 0x20], rax
sub r10, rdx
mov rax, qword [rcx + 0x38]
sub r11, rdx
mov qword [rsp + 0x28], rax
sub rbx, rdx
mov rax, qword [rcx + 0x40]
sub rdi, rdx
sub rsi, rdx
mov qword [rsp + 0x30], rax
lea rax, [rdx + 0x12]
mov qword [rsp + 0x38], rcx
sub rbp, rdx
mov r14d, 2
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rax - 0x11]
movzx edx, byte [rax - 0x12]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0x10]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0xf]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0xe]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0xd]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0xc]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0xb]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 9]
mov qword [rax + rbp - 0x12], rdx
movzx edx, byte [rax - 0xa]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 8]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 7]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 6]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 5]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 4]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 3]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 1]
mov qword [r8 + rax - 0x12], rdx
movzx edx, byte [rax - 2]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 1]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 2]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 3]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 4]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 5]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 7]
mov qword [r9 + rax - 0x12], rdx
movzx edx, byte [rax + 6]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 8]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 9]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0xa]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0xb]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0xc]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0xd]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0xf]
mov qword [r10 + rax], rdx
movzx edx, byte [rax + 0xe]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x10]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x11]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x12]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x13]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x14]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x15]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x17]
mov qword [r11 + rax], rdx
movzx edx, byte [rax + 0x16]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x18]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x19]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x1a]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x1b]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x1c]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x1d]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x1f]
mov qword [rbx + rax], rdx
movzx edx, byte [rax + 0x1e]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x20]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x21]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x22]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x23]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x24]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x25]
shl rdx, 8
or rdx, rcx
mov qword [rdi + rax], rdx
movzx edx, byte [rax + 0x26]
movzx ecx, byte [rax + 0x27]
lea rax, [rax + 0x40]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0x18]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0x17]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0x16]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0x15]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0x14]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0x13]
shl rdx, 8
or rdx, rcx
mov qword [rsi + rax - 0x40], rdx
sub r14, 1
jne 0x1400aa460
lea r12d, [r14 + 8]
mov r14, qword [rsp + 0xb0]
lea r10, [rsp + 0xb0]
nop dword [rax]
mov r9, qword [r10 - 0x68]
lea rbp, [r10]
mov r8, qword [r10 - 0x60]
mov rsi, r9
mov rdi, qword [r10 + 8]
mov rax, r9
mov rbx, qword [rbp - 0x50]
mov rcx, r14
ror rax, 1
mov rdx, rdi
ror rdx, 0x3d
ror rcx, 0x3d
ror rsi, 8
xor rsi, rax
mov rax, r9
shr rax, 7
xor rsi, rax
mov rax, r14
ror rax, 0x13
xor rcx, rax
mov rax, r14
shr rax, 6
xor rcx, rax
mov rax, rdi
ror rax, 0x13
add rsi, rcx
add rsi, qword [r10 - 0x70]
xor rdx, rax
add rsi, qword [r10 - 0x28]
mov rcx, r8
ror rcx, 8
mov rax, rdi
shr rax, 6
xor rdx, rax
mov qword [r10 + 0x10], rsi
mov rax, r8
ror rax, 1
xor rcx, rax
mov rax, r8
shr rax, 7
xor rcx, rax
add rdx, rcx
mov rcx, rsi
add rdx, qword [r10 - 0x20]
add r9, rdx
ror rcx, 0x3d
mov qword [r10 + 0x18], r9
mov r10, qword [r10 - 0x58]
mov rdx, r10
mov rax, r10
ror rax, 1
ror rdx, 8
xor rdx, rax
mov rax, r10
shr rax, 7
xor rdx, rax
mov rax, rsi
ror rax, 0x13
xor rcx, rax
mov rax, rsi
shr rax, 6
xor rcx, rax
mov rax, rbx
add rdx, rcx
ror rax, 1
add rdx, qword [rbp - 0x18]
mov rcx, r9
add r8, rdx
ror rcx, 0x3d
mov rdx, rbx
mov qword [rbp + 0x20], r8
ror rdx, 8
xor rdx, rax
mov rax, rbx
shr rax, 7
xor rdx, rax
mov rax, r9
ror rax, 0x13
xor rcx, rax
shr r9, 6
xor r9, rcx
mov r11, qword [rbp - 0x48]
add r9, rdx
add r9, qword [rbp - 0x10]
mov rax, r8
ror rax, 0x13
add r9, r10
mov rdx, r9
mov qword [rbp + 0x28], r9
ror rdx, 0x3d
mov r10, r8
ror r10, 0x3d
mov rcx, r11
xor r10, rax
ror rcx, 8
shr r8, 6
mov rax, r11
ror rax, 1
xor r10, r8
mov r8, qword [rbp - 0x40]
xor rcx, rax
mov rax, r11
shr rax, 7
xor rcx, rax
mov rax, r9
ror rax, 0x13
add r10, rcx
add r10, qword [rbp - 8]
xor rdx, rax
shr r9, 6
add r10, rbx
xor rdx, r9
mov qword [rbp + 0x30], r10
mov r9, r8
mov rax, r8
ror rax, 1
ror r9, 8
xor r9, rax
mov rax, r8
shr rax, 7
xor r9, rax
lea rax, [r14 + rdx]
add r9, rax
mov r14, r10
add r9, r11
ror r14, 0x3d
mov r11, qword [rbp - 0x38]
mov rdx, r11
mov qword [rbp + 0x38], r9
ror rdx, 8
mov rax, r11
ror rax, 1
xor rdx, rax
mov rax, r11
shr rax, 7
xor rdx, rax
mov rax, r10
ror rax, 0x13
xor r14, rax
shr r10, 6
xor r14, r10
lea r10, [rbp + 0x40]
lea rax, [r8 + rdx]
mov r8, qword [rbp - 0x30]
add r14, rax
mov rdx, r9
ror rdx, 0x3d
mov rax, r9
ror rax, 0x13
mov rcx, r8
xor rdx, rax
shr r9, 6
mov rax, r8
ror rcx, 8
ror rax, 1
xor rdx, r9
xor rcx, rax
shr r8, 7
add r14, rdi
xor rcx, r8
mov qword [r10], r14
lea rax, [rsi + rdx]
add rcx, rax
add rcx, r11
mov qword [rbp + 0x48], rcx
sub r12, 1
jne 0x1400aa730
mov r11, qword [rsp]
lea r15, [0x14013f9d0]
mov r10, qword [rsp + 8]
mov r8, r13
mov r9, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x18]
mov rbp, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
nop word [rax + rax]
mov rdx, rbx
mov rax, rbx
ror rax, 0x12
mov rcx, r8
ror rdx, 0x29
xor rdx, rax
ror rcx, 0x27
mov rax, rbx
ror rax, 0xe
xor rdx, rax
mov rax, rbp
xor rax, rsi
and rax, rbx
xor rax, rsi
add rdx, rax
mov rax, r8
add rdx, qword [r12 + r15]
add rdx, qword [rsp + r12 + 0x40]
ror rax, 0x22
add rdx, rdi
xor rcx, rax
mov rax, r8
ror rax, 0x1c
xor rcx, rax
mov rax, r11
and rax, r8
lea rdi, [r9 + rdx]
mov r9, r11
or r9, r8
and r9, r10
or r9, rax
lea rax, [rdx + rcx]
add r9, rax
mov rdx, rdi
ror rdx, 0x29
mov rax, rdi
ror rax, 0x12
mov rcx, r9
xor rdx, rax
ror rcx, 0x27
mov rax, rdi
ror rax, 0xe
xor rdx, rax
mov rax, rbp
xor rax, rbx
and rax, rdi
xor rax, rbp
add rdx, rax
mov rax, r9
add rdx, qword [rsp + r12 + 0x48]
add rdx, qword [r12 + r15 + 8]
ror rax, 0x22
add rdx, rsi
xor rcx, rax
mov rax, r9
ror rax, 0x1c
xor rcx, rax
mov rax, r9
lea rsi, [r10 + rdx]
and rax, r8
mov r10, r9
or r10, r8
and r10, r11
or r10, rax
lea rax, [rdx + rcx]
add r10, rax
mov rdx, rsi
ror rdx, 0x29
mov rax, rsi
ror rax, 0x12
xor rdx, rax
mov rax, rsi
ror rax, 0xe
xor rdx, rax
mov rax, rdi
xor rax, rbx
and rax, rsi
xor rax, rbx
add rdx, rax
add rdx, qword [rsp + r12 + 0x50]
add rdx, qword [r12 + r15 + 0x10]
add rdx, rbp
mov rcx, r10
ror rcx, 0x27
mov rax, r10
ror rax, 0x22
xor rcx, rax
mov rax, r10
ror rax, 0x1c
lea rbp, [r11 + rdx]
xor rcx, rax
mov r11, r10
or r11, r9
mov rax, r10
and rax, r9
and r11, r8
or r11, rax
lea rax, [rdx + rcx]
mov rdx, rbp
add r11, rax
ror rdx, 0x29
mov rax, rbp
mov rcx, r11
ror rax, 0x12
xor rdx, rax
ror rcx, 0x27
mov rax, rbp
ror rax, 0xe
xor rdx, rax
mov rax, rsi
xor rax, rdi
and rax, rbp
xor rax, rdi
add rdx, rax
mov rax, r11
add rdx, qword [rsp + r12 + 0x58]
add rdx, qword [r12 + r15 + 0x18]
ror rax, 0x22
add rdx, rbx
xor rcx, rax
mov rbx, r11
or rbx, r10
mov rax, r11
ror rax, 0x1c
and rbx, r9
xor rcx, rax
lea r14, [r8 + rdx]
mov rax, r11
mov r8, r14
and rax, r10
ror r8, 0x29
or rbx, rax
lea rax, [rdx + rcx]
add rbx, rax
mov rax, r14
ror rax, 0x12
mov rdx, rbx
xor r8, rax
ror rdx, 0x27
mov rax, r14
ror rax, 0xe
xor r8, rax
mov rax, rbp
xor rax, rsi
and rax, r14
xor rax, rsi
add r8, rax
mov rax, rbx
add r8, qword [rsp + r12 + 0x60]
add r8, qword [r12 + r15 + 0x20]
ror rax, 0x22
add r8, rdi
xor rdx, rax
mov rax, rbx
ror rax, 0x1c
xor rdx, rax
mov rax, r11
lea rdi, [r9 + r8]
mov r9, r11
or r9, rbx
and r9, r10
and rax, rbx
or r9, rax
lea rax, [r8 + rdx]
add r9, rax
mov r8, rdi
ror r8, 0x29
mov rax, rdi
ror rax, 0x12
mov rdx, r9
xor r8, rax
ror rdx, 0x27
mov rax, rdi
ror rax, 0xe
xor r8, rax
mov rax, rbp
xor rax, r14
and rax, rdi
xor rax, rbp
add r8, rax
mov rax, r9
add r8, qword [rsp + r12 + 0x68]
add r8, qword [r12 + r15 + 0x28]
ror rax, 0x22
add r8, rsi
xor rdx, rax
mov rax, r9
ror rax, 0x1c
xor rdx, rax
mov rax, r9
and rax, rbx
lea rsi, [r10 + r8]
mov r10, r9
or r10, rbx
and r10, r11
or r10, rax
lea rax, [r8 + rdx]
add r10, rax
mov r8, rsi
ror r8, 0x29
mov rax, rsi
ror rax, 0x12
mov rdx, r10
xor r8, rax
ror rdx, 0x27
mov rax, rsi
ror rax, 0xe
xor r8, rax
mov rax, rdi
xor rax, r14
and rax, rsi
xor rax, r14
add r8, rax
mov rax, r10
add r8, qword [rsp + r12 + 0x70]
add r8, qword [r12 + r15 + 0x30]
ror rax, 0x22
add r8, rbp
xor rdx, rax
mov rax, r10
ror rax, 0x1c
xor rdx, rax
mov rax, r10
lea rbp, [r11 + r8]
and rax, r9
mov r11, r10
or r11, r9
and r11, rbx
or r11, rax
lea rax, [r8 + rdx]
add r11, rax
mov r8, rbp
ror r8, 0x29
mov rax, rbp
ror rax, 0x12
xor r8, rax
mov rax, rbp
ror rax, 0xe
xor r8, rax
mov rax, rsi
xor rax, rdi
and rax, rbp
xor rax, rdi
add r8, rax
mov rdx, r11
add r8, qword [rsp + r12 + 0x78]
mov rax, r11
add r8, qword [r12 + r15 + 0x38]
mov rcx, r11
ror rax, 0x22
add r8, r14
ror rdx, 0x27
or rcx, r10
xor rdx, rax
add rbx, r8
and rcx, r9
mov rax, r11
ror rax, 0x1c
add r12, 0x40
xor rdx, rax
mov rax, r11
and rax, r10
add r8, rdx
or rcx, rax
add r8, rcx
cmp r12, 0x280
jl 0x1400aa9a0
mov r15, qword [rsp + 0x38]
lea rax, [r8 + r13]
mov qword [r15 + 8], rax
add qword [r15 + 0x10], r11
add qword [r15 + 0x18], r10
add qword [r15 + 0x20], r9
add qword [r15 + 0x28], rbx
add qword [r15 + 0x30], rbp
add qword [r15 + 0x38], rsi
add qword [r15 + 0x40], rdi
mov rcx, qword [rsp + 0x2c0]
xor rcx, rsp
call fcn.1400b1f80
lea r11, [rsp + 0x2d0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret