Function at 0x14000ee28
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]
shl r12d, 0x18
lea rdx, [r9 + rbp]
shl eax, 0x10
mov qword [rsp + 0x28], rbp
mov r14, r8
or r12d, eax
movzx eax, byte [rdx]
add rdx, r9
shl eax, 8
or r12d, eax
movzx eax, byte [rdx]
add rdx, r9
movzx r13d, byte [rdx]
add rdx, r9
or r12d, eax
movzx eax, byte [rdx]
movzx ecx, byte [rdx + r9]
shl r13d, 0x18
shl eax, 0x10
shl ecx, 8
or r13d, eax
movzx eax, byte [rdx + r9 + 1]
or ecx, eax
or r13d, ecx
add r15d, 0xfffffff8
js 0x14000efcc
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
shl edi, 0x18
shl eax, 0x10
lea rdx, [rsp + 0x20]
or edi, eax
movzx eax, byte [r14]
add r14, r9
shl eax, 8
or edi, eax
movzx eax, byte [r14]
add r14, r9
movzx ebx, byte [r14]
or edi, eax
add r14, r9
movzx eax, byte [r14]
add r14, r9
shl ebx, 0x18
shl eax, 0x10
mov dword [rsp + 0x20], edi
or ebx, eax
movzx eax, byte [r14]
add r14, r9
shl eax, 8
or ebx, eax
movzx eax, byte [r14]
add r14, r9
or ebx, eax
mov dword [rsp + 0x24], ebx
call fcn.1400112fc
mov r11d, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x24]
mov r9d, 1
xor r11d, r12d
xor ecx, r13d
mov eax, r11d
mov r12d, edi
shr eax, 0x18
mov r13d, ebx
mov byte [rsi], al
add rsi, r9
mov eax, r11d
shr eax, 0x10
mov byte [rsi], al
add rsi, r9
mov eax, r11d
shr eax, 8
mov byte [rsi], al
add rsi, r9
mov eax, ecx
mov byte [rsi], r11b
add rsi, r9
shr eax, 0x18
mov byte [rsi], al
add rsi, r9
mov eax, ecx
shr eax, 0x10
mov byte [rsi], al
add rsi, r9
mov eax, ecx
shr eax, 8
mov byte [rsi], al
add rsi, r9
mov byte [rsi], cl
add rsi, r9
sub rbp, r9
jne 0x14000eee1
mov rbp, qword [rsp + 0x28]
mov rbx, qword [rsp + 0xa0]
cmp r15d, 0xfffffff8
je 0x14000f0cf
movzx ecx, byte [r14]
add r14, r9
movzx eax, byte [r14]
shl ecx, 0x18
add r14, r9
shl eax, 0x10
or ecx, eax
movzx eax, byte [r14]
add r14, r9
shl eax, 8
or ecx, eax
movzx eax, byte [r14]
add r14, r9
movzx r8d, byte [r14]
or ecx, eax
add r14, r9
movzx edx, byte [r14 + r9]
movzx eax, byte [r14]
shl r8d, 0x18
shl edx, 8
shl eax, 0x10
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0x80]
or r8d, eax
movzx eax, byte [r14 + r9 + 1]
or edx, eax
or edx, r8d
mov dword [rsp + 0x24], edx
lea rdx, [rsp + 0x20]
call fcn.1400112fc
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 0x14000f0c7
sub ecx, r9d
je 0x14000f0bc
sub ecx, r9d
je 0x14000f0b1
sub ecx, r9d
je 0x14000f0ab
sub ecx, r9d
je 0x14000f0a3
sub ecx, r9d
je 0x14000f099
sub ecx, r9d
je 0x14000f08f
cmp ecx, r9d
jne 0x14000f0cf
sub rsi, r9
mov byte [rsi], dl
sub rsi, r9
mov eax, edx
shr eax, 8
mov byte [rsi], al
sub rsi, r9
mov eax, edx
shr eax, 0x10
mov byte [rsi], al
sub rsi, r9
shr edx, 0x18
mov byte [rsi], dl
sub rsi, r9
mov byte [rsi], r11b
sub rsi, r9
mov eax, r11d
shr eax, 8
mov byte [rsi], al
sub rsi, r9
mov eax, r11d
shr eax, 0x10
mov byte [rsi], al
shr r11d, 0x18
mov byte [rsi - 1], r11b
mov eax, r12d
shr eax, 0x18
mov byte [rbx], al
mov eax, r12d
shr eax, 0x10
mov byte [rbp], al
add rbp, r9
mov eax, r12d
shr eax, 8
mov byte [rbp], al
add rbp, r9
mov eax, r13d
mov byte [rbp], r12b
shr eax, 0x18
add rbp, r9
mov byte [rbp], al
add rbp, r9
mov eax, r13d
shr eax, 0x10
mov byte [rbp], al
mov eax, r13d
shr eax, 8
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