Function at 0x14008e1ed
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], 1
lea r9, [0x14059bbcc]
lea r14, [rsp + 0x70]
mov rcx, r14
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], r8
call fcn.1400226a0
cmp qword [r14], 0
je 0x14008e3d2
mov rax, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xc0]
mov r8, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x90]
mov r11, qword [rsp + 0x80]
mov r10, qword [rsp + 0x88]
mov qword [rsp + 0x30], r10
mov r12, qword [rsp + 0xb0]
mov r10, r11
neg r10
mov qword [rsp + 0x40], r10
mov r10, r9
not r10
mov qword [rsp + 0x68], r10
add r10, rsi
mov qword [rsp + 0x60], r10
mov r10, rsi
sub r10, r9
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x38], rsi
mov r14, rbp
mov rbp, r14
sub r14, r9
cmp r14, rdx
jae 0x14008e504
movzx r10d, byte [rsi + r14]
bt rcx, r10
jae 0x14008e344
cmp r11, r12
mov rdi, r12
cmovb rdi, r11
cmp rax, 0xffffffffffffffff
cmove rdi, r11
lea rsi, [rdi - 1]
mov r10, qword [rsp + 0x60]
lea r15, [r10 + rbp]
mov r10, qword [rsp + 0x68]
add r10, rbp
mov rbx, rdi
sub rbx, 1
jb 0x14008e350
cmp rsi, r9
jae 0x14008e522
lea r13, [r10 + rdi]
cmp r13, rdx
jae 0x14008e522
mov r13b, byte [r8 + rdi - 1]
cmp r13b, byte [r15 + rdi]
mov rdi, rbx
je 0x14008e300
mov r14, rbp
sub r14, r11
add r14, rbx
cmp rax, 0xffffffffffffffff
mov rsi, qword [rsp + 0x38]
je 0x14008e2bc
jmp 0x14008e3c2
cmp rax, 0xffffffffffffffff
je 0x14008e2bc
jmp 0x14008e3b7
cmp rax, 0xffffffffffffffff
mov rsi, r12
cmove rsi, r9
mov r10, qword [rsp + 0x48]
add r10, rbp
mov rdi, r11
cmp rdi, rsi
jae 0x14008e4cb
cmp rdi, r9
jae 0x14008e522
lea rbx, [r14 + rdi]
cmp rbx, rdx
jae 0x14008e522
mov bl, byte [r8 + rdi]
lea r15, [rdi + 1]
cmp bl, byte [r10 + rdi]
mov rdi, r15
je 0x14008e366
sub rbp, qword [rsp + 0x30]
mov r14, rbp
cmp rax, 0xffffffffffffffff
mov rsi, qword [rsp + 0x38]
je 0x14008e2bc
mov r12, qword [rsp + 0x30]
jmp 0x14008e2b9
mov rbp, r14
mov r12, r9
jmp 0x14008e2b9
add rbp, qword [rsp + 0x40]
add rbp, rbx
mov r12, r9
jmp 0x14008e2b9
mov bpl, byte [rsp + 0x8a]
mov r15, qword [rsp + 0xb8]
mov r12, qword [rsp + 0xc0]
mov r14, qword [rsp + 0x80]
mov sil, byte [rsp + 0x89]
test bpl, bpl
jne 0x14008e504
mov eax, esi
xor al, 1
mov byte [rsp + 0x89], al
mov rcx, r15
mov rdx, r12
mov r8, r14
call fcn.140073bf3
test rdx, rdx
je 0x14008e4c6
movzx ecx, byte [rax + rdx - 1]
test cl, cl
jns 0x14008e479
movzx r8d, byte [rax + rdx - 2]
cmp r8b, 0xc0
jge 0x14008e45a
movzx r9d, byte [rax + rdx - 3]
cmp r9b, 0xc0
jge 0x14008e460
movzx eax, byte [rax + rdx - 4]
and eax, 7
shl eax, 6
and r9d, 0x3f
or r9d, eax
jmp 0x14008e464
and r8d, 0x1f
jmp 0x14008e46f
and r9d, 0xf
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
test sil, sil
jne 0x14008e4cb
cmp ecx, 0x110000
je 0x14008e504
mov rax, 0xffffffffffffffff
cmp ecx, 0x80
jb 0x14008e4b3
mov rax, 0xfffffffffffffffe
cmp ecx, 0x800
jb 0x14008e4b3
xor eax, eax
cmp ecx, 0x10000
setb al
or rax, 0xfffffffffffffffc
add r14, rax
mov qword [rsp + 0x80], r14
mov sil, 1
jmp 0x14008e3fa
test sil, sil
je 0x14008e504
inc r14
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r8, r14
call fcn.140095787
mov rdi, rax
mov rbx, rdx
mov rcx, rax
call fcn.14002373a
test al, 1
jne 0x14008e504
shr eax, 0x10
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 8], rbx
mov word [rcx + 0x10], ax
jmp 0x14008e50b
xor edi, edi
mov rcx, qword [rsp + 0x28]
mov qword [rcx], rdi
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2