Function at 0x14009e510
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, 0x88
mov rsi, rdx
mov qword [rsp + 0x38], rcx
mov rcx, qword [rdx + 0x20]
mov rdx, qword [rdx + 0x28]
mov qword [rsp + 0x20], r8
call fcn.14009c240
mov rdi, qword [rsi]
mov qword [rsp + 0x30], rsi
mov r8, qword [rsi + 8]
mov qword [rsp + 0x28], r8
and r8, rax
shr rax, 0x39
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
xor r11d, r11d
pcmpeqd xmm1, xmm1
movdqu xmm2, xmmword [rdi + r8]
movdqa xmm3, xmm2
pcmpeqb xmm3, xmm0
pmovmskb eax, xmm3
test eax, eax
je 0x14009e710
mov r9, qword [rsp + 0x20]
movzx r10d, byte [r9]
mov rcx, r11
jmp 0x14009e5bf
test bpl, bpl
je 0x14009e896
lea eax, [r11 - 1]
and eax, r11d
test ax, ax
mov r11, rcx
mov rdi, rdx
je 0x14009e710
mov r11d, eax
tzcnt r15d, r11d
add r15, r8
and r15, qword [rsp + 0x28]
mov rax, r15
neg rax
lea rax, [rax + rax*8]
mov rdx, rdi
lea rax, [rdi + rax*8]
cmp r10d, 1
je 0x14009e660
cmp r10d, 2
jne 0x14009e896
movzx ebp, byte [rax - 0x48]
cmp bpl, 2
jne 0x14009e5a0
mov r9, qword [rsp + 0x20]
mov r14, qword [r9 + 8]
mov r12, qword [r14 + 0x10]
mov rbp, qword [rax - 0x40]
cmp r12, qword [rbp + 0x10]
jne 0x14009e5a9
mov r13, qword [r14 + 8]
mov rbp, qword [rbp + 8]
xor r14d, r14d
nop dword [rax]
cmp r12, r14
je 0x14009e691
movzx esi, byte [r13 + r14]
movzx edi, byte [rbp + r14]
inc r14
lea r9d, [rsi - 0x41]
cmp r9b, 0x1a
setb r9b
shl r9b, 5
lea ebx, [rdi - 0x41]
cmp bl, 0x1a
setb bl
shl bl, 5
or r9b, sil
or bl, dil
cmp r9b, bl
je 0x14009e620
jmp 0x14009e5a9
movzx ebp, byte [rax - 0x48]
cmp bpl, 1
jne 0x14009e5a0
mov r9, qword [rsp + 0x20]
cmp byte [r9 + 1], 0
movzx ebp, byte [rax - 0x47]
je 0x14009e688
test bpl, bpl
jne 0x14009e691
jmp 0x14009e5a9
test bpl, bpl
jne 0x14009e5a9
mov r9, qword [rsp + 0x20]
mov r12, qword [r9 + 0x20]
cmp r12, qword [rax - 0x28]
jne 0x14009e5a9
mov r9, qword [rsp + 0x20]
mov r13, qword [r9 + 0x18]
mov rbp, qword [rax - 0x30]
xor r14d, r14d
nop word cs:[rax + rax]
cmp r12, r14
je 0x14009e735
movzx r9d, byte [r13 + r14]
movzx esi, byte [rbp + r14]
inc r14
lea edi, [r9 - 0x41]
cmp dil, 0x1a
setb bl
shl bl, 5
lea edi, [rsi - 0x41]
cmp dil, 0x1a
setb dil
shl dil, 5
or bl, r9b
or dil, sil
cmp bl, dil
je 0x14009e6c0
jmp 0x14009e5a9
pcmpeqb xmm2, xmm1
pmovmskb eax, xmm2
test eax, eax
jne 0x14009e80d
add r8, r11
add r8, 0x10
add r11, 0x10
and r8, qword [rsp + 0x28]
jmp 0x14009e56e
shl r15, 3
lea r9, [r15 + r15*8]
sar r9, 3
movabs r8, 0x8e38e38e38e38e39
imul r8, r9
lea r9, [r8 - 0x10]
and r9, qword [rsp + 0x28]
mov rcx, rdx
movdqu xmm0, xmmword [rdx + r9]
pcmpeqd xmm1, xmm1
pcmpeqb xmm0, xmm1
psllw xmm0, 7
pmovmskb r10d, xmm0
movdqu xmm0, xmmword [rdx + r8]
pcmpeqb xmm0, xmm1
pmovmskb edx, xmm0
test r10d, r10d
je 0x14009e791
bsr r10w, r10w
xor r10d, 0xf
jmp 0x14009e796
mov r10w, 0x10
mov r11, qword [rsp + 0x30]
or edx, 0x10000
tzcnt edx, edx
add r10d, edx
mov dl, pe_nt_image_headers64
cmp r10w, 0xf
ja 0x14009e7b7
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 - 0x48]
movdqu xmm1, xmmword [rax - 0x38]
movdqu xmm2, xmmword [rax - 0x28]
movdqu xmm3, xmmword [rax - 0x18]
movdqa xmmword [rsp + 0x70], xmm3
mov rax, qword [rax - 8]
mov qword [rsp + 0x80], rax
movdqa xmmword [rsp + 0x60], xmm2
movdqa xmmword [rsp + 0x50], xmm1
movdqa xmmword [rsp + 0x40], xmm0
movabs rax, 0x8000000000000000
cmp qword [rsp + 0x70], rax
jne 0x14009e821
mov rax, qword [rsp + 0x38]
movabs rcx, 0x8000000000000000
mov qword [rax], rcx
jmp 0x14009e881
lea rax, [rsp + 0x70]
mov rcx, qword [rax + 0x10]
mov rdx, qword [rsp + 0x38]
mov qword [rdx + 0x10], rcx
movdqu xmm0, xmmword [rax]
movdqu xmmword [rdx], xmm0
cmp byte [rsp + 0x40], 2
jb 0x14009e86a
mov rsi, qword [rsp + 0x48]
lea rcx, [rsi + 0x18]
mov rax, qword [rsi]
mov rdx, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
call qword [rax + 0x18]
mov rcx, qword [0x140279280]
xor edx, edx
mov r8, rsi
call fcn.1401abdbc
lea rcx, [rsp + 0x68]
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
call qword [rax + 0x18]
nop
add rsp, 0x88
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_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_untrusted_0.9.0_src_reader.rs_home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustls_webpki_0.102.4_src_der.rs
lea r8, str._home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_http_1.1.0_src_uri_scheme.rs
mov edx, 0x28
call fcn.140046f60
int3