Function at 0x1400be840
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x20], r9
push rbx
push rbp
push rdi
sub rsp, 0x40
bsr eax, dword [rsp + 0x80]
mov qword [rsp + 0x38], r12
lea rbp, [rcx + rdx]
mov qword [rsp + 0x28], r14
mov r11, r8
mov r8d, 0xffffffff
mov r14d, 0x20
mov r10d, r8d
mov r12, rcx
cmovne r10d, eax
sub r14d, r10d
mov r10, rcx
mov dword [rsp + 0x60], r14d
cmp rdx, 0xf
jb 0x1400beb53
imul r8d, dword [rcx + 1], 0x1e35a7bd
lea rdx, [rcx + 1]
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x30], r13
lea r13, [rbp - 0xf]
mov qword [rsp + 0x20], r15
mov ecx, r14d
mov r9d, 0x20
shr r8d, cl
nop dword [rax + rax]
mov eax, r9d
mov esi, r8d
shr eax, 5
mov rdi, rdx
mov r15, rdx
mov ebx, edx
add r9d, eax
add rdx, rax
cmp rdx, r13
ja 0x1400beb3e
imul r8d, dword [rdx], 0x1e35a7bd
mov ecx, r14d
movzx eax, di
sub ax, r12w
shr r8d, cl
mov rcx, qword [rsp + 0x78]
lea rcx, [rcx + rsi*2]
movzx esi, word [rcx]
add rsi, r12
mov word [rcx], ax
mov eax, dword [rsi]
cmp dword [r15], eax
jne 0x1400be8c0
sub ebx, r10d
lea edx, [rbx - 1]
cmp ebx, 0x10
jg 0x1400be931
lea rax, [r11 + 1]
shl dl, 2
mov byte [r11], dl
movups xmm0, xmmword [r10]
movsxd r11, ebx
add r11, rax
movups xmmword [rax], xmm0
jmp 0x1400be97e
lea r14, [r11 + 1]
cmp edx, 0x3c
jge 0x1400be942
shl dl, 2
mov byte [r11], dl
jmp 0x1400be964
bsr eax, edx
mov ecx, 0xffffffff
cmovne ecx, eax
sar ecx, 3
inc ecx
lea eax, [rcx - 5]
shl al, 2
mov byte [r11], al
movsxd rax, ecx
mov dword [r14], edx
add r14, rax
movsxd rbx, ebx
mov rdx, r10
mov r8, rbx
mov rcx, r14
call fcn.1400deed0
lea r11, [rbx + r14]
mov r14d, dword [rsp + 0x60]
lea rbx, [rbp - 4]
nop dword [rax]
nop word [rax + rax]
lea rax, [rdi + 4]
xor edx, edx
xor r8d, r8d
lea r10, [rsi + 4]
cmp rax, rbx
ja 0x1400be9c0
mov r9, r10
sub r9, rax
mov ecx, dword [r9 + rax]
cmp dword [rax], ecx
jne 0x1400bea1a
add rax, 4
add edx, 4
add r8, 4
cmp rax, rbx
jbe 0x1400be9a8
cmp rax, rbp
jae 0x1400be9dd
add r8, r10
movzx ecx, byte [rax]
cmp byte [r8], cl
jne 0x1400be9dd
inc rax
inc r8
inc edx
cmp rax, rbp
jb 0x1400be9c8
movsxd r8, edx
sub rdi, rsi
lea rcx, [r8 + 4]
add r15, rcx
cmp edx, 8
jge 0x1400bea46
cmp rdi, 0x800
jae 0x1400bea34
shl r8b, 2
mov rax, rdi
shr rax, 3
and al, 0xe0
inc al
add al, r8b
mov byte [r11], al
mov byte [r11 + 1], dil
add r11, 2
jmp 0x1400beada
mov ecx, dword [rax]
mov eax, dword [r8 + r10]
xor eax, ecx
bsf ecx, eax
mov eax, 0x20
cmovne eax, ecx
sar eax, 3
add edx, eax
jmp 0x1400be9dd
shl rdi, 8
lea eax, [rcx*4 - 2]
add eax, edi
jmp 0x1400bead3
cmp rcx, 0x44
jb 0x1400bea7d
shr r8, 6
mov rdx, rdi
shl rdx, 8
imul rax, r8, 0xffffffffffffffc0
add edx, 0xfe
add rcx, rax
nop dword [rax]
nop dword [rax + rax]
mov dword [r11], edx
add r11, 3
sub r8, 1
jne 0x1400bea70
mov rdx, rdi
shl rdx, 8
cmp rcx, 0x40
jbe 0x1400bea9b
lea eax, [rdx + 0xee]
mov dword [r11], eax
add r11, 3
sub rcx, 0x3c
cmp rcx, 0xc
jae 0x1400beaca
cmp rdi, 0x800
jae 0x1400beaca
add cl, 0xfc
mov rax, rdi
shl cl, 2
shr rax, 3
inc cl
and al, 0xe0
add cl, al
mov byte [r11], cl
mov byte [r11 + 1], dil
add r11, 2
jmp 0x1400beada
lea eax, [rcx*4 - 2]
add eax, edx
mov dword [r11], eax
add r11, 3
mov r10, r15
mov rdi, r15
cmp r15, r13
jae 0x1400beb3e
imul edx, dword [r15 - 1], 0x1e35a7bd
movzx r9d, r15w
mov rax, qword [rsp + 0x78]
sub r9w, r12w
movsxd rcx, r14d
shr rdx, cl
lea r8d, [r9 - 1]
mov word [rax + rdx*2], r8w
imul edx, dword [r15], 0x1e35a7bd
shr rdx, cl
mov rcx, rax
movzx esi, word [rax + rdx*2]
add rsi, r12
mov eax, dword [rsi]
mov word [rcx + rdx*2], r9w
cmp dword [r15], eax
je 0x1400be990
imul r8d, dword [r15 + 1], 0x1e35a7bd
lea rdx, [r15 + 1]
jmp 0x1400be8af
mov r15, qword [rsp + 0x20]
mov r8d, 0xffffffff
mov r13, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x68]
mov r14, qword [rsp + 0x28]
mov r12, qword [rsp + 0x38]
cmp r10, rbp
jae 0x1400bebb6
sub ebp, r10d
lea rdi, [r11 + 1]
lea ecx, [rbp - 1]
cmp ecx, 0x3c
jge 0x1400beb79
shl cl, 2
mov byte [r11], cl
jmp 0x1400beb99
bsr eax, ecx
cmovne r8d, eax
sar r8d, 3
inc r8d
lea eax, [r8 - 5]
shl al, 2
mov byte [r11], al
movsxd rax, r8d
mov dword [rdi], ecx
add rdi, rax
movsxd rbx, ebp
mov rdx, r10
mov r8, rbx
mov rcx, rdi
call fcn.1400deed0
lea rax, [rbx + rdi]
add rsp, 0x40
pop rdi
pop rbp
pop rbx
ret
mov rax, r11
add rsp, 0x40
pop rdi
pop rbp
pop rbx
ret