Function at 0x14008ebf0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
xchg r15, rbx
mov qword [rsp + 0x10], r15
xchg r15, rbx
nop
mov qword [rsp - 8], rdi
sub rsp, 8
neg rsp
sub rsp, 0xffffffffffffffe0
neg rsp
xchg rdx, rsi
mov rdi, rsi
xchg rsi, rdx
mov rbx, rcx
xchg rbp, rbp
test rcx, rcx
je 0x14008f062
test rdx, rdx
je 0x14008f062
mov dword [rsp - 0x20], ecx
mov rcx, qword [rcx + 0x48]
cmp rcx, 0x80
jae 0x14008f062
mov rbx, rbx
lea rax, [rcx*8]
xchg rbx, rsi
mov qword [rsp + 0x30], rbx
xchg rsi, rbx
add qword [rbx], rax
mov dword [rsp - 0xc], 0x6c082658
mov byte [rcx + rbx + 0x50], 0x4b
sub byte [rcx + rbx + 0x50], 0x29
add byte [rcx + rbx + 0x50], 0x44
xor byte [rcx + rbx + 0x50], 0xe6
mov rax, qword [rbx + 0x48]
inc rax
mov dword [rsp - 0x34], esp
xchg rdi, rax
mov qword [rbx + 0x48], rdi
xchg rdi, rax
cmp rax, 0x70
mov dword [rsp - 0x2c], 0x67c17ab0
jbe 0x14008ed20
cmp rax, 0x80
jae 0x14008ecfd
nop dword [rax]
mov dword [rsp - 0x40], 0x4f877087
nop word [rax + rax]
mov byte [rax + rbx + 0x50], 0x2e
sub byte [rax + rbx + 0x50], 0x16
add byte [rax + rbx + 0x50], 0x1d
sub byte [rax + rbx + 0x50], 0x35
xchg r12, rax
mov r12, qword [rbx + 0x48]
xchg r12, rax
inc rax
mov dword [rsp - 0x30], edx
mov qword [rbx + 0x48], rax
cmp rax, 0x80
jb 0x14008ecc2
mov dword [rsp - 0x34], 0x7c70ac02
lea rsi, [rbx + 0x50]
mov rcx, rbx
xchg rdx, r10
mov r10, rsi
xchg r10, rdx
call fcn.14008d720
xchg rsi, rsi
xor eax, eax
mov qword [rbx + 0x48], rax
jmp 0x14008ed35
lea rsi, [rbx + 0x50]
mov dword [rsp - 0x40], ecx
nop dword [rax]
nop word [rax + rax]
mov byte [rax + rbx + 0x50], 0x18
add byte [rax + rbx + 0x50], 0x23
add byte [rax + rbx + 0x50], 0x41
sub byte [rax + rbx + 0x50], 0x7c
mov rax, qword [rbx + 0x48]
xchg r11, r11
inc rax
mov qword [rbx + 0x48], rax
cmp rax, 0x78
jb 0x14008ed35
mov dword [rsp - 0x44], 0x53ab4e2a
movzx eax, byte [rbx + 7]
xchg rdx, rsi
mov rsi, rdx
xchg rsi, rdx
mov byte [rbx + 0xc8], al
xchg r15, rbx
mov rcx, r15
xchg r15, rbx
movzx eax, byte [rbx + 6]
mov byte [rbx + 0xc9], al
movzx eax, byte [rbx + 5]
xchg r11, r11
mov byte [rbx + 0xca], al
movzx eax, byte [rbx + 4]
mov byte [rbx + 0xcb], al
movzx eax, byte [rbx + 3]
mov dword [rsp - 0x34], edi
mov byte [rbx + 0xcc], al
movzx eax, byte [rbx + 2]
mov byte [rbx + 0xcd], al
movzx eax, byte [rbx + 1]
mov rdi, rdi
mov byte [rbx + 0xce], al
movzx eax, byte [rbx]
mov byte [rbx + 0xcf], al
call fcn.14008d720
xchg rsi, rsi
movzx eax, byte [rbx + 0xf]
mov byte [rdi], al
movzx eax, byte [rbx + 0xe]
mov dword [rsp - 0x24], esp
mov byte [rdi + 1], al
movzx eax, byte [rbx + 0xd]
mov byte [rdi + 2], al
mov dword [rsp - 0x44], ebx
movzx eax, byte [rbx + 0xc]
mov byte [rdi + 3], al
movzx eax, byte [rbx + 0xb]
mov rdx, rdx
mov byte [rdi + 4], al
movzx eax, byte [rbx + 0xa]
mov byte [rdi + 5], al
mov rdx, rdx
movzx eax, byte [rbx + 9]
mov byte [rdi + 6], al
movzx eax, byte [rbx + 8]
xchg r13, r13
mov byte [rdi + 7], al
movzx eax, byte [rbx + 0x17]
mov byte [rdi + 8], al
mov dword [rsp - 0x30], ebp
movzx eax, byte [rbx + 0x16]
mov byte [rdi + 9], al
movzx eax, byte [rbx + 0x15]
mov r15, r15
mov byte [rdi + 0xa], al
movzx eax, byte [rbx + 0x14]
mov byte [rdi + 0xb], al
movzx eax, byte [rbx + 0x13]
mov dword [rsp - 0x28], ebp
mov byte [rdi + 0xc], al
movzx eax, byte [rbx + 0x12]
mov byte [rdi + 0xd], al
movzx eax, byte [rbx + 0x11]
mov r9, r9
mov byte [rdi + 0xe], al
movzx eax, byte [rbx + 0x10]
mov byte [rdi + 0xf], al
mov rbx, rbx
movzx eax, byte [rbx + 0x1f]
mov byte [rdi + 0x10], al
movzx eax, byte [rbx + 0x1e]
mov byte [rdi + 0x11], al
mov dword [rsp - 0x24], 0x4fbeb449
movzx eax, byte [rbx + 0x1d]
mov byte [rdi + 0x12], al
movzx eax, byte [rbx + 0x1c]
mov rsi, rsi
mov byte [rdi + 0x13], al
movzx eax, byte [rbx + 0x1b]
mov byte [rdi + 0x14], al
xchg rbx, rbx
movzx eax, byte [rbx + 0x1a]
mov byte [rdi + 0x15], al
movzx eax, byte [rbx + 0x19]
mov byte [rdi + 0x16], al
mov dword [rsp - 0x24], ecx
movzx eax, byte [rbx + 0x18]
mov byte [rdi + 0x17], al
movzx eax, byte [rbx + 0x27]
mov byte [rdi + 0x18], al
xchg rsi, rsi
movzx eax, byte [rbx + 0x26]
mov byte [rdi + 0x19], al
movzx eax, byte [rbx + 0x25]
mov byte [rdi + 0x1a], al
mov dword [rsp - 0x20], 0x21338097
movzx eax, byte [rbx + 0x24]
mov byte [rdi + 0x1b], al
movzx eax, byte [rbx + 0x23]
mov byte [rdi + 0x1c], al
mov dword [rsp - 0x14], esi
movzx eax, byte [rbx + 0x22]
mov byte [rdi + 0x1d], al
movzx eax, byte [rbx + 0x21]
mov byte [rdi + 0x1e], al
mov dword [rsp - 0x44], 0x614dd547
movzx eax, byte [rbx + 0x20]
mov byte [rdi + 0x1f], al
movzx eax, byte [rbx + 0x2f]
mov dword [rsp - 0x30], esi
mov byte [rdi + 0x20], al
movzx eax, byte [rbx + 0x2e]
mov byte [rdi + 0x21], al
xchg rdx, rdx
movzx eax, byte [rbx + 0x2d]
mov byte [rdi + 0x22], al
movzx eax, byte [rbx + 0x2c]
mov rbx, rbx
mov byte [rdi + 0x23], al
movzx eax, byte [rbx + 0x2b]
mov byte [rdi + 0x24], al
movzx eax, byte [rbx + 0x2a]
xchg r14, r14
mov byte [rdi + 0x25], al
movzx eax, byte [rbx + 0x29]
mov byte [rdi + 0x26], al
xchg rsp, rsp
movzx eax, byte [rbx + 0x28]
mov byte [rdi + 0x27], al
movzx eax, byte [rbx + 0x37]
mov r10, r10
mov byte [rdi + 0x28], al
movzx eax, byte [rbx + 0x36]
mov byte [rdi + 0x29], al
xchg r14, r14
movzx eax, byte [rbx + 0x35]
mov byte [rdi + 0x2a], al
movzx eax, byte [rbx + 0x34]
mov r9, r9
mov byte [rdi + 0x2b], al
movzx eax, byte [rbx + 0x33]
mov byte [rdi + 0x2c], al
mov r8, r8
movzx eax, byte [rbx + 0x32]
mov byte [rdi + 0x2d], al
movzx eax, byte [rbx + 0x31]
xchg rbp, rbp
mov byte [rdi + 0x2e], al
movzx eax, byte [rbx + 0x30]
mov byte [rdi + 0x2f], al
mov r11, r11
movzx eax, byte [rbx + 0x3f]
xchg rsi, r11
mov r11, qword [rsp + 0x30]
xchg r11, rsi
mov byte [rdi + 0x30], al
movzx eax, byte [rbx + 0x3e]
mov byte [rdi + 0x31], al
mov dword [rsp - 0x38], edi
movzx eax, byte [rbx + 0x3d]
mov byte [rdi + 0x32], al
movzx eax, byte [rbx + 0x3c]
mov byte [rdi + 0x33], al
mov r11, r11
movzx eax, byte [rbx + 0x3b]
mov byte [rdi + 0x34], al
movzx eax, byte [rbx + 0x3a]
mov byte [rdi + 0x35], al
mov dword [rsp - 0x40], 0x7eb366cf
movzx eax, byte [rbx + 0x39]
mov byte [rdi + 0x36], al
movzx eax, byte [rbx + 0x38]
mov byte [rdi + 0x37], al
mov r12, r12
movzx eax, byte [rbx + 0x47]
mov byte [rdi + 0x38], al
movzx eax, byte [rbx + 0x46]
mov dword [rsp - 0x40], ebx
mov byte [rdi + 0x39], al
movzx eax, byte [rbx + 0x45]
mov byte [rdi + 0x3a], al
movzx eax, byte [rbx + 0x44]
xchg r10, r10
mov byte [rdi + 0x3b], al
movzx eax, byte [rbx + 0x43]
mov byte [rdi + 0x3c], al
movzx eax, byte [rbx + 0x42]
mov dword [rsp - 0x38], 0x4cd4819b
mov byte [rdi + 0x3d], al
movzx eax, byte [rbx + 0x41]
mov byte [rdi + 0x3e], al
movzx eax, byte [rbx + 0x40]
mov dword [rsp - 0x28], 0x624049da
mov byte [rdi + 0x3f], al
xor eax, eax
xchg rbx, rdi
mov rdi, qword [rsp + 0x38]
xchg rbx, rdi
nop
sub rsp, 0x4e92dc07
add rsp, 0x4e92dc27
nop
mov rdi, qword [rsp]
add rsp, 8
ret
mov rbx, qword [rsp + 0x38]
mov eax, 0x6d15e92e
sub eax, 0x655e7118
add eax, 0x8e7419a
sub eax, 0x109eb9af
neg rsp
add rsp, 0xffffffffffffffe0
neg rsp
nop
mov rdi, qword [rsp]
add rsp, 8
ret