Function at 0x14030efec
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rax, qword [rdx + 0x10]
xor r11d, r11d
mov r14, qword [rdx]
or esi, 0xffffffff
mov r15, rdx
mov rdi, rcx
mov r8d, r11d
mov edx, r11d
movsxd rbp, dword [rax + 0x14]
mov r10, qword [rax]
lea r12d, [rsi + 2]
mov dword [rcx + 0x149c], r11d
lea r13d, [rsi + 3]
mov dword [rcx + 0x14a0], 0x23d
test ebp, ebp
jle 0x14030f084
cmp word [r14 + rdx*4], r11w
je 0x14030f071
movsxd rcx, dword [rdi + 0x149c]
mov esi, r8d
lea eax, [rcx + 1]
mov dword [rdi + 0x149c], eax
mov dword [rdi + rcx*4 + 0xbac], r8d
mov byte [rdx + rdi + 0x14a4], r11b
jmp 0x14030f077
mov word [r14 + rdx*4 + 2], r11w
add r8d, r12d
add rdx, r12
cmp rdx, rbp
jl 0x14030f045
jmp 0x14030f0d0
cmp esi, r13d
lea eax, [rsi + 1]
lea ecx, [rsi + 1]
cmovge eax, esi
cmovge ecx, r11d
mov esi, eax
lea eax, [rdx + 1]
mov dword [rdi + 0x149c], eax
movsxd rax, edx
mov dword [rdi + rax*4 + 0xbac], ecx
movsxd rax, ecx
mov word [r14 + rax*4], r12w
mov byte [rax + rdi + 0x14a4], r11b
dec dword [rdi + 0x1700]
test r10, r10
je 0x14030f0d0
movzx eax, word [r10 + rax*4 + 2]
sub dword [rdi + 0x1704], eax
mov edx, dword [rdi + 0x149c]
cmp edx, r13d
jl 0x14030f084
mov dword [r15 + 8], esi
mov ecx, dword [rdi + 0x149c]
mov eax, ecx
cdq
idiv r13d
mov ebx, eax
cmp eax, r12d
jl 0x14030f10e
mov r8d, ebx
mov rdx, r14
mov rcx, rdi
call fcn.14030f6b4
sub ebx, r12d
cmp ebx, r12d
jge 0x14030f0f2
mov ecx, dword [rdi + 0x149c]
movsxd rbx, dword [rdi + 0xbac]
mov r8d, r12d
movsxd rax, ecx
mov rdx, r14
mov ecx, dword [rdi + rax*4 + 0xba8]
mov dword [rdi + 0xbac], ecx
mov rcx, rdi
dec dword [rdi + 0x149c]
call fcn.14030f6b4
movsxd rcx, dword [rdi + 0x14a0]
mov r8d, r12d
movsxd rdx, dword [rdi + 0xbac]
mov r9, rdx
lea eax, [rcx - 1]
mov dword [rdi + 0x14a0], eax
mov dword [rdi + rcx*4 + 0xba4], ebx
movsxd rcx, dword [rdi + 0x14a0]
lea eax, [rcx - 1]
mov dword [rdi + 0x14a0], eax
mov dword [rdi + rcx*4 + 0xba4], edx
movzx eax, word [r14 + rbx*4]
add ax, word [r14 + r9*4]
movsxd rdx, ebp
mov word [r14 + rdx*4], ax
movzx ecx, byte [rbx + rdi + 0x14a4]
movzx eax, byte [r9 + rdi + 0x14a4]
cmp cl, al
cmovb ecx, eax
add cl, r12b
mov byte [rdx + rdi + 0x14a4], cl
mov rdx, r14
mov word [r14 + r9*4 + 2], bp
mov rcx, rdi
mov word [r14 + rbx*4 + 2], bp
mov dword [rdi + 0xbac], ebp
add ebp, r12d
call fcn.14030f6b4
mov ecx, dword [rdi + 0x149c]
cmp ecx, r13d
jge 0x14030f10e
movsxd r8, dword [rdi + 0x14a0]
mov rdx, r15
mov rcx, rdi
lea eax, [r8 - 1]
mov dword [rdi + 0x14a0], eax
mov eax, dword [rdi + 0xbac]
mov dword [rdi + r8*4 + 0xba4], eax
call fcn.14030f360
lea r8, [rdi + 0xb88]
mov edx, esi
mov rcx, r14
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
jmp 0x14030f584
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x30
mov rax, qword [0x1404e1800]
xor rax, rsp
mov qword [rsp + 0x20], rax
xor edi, edi
lea rax, [rsp + 2]
mov r11, rcx
movzx r10d, di
sub r8, rax
lea ebx, [rdi + 1]
mov r9d, ebx
lea rax, [r8 + r9*2]
add r10w, word [rsp + rax]
add r10w, r10w
mov word [rsp + r9*2], r10w
add r9, rbx
cmp r9, 0xf
jle 0x14030f5b4
movsxd r10, edx
test edx, edx
js 0x14030f61b
mov rdx, rdi
movzx r8d, word [r11 + rdx*4 + 2]
lea eax, [r8 - 1]
cmp eax, 0xe
ja 0x14030f613
movzx r9d, word [rsp + r8*2]
mov ecx, edi
lea eax, [rbx + r9]
mov word [rsp + r8*2], ax
mov eax, r9d
sub r8d, ebx
and eax, ebx
shr r9d, 1
or ecx, eax
add ecx, ecx
test r8d, r8d
jg 0x14030f5f8
shr ecx, 1
mov word [r11 + rdx*4], cx
add rdx, rbx
cmp rdx, r10
jle 0x14030f5d9
mov rcx, qword [rsp + 0x20]
xor rcx, rsp
call fcn.140112420
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret