Function at 0x419d70
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 [0x435cb9]
shl ecx, 8
or eax, ecx
movsx edx, byte [0x435cba]
shl edx, 0x10
or eax, edx
movsx ecx, byte [0x435cbb]
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 [0x435cbc]
movsx ecx, byte [0x435cbd]
shl ecx, 8
or eax, ecx
movsx edx, byte [0x435cbe]
shl edx, 0x10
or eax, edx
movsx ecx, byte [0x435cbf]
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.00424880
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.00424880
mov dword [ebp - 0x64], eax
movsx eax, byte [0x435cc0]
movsx ecx, byte [0x435cc1]
shl ecx, 8
or eax, ecx
movsx edx, byte [0x435cc2]
shl edx, 0x10
or eax, edx
movsx ecx, byte [0x435cc3]
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 [0x435cc4]
movsx ecx, byte [0x435cc5]
shl ecx, 8
or eax, ecx
movsx edx, byte [0x435cc6]
shl edx, 0x10
or eax, edx
movsx ecx, byte [0x435cc7]
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.00419940
add esp, 8
mov dword [ebp - 0x44], 0
jmp 0x41a003
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x44], 0x40
jge 0x41a03e
mov eax, dword [ebp - 0x44]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x44]
and ecx, 0x80000003
jns 0x41a025
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 0x419ffa
mov esp, ebp
pop ebp
ret