Function at 0x14017dde8
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xc0
mov rax, qword [0x14046e3c8]
xor rax, rsp
mov qword [rbp + 0xf], rax
mov rsi, qword [rcx + 0x80]
lea r15, [rbp - 0x71]
mov rbx, rcx
mov qword [rbp - 0x79], r9
add r15, rsi
mov r13d, 0x80
mov r9d, r13d
mov qword [rsp + 0x20], r15
lea r10d, [r8 + rsi*8]
mov ecx, r8d
mov r14, qword [rbx + 0xf0]
xor edi, edi
sar r9d, cl
mov al, r9b
neg al
and al, dl
mov rdx, qword [rbx + 0xe8]
or al, r9b
mov byte [r15], al
mov eax, r10d
lea r12, [rdx + r10]
test rsi, rsi
jne 0x14017de82
test r8d, r8d
jne 0x14017de82
or qword [rbx + 0xf0], 0xffffffffffffffff
mov qword [rbx + 0xe8], 0xfffffffffffffc00
jmp 0x14017deb3
test rdx, rdx
jne 0x14017dea1
add rax, 0xfffffffffffffc00
mov qword [rbx + 0xe8], rax
lea rax, [r14 - 1]
mov qword [rbx + 0xf0], rax
jmp 0x14017deb3
mov ecx, 0x400
sub ecx, r10d
sub rdx, rcx
mov qword [rbx + 0xe8], rdx
lea rcx, [rbp - 0x70]
xor edx, edx
add rcx, rsi
cmp r10d, 0x37e
ja 0x14017df81
lea r8d, [rdx + 0x6f]
sub r8, rsi
call sub.VCRUNTIME140.dll_memset
mov r15, qword [rbp + 0x7f]
cmp r15, 8
jne 0x14017dee3
or byte [rbp - 2], 1
rol r14, 0x20
movabs r8, 0xffff0000ffff
rol r12, 0x20
mov rdx, r14
shr rdx, 0x10
mov rax, r14
shl rax, 0x10
xor rdx, rax
shl r14, 0x10
and rdx, r8
xor rdx, r14
movabs r14, 0xff00ff00ff00ff
mov rcx, rdx
mov rax, rdx
shr rcx, 8
shl rdx, 8
shl rax, 8
xor rcx, rax
mov rax, r12
and rcx, r14
shl rax, 0x10
xor rcx, rdx
mov rdx, r12
shr rdx, 0x10
xor rdx, rax
mov qword [rbp - 1], rcx
and rdx, r8
shl r12, 0x10
xor rdx, r12
mov rcx, rdx
mov rax, rdx
shr rcx, 8
shl rdx, 8
shl rax, 8
xor rcx, rax
and rcx, r14
xor rcx, rdx
mov rdx, qword [rsp + 0x20]
sub r13, rsi
mov esi, 1
jmp 0x14017e069
mov r8d, 0x7f
sub r8, rsi
call sub.VCRUNTIME140.dll_memset
mov r8, r13
mov rdx, r15
sub r8, rsi
mov rcx, rbx
call fcn.14017944c
or qword [rbx + 0xf0], 0xffffffffffffffff
lea rcx, [rbp - 0x71]
xor edx, edx
mov qword [rbx + 0xe8], 0xfffffffffffffc00
lea r8d, [rdx + 0x70]
call sub.VCRUNTIME140.dll_memset
movzx eax, byte [rbp - 2]
movabs r8, 0xffff0000ffff
mov r15, qword [rbp + 0x7f]
mov esi, 1
cmp r15, 8
cmove eax, esi
rol r14, 0x20
mov byte [rbp - 2], al
mov rdx, r14
shr rdx, 0x10
mov rax, r14
shl rax, 0x10
xor rdx, rax
rol r12, 0x20
and rdx, r8
shl r14, 0x10
xor rdx, r14
movabs r14, 0xff00ff00ff00ff
mov rcx, rdx
mov rax, rdx
shl rdx, 8
shr rcx, 8
shl rax, 8
xor rcx, rax
mov rax, r12
and rcx, r14
shl rax, 0x10
xor rcx, rdx
mov rdx, r12
shr rdx, 0x10
xor rdx, rax
mov qword [rbp - 1], rcx
and rdx, r8
shl r12, 0x10
xor rdx, r12
mov rcx, rdx
mov rax, rdx
shr rcx, 8
shl rax, 8
xor rcx, rax
shl rdx, 8
and rcx, r14
xor rcx, rdx
lea rdx, [rbp - 0x71]
mov qword [rbp + 7], rcx
mov r8, r13
mov rcx, rbx
call fcn.14017944c
test r15, r15
je 0x14017e0df
mov r9, qword [rbp - 0x79]
add rbx, 0x88
movabs r8, 0xffff0000ffff
mov rcx, qword [rbx]
lea rbx, [rbx + 8]
rol rcx, 0x20
mov rdx, rcx
mov rax, rcx
shl rcx, 0x10
shr rdx, 0x10
shl rax, 0x10
xor rdx, rax
and rdx, r8
xor rdx, rcx
mov rcx, rdx
mov rax, rdx
shr rcx, 8
shl rax, 8
xor rcx, rax
shl rdx, 8
and rcx, r14
xor rcx, rdx
mov qword [r9 + rdi*8], rcx
add rdi, rsi
cmp rdi, r15
jb 0x14017e092
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.1400106c0
mov rbx, qword [rsp + 0x108]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret