Function at 0x1400a7d40
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.1400a8120
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 0x1400a7f40
mov rdx, qword [rsp + 0x28]
movzx r10d, byte [rdx]
mov qword [rsp + 0x48], r9
jmp 0x1400a7dee
test sil, sil
je 0x1400a80cd
lea eax, [r11 - 1]
and eax, r11d
test ax, ax
mov r9, qword [rsp + 0x48]
je 0x1400a7f40
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 0x1400a7ea0
cmp r10d, 2
jne 0x1400a80cd
movzx esi, byte [rax]
cmp sil, 2
jne 0x1400a7dd0
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 0x1400a7dd9
mov rbp, qword [rsi + 8]
mov r14, qword [r14 + 8]
xor esi, esi
nop word cs:[rax + rax]
cmp r13, rsi
je 0x1400a7ed1
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 0x1400a7e60
jmp 0x1400a7dd9
movzx esi, byte [rax]
cmp sil, 1
jne 0x1400a7dd0
mov rdx, qword [rsp + 0x28]
cmp byte [rdx + 1], 0
movzx esi, byte [r12 - 0x4f]
je 0x1400a7ec8
test sil, sil
jne 0x1400a7ed1
jmp 0x1400a7dd9
test sil, sil
jne 0x1400a7dd9
mov rdx, qword [rsp + 0x28]
mov r13, qword [rdx + 0x20]
cmp r13, qword [r12 - 0x30]
jne 0x1400a7dd9
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 0x1400a7f65
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 0x1400a7f00
jmp 0x1400a7dd9
pcmpeqb xmm2, xmm1
pmovmskb eax, xmm2
test eax, eax
jne 0x1400a803f
add r8, r9
add r8, 0x10
add r9, 0x10
and r8, qword [rsp + 0x30]
jmp 0x1400a7d9e
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 0x1400a7fc3
bsr r10w, r10w
xor r10d, 0xf
jmp 0x1400a7fc8
mov r10w, 0x10
or edx, 0x10000
tzcnt edx, edx
add r10d, edx
mov dl, pe_nt_image_headers64
cmp r10w, 0xf
ja 0x1400a7fe4
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 0x1400a8053
mov rax, qword [rsp + 0x38]
movabs rcx, 0x8000000000000000
mov qword [rax], rcx
jmp 0x1400a80b8
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 0x1400a80a1
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 [0x1402f3170]
xor edx, edx
mov r8, rsi
call fcn.1401d7c44
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_codeEndOfInput_home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_untrusted_0.9.0_src_reader.rs_home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustls_webpki_0.102.5_src_der.rs
lea r8, str._home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_http_1.1.0_src_uri_scheme.rs
mov edx, 0x28
call fcn.14002e2c0
mov rdi, rax
mov rcx, qword [0x1402f3170]
xor edx, edx
mov r8, rsi
call fcn.1401d7c44
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.1401d80d0
call fcn.140034bc0
int3