Function at 0x14018d770
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 0x14018db8d
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 esi, 4
sub esi, eax
inc r8d
xor r11d, r11d
mov ebp, 0xffffffff
xor edi, edi
jmp 0x14018d7c7
mov r14d, ebp
mov ebp, r14d
mov edi, ebx
cmp r11, r8
je 0x14018db8d
mov r14d, r10d
movzx r10d, word [rdx + r11*4 + 6]
inc r11
lea ebx, [rdi + 1]
cmp ebx, ecx
jge 0x14018d7df
cmp r14d, r10d
je 0x14018d7b6
cmp ebx, esi
jge 0x14018d880
mov r9d, r14d
mov ecx, dword [r15 + 0x1768]
movzx ebp, word [r15 + r9*4 + 0xafa]
mov edi, 0x10
sub edi, ebp
movzx eax, word [r15 + r9*4 + 0xaf8]
mov esi, eax
shl esi, cl
or si, word [r15 + 0x1764]
mov word [r15 + 0x1764], si
cmp ecx, edi
jg 0x14018d835
add ecx, ebp
mov dword [r15 + 0x1768], ecx
dec ebx
je 0x14018d93e
jmp 0x14018d7f1
mov r12, qword [r15 + 0x10]
mov edi, dword [r15 + 0x28]
lea ecx, [rdi + 1]
mov dword [r15 + 0x28], ecx
mov byte [r12 + rdi], sil
mov r12b, byte [r15 + 0x1765]
mov rsi, qword [r15 + 0x10]
mov edi, dword [r15 + 0x28]
lea ecx, [rdi + 1]
mov dword [r15 + 0x28], ecx
mov byte [rsi + rdi], r12b
mov esi, dword [r15 + 0x1768]
mov cl, 0x10
sub cl, sil
shr eax, cl
mov word [r15 + 0x1764], ax
lea ecx, [rsi + rbp]
add ecx, 0xfffffff0
jmp 0x14018d824
test r14d, r14d
je 0x14018da78
cmp r14d, ebp
je 0x14018d9bc
mov eax, r14d
movzx esi, word [r15 + rax*4 + 0xafa]
mov r9d, dword [r15 + 0x1768]
mov ebx, 0x10
sub ebx, esi
movzx eax, word [r15 + rax*4 + 0xaf8]
mov ebp, eax
mov ecx, r9d
shl ebp, cl
or bp, word [r15 + 0x1764]
mov word [r15 + 0x1764], bp
cmp r9d, ebx
jg 0x14018d9ca
add r9d, esi
mov dword [r15 + 0x1768], r9d
movzx ebx, word [r15 + 0xb3a]
mov eax, 0x10
movzx ebp, word [r15 + 0xb38]
mov esi, ebp
mov ecx, r9d
shl esi, cl
sub eax, ebx
or si, word [r15 + 0x1764]
cmp r9d, eax
jg 0x14018d96b
add r9d, ebx
mov dword [r15 + 0x1768], r9d
add edi, 0xfffd
cmp r9d, 0xf
jge 0x14018da1b
mov ecx, r9d
shl edi, cl
or esi, edi
mov word [r15 + 0x1764], si
add r9d, 2
mov dword [r15 + 0x1768], r9d
xor ebx, ebx
test r10d, r10d
je 0x14018d95c
xor ecx, ecx
cmp r14d, r10d
sete cl
mov esi, 4
sub esi, ecx
xor ecx, 7
jmp 0x14018d7b9
mov ecx, 0x8a
mov esi, 3
jmp 0x14018d7b9
mov word [r15 + 0x1764], si
mov r9, qword [r15 + 0x10]
mov ecx, dword [r15 + 0x28]
lea eax, [rcx + 1]
mov dword [r15 + 0x28], eax
mov byte [r9 + rcx], sil
mov r9b, byte [r15 + 0x1765]
mov rcx, qword [r15 + 0x10]
mov esi, dword [r15 + 0x28]
lea eax, [rsi + 1]
mov dword [r15 + 0x28], eax
mov byte [rcx + rsi], r9b
mov eax, dword [r15 + 0x1768]
mov cl, 0x10
sub cl, al
shr ebp, cl
lea r9d, [rbx + rax]
add r9d, 0xfffffff0
mov esi, ebp
jmp 0x14018d90d
mov r9d, dword [r15 + 0x1768]
mov edi, ebx
jmp 0x14018d8df
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 + 0x1765]
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 + 0x1768]
mov cl, 0x10
sub cl, bpl
shr eax, cl
mov word [r15 + 0x1764], ax
lea r9d, [rsi + rbp]
add r9d, 0xfffffff0
jmp 0x14018d8d8
movzx ebx, di
mov ecx, r9d
shl edi, cl
or esi, edi
mov word [r15 + 0x1764], si
mov rax, qword [r15 + 0x10]
mov ecx, dword [r15 + 0x28]
lea ebp, [rcx + 1]
mov dword [r15 + 0x28], ebp
mov byte [rax + rcx], sil
mov al, byte [r15 + 0x1765]
mov rcx, qword [r15 + 0x10]
mov ebp, dword [r15 + 0x28]
lea edi, [rbp + 1]
mov dword [r15 + 0x28], edi
mov byte [rcx + rbp], al
mov r9d, dword [r15 + 0x1768]
mov cl, 0x10
sub cl, r9b
shr ebx, cl
mov word [r15 + 0x1764], bx
add r9d, 0xfffffff2
jmp 0x14018d937
cmp edi, 9
jg 0x14018db05
movzx ebx, word [r15 + 0xb3e]
mov r9d, dword [r15 + 0x1768]
mov eax, 0x10
movzx ebp, word [r15 + 0xb3c]
mov esi, ebp
mov ecx, r9d
shl esi, cl
sub eax, ebx
or si, word [r15 + 0x1764]
cmp r9d, eax
jg 0x14018db3c
add r9d, ebx
mov dword [r15 + 0x1768], r9d
add edi, 0xfffe
cmp r9d, 0xe
jge 0x14018dba0
mov ecx, r9d
shl edi, cl
or esi, edi
mov word [r15 + 0x1764], si
add r9d, 3
jmp 0x14018d937
mov dword [r15 + 0x1768], r9d
add edi, 0xfff6
cmp r9d, 0xa
jl 0x14018dbfd
jmp 0x14018dc15
movzx ebx, word [r15 + 0xb42]
mov r9d, dword [r15 + 0x1768]
mov eax, 0x10
movzx ebp, word [r15 + 0xb40]
mov esi, ebp
mov ecx, r9d
shl esi, cl
sub eax, ebx
or si, word [r15 + 0x1764]
cmp r9d, eax
jle 0x14018db98
jmp 0x14018dc72
mov word [r15 + 0x1764], si
mov r9, qword [r15 + 0x10]
mov ecx, dword [r15 + 0x28]
lea eax, [rcx + 1]
mov dword [r15 + 0x28], eax
mov byte [r9 + rcx], sil
mov r9b, byte [r15 + 0x1765]
mov rcx, qword [r15 + 0x10]
mov esi, dword [r15 + 0x28]
lea eax, [rsi + 1]
mov dword [r15 + 0x28], eax
mov byte [rcx + rsi], r9b
mov eax, dword [r15 + 0x1768]
mov cl, 0x10
sub cl, al
shr ebp, cl
lea r9d, [rbx + rax]
add r9d, 0xfffffff0
mov esi, ebp
jmp 0x14018daba
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
add r9d, ebx
jmp 0x14018dae9
movzx ebx, di
mov ecx, r9d
shl edi, cl
or esi, edi
mov word [r15 + 0x1764], si
mov rax, qword [r15 + 0x10]
mov ecx, dword [r15 + 0x28]
lea ebp, [rcx + 1]
mov dword [r15 + 0x28], ebp
mov byte [rax + rcx], sil
mov al, byte [r15 + 0x1765]
mov rcx, qword [r15 + 0x10]
mov ebp, dword [r15 + 0x28]
lea edi, [rbp + 1]
mov dword [r15 + 0x28], edi
mov byte [rcx + rbp], al
mov r9d, dword [r15 + 0x1768]
mov cl, 0x10
sub cl, r9b
shr ebx, cl
mov word [r15 + 0x1764], bx
add r9d, 0xfffffff3
jmp 0x14018d937
mov ecx, r9d
shl edi, cl
or esi, edi
mov word [r15 + 0x1764], si
add r9d, 7
jmp 0x14018d937
movzx ebx, di
mov ecx, r9d
shl edi, cl
or esi, edi
mov word [r15 + 0x1764], si
mov rax, qword [r15 + 0x10]
mov ecx, dword [r15 + 0x28]
lea ebp, [rcx + 1]
mov dword [r15 + 0x28], ebp
mov byte [rax + rcx], sil
mov al, byte [r15 + 0x1765]
mov rcx, qword [r15 + 0x10]
mov ebp, dword [r15 + 0x28]
lea edi, [rbp + 1]
mov dword [r15 + 0x28], edi
mov byte [rcx + rbp], al
mov r9d, dword [r15 + 0x1768]
mov cl, 0x10
sub cl, r9b
shr ebx, cl
mov word [r15 + 0x1764], bx
add r9d, 0xfffffff7
jmp 0x14018d937
mov word [r15 + 0x1764], si
mov r9, qword [r15 + 0x10]
mov ecx, dword [r15 + 0x28]
lea eax, [rcx + 1]
mov dword [r15 + 0x28], eax
mov byte [r9 + rcx], sil
mov r9b, byte [r15 + 0x1765]
mov rcx, qword [r15 + 0x10]
mov esi, dword [r15 + 0x28]
lea eax, [rsi + 1]
mov dword [r15 + 0x28], eax
mov byte [rcx + rsi], r9b
mov eax, dword [r15 + 0x1768]
mov cl, 0x10
sub cl, al
shr ebp, cl
lea r9d, [rbx + rax]
add r9d, 0xfffffff0
mov esi, ebp
jmp 0x14018dae9