Function at 0x14007a310
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbx
push rsi
push r12
push r14
push r15
sub rsp, 0x20
xor esi, esi
mov r14d, r9d
mov r12d, r8d
mov r15, rdx
mov rbx, rcx
test r8d, r8d
jne 0x14007a340
lea eax, [rsi + 1]
add rsp, 0x20
pop r15
pop r14
pop r12
pop rsi
pop rbx
ret
mov r11d, dword [rcx + 0x14]
mov qword [rsp + 0x58], rdi
mov edi, dword [rcx + 0x18]
mov qword [rsp + 0x60], r13
lea r13, [0x14012f310]
mov qword [rsp + 0x50], rbp
nop dword [rax]
cmp r11d, dword [rbx + 0xc]
jae 0x14007a39f
nop word [rax + rax]
mov rax, qword [rbx]
mov ecx, r11d
mov edx, dword [rax + rcx*4]
mov ecx, edi
mov eax, edx
shl eax, cl
test eax, eax
jne 0x14007a3fc
mov eax, 0x20
mov rcx, rbx
sub eax, edi
add esi, eax
call fcn.14007aea0
inc r11d
xor edi, edi
cmp r11d, dword [rbx + 0xc]
jb 0x14007a370
mov r8d, dword [rbx + 0x10]
test r8d, r8d
je 0x14007a3dc
mov rax, qword [rbx]
or edx, 0xffffffff
mov ecx, 0x20
lea r8d, [r8*8]
sub ecx, r8d
shl edx, cl
mov ecx, r11d
and edx, dword [rax + rcx*4]
mov ecx, edi
shl edx, cl
test edx, edx
jne 0x14007a463
mov eax, r8d
sub eax, edi
add esi, eax
add edi, r8d
mov rcx, rbx
mov dword [rbx + 0x18], edi
mov dword [rbx + 0x14], r11d
call fcn.14007ad60
test eax, eax
je 0x14007a640
mov r11d, dword [rbx + 0x14]
jmp 0x14007a360
cmp eax, 0xffff
ja 0x14007a422
cmp eax, 0xff
ja 0x14007a414
movzx ecx, byte [rax + r13]
add ecx, 0x18
jmp 0x14007a440
shr rax, 8
movzx ecx, byte [rax + r13]
add ecx, 0x10
jmp 0x14007a440
cmp eax, 0xffffff
ja 0x14007a437
shr rax, 0x10
movzx ecx, byte [rax + r13]
add ecx, 8
jmp 0x14007a440
shr rax, 0x18
movzx ecx, byte [rax + r13]
inc edi
add esi, ecx
add edi, ecx
cmp edi, 0x20
jne 0x14007a4b4
mov rax, qword [rbx]
mov ecx, r11d
mov edx, dword [rax + rcx*4]
mov rcx, rbx
call fcn.14007aea0
inc r11d
xor edi, edi
jmp 0x14007a4b4
cmp edx, 0xffff
ja 0x14007a48d
cmp edx, 0xff
ja 0x14007a47d
movzx ecx, byte [rdx + r13]
add ecx, 0x18
jmp 0x14007a4ae
mov eax, edx
shr rax, 8
movzx ecx, byte [rax + r13]
add ecx, 0x10
jmp 0x14007a4ae
mov eax, edx
cmp edx, 0xffffff
ja 0x14007a4a5
shr rax, 0x10
movzx ecx, byte [rax + r13]
add ecx, 8
jmp 0x14007a4ae
shr rax, 0x18
movzx ecx, byte [rax + r13]
inc edi
add esi, ecx
add edi, ecx
test r14d, r14d
je 0x14007a614
mov ecx, dword [rbx + 0xc]
mov eax, dword [rbx + 0x10]
sub ecx, r11d
lea edx, [rax + rcx*4]
shl edx, 3
sub edx, edi
cmp edx, r14d
jae 0x14007a511
nop dword [rax]
nop word [rax + rax]
mov rcx, rbx
mov dword [rbx + 0x18], edi
mov dword [rbx + 0x14], r11d
call fcn.14007ad60
test eax, eax
je 0x14007a640
mov r11d, dword [rbx + 0x14]
mov ecx, dword [rbx + 0xc]
mov eax, dword [rbx + 0x10]
sub ecx, r11d
lea edx, [rax + rcx*4]
shl edx, 3
sub edx, edi
cmp edx, r14d
jb 0x14007a4e0
mov rax, qword [rbx]
cmp r11d, dword [rbx + 0xc]
jae 0x14007a5d0
mov edx, r11d
test edi, edi
je 0x14007a5b3
mov r10d, dword [rax + rdx*4]
mov r9d, 0x20
mov ecx, edi
sub r9d, edi
mov eax, esi
cmp r14d, r9d
jae 0x14007a561
or edx, 0xffffffff
sub r9d, r14d
shr edx, cl
movzx ecx, r9b
and edx, r10d
shr edx, cl
mov ecx, r14d
shl eax, cl
mov esi, edx
or esi, eax
add edi, r14d
jmp 0x14007a614
or r8d, 0xffffffff
mov ebp, r14d
mov edx, r10d
shr r8d, cl
mov ecx, r9d
sub ebp, r9d
shl eax, cl
and r8d, r10d
mov rcx, rbx
mov esi, r8d
or esi, eax
call fcn.14007aea0
inc r11d
xor edi, edi
test ebp, ebp
je 0x14007a614
mov rax, qword [rbx]
mov ecx, 0x20
mov edi, ebp
mov r8d, dword [rax + r11*4]
sub ecx, ebp
mov eax, esi
shr r8d, cl
mov ecx, ebp
shl eax, cl
mov esi, r8d
or esi, eax
jmp 0x14007a614
mov r8d, dword [rax + rdx*4]
mov eax, esi
mov ecx, 0x20
sub ecx, r14d
shr r8d, cl
mov ecx, r14d
shl eax, cl
mov esi, r8d
or esi, eax
jmp 0x14007a611
mov ecx, r14d
shl esi, cl
test edi, edi
je 0x14007a5ff
mov ecx, edi
or edx, 0xffffffff
mov r8d, r11d
mov r9d, dword [rax + r8*4]
shr edx, cl
mov ecx, 0x20
sub ecx, edi
and r9d, edx
sub ecx, r14d
shr r9d, cl
or esi, r9d
add edi, r14d
jmp 0x14007a614
mov edx, r11d
mov ecx, 0x20
mov edx, dword [rax + rdx*4]
sub ecx, r14d
shr edx, cl
or esi, edx
mov edi, r14d
mov eax, esi
and esi, 1
neg esi
shr eax, 1
xor eax, esi
mov dword [r15], eax
dec r12d
je 0x14007a632
xor esi, esi
add r15, 4
jmp 0x14007a360
mov dword [rbx + 0x18], edi
mov dword [rbx + 0x14], r11d
mov eax, 1
jmp 0x14007a642
xor eax, eax
mov rbp, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
mov r13, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r12
pop rsi
pop rbx
ret