Function at 0x14000eb44
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 r14, qword [rsp + 0xa0]
mov r12d, dword [r11 + 0x20]
mov rbx, qword [r11 + 0x18]
movzx r8d, byte [r14]
mov rsi, qword [r11 + 0x10]
mov r15d, 1
shl r8d, 0x18
lea rdi, [r14 + 1]
add r12d, 0xfffffff8
movzx eax, byte [rdi]
lea rdx, [r15 + rdi]
xor ebp, ebp
shl eax, 0x10
or r8d, eax
movzx eax, byte [rdx]
add rdx, r15
shl eax, 8
or r8d, eax
movzx eax, byte [rdx]
add rdx, r15
movzx r9d, byte [rdx]
add rdx, r15
or r8d, eax
movzx eax, byte [rdx]
movzx ecx, byte [rdx + r15]
shl r9d, 0x18
shl eax, 0x10
shl ecx, 8
or r9d, eax
movzx eax, byte [rdx + r15 + 1]
or ecx, eax
or r9d, ecx
cmp r12d, ebp
jl 0x14000ecca
lea r13d, [r12 + 8]
shr r13, 3
mov eax, r13d
neg eax
lea r12d, [r12 + rax*8]
movzx edx, byte [rbx]
add rbx, r15
movzx eax, byte [rbx]
add rbx, r15
shl edx, 0x18
shl eax, 0x10
or edx, eax
movzx eax, byte [rbx]
add rbx, r15
shl eax, 8
or edx, eax
movzx eax, byte [rbx]
add rbx, r15
movzx ecx, byte [rbx]
or edx, eax
add rbx, r15
movzx eax, byte [rbx]
shl ecx, 0x18
add rbx, r15
shl eax, 0x10
xor edx, r8d
or ecx, eax
movzx eax, byte [rbx]
add rbx, r15
shl eax, 8
mov dword [rsp + 0x20], edx
lea rdx, [rsp + 0x20]
or ecx, eax
movzx eax, byte [rbx]
add rbx, r15
or ecx, eax
xor ecx, r9d
mov dword [rsp + 0x24], ecx
mov rcx, qword [rsp + 0x80]
call fcn.140010ed0
mov r8d, dword [rsp + 0x20]
mov r9d, dword [rsp + 0x24]
mov eax, r8d
shr eax, 0x18
mov byte [rsi], al
add rsi, r15
mov eax, r8d
shr eax, 0x10
mov byte [rsi], al
add rsi, r15
mov eax, r8d
shr eax, 8
mov byte [rsi], al
add rsi, r15
mov al, r8b
mov byte [rsi], al
add rsi, r15
mov eax, r9d
shr eax, 0x18
mov byte [rsi], al
add rsi, r15
mov eax, r9d
shr eax, 0x10
mov byte [rsi], al
add rsi, r15
mov eax, r9d
shr eax, 8
mov byte [rsi], al
add rsi, r15
mov al, r9b
mov byte [rsi], al
add rsi, r15
sub r13, r15
jne 0x14000ebf7
cmp r12d, 0xfffffff8
je 0x14000edcd
lea ecx, [r12 + 8]
mov edx, ebp
movsxd rax, ecx
add rbx, rax
sub ecx, r15d
je 0x14000ed4c
sub ecx, r15d
je 0x14000ed41
sub ecx, r15d
je 0x14000ed36
sub ecx, r15d
je 0x14000ed30
sub ecx, r15d
je 0x14000ed25
sub ecx, r15d
je 0x14000ed1a
sub ecx, r15d
je 0x14000ed0f
cmp ecx, r15d
jne 0x14000ed55
sub rbx, r15
movzx ebp, byte [rbx]
sub rbx, r15
movzx eax, byte [rbx]
shl eax, 8
or ebp, eax
sub rbx, r15
movzx eax, byte [rbx]
shl eax, 0x10
or ebp, eax
sub rbx, r15
movzx eax, byte [rbx]
shl eax, 0x18
or ebp, eax
sub rbx, r15
movzx edx, byte [rbx]
sub rbx, r15
movzx eax, byte [rbx]
shl eax, 8
or edx, eax
sub rbx, r15
movzx eax, byte [rbx]
shl eax, 0x10
or edx, eax
movzx eax, byte [rbx - 1]
shl eax, 0x18
or edx, eax
mov rcx, qword [rsp + 0x80]
xor edx, r8d
xor ebp, r9d
mov dword [rsp + 0x20], edx
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x24], ebp
call fcn.140010ed0
mov r8d, dword [rsp + 0x20]
mov r9d, dword [rsp + 0x24]
mov eax, r8d
shr eax, 0x18
mov byte [rsi], al
add rsi, r15
mov eax, r8d
shr eax, 0x10
mov byte [rsi], al
add rsi, r15
mov eax, r8d
shr eax, 8
mov byte [rsi], al
add rsi, r15
mov al, r8b
mov byte [rsi], al
add rsi, r15
mov eax, r9d
shr eax, 0x18
mov byte [rsi], al
add rsi, r15
mov eax, r9d
shr eax, 0x10
mov byte [rsi], al
mov eax, r9d
shr eax, 8
mov byte [rsi + r15], al
mov al, r9b
mov byte [rsi + r15 + 1], al
mov eax, r8d
shr eax, 0x18
mov byte [r14], al
mov eax, r8d
shr eax, 0x10
mov byte [rdi], al
add rdi, r15
mov eax, r8d
shr eax, 8
mov byte [rdi], al
add rdi, r15
mov eax, r9d
mov byte [rdi], r8b
shr eax, 0x18
add rdi, r15
mov byte [rdi], al
add rdi, r15
mov eax, r9d
shr eax, 0x10
mov byte [rdi], al
mov eax, r9d
shr eax, 8
mov byte [rdi + r15], al
mov byte [rdi + r15 + 1], r9b
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret