Function at 0x40ca80
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Encrypt data using salsa20 or chacha

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov qword [rsp + 0xb0], rcx
test r9, r9
je 0x40cd83
mov eax, dword [r9]
mov dword [rsp + 0x20], eax
mov eax, dword [r9 + 4]
mov dword [rsp + 0x24], eax
mov eax, dword [r9 + 8]
mov dword [rsp + 0x28], eax
mov eax, dword [r9 + 0xc]
mov dword [rsp + 0x2c], eax
mov ebp, dword [rdx + 4]
mov esi, dword [r8 + 4]
mov dword [rsp + 8], 0
mov r14d, dword [r8 + 8]
mov ecx, dword [r8 + 0xc]
mov r12d, dword [r8 + 0x10]
mov r9d, dword [r8 + 0x18]
mov dword [rsp + 0x34], esi
mov eax, dword [r8 + 0x1c]
mov r13d, dword [rdx]
mov dword [rsp + 0x38], r14d
mov r11d, dword [rdx + 8]
mov edx, dword [rdx + 0xc]
mov dword [rsp + 0x3c], ecx
mov edi, dword [r8]
mov ebx, dword [r8 + 0x14]
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x48], r9d
mov r15d, dword [rsp + 0x2c]
mov dword [rsp + 0x4c], eax
mov r8d, ebx
mov r10d, dword [rsp + 0x28]
mov dword [rsp + 0x50], r13d
mov dword [rsp + 0x58], r11d
mov dword [rsp + 0x5c], edx
mov dword [rsp + 0x10], r14d
mov dword [rsp + 0xc], esi
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x44], ebx
mov ebx, dword [rsp + 0x24]
mov dword [rsp + 0x54], ebp
mov dword [rsp + 0x14], ebp
mov ebp, edi
mov edi, dword [rsp + 0x20]
lea esi, [rdi + r8]
rol esi, 7
xor ecx, esi
lea esi, [r13 + r10]
lea r14d, [rcx + rdi]
rol esi, 7
rol r14d, 9
xor esi, eax
xor r14d, r11d
lea r11d, [rcx + r14]
rol r11d, 0xd
xor r11d, r8d
lea r8d, [r14 + r11]
mov dword [rsp + 0x18], r11d
lea r11d, [r12 + r15]
ror r8d, 0xe
rol r11d, 7
xor r11d, dword [rsp + 0x10]
xor edi, r8d
lea r8d, [rbp + rbx]
rol r8d, 7
xor edx, r8d
lea r8d, [rdx + rbx]
rol r8d, 9
xor r8d, r9d
lea r9d, [rdx + r8]
mov dword [rsp + 0x1c], r8d
rol r9d, 0xd
xor r9d, ebp
lea r8d, [r8 + r9]
ror r8d, 0xe
xor ebx, r8d
lea r8d, [rsi + r10]
rol r8d, 9
xor r8d, dword [rsp + 0xc]
lea eax, [rsi + r8]
rol eax, 0xd
xor r13d, eax
lea eax, [r8 + r13]
ror eax, 0xe
xor r10d, eax
lea eax, [r11 + r15]
rol eax, 9
xor eax, dword [rsp + 0x14]
lea ebp, [r11 + rax]
rol ebp, 0xd
xor r12d, ebp
lea ebp, [rax + r12]
ror ebp, 0xe
xor r15d, ebp
lea ebp, [rdi + r11]
rol ebp, 7
xor ebp, r9d
lea r9d, [rdi + rbp]
rol r9d, 9
xor r9d, r8d
lea r8d, [rbp + r9]
mov dword [rsp + 0xc], r9d
rol r8d, 0xd
xor r8d, r11d
add r9d, r8d
mov dword [rsp + 0x10], r8d
mov r8d, r9d
ror r8d, 0xe
xor edi, r8d
lea r8d, [rcx + rbx]
rol r8d, 7
xor r13d, r8d
lea r8d, [rbx + r13]
rol r8d, 9
xor r8d, eax
lea eax, [r13 + r8]
mov dword [rsp + 0x14], r8d
rol eax, 0xd
xor ecx, eax
lea eax, [r8 + rcx]
lea r8d, [rsi + r15]
ror eax, 0xe
rol r8d, 7
xor r8d, dword [rsp + 0x18]
xor ebx, eax
lea eax, [rdx + r10]
lea r9d, [r15 + r8]
rol eax, 7
rol r9d, 9
xor r9d, dword [rsp + 0x1c]
xor r12d, eax
lea r11d, [r10 + r12]
rol r11d, 9
xor r11d, r14d
lea eax, [r12 + r11]
rol eax, 0xd
xor edx, eax
lea eax, [r11 + rdx]
ror eax, 0xe
xor r10d, eax
lea eax, [r8 + r9]
rol eax, 0xd
xor eax, esi
lea esi, [r9 + rax]
ror esi, 0xe
xor r15d, esi
add dword [rsp + 8], 2
mov esi, dword [rsp + 8]
cmp dword [rsp + 0xd0], esi
jg 0x40cb4d
mov r14d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0xb0]
add edi, dword [rsp + 0x20]
add ebx, dword [rsp + 0x24]
add r14d, ebp
add r13d, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x38]
mov dword [rsi], edi
add ebp, dword [rsp + 0x10]
add ecx, dword [rsp + 0x3c]
mov dword [rsi + 4], r14d
mov rdi, rsi
mov r14d, dword [rsp + 0x34]
add r14d, dword [rsp + 0xc]
mov dword [rsi + 0xc], ebp
mov dword [rsi + 8], r14d
add r12d, dword [rsp + 0x40]
add r11d, dword [rsp + 0x58]
add edx, dword [rsp + 0x5c]
mov dword [rsi + 0x14], ebx
add r10d, dword [rsp + 0x28]
add r8d, dword [rsp + 0x44]
mov dword [rsi + 0x18], r13d
mov dword [rsi + 0x10], ecx
add r9d, dword [rsp + 0x48]
mov esi, dword [rsp + 0x14]
add esi, dword [rsp + 0x54]
mov dword [rdi + 0x2c], r12d
mov dword [rdi + 0x1c], esi
mov dword [rdi + 0x20], r11d
mov dword [rdi + 0x24], edx
mov dword [rdi + 0x28], r10d
mov dword [rdi + 0x30], r8d
mov dword [rdi + 0x34], r9d
add eax, dword [rsp + 0x4c]
add r15d, dword [rsp + 0x2c]
mov dword [rdi + 0x38], eax
mov dword [rdi + 0x3c], r15d
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsp + 0x2c], 0x6b206574
mov dword [rsp + 0x28], 0x79622d32
mov dword [rsp + 0x24], 0x3320646e
mov dword [rsp + 0x20], 0x61707865
jmp 0x40cac0