Function at 0x140033cf0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
sub rsp, 0xf0
mov qword [rsp + 0xd8], r8
mov qword [rsp + 0xe0], r9
mov r10b, 1
mov rax, rdx
cmp rdx, 0x101
jb 0x140033d5c
mov r11d, 0xff
sub r11, rdx
mov esi, 0x100
xor r10d, r10d
nop dword [rax + rax]
cmp rsi, rdx
jae 0x140033d3b
cmp byte [rcx + rsi], 0xbf
jg 0x140033d56
lea rax, [rsi - 1]
cmp rsi, 1
je 0x140033d5c
add rsi, r11
cmp rsi, 0x100
mov rsi, rax
jne 0x140033d30
jmp 0x140033d5c
xor r10d, r10d
mov rax, rsi
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
lea rax, [0x1400965e0]
lea rsi, [0x14006930b]
test r10b, r10b
cmovne rsi, rax
xor r10b, 1
movzx eax, r10b
lea rax, [rax + rax*4]
mov qword [rsp + 0xc8], rsi
mov qword [rsp + 0xd0], rax
cmp r8, rdx
ja 0x140033fe3
cmp r9, rdx
ja 0x140033fe3
cmp r8, r9
ja 0x140034076
test r8, r8
je 0x140033dcb
cmp rdx, r8
je 0x140033dcb
jbe 0x140033dce
cmp byte [rcx + r8], 0xc0
jl 0x140033dce
mov r8, r9
mov qword [rsp + 0xe8], r8
test r8, r8
je 0x140033e10
cmp r8, rdx
je 0x140033e10
lea rsi, [rdx + 1]
nop word cs:[rax + rax]
nop
cmp r8, rdx
jae 0x140033dfc
cmp byte [rcx + r8], 0xc0
jge 0x140033e10
lea rax, [r8 - 1]
cmp r8, 1
je 0x140033e13
cmp rsi, r8
mov r8, rax
jne 0x140033df0
jmp 0x140033e13
mov rax, r8
cmp rax, rdx
jne 0x140033e32
lea rcx, [0x1400963c1]
lea r8, str.srclibcore_strmod.rsbyte_index__is_not_a_char_boundary__it_is_inside___bytes___of__
mov edx, 0x2b
call fcn.140032ee0
ud2
lea rsi, [rcx + rax]
mov r9b, byte [rsi]
movzx r10d, r9b
test r10b, r10b
js 0x140033e56
mov dword [rsp + 0x24], r10d
lea r8, [rsp + 0x28]
mov ecx, 1
jmp 0x140033f12
add rcx, rdx
lea r8, [rsi + 1]
xor edx, edx
mov r11, rcx
cmp r8, rcx
je 0x140033e75
movzx edx, byte [rsi + 1]
add rsi, 2
and edx, 0x3f
mov r11, rsi
mov r8d, r10d
and r8d, 0x1f
cmp r10b, 0xdf
jbe 0x140033ed3
xor esi, esi
mov r10, rcx
cmp r11, rcx
je 0x140033e9a
movzx esi, byte [r11]
add r11, 1
and esi, 0x3f
mov r10, r11
shl edx, 6
or edx, esi
cmp r9b, 0xf0
jb 0x140033ed9
xor r9d, r9d
cmp r10, rcx
je 0x140033eb5
movzx r9d, byte [r10]
and r9d, 0x3f
and r8d, 7
shl r8d, 0x12
shl edx, 6
or edx, r8d
or edx, r9d
cmp edx, 0x110000
jne 0x140033ee0
jmp 0x140033e18
shl r8d, 6
jmp 0x140033edd
shl r8d, 0xc
or edx, r8d
mov dword [rsp + 0x24], edx
lea r8, [rsp + 0x28]
mov ecx, 1
cmp edx, 0x80
jb 0x140033f12
mov ecx, 2
cmp edx, 0x800
jb 0x140033f12
cmp edx, 0x10000
mov ecx, 4
sbb rcx, 0
add rcx, rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rcx
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x68], rax
lea rax, [0x140032fb0]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x24]
mov qword [rsp + 0x78], rax
lea rax, [0x140034120]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], r8
lea rax, [0x140034340]
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x98], rax
lea rax, [0x140031960]
mov qword [rsp + 0xa0], rax
lea rcx, [rsp + 0xc8]
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rax
lea rax, [0x1400693c8]
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 rdx, str.srclibcore_strmod.rsbyte_index__is_not_a_char_boundary__it_is_inside___bytes___of__
lea rcx, [rsp + 0x38]
call fcn.1400330e0
ud2
cmp r8, rdx
cmova r9, r8
mov qword [rsp + 0x28], r9
lea rax, [rsp + 0x28]
mov qword [rsp + 0x68], rax
lea rax, [0x140032fb0]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x78], rax
lea rax, [0x140031960]
mov qword [rsp + 0x80], rax
lea rcx, [rsp + 0xc8]
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rax
lea rax, [0x140069310]
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 rdx, str.srclibcore_strmod.rsbyte_index__is_not_a_char_boundary__it_is_inside___bytes___of__
jmp 0x140033fd7
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x68], rax
lea rax, [0x140032fb0]
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, [0x140031960]
mov qword [rsp + 0x90], rax
lea rcx, [rsp + 0xc8]
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rax
lea rax, [0x140069358]
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 rdx, str.srclibcore_strmod.rsbyte_index__is_not_a_char_boundary__it_is_inside___bytes___of__
jmp 0x140033fd7