Function at 0x1400ae1f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
test r8d, r8d
js 0x1400ae75b
mov r15, rcx
movzx r10d, word [rdx + 2]
xor eax, eax
test r10d, r10d
sete al
mov ebp, 0x8a
mov ecx, 7
cmove ecx, ebp
mov ebp, 4
sub ebp, eax
inc r8d
xor r11d, r11d
mov esi, 0xffffffff
xor edi, edi
jmp 0x1400ae251
mov r14d, esi
mov esi, r14d
mov edi, ebx
cmp r11, r8
je 0x1400ae75b
mov r14d, r10d
movzx r10d, word [rdx + r11*4 + 6]
lea ebx, [rdi + 1]
cmp r14d, r10d
sete al
cmp ebx, ecx
jge 0x1400ae4d1
add r11, 1
test al, al
jne 0x1400ae240
cmp ebx, ebp
jge 0x1400ae31b
mov r9d, r14d
mov ecx, dword [r15 + 0x1760]
movzx edi, word [r15 + 0x175c]
movzx esi, word [r15 + r9*4 + 0xaf6]
mov ebp, 0x10
movzx r12d, word [r15 + r9*4 + 0xaf4]
mov eax, r12d
shl eax, cl
sub ebp, esi
or edi, eax
mov word [r15 + 0x175c], di
cmp ecx, ebp
jg 0x1400ae2cd
add ecx, esi
mov dword [r15 + 0x1760], ecx
add ebx, 0xffffffff
je 0x1400ae3e0
jmp 0x1400ae28d
mov rax, qword [r15 + 0x10]
mov ecx, dword [r15 + 0x28]
lea ebp, [rcx + 1]
mov dword [r15 + 0x28], ebp
mov byte [rax + rcx], dil
movzx eax, byte [r15 + 0x175d]
mov rcx, qword [r15 + 0x10]
mov edi, dword [r15 + 0x28]
lea ebp, [rdi + 1]
mov dword [r15 + 0x28], ebp
mov byte [rcx + rdi], al
mov eax, dword [r15 + 0x1760]
mov cl, 0x10
sub cl, al
shr r12d, cl
mov word [r15 + 0x175c], r12w
lea ecx, [rsi + rax]
add ecx, 0xfffffff0
mov edi, r12d
jmp 0x1400ae2bb
test r14d, r14d
je 0x1400ae40d
cmp r14d, esi
je 0x1400ae695
mov eax, r14d
movzx esi, word [r15 + rax*4 + 0xaf6]
mov r9d, dword [r15 + 0x1760]
mov ebx, 0x10
sub ebx, esi
movzx eax, word [r15 + rax*4 + 0xaf4]
mov ebp, eax
mov ecx, r9d
shl ebp, cl
or bp, word [r15 + 0x175c]
mov word [r15 + 0x175c], bp
cmp r9d, ebx
jg 0x1400ae4d8
add r9d, esi
mov dword [r15 + 0x1760], r9d
movzx esi, word [r15 + 0xb36]
movzx eax, word [r15 + 0xb34]
mov ebx, eax
mov ecx, r9d
shl ebx, cl
mov ecx, 0x10
sub ecx, esi
or ebp, ebx
cmp r9d, ecx
jg 0x1400ae47e
add r9d, esi
mov dword [r15 + 0x1760], r9d
add edi, 0xfffd
cmp r9d, 0xf
jge 0x1400ae576
mov ecx, r9d
shl edi, cl
or ebp, edi
mov word [r15 + 0x175c], bp
add r9d, 2
mov dword [r15 + 0x1760], r9d
nop word [rax + rax]
xor ebx, ebx
test r10d, r10d
je 0x1400ae3fe
xor ecx, ecx
cmp r14d, r10d
sete cl
mov ebp, 4
sub ebp, ecx
xor ecx, 7
jmp 0x1400ae243
mov ecx, 0x8a
mov ebp, 3
jmp 0x1400ae243
cmp edi, 9
jg 0x1400ae631
movzx esi, word [r15 + 0xb3a]
mov r9d, dword [r15 + 0x1760]
mov ebp, 0x10
movzx eax, word [r15 + 0xb38]
mov ebx, eax
mov ecx, r9d
shl ebx, cl
sub ebp, esi
or bx, word [r15 + 0x175c]
cmp r9d, ebp
jg 0x1400ae523
add r9d, esi
mov dword [r15 + 0x1760], r9d
add edi, 0xfffe
cmp r9d, 0xe
jge 0x1400ae5d4
mov ecx, r9d
shl edi, cl
or ebx, edi
mov word [r15 + 0x175c], bx
add r9d, 3
jmp 0x1400ae3d0
mov word [r15 + 0x175c], bp
mov r9, qword [r15 + 0x10]
mov ebx, dword [r15 + 0x28]
lea ecx, [rbx + 1]
mov dword [r15 + 0x28], ecx
mov byte [r9 + rbx], bpl
mov r9b, byte [r15 + 0x175d]
mov rbp, qword [r15 + 0x10]
mov ebx, dword [r15 + 0x28]
lea ecx, [rbx + 1]
mov dword [r15 + 0x28], ecx
mov byte [rbp + rbx], r9b
mov ebp, dword [r15 + 0x1760]
mov cl, 0x10
sub cl, bpl
shr eax, cl
lea r9d, [rsi + rbp]
add r9d, 0xfffffff0
mov ebp, eax
jmp 0x1400ae3a6
xor eax, eax
jmp 0x1400ae26b
mov r9, qword [r15 + 0x10]
mov ebx, dword [r15 + 0x28]
lea ecx, [rbx + 1]
mov dword [r15 + 0x28], ecx
mov byte [r9 + rbx], bpl
mov r9b, byte [r15 + 0x175d]
mov rbp, qword [r15 + 0x10]
mov ebx, dword [r15 + 0x28]
lea ecx, [rbx + 1]
mov dword [r15 + 0x28], ecx
mov byte [rbp + rbx], r9b
mov ebp, dword [r15 + 0x1760]
mov cl, 0x10
sub cl, bpl
shr eax, cl
lea r9d, [rsi + rbp]
add r9d, 0xfffffff0
mov ebp, eax
jmp 0x1400ae373
mov word [r15 + 0x175c], bx
mov r9, qword [r15 + 0x10]
mov ebp, dword [r15 + 0x28]
lea ecx, [rbp + 1]
mov dword [r15 + 0x28], ecx
mov byte [r9 + rbp], bl
mov r9b, byte [r15 + 0x175d]
mov rbp, qword [r15 + 0x10]
mov ebx, dword [r15 + 0x28]
lea ecx, [rbx + 1]
mov dword [r15 + 0x28], ecx
mov byte [rbp + rbx], r9b
mov ebp, dword [r15 + 0x1760]
mov cl, 0x10
sub cl, bpl
shr eax, cl
lea r9d, [rsi + rbp]
add r9d, 0xfffffff0
mov ebx, eax
jmp 0x1400ae44f
movzx eax, di
mov ecx, r9d
shl edi, cl
or ebp, edi
mov word [r15 + 0x175c], bp
mov rcx, qword [r15 + 0x10]
mov ebx, dword [r15 + 0x28]
lea edi, [rbx + 1]
mov dword [r15 + 0x28], edi
mov byte [rcx + rbx], bpl
mov cl, byte [r15 + 0x175d]
mov rbp, qword [r15 + 0x10]
mov ebx, dword [r15 + 0x28]
lea edi, [rbx + 1]
mov dword [r15 + 0x28], edi
mov byte [rbp + rbx], cl
mov r9d, dword [r15 + 0x1760]
mov cl, 0x10
sub cl, r9b
shr eax, cl
mov word [r15 + 0x175c], ax
add r9d, 0xfffffff2
jmp 0x1400ae3d0
movzx eax, di
mov ecx, r9d
shl edi, cl
or ebx, edi
mov word [r15 + 0x175c], bx
mov rcx, qword [r15 + 0x10]
mov ebp, dword [r15 + 0x28]
lea edi, [rbp + 1]
mov dword [r15 + 0x28], edi
mov byte [rcx + rbp], bl
mov cl, byte [r15 + 0x175d]
mov rbp, qword [r15 + 0x10]
mov ebx, dword [r15 + 0x28]
lea edi, [rbx + 1]
mov dword [r15 + 0x28], edi
mov byte [rbp + rbx], cl
mov r9d, dword [r15 + 0x1760]
mov cl, 0x10
sub cl, r9b
shr eax, cl
mov word [r15 + 0x175c], ax
add r9d, 0xfffffff3
jmp 0x1400ae3d0
movzx esi, word [r15 + 0xb3e]
mov r9d, dword [r15 + 0x1760]
mov ebp, 0x10
movzx eax, word [r15 + 0xb3c]
mov ebx, eax
mov ecx, r9d
shl ebx, cl
sub ebp, esi
or bx, word [r15 + 0x175c]
cmp r9d, ebp
jg 0x1400ae708
add r9d, esi
mov dword [r15 + 0x1760], r9d
add edi, 0xfff6
cmp r9d, 0xa
jge 0x1400ae6ab
mov ecx, r9d
shl edi, cl
or ebx, edi
mov word [r15 + 0x175c], bx
add r9d, 7
jmp 0x1400ae3d0
mov r9d, dword [r15 + 0x1760]
movzx ebp, word [r15 + 0x175c]
mov edi, ebx
jmp 0x1400ae37a
movzx eax, di
mov ecx, r9d
shl edi, cl
or ebx, edi
mov word [r15 + 0x175c], bx
mov rcx, qword [r15 + 0x10]
mov ebp, dword [r15 + 0x28]
lea edi, [rbp + 1]
mov dword [r15 + 0x28], edi
mov byte [rcx + rbp], bl
mov cl, byte [r15 + 0x175d]
mov rbp, qword [r15 + 0x10]
mov ebx, dword [r15 + 0x28]
lea edi, [rbx + 1]
mov dword [r15 + 0x28], edi
mov byte [rbp + rbx], cl
mov r9d, dword [r15 + 0x1760]
mov cl, 0x10
sub cl, r9b
shr eax, cl
mov word [r15 + 0x175c], ax
add r9d, 0xfffffff7
jmp 0x1400ae3d0
mov word [r15 + 0x175c], bx
mov r9, qword [r15 + 0x10]
mov ebp, dword [r15 + 0x28]
lea ecx, [rbp + 1]
mov dword [r15 + 0x28], ecx
mov byte [r9 + rbp], bl
mov r9b, byte [r15 + 0x175d]
mov rbp, qword [r15 + 0x10]
mov ebx, dword [r15 + 0x28]
lea ecx, [rbx + 1]
mov dword [r15 + 0x28], ecx
mov byte [rbp + rbx], r9b
mov ebp, dword [r15 + 0x1760]
mov cl, 0x10
sub cl, bpl
shr eax, cl
lea r9d, [rsi + rbp]
add r9d, 0xfffffff0
mov ebx, eax
jmp 0x1400ae66a
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret