Function at 0x14019b0b0
Capabilities:
Encode data using xor
Encrypt data using salsa20 or chacha

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rsi, rdx
mov ebx, ecx
cmp byte [0x140527a9c], 0
je 0x14019b569
mov rax, qword [0x140527b08]
mov ecx, 5
call qword [0x140505c38]
mov rdi, rax
test rax, rax
sete bpl
je 0x14019b57c
mov rax, qword [0x140527b18]
mov rcx, rdi
call qword [0x140505c38]
test ebx, ebx
jle 0x14019b55a
test rsi, rsi
je 0x14019b55a
xor ebp, ebp
cmp dword [0x140536838], 0
je 0x14019b186
mov al, byte [0x1405368b8]
movzx ecx, al
cmp ecx, ebx
jb 0x14019b23a
sub ecx, ebx
movsxd rax, ecx
lea rcx, [0x140536838]
lea rdx, [rax + rcx]
add rdx, 0x40
movsxd rbx, ebx
mov rcx, rsi
mov r8, rbx
call fcn.1402d94c0
sub byte [0x1405368b8], bl
test bpl, bpl
jne 0x14019b593
mov rax, qword [0x140527b28]
mov rdx, qword [0x140505c38]
mov rcx, rdi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp rdx
cmp byte [0x140527a9c], 0
je 0x14019b5a4
mov rax, qword [0x140527b08]
mov ecx, 2
call qword [0x140505c38]
test rax, rax
je 0x14019b5a4
mov r15, rax
mov rax, qword [0x140527b18]
mov rcx, r15
call qword [0x140505c38]
mov r14, qword [0x140536810]
mov rax, qword [0x140527b28]
mov rcx, r15
call qword [0x140505c38]
movaps xmm0, xmmword [str.expand_32_byte_k]
movups xmmword [0x140536838], xmm0
test r14, r14
je 0x14019b5b0
mov eax, dword [0x140527c48]
test eax, eax
jne 0x14019b5ca
mov rax, qword [r14 + 0x68]
lea r8, [0x140536848]
mov rcx, r14
mov edx, 0x2c
call qword [0x140505c38]
mov eax, dword [0x140536868]
mov dword [0x140536874], eax
mov dword [0x140536868], 0
mov byte [0x1405368b8], 0
xor eax, eax
jmp 0x14019b126
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x2c], ebp
test al, al
jne 0x14019b532
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x38], rsi
mov eax, dword [0x140536868]
inc eax
mov dword [0x140536868], eax
mov r9d, dword [0x140536838]
mov ebx, dword [0x14053683c]
mov edi, dword [0x140536840]
mov ebp, dword [0x140536844]
mov esi, dword [0x140536848]
mov r14d, dword [0x14053684c]
mov r13d, dword [0x140536850]
mov r12d, dword [0x140536854]
mov r15d, dword [0x140536858]
mov r10d, dword [0x14053685c]
mov ecx, dword [0x140536860]
mov dword [rsp + 0x20], ecx
mov ecx, dword [0x140536864]
mov dword [rsp + 0x24], ecx
mov r8d, dword [0x14053686c]
mov edx, dword [0x140536870]
mov r11d, 0xa
mov ecx, dword [0x140536874]
mov dword [rsp + 0x30], r11d
add r9d, esi
xor eax, r9d
rol eax, 0x10
add r15d, eax
xor esi, r15d
rol esi, 0xc
add r9d, esi
xor eax, r9d
rol eax, 8
add r15d, eax
xor esi, r15d
rol esi, 7
add ebx, r14d
xor r8d, ebx
rol r8d, 0x10
add r10d, r8d
xor r14d, r10d
rol r14d, 0xc
add ebx, r14d
xor r8d, ebx
rol r8d, 8
add r10d, r8d
mov dword [rsp + 0x34], r10d
xor r14d, r10d
rol r14d, 7
add edi, r13d
xor edx, edi
rol edx, 0x10
mov r11d, dword [rsp + 0x20]
add r11d, edx
xor r13d, r11d
rol r13d, 0xc
add edi, r13d
xor edx, edi
rol edx, 8
add r11d, edx
xor r13d, r11d
rol r13d, 7
add ebp, r12d
xor ecx, ebp
rol ecx, 0x10
mov r10d, dword [rsp + 0x24]
add r10d, ecx
xor r12d, r10d
rol r12d, 0xc
add ebp, r12d
xor ecx, ebp
rol ecx, 8
add r10d, ecx
xor r12d, r10d
rol r12d, 7
add r9d, r14d
xor ecx, r9d
rol ecx, 0x10
add r11d, ecx
xor r14d, r11d
rol r14d, 0xc
add r9d, r14d
xor ecx, r9d
rol ecx, 8
add r11d, ecx
mov dword [rsp + 0x20], r11d
xor r14d, r11d
mov r11d, dword [rsp + 0x30]
rol r14d, 7
add ebx, r13d
xor eax, ebx
rol eax, 0x10
add r10d, eax
xor r13d, r10d
rol r13d, 0xc
add ebx, r13d
xor eax, ebx
rol eax, 8
add r10d, eax
mov dword [rsp + 0x24], r10d
xor r13d, r10d
mov r10d, dword [rsp + 0x34]
rol r13d, 7
add edi, r12d
xor r8d, edi
rol r8d, 0x10
add r15d, r8d
xor r12d, r15d
rol r12d, 0xc
add edi, r12d
xor r8d, edi
rol r8d, 8
add r15d, r8d
xor r12d, r15d
rol r12d, 7
add ebp, esi
xor edx, ebp
rol edx, 0x10
add r10d, edx
xor esi, r10d
rol esi, 0xc
add ebp, esi
xor edx, ebp
rol edx, 8
add r10d, edx
xor esi, r10d
rol esi, 7
dec r11d
jne 0x14019b2d1
add r9d, dword [0x140536838]
mov dword [0x140536878], r9d
add ebx, dword [0x14053683c]
mov dword [0x14053687c], ebx
add edi, dword [0x140536840]
mov dword [0x140536880], edi
add ebp, dword [0x140536844]
mov dword [0x140536884], ebp
add esi, dword [0x140536848]
mov dword [0x140536888], esi
add r14d, dword [0x14053684c]
mov dword [0x14053688c], r14d
add r13d, dword [0x140536850]
mov dword [0x140536890], r13d
add r12d, dword [0x140536854]
mov dword [0x140536894], r12d
add r15d, dword [0x140536858]
mov dword [0x140536898], r15d
add r10d, dword [0x14053685c]
mov dword [0x14053689c], r10d
mov r9d, dword [rsp + 0x20]
add r9d, dword [0x140536860]
mov dword [0x1405368a0], r9d
mov r9d, dword [rsp + 0x24]
add r9d, dword [0x140536864]
mov dword [0x1405368a4], r9d
add eax, dword [0x140536868]
mov dword [0x1405368a8], eax
add r8d, dword [0x14053686c]
mov dword [0x1405368ac], r8d
add edx, dword [0x140536870]
mov dword [0x1405368b0], edx
add ecx, dword [0x140536874]
mov dword [0x1405368b4], ecx
mov byte [0x1405368b8], 0x40
mov ecx, 0x40
mov al, 0x40
mov ebx, dword [rsp + 0x28]
cmp ebx, 0x40
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov ebp, dword [rsp + 0x2c]
jle 0x14019b131
jmp 0x14019b243
movzx r8d, al
mov rcx, rsi
lea rdx, [0x140536878]
call fcn.1402d94c0
movzx eax, byte [0x1405368b8]
sub ebx, eax
mov dword [rsp + 0x28], ebx
add rsi, rax
jmp 0x14019b24f
mov dword [0x140536838], 0
jmp 0x14019b162
test ebx, ebx
jle 0x14019b589
test rsi, rsi
je 0x14019b589
xor edi, edi
mov bpl, 1
jmp 0x14019b117
test ebx, ebx
jle 0x14019b589
test rsi, rsi
jne 0x14019b117
mov dword [0x140536838], 0
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r14, qword [0x140536810]
jmp 0x14019b1d8
xorps xmm0, xmm0
movups xmmword [0x140536864], xmm0
movups xmmword [0x140536858], xmm0
movups xmmword [0x140536848], xmm0
jmp 0x14019b5ec
xorps xmm0, xmm0
movups xmmword [0x14053685c], xmm0
movups xmmword [0x14053684c], xmm0
mov qword [0x14053686c], 0
mov dword [0x140536848], eax
xor eax, eax
jmp 0x14019b21c