Function at 0x14027ffd0
Capabilities:
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, 0x678
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x5e0], xmm7
movaps xmmword [rbp + 0x5d0], xmm6
and rsp, 0xffffffffffffffe0
mov r12, rdx
mov rdx, qword [rbp + 0x678]
mov rsi, qword [rbp + 0x668]
mov rdi, rdx
sub rdi, rsi
jb 0x1402803cc
mov r14, r9
mov r15, r8
mov rbx, rcx
mov rcx, qword [rbp + 0x670]
mov rdx, qword [rbp + 0x660]
mov r8, rsi
call sub.msvcrt.dll_memcpy
movups xmm6, xmmword [rbx]
movups xmm7, xmmword [rbx + 0x10]
movaps xmmword [rsp + 0x70], xmm7
movaps xmmword [rsp + 0x60], xmm6
movzx eax, byte [0x14030584a]
cmp al, 0xff
jne 0x1402800ac
lea rcx, [rsp + 0x90]
call fcn.1400eb070
lea rcx, [rsp + 0x120]
call fcn.1400eb0a0
mov ebx, dword [rsp + 0x98]
mov r13d, dword [rsp + 0x124]
mov eax, ebx
not eax
test eax, 0xc000000
jne 0x140280097
call fcn.140178270
not eax
test al, 6
sete al
jmp 0x140280099
xor eax, eax
shr r13b, 5
and r13b, al
shr ebx, 0x1c
and bl, r13b
mov byte [0x14030584a], bl
movups xmm0, xmmword [str.expand_32_byte_k]
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0xb0], xmm7
mov qword [rsp + 0xc8], r12
mov qword [rsp + 0xc0], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0x100], xmm0
mov byte [rsp + 0x110], 0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
lea r13, [rsp + 0x90]
lea r12, [rsp + 0x40]
mov r8d, 0x20
mov rcx, r13
mov rdx, r12
call fcn.140280b00
lea rbx, [rsp + 0x120]
mov rcx, rbx
mov rdx, r12
call fcn.1401776d0
mov byte [rsp + 0x40], 0
mov byte [rsp + 0x41], 0
mov byte [rsp + 0x42], 0
mov byte [rsp + 0x43], 0
mov byte [rsp + 0x44], 0
mov byte [rsp + 0x45], 0
mov byte [rsp + 0x46], 0
mov byte [rsp + 0x47], 0
mov byte [rsp + 0x48], 0
mov byte [rsp + 0x49], 0
mov byte [rsp + 0x4a], 0
mov byte [rsp + 0x4b], 0
mov byte [rsp + 0x4c], 0
mov byte [rsp + 0x4d], 0
mov byte [rsp + 0x4e], 0
mov byte [rsp + 0x4f], 0
mov byte [rsp + 0x50], 0
mov byte [rsp + 0x51], 0
mov byte [rsp + 0x52], 0
mov byte [rsp + 0x53], 0
mov byte [rsp + 0x54], 0
mov byte [rsp + 0x55], 0
mov byte [rsp + 0x56], 0
mov byte [rsp + 0x57], 0
mov byte [rsp + 0x58], 0
mov byte [rsp + 0x59], 0
mov byte [rsp + 0x5a], 0
mov byte [rsp + 0x5b], 0
mov byte [rsp + 0x5c], 0
mov byte [rsp + 0x5d], 0
mov byte [rsp + 0x5e], 0
mov byte [rsp + 0x5f], 0
mov dword [rsp + 0xc0], 1
mov byte [rsp + 0x110], 0
lea r12, [rsp + 0x5a0]
mov r8d, 0x84
mov rcx, r12
mov rdx, r13
call sub.msvcrt.dll_memcpy
lea rcx, [rsp + 0x360]
mov r8d, 0x240
mov rdx, rbx
call sub.msvcrt.dll_memcpy
movabs rax, 0x3fffffffbf
cmp rsi, rax
ja 0x1402803dd
lea rbx, [rsp + 0x360]
mov rcx, rbx
mov rdx, r15
mov r8, r14
call fcn.140281280
mov rcx, r12
mov r15, qword [rbp + 0x670]
mov rdx, r15
mov r8, rsi
call fcn.140280b00
mov rcx, rbx
mov rdx, r15
mov r8, rsi
call fcn.140281280
mov qword [rsp + 0x120], r14
mov qword [rsp + 0x128], rsi
movzx eax, byte [0x140305849]
lea rcx, [rsp + 0x360]
lea rdx, [rsp + 0x120]
cmp al, 1
jne 0x1402802a5
call fcn.140176d50
jmp 0x1402802aa
call fcn.1401774b0
lea rbx, [rsp + 0x120]
lea rdx, [rsp + 0x360]
mov r8d, 0x240
mov rcx, rbx
call sub.msvcrt.dll_memcpy
lea rcx, [rsp + 0x91]
mov rdx, rbx
call fcn.140178380
mov rcx, r12
call fcn.140281400
movups xmm0, xmmword [rsp + 0x91]
movaps xmmword [rsp + 0x360], xmm0
mov byte [rsp + 0x60], 0
mov byte [rsp + 0x61], 0
mov byte [rsp + 0x62], 0
mov byte [rsp + 0x63], 0
mov byte [rsp + 0x64], 0
mov byte [rsp + 0x65], 0
mov byte [rsp + 0x66], 0
mov byte [rsp + 0x67], 0
mov byte [rsp + 0x68], 0
mov byte [rsp + 0x69], 0
mov byte [rsp + 0x6a], 0
mov byte [rsp + 0x6b], 0
mov byte [rsp + 0x6c], 0
mov byte [rsp + 0x6d], 0
mov byte [rsp + 0x6e], 0
mov byte [rsp + 0x6f], 0
mov byte [rsp + 0x70], 0
mov byte [rsp + 0x71], 0
mov byte [rsp + 0x72], 0
mov byte [rsp + 0x73], 0
mov byte [rsp + 0x74], 0
mov byte [rsp + 0x75], 0
mov byte [rsp + 0x76], 0
mov byte [rsp + 0x77], 0
mov byte [rsp + 0x78], 0
mov byte [rsp + 0x79], 0
mov byte [rsp + 0x7a], 0
mov byte [rsp + 0x7b], 0
mov byte [rsp + 0x7c], 0
mov byte [rsp + 0x7d], 0
mov byte [rsp + 0x7e], 0
mov byte [rsp + 0x7f], 0
cmp rdi, 0xf
jbe 0x140280413
movaps xmm0, xmmword [rsp + 0x360]
movups xmmword [r15 + rsi], xmm0
add rsi, 0x10
mov rax, rsi
movaps xmm6, xmmword [rbp + 0x5d0]
movaps xmm7, xmmword [rbp + 0x5e0]
lea rsp, [rbp + 0x5f8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea r8, str._Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_snow_0.9.6_src_resolvers_default.rs
mov rcx, rsi
call fcn.140137b60
ud2
mov rcx, r12
call fcn.140281400
lea rax, str._Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_snow_0.9.6_src_resolvers_default.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x1403a5658]
lea r8, [rsp + 0x120]
mov edx, 0x2b
call fcn.14013bd80
ud2
lea r8, str._Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_snow_0.9.6_src_resolvers_default.rs
mov ecx, 0x10
mov rdx, rdi
call fcn.140137b60
ud2