Function at 0x4301d0
Capabilities:
Contain obfuscated stackstrings
Encrypt data using salsa20 or chacha

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x100270
call fcn.004fb290
call 0x4301e8
pop eax
pxor xmm0, xmm0
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x10], eax
movdqa xmmword [esp + 0xe0], xmm0
movdqa xmmword [esp + 0xd0], xmm0
xor ecx, ecx
call fcn.0044e150
test eax, eax
je 0x43235f
mov ecx, dword [eax]
inc dword [ecx]
je 0x43235b
mov edi, dword [ecx + 0x108]
lea eax, [ecx + 8]
xor ebx, ebx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], eax
lea eax, [ecx + 0x110]
mov dword [esp + 0x14], eax
jmp 0x4302cb
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
call fcn.0044df00
mov dword [edi + 0x108], 0
xor edi, edi
lea edx, [edi*4]
mov esi, 0x100
mov eax, dword [esp + 0x18]
lea ecx, [esp + ebx + 0xd0]
sub esi, edx
mov edx, 0x20
sub edx, ebx
cmp esi, edx
cmovae esi, edx
lea eax, [eax + edi*4]
lea edx, [esi + 3]
shr edx, 2
mov dword [esp + 0xc], edx
push esi
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add edi, dword [esp + 0xc]
mov eax, dword [esp + 0x30]
add ebx, esi
cmp ebx, 0x20
mov dword [eax + 0x108], edi
jae 0x430321
cmp edi, 0x3f
jbe 0x430279
mov edi, dword [esp + 0x30]
mov eax, dword [edi + 0x148]
mov ecx, dword [edi + 0x14c]
cmp eax, 1
mov edx, ecx
sbb edx, 0
jl 0x430260
cmp dword [edi + 0x150], 0
js 0x430260
add eax, 0xffffff00
adc ecx, 0xffffffff
mov dword [edi + 0x148], eax
mov dword [edi + 0x14c], ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
call fcn.0044cb70
jmp 0x43026d
mov ecx, dword [esp + 0x30]
dec dword [ecx]
jne 0x43033d
dec dword [ecx + 4]
jne 0x43033d
mov eax, dword [0x56bbf8]
push ecx
push 0
push dword [eax]
call sub.kernel32.dll_HeapFree
xor ecx, ecx
call fcn.0044e150
test eax, eax
je 0x43235f
mov ecx, dword [eax]
inc dword [ecx]
je 0x43235b
mov edi, dword [ecx + 0x108]
lea eax, [ecx + 8]
xor ebx, ebx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], eax
lea eax, [ecx + 0x110]
mov dword [esp + 0x14], eax
jmp 0x4303eb
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
call fcn.0044df00
mov dword [edi + 0x108], 0
xor edi, edi
lea edx, [edi*4]
mov esi, 0x100
mov eax, dword [esp + 0x18]
lea ecx, [esp + ebx + 0x80]
sub esi, edx
mov edx, 0xc
sub edx, ebx
cmp esi, edx
cmovae esi, edx
lea eax, [eax + edi*4]
lea edx, [esi + 3]
shr edx, 2
mov dword [esp + 0xc], edx
push esi
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add edi, dword [esp + 0xc]
mov eax, dword [esp + 0x30]
add ebx, esi
cmp ebx, 0xc
mov dword [eax + 0x108], edi
jae 0x430441
cmp edi, 0x3f
jbe 0x430399
mov edi, dword [esp + 0x30]
mov eax, dword [edi + 0x148]
mov ecx, dword [edi + 0x14c]
cmp eax, 1
mov edx, ecx
sbb edx, 0
jl 0x430380
cmp dword [edi + 0x150], 0
js 0x430380
add eax, 0xffffff00
adc ecx, 0xffffffff
mov dword [edi + 0x148], eax
mov dword [edi + 0x14c], ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
call fcn.0044cb70
jmp 0x43038d
mov ecx, dword [esp + 0x30]
dec dword [ecx]
jne 0x43045d
dec dword [ecx + 4]
jne 0x43045d
mov eax, dword [0x56bbf8]
push ecx
push 0
push dword [eax]
call sub.kernel32.dll_HeapFree
movaps xmm0, xmmword [esp + 0xd0]
movaps xmm1, xmmword [esp + 0xe0]
movsd xmm2, qword [esp + 0x80]
mov eax, dword [esp + 0x88]
mov ebx, dword [ebp + 8]
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x270], xmm1
movaps xmmword [esp + 0x1e0], xmm1
movaps xmmword [esp + 0x260], xmm0
movsd qword [esp + 0x280], xmm2
mov dword [esp + 0x288], eax
mov dword [esp + 0x168], eax
mov dword [esp + 0x260], 0x61707865
mov dword [esp + 0x264], 0x3320646e
mov dword [esp + 0x268], 0x79622d32
mov dword [esp + 0x26c], 0x6b206574
movsd qword [esp + 0x160], xmm2
movsd xmm1, qword [esp + 0x1d8]
mov eax, dword [esp + 0x168]
movsd xmm0, qword [esp + 0x1d0]
movsd xmm2, qword [esp + 0x1e0]
movsd qword [esp + 0x278], xmm1
movsd xmm1, qword [esp + 0x1e8]
mov dword [esp + 0xd8], eax
mov eax, dword [0x56bc04]
movsd qword [esp + 0x270], xmm0
movsd qword [esp + 0x280], xmm2
movsd qword [esp + 0x288], xmm1
movsd xmm1, qword [esp + 0x160]
movsd qword [esp + 0xd0], xmm1
movzx eax, byte [eax]
cmp al, 0xff
jne 0x43058a
mov eax, 1
xor ecx, ecx
mov esi, ebx
cpuid
xchg ebx, esi
mov eax, 7
xor ecx, ecx
mov ebx, ebx
cpuid
xchg ebx, ebx
mov eax, dword [0x56bc04]
shr bl, 5
and bl, 1
mov byte [eax], bl
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0xd8]
movsd xmm1, qword [esp + 0x280]
movsd xmm2, qword [esp + 0x278]
mov ecx, dword [esp + 0x10]
movsd xmm0, qword [esp + 0x288]
mov esi, ebx
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x1c8], eax
mov eax, dword [ebp + 0x10]
movsd qword [esp + 0x210], xmm1
movsd xmm1, qword [esp + 0x270]
movsd qword [esp + 0x208], xmm2
movq xmm2, qword [esp + 0x260]
movsd qword [esp + 0x218], xmm0
mov edi, dword [eax]
mov eax, dword [eax + 4]
movsd qword [esp + 0x200], xmm1
movsd xmm1, qword [esp + 0x268]
movq qword [esp + 0x1f0], xmm2
mov dword [esp + 0x24], eax
movzx eax, byte [ebx + 0x28]
movsd qword [esp + 0x1f8], xmm1
movsd xmm1, qword [esp + 0xd0]
add ecx, dword [eax*4 + 0x43266c]
movsd qword [esp + 0x1c0], xmm1
jmp ecx
ud2
lea eax, [esp + 0x170]
push 0x519918
push 0x519928
push eax
push 0x46
push 0x519880
call fcn.00414e90
add esp, 0x14
jmp 0x4324c3
ud2