Function at 0x41a680
Capabilities:
Encrypt data using salsa20 or chacha
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
movsx eax, byte [str.expand_32_byte_k]
movsx ecx, byte [0x436ee9]
shl ecx, 8
or eax, ecx
movsx edx, byte [0x436eea]
shl edx, 0x10
or eax, edx
movsx ecx, byte [0x436eeb]
shl ecx, 0x18
or eax, ecx
mov dword [ebp - 0x88], eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
shl edx, 8
or eax, edx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
shl edx, 0x10
or eax, edx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 3]
shl edx, 0x18
or eax, edx
mov dword [ebp - 0x84], eax
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 4]
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 5]
shl eax, 8
or ecx, eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 6]
shl eax, 0x10
or ecx, eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 7]
shl eax, 0x18
or ecx, eax
mov dword [ebp - 0x80], ecx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 8]
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 9]
shl ecx, 8
or edx, ecx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 0xa]
shl ecx, 0x10
or edx, ecx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 0xb]
shl ecx, 0x18
or edx, ecx
mov dword [ebp - 0x7c], edx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 0xc]
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 0xd]
shl edx, 8
or eax, edx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 0xe]
shl edx, 0x10
or eax, edx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 0xf]
shl edx, 0x18
or eax, edx
mov dword [ebp - 0x78], eax
movsx eax, byte [0x436eec]
movsx ecx, byte [0x436eed]
shl ecx, 8
or eax, ecx
movsx edx, byte [0x436eee]
shl edx, 0x10
or eax, edx
movsx ecx, byte [0x436eef]
shl ecx, 0x18
or eax, ecx
mov dword [ebp - 0x74], eax
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
and eax, 0
mov dword [ebp - 0x70], edx
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
mov cl, 0x20
call fcn.00425190
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x1c]
and edx, 0
mov dword [ebp - 0x68], ecx
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x1c]
mov cl, 0x20
call fcn.00425190
mov dword [ebp - 0x64], eax
movsx eax, byte [0x436ef0]
movsx ecx, byte [0x436ef1]
shl ecx, 8
or eax, ecx
movsx edx, byte [0x436ef2]
shl edx, 0x10
or eax, edx
movsx ecx, byte [0x436ef3]
shl ecx, 0x18
or eax, ecx
mov dword [ebp - 0x60], eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 0x10]
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 0x11]
shl edx, 8
or eax, edx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 0x12]
shl edx, 0x10
or eax, edx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 0x13]
shl edx, 0x18
or eax, edx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 0x14]
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 0x15]
shl eax, 8
or ecx, eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 0x16]
shl eax, 0x10
or ecx, eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 0x17]
shl eax, 0x18
or ecx, eax
mov dword [ebp - 0x58], ecx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 0x18]
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 0x19]
shl ecx, 8
or edx, ecx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 0x1a]
shl ecx, 0x10
or edx, ecx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 0x1b]
shl ecx, 0x18
or edx, ecx
mov dword [ebp - 0x54], edx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 0x1c]
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 0x1d]
shl edx, 8
or eax, edx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 0x1e]
shl edx, 0x10
or eax, edx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 0x1f]
shl edx, 0x18
or eax, edx
mov dword [ebp - 0x50], eax
movsx eax, byte [0x436ef4]
movsx ecx, byte [0x436ef5]
shl ecx, 8
or eax, ecx
movsx edx, byte [0x436ef6]
shl edx, 0x10
or eax, edx
movsx ecx, byte [0x436ef7]
shl ecx, 0x18
or eax, ecx
mov dword [ebp - 0x4c], eax
lea edx, [ebp - 0x88]
push edx
lea eax, [ebp - 0x40]
push eax
call fcn.0041a250
add esp, 8
mov dword [ebp - 0x44], 0
jmp 0x41a913
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x44], 0x40
jge 0x41a94e
mov eax, dword [ebp - 0x44]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x44]
and ecx, 0x80000003
jns 0x41a935
dec ecx
or ecx, 0xfffffffc
inc ecx
shl ecx, 3
mov edx, dword [ebp + eax*4 - 0x40]
shr edx, cl
and edx, 0xff
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x44]
mov byte [eax], dl
jmp 0x41a90a
mov esp, ebp
pop ebp
ret