Function at 0x1400fa2f0
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 0x1400fa7c3
mov r10, rcx
movzx r11d, word [rdx + 2]
xor ebp, ebp
test r11d, r11d
sete bpl
mov eax, 0x8a
mov ecx, 7
cmove ecx, eax
mov eax, 4
sub eax, ebp
inc r8d
xor r14d, r14d
mov esi, 0xffffffff
xor edi, edi
mov r15d, r11d
movzx r11d, word [rdx + r14*4 + 6]
inc r14
lea ebx, [rdi + 1]
cmp ebx, ecx
jge 0x1400fa35f
cmp r15d, r11d
jne 0x1400fa35f
mov r15d, esi
mov esi, r15d
mov edi, ebx
cmp r14, r8
jne 0x1400fa335
jmp 0x1400fa7c3
cmp ebx, eax
jge 0x1400fa3ff
mov r9d, r15d
mov ecx, dword [r10 + 0x1760]
movzx edi, word [r10 + r9*4 + 0xaf6]
mov eax, 0x10
sub eax, edi
movzx ebp, word [r10 + r9*4 + 0xaf4]
mov esi, ebp
shl esi, cl
or si, word [r10 + 0x175c]
mov word [r10 + 0x175c], si
cmp ecx, eax
jg 0x1400fa3b5
add ecx, edi
mov dword [r10 + 0x1760], ecx
dec ebx
je 0x1400fa4c1
jmp 0x1400fa371
mov r12, qword [r10 + 0x10]
mov ecx, dword [r10 + 0x28]
lea eax, [rcx + 1]
mov dword [r10 + 0x28], eax
mov byte [r12 + rcx], sil
mov r12b, byte [r10 + 0x175d]
mov rcx, qword [r10 + 0x10]
mov esi, dword [r10 + 0x28]
lea eax, [rsi + 1]
mov dword [r10 + 0x28], eax
mov byte [rcx + rsi], r12b
mov eax, dword [r10 + 0x1760]
mov cl, 0x10
sub cl, al
shr ebp, cl
mov word [r10 + 0x175c], bp
lea ecx, [rdi + rax]
add ecx, 0xfffffff0
jmp 0x1400fa3a4
test r15d, r15d
je 0x1400fa4ee
cmp r15d, esi
je 0x1400fa82a
mov ecx, r15d
movzx eax, word [r10 + rcx*4 + 0xaf6]
mov r9d, dword [r10 + 0x1760]
mov ebp, 0x10
sub ebp, eax
movzx esi, word [r10 + rcx*4 + 0xaf4]
mov ebx, esi
mov ecx, r9d
shl ebx, cl
or bx, word [r10 + 0x175c]
mov word [r10 + 0x175c], bx
cmp r9d, ebp
jg 0x1400fa65c
add r9d, eax
mov dword [r10 + 0x1760], r9d
movzx esi, word [r10 + 0xb36]
mov ebp, 0x10
movzx ebx, word [r10 + 0xb34]
mov eax, ebx
mov ecx, r9d
shl eax, cl
sub ebp, esi
or ax, word [r10 + 0x175c]
cmp r9d, ebp
jg 0x1400fa60b
add r9d, esi
mov dword [r10 + 0x1760], r9d
add edi, 0xfffd
cmp r9d, 0xf
jge 0x1400fa767
mov ecx, r9d
shl edi, cl
or eax, edi
mov word [r10 + 0x175c], ax
add r9d, 2
mov dword [r10 + 0x1760], r9d
xor ebx, ebx
test r11d, r11d
je 0x1400fa4df
xor ecx, ecx
cmp r15d, r11d
sete cl
mov eax, 4
sub eax, ecx
xor ecx, 7
jmp 0x1400fa350
mov ecx, 0x8a
mov eax, 3
jmp 0x1400fa350
cmp edi, 9
jle 0x1400fa5a3
movzx esi, word [r10 + 0xb3e]
mov r9d, dword [r10 + 0x1760]
mov ebp, 0x10
movzx ebx, word [r10 + 0xb3c]
mov eax, ebx
mov ecx, r9d
shl eax, cl
sub ebp, esi
or ax, word [r10 + 0x175c]
cmp r9d, ebp
jg 0x1400fa6c5
add r9d, esi
mov dword [r10 + 0x1760], r9d
add edi, 0xfff6
cmp r9d, 0xa
jl 0x1400fa6ad
movzx esi, di
mov ecx, r9d
shl edi, cl
or eax, edi
mov word [r10 + 0x175c], ax
mov rcx, qword [r10 + 0x10]
mov ebp, dword [r10 + 0x28]
lea ebx, [rbp + 1]
mov dword [r10 + 0x28], ebx
mov byte [rcx + rbp], al
mov al, byte [r10 + 0x175d]
mov rcx, qword [r10 + 0x10]
mov ebp, dword [r10 + 0x28]
lea ebx, [rbp + 1]
mov dword [r10 + 0x28], ebx
mov byte [rcx + rbp], al
mov r9d, dword [r10 + 0x1760]
mov cl, 0x10
sub cl, r9b
shr esi, cl
mov word [r10 + 0x175c], si
add r9d, 0xfffffff7
jmp 0x1400fa4ba
movzx esi, word [r10 + 0xb3a]
mov r9d, dword [r10 + 0x1760]
mov ebp, 0x10
movzx ebx, word [r10 + 0xb38]
mov eax, ebx
mov ecx, r9d
shl eax, cl
sub ebp, esi
or ax, word [r10 + 0x175c]
cmp r9d, ebp
jg 0x1400fa716
add r9d, esi
mov dword [r10 + 0x1760], r9d
add edi, 0xfffe
cmp r9d, 0xe
jge 0x1400fa7ce
mov ecx, r9d
shl edi, cl
or eax, edi
mov word [r10 + 0x175c], ax
add r9d, 3
jmp 0x1400fa4ba
mov word [r10 + 0x175c], ax
mov r9, qword [r10 + 0x10]
mov ebp, dword [r10 + 0x28]
lea ecx, [rbp + 1]
mov dword [r10 + 0x28], ecx
mov byte [r9 + rbp], al
mov r9b, byte [r10 + 0x175d]
mov rcx, qword [r10 + 0x10]
mov ebp, dword [r10 + 0x28]
lea eax, [rbp + 1]
mov dword [r10 + 0x28], eax
mov byte [rcx + rbp], r9b
mov eax, dword [r10 + 0x1760]
mov cl, 0x10
sub cl, al
shr ebx, cl
lea r9d, [rsi + rax]
add r9d, 0xfffffff0
mov eax, ebx
jmp 0x1400fa490
mov r9, qword [r10 + 0x10]
mov ebp, dword [r10 + 0x28]
lea ecx, [rbp + 1]
mov dword [r10 + 0x28], ecx
mov byte [r9 + rbp], bl
mov r9b, byte [r10 + 0x175d]
mov rbp, qword [r10 + 0x10]
mov ebx, dword [r10 + 0x28]
lea ecx, [rbx + 1]
mov dword [r10 + 0x28], ecx
mov byte [rbp + rbx], r9b
mov ebp, dword [r10 + 0x1760]
mov cl, 0x10
sub cl, bpl
shr esi, cl
mov word [r10 + 0x175c], si
lea r9d, [rax + rbp]
add r9d, 0xfffffff0
jmp 0x1400fa457
mov ecx, r9d
shl edi, cl
or eax, edi
mov word [r10 + 0x175c], ax
add r9d, 7
jmp 0x1400fa4ba
mov word [r10 + 0x175c], ax
mov r9, qword [r10 + 0x10]
mov ebp, dword [r10 + 0x28]
lea ecx, [rbp + 1]
mov dword [r10 + 0x28], ecx
mov byte [r9 + rbp], al
mov r9b, byte [r10 + 0x175d]
mov rcx, qword [r10 + 0x10]
mov ebp, dword [r10 + 0x28]
lea eax, [rbp + 1]
mov dword [r10 + 0x28], eax
mov byte [rcx + rbp], r9b
mov eax, dword [r10 + 0x1760]
mov cl, 0x10
sub cl, al
shr ebx, cl
lea r9d, [rsi + rax]
add r9d, 0xfffffff0
mov eax, ebx
jmp 0x1400fa530
mov word [r10 + 0x175c], ax
mov r9, qword [r10 + 0x10]
mov ebp, dword [r10 + 0x28]
lea ecx, [rbp + 1]
mov dword [r10 + 0x28], ecx
mov byte [r9 + rbp], al
mov r9b, byte [r10 + 0x175d]
mov rcx, qword [r10 + 0x10]
mov ebp, dword [r10 + 0x28]
lea eax, [rbp + 1]
mov dword [r10 + 0x28], eax
mov byte [rcx + rbp], r9b
mov eax, dword [r10 + 0x1760]
mov cl, 0x10
sub cl, al
shr ebx, cl
lea r9d, [rsi + rax]
add r9d, 0xfffffff0
mov eax, ebx
jmp 0x1400fa5dc
movzx esi, di
mov ecx, r9d
shl edi, cl
or eax, edi
mov word [r10 + 0x175c], ax
mov rcx, qword [r10 + 0x10]
mov ebp, dword [r10 + 0x28]
lea ebx, [rbp + 1]
mov dword [r10 + 0x28], ebx
mov byte [rcx + rbp], al
mov al, byte [r10 + 0x175d]
mov rcx, qword [r10 + 0x10]
mov ebp, dword [r10 + 0x28]
lea ebx, [rbp + 1]
mov dword [r10 + 0x28], ebx
mov byte [rcx + rbp], al
mov r9d, dword [r10 + 0x1760]
mov cl, 0x10
sub cl, r9b
shr esi, cl
mov word [r10 + 0x175c], si
add r9d, 0xfffffff2
jmp 0x1400fa4ba
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
movzx esi, di
mov ecx, r9d
shl edi, cl
or eax, edi
mov word [r10 + 0x175c], ax
mov rcx, qword [r10 + 0x10]
mov ebp, dword [r10 + 0x28]
lea ebx, [rbp + 1]
mov dword [r10 + 0x28], ebx
mov byte [rcx + rbp], al
mov al, byte [r10 + 0x175d]
mov rcx, qword [r10 + 0x10]
mov ebp, dword [r10 + 0x28]
lea ebx, [rbp + 1]
mov dword [r10 + 0x28], ebx
mov byte [rcx + rbp], al
mov r9d, dword [r10 + 0x1760]
mov cl, 0x10
sub cl, r9b
shr esi, cl
mov word [r10 + 0x175c], si
add r9d, 0xfffffff3
jmp 0x1400fa4ba
mov r9d, dword [r10 + 0x1760]
mov edi, ebx
jmp 0x1400fa45e