Function at 0x1401e9700
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, 0x148
mov rsi, r8
mov rdi, rdx
mov r14, rcx
mov qword [rdx], 0
mov qword [r8], 0
call sub.msvcrt.dll_strlen
mov ebx, 0x3d
test rax, rax
je 0x1401e9a3d
mov r15, rax
and eax, 3
jne 0x1401e9a3d
movzx ebp, byte [r15 + r14 - 1]
cmp bpl, 0x3d
jne 0x1401e9777
cmp byte [r15 + r14 - 2], 0x3d
jne 0x1401e9787
cmp byte [r15 + r14 - 3], 0x3d
je 0x1401e9a3d
mov qword [rsp + 0x38], rsi
mov eax, 2
xor ecx, ecx
jmp 0x1401e9793
mov qword [rsp + 0x38], rsi
xor eax, eax
mov qword [rsp + 0x30], rax
xor eax, eax
jmp 0x1401e9798
mov qword [rsp + 0x38], rsi
mov eax, 1
mov cl, 1
mov qword [rsp + 0x30], rcx
xor r12d, r12d
cmp bpl, 0x3d
sete sil
shr r15, 2
lea r13, [r15 + r15*2]
mov qword [rsp + 0x28], rax
sub r13, rax
mov rax, qword [0x1402654c8]
lea rcx, [r13 + 1]
call qword [rax]
test rax, rax
je 0x1401e996d
mov r12b, sil
pcmpeqd xmm0, xmm0
movdqa xmmword [rsp + 0x70], xmm0
movdqa xmmword [rsp + 0x60], xmm0
movdqa xmmword [rsp + 0x80], xmm0
movdqa xmmword [rsp + 0x90], xmm0
movdqa xmmword [rsp + 0xa0], xmm0
movdqa xmmword [rsp + 0xb0], xmm0
movdqa xmmword [rsp + 0x130], xmm0
movdqa xmmword [rsp + 0x120], xmm0
movdqa xmmword [rsp + 0x110], xmm0
movdqa xmmword [rsp + 0x100], xmm0
movdqa xmmword [rsp + 0xf0], xmm0
movdqa xmmword [rsp + 0xe0], xmm0
movdqa xmmword [rsp + 0xd0], xmm0
movdqa xmmword [rsp + 0xc0], xmm0
movdqa xmmword [rsp + 0x50], xmm0
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmmword [0x140276a60]
movups xmmword [rsp + 0x6b], xmm0
movaps xmm0, xmmword [0x140276a70]
movups xmmword [rsp + 0x7b], xmm0
movaps xmm0, xmmword [0x140276a80]
movups xmmword [rsp + 0x8b], xmm0
movaps xmm0, xmmword [0x140276a90]
movups xmmword [rsp + 0x9b], xmm0
movaps xmm0, xmmword [0x140276aa0]
movups xmmword [rsp + 0xab], xmm0
mov rcx, rax
sub r15, r12
je 0x1401e994f
nop word cs:[rax + rax]
movzx r8d, byte [r14]
movzx r8d, byte [rsp + r8 + 0x40]
cmp r8d, 0xff
je 0x1401e99f4
mov rdx, r14
movzx r9d, byte [r14 + 1]
movzx r9d, byte [rsp + r9 + 0x40]
cmp r9d, 0xff
je 0x1401e99f4
movzx r10d, byte [rdx + 2]
movzx r10d, byte [rsp + r10 + 0x40]
cmp r10d, 0xff
je 0x1401e99f4
movzx r11d, byte [rdx + 3]
movzx r11d, byte [rsp + r11 + 0x40]
cmp r11b, 0xff
je 0x1401e99f4
shl r8d, 0xc
shl r9d, 6
or r8d, r9d
or r9d, r10d
shl r10b, 6
or r11b, r10b
mov byte [rcx + 2], r11b
shr r9d, 2
mov byte [rcx + 1], r9b
shr r8d, 0xa
mov byte [rcx], r8b
add rcx, 3
lea r14, [rdx + 4]
dec r15
jne 0x1401e98b0
add rdx, 4
mov r14, rdx
cmp bpl, 0x3d
jne 0x1401e9a2d
movzx edx, byte [r14]
cmp rdx, 0x3d
jne 0x1401e9977
xor edx, edx
mov r8d, 1
jmp 0x1401e998a
mov ebx, 0x1b
jmp 0x1401e9a3d
movzx edx, byte [rsp + rdx + 0x40]
cmp edx, 0xff
je 0x1401e99f4
shl edx, 6
xor r8d, r8d
movzx r9d, byte [r14 + 1]
cmp r9, 0x3d
jne 0x1401e99a1
cmp r8, qword [rsp + 0x28]
jae 0x1401e99f4
inc r8
jmp 0x1401e99b3
movzx r9d, byte [rsp + r9 + 0x40]
cmp r9d, 0xff
je 0x1401e99f4
or edx, r9d
movzx r9d, byte [r14 + 2]
cmp r9, 0x3d
jne 0x1401e99cd
cmp r8, qword [rsp + 0x28]
jae 0x1401e99f4
shl edx, 6
inc r8
jmp 0x1401e99e2
movzx r9d, byte [rsp + r9 + 0x40]
cmp r9d, 0xff
je 0x1401e99f4
shl edx, 6
or edx, r9d
movzx r9d, byte [r14 + 3]
cmp r9, 0x3d
jne 0x1401e9a02
cmp r8, qword [rsp + 0x28]
jb 0x1401e9a0a
mov rdx, qword [0x1402654c0]
mov rcx, rax
call qword [rdx]
jmp 0x1401e9a3d
cmp byte [rsp + r9 + 0x40], 0xff
je 0x1401e99f4
cmp byte [rsp + 0x30], 0
je 0x1401e9a1c
mov r8d, edx
shr r8d, 2
mov byte [rcx + 1], r8b
shr edx, 0xa
mov byte [rcx], dl
mov rdx, qword [rsp + 0x28]
xor rdx, 3
add rcx, rdx
mov byte [rcx], 0
mov qword [rdi], rax
mov rax, qword [rsp + 0x38]
mov qword [rax], r13
xor ebx, ebx
mov eax, ebx
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret