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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x30
mov r11d, r9d
mov r10, rcx
mov esi, 1
mov ecx, r11d
shl esi, cl
mov r9d, 1
shl r9, cl
mov rax, 0xffffffffffffffd2
cmp r8d, 0xff
ja 0x140001de6
lea ecx, [r8 + 1]
mov qword [rsp + 0x10], rcx
lea rcx, [r9 + rcx*2]
add rcx, 8
cmp rcx, qword [rsp + 0xa0]
ja 0x140001de6
mov rax, 0xffffffffffffffd4
cmp r11d, 0xc
ja 0x140001de6
mov rdi, qword [rsp + 0x98]
mov ebp, 0x8000
mov ecx, r11d
shl ebp, cl
lea eax, [rsi - 1]
sar ebp, 0x10
xor r15d, r15d
test r8d, r8d
mov qword [rsp + 8], rsi
mov dword [rsp + 4], r11d
je 0x140001b0e
mov rsi, qword [rsp + 0x10]
mov r12d, esi
and r12d, 0xfffffffe
mov bx, 1
xor r14d, r14d
mov ecx, eax
jmp 0x140001aa2
mov r9d, ecx
dec ecx
lea r11d, [r14 + 1]
mov byte [r10 + r9*4 + 6], r11b
mov r11w, 1
mov word [rdi + r14*2 + 2], r11w
add r14, 2
cmp r12, r14
je 0x140001b06
movsx r11d, word [rdx + r14*2]
cmp r11d, 0xffffffff
je 0x140001ad0
cmp ebp, r11d
cmovle ebx, r15d
mov word [rdi + r14*2], r11w
movsx r11d, word [rdx + r14*2 + 2]
cmp r11d, 0xffffffff
jne 0x140001af0
jmp 0x140001a80
mov r9d, ecx
dec ecx
mov byte [r10 + r9*4 + 6], r14b
mov r11w, 1
mov word [rdi + r14*2], r11w
movsx r11d, word [rdx + r14*2 + 2]
cmp r11d, 0xffffffff
je 0x140001a80
cmp ebp, r11d
cmovle ebx, r15d
mov word [rdi + r14*2 + 2], r11w
add r14, 2
cmp r12, r14
jne 0x140001aa2
test sil, 1
jne 0x140001b22
jmp 0x140001b4d
mov bx, 1
xor r14d, r14d
mov ecx, eax
mov rsi, qword [rsp + 0x10]
test sil, 1
je 0x140001b4d
movsx r11d, word [rdx + r14*2]
cmp r11d, 0xffffffff
je 0x140001b39
xor r9d, r9d
cmp ebp, r11d
cmovle ebx, r9d
jmp 0x140001b48
mov r9d, ecx
dec ecx
mov byte [r10 + r9*4 + 6], r14b
mov r11w, 1
mov word [rdi + r14*2], r11w
mov r9d, dword [rsp + 4]
mov word [r10], r9w
mov word [r10 + 2], bx
mov r9, qword [rsp + 8]
mov r11d, r9d
shr r11d, 1
mov ebx, r9d
cmp ecx, eax
jne 0x140001c72
mov r8d, r8d
mov rcx, r9
lea r14, [rdi + r8*2]
add r14, 2
mov eax, eax
shr ecx, 3
add ecx, r11d
add ecx, 3
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], r8
lea r8, [rdi + r8*2]
add r8, 0x1a
mov qword [rsp + 0x28], r8
xor r12d, r12d
movabs rcx, 0x101010101010101
xor ebp, ebp
xor r8d, r8d
jmp 0x140001bd6
movsx r9, r15w
add rbp, r9
inc r12
add r8, rcx
cmp r12, rsi
je 0x140001d1e
movzx r15d, word [rdx + r12*2]
mov qword [r14 + rbp], r8
cmp r15w, 9
jl 0x140001bc0
cmp r15, 0x11
mov r9d, 0x10
cmovae r9, r15
add r9, 0xfffffffffffffff7
mov r11d, 8
cmp r9, 0x18
jb 0x140001c5a
shr r9, 3
inc r9
mov r13, r9
and r13, 0xfffffffffffffffc
lea r11, [r13*8 + 8]
movq xmm0, r8
pshufd xmm0, xmm0, 0x44
mov rsi, qword [rsp + 0x28]
add rsi, rbp
xor edi, edi
nop
movdqu xmmword [rsi + rdi*8 - 0x10], xmm0
movdqu xmmword [rsi + rdi*8], xmm0
add rdi, 4
cmp r13, rdi
jne 0x140001c30
cmp r9, r13
mov rdi, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x10]
je 0x140001bc0
lea r9, [r14 + rbp]
nop
mov qword [r9 + r11], r8
add r11, 8
cmp r11, r15
jb 0x140001c60
jmp 0x140001bc0
mov r8d, r9d
shr r8d, 3
add r8d, r11d
add r8d, 3
xor r14d, r14d
xor ebp, ebp
jmp 0x140001c9c
inc r14
cmp r14, rsi
je 0x140001d81
movsx r15d, word [rdx + r14*2]
test r15d, r15d
jle 0x140001c90
cmp r15w, 1
je 0x140001d02
mov r12d, r15d
and r12d, 0xfffffffe
xor r13d, r13d
nop word [rax + rax]
mov r9d, ebp
mov byte [r10 + r9*4 + 6], r14b
nop dword [rax + rax]
add ebp, r8d
and ebp, eax
cmp ebp, ecx
ja 0x140001cd0
mov r9d, ebp
mov byte [r10 + r9*4 + 6], r14b
nop word cs:[rax + rax]
add ebp, r8d
and ebp, eax
cmp ebp, ecx
ja 0x140001cf0
add r13d, 2
cmp r13d, r12d
jne 0x140001cc0
test r15b, 1
je 0x140001c90
mov r9d, ebp
mov byte [r10 + r9*4 + 6], r14b
add ebp, r8d
and ebp, eax
cmp ebp, ecx
ja 0x140001d10
jmp 0x140001c90
mov rcx, qword [rsp + 0x18]
lea rdx, [rcx + rcx]
mov r8, qword [rsp + 0x20]
lea r8, [rdi + r8*2]
add r8, 3
xor r11d, r11d
xor edi, edi
mov ebp, dword [rsp + 4]
mov r14, qword [rsp + 8]
nop word cs:[rax + rax]
mov r9d, edi
and r9d, eax
movzx esi, byte [r8 + r11 - 1]
mov byte [r10 + r9*4 + 6], sil
lea r9d, [rcx + rdi]
and r9d, eax
movzx esi, byte [r8 + r11]
mov byte [r10 + r9*4 + 6], sil
add edi, edx
and edi, eax
add r11, 2
cmp r11, rbx
jb 0x140001d50
jmp 0x140001d95
mov rax, 0xffffffffffffffff
test ebp, ebp
mov ebp, dword [rsp + 4]
mov r14, qword [rsp + 8]
jne 0x140001de6
add ebp, 0xffffffe1
xor eax, eax
xor edx, edx
mov r11, qword [rsp + 0x98]
nop word cs:[rax + rax]
movzx ecx, byte [r10 + rdx*4 + 6]
movzx r8d, word [r11 + rcx*2]
lea r9d, [r8 + 1]
mov word [r11 + rcx*2], r9w
bsr ecx, r8d
xor ecx, 0x1f
add ecx, ebp
mov byte [r10 + rdx*4 + 7], cl
shl r8d, cl
sub r8d, r14d
mov word [r10 + rdx*4 + 4], r8w
inc rdx
cmp rbx, rdx
jne 0x140001db0
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret