Function at 0x140010530
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, 0x2b0
mov rdi, rdx
lea rbx, [rsp + 0x40]
mov rsi, rcx
mov r11d, 3
nop dword [rax]
lea r8d, [r11*8 - 0x18]
add r8, rdi
lea ecx, [r11*8 - 0x10]
add rcx, rdi
movzx eax, byte [r8 + 1]
movzx edx, byte [rcx]
movzx r9d, byte [r8]
shl rdx, 8
shl r9, 8
or r9, rax
movzx eax, byte [r8 + 2]
shl r9, 8
or r9, rax
movzx eax, byte [r8 + 3]
shl r9, 8
or r9, rax
movzx eax, byte [r8 + 4]
shl r9, 8
or r9, rax
movzx eax, byte [r8 + 5]
shl r9, 8
or r9, rax
movzx eax, byte [r8 + 6]
shl r9, 8
or r9, rax
movzx eax, byte [r8 + 7]
shl r9, 8
or r9, rax
movzx eax, byte [rcx + 1]
or rdx, rax
mov qword [rbx - 0x10], r9
movzx eax, byte [rcx + 2]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 3]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 4]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 5]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 6]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 7]
shl rdx, 8
lea ecx, [r11*8 - 8]
or rdx, rax
add rcx, rdi
mov qword [rbx - 8], rdx
movzx eax, byte [rcx + 1]
movzx edx, byte [rcx]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 2]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 3]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 4]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 5]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 6]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 7]
shl rdx, 8
lea ecx, [r11*8]
or rdx, rax
add rcx, rdi
mov qword [rbx], rdx
movzx edx, byte [rcx]
movzx eax, byte [rcx + 1]
shl rdx, 8
or rdx, rax
shl rdx, 8
movzx eax, byte [rcx + 2]
or rdx, rax
movzx eax, byte [rcx + 3]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 4]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 5]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 6]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 7]
shl rdx, 8
lea ecx, [r11*8 + 8]
or rdx, rax
add rcx, rdi
mov qword [rbx + 8], rdx
movzx eax, byte [rcx + 1]
movzx edx, byte [rcx]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 2]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 3]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 4]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 5]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 6]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 7]
shl rdx, 8
lea ecx, [r11*8 + 0x10]
or rdx, rax
add rcx, rdi
mov qword [rbx + 0x10], rdx
movzx eax, byte [rcx + 1]
movzx edx, byte [rcx]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 2]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 3]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 4]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 5]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 6]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 7]
shl rdx, 8
lea ecx, [r11*8 + 0x18]
or rdx, rax
add rcx, rdi
mov qword [rbx + 0x18], rdx
movzx eax, byte [rcx + 1]
movzx edx, byte [rcx]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 2]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 3]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 4]
lea rbx, [rbx + 0x40]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 5]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 6]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 7]
shl rdx, 8
lea ecx, [r11*8 + 0x20]
or rdx, rax
lea r11d, [r11 + 8]
mov qword [rbx - 0x20], rdx
add rcx, rdi
movzx eax, byte [rcx + 1]
movzx edx, byte [rcx]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 2]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 3]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 4]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 5]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 6]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 7]
shl rdx, 8
or rdx, rax
lea eax, [r11 - 3]
mov qword [rbx - 0x18], rdx
cmp eax, 0x10
jb 0x140010560
mov rbx, qword [rsp + 0xa0]
lea rax, [rsp + 0xa0]
mov ebp, 0x10
nop dword [rax]
mov r11, qword [rax - 0x68]
lea rax, [rax + 0x20]
mov r10, rbx
mov rcx, rbx
rol rcx, 3
mov rdx, r11
ror rdx, 8
ror r10, 0x13
xor r10, rcx
shr rbx, 6
xor r10, rbx
mov rcx, r11
ror rcx, 1
xor rdx, rcx
mov rcx, r11
shr rcx, 7
xor rdx, rcx
add r10, rdx
add r10, qword [rax - 0x90]
add r10, qword [rax - 0x48]
mov qword [rax - 0x10], r10
mov rbx, qword [rax - 0x80]
mov r8, qword [rax - 0x18]
mov r9, rbx
ror r9, 8
mov rdx, r8
ror rdx, 0x13
mov rcx, rbx
ror rcx, 1
xor r9, rcx
mov rcx, rbx
shr rcx, 7
xor r9, rcx
mov rcx, r8
rol rcx, 3
xor rdx, rcx
shr r8, 6
xor rdx, r8
mov rcx, r10
add r9, rdx
rol rcx, 3
add r9, qword [rax - 0x40]
mov r8, r10
add r11, r9
ror r8, 0x13
xor r8, rcx
mov qword [rax - 8], r11
mov rdi, qword [rax - 0x78]
mov r9, r11
ror r9, 0x13
mov rdx, rdi
ror rdx, 8
mov rcx, rdi
ror rcx, 1
xor rdx, rcx
shr r10, 6
xor r8, r10
mov rcx, rdi
shr rcx, 7
xor rdx, rcx
mov rcx, r11
add r8, rdx
rol rcx, 3
add r8, qword [rax - 0x38]
xor r9, rcx
add rbx, r8
shr r11, 6
mov qword [rax], rbx
xor r9, r11
mov r8, qword [rax - 0x70]
mov rdx, r8
mov rcx, r8
ror rdx, 8
ror rcx, 1
xor rdx, rcx
shr r8, 7
xor rdx, r8
add r9, rdx
add r9, qword [rax - 0x30]
add r9, rdi
mov qword [rax + 8], r9
sub rbp, 1
jne 0x140010890
mov rax, qword [rsi + 0x90]
lea rdx, [0x140098100]
mov qword [rsp + 0x300], rax
mov r11, rax
mov rax, qword [rsi + 0x98]
mov qword [rsp + 0x308], rax
mov rdi, rax
mov rax, qword [rsi + 0xa0]
mov qword [rsp], rax
mov r14, rax
mov rax, qword [rsi + 0xa8]
mov qword [rsp + 8], rax
mov r9, rax
mov rax, qword [rsi + 0xb0]
mov qword [rsp + 0x10], rax
mov rbx, rax
mov rax, qword [rsi + 0xb8]
mov qword [rsp + 0x18], rax
mov r15, rax
mov rax, qword [rsi + 0xc0]
mov qword [rsp + 0x20], rax
mov r12, rax
mov rax, qword [rsi + 0xc8]
lea esi, [rbp + 0x28]
mov qword [rsp + 0x28], rax
mov r13, rax
nop dword [rax]
mov r8, rbx
lea rbp, [rbp + 0x10]
rol r8, 0x17
mov rax, rbx
ror rax, 0x12
mov rcx, rbx
xor r8, rax
not rcx
and rcx, r12
mov rax, rbx
ror rax, 0xe
mov r10, r11
xor r8, rax
rol r10, 0x1e
mov rax, r15
and rax, rbx
xor rcx, rax
mov rax, r11
add r8, rcx
ror rax, 0x1c
add r8, qword [rdx + rbp - 0x10]
xor r10, rax
add r8, qword [rsp + rbp + 0x20]
mov rax, r11
rol rax, 0x19
add r8, r13
xor r10, rax
add r9, r8
mov rcx, rdi
mov rax, rdi
and rax, r14
xor rcx, r14
and rcx, r11
mov r13, r15
xor rcx, rax
mov rax, r9
ror rax, 0x12
add r10, rcx
add r10, r8
mov rcx, r9
not rcx
mov r8, r9
rol r8, 0x17
and rcx, r15
xor r8, rax
mov rdx, r10
rol rdx, 0x1e
mov rax, r9
ror rax, 0xe
mov r15, r9
xor r8, rax
mov rax, r9
and rax, rbx
mov r9, rdi
xor rcx, rax
lea rax, [0x140098100]
add r8, rcx
mov rcx, rdi
add r8, qword [rsp + rbp + 0x28]
xor rcx, r11
add r8, qword [rax + rbp - 8]
and rcx, r10
add r8, r12
mov rax, r10
ror rax, 0x1c
mov r12, rbx
xor rdx, rax
mov rax, r10
rol rax, 0x19
xor rdx, rax
lea rbx, [r14 + r8]
mov rax, rdi
mov r14, r11
and rax, r11
mov rdi, r10
xor rcx, rax
add rdx, rcx
lea r11, [rdx + r8]
lea rdx, [0x140098100]
sub rsi, 1
jne 0x140010a40
mov rsi, qword [rsp + 0x2f0]
mov rax, qword [rsp + 0x300]
add rax, r11
mov qword [rsi + 0x90], rax
mov rax, qword [rsp + 0x308]
add rax, r10
mov qword [rsi + 0x98], rax
mov rax, qword [rsp]
add rax, r14
mov qword [rsi + 0xa0], rax
mov rax, qword [rsp + 8]
add rax, r9
mov qword [rsi + 0xa8], rax
mov rax, qword [rsp + 0x10]
add rax, rbx
mov rbx, qword [rsp + 0x2f8]
mov qword [rsi + 0xb0], rax
mov rax, qword [rsp + 0x18]
add rax, r15
mov qword [rsi + 0xb8], rax
mov rax, qword [rsp + 0x20]
add rax, r12
mov qword [rsi + 0xc0], rax
mov rax, qword [rsp + 0x28]
add rax, r13
mov qword [rsi + 0xc8], rax
add rsp, 0x2b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret