Function at 0x430056
Capabilities:
Encrypt data using salsa20 or chacha

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x140
movdqa xmmword [rsp + 0x130], xmm9
movdqa xmmword [rsp + 0x120], xmm8
movaps xmmword [rsp + 0x110], xmm7
movaps xmmword [rsp + 0x100], xmm6
mov rsi, r9
mov rdi, r8
mov rbx, rcx
mov ebp, dword [rsp + 0x190]
mov rdx, qword [rsp + 0x198]
mov rax, qword [rsp + 0x1a0]
movq xmm6, qword [rax + 4]
movd xmm7, dword [rax]
lea r14, [rsp + 0xe0]
mov rcx, r14
call fcn.00456135
movdqa xmm2, xmmword [r14]
movdqa xmm1, xmmword [r14 + 0x10]
pshufd xmm0, xmm7, 0x50
punpcklqdq xmm0, xmm6
xor r8d, r8d
movdqa xmm3, xmmword [0x0046d5b0]
mov rax, rbx
mov rcx, rdi
lea rdx, [r8 + 0x40]
movd xmm5, ebp
cmp rdx, rsi
ja 0x4302be
movdqa xmm4, xmm0
movss xmm4, xmm5
movaps xmm6, xmm4
movdqa xmm7, xmm1
movdqa xmm5, xmm2
movdqa xmm8, xmm3
xor r8d, r8d
cmp r8, 0x13
ja 0x430234
paddd xmm8, xmm5
pxor xmm6, xmm8
movdqa xmm9, xmm6
psrld xmm9, 0x10
pslld xmm6, 0x10
por xmm6, xmm9
paddd xmm7, xmm6
pxor xmm5, xmm7
movdqa xmm9, xmm5
psrld xmm9, 0x14
pslld xmm5, 0xc
por xmm5, xmm9
paddd xmm8, xmm5
pxor xmm6, xmm8
pshufd xmm8, xmm8, 0x93
movdqa xmm9, xmm6
psrld xmm9, 0x18
pslld xmm6, 8
por xmm6, xmm9
paddd xmm7, xmm6
pshufd xmm6, xmm6, 0x4e
pxor xmm5, xmm7
pshufd xmm7, xmm7, 0x39
movdqa xmm9, xmm5
psrld xmm9, 0x19
pslld xmm5, 7
por xmm5, xmm9
paddd xmm8, xmm5
pxor xmm6, xmm8
movdqa xmm9, xmm6
psrld xmm9, 0x10
pslld xmm6, 0x10
por xmm6, xmm9
paddd xmm7, xmm6
pxor xmm5, xmm7
movdqa xmm9, xmm5
psrld xmm9, 0x14
pslld xmm5, 0xc
por xmm5, xmm9
paddd xmm8, xmm5
pxor xmm6, xmm8
pshufd xmm8, xmm8, 0x39
movdqa xmm9, xmm6
psrld xmm9, 0x18
pslld xmm6, 8
por xmm6, xmm9
paddd xmm7, xmm6
pshufd xmm6, xmm6, 0x4e
pxor xmm5, xmm7
pshufd xmm7, xmm7, 0x93
movdqa xmm9, xmm5
psrld xmm9, 0x19
pslld xmm5, 7
por xmm5, xmm9
add r8, 2
jmp 0x430111
paddd xmm8, xmm3
paddd xmm5, xmm2
paddd xmm7, xmm1
paddd xmm6, xmm4
movdqa xmmword [rsp + 0x20], xmm8
movdqa xmmword [rsp + 0x30], xmm5
movdqa xmmword [rsp + 0x40], xmm7
movdqa xmmword [rsp + 0x50], xmm6
xor r8d, r8d
cmp r8, 0x40
je 0x43027c
movaps xmm4, xmmword [rsp + r8 + 0x20]
movups xmmword [rsp + r8 + 0xa0], xmm4
add r8, 0x10
jmp 0x430261
xor r8d, r8d
cmp r8, 0x40
je 0x430292
mov r9b, byte [rcx + r8]
mov byte [rax + r8], r9b
inc r8
jmp 0x43027f
xor r8d, r8d
cmp r8, 0x40
je 0x4302ac
mov r9b, byte [rsp + r8 + 0xa0]
xor byte [rax + r8], r9b
inc r8
jmp 0x430295
inc ebp
add rcx, 0x40
add rax, 0x40
mov r8, rdx
jmp 0x4300e5
cmp r8, rsi
jae 0x430450
movss xmm0, xmm5
movdqa xmm5, xmmword [0x0046d5b0]
xor eax, eax
movaps xmm4, xmm0
movdqa xmm6, xmm1
movdqa xmm3, xmm2
cmp rax, 0x13
ja 0x4303e1
paddd xmm5, xmm3
pxor xmm4, xmm5
movdqa xmm7, xmm4
psrld xmm7, 0x10
pslld xmm4, 0x10
por xmm4, xmm7
paddd xmm6, xmm4
pxor xmm3, xmm6
movdqa xmm7, xmm3
psrld xmm7, 0x14
pslld xmm3, 0xc
por xmm3, xmm7
paddd xmm5, xmm3
pxor xmm4, xmm5
pshufd xmm5, xmm5, 0x93
movdqa xmm7, xmm4
psrld xmm7, 0x18
pslld xmm4, 8
por xmm4, xmm7
paddd xmm6, xmm4
pshufd xmm4, xmm4, 0x4e
pxor xmm3, xmm6
pshufd xmm6, xmm6, 0x39
movdqa xmm7, xmm3
psrld xmm7, 0x19
pslld xmm3, 7
por xmm3, xmm7
paddd xmm5, xmm3
pxor xmm4, xmm5
movdqa xmm7, xmm4
psrld xmm7, 0x10
pslld xmm4, 0x10
por xmm4, xmm7
paddd xmm6, xmm4
pxor xmm3, xmm6
movdqa xmm7, xmm3
psrld xmm7, 0x14
pslld xmm3, 0xc
por xmm3, xmm7
paddd xmm5, xmm3
pxor xmm4, xmm5
pshufd xmm5, xmm5, 0x39
movdqa xmm7, xmm4
psrld xmm7, 0x18
pslld xmm4, 8
por xmm4, xmm7
paddd xmm6, xmm4
pshufd xmm4, xmm4, 0x4e
pxor xmm3, xmm6
pshufd xmm6, xmm6, 0x93
movdqa xmm7, xmm3
psrld xmm7, 0x19
pslld xmm3, 7
por xmm3, xmm7
add rax, 2
jmp 0x4302e0
paddd xmm5, xmmword [0x0046d5b0]
paddd xmm3, xmm2
paddd xmm6, xmm1
paddd xmm4, xmm0
movdqa xmmword [rsp + 0x60], xmm5
movdqa xmmword [rsp + 0x70], xmm3
movdqa xmmword [rsp + 0x80], xmm6
movdqa xmmword [rsp + 0x90], xmm4
xor eax, eax
cmp rax, 0x40
je 0x43042e
movaps xmm0, xmmword [rsp + rax + 0x60]
movups xmmword [rsp + rax + 0xa0], xmm0
add rax, 0x10
jmp 0x430415
add rbx, r8
add rdi, r8
and esi, 0x3f
xor eax, eax
cmp rsi, rax
je 0x430450
mov cl, byte [rsp + rax + 0xa0]
xor cl, byte [rdi + rax]
mov byte [rbx + rax], cl
inc rax
jmp 0x430439
movaps xmm6, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm8, xmmword [rsp + 0x120]
movaps xmm9, xmmword [rsp + 0x130]
add rsp, 0x140
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret