Function at 0x140092b40
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
xor r14d, r14d
mov r13, r8
mov r15d, r14d
mov r12, rdx
mov rdi, rcx
nop dword [rax + rax]
mov rbx, qword [r13 + 0x10]
mov edx, 0x20
lea rcx, [rbx + 8]
call fcn.1400098d0
imul rax, qword [rdi + 0x18]
mov rbp, qword [rdi + 0x38]
mov r11, qword [rdi + 0x28]
mov rcx, rax
mov esi, dword [rdi + 0x48]
shr rcx, 0x21
xor rax, rcx
mov ecx, dword [rdi + 0x4c]
mov r8, rax
shr rax, 5
and r8d, 0x1f
and rax, rbp
shr r8, cl
add r8d, esi
movzx ecx, byte [r11 + rax]
cmp r8d, ecx
jae 0x140092bd1
nop dword [rax]
movzx ecx, byte [r11 + rax + 1]
inc rax
add r8d, esi
cmp r8d, ecx
jb 0x140092bc0
movzx ecx, byte [r11 + rax]
cmp r8d, ecx
jne 0x140092c5c
mov rcx, qword [rdi + 0x20]
mov r10, qword [rbx + 8]
lea r9, [rcx + rax*8]
nop dword [rax + rax]
mov rcx, qword [r9]
mov rdx, qword [rcx + 0x10]
cmp r10, qword [rdx + 8]
jne 0x140092c47
mov rcx, qword [rdx + 0x10]
cmp qword [rbx + 0x10], rcx
jne 0x140092c47
mov rcx, qword [rdx + 0x18]
cmp qword [rbx + 0x18], rcx
jne 0x140092c47
mov rcx, qword [rdx + 0x20]
cmp qword [rbx + 0x20], rcx
jne 0x140092c47
mov rcx, qword [rdx + 0x28]
cmp qword [rbx + 0x28], rcx
jne 0x140092c47
mov rcx, qword [rdx + 0x30]
cmp qword [rbx + 0x30], rcx
jne 0x140092c47
mov rcx, qword [rdx + 0x38]
cmp qword [rbx + 0x38], rcx
jne 0x140092c47
mov rcx, qword [rdx + 0x40]
cmp qword [rbx + 0x40], rcx
je 0x140092d75
movzx ecx, byte [r11 + rax + 1]
inc rax
add r9, 8
add r8d, esi
cmp r8d, ecx
je 0x140092bf0
mov r9, qword [rdi + 0x30]
cmp r9, qword [rdi + 0x40]
jb 0x140092d87
test rbp, rbp
jne 0x140092c7f
lea edx, [rbp + 8]
mov rcx, rdi
call fcn.1400140a0
jmp 0x140092d5c
lea rcx, [rbp + 1]
movabs rbx, 0x28f5c28f5c28f5c
movabs r11, 0x47ae147ae147ae15
mov rax, r11
cmp rcx, rbx
ja 0x140092cb9
lea rcx, [rcx + rcx*4]
shl rcx, 4
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 6
jmp 0x140092cd1
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 6
lea rcx, [rcx + rcx*4]
shl rcx, 4
cmp r9, rcx
jae 0x140092ce2
mov rcx, rdi
call fcn.1400141c0
test al, al
jne 0x140092d5c
mov r8, qword [rdi + 0x38]
mov rax, r11
lea r9, [r8 + 1]
cmp r9, rbx
ja 0x140092d0c
lea rcx, [r9 + r9*4]
shl rcx, 4
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 6
jmp 0x140092d27
mul r9
mov rax, r9
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 6
lea rcx, [rax + rax*4]
shl rcx, 4
mov rax, qword [rdi + 0x30]
add rax, rax
cmp rax, rcx
jae 0x140092d46
movabs rax, 0xc4ceb9fe1a85ec54
mov r8b, 1
add qword [rdi + 0x18], rax
jmp 0x140092d51
lea r9, [r8*2 + 2]
xor r8b, r8b
mov rdx, r9
mov rcx, rdi
call fcn.140091f60
inc r15d
cmp r15d, 0x100
jl 0x140092b70
mov qword [r12], r14
jmp 0x140092e38
mov qword [r12], rax
mov dword [r12 + 8], 1
jmp 0x140092e3d
lea ecx, [rsi + r8]
mov r10, rax
cmp ecx, 0xff
jbe 0x140092d9a
mov qword [rdi + 0x40], r14
cmp byte [r11 + rax], r14b
je 0x140092e1d
mov r9, rax
inc rax
cmp byte [r11 + rax], r14b
jne 0x140092da4
cmp rax, r10
je 0x140092e1d
mov rcx, qword [rdi + 0x20]
lea rdx, [rcx + rax*8]
mov rcx, qword [rcx + rax*8 - 8]
mov qword [rdx], rcx
cmp r9, r10
je 0x140092de7
nop word [rax + rax]
mov rcx, qword [rdi + 0x20]
lea rdx, [rcx + r9*8]
dec r9
mov rcx, qword [rdx - 8]
mov qword [rdx], rcx
cmp r9, r10
jne 0x140092dd0
mov r9, qword [rdi + 0x28]
mov rdx, rax
nop
movzx ecx, byte [r9 + rdx - 1]
add cl, byte [rdi + 0x48]
mov byte [r9 + rdx], cl
mov r9, qword [rdi + 0x28]
movzx ecx, byte [r9 + rdx]
add ecx, dword [rdi + 0x48]
cmp ecx, 0xff
jbe 0x140092e15
mov qword [rdi + 0x40], r14
dec rdx
cmp rdx, r10
jne 0x140092df0
mov rcx, qword [rdi + 0x28]
mov qword [r12], r10
mov byte [r10 + rcx], r8b
inc qword [rdi + 0x30]
cmp rax, r10
setne r14b
add r14d, 2
mov dword [r12 + 8], r14d
mov rbx, qword [rsp + 0x50]
mov rax, r12
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret