Function at 0x1400a1b80
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
mov rsi, rdx
mov qword [rsp + 0x38], rcx
mov rcx, qword [rdx + 0x20]
mov rdx, qword [rdx + 0x28]
mov qword [rsp + 0x28], r8
call fcn.1400a1680
mov rcx, qword [rsi]
mov qword [rsp + 0x40], rsi
mov r8, qword [rsi + 8]
mov qword [rsp + 0x30], r8
and r8, rax
shr rax, 0x39
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
xor r9d, r9d
pcmpeqd xmm1, xmm1
movdqu xmm2, xmmword [rcx + r8]
movdqa xmm3, xmm2
pcmpeqb xmm3, xmm0
pmovmskb eax, xmm3
test eax, eax
je 0x1400a1d80
mov rdx, qword [rsp + 0x28]
movzx r10d, byte [rdx]
mov qword [rsp + 0x48], r9
jmp 0x1400a1c2e
test sil, sil
je 0x1400a1f0d
lea eax, [r11 - 1]
and eax, r11d
test ax, ax
mov r9, qword [rsp + 0x48]
je 0x1400a1d80
mov r11d, eax
tzcnt r15d, r11d
add r15, r8
and r15, qword [rsp + 0x30]
mov rax, r15
neg rax
lea rax, [rax + rax*4]
shl rax, 4
lea r12, [rcx + rax]
add rax, rcx
add rax, 0xffffffffffffffb0
cmp r10d, 1
je 0x1400a1ce0
cmp r10d, 2
jne 0x1400a1f0d
movzx esi, byte [rax]
cmp sil, 2
jne 0x1400a1c10
mov rdx, qword [rsp + 0x28]
mov rsi, qword [rdx + 8]
mov r13, qword [rsi + 0x10]
mov r14, qword [r12 - 0x48]
cmp r13, qword [r14 + 0x10]
jne 0x1400a1c19
mov rbp, qword [rsi + 8]
mov r14, qword [r14 + 8]
xor esi, esi
nop word cs:[rax + rax]
cmp r13, rsi
je 0x1400a1d11
movzx edi, byte [rbp + rsi]
movzx r9d, byte [r14 + rsi]
inc rsi
lea ebx, [rdi - 0x41]
cmp bl, 0x1a
setb bl
shl bl, 5
lea edx, [r9 - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or bl, dil
or dl, r9b
cmp bl, dl
je 0x1400a1ca0
jmp 0x1400a1c19
movzx esi, byte [rax]
cmp sil, 1
jne 0x1400a1c10
mov rdx, qword [rsp + 0x28]
cmp byte [rdx + 1], 0
movzx esi, byte [r12 - 0x4f]
je 0x1400a1d08
test sil, sil
jne 0x1400a1d11
jmp 0x1400a1c19
test sil, sil
jne 0x1400a1c19
mov rdx, qword [rsp + 0x28]
mov r13, qword [rdx + 0x20]
cmp r13, qword [r12 - 0x30]
jne 0x1400a1c19
mov rdx, qword [rsp + 0x28]
mov rbp, qword [rdx + 0x18]
mov r14, qword [r12 - 0x38]
xor esi, esi
nop word cs:[rax + rax]
cmp r13, rsi
je 0x1400a1da5
movzx edx, byte [rbp + rsi]
movzx r9d, byte [r14 + rsi]
inc rsi
lea edi, [rdx - 0x41]
cmp dil, 0x1a
setb bl
shl bl, 5
lea edi, [r9 - 0x41]
cmp dil, 0x1a
setb dil
shl dil, 5
or bl, dl
or dil, r9b
cmp bl, dil
je 0x1400a1d40
jmp 0x1400a1c19
pcmpeqb xmm2, xmm1
pmovmskb eax, xmm2
test eax, eax
jne 0x1400a1e7f
add r8, r9
add r8, 0x10
add r9, 0x10
and r8, qword [rsp + 0x30]
jmp 0x1400a1bde
shl r15, 4
lea rdx, [r15 + r15*4]
sar rdx, 4
movabs r8, 0xcccccccccccccccd
imul r8, rdx
lea r9, [r8 - 0x10]
and r9, qword [rsp + 0x30]
movdqu xmm0, xmmword [rcx + r9]
pcmpeqd xmm1, xmm1
pcmpeqb xmm0, xmm1
psllw xmm0, 7
pmovmskb r10d, xmm0
movdqu xmm0, xmmword [rcx + r8]
pcmpeqb xmm0, xmm1
pmovmskb edx, xmm0
test r10d, r10d
mov r11, qword [rsp + 0x40]
je 0x1400a1e03
bsr r10w, r10w
xor r10d, 0xf
jmp 0x1400a1e08
mov r10w, 0x10
or edx, 0x10000
tzcnt edx, edx
add r10d, edx
mov dl, pe_nt_image_headers64
cmp r10w, 0xf
ja 0x1400a1e24
inc qword [r11 + 0x10]
mov dl, 0xff
mov byte [rcx + r8], dl
mov byte [rcx + r9 + 0x10], dl
dec qword [r11 + 0x18]
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
movdqu xmm2, xmmword [rax + 0x20]
movups xmm3, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x80], xmm3
movdqu xmm3, xmmword [rax + 0x40]
movdqa xmmword [rsp + 0x90], xmm3
movdqa xmmword [rsp + 0x70], xmm2
movdqa xmmword [rsp + 0x60], xmm1
movdqa xmmword [rsp + 0x50], xmm0
movabs rax, 0x8000000000000000
cmp qword [rsp + 0x80], rax
jne 0x1400a1e93
mov rax, qword [rsp + 0x38]
movabs rcx, 0x8000000000000000
mov qword [rax], rcx
jmp 0x1400a1ef8
lea rax, [rsp + 0x80]
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
mov rax, qword [rsp + 0x38]
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
cmp byte [rsp + 0x50], 2
jb 0x1400a1ee1
mov rsi, qword [rsp + 0x58]
mov rax, qword [rsi]
mov rdx, qword [rsi + 8]
lea rcx, [rsi + 0x18]
mov r8, qword [rsi + 0x10]
call qword [rax + 0x18]
mov rcx, qword [0x1402f90f8]
xor edx, edx
mov r8, rsi
call fcn.1401d02bc
lea rcx, [rsp + 0x78]
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
call qword [rax + 0x18]
nop
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.internal_error:_entered_unreachable_code__
lea r8, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fhttp_0.2.12_srcuri_scheme.rs
mov edx, 0x28
call fcn.1400293d0
mov rdi, rax
mov rcx, qword [0x1402f90f8]
xor edx, edx
mov r8, rsi
call fcn.1401d02bc
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0x78]
mov r8, qword [rsp + 0x70]
call qword [rax + 0x18]
mov rcx, rdi
call fcn.1401d0750
call fcn.14002c8c0
int3