Function at 0x14017e240
Capabilities:
Encode data using xor
Encrypt data using salsa20 or chacha
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0x140
mov rax, qword [0x140248318]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov rbx, qword [rsp + 0x178]
mov r10, rdx
mov qword [rsp + 0xa0], rcx
xor ecx, ecx
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xb0], rcx
test r8, r8
je 0x14017e7a3
mov eax, dword [r9 + 4]
mov dword [rsp + 0x58], eax
mov eax, dword [r9 + 8]
mov dword [rsp + 0x5c], eax
mov eax, dword [r9 + 0xc]
mov dword [rsp + 0x60], eax
mov eax, dword [r9 + 0x10]
mov qword [r11 + 8], rbp
mov qword [r11 - 0x10], rsi
xor esi, esi
mov dword [rsp + 0x64], eax
mov eax, dword [r9 + 0x14]
mov qword [r11 - 0x18], rdi
xor edi, edi
mov dword [rsp + 0x68], eax
mov eax, dword [r9 + 0x18]
mov dword [rsp + 0x6c], eax
mov eax, dword [r9 + 0x1c]
mov qword [r11 - 0x20], r12
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x170]
mov qword [r11 - 0x28], r13
mov qword [r11 - 0x30], r14
mov r14d, dword [r9]
mov ecx, dword [rax]
mov eax, dword [rax + 4]
mov dword [rsp + 0x88], eax
mov qword [r11 - 0x38], r15
mov dword [rsp + 0x90], r14d
mov dword [rsp + 0x44], esi
mov dword [rsp + 0x80], ecx
mov dword [rsp + 0x48], edi
cmp r8, 0x40
jae 0x14017e359
mov rdx, r10
lea rcx, [rsp + 0xc0]
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsp + 0xb0], rbx
lea r10, [rsp + 0xc0]
lea rbx, [rsp + 0xc0]
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x98], rbx
cmp qword [rsp + 0xa0], 0
mov ebp, 0x61707865
mov eax, dword [rsp + 0x58]
mov r11d, esi
mov r9d, dword [rsp + 0x70]
mov r15d, 0x3320646e
mov ecx, dword [rsp + 0x64]
mov r13d, 0x79622d32
mov edx, dword [rsp + 0x68]
mov r12d, 0x6b206574
mov r8d, dword [rsp + 0x6c]
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x38], r14d
mov r14d, dword [rsp + 0x88]
mov dword [rsp + 0x74], esi
mov esi, dword [rsp + 0x80]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x8c], ebp
mov dword [rsp + 0x24], r9d
mov dword [rsp + 0x78], edi
mov dword [rsp + 0x7c], esi
mov dword [rsp + 0x84], r14d
mov dword [rsp + 0x34], 0
jbe 0x14017e5c6
mov r10d, ecx
mov ebx, edx
mov ecx, dword [rsp + 0x38]
mov edx, dword [rsp + 0x40]
nop word [rax + rax]
add r15d, dword [rsp + 0x3c]
add ebp, ecx
add r12d, dword [rsp + 0x30]
xor r11d, ebp
xor r14d, r12d
rol r11d, 0x10
add r10d, r11d
rol r14d, 0x10
xor edi, r15d
add r13d, edx
xor esi, r13d
rol edi, 0x10
add ebx, edi
rol esi, 0x10
add r8d, esi
mov eax, r10d
xor eax, ecx
rol eax, 0xc
add ebp, eax
xor r11d, ebp
rol r11d, 8
add r10d, r11d
mov r9d, r10d
xor r9d, eax
mov eax, ebx
xor eax, dword [rsp + 0x3c]
rol eax, 0xc
add r15d, eax
rol r9d, 7
xor edi, r15d
rol edi, 8
add ebx, edi
mov ecx, ebx
xor ecx, eax
mov eax, r8d
xor eax, edx
rol ecx, 7
rol eax, 0xc
add ebp, ecx
add r13d, eax
xor esi, r13d
rol esi, 8
add r8d, esi
mov dword [rsp + 0x20], r8d
mov edx, r8d
mov r8d, dword [rsp + 0x24]
xor edx, eax
add r8d, r14d
rol edx, 7
mov eax, r8d
add r15d, edx
xor eax, dword [rsp + 0x30]
xor r11d, r15d
rol eax, 0xc
add r12d, eax
rol r11d, 0x10
xor r14d, r12d
rol r14d, 8
add r8d, r14d
xor r14d, ebp
rol r14d, 0x10
mov dword [rsp + 0x24], r8d
xor r8d, eax
mov eax, dword [rsp + 0x20]
add eax, r14d
rol r8d, 7
mov dword [rsp + 0x20], eax
xor eax, ecx
mov ecx, dword [rsp + 0x20]
rol eax, 0xc
add ebp, eax
xor r14d, ebp
rol r14d, 8
add ecx, r14d
mov dword [rsp + 0x20], ecx
xor ecx, eax
rol ecx, 7
mov dword [rsp + 0x3c], ecx
mov ecx, dword [rsp + 0x24]
add ecx, r11d
mov eax, ecx
xor eax, edx
add r13d, r8d
rol eax, 0xc
xor edi, r13d
add r15d, eax
rol edi, 0x10
add r10d, edi
add r12d, r9d
xor esi, r12d
xor r11d, r15d
rol esi, 0x10
add ebx, esi
rol r11d, 8
add ecx, r11d
mov edx, ecx
mov dword [rsp + 0x24], ecx
xor edx, eax
mov eax, r10d
xor eax, r8d
rol edx, 7
mov r8d, dword [rsp + 0x20]
rol eax, 0xc
add r13d, eax
xor edi, r13d
rol edi, 8
add r10d, edi
mov ecx, r10d
xor ecx, eax
mov eax, ebx
xor eax, r9d
rol ecx, 7
rol eax, 0xc
add r12d, eax
mov dword [rsp + 0x30], ecx
xor esi, r12d
rol esi, 8
add ebx, esi
mov ecx, ebx
xor ecx, eax
mov eax, dword [rsp + 0x34]
inc eax
rol ecx, 7
mov dword [rsp + 0x34], eax
cdqe
cmp rax, qword [rsp + 0xa0]
jb 0x14017e400
mov r9d, dword [rsp + 0x24]
mov dword [rsp + 0x28], r10d
mov r10, qword [rsp + 0x50]
mov dword [rsp + 0x40], edx
mov edx, ebx
mov dword [rsp + 0x38], ecx
mov ecx, dword [rsp + 0x28]
mov dword [rsp + 0x8c], ebp
mov dword [rsp + 0x84], r14d
mov dword [rsp + 0x7c], esi
mov dword [rsp + 0x78], edi
mov dword [rsp + 0x74], r11d
mov rbx, qword [rsp + 0x98]
lea eax, [r15 + 0x3320646e]
xor eax, dword [r10 + 4]
mov r15d, dword [rsp + 0x3c]
add r15d, dword [rsp + 0x58]
xor r15d, dword [r10 + 0x14]
mov r14d, dword [rsp + 0x40]
add r14d, dword [rsp + 0x5c]
xor r14d, dword [r10 + 0x18]
mov ebp, dword [rsp + 0x30]
add ebp, dword [rsp + 0x60]
xor ebp, dword [r10 + 0x1c]
mov esi, dword [rsp + 0x64]
mov edi, dword [rsp + 0x68]
add esi, ecx
xor esi, dword [r10 + 0x20]
add edi, edx
xor edi, dword [r10 + 0x24]
mov r11d, dword [rsp + 0x6c]
mov edx, dword [rsp + 0x80]
add r11d, r8d
xor r11d, dword [r10 + 0x28]
mov r8d, dword [rsp + 0x78]
add r8d, dword [rsp + 0x48]
add edx, dword [rsp + 0x7c]
mov ecx, dword [rsp + 0x84]
add ecx, dword [rsp + 0x88]
mov dword [rsp + 0x34], eax
lea eax, [r13 + 0x79622d32]
xor eax, dword [r10 + 8]
lea r13d, [r12 + 0x6b206574]
xor r13d, dword [r10 + 0xc]
mov r12d, dword [rsp + 0x38]
add r12d, dword [rsp + 0x90]
xor r12d, dword [r10 + 0x10]
mov r10d, dword [rsp + 0x70]
mov dword [rsp + 0x2c], eax
add r10d, r9d
mov rax, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x74]
mov dword [rsp + 0x28], r13d
mov r13d, dword [rsp + 0x44]
add r9d, r13d
xor r8d, dword [rax + 0x34]
inc r13d
xor r10d, dword [rax + 0x2c]
xor r9d, dword [rax + 0x30]
xor edx, dword [rax + 0x38]
xor ecx, dword [rax + 0x3c]
mov eax, dword [rsp + 0x8c]
add eax, 0x61707865
mov dword [rsp + 0x44], r13d
mov r13, qword [rsp + 0x50]
xor eax, dword [r13]
mov r13d, dword [rsp + 0x28]
mov dword [rbx], eax
mov eax, dword [rsp + 0x34]
mov dword [rbx + 0x34], r8d
mov r8, qword [rsp + 0xa8]
mov dword [rbx + 4], eax
mov eax, dword [rsp + 0x2c]
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], r13d
mov dword [rbx + 0x10], r12d
mov dword [rbx + 0x14], r15d
mov dword [rbx + 0x18], r14d
mov dword [rbx + 0x1c], ebp
mov dword [rbx + 0x20], esi
mov dword [rbx + 0x24], edi
mov dword [rbx + 0x28], r11d
mov dword [rbx + 0x2c], r10d
mov dword [rbx + 0x30], r9d
mov dword [rbx + 0x38], edx
mov dword [rbx + 0x3c], ecx
cmp r8, 0x40
jbe 0x14017e759
mov edi, dword [rsp + 0x48]
sub r8, 0x40
mov r10, qword [rsp + 0x50]
add rbx, 0x40
mov esi, dword [rsp + 0x44]
add r10, 0x40
mov r14d, dword [rsp + 0x90]
test esi, esi
lea eax, [rdi + 1]
mov qword [rsp + 0xa8], r8
cmovne eax, edi
mov qword [rsp + 0x98], rbx
mov edi, eax
mov qword [rsp + 0x50], r10
jmp 0x14017e31a
mov r15, qword [rsp + 0x110]
mov r14, qword [rsp + 0x118]
mov r13, qword [rsp + 0x120]
mov r12, qword [rsp + 0x128]
mov rdi, qword [rsp + 0x130]
mov rsi, qword [rsp + 0x138]
mov rbp, qword [rsp + 0x150]
jae 0x14017e7a3
mov rcx, qword [rsp + 0xb0]
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.14018bc90
add rsp, 0x140
pop rbx
ret