Function at 0x1400208e0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0xf0
mov qword [rsp + 0xd8], r8
mov qword [rsp + 0xe0], r9
mov al, 1
mov r11, rdx
cmp rdx, 0x101
jb 0x140020943
mov r10d, 0xff
sub r10, rdx
mov esi, pe_nt_image_headers64
xor eax, eax
cmp rsi, rdx
jae 0x140020923
cmp byte [rcx + rsi], 0xbf
jg 0x14002093e
lea r11, [rsi - 1]
cmp rsi, 1
je 0x140020943
add rsi, r10
cmp rsi, 0x100
mov rsi, r11
jne 0x140020918
jmp 0x140020943
xor eax, eax
mov r11, rsi
mov r10, qword [rsp + 0x130]
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], r11
lea rbx, str.ClosedIdlecalled__Result::unwrap____on_an__Err__value
lea rdi, [0x140222f52]
test al, al
cmovne rdi, rbx
xor al, 1
movzx eax, al
lea rax, [rax + rax*4]
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xd0], rax
cmp r8, rdx
ja 0x140020a48
cmp r9, rdx
ja 0x140020a48
cmp r8, r9
jbe 0x140020ade
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x68], rax
lea rax, [0x14001faa0]
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0xe0]
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x88], rax
lea rax, [0x140020d10]
mov qword [rsp + 0x90], rax
lea rcx, [rsp + 0xc8]
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rax
lea rax, str.X:__
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], 4
mov qword [rsp + 0x48], 0
lea rax, [rsp + 0x68]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 4
lea rcx, [rsp + 0x38]
mov rdx, r10
call fcn.14001fbd0
ud2
cmp r8, rdx
cmova r9, r8
mov qword [rsp + 0x28], r9
lea rax, [rsp + 0x28]
mov qword [rsp + 0x68], rax
lea rax, [0x14001faa0]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x78], rax
lea rax, [0x140020d10]
mov qword [rsp + 0x80], rax
lea rcx, [rsp + 0xc8]
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rax
lea rax, str.byte_index__is_not_a_char_boundary__it_is_inside___bytes___of__
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], 3
mov qword [rsp + 0x48], 0
lea rax, [rsp + 0x68]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 3
lea rcx, [rsp + 0x38]
mov rdx, r10
call fcn.14001fbd0
ud2
test r8, r8
je 0x140020af1
cmp rdx, r8
je 0x140020af1
jbe 0x140020af4
cmp byte [rcx + r8], 0xc0
jl 0x140020af4
mov r8, r9
mov qword [rsp + 0xe8], r8
test r8, r8
je 0x140020b3a
cmp r8, rdx
je 0x140020b3a
lea rax, [rdx + 1]
cmp r8, rdx
jae 0x140020b16
cmp byte [rcx + r8], 0xc0
jge 0x140020b4f
lea rbx, [r8 - 1]
cmp r8, 1
je 0x140020b28
cmp rax, r8
mov r8, rbx
jne 0x140020b0a
lea r9, [rsp + 0x24]
mov r8, rbx
cmp r8, rdx
jne 0x140020b5d
jmp 0x140020bea
mov rbx, r8
lea r9, [rsp + 0x24]
mov r8, rbx
cmp r8, rdx
jne 0x140020b5d
jmp 0x140020bea
lea r9, [rsp + 0x24]
cmp r8, rdx
je 0x140020bea
lea rsi, [rcx + r8]
movzx eax, byte [rsi]
test al, al
js 0x140020b7b
mov dword [rsp + 0x24], eax
lea rax, [rsp + 0x28]
mov ecx, 1
jmp 0x140020c3f
add rcx, rdx
lea rdi, [rsi + 1]
xor edx, edx
mov rbx, rcx
cmp rdi, rcx
je 0x140020b9a
movzx edx, byte [rsi + 1]
add rsi, 2
and edx, 0x3f
mov rbx, rsi
mov r11d, eax
and r11d, 0x1f
cmp al, 0xdf
jbe 0x140020c00
xor esi, esi
mov rdi, rcx
cmp rbx, rcx
je 0x140020bbc
movzx esi, byte [rbx]
add rbx, 1
and esi, 0x3f
mov rdi, rbx
shl edx, 6
or edx, esi
cmp al, 0xf0
jb 0x140020c06
xor eax, eax
cmp rdi, rcx
je 0x140020bd2
movzx eax, byte [rdi]
and eax, 0x3f
and r11d, 7
shl r11d, 0x12
shl edx, 6
or edx, r11d
or edx, eax
cmp edx, 0x110000
jne 0x140020c0d
lea rcx, [0x1402aeff1]
mov edx, 0x2b
mov r8, r10
call fcn.14001f9d0
ud2
shl r11d, 6
jmp 0x140020c0a
shl r11d, 0xc
or edx, r11d
mov dword [rsp + 0x24], edx
lea rax, [rsp + 0x28]
mov ecx, 1
cmp edx, 0x80
jb 0x140020c3f
mov ecx, 2
cmp edx, 0x800
jb 0x140020c3f
cmp edx, 0x10000
mov ecx, 4
sbb rcx, 0
add rcx, r8
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0xe8]
mov qword [rsp + 0x68], rcx
lea rcx, [0x14001faa0]
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], r9
lea rcx, [0x140020d30]
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rax
lea rax, [0x140020fd0]
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x98], rax
lea rax, [0x140020d10]
mov qword [rsp + 0xa0], rax
lea rcx, [rsp + 0xc8]
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rax
lea rax, str.byte_index__is_not_a_char_boundary__it_is_inside___bytes___of__
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], 5
mov qword [rsp + 0x48], 0
lea rax, [rsp + 0x68]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 5
lea rcx, [rsp + 0x38]
mov rdx, r10
call fcn.14001fbd0
ud2