Function at 0x1401371f0
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 0x14013771f
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 0x14013725f
cmp r15d, r11d
jne 0x14013725f
mov r15d, esi
mov esi, r15d
mov edi, ebx
cmp r14, r8
jne 0x140137235
jmp 0x14013771f
cmp ebx, eax
jge 0x1401372ff
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 0x1401372b5
add ecx, edi
mov dword [r10 + 0x1760], ecx
dec ebx
je 0x1401373c1
jmp 0x140137271
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 0x1401372a4
test r15d, r15d
je 0x1401373ee
cmp r15d, esi
je 0x14013772a
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 0x14013755c
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 0x14013750b
add r9d, esi
mov dword [r10 + 0x1760], r9d
add edi, 0xfffd
cmp r9d, 0xf
jge 0x140137667
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 0x1401373df
xor ecx, ecx
cmp r15d, r11d
sete cl
mov eax, 4
sub eax, ecx
xor ecx, 7
jmp 0x140137250
mov ecx, 0x8a
mov eax, 3
jmp 0x140137250
cmp edi, 9
jle 0x1401374a3
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 0x1401375c5
add r9d, esi
mov dword [r10 + 0x1760], r9d
add edi, 0xfff6
cmp r9d, 0xa
jl 0x1401375ad
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 0x1401373ba
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 0x140137616
add r9d, esi
mov dword [r10 + 0x1760], r9d
add edi, 0xfffe
cmp r9d, 0xe
jge 0x1401376c3
mov ecx, r9d
shl edi, cl
or eax, edi
mov word [r10 + 0x175c], ax
add r9d, 3
jmp 0x1401373ba
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 0x140137390
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 0x140137357
mov ecx, r9d
shl edi, cl
or eax, edi
mov word [r10 + 0x175c], ax
add r9d, 7
jmp 0x1401373ba
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 0x140137430
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 0x1401374dc
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 0x1401373ba
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 0x1401373ba
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov r9d, dword [r10 + 0x1760]
mov edi, ebx
jmp 0x14013735e