Function at 0x1400e16db
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x10], rbx
nop
sub rsp, 8
mov qword [rsp], rdi
add rsp, 0xffffffffffffffe0
xchg rsi, rsi
xchg rdx, r12
mov rdi, r12
xchg r12, rdx
xchg rbx, rdx
mov rdx, rcx
xchg rbx, rdx
test rcx, rcx
je 0x1400e1b10
test rdx, rdx
mov dword [rsp - 0x28], 0xc4e87af
je 0x1400e1b10
mov rcx, qword [rcx + 0x48]
cmp rcx, 0x80
mov dword [rsp - 0x2c], 0x7c266ca8
jae 0x1400e1b10
lea rax, [rcx*8]
xchg r12, rsi
mov qword [rsp + 0x30], r12
xchg rsi, r12
add qword [rbx], rax
mov byte [rcx + rbx + 0x50], 0x19
add byte [rcx + rbx + 0x50], 0x1d
xor byte [rcx + rbx + 0x50], 0x6c
sub byte [rcx + rbx + 0x50], 0x24
add byte [rcx + rbx + 0x50], 0x4a
mov rax, qword [rbx + 0x48]
inc rax
xchg r15, rax
mov qword [rbx + 0x48], r15
xchg r15, rax
cmp rax, 0x70
jbe 0x1400e17cc
mov dword [rsp - 0x3c], ecx
cmp rax, 0x80
jae 0x1400e179e
nop dword [rax]
xchg r10, r10
nop word [rax + rax]
mov byte [rax + rbx + 0x50], 0x36
sub byte [rax + rbx + 0x50], 0x1d
add byte [rax + rbx + 0x50], 0x46
sub byte [rax + rbx + 0x50], 0x5b
sub byte [rax + rbx + 0x50], 4
mov rax, qword [rbx + 0x48]
xchg rbx, rbx
inc rax
xchg r10, rax
mov qword [rbx + 0x48], r10
xchg r10, rax
cmp rax, 0x80
jb 0x1400e1764
xchg r12, r12
lea rsi, [rbx + 0x50]
xchg rbx, rsi
mov rcx, rsi
xchg rbx, rsi
xchg rsi, r10
mov rdx, r10
xchg r10, rsi
call fcn.1400e0230
xor eax, eax
mov dword [rsp - 0x30], 0x4145402a
mov qword [rbx + 0x48], rax
jmp 0x1400e17e0
lea rsi, [rbx + 0x50]
nop dword [rax]
xchg rbp, rbp
nop word [rax + rax]
mov byte [rax + rbx + 0x50], 0x34
add byte [rax + rbx + 0x50], 0xe
add byte [rax + rbx + 0x50], 0x1f
sub byte [rax + rbx + 0x50], 0x42
sub byte [rax + rbx + 0x50], 0x1f
mov rax, qword [rbx + 0x48]
mov dword [rsp - 0xc], 0x42243d55
inc rax
xchg rdx, rax
mov qword [rbx + 0x48], rdx
xchg rdx, rax
cmp rax, 0x78
jb 0x1400e17e0
movzx eax, byte [rbx + 7]
mov r8, r8
mov rdx, rsi
mov byte [rbx + 0xc8], al
xchg rcx, rsp
mov rsp, rbx
xchg rsp, rcx
movzx eax, byte [rbx + 6]
mov r11, r11
mov byte [rbx + 0xc9], al
movzx eax, byte [rbx + 5]
mov byte [rbx + 0xca], al
mov r11, r11
movzx eax, byte [rbx + 4]
mov byte [rbx + 0xcb], al
movzx eax, byte [rbx + 3]
mov byte [rbx + 0xcc], al
xchg r10, r10
movzx eax, byte [rbx + 2]
mov byte [rbx + 0xcd], al
movzx eax, byte [rbx + 1]
mov byte [rbx + 0xce], al
mov dword [rsp - 0x18], 0x5b7e6ef3
movzx eax, byte [rbx]
mov byte [rbx + 0xcf], al
call fcn.1400e0230
mov dword [rsp - 0x3c], ebp
movzx eax, byte [rbx + 0xf]
mov byte [rdi], al
movzx eax, byte [rbx + 0xe]
mov byte [rdi + 1], al
mov dword [rsp - 0x24], edi
movzx eax, byte [rbx + 0xd]
mov byte [rdi + 2], al
movzx eax, byte [rbx + 0xc]
mov byte [rdi + 3], al
mov rcx, rcx
movzx eax, byte [rbx + 0xb]
mov byte [rdi + 4], al
movzx eax, byte [rbx + 0xa]
mov byte [rdi + 5], al
mov dword [rsp - 0x18], esp
movzx eax, byte [rbx + 9]
mov byte [rdi + 6], al
movzx eax, byte [rbx + 8]
mov byte [rdi + 7], al
xchg rdx, rdx
movzx eax, byte [rbx + 0x17]
mov byte [rdi + 8], al
movzx eax, byte [rbx + 0x16]
mov dword [rsp - 0x18], 0x19dd435b
mov byte [rdi + 9], al
movzx eax, byte [rbx + 0x15]
mov byte [rdi + 0xa], al
xchg rdx, rdx
movzx eax, byte [rbx + 0x14]
mov byte [rdi + 0xb], al
movzx eax, byte [rbx + 0x13]
mov byte [rdi + 0xc], al
mov dword [rsp - 0x38], ebx
movzx eax, byte [rbx + 0x12]
mov byte [rdi + 0xd], al
movzx eax, byte [rbx + 0x11]
mov dword [rsp - 0x38], edi
mov byte [rdi + 0xe], al
movzx eax, byte [rbx + 0x10]
mov byte [rdi + 0xf], al
movzx eax, byte [rbx + 0x1f]
xchg r14, r14
mov byte [rdi + 0x10], al
movzx eax, byte [rbx + 0x1e]
mov byte [rdi + 0x11], al
movzx eax, byte [rbx + 0x1d]
mov r8, r8
mov byte [rdi + 0x12], al
movzx eax, byte [rbx + 0x1c]
mov byte [rdi + 0x13], al
mov dword [rsp - 0x14], edi
movzx eax, byte [rbx + 0x1b]
mov byte [rdi + 0x14], al
movzx eax, byte [rbx + 0x1a]
xchg r15, r15
mov byte [rdi + 0x15], al
movzx eax, byte [rbx + 0x19]
mov byte [rdi + 0x16], al
movzx eax, byte [rbx + 0x18]
mov dword [rsp - 0x24], 0x126ff829
mov byte [rdi + 0x17], al
movzx eax, byte [rbx + 0x27]
mov byte [rdi + 0x18], al
xchg r8, r8
movzx eax, byte [rbx + 0x26]
mov byte [rdi + 0x19], al
movzx eax, byte [rbx + 0x25]
mov byte [rdi + 0x1a], al
mov dword [rsp - 0x18], 0x57d2232d
movzx eax, byte [rbx + 0x24]
mov byte [rdi + 0x1b], al
movzx eax, byte [rbx + 0x23]
mov byte [rdi + 0x1c], al
mov r13, r13
movzx eax, byte [rbx + 0x22]
mov byte [rdi + 0x1d], al
movzx eax, byte [rbx + 0x21]
mov rsp, rsp
mov byte [rdi + 0x1e], al
movzx eax, byte [rbx + 0x20]
mov byte [rdi + 0x1f], al
xchg r15, r15
movzx eax, byte [rbx + 0x2f]
mov byte [rdi + 0x20], al
movzx eax, byte [rbx + 0x2e]
mov dword [rsp - 0x38], 0x16d83607
mov byte [rdi + 0x21], al
movzx eax, byte [rbx + 0x2d]
mov byte [rdi + 0x22], al
movzx eax, byte [rbx + 0x2c]
mov dword [rsp - 0x1c], 0x4b8820f3
mov byte [rdi + 0x23], al
movzx eax, byte [rbx + 0x2b]
mov byte [rdi + 0x24], al
movzx eax, byte [rbx + 0x2a]
mov rdx, rdx
mov byte [rdi + 0x25], al
movzx eax, byte [rbx + 0x29]
mov byte [rdi + 0x26], al
movzx eax, byte [rbx + 0x28]
mov dword [rsp - 0x1c], 0x356b8d66
mov byte [rdi + 0x27], al
movzx eax, byte [rbx + 0x37]
mov byte [rdi + 0x28], al
movzx eax, byte [rbx + 0x36]
xchg rdx, rdx
mov byte [rdi + 0x29], al
movzx eax, byte [rbx + 0x35]
mov byte [rdi + 0x2a], al
movzx eax, byte [rbx + 0x34]
xchg rbp, rbp
mov byte [rdi + 0x2b], al
movzx eax, byte [rbx + 0x33]
mov byte [rdi + 0x2c], al
movzx eax, byte [rbx + 0x32]
xchg r15, r15
mov byte [rdi + 0x2d], al
movzx eax, byte [rbx + 0x31]
mov byte [rdi + 0x2e], al
movzx eax, byte [rbx + 0x30]
mov dword [rsp - 0x10], edx
mov byte [rdi + 0x2f], al
movzx eax, byte [rbx + 0x3f]
mov rsi, qword [rsp + 0x30]
mov byte [rdi + 0x30], al
xchg rbx, rbx
movzx eax, byte [rbx + 0x3e]
mov byte [rdi + 0x31], al
movzx eax, byte [rbx + 0x3d]
mov dword [rsp - 0x2c], ebx
mov byte [rdi + 0x32], al
movzx eax, byte [rbx + 0x3c]
mov byte [rdi + 0x33], al
mov r10, r10
movzx eax, byte [rbx + 0x3b]
mov byte [rdi + 0x34], al
movzx eax, byte [rbx + 0x3a]
mov r8, r8
mov byte [rdi + 0x35], al
movzx eax, byte [rbx + 0x39]
mov byte [rdi + 0x36], al
movzx eax, byte [rbx + 0x38]
mov rsi, rsi
mov byte [rdi + 0x37], al
movzx eax, byte [rbx + 0x47]
mov byte [rdi + 0x38], al
mov rdi, rdi
movzx eax, byte [rbx + 0x46]
mov byte [rdi + 0x39], al
movzx eax, byte [rbx + 0x45]
mov rbx, rbx
mov byte [rdi + 0x3a], al
movzx eax, byte [rbx + 0x44]
mov byte [rdi + 0x3b], al
movzx eax, byte [rbx + 0x43]
mov dword [rsp - 0x40], edx
mov byte [rdi + 0x3c], al
movzx eax, byte [rbx + 0x42]
mov byte [rdi + 0x3d], al
mov rsp, rsp
movzx eax, byte [rbx + 0x41]
mov byte [rdi + 0x3e], al
movzx eax, byte [rbx + 0x40]
mov byte [rdi + 0x3f], al
mov dword [rsp - 0x18], 0x7b86be3a
xor eax, eax
xchg rbx, r12
mov r12, qword [rsp + 0x38]
xchg r12, rbx
sub rsp, 0xffffffffffffffe0
mov dword [rsp - 0x30], 0x1c327ea3
nop
mov rdi, qword [rsp]
add rsp, 8
ret
xchg r15, rbx
mov r15, qword [rsp + 0x38]
xchg rbx, r15
mov eax, 0x3425fe32
xor eax, 0x15d0e48c
add eax, 0x538ec4d2
sub eax, 0x6390cf7
xor eax, 0x6f4ad298
add rsp, 0x20
nop
add rsp, 8
mov rdi, qword [rsp - 8]
ret