Function at 0x140392e10
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
mov eax, 0x28
call fcn.1403cb200
sub rsp, rax
mov rdi, qword [rbp + 0x78]
mov r14, rcx
xor ebx, ebx
mov r10, r9
mov rsi, rdx
movzx eax, byte [rdi]
movzx r12d, byte [rdi + 1]
lea r15d, [rbx + 1]
movzx r13d, byte [rdi + 4]
movzx ecx, byte [rdi + 7]
shl r12d, 8
or r12d, eax
shl ecx, 8
movzx eax, byte [rdi + 2]
shl eax, 0x10
or r12d, eax
movzx eax, byte [rdi + 3]
shl eax, 0x18
or r12d, eax
movzx eax, byte [rdi + 5]
shl eax, 8
or r13d, eax
movzx eax, byte [rdi + 6]
or ecx, eax
shl ecx, 0x10
or r13d, ecx
lea ecx, [r8 - 8]
cmp dword [rbp + 0x80], ebx
je 0x1403930ab
test ecx, ecx
js 0x140392fa4
mov rbx, qword [rbp + 0x60]
mov eax, r8d
shr rax, 3
mov qword [rbp + 0x48], rax
neg eax
mov rdi, qword [rbp + 0x48]
lea ecx, [rcx + rax*8]
mov dword [rbp + 0x80], ecx
movzx edx, byte [r14]
add r14, r15
mov r9, qword [rbp + 0x70]
mov r8, qword [rbp + 0x68]
movzx eax, byte [r14]
add r14, r15
shl eax, 8
or edx, eax
movzx eax, byte [r14]
add r14, r15
shl eax, 0x10
or edx, eax
movzx eax, byte [r14]
add r14, r15
shl eax, 0x18
or edx, eax
xor edx, r12d
movzx ecx, byte [r14]
add r14, r15
mov dword [rbp + 0x48], edx
mov rdx, rbx
movzx eax, byte [r14]
add r14, r15
shl eax, 8
or ecx, eax
movzx eax, byte [r14]
add r14, r15
shl eax, 0x10
or ecx, eax
movzx eax, byte [r14]
add r14, r15
shl eax, 0x18
or ecx, eax
xor ecx, r13d
mov dword [rbp + 0x4c], ecx
lea rcx, [rbp + 0x48]
call fcn.140395930
mov r12d, dword [rbp + 0x48]
mov eax, r12d
mov r13d, dword [rbp + 0x4c]
mov byte [rsi], r12b
add rsi, r15
shr eax, 8
mov byte [rsi], al
add rsi, r15
mov eax, r12d
shr eax, 0x10
mov byte [rsi], al
add rsi, r15
mov eax, r12d
shr eax, 0x18
mov byte [rsi], al
add rsi, r15
mov eax, r13d
shr eax, 8
mov byte [rsi], r13b
add rsi, r15
mov byte [rsi], al
add rsi, r15
mov eax, r13d
shr eax, 0x10
mov byte [rsi], al
add rsi, r15
mov eax, r13d
shr eax, 0x18
mov byte [rsi], al
add rsi, r15
sub rdi, r15
jne 0x140392ebf
mov rdi, qword [rbp + 0x78]
xor ebx, ebx
mov ecx, dword [rbp + 0x80]
mov r10, qword [rbp + 0x60]
cmp ecx, 0xfffffff8
je 0x1403932b4
add ecx, 8
mov edx, ebx
movsxd rax, ecx
add r14, rax
sub ecx, r15d
je 0x14039302d
sub ecx, r15d
je 0x140393021
sub ecx, r15d
je 0x140393015
sub ecx, r15d
je 0x14039300b
sub ecx, r15d
je 0x140393002
sub ecx, r15d
je 0x140392ff6
sub ecx, r15d
je 0x140392fea
cmp ecx, r15d
jne 0x140393034
sub r14, r15
movzx ebx, byte [r14]
shl ebx, 0x18
sub r14, r15
movzx eax, byte [r14]
shl eax, 0x10
or ebx, eax
sub r14, r15
movzx eax, byte [r14]
shl eax, 8
or ebx, eax
sub r14, r15
movzx eax, byte [r14]
or ebx, eax
sub r14, r15
movzx edx, byte [r14]
shl edx, 0x18
sub r14, r15
movzx eax, byte [r14]
shl eax, 0x10
or edx, eax
sub r14, r15
movzx eax, byte [r14]
shl eax, 8
or edx, eax
movzx eax, byte [r14 - 1]
or edx, eax
mov r9, qword [rbp + 0x70]
lea rcx, [rbp + 0x48]
mov r8, qword [rbp + 0x68]
xor edx, r12d
mov dword [rbp + 0x48], edx
xor ebx, r13d
mov rdx, r10
mov dword [rbp + 0x4c], ebx
call fcn.140395930
mov r12d, dword [rbp + 0x48]
mov eax, r12d
mov r13d, dword [rbp + 0x4c]
mov byte [rsi], r12b
add rsi, r15
shr eax, 8
mov byte [rsi], al
add rsi, r15
mov eax, r12d
shr eax, 0x10
mov byte [rsi], al
add rsi, r15
mov eax, r12d
shr eax, 0x18
mov byte [rsi], al
add rsi, r15
mov eax, r13d
shr eax, 8
mov byte [rsi], r13b
add rsi, r15
mov byte [rsi], al
mov eax, r13d
shr eax, 0x10
mov byte [rsi + r15], al
mov eax, r13d
shr eax, 0x18
mov byte [rsi + r15 + 1], al
jmp 0x1403932b4
mov dword [rbp + 0x80], ecx
test ecx, ecx
js 0x1403931ab
mov eax, r8d
shr rax, 3
mov qword [rbp + 0x50], rax
neg eax
lea ecx, [rcx + rax*8]
mov dword [rbp + 0x80], ecx
movzx edi, byte [r14]
lea rcx, [rbp + 0x48]
mov r9, qword [rbp + 0x70]
add r14, r15
mov r8, qword [rbp + 0x68]
mov rdx, r10
movzx eax, byte [r14]
add r14, r15
shl eax, 8
or edi, eax
movzx eax, byte [r14]
add r14, r15
shl eax, 0x10
or edi, eax
movzx eax, byte [r14]
add r14, r15
shl eax, 0x18
or edi, eax
mov dword [rbp + 0x48], edi
movzx ebx, byte [r14]
add r14, r15
movzx eax, byte [r14]
add r14, r15
shl eax, 8
or ebx, eax
movzx eax, byte [r14]
add r14, r15
shl eax, 0x10
or ebx, eax
movzx eax, byte [r14]
add r14, r15
shl eax, 0x18
or ebx, eax
mov dword [rbp + 0x4c], ebx
call fcn.140392cc0
mov ecx, dword [rbp + 0x48]
mov edx, dword [rbp + 0x4c]
xor ecx, r12d
mov r10, qword [rbp + 0x60]
xor edx, r13d
mov byte [rsi], cl
mov eax, ecx
add rsi, r15
shr eax, 8
mov r12d, edi
mov r13d, ebx
mov byte [rsi], al
add rsi, r15
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
mov byte [rsi], al
add rsi, r15
mov eax, edx
shr eax, 8
mov byte [rsi], cl
add rsi, r15
mov byte [rsi], dl
add rsi, r15
mov byte [rsi], al
add rsi, r15
mov eax, edx
shr edx, 0x18
shr eax, 0x10
mov byte [rsi], al
add rsi, r15
mov byte [rsi], dl
add rsi, r15
sub qword [rbp + 0x50], r15
jne 0x1403930cf
mov rdi, qword [rbp + 0x78]
mov ecx, dword [rbp + 0x80]
cmp ecx, 0xfffffff8
je 0x1403932b4
movzx ebx, byte [r14]
add r14, r15
mov r9, qword [rbp + 0x70]
mov r8, qword [rbp + 0x68]
movzx eax, byte [r14]
add r14, r15
shl eax, 8
or ebx, eax
movzx eax, byte [r14]
add r14, r15
shl eax, 0x10
or ebx, eax
movzx eax, byte [r14]
add r14, r15
shl eax, 0x18
or ebx, eax
mov dword [rbp + 0x48], ebx
movzx edx, byte [r14]
add r14, r15
movzx ecx, byte [r14 + r15 + 1]
movzx eax, byte [r14]
shl ecx, 8
shl eax, 8
or edx, eax
movzx eax, byte [r14 + r15]
or ecx, eax
shl ecx, 0x10
or edx, ecx
lea rcx, [rbp + 0x48]
mov dword [rbp + 0x58], edx
mov dword [rbp + 0x4c], edx
mov rdx, r10
call fcn.140392cc0
mov ecx, dword [rbp + 0x80]
mov r8d, dword [rbp + 0x48]
add ecx, 8
mov edx, dword [rbp + 0x4c]
xor r8d, r12d
movsxd rax, ecx
xor edx, r13d
add rsi, rax
sub ecx, r15d
je 0x1403932a9
sub ecx, r15d
je 0x14039329e
sub ecx, r15d
je 0x140393293
sub ecx, r15d
je 0x140393288
sub ecx, r15d
je 0x140393283
sub ecx, r15d
je 0x140393279
sub ecx, r15d
je 0x14039326f
cmp ecx, r15d
jne 0x1403932ad
sub rsi, r15
mov eax, edx
shr eax, 0x18
mov byte [rsi], al
sub rsi, r15
mov eax, edx
shr eax, 0x10
mov byte [rsi], al
sub rsi, r15
mov eax, edx
shr eax, 8
mov byte [rsi], al
sub rsi, r15
mov byte [rsi], dl
sub rsi, r15
mov eax, r8d
shr eax, 0x18
mov byte [rsi], al
sub rsi, r15
mov eax, r8d
shr eax, 0x10
mov byte [rsi], al
sub rsi, r15
mov eax, r8d
shr eax, 8
mov byte [rsi], al
mov byte [rsi - 1], r8b
mov r13d, dword [rbp + 0x58]
mov r12d, ebx
mov byte [rdi], r12b
mov eax, r13d
shr eax, 0x18
mov ecx, r13d
shr ecx, 0x10
mov edx, r13d
shr edx, 8
mov r8d, r12d
shr r8d, 0x18
mov r9d, r12d
shr r9d, 0x10
mov r10d, r12d
shr r10d, 8
mov byte [rdi + 1], r10b
mov byte [rdi + 2], r9b
mov byte [rdi + 3], r8b
mov byte [rdi + 4], r13b
mov byte [rdi + 5], dl
mov byte [rdi + 6], cl
mov byte [rdi + 7], al
add rsp, 0x28
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret