Function at 0x1401b0c30
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rsi, r8
mov rax, rdx
cmp qword [r8], 0
mov rdx, qword [r8 + 8]
je 0x1401b0e2a
xor r8d, r8d
test rdx, rdx
sete r9b
mov bl, 4
test rcx, rcx
je 0x1401b0eef
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 0
test rax, rax
je 0x1401b0eef
mov r8b, r9b
lea r15, [r8*8 + 0x18]
lea rdi, [rsp + 0x28]
lea r14, [rsp + 0x40]
test rdx, rdx
jne 0x1401b0cb0
jmp 0x1401b0dd0
mov rax, qword [rsp + 0x50]
cmp rax, qword [rsp + 0x48]
je 0x1401b0eef
mov rcx, rdi
mov rdx, r14
call fcn.1401b03e0
movzx eax, byte [rsp + 0x28]
cmp al, 4
je 0x1401b0ee1
cmp al, 2
jne 0x1401b0ca0
cmp qword [rsp + 0x38], 0x10
jne 0x1401b0ca0
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax]
cmp cl, byte [rsi + r15]
jne 0x1401b0ca0
movzx ecx, byte [rax + 1]
cmp cl, byte [rsi + r15 + 1]
jne 0x1401b0ca0
movzx ecx, byte [rax + 2]
cmp cl, byte [rsi + r15 + 2]
jne 0x1401b0ca0
movzx ecx, byte [rax + 3]
cmp cl, byte [rsi + r15 + 3]
jne 0x1401b0ca0
movzx ecx, byte [rax + 4]
cmp cl, byte [rsi + r15 + 4]
jne 0x1401b0ca0
movzx ecx, byte [rax + 5]
cmp cl, byte [rsi + r15 + 5]
jne 0x1401b0ca0
movzx ecx, byte [rax + 6]
cmp cl, byte [rsi + r15 + 6]
jne 0x1401b0ca0
movzx ecx, byte [rax + 7]
cmp cl, byte [rsi + r15 + 7]
jne 0x1401b0ca0
movzx ecx, byte [rax + 8]
cmp cl, byte [rsi + r15 + 8]
jne 0x1401b0ca0
movzx ecx, byte [rax + 9]
cmp cl, byte [rsi + r15 + 9]
jne 0x1401b0ca0
movzx ecx, byte [rax + 0xa]
cmp cl, byte [rsi + r15 + 0xa]
jne 0x1401b0ca0
movzx ecx, byte [rax + 0xb]
cmp cl, byte [rsi + r15 + 0xb]
jne 0x1401b0ca0
movzx ecx, byte [rax + 0xc]
cmp cl, byte [rsi + r15 + 0xc]
jne 0x1401b0ca0
movzx ecx, byte [rax + 0xd]
cmp cl, byte [rsi + r15 + 0xd]
jne 0x1401b0ca0
movzx ecx, byte [rax + 0xe]
cmp cl, byte [rsi + r15 + 0xe]
jne 0x1401b0ca0
movzx eax, byte [rax + 0xf]
cmp al, byte [rsi + r15 + 0xf]
jne 0x1401b0ca0
jmp 0x1401b0e23
mov rax, qword [rsp + 0x50]
cmp rax, qword [rsp + 0x48]
je 0x1401b0eef
mov rcx, rdi
mov rdx, r14
call fcn.1401b03e0
movzx eax, byte [rsp + 0x28]
cmp al, 4
je 0x1401b0ee1
cmp al, 2
jne 0x1401b0dc0
cmp qword [rsp + 0x38], 4
jne 0x1401b0dc0
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax]
cmp cl, byte [rsi + r15]
jne 0x1401b0dc0
movzx ecx, byte [rax + 1]
cmp cl, byte [rsi + r15 + 1]
jne 0x1401b0dc0
movzx ecx, byte [rax + 2]
cmp cl, byte [rsi + r15 + 2]
jne 0x1401b0dc0
movzx eax, byte [rax + 3]
cmp al, byte [rsi + r15 + 3]
jne 0x1401b0dc0
mov bl, 0x26
jmp 0x1401b0eef
mov r14, rcx
mov rdi, rax
mov r8, qword [rsi + 0x10]
lea rcx, [rsp + 0x28]
call fcn.14002a090
cmp qword [rsp + 0x28], 0
jne 0x1401b0efe
mov bl, 4
test r14, r14
je 0x1401b0eef
mov rsi, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], 0
lea rdi, [rsp + 0x28]
lea r14, [rsp + 0x40]
mov ebp, 0x27
jmp 0x1401b0e95
cmp dl, 0x10
movzx edx, dl
cmove edx, ebp
nop dword [rax]
cmp dl, 0x27
jne 0x1401b0eed
mov rax, qword [rsp + 0x50]
cmp rax, qword [rsp + 0x48]
je 0x1401b0eef
mov rcx, rdi
mov rdx, r14
call fcn.1401b03e0
movzx eax, byte [rsp + 0x28]
cmp al, 4
je 0x1401b0ee8
mov dl, 0x27
test al, al
jne 0x1401b0e90
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 0x20], r15
xor r8d, r8d
mov r9, rsi
call fcn.1401b0610
test al, 1
jne 0x1401b0e83
and dl, 1
xor dl, 0x27
jmp 0x1401b0e90
movzx ebx, byte [rsp + 0x29]
jmp 0x1401b0eef
movzx edx, byte [rsp + 0x29]
mov ebx, edx
mov eax, ebx
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
movups xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x40], xmm0
lea rax, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rustls_webpki_0.101.7_src_subject_namedns_name.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, case.0x14008f2ab.20
lea r8, [rsp + 0x40]
mov edx, 0x2b
call fcn.14002b190
int3