Function at 0x140001370
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2e0
mov rax, qword [rcx + 0x10]
lea r8, [rsp + 0x68]
mov r13, qword [rcx + 8]
lea r9, [rsp + 0x70]
mov qword [rsp + 0x28], rax
lea r10, [rsp + 0x66]
mov qword [rsp + 0x330], rax
lea r11, [rsp + 0x6e]
mov rax, qword [rcx + 0x18]
lea rbx, [rsp + 0x76]
mov qword [rsp + 0x30], rax
lea rdi, [rsp + 0x7e]
mov qword [rsp + 0x338], rax
lea rsi, [rsp + 0x86]
mov rax, qword [rcx + 0x20]
lea rbp, [rsp + 0x60]
mov qword [rsp + 0x38], rax
sub r8, rdx
mov qword [rsp], rax
sub r9, rdx
mov rax, qword [rcx + 0x28]
sub r10, rdx
mov qword [rsp + 0x40], rax
sub r11, rdx
mov qword [rsp + 8], rax
sub rbx, rdx
mov rax, qword [rcx + 0x30]
sub rdi, rdx
mov qword [rsp + 0x48], rax
sub rsi, rdx
mov qword [rsp + 0x10], rax
sub rbp, rdx
mov rax, qword [rcx + 0x38]
mov r14d, 2
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x18], rax
mov rax, qword [rcx + 0x40]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x20], rax
lea rax, [rdx + 0x12]
nop dword [rax]
nop dword [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 0x140001450
mov r14, qword [rsp + 0xd0]
lea r10, [rsp + 0xd0]
mov r12d, 8
nop
mov r8, qword [r10 - 0x68]
lea rbp, [r10]
mov rdi, qword [rbp + 8]
mov rcx, r8
mov r9, qword [rbp - 0x58]
mov rsi, r14
mov r11, qword [rbp - 0x50]
mov rax, r14
ror rax, 0x13
mov rdx, rdi
ror rdx, 0x3d
ror rcx, 8
ror rsi, 0x3d
xor rsi, rax
mov rax, r14
shr rax, 6
xor rsi, rax
mov rax, r8
ror rax, 1
xor rcx, rax
mov rax, r8
shr rax, 7
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 rax, rdi
shr rax, 6
xor rdx, rax
mov qword [r10 + 0x10], rsi
mov r10, qword [r10 - 0x60]
mov rcx, r10
mov rax, r10
ror rax, 1
ror rcx, 8
xor rcx, rax
mov rax, r10
shr rax, 7
xor rcx, rax
mov rax, r9
add rdx, rcx
ror rax, 1
add rdx, qword [rbp - 0x20]
mov rcx, rsi
add r8, rdx
ror rcx, 0x3d
mov rdx, r9
mov qword [rbp + 0x18], r8
ror rdx, 8
xor rdx, rax
mov rax, r9
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, r11
add rdx, rcx
ror rax, 1
add rdx, qword [rbp - 0x18]
mov rcx, r8
add r10, rdx
ror rcx, 0x3d
mov rdx, r11
mov qword [rbp + 0x20], r10
ror rdx, 8
xor rdx, rax
mov rax, r11
shr rax, 7
xor rdx, rax
mov rax, r8
ror rax, 0x13
xor rcx, rax
shr r8, 6
xor r8, rcx
mov rbx, qword [rbp - 0x38]
add r8, rdx
add r8, qword [rbp - 0x10]
mov rcx, r10
add r8, r9
ror rcx, 0x3d
mov r9, qword [rbp - 0x48]
mov rdx, r9
mov qword [rbp + 0x28], r8
ror rdx, 8
mov rax, r9
ror rax, 1
xor rdx, rax
mov rax, r9
shr rax, 7
xor rdx, rax
mov rax, r10
ror rax, 0x13
xor rcx, rax
shr r10, 6
xor rcx, r10
mov rax, r8
mov r10, qword [rbp - 0x40]
add rdx, rcx
add rdx, qword [rbp - 8]
mov rcx, r10
ror rax, 0x13
add r11, rdx
ror rcx, 8
mov rdx, r8
ror rdx, 0x3d
xor rdx, rax
shr r8, 6
xor rdx, r8
mov qword [rbp + 0x30], r11
mov r8, qword [rbp - 0x30]
add r9, rdx
mov rax, r10
mov rdx, rbx
ror rax, 1
xor rcx, rax
ror rdx, 8
mov rax, r10
shr rax, 7
xor rcx, rax
mov rax, rbx
ror rax, 1
add r9, rcx
xor rdx, rax
add r9, r14
mov r14, r11
mov qword [rbp + 0x38], r9
ror r14, 0x3d
mov rcx, r8
ror rcx, 8
mov rax, rbx
shr rax, 7
xor rdx, rax
mov rax, r11
ror rax, 0x13
xor r14, rax
shr r11, 6
xor r14, r11
lea rax, [r10 + rdx]
mov rdx, r9
add r14, rax
ror rdx, 0x3d
mov rax, r9
lea r10, [rbp + 0x40]
ror rax, 0x13
add r14, rdi
xor rdx, rax
shr r9, 6
mov rax, r8
mov qword [r10], r14
ror rax, 1
xor rdx, r9
xor rcx, rax
shr r8, 7
xor rcx, r8
lea rax, [rsi + rdx]
add rcx, rax
add rcx, rbx
mov qword [rbp + 0x48], rcx
sub r12, 1
jne 0x140001720
mov r11, qword [rsp + 0x330]
lea r15, [0x1400214e0]
mov r10, qword [rsp + 0x338]
mov r8, r13
mov r9, qword [rsp]
mov rbx, qword [rsp + 8]
mov rbp, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
nop dword [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 + 0x60]
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 + 0x68]
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 + 0x70]
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 + 0x78]
add rdx, qword [r12 + r15 + 0x18]
ror rax, 0x22
add rdx, rbx
xor rcx, rax
mov rbx, r10
or rbx, r11
mov rax, r11
ror rax, 0x1c
and rbx, r9
xor rcx, rax
lea r14, [r8 + rdx]
mov rax, r10
mov r8, r14
and rax, r11
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 + 0x80]
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, rbx
lea rdi, [r9 + r8]
mov r9, rbx
or r9, r11
and r9, r10
and rax, r11
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 + 0x88]
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 + 0x90]
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 + 0x98]
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 0x140001990
mov r15, qword [rsp + 0x320]
lea rax, [r8 + r13]
mov qword [r15 + 8], rax
mov rax, qword [rsp + 0x28]
add rax, r11
mov qword [r15 + 0x10], rax
mov rax, qword [rsp + 0x30]
add rax, r10
mov qword [r15 + 0x18], rax
mov rax, qword [rsp + 0x38]
add rax, r9
mov qword [r15 + 0x20], rax
mov rax, qword [rsp + 0x40]
add rax, rbx
mov rbx, qword [rsp + 0x328]
mov qword [r15 + 0x28], rax
mov rax, qword [rsp + 0x48]
add rax, rbp
mov qword [r15 + 0x30], rax
mov rax, qword [rsp + 0x50]
add rax, rsi
mov qword [r15 + 0x38], rax
mov rax, qword [rsp + 0x58]
add rax, rdi
mov qword [r15 + 0x40], rax
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret