Function at 0x14001f5c7
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x148
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xc0], 0xfffffffffffffffe
mov qword [rbp + 0xa8], r9
mov r14, rdx
mov rax, qword [0x14019b820]
xorps xmm0, xmm0
movups xmmword [rcx + 8], xmm0
mov qword [rbp + 0xb8], rcx
mov qword [rcx], rax
mov qword [rsp + 0x20], 1
lea r9, [0x14018856d]
lea rcx, [rbp + 0x28]
mov qword [rbp + 0xb0], r8
call fcn.14000de60
push 0xd
pop rax
lea rdx, [rbp - 0x40]
lea rsi, [rbp + 0x28]
mov rcx, rax
mov rdi, rdx
rep movsq qword [rdi], qword [rsi]
lea rdi, [rbp + 0x28]
mov rcx, rax
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
xor r15d, r15d
push 1
pop r13
cmp dword [rbp + 0x48], 1
jne 0x14001f69f
cmp qword [rbp + 0x80], 0xffffffffffffffff
mov r8, qword [rbp + 0x28]
mov r9, qword [rbp + 0x30]
mov rax, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x40]
je 0x14001f797
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x30], 0
lea rcx, [rbp + 0x90]
lea rdx, [rbp + 0x50]
call fcn.14000398f
jmp 0x14001f7b6
mov rcx, qword [rbp + 0x28]
mov r12, qword [rbp + 0x30]
lea r9, [rcx + r12]
mov r10b, byte [rbp + 0x60]
mov r8, qword [rbp + 0x50]
mov r11d, r10d
xor r11b, 1
test r8, r8
je 0x14001f6d5
cmp r12, r8
je 0x14001f6d5
jbe 0x14001f853
cmp byte [rcx + r8], 0xbf
jle 0x14001f853
cmp r12, r8
je 0x14001f7d0
lea rsi, [rcx + r8]
mov dl, byte [rsi]
movzx eax, dl
test al, al
jns 0x14001f758
lea rdi, [rsi + 1]
cmp rdi, r9
je 0x14001f701
movzx edi, byte [rsi + 1]
add rsi, 2
and edi, 0x3f
jmp 0x14001f706
xor edi, edi
mov rsi, r9
mov ebx, eax
and ebx, 0x1f
cmp al, 0xe0
jb 0x14001f71f
cmp rsi, r9
je 0x14001f724
movzx eax, byte [rsi]
inc rsi
and eax, 0x3f
jmp 0x14001f729
shl ebx, 6
jmp 0x14001f743
xor eax, eax
mov rsi, r9
shl edi, 6
or edi, eax
cmp dl, 0xf0
jb 0x14001f740
cmp rsi, r9
je 0x14001f747
movzx eax, byte [rsi]
and eax, 0x3f
jmp 0x14001f749
shl ebx, 0xc
or edi, ebx
jmp 0x14001f756
xor eax, eax
and ebx, 7
shl ebx, 0x12
shl edi, 6
or edi, ebx
or edi, eax
mov eax, edi
test r10b, r10b
jne 0x14001f7e2
cmp eax, 0x110000
je 0x14001f822
mov rdx, r13
cmp eax, 0x80
jb 0x14001f78c
push 2
pop rdx
cmp eax, 0x800
jb 0x14001f78c
cmp eax, 0x10000
push 4
pop rdx
sbb rdx, 0
add r8, rdx
mov r10d, r11d
jmp 0x14001f6b6
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x30], 1
lea rcx, [rbp + 0x90]
lea rdx, [rbp + 0x50]
call fcn.14000398f
cmp qword [rbp + 0x90], 1
jne 0x14001f822
mov r8, qword [rbp + 0x98]
mov r12, qword [rbp + 0xa0]
jmp 0x14001f7ed
mov byte [rbp + 0x60], r11b
mov qword [rbp + 0x50], r12
mov r8, r12
test r10b, r10b
jne 0x14001f7ed
jmp 0x14001f822
mov byte [rbp + 0x60], r11b
mov qword [rbp + 0x50], r8
mov r12, r8
lea rdx, [r14 + r15]
sub r8, r15
mov rcx, qword [rbp + 0xb8]
call fcn.14006518c
mov rcx, qword [rbp + 0xb8]
mov rdx, qword [rbp + 0xa8]
mov r8, qword [rbp + 0x130]
call fcn.14006518c
mov r15, r12
jmp 0x14001f657
add r14, r15
mov r8, qword [rbp + 0xb0]
sub r8, r15
mov rcx, qword [rbp + 0xb8]
mov rdx, r14
call fcn.14006518c
nop
add rsp, 0x148
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov byte [rbp + 0x60], r11b
mov qword [rbp + 0x50], r8
lea rax, str._rustc_53cb7b09b00cbea8754ffb78e7e3cb521cb8af4blibrarycore_src_strpattern.rsIpv6
mov qword [rsp + 0x20], rax
mov rdx, r12
mov r9, r12
call fcn.140117890
ud2