Function at 0x140089cd0
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
nop
sub rsp, 8
mov qword [rsp], rdi
neg rsp
sub rsp, 0xffffffffffffff60
neg rsp
movdqa xmm0, xmmword [0x140004360]
xor esi, esi
mov dword [rsp - 0x28], 0xbdc674c
movdqa xmm1, xmmword [0x1400043b0]
xchg rdx, rbx
mov r8, rbx
xchg rbx, rdx
movdqu xmmword [rsp + 0x20], xmm0
xchg rbx, rcx
mov rcx, rbx
xchg rbx, rcx
mov edi, esi
movdqa xmm0, xmmword [0x1400043a0]
mov eax, esi
xchg r13, r13
xchg r14, rsp
movdqu xmmword [r14 + 0x30], xmm1
xchg r14, rsp
movdqa xmm1, xmmword [0x140004390]
xchg r14, rsp
movdqu xmmword [r14 + 0x40], xmm0
xchg rsp, r14
movdqu xmmword [rsp + 0x50], xmm1
nop word [rax + rax]
mov dword [rsp - 0x20], 0xbdb69c1
mov ecx, edi
lea rax, [rax + 4]
mov edx, 0x28eb54c4
add edx, 0x316e8799
sub edx, 0x4e0fa40f
add edx, 0x5c0ccc6d
sub edx, 0x67ac9184
inc rdi
rol edx, cl
mov rbp, rbp
xor edx, dword [rsp + rax + 0x1c]
mov dword [rsp + rax + 0x5c], edx
cmp rdi, 0x10
jb 0x140089d69
mov dword [rsp - 0x30], 0x3eec393
cmp dword [rbx + 4], 8
jne 0x140089e6b
movzx ecx, byte [r8]
xchg rsi, rsi
lea r9, [rsp + 0x60]
movzx eax, byte [r8 + 1]
lea rdx, [rsp + 0xb0]
shl cx, 5
shl cx, 2
shl cx, 1
or cx, ax
mov rbp, rbp
movzx eax, byte [r8 + 3]
mov word [rsp + 0xb6], cx
movzx ecx, byte [r8 + 2]
mov r10, r10
shl cx, 8
or cx, ax
movzx eax, byte [r8 + 5]
mov dword [rsp - 0x40], 0x7866b4b6
mov word [rsp + 0xb4], cx
movzx ecx, byte [r8 + 4]
shl cx, 3
shl cx, 5
or cx, ax
mov dword [rsp - 0x14], ebp
movzx eax, byte [r8 + 7]
mov word [rsp + 0xb2], cx
movzx ecx, byte [r8 + 6]
xor r8d, r8d
mov r10, r10
shl cx, 7
shl cx, 1
or cx, ax
mov word [rsp + 0xb0], cx
mov dword [rsp - 0x38], edi
xchg rbx, rcx
mov rbx, rcx
xchg rcx, rbx
call fcn.1400899f0
mov rsi, rsi
jmp 0x140089f9d
cmp dword [rbx], esi
jle 0x140089f9d
mov qword [rsp + 0xb8], rbp
mov rsi, rsi
lea rdi, [r8 + 2]
mov ebp, esi
nop
xchg rsp, rsp
movzx ecx, byte [rdi - 2]
lea r9, [rsp + 0x60]
movzx eax, byte [rdi - 1]
xchg rdi, rdi
lea rdx, [rsp + 0xb0]
shl cx, 5
shl cx, 1
shl cx, 2
mov r8d, ebp
or cx, ax
movzx eax, byte [rdi]
mov dword [rsp - 0x18], 0xcfe819e
mov word [rsp + 0xb6], cx
movzx ecx, byte [rdi + 1]
shl ax, 4
shl ax, 3
shl ax, 1
or cx, ax
mov dword [rsp - 0x2c], ebx
movzx eax, byte [rdi + 3]
mov word [rsp + 0xb4], cx
movzx ecx, byte [rdi + 2]
shl cx, 3
shl cx, 2
shl cx, 2
shl cx, 1
or cx, ax
mov dword [rsp - 0xc], 0x69ddeb33
movzx eax, byte [rdi + 5]
mov word [rsp + 0xb2], cx
movzx ecx, byte [rdi + 4]
shl cx, 3
shl cx, 2
shl cx, 3
or cx, ax
mov word [rsp + 0xb0], cx
mov dword [rsp - 0x24], 0x78bc97c
mov rcx, rbx
call fcn.1400899f0
mov r8d, dword [rbx + 4]
lea r9, [rsp + 0x80]
mov dword [rsp - 0x44], 0x7f892612
sub r8d, ebp
lea rdx, [rsp + 0xb0]
neg r8d
sub r8d, 0xfffffff8
neg r8d
xchg rbx, rcx
mov rbx, rcx
xchg rcx, rbx
call fcn.1400899f0
inc esi
mov dword [rsp - 0x18], 0x1e9b8707
lea rdi, [rdi + 8]
sub ebp, 0xfffffff8
cmp esi, dword [rbx]
jl 0x140089e89
xchg rsi, rsi
xchg rbp, r8
mov r8, qword [rsp + 0xb8]
xchg rbp, r8
lea r11, [rsp + 0xa0]
xor eax, eax
xchg rbx, r10
mov r10, qword [r11 + 0x20]
xchg r10, rbx
lea rdi, [rsp + 0x60]
xchg rsi, rbp
mov rbp, qword [r11 + 0x28]
xchg rbp, rsi
mov ecx, 0x3f31866
add ecx, 0x76ca317d
sub ecx, 0x3f63541b
sub ecx, 0x3b59f588
rep stosb byte [rdi], al
xchg rbp, r11
mov rsp, rbp
xchg r11, rbp
nop
mov rdi, qword [rsp]
add rsp, 8
ret