Function at 0x2962273f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rax, qword [rcx + 8]
cmp dword [r8 + 8], 0xffffffff
mov rsi, qword [r9]
mov rbp, qword [rdx]
sete r13b
xor r14d, r14d
mov r10d, dword [rdx + 8]
mov r12, qword [r8]
movzx r15d, byte [r9 + 8]
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], rax
nop dword [rax + rax]
cmp r10d, 0xffffffff
sete dl
test rbp, rbp
setne bl
and bl, dl
jne 0x296227578
mov ebx, edx
test r12, r12
setne dil
and dil, r13b
jne 0x296227548
mov edi, r13d
cmp dil, bl
je 0x296227563
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x18]
test rbp, rbp
je 0x296227488
test dl, dl
jne 0x296227590
mov byte [rsp + r14 + 0x30], r10b
cmp rcx, rax
jbe 0x2962275b0
add rax, 1
lea rdi, [r14 + 1]
mov qword [rbp + 0x10], rax
cmp rdi, 7
jbe 0x2962275d0
mov rax, qword [rsp + 0x90]
lea rbx, [rsp + 0x38]
lea rdi, [rsp + r14 + 0x39]
mov rdx, rbx
mov rcx, qword [rax]
mov rax, qword [rcx]
call qword [rax + 8]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x30]
xor qword [rsp + 0x38], rax
jmp 0x2962274e9
add rbx, 1
cmp rbx, rdi
je 0x29622750b
test r15b, r15b
jne 0x2962274e0
movzx edx, byte [rbx]
mov rax, qword [rsi + 0x28]
cmp rax, qword [rsi + 0x30]
jae 0x296227530
add rbx, 1
mov byte [rax], dl
add qword [rsi + 0x28], 1
cmp rbx, rdi
jne 0x2962274e9
mov rax, qword [rsp + 0x30]
xor r14d, r14d
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], rax
mov r10d, 0xffffffff
jmp 0x296227440
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x68]
cmp eax, 0xffffffff
sete r15b
jmp 0x2962274e0
mov rax, qword [r12 + 0x18]
cmp qword [r12 + 0x10], rax
jae 0x296227614
xor edi, edi
cmp dil, bl
jne 0x296227473
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rbp + 0x18]
cmp qword [rbp + 0x10], rax
jae 0x29622764a
xor ebx, ebx
jmp 0x296227457
cmp rcx, rax
jbe 0x296227680
movzx edx, byte [rax]
mov byte [rsp + r14 + 0x30], dl
jmp 0x296227496
mov rax, qword [rbp]
lea rdi, [r14 + 1]
mov rcx, rbp
call qword [rax + 0x50]
cmp rdi, 7
ja 0x2962274ac
nop dword [rax + rax]
mov rax, qword [rbp + 0x18]
xor edx, edx
cmp qword [rbp + 0x10], rax
jae 0x29622769f
test r12, r12
setne bl
and bl, r13b
jne 0x296227600
mov ebx, r13d
cmp bl, dl
je 0x2962274ac
mov r14, rdi
jmp 0x296227521
mov rax, qword [r12 + 0x18]
cmp qword [r12 + 0x10], rax
jae 0x2962276bd
xor ebx, ebx
jmp 0x2962275ee
mov rax, qword [r12]
mov dword [rsp + 0x2c], r10d
mov rcx, r12
mov byte [rsp + 0x2b], dl
call qword [rax + 0x48]
movzx edx, byte [rsp + 0x2b]
mov r10d, dword [rsp + 0x2c]
cmp eax, 0xffffffff
mov eax, 0
cmovne edi, eax
mov eax, 0
cmove r12, rax
jmp 0x29622746a
mov rax, qword [rbp]
mov dword [rsp + 0x2c], r10d
mov rcx, rbp
mov byte [rsp + 0x2b], dl
call qword [rax + 0x48]
movzx edx, byte [rsp + 0x2b]
mov r10d, dword [rsp + 0x2c]
cmp eax, 0xffffffff
mov eax, 0
cmovne ebx, eax
mov eax, 0
cmove rbp, rax
jmp 0x296227457
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 0x48]
mov r10d, eax
cmp eax, 0xffffffff
je 0x2962276e9
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x18]
jmp 0x296227488
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 0x48]
cmp eax, 0xffffffff
mov eax, 0
cmove rbp, rax
sete dl
jmp 0x2962275e0
mov rax, qword [r12]
mov byte [rsp + 0x2b], dl
mov rcx, r12
call qword [rax + 0x48]
movzx edx, byte [rsp + 0x2b]
cmp eax, 0xffffffff
mov eax, 0
cmovne ebx, eax
mov eax, 0
cmove r12, rax
jmp 0x2962275ee
mov rax, qword [0x10]
ud2