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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x188
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0xf0], xmm6
mov qword [rbp + 0xe8], 0xfffffffffffffffe
mov rdi, r9
mov r14, r8
mov r12, rdx
mov rsi, rcx
mov rdx, qword [rbp + 0x178]
mov r15, qword [rbp + 0x170]
mov rcx, rbp
mov r8, r15
call fcn.180022a00
movaps xmm0, xmmword [rbp]
movaps xmm1, xmmword [rbp + 0x10]
xorps xmm2, xmm2
movups xmmword [rbp + 0x40], xmm2
movups xmmword [rbp + 0x50], xmm2
movups xmmword [rbp + 0x60], xmm2
movups xmmword [rbp + 0x70], xmm2
mov dword [rbp], 0x61707865
movups xmmword [rbp + 4], xmm0
mov dword [rbp + 0x14], 0x3320646e
mov rax, qword [r15 + 0x10]
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], 0
mov dword [rbp + 0x28], 0x79622d32
movups xmmword [rbp + 0x2c], xmm1
mov dword [rbp + 0x3c], 0x6b206574
mov byte [rbp + 0x80], 0
movaps xmmword [rbp + 0xd0], xmm2
movaps xmmword [rbp + 0xc0], xmm2
lea rax, [rbp + 0xc0]
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], 0x20
mov rcx, rbp
lea rdx, [rbp - 0x58]
call fcn.180020cb0
mov qword [rbp + 0x88], rsi
test al, al
jne 0x180021f20
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0xc8]
movabs rdx, 0xffc0fffffff
and rdx, rax
shrd rax, rcx, 0x2c
movabs r8, 0xfffffc0ffff
and r8, rax
shr rcx, 0x18
movabs rax, 0xffffffc0f
and rax, rcx
mov qword [rbp - 0x58], 0
mov qword [rbp - 0x50], 1
mov qword [rbp - 0x48], 0
mov qword [rbp - 0x40], rdx
mov qword [rbp - 0x38], r8
mov qword [rbp - 0x30], rax
xorps xmm6, xmm6
movups xmmword [rbp - 0x28], xmm6
mov qword [rbp - 0x18], 0
movaps xmm0, xmmword [rbp + 0xd0]
movups xmmword [rbp - 0x10], xmm0
mov byte [rbp + 0xc0], 0
mov byte [rbp + 0xc1], 0
mov byte [rbp + 0xc2], 0
mov byte [rbp + 0xc3], 0
mov byte [rbp + 0xc4], 0
mov byte [rbp + 0xc5], 0
mov byte [rbp + 0xc6], 0
mov byte [rbp + 0xc7], 0
mov byte [rbp + 0xc8], 0
mov byte [rbp + 0xc9], 0
mov byte [rbp + 0xca], 0
mov byte [rbp + 0xcb], 0
mov byte [rbp + 0xcc], 0
mov byte [rbp + 0xcd], 0
mov byte [rbp + 0xce], 0
mov byte [rbp + 0xcf], 0
mov byte [rbp + 0xd0], 0
mov byte [rbp + 0xd1], 0
mov byte [rbp + 0xd2], 0
mov byte [rbp + 0xd3], 0
mov byte [rbp + 0xd4], 0
mov byte [rbp + 0xd5], 0
mov byte [rbp + 0xd6], 0
mov byte [rbp + 0xd7], 0
mov byte [rbp + 0xd8], 0
mov byte [rbp + 0xd9], 0
mov byte [rbp + 0xda], 0
mov byte [rbp + 0xdb], 0
mov byte [rbp + 0xdc], 0
mov byte [rbp + 0xdd], 0
mov byte [rbp + 0xde], 0
mov byte [rbp + 0xdf], 0
lea rcx, [rbp - 0x58]
mov rbx, r12
mov rdx, r12
mov rsi, r14
mov r8, r14
call fcn.180022070
movaps xmmword [rbp + 0x90], xmm6
lea rcx, [rbp - 0x58]
lea rdx, [rbp + 0x90]
mov r8d, 0x10
call fcn.180022470
mov r14b, byte [rbp + 0x90]
mov r12b, byte [rbp + 0x91]
mov r13b, byte [rbp + 0x92]
mov r15b, byte [rbp + 0x93]
movzx eax, byte [rbp + 0x94]
mov byte [rbp + 0xbf], al
movzx eax, byte [rbp + 0x95]
mov byte [rbp + 0xbe], al
movzx eax, byte [rbp + 0x96]
mov byte [rbp + 0xbd], al
movzx eax, byte [rbp + 0x97]
mov byte [rbp + 0xbc], al
movzx eax, byte [rbp + 0x98]
mov byte [rbp + 0xbb], al
movzx eax, byte [rbp + 0x99]
mov byte [rbp + 0xba], al
movzx eax, byte [rbp + 0x9a]
mov byte [rbp + 0xb9], al
movzx eax, byte [rbp + 0x9b]
mov byte [rbp + 0xb8], al
movzx eax, byte [rbp + 0x9c]
mov byte [rbp + 0xb7], al
movzx eax, byte [rbp + 0x9d]
mov byte [rbp + 0xb6], al
movzx eax, byte [rbp + 0x9e]
mov byte [rbp + 0xb5], al
movzx eax, byte [rbp + 0x9f]
mov byte [rbp + 0xb4], al
mov qword [rbp + 0x90], rbx
mov qword [rbp + 0x98], rbx
mov qword [rbp + 0xa0], rsi
mov rcx, rbp
lea rdx, [rbp + 0x90]
call fcn.180020cb0
test al, al
jne 0x180021f4d
cmp byte [rdi], r14b
sete cl
call fcn.180001920
mov r14d, eax
cmp byte [rdi + 1], r12b
sete cl
call fcn.180001920
and r14b, al
cmp byte [rdi + 2], r13b
sete cl
call fcn.180001920
mov ebx, eax
cmp byte [rdi + 3], r15b
sete cl
call fcn.180001920
and bl, al
and bl, r14b
movzx eax, byte [rbp + 0xbf]
cmp byte [rdi + 4], al
sete cl
call fcn.180001920
mov r14d, eax
movzx eax, byte [rbp + 0xbe]
cmp byte [rdi + 5], al
sete cl
call fcn.180001920
and r14b, al
movzx eax, byte [rbp + 0xbd]
cmp byte [rdi + 6], al
sete cl
call fcn.180001920
and r14b, al
and r14b, bl
movzx eax, byte [rbp + 0xbc]
cmp byte [rdi + 7], al
sete cl
call fcn.180001920
mov ebx, eax
movzx eax, byte [rbp + 0xbb]
cmp byte [rdi + 8], al
sete cl
call fcn.180001920
and bl, al
movzx eax, byte [rbp + 0xba]
cmp byte [rdi + 9], al
sete cl
call fcn.180001920
and bl, al
movzx eax, byte [rbp + 0xb9]
cmp byte [rdi + 0xa], al
sete cl
call fcn.180001920
and bl, al
and bl, r14b
movzx eax, byte [rbp + 0xb8]
cmp byte [rdi + 0xb], al
sete cl
call fcn.180001920
mov r14d, eax
movzx eax, byte [rbp + 0xb7]
cmp byte [rdi + 0xc], al
sete cl
call fcn.180001920
and r14b, al
movzx eax, byte [rbp + 0xb6]
cmp byte [rdi + 0xd], al
sete cl
call fcn.180001920
and r14b, al
movzx eax, byte [rbp + 0xb5]
cmp byte [rdi + 0xe], al
sete cl
call fcn.180001920
and r14b, al
movzx eax, byte [rbp + 0xb4]
cmp byte [rdi + 0xf], al
sete cl
call fcn.180001920
and r14b, al
and r14b, bl
and r14b, 1
mov ecx, r14d
call fcn.180001920
cmp al, 1
jne 0x180021ebd
movabs rax, 0x8000000000000002
mov rsi, qword [rbp + 0x88]
mov qword [rsi], rax
mov rdx, qword [rbp - 0x58]
test rdx, rdx
je 0x180021d47
mov rcx, qword [rbp - 0x50]
mov r8d, 1
call fcn.180001050
mov byte [rbp + 0xc0], 0
mov byte [rbp + 0xc1], 0
mov byte [rbp + 0xc2], 0
mov byte [rbp + 0xc3], 0
mov byte [rbp + 0xc4], 0
mov byte [rbp + 0xc5], 0
mov byte [rbp + 0xc6], 0
mov byte [rbp + 0xc7], 0
mov byte [rbp + 0xc8], 0
mov byte [rbp + 0xc9], 0
mov byte [rbp + 0xca], 0
mov byte [rbp + 0xcb], 0
mov byte [rbp + 0xcc], 0
mov byte [rbp + 0xcd], 0
mov byte [rbp + 0xce], 0
mov byte [rbp + 0xcf], 0
mov byte [rbp + 0xd0], 0
mov byte [rbp + 0xd1], 0
mov byte [rbp + 0xd2], 0
mov byte [rbp + 0xd3], 0
mov byte [rbp + 0xd4], 0
mov byte [rbp + 0xd5], 0
mov byte [rbp + 0xd6], 0
mov byte [rbp + 0xd7], 0
mov byte [rbp + 0xd8], 0
mov byte [rbp + 0xd9], 0
mov byte [rbp + 0xda], 0
mov byte [rbp + 0xdb], 0
mov byte [rbp + 0xdc], 0
mov byte [rbp + 0xdd], 0
mov byte [rbp + 0xde], 0
mov byte [rbp + 0xdf], 0
mov rcx, rbp
call fcn.180022c40
mov dword [rbp], 0
mov dword [rbp + 4], 0
mov dword [rbp + 8], 0
mov dword [rbp + 0xc], 0
mov dword [rbp + 0x10], 0
mov dword [rbp + 0x14], 0
mov dword [rbp + 0x18], 0
mov dword [rbp + 0x1c], 0
mov dword [rbp + 0x20], 0
mov dword [rbp + 0x24], 0
mov dword [rbp + 0x28], 0
mov dword [rbp + 0x2c], 0
mov dword [rbp + 0x30], 0
mov dword [rbp + 0x34], 0
mov dword [rbp + 0x38], 0
mov dword [rbp + 0x3c], 0
mov rax, rsi
movaps xmm6, xmmword [rbp + 0xf0]
add rsp, 0x188
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
movzx eax, byte [0x1800a7b01]
mov ecx, 0xaf
mov edx, 1
call fcn.180001040
test rax, rax
mov rsi, qword [rbp + 0x88]
je 0x180021f7a
mov rdi, rax
lea rdx, str.decryption_error__authentication_failure___from_C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001fdryoc_0.5.4_srcclassiccrypto_secretbox_impl.rs:60C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001fdryoc_0.5.4_srcpoly1305poly1305_soft.rs
mov r8d, 0xaf
mov rcx, rax
call fcn.18004a480
mov qword [rsi], 0xaf
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], 0xaf
mov rdx, qword [rbp - 0x58]
test rdx, rdx
jne 0x180021d38
jmp 0x180021d47
lea rax, [0x180090d10]
mov qword [rsp + 0x20], rax
lea rcx, [0x180090c50]
lea r9, [0x180090c30]
lea r8, [rbp + 0x90]
mov edx, 0x2b
call fcn.18004c070
jmp 0x180021f89
lea rax, [0x180090d10]
mov qword [rsp + 0x20], rax
lea rcx, [0x180090c50]
lea r9, [0x180090c30]
lea r8, [rbp + 0x90]
mov edx, 0x2b
call fcn.18004c070
jmp 0x180021f89
mov ecx, 1
mov edx, 0xaf
call fcn.18004bc10
ud2