Function at 0x14005aed0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
lea rbp, [rsp + 0x20]
mov rax, qword [0x140271510]
xor rax, rbp
mov qword [rbp + 0x18], rax
mov ebx, dword [rcx + 8]
mov r15, r8
mov r8d, edx
movsxd r14, r9d
mov eax, ebx
mov rsi, rcx
neg eax
mov r9d, r14d
mov eax, 0x8000
sbb dx, dx
xor edi, edi
not dx
and dx, 0x80
or dx, ax
cmp dword [rcx + 0x10], edi
je 0x14005af2a
mov dword [rcx + 0x10], edi
xor r8d, r8d
lea rcx, [rbp + 8]
call fcn.14008ec6c
mov r12d, eax
test ebx, ebx
jne 0x14005b06a
lea eax, [r14 + 4]
add eax, r12d
movsxd rdx, eax
mov dword [rbp], eax
lea rax, [rdx + 0x38]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x14005af62
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.14016df80
sub rsp, rcx
mov ebx, 1
mov r9d, ebx
lea rcx, [rsp + 0x20]
lea r8d, [rbx + 7]
call fcn.140077f24
mov r13, rax
movsxd r12, r12d
add rax, 8
lea r8, [rbp + 8]
mov r9, r12
mov rdx, r12
mov rcx, r13
mov qword [r13], rax
call section..text
lea edx, [rbx + 3]
lea rcx, [r12 + r13]
call fcn.1400b16f0
lea r10, [r12 + r13]
mov r11d, dword [r10]
test r14d, r14d
jle 0x14005b03c
mov rcx, r14
mov edx, edi
sar rcx, 2
mov r8, r14
test rcx, rcx
jle 0x14005aff5
mov r10, r12
mov r9, r15
sub r10, r15
mov edx, ecx
add r10, r13
mov eax, dword [r9]
lea r9, [r9 + 4]
xor eax, r11d
mov dword [r10 + r9], eax
sub rcx, rbx
jne 0x14005afde
lea r10, [r12 + r13]
shl edx, 2
movsxd rcx, edx
cmp rcx, r8
jge 0x14005b03c
sub r15, r12
lea rax, [rcx + r12]
lea r9, [r13 + 4]
sub r15, r13
add r9, rax
sub r8, rcx
mov eax, edx
and eax, 0x80000003
jge 0x14005b024
sub eax, ebx
or eax, 0xfffffffc
add eax, ebx
cdqe
add edx, ebx
mov cl, byte [rax + r10]
xor cl, byte [r15 + r9 - 4]
mov byte [r9], cl
add r9, rbx
sub r8, rbx
jne 0x14005b014
mov rcx, qword [rsi + 0x48]
call fcn.14007805c
test eax, eax
je 0x14005b0fd
mov rax, qword [rsi + 0x48]
test rax, rax
je 0x14005b05b
mov rcx, qword [rax]
jmp 0x14005b05e
mov rcx, rdi
mov r9d, dword [rbp]
mov r8, r13
jmp 0x14005b0ed
mov rcx, qword [rsi]
call fcn.14007df68
test eax, eax
je 0x14005b108
mov rcx, qword [rsi + 0x48]
call fcn.14007805c
test r14d, r14d
jle 0x14005b0d1
test eax, eax
je 0x14005b0ab
mov rax, qword [rsi + 0x48]
test rax, rax
je 0x14005b09a
mov rcx, qword [rax]
jmp 0x14005b09d
mov rcx, rdi
mov r9d, r12d
lea r8, [rbp + 8]
xor edx, edx
call fcn.140068874
mov rcx, qword [rsi + 0x48]
call fcn.14007805c
test eax, eax
je 0x14005b0f8
mov rax, qword [rsi + 0x48]
test rax, rax
je 0x14005b0c6
mov rcx, qword [rax]
jmp 0x14005b0c9
mov rcx, rdi
mov r9d, r14d
mov r8, r15
jmp 0x14005b0ed
test eax, eax
je 0x14005b0f8
mov rax, qword [rsi + 0x48]
test rax, rax
je 0x14005b0e3
mov rcx, qword [rax]
jmp 0x14005b0e6
mov rcx, rdi
mov r9d, r12d
lea r8, [rbp + 8]
xor edx, edx
call fcn.140068874
mov ebx, eax
jmp 0x14005b0fd
mov ebx, 1
test ebx, ebx
sete dil
jmp 0x14005b196
lea eax, [r14 + r12]
movsxd rbx, eax
lea rcx, [rbx + 0x18]
call fcn.140176110
mov rcx, rax
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
call fcn.140077f24
movsxd rbx, r12d
lea r8, [rbp + 8]
mov r9, rbx
mov rdx, rbx
mov rcx, rax
mov r13, rax
call section..text
mov rdx, r14
lea rcx, [rbx + r13]
mov r9, r14
mov r8, r15
call section..text
mov rcx, qword [rsi + 0x48]
call fcn.14007805c
test eax, eax
je 0x14005b183
mov rax, qword [rsi + 0x48]
test rax, rax
je 0x14005b16e
mov rcx, qword [rax]
jmp 0x14005b171
mov rcx, rdi
lea r9d, [r14 + r12]
mov r8, r13
xor edx, edx
call fcn.140068874
mov ebx, eax
jmp 0x14005b188
mov ebx, 1
test ebx, ebx
mov rcx, r13
sete dil
call fcn.14007800c
mov eax, edi
mov rcx, qword [rbp + 0x18]
xor rcx, rbp
call fcn.14016d990
lea rsp, [rbp + 0x28]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret