Function at 0x140095680
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, 0x58
mov qword [rsp + 0x30], rdx
mov r14, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xc8]
mov r12, qword [rsp + 0xc0]
mov qword [r12], r8
mov qword [r14], rax
mov rcx, qword [r12]
mov qword [rsp + 0x40], r9
cmp rcx, r9
mov qword [rsp + 0x38], r8
je 0x140095971
cmp rax, qword [rsp + 0xd0]
je 0x140095971
movabs r13, 0x9469c39027bfd054
lea rbx, [0x1402557f3]
mov rdx, rcx
nop dword [rax]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rdx
movzx ebp, word [rdx]
mov esi, ebp
mov rax, qword [0x1402fc270]
add rax, r13
call rax
cdqe
lea rcx, [0x1402557a8]
movzx eax, word [rcx + rax*2]
mov word [rsp + 0x2a], ax
cmp bp, ax
mov dword [rsp + 0x2c], ebp
jbe 0x140095790
mov esi, ebp
mov rax, qword [0x1402fc278]
add rax, r13
call rax
cdqe
lea rcx, [0x1402557ae]
cmp bp, word [rcx + rax*2]
jae 0x1400957a0
mov rax, qword [0x1402fc280]
add rax, r13
call rax
cdqe
lea rcx, [0x1402557b4]
movzx ecx, byte [rcx + rax*2]
mov eax, ebp
shr eax, cl
mov esi, eax
mov rax, qword [0x1402fc288]
add rax, r13
call rax
cdqe
lea rcx, [0x1402557ba]
or sil, byte [rax + rcx]
mov edi, 1
jmp 0x1400957dd
mov ecx, ebp
xor edi, edi
jmp 0x1400957df
mov rax, qword [0x1402fc290]
add rax, r13
call rax
cdqe
lea rcx, [0x1402557be]
movzx ecx, byte [rcx + rax*2]
mov eax, ebp
shr eax, cl
mov esi, eax
mov rax, qword [0x1402fc298]
add rax, r13
call rax
cdqe
lea rcx, [0x1402557c4]
or sil, byte [rax + rcx]
mov edi, 2
mov ecx, esi
mov r15d, ecx
mov rax, qword [rsp + 0x30]
movzx ebp, byte [rax]
mov rax, qword [0x1402fc2a0]
add rax, r13
call rax
movzx eax, byte [0x140297a84]
movzx ecx, byte [0x140297a85]
shr cl, 4
shl al, 4
or al, cl
mov ecx, eax
xor cl, 0x88
mov rsi, qword [rsp + 0x48]
mov rax, qword [rsp + 0x50]
cmp bpl, cl
jne 0x140095847
mov rax, qword [0x1402fc2a8]
add rax, r13
call rax
cdqe
lea rcx, [0x1402557c7]
movzx eax, byte [rax + rcx]
mov rcx, qword [rsp + 0x30]
mov byte [rcx], al
mov rax, qword [r14]
mov rsi, qword [r12]
mov rbp, qword [rsp + 0xd0]
sub rbp, rax
mov rax, qword [0x1402fc2b0]
add rax, r13
call rax
cdqe
lea rcx, [0x1402557cc]
mov eax, dword [rcx + rax*4]
mov ecx, edi
add rcx, rax
cmp rbp, rcx
jl 0x14009596e
mov eax, dword [rsp + 0x2c]
add rsi, 2
mov qword [r12], rsi
mov rcx, qword [r14]
lea rdx, [rcx + 1]
mov qword [r14], rdx
mov byte [rcx], r15b
cmp ax, word [rsp + 0x2a]
lea r12, [0x1402557d8]
lea r15, [0x1402557f8]
jbe 0x140095942
mov r8d, edi
mov esi, edi
nop
mov ebp, esi
mov rax, qword [0x1402fc2b8]
add rax, r13
call rax
cdqe
mov esi, dword [r12 + rax*4]
add esi, ebp
mov rax, qword [0x1402fc2c0]
add rax, r13
call rax
cdqe
lea rcx, [0x1402557e4]
mov eax, dword [rcx + rax*4]
imul eax, esi
mov ecx, eax
mov eax, dword [rsp + 0x2c]
shr eax, cl
mov rdi, r12
mov r12d, eax
mov rax, qword [0x1402fc2c8]
add rax, r13
call rax
cdqe
lea rcx, [0x1402557f0]
and r12b, byte [rax + rcx]
mov rax, qword [0x1402fc2d0]
add rax, r13
call rax
cdqe
or r12b, byte [rax + rbx]
mov rax, qword [r14]
lea rcx, [rax + 1]
mov qword [r14], rcx
mov byte [rax], r12b
mov r12, rdi
mov rax, qword [0x1402fc2d8]
add rax, r13
call rax
cdqe
cmp ebp, dword [r15 + rax*4]
ja 0x1400958b0
mov r12, qword [rsp + 0xc0]
mov rcx, qword [r12]
cmp rcx, qword [rsp + 0x40]
je 0x140095971
mov r8, qword [r14]
mov rax, r8
mov rdx, rcx
cmp r8, qword [rsp + 0xd0]
jne 0x1400956f0
jmp 0x140095971
mov rcx, rsi
cmp rcx, qword [rsp + 0x38]
sete cl
xor eax, eax
mov al, cl
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret