Function at 0x14003b2c4
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, 0x2d8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x240], xmm10
movaps xmmword [rbp + 0x230], xmm9
movaps xmmword [rbp + 0x220], xmm8
movaps xmmword [rbp + 0x210], xmm7
movaps xmmword [rbp + 0x200], xmm6
and rsp, 0xffffffffffffffe0
mov r12, r8
mov rbx, rdx
mov r15, rcx
lea r9, [0x14019c540]
push reloc.WS2_32.dll_recv
pop rcx
push 0x18
pop r8
mov rdx, r12
call fcn.14003321a
mov rsi, rax
mov rcx, rdx
call fcn.140036842
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1f0], xmm0
movaps xmmword [rsp + 0x1e0], xmm0
movaps xmmword [rsp + 0x1d0], xmm0
lea rdi, [rsp + 0x120]
mov qword [rdi], rbx
mov qword [rdi + 8], 0x20
mov qword [rdi + 0x10], 4
and qword [rdi + 0x20], 0
movups xmm0, xmmword [str.expand_32_byte_kC:UsersAdministrator.cargo_registry_src_rsproxy.cn_0dccff568467c15bchacha20_0.8.2_src_backend_sse2.rs]
movaps xmmword [rsp + 0x1c0], xmm0
push 8
pop rax
lea rbx, [0x14019ca08]
test rax, rax
je 0x14003b3f7
dec rax
mov qword [rsp + 0x138], rax
mov rcx, rdi
call fcn.140041601
test rax, rax
je 0x14003b3f7
mov r14, qword [rsp + 0x140]
lea rcx, [r14 + 1]
mov qword [rsp + 0x140], rcx
mov cl, 1
cmp rdx, 4
jne 0x14003b3c5
mov r8d, dword [rax]
xor ecx, ecx
shl r8, 8
movzx ecx, cl
or rcx, r8
mov rdx, rbx
call fcn.140036708
lea rcx, [r14 + 4]
cmp rcx, 0x10
jae 0x14003bae6
mov dword [rsp + r14*4 + 0x1d0], eax
mov rax, qword [rsp + 0x138]
jmp 0x14003b387
lea r14, [rsp + 0x120]
mov qword [r14], rsi
mov qword [r14 + 8], reloc.WS2_32.dll_recv
mov qword [r14 + 0x10], 4
and qword [r14 + 0x18], 0
lea rsi, [0x14019c9d8]
mov rcx, r14
call fcn.140041601
test rax, rax
je 0x14003b475
mov rdi, qword [rsp + 0x138]
lea rcx, [rdi + 1]
mov qword [rsp + 0x138], rcx
mov cl, 1
cmp rdx, 4
jne 0x14003b44c
mov r8d, dword [rax]
xor ecx, ecx
shl r8, 8
movzx ecx, cl
or rcx, r8
mov rdx, rsi
call fcn.140036708
lea rcx, [rdi + 0xc]
cmp rcx, 0x10
jae 0x14003badd
mov dword [rsp + rdi*4 + 0x1f0], eax
jmp 0x14003b41e
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r15
push reloc.WS2_32.dll_ioctlsocket
pop rbx
lea rsi, [rsp + 0x1c0]
push 0xc
pop rax
mov qword [rsp + 0x28], rax
push 0xc
pop r12
push 5
pop r13
push reloc.WS2_32.dll_ioctlsocket
pop rdi
push recv
pop r15
sub rbx, 1
jb 0x14003b572
mov qword [rsp + 0x20], rsi
xor ecx, ecx
push 4
pop rdx
push 8
pop r8
mov r9, r12
call fcn.1400413f6
mov qword [rsp + 0x20], rsi
push 1
pop rcx
mov rdx, r13
push 9
pop r8
push 0xd
pop r9
call fcn.1400413f6
mov qword [rsp + 0x20], rsi
push 2
pop rcx
push 6
pop rdx
mov r8, rdi
push 0xe
pop r9
call fcn.1400413f6
mov qword [rsp + 0x20], rsi
push 3
pop rcx
push 7
pop rdx
push 0xb
pop r14
mov r8, r14
mov r9, r15
call fcn.1400413f6
mov qword [rsp + 0x20], rsi
xor ecx, ecx
mov rdx, r13
mov r8, rdi
mov r9, r15
call fcn.1400413f6
mov qword [rsp + 0x20], rsi
push 1
pop rcx
push 6
pop rdx
mov r8, r14
mov r9, r12
call fcn.1400413f6
mov qword [rsp + 0x20], rsi
push 2
pop rcx
push 7
pop rdx
push 8
pop r8
push 0xd
pop r9
call fcn.1400413f6
mov qword [rsp + 0x20], rsi
push 3
pop rcx
push 4
pop rdx
push 9
pop r8
lea r14, [rsp + 0x120]
push 0xe
pop r9
call fcn.1400413f6
jmp 0x14003b4a1
mov rcx, r14
call fcn.1400c561c
push 0x20
pop rdi
xor ebx, ebx
lea r13, [0x14019c9c0]
lea rsi, [rsp + 0x40]
cmp rbx, 4
je 0x14003b5ca
cmp rdi, 4
push 4
pop r9
mov rdx, r9
cmovb rdx, rdi
sub rdi, rdx
lea r12, [r14 + rdx]
mov eax, dword [rsp + rbx*4 + 0x1c0]
inc rbx
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x20], r13
mov rcx, r14
mov r8, rsi
call fcn.1400b2654
mov r14, r12
jmp 0x14003b58b
push 0x20
pop rdi
lea rbx, [rsp + 0x120]
xor eax, eax
lea r12, [0x14019c9a8]
lea rsi, [rsp + 0x40]
push reloc.WS2_32.dll_recv
pop rcx
test al, 1
je 0x14003b602
test rdi, rdi
je 0x14003b66e
cmp rdi, 4
push 4
pop rax
cmovb rax, rdi
mov rcx, rbx
mov rdx, rax
jmp 0x14003b624
cmp rcx, rdi
jae 0x14003b66e
mov rax, rcx
or rax, 4
cmp rdi, rax
cmovb rax, rdi
mov rdx, rax
sub rdx, rcx
jb 0x14003bb06
add rcx, rbx
test rcx, rcx
je 0x14003b66e
cmp qword [rsp + 0x28], 0x10
je 0x14003baf2
sub rdi, rax
add rbx, rax
mov r14, qword [rsp + 0x28]
mov eax, dword [rsp + r14*4 + 0x1c0]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x20], r12
mov r8, rsi
push 4
pop r9
call fcn.1400b2654
inc r14
mov qword [rsp + 0x28], r14
mov al, 1
xor ecx, ecx
jmp 0x14003b5e6
movups xmm0, xmmword [rsp + 0x120]
movups xmm1, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0xb0], xmm1
lea rsi, [rsp + 0x90]
and dword [rsi + 8], 0
movaps xmmword [rsp + 0xa0], xmm0
and qword [rsi], 0
lea r9, [0x14019c558]
push 0xc
pop rdx
push 4
pop r8
mov rcx, rsi
call fcn.14003636d
mov rdi, rax
mov rbx, rdx
lea r9, [0x14019c570]
push 0x18
pop rdx
push reloc.WS2_32.dll_recv
pop r8
mov rcx, qword [rsp + 0x38]
call fcn.14003636d
mov r9, rdx
lea rcx, [0x14019c588]
mov qword [rsp + 0x20], rcx
mov rcx, rdi
mov rdx, rbx
mov r8, rax
call fcn.1400b2654
mov rsi, qword [rsi + 4]
mov r14, qword [0x14029a158]
mov al, byte [r14]
cmp al, 0xff
je 0x14003b7e2
cmp al, 1
mov r15, qword [rsp + 0x30]
jne 0x14003b96a
lea rdi, [rsp + 0x118]
mov qword [rdi], rsi
lea rbx, [rsp + 0x1c0]
lea rdx, [rsp + 0xa0]
mov rcx, rbx
call fcn.14004139a
movaps xmm9, xmmword [rbx]
movaps xmm6, xmmword [rbx + 0x10]
movaps xmm7, xmmword [rbx + 0x20]
movq xmm8, qword [rbx + 0x30]
mov r14, qword [rbx + 0x38]
movaps xmm0, xmmword [rbx + 0x40]
movaps xmmword [rsp + 0xc0], xmm0
movaps xmm0, xmmword [rbx + 0x50]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmm0, xmmword [rbx + 0x60]
movaps xmmword [rsp + 0xe0], xmm0
movaps xmm0, xmmword [rbx + 0x70]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmm0, xmmword [rbx + 0x80]
movaps xmmword [rsp + 0x40], xmm0
movaps xmm0, xmmword [rbx + 0x90]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [rbx + 0xa0]
movaps xmmword [rsp + 0x60], xmm0
movaps xmm0, xmmword [rbx + 0xb0]
movaps xmmword [rsp + 0x70], xmm0
shr rsi, 0x18
and rsi, 0xffffffffffffff00
lea rdx, [0x14019c838]
mov rcx, rsi
call fcn.140036708
mov esi, eax
lea rdx, [0x14019c850]
mov rcx, rdi
call fcn.1400362e2
cmp rdx, 4
jne 0x14003b855
mov eax, dword [rax]
xor ecx, ecx
jmp 0x14003b857
lea rdi, [rsp + 0x120]
push 1
pop rdx
mov rcx, rdi
call fcn.1400ddcf8
lea rbx, [rsp + 0x1c0]
push 7
pop rdx
mov rcx, rbx
xor r8d, r8d
call fcn.1400ddd1a
mov edi, dword [rdi + 8]
mov ebx, dword [rbx + 4]
lea rcx, str.ymmxmmzmmC:UsersAdministrator.cargo_registry_src_rsproxy.cn_0dccff568467c15bchacha20_0.8.2_src_backend_avx2.rs
lea r8, [0x14019c7ab]
push 3
pop rdx
mov r9, rdx
call fcn.140054712
test al, al
mov r15, qword [rsp + 0x30]
je 0x14003b8eb
mov eax, edi
not eax
test eax, 0xc000000
jne 0x14003b954
call fcn.140036740
and eax, 2
shr eax, 1
jmp 0x14003b956
mov cl, 1
shl rax, 8
movzx ecx, cl
or rcx, rax
lea rdx, [0x14019c868]
call fcn.140036708
movd xmm0, eax
movd xmm10, esi
punpckldq xmm10, xmm0
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movaps xmm2, xmmword [rsp + 0xe0]
movaps xmm3, xmmword [rsp + 0xf0]
lea rsi, [rsp + 0x1c0]
movaps xmmword [rsi], xmm0
movaps xmmword [rsi + 0x10], xmm1
movaps xmmword [rsi + 0x20], xmm2
movaps xmmword [rsi + 0x30], xmm3
movdqa xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movaps xmm3, xmmword [rsp + 0x70]
movdqa xmmword [rsi + 0x40], xmm0
movaps xmmword [rsi + 0x50], xmm1
movaps xmmword [rsi + 0x60], xmm2
movaps xmmword [rsi + 0x70], xmm3
push reloc.WS2_32.dll_recv
pop rcx
lea rdi, [rsp + 0x120]
rep movsq qword [rdi], qword [rsi]
jmp 0x14003b9ea
lea rcx, str.ymmxmmzmmC:UsersAdministrator.cargo_registry_src_rsproxy.cn_0dccff568467c15bchacha20_0.8.2_src_backend_avx2.rs
push 3
pop rdx
mov r8, rcx
mov r9, rdx
call fcn.140054712
test al, al
je 0x14003b91a
mov eax, edi
not eax
test eax, 0xc000000
jne 0x14003b954
call fcn.140036740
not eax
test al, 6
jmp 0x14003b94f
lea rcx, str.ymmxmmzmmC:UsersAdministrator.cargo_registry_src_rsproxy.cn_0dccff568467c15bchacha20_0.8.2_src_backend_avx2.rs
lea r8, [0x14019c7ae]
push 3
pop rdx
mov r9, rdx
call fcn.140054712
mov ecx, eax
mov al, 1
test cl, cl
je 0x14003b956
mov eax, edi
not eax
test eax, 0xc000000
jne 0x14003b954
call fcn.140036740
not eax
test al, 0xe6
sete al
jmp 0x14003b956
xor eax, eax
shr bl, 5
and bl, al
shr edi, 0x1c
and dil, bl
mov byte [r14], dil
jne 0x14003b712
lea rdi, [rsp + 0x1c0]
mov qword [rdi], rsi
movaps xmm6, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
shr rsi, 0x18
and rsi, 0xffffffffffffff00
lea rdx, [0x14019c930]
mov rcx, rsi
call fcn.140036708
mov esi, eax
lea rdx, [0x14019c948]
mov rcx, rdi
call fcn.1400362e2
cmp rdx, 4
jne 0x14003b9bc
mov eax, dword [rax]
xor ecx, ecx
jmp 0x14003b9be
mov cl, 1
shl rax, 8
movzx ecx, cl
or rcx, rax
lea rdx, [0x14019c960]
call fcn.140036708
movd xmm0, eax
movd xmm8, esi
punpckldq xmm8, xmm0
movaps xmm9, xmmword [str.expand_32_byte_k]
lea rdi, [r15 + 0x140]
push reloc.WS2_32.dll_recv
pop rcx
lea rsi, [rsp + 0x120]
rep movsq qword [rdi], qword [rsi]
mov rax, qword [rsp + 0x1b8]
mov qword [r15 + 0x1d8], rax
movups xmm0, xmmword [rsp + 0x1a8]
movups xmmword [r15 + 0x1c8], xmm0
mov esi, dword [rsp + 0x90]
shl rsi, 0x20
mov r8d, 0x100
mov rcx, r15
xor edx, edx
call sub.VCRUNTIME140.dll_memset
movaps xmmword [r15 + 0x100], xmm9
movaps xmmword [r15 + 0x110], xmm6
movaps xmmword [r15 + 0x120], xmm7
movq qword [r15 + 0x130], xmm8
mov qword [r15 + 0x138], r14
movq qword [r15 + 0x1c0], xmm10
and qword [r15 + 0x1e0], 0
mov qword [r15 + 0x1e8], rsi
and word [r15 + 0x1f0], 0
mov rax, qword [rsp + 0x1c0]
mov rcx, qword [rsp + 0x1c6]
mov qword [r15 + 0x1f2], rax
mov qword [r15 + 0x1f8], rcx
mov rax, r15
movaps xmm6, xmmword [rbp + 0x200]
movaps xmm7, xmmword [rbp + 0x210]
movaps xmm8, xmmword [rbp + 0x220]
movaps xmm9, xmmword [rbp + 0x230]
movaps xmm10, xmmword [rbp + 0x240]
lea rsp, [rbp + 0x258]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea r8, [0x14019c9f0]
jmp 0x14003baed
lea r8, [0x14019ca20]
push reloc.WS2_32.dll_recv
pop rdx
jmp 0x14003baff
lea r8, [0x14019c990]
push reloc.WS2_32.dll_recv
pop rcx
mov rdx, rcx
call fcn.1401873e0
ud2
lea rcx, str.assertion_failed:_mid___self.len__already_borrowed_rustc_c469197b19d53a6c45378568f73c00986b20a5a5librarycore_srccharmethods.rs
lea r8, [0x14019cb90]
push 0x23
pop rdx
call fcn.140187340
ud2