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

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x14]
sub esp, 0x28
test eax, eax
jne 0x52281b
mov dword [ebp + 0x14], 0x61707865
mov dword [ebp - 4], 0x3320646e
mov dword [ebp - 8], 0x79622d32
mov dword [ebp - 0xc], 0x6b206574
jmp 0x522832
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp + 0x14], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 4], edx
mov edx, dword [eax + 0xc]
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp + 0x10], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x20], edx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x28], edx
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x24], ecx
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x10], edx
mov edx, dword [eax + 0x1c]
push ebx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 8]
push esi
mov esi, dword [ecx + 4]
mov dword [ebp - 0x14], edx
mov edx, dword [ecx]
mov ecx, dword [ecx + 0xc]
push edi
mov dword [ebp + 0xc], 0xa
lea esp, [esp]
mov ebx, dword [ebp + 0x14]
add ebx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x28]
rol ebx, 7
xor edi, ebx
mov ebx, dword [ebp + 0x14]
add ebx, edi
rol ebx, 9
xor eax, ebx
lea ebx, [eax + edi]
rol ebx, 0xd
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x10]
xor edi, ebx
mov dword [ebp - 0x10], edi
add edi, eax
ror edi, 0xe
xor dword [ebp + 0x14], edi
mov edi, dword [ebp + 0x10]
add edi, dword [ebp - 4]
rol edi, 7
xor ecx, edi
mov edi, dword [ebp - 4]
lea ebx, [ecx + edi]
mov edi, dword [ebp - 0x18]
rol ebx, 9
xor edi, ebx
lea ebx, [ecx + edi]
rol ebx, 0xd
mov dword [ebp - 0x18], edi
mov edi, dword [ebp + 0x10]
xor edi, ebx
mov ebx, dword [ebp - 0x18]
add ebx, edi
ror ebx, 0xe
xor dword [ebp - 4], ebx
mov dword [ebp + 0x10], edi
mov edi, dword [ebp - 8]
lea ebx, [edx + edi]
mov edi, dword [ebp - 0x14]
rol ebx, 7
xor edi, ebx
mov ebx, dword [ebp - 8]
add ebx, edi
rol ebx, 9
mov dword [ebp - 0x14], edi
mov edi, dword [ebp - 0x20]
xor edi, ebx
mov ebx, dword [ebp - 0x14]
add ebx, edi
rol ebx, 0xd
xor edx, ebx
mov ebx, dword [ebp - 0xc]
add ebx, dword [ebp - 0x24]
mov dword [ebp - 0x20], edi
add edi, edx
ror edi, 0xe
xor dword [ebp - 8], edi
mov edi, dword [ebp - 0x1c]
rol ebx, 7
xor edi, ebx
mov ebx, dword [ebp - 0xc]
add ebx, edi
rol ebx, 9
xor esi, ebx
lea ebx, [esi + edi]
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp - 0x24]
rol ebx, 0xd
xor edi, ebx
mov ebx, dword [ebp + 0x14]
add ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], edi
add edi, esi
ror edi, 0xe
xor dword [ebp - 0xc], edi
mov edi, dword [ebp + 0x10]
rol ebx, 7
xor edi, ebx
mov ebx, dword [ebp + 0x14]
mov dword [ebp + 0x10], edi
add ebx, edi
mov edi, dword [ebp - 0x20]
rol ebx, 9
xor edi, ebx
mov ebx, dword [ebp + 0x10]
add ebx, edi
rol ebx, 0xd
mov dword [ebp - 0x20], edi
mov edi, dword [ebp - 0x1c]
xor edi, ebx
mov ebx, dword [ebp - 4]
mov dword [ebp - 0x1c], edi
add edi, dword [ebp - 0x20]
ror edi, 0xe
xor dword [ebp + 0x14], edi
mov edi, dword [ebp - 0x28]
add ebx, edi
rol ebx, 7
xor edx, ebx
mov ebx, dword [ebp - 4]
add ebx, edx
rol ebx, 9
xor esi, ebx
lea ebx, [esi + edx]
rol ebx, 0xd
xor edi, ebx
mov dword [ebp - 0x28], edi
add edi, esi
ror edi, 0xe
xor dword [ebp - 4], edi
mov edi, dword [ebp - 8]
lea ebx, [ecx + edi]
mov edi, dword [ebp - 0x24]
rol ebx, 7
xor edi, ebx
mov ebx, dword [ebp - 8]
add ebx, edi
rol ebx, 9
xor eax, ebx
mov ebx, dword [ebp - 0xc]
add ebx, dword [ebp - 0x14]
mov dword [ebp - 0x24], edi
add edi, eax
rol edi, 0xd
xor ecx, edi
lea edi, [ecx + eax]
ror edi, 0xe
xor dword [ebp - 8], edi
mov edi, dword [ebp - 0x10]
rol ebx, 7
xor edi, ebx
mov ebx, dword [ebp - 0xc]
add ebx, edi
mov dword [ebp - 0x10], edi
mov edi, dword [ebp - 0x18]
rol ebx, 9
xor edi, ebx
mov ebx, dword [ebp - 0x10]
add ebx, edi
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x14]
rol ebx, 0xd
xor edi, ebx
mov dword [ebp - 0x14], edi
add edi, dword [ebp - 0x18]
ror edi, 0xe
xor dword [ebp - 0xc], edi
dec dword [ebp + 0xc]
jne 0x522880
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0x14]
mov dword [edi], ebx
mov ebx, dword [ebp - 4]
mov dword [edi + 4], ebx
mov ebx, dword [ebp - 8]
mov dword [edi + 8], ebx
mov ebx, dword [ebp - 0xc]
mov dword [edi + 0xc], ebx
mov dword [edi + 0x14], esi
mov dword [edi + 0x18], eax
mov dword [edi + 0x10], edx
mov dword [edi + 0x1c], ecx
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret