Function at 0x140010460
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov dword [r11 + 0x20], r9d
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov rbx, qword [rsp + 0xa0]
mov r15d, dword [r11 + 0x20]
mov rsi, qword [r11 + 0x10]
movzx r12d, byte [rbx]
mov r9d, 1
lea rbp, [rbx + 1]
movzx eax, byte [rbp]
lea rdx, [r9 + rbp]
mov qword [rsp + 0x28], rbp
shl eax, 8
mov r14, r8
or r12d, eax
movzx eax, byte [rdx]
add rdx, r9
shl eax, 0x10
or r12d, eax
movzx eax, byte [rdx]
add rdx, r9
movzx r13d, byte [rdx]
shl eax, 0x18
add rdx, r9
movzx ecx, byte [rdx + r9 + 1]
or r12d, eax
movzx eax, byte [rdx]
shl eax, 8
shl ecx, 8
or r13d, eax
movzx eax, byte [rdx + r9]
or ecx, eax
shl ecx, 0x10
or r13d, ecx
add r15d, 0xfffffff8
js 0x1400105ff
lea eax, [r15 + 8]
shr rax, 3
mov qword [rsp + 0x20], rax
mov rbp, qword [rsp + 0x20]
neg eax
lea r15d, [r15 + rax*8]
movzx edi, byte [r14]
mov rcx, qword [rsp + 0x80]
add r14, r9
movzx eax, byte [r14]
add r14, r9
lea rdx, [rsp + 0x20]
shl eax, 8
or edi, eax
movzx eax, byte [r14]
add r14, r9
shl eax, 0x10
or edi, eax
movzx eax, byte [r14]
add r14, r9
movzx ebx, byte [r14]
shl eax, 0x18
add r14, r9
or edi, eax
movzx eax, byte [r14]
add r14, r9
shl eax, 8
mov dword [rsp + 0x20], edi
or ebx, eax
movzx eax, byte [r14]
add r14, r9
shl eax, 0x10
or ebx, eax
movzx eax, byte [r14]
add r14, r9
shl eax, 0x18
or ebx, eax
mov dword [rsp + 0x24], ebx
call fcn.14000e984
mov r11d, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x24]
mov r9d, 1
xor r11d, r12d
mov byte [rsi], r11b
add rsi, r9
xor ecx, r13d
mov eax, r11d
mov r12d, edi
mov r13d, ebx
shr eax, 8
mov byte [rsi], al
add rsi, r9
mov eax, r11d
shr eax, 0x10
shr r11d, 0x18
mov byte [rsi], al
add rsi, r9
mov eax, ecx
mov byte [rsi], r11b
add rsi, r9
shr eax, 8
mov byte [rsi], cl
add rsi, r9
mov byte [rsi], al
add rsi, r9
mov eax, ecx
shr eax, 0x10
shr ecx, 0x18
mov byte [rsi], al
add rsi, r9
mov byte [rsi], cl
add rsi, r9
sub rbp, r9
jne 0x140010517
mov rbp, qword [rsp + 0x28]
mov rbx, qword [rsp + 0xa0]
cmp r15d, 0xfffffff8
je 0x140010704
movzx ecx, byte [r14]
add r14, r9
movzx eax, byte [r14]
add r14, r9
shl eax, 8
or ecx, eax
movzx eax, byte [r14]
add r14, r9
shl eax, 0x10
or ecx, eax
movzx eax, byte [r14]
add r14, r9
movzx r8d, byte [r14]
shl eax, 0x18
add r14, r9
movzx edx, byte [r14 + r9 + 1]
or ecx, eax
movzx eax, byte [r14]
shl edx, 8
shl eax, 8
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0x80]
or r8d, eax
movzx eax, byte [r14 + r9]
or edx, eax
shl edx, 0x10
or edx, r8d
mov dword [rsp + 0x24], edx
lea rdx, [rsp + 0x20]
call fcn.14000e984
mov r11d, dword [rsp + 0x20]
mov edx, dword [rsp + 0x24]
lea ecx, [r15 + 8]
mov r9d, 1
xor r11d, r12d
movsxd rax, ecx
xor edx, r13d
add rsi, rax
sub ecx, r9d
je 0x140010700
sub ecx, r9d
je 0x1400106f5
sub ecx, r9d
je 0x1400106ea
sub ecx, r9d
je 0x1400106df
sub ecx, r9d
je 0x1400106da
sub ecx, r9d
je 0x1400106d0
sub ecx, r9d
je 0x1400106c6
cmp ecx, r9d
jne 0x140010704
sub rsi, r9
mov eax, edx
shr eax, 0x18
mov byte [rsi], al
sub rsi, r9
mov eax, edx
shr eax, 0x10
mov byte [rsi], al
sub rsi, r9
mov eax, edx
shr eax, 8
mov byte [rsi], al
sub rsi, r9
mov byte [rsi], dl
sub rsi, r9
mov eax, r11d
shr eax, 0x18
mov byte [rsi], al
sub rsi, r9
mov eax, r11d
shr eax, 0x10
mov byte [rsi], al
sub rsi, r9
mov eax, r11d
shr eax, 8
mov byte [rsi], al
mov byte [rsi - 1], r11b
mov byte [rbx], r12b
mov eax, r12d
shr eax, 8
mov byte [rbp], al
add rbp, r9
mov eax, r12d
shr eax, 0x10
shr r12d, 0x18
mov byte [rbp], al
add rbp, r9
mov eax, r13d
mov byte [rbp], r12b
shr eax, 8
add rbp, r9
mov byte [rbp], r13b
add rbp, r9
mov byte [rbp], al
mov eax, r13d
shr eax, 0x10
shr r13d, 0x18
mov byte [rbp + r9], al
mov byte [rbp + r9 + 1], r13b
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret