Function at 0x140046c1c
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rax, qword [rcx + 0x20]
mov rsi, rcx
xor edi, edi
mov r13d, r9d
mov rbx, r8
mov r9, rdx
mov ebp, 0x80000000
movabs r14, 0x7fffffffffff
mov rcx, qword [rax]
mov r10d, 0xf0000000
mov rax, rcx
mov r15d, 0x20000000
sar rax, 0x2f
cmp eax, 0xfffffff5
jne 0x140046cc4
mov rdx, qword [rdx]
and rcx, r14
movzx r8d, word [rcx + 0xa]
lea rax, [r8 + r8*2]
jmp 0x140046c8e
movzx ecx, cx
lea rax, [rcx + rcx*2]
mov ecx, dword [rdx + rax*8]
mov eax, ecx
and eax, r10d
cmp eax, ebp
je 0x140046c87
mov eax, ecx
movzx edx, cx
and eax, r10d
mov rcx, r9
cmp eax, r15d
cmovne edx, r8d
mov r8d, r13d
call fcn.140015648
test rax, rax
jne 0x140046d24
mov r9, qword [rsp + 0x78]
mov r10d, 0xf0000000
mov rcx, qword [rsi + 0x20]
add rcx, 8
cmp rcx, qword [rsi + 0x28]
jae 0x140046d44
mov rcx, qword [rcx]
mov rax, rcx
sar rax, 0x2f
cmp eax, 0xfffffff5
jne 0x140046d44
mov rdx, qword [r9]
and rcx, r14
movzx r8d, word [rcx + 0xa]
lea rax, [r8 + r8*2]
jmp 0x140046cf9
movzx ecx, cx
lea rax, [rcx + rcx*2]
mov ecx, dword [rdx + rax*8]
mov eax, ecx
and eax, r10d
cmp eax, ebp
je 0x140046cf2
mov eax, ecx
movzx edx, cx
and eax, r10d
mov rcx, r9
cmp eax, r15d
cmovne edx, r8d
mov r8d, r13d
call fcn.140015648
test rax, rax
je 0x140046d44
mov rdx, rax
mov rcx, rsi
call fcn.140014694
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
or ebp, 0xffffffff
mov r15d, ebp
cmp r13d, 4
jne 0x140046d7d
mov rax, qword [rbx + 8]
cmp qword [rbx], rax
lea eax, [rbp + 2]
mov rcx, qword [rsi + 0x28]
sete dil
inc rdi
shl rdi, 0x2f
not rdi
mov qword [rcx - 8], rdi
mov rcx, qword [rsi + 0x10]
mov qword [rcx + 0xf0], rdi
jmp 0x140046d2f
mov r13, qword [rsp + 0x78]
lea rax, [rsp + 0x20]
sub rbx, rax
mov r12d, edi
mov qword [rsp + 0x80], rbx
mov r14, rdi
lea rax, [rsp + 0x20]
add rax, r14
mov rdx, qword [rbx + rax + 0x10]
test rdx, rdx
je 0x140046e09
mov rax, qword [rsi + 0x20]
mov rcx, qword [r14 + rax]
sar rcx, 0x2f
cmp ecx, 0xfffffff5
jne 0x140046e09
mov ebx, dword [rdx]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rdx, qword [r13]
xor r8d, r8d
imul rdx
mov rcx, rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
call fcn.1400157d0
and ebx, 0xf0000000
add rax, 0x18
cmp ebx, 0x50000000
mov ecx, r12d
mov rbx, qword [rsp + 0x80]
cmovne ecx, ebp
mov ebp, ecx
jmp 0x140046e3d
mov rax, qword [rsi + 0x20]
mov rcx, qword [r14 + rax]
mov eax, r12d
sar rcx, 0x2f
cmp ecx, 0xfffffffb
cmovne eax, r15d
mov r15d, eax
cmp ecx, 0xfffffff2
ja 0x140046e2e
mov ecx, 0xd
jmp 0x140046e30
not ecx
mov eax, ecx
lea rcx, [0x1400a22c0]
mov rax, qword [rcx + rax*8]
mov qword [rsp + r14 + 0x20], rax
inc r12d
add r14, 8
cmp r12d, 2
jl 0x140046d98
mov r13d, dword [rsp + 0x88]
mov eax, r15d
xor eax, ebp
mov rcx, rsi
cmp eax, 1
je 0x140046e9f
mov r9, qword [rsp + 0x28]
cmp r13d, 0xa
mov r8, qword [rsp + 0x20]
mov edx, 0xd2e
lea eax, [rdx + 0x2f]
cmovl edx, eax
cmp r13d, 8
mov eax, 0xd09
cmove edx, eax
cmp r13d, 5
mov eax, 0xceb
cmove edx, eax
call fcn.14000cf6c
int3
movsxd r9, ebp
mov edx, 0xccf
movsxd r8, r15d
mov r9, qword [rsp + r9*8 + 0x20]
mov r8, qword [rsp + r8*8 + 0x20]
call fcn.14000cf6c
int3