Function at 0x1401a5be0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
lea rbp, [r8 - 1]
mov qword [rsp + 0x50], rdx
sar rbp, 1
mov r13, r9
mov r12, r8
mov r15, rdx
mov r14, rcx
mov rsi, rdx
cmp rdx, rbp
jge 0x1401a5cf8
lea rsi, [rsi*2 + 2]
imul rdi, rsi, 0x58
imul rbx, rsi, 0x58
lea rdx, [r14 - 0x38]
add rdx, rdi
mov rax, qword [rdx + 0x10]
add rbx, r14
cmp qword [rdx + 0x18], 0xf
lea rcx, [rbx + 0x20]
jbe 0x1401a5c4c
mov rdx, qword [rdx]
cmp qword [rcx + 0x18], 0xf
mov r8, qword [rcx + 0x10]
jbe 0x1401a5c5a
mov rcx, qword [rcx]
cmp r8, rax
jne 0x1401a5c6f
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1401a5c6f
mov eax, 1
jmp 0x1401a5c71
xor eax, eax
test al, al
je 0x1401a5c7e
mov rdx, rbx
lea rcx, [r14 - 0x58]
jmp 0x1401a5c86
lea rdx, [rbx + 0x20]
lea rcx, [r14 - 0x38]
add rcx, rdi
call fcn.14002eb90
test al, al
je 0x1401a5c95
dec rsi
imul rdi, rsi, 0x58
imul rbx, r15, 0x58
add rdi, r14
mov rdx, rdi
add rbx, r14
mov rcx, rbx
call fcn.140045840
lea rdx, [rdi + 0x20]
lea rcx, [rbx + 0x20]
call fcn.140045840
mov eax, dword [rdi + 0x40]
mov r15, rsi
mov dword [rbx + 0x40], eax
movzx eax, byte [rdi + 0x44]
mov byte [rbx + 0x44], al
movzx eax, byte [rdi + 0x45]
mov byte [rbx + 0x45], al
movzx eax, byte [rdi + 0x46]
mov byte [rbx + 0x46], al
movzx eax, byte [rdi + 0x47]
mov byte [rbx + 0x47], al
movzx eax, byte [rdi + 0x48]
mov byte [rbx + 0x48], al
mov rax, qword [rdi + 0x50]
mov qword [rbx + 0x50], rax
cmp rsi, rbp
jl 0x1401a5c20
cmp rsi, rbp
jne 0x1401a5d29
mov rax, r12
cqo
and eax, 1
xor rax, rdx
cmp rax, rdx
jne 0x1401a5d29
imul rdx, r12, 0x58
imul rcx, r15, 0x58
add rdx, 0xffffffffffffffa8
add rdx, r14
add rcx, r14
call fcn.1401afb10
lea r15, [r12 - 1]
mov r12, qword [rsp + 0x50]
cmp r12, r15
jge 0x1401a5e07
nop word [rax + rax]
lea rbp, [r15 - 1]
sar rbp, 1
lea rdx, [r13 + 0x20]
imul rbx, rbp, 0x58
add rbx, r14
cmp qword [r13 + 0x38], 0xf
lea rcx, [rbx + 0x20]
jbe 0x1401a5d61
mov rdx, qword [r13 + 0x20]
cmp qword [rcx + 0x18], 0xf
mov r8, qword [rcx + 0x10]
jbe 0x1401a5d6f
mov rcx, qword [rcx]
cmp r8, qword [r13 + 0x30]
jne 0x1401a5d85
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1401a5d85
mov eax, 1
jmp 0x1401a5d87
xor eax, eax
test al, al
je 0x1401a5d93
mov rdx, rbx
mov rcx, r13
jmp 0x1401a5d9b
lea rdx, [rbx + 0x20]
lea rcx, [r13 + 0x20]
call fcn.14002eb90
test al, al
je 0x1401a5e07
imul rdi, rbp, 0x58
imul rbx, r15, 0x58
add rdi, r14
mov rdx, rdi
add rbx, r14
mov rcx, rbx
call fcn.140045840
lea rdx, [rdi + 0x20]
lea rcx, [rbx + 0x20]
call fcn.140045840
mov eax, dword [rdi + 0x40]
mov r15, rbp
mov dword [rbx + 0x40], eax
movzx eax, byte [rdi + 0x44]
mov byte [rbx + 0x44], al
movzx eax, byte [rdi + 0x45]
mov byte [rbx + 0x45], al
movzx eax, byte [rdi + 0x46]
mov byte [rbx + 0x46], al
movzx eax, byte [rdi + 0x47]
mov byte [rbx + 0x47], al
movzx eax, byte [rdi + 0x48]
mov byte [rbx + 0x48], al
mov rax, qword [rdi + 0x50]
mov qword [rbx + 0x50], rax
cmp r12, rbp
jl 0x1401a5d40
imul rbx, r15, 0x58
mov rdx, r13
add rbx, r14
mov rcx, rbx
call fcn.140045840
lea rdx, [r13 + 0x20]
lea rcx, [rbx + 0x20]
call fcn.140045840
mov eax, dword [r13 + 0x40]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov dword [rbx + 0x40], eax
movzx eax, byte [r13 + 0x44]
mov byte [rbx + 0x44], al
movzx eax, byte [r13 + 0x45]
mov byte [rbx + 0x45], al
movzx eax, byte [r13 + 0x46]
mov byte [rbx + 0x46], al
movzx eax, byte [r13 + 0x47]
mov byte [rbx + 0x47], al
movzx eax, byte [r13 + 0x48]
mov byte [rbx + 0x48], al
mov rax, qword [r13 + 0x50]
mov qword [rbx + 0x50], rax
mov rbx, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret