Function at 0x180287719
Capabilities:
Encrypt data using rc4 prga

Disassembly:
test rcx, rcx
je 0x180287b6c
mov r11, rsp
push rsi
push r12
sub rsp, 0x68
mov rax, qword [0x1806c4cd8]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov qword [r11 + 0x20], rbx
mov rsi, rcx
mov qword [r11 - 0x18], rbp
mov r12d, r9d
mov qword [r11 - 0x20], rdi
movsxd rax, r8d
movzx r10d, byte [rsi + 0x13]
mov qword [r11 - 0x28], r13
mov r13d, dword [rsi]
mov qword [rsp + 0x20], rcx
lea rcx, [0x1805d4158]
mov qword [r11 - 0x30], r14
mov qword [r11 - 0x38], r15
mov r15d, dword [rcx + rax*4]
lea r9d, [r13 - 1]
mov eax, r13d
mov dword [rsp + 0x30], r15d
imul eax, r15d
mov ecx, r10d
mov edi, r9d
mov dword [rsp + 0x2c], eax
lea r8d, [rax - 1]
mov ebx, r8d
sub ecx, 1
je 0x180287a05
sub ecx, 1
je 0x180287915
cmp ecx, 2
je 0x18028781d
mov esi, r10d
xor r14d, r14d
shr rsi, 3
imul rdi, rsi
imul rbx, rsi
add rdi, rdx
add rbx, rdx
test r13d, r13d
je 0x180287b0a
mov r12, qword [rsp + 0x20]
nop dword [rax]
mov r8, rsi
lea rcx, [rsp + 0x30]
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
test r15d, r15d
jle 0x180287809
mov rbp, r15
nop dword [rax + rax]
mov r8, rsi
lea rdx, [rsp + 0x30]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
sub rbx, rsi
sub rbp, 1
jne 0x1802877f0
sub rdi, rsi
inc r14d
cmp r14d, dword [r12]
jb 0x1802877d0
mov rsi, r12
jmp 0x180287b0f
shr rdi, 1
and r9d, 1
shr rbx, 1
add rdi, rdx
add rbx, rdx
and r8d, 1
bt r12d, 0x10
jae 0x180287859
mov ebp, 4
lea r11d, [r9*4]
xor r14d, r14d
lea r10d, [r8*4]
mov r9d, r14d
lea r12d, [rbp - 8]
jmp 0x18028787f
mov r10d, 1
mov r11d, r10d
sub r10d, r8d
sub r11d, r9d
shl r10d, 2
shl r11d, 2
mov r9d, 4
xor r14d, r14d
mov r12d, r9d
mov ebp, r14d
test r13d, r13d
je 0x180287b0f
nop dword [rax + rax]
movzx r8d, byte [rdi]
movzx ecx, r11b
shr r8b, cl
mov r13, rdi
and r8b, 0xf
test r15d, r15d
jle 0x1802878f3
mov rsi, r15
nop word [rax + rax]
movzx eax, r8b
mov ecx, 4
sub ecx, r10d
mov edx, 0xf0f
sar edx, cl
mov ecx, r10d
and dl, byte [rbx]
shl al, cl
mov ecx, ebp
or dl, al
lea eax, [r12 + r10]
cmp r10d, r9d
mov byte [rbx], dl
cmovne ecx, eax
lea rax, [rbx - 1]
cmovne rax, rbx
mov r10d, ecx
mov rbx, rax
sub rsi, 1
jne 0x1802878b0
mov rsi, qword [rsp + 0x20]
inc r14d
lea eax, [r11 + r12]
dec rdi
cmp r11d, r9d
mov r11d, ebp
cmovne rdi, r13
cmovne r11d, eax
cmp r14d, dword [rsi]
jb 0x180287890
jmp 0x180287b0f
shr rdi, 2
and r9d, 3
shr rbx, 2
add rdi, rdx
add rbx, rdx
and r8d, 3
bt r12d, 0x10
jae 0x18028794b
mov ebp, 6
lea r11d, [r9 + r9]
xor r14d, r14d
lea r10d, [r8 + r8]
mov r9d, r14d
lea r12d, [rbp - 8]
jmp 0x18028796e
mov r10d, 3
mov r11d, r10d
sub r10d, r8d
sub r11d, r9d
add r10d, r10d
add r11d, r11d
xor r14d, r14d
mov ebp, r14d
lea r9d, [r14 + 6]
lea r12d, [r14 + 2]
test r13d, r13d
je 0x180287b0f
nop word [rax + rax]
movzx r8d, byte [rdi]
movzx ecx, r11b
shr r8b, cl
mov r13, rdi
and r8b, 3
test r15d, r15d
jle 0x1802879e3
mov rsi, r15
nop word [rax + rax]
movzx eax, r8b
mov ecx, 6
sub ecx, r10d
mov edx, 0x3f3f
sar edx, cl
mov ecx, r10d
and dl, byte [rbx]
shl al, cl
mov ecx, ebp
or dl, al
lea eax, [r10 + r12]
cmp r10d, r9d
mov byte [rbx], dl
cmovne ecx, eax
lea rax, [rbx - 1]
cmovne rax, rbx
mov r10d, ecx
mov rbx, rax
sub rsi, 1
jne 0x1802879a0
mov rsi, qword [rsp + 0x20]
inc r14d
lea eax, [r11 + r12]
dec rdi
cmp r11d, r9d
mov r11d, ebp
cmovne rdi, r13
cmovne r11d, eax
cmp r14d, dword [rsi]
jb 0x180287980
jmp 0x180287b0f
and r12d, 0x10000
shr rdi, 3
and r9d, 7
shr rbx, 3
and r8d, 7
mov dword [rsp + 0x28], r12d
mov ecx, dword [rsp + 0x28]
add rdi, rdx
add rbx, rdx
mov eax, r12d
test r12d, r12d
mov edx, 7
mov ebp, 0xffffffff
mov r10d, 1
cmove ebp, r10d
xor r14d, r14d
test r12d, r12d
mov r11d, r14d
cmove r11d, edx
neg eax
mov eax, edx
sbb r12d, r12d
sub eax, r8d
and r12d, edx
test ecx, ecx
cmove r8d, eax
mov eax, edx
sub eax, r9d
test ecx, ecx
cmove r9d, eax
test r13d, r13d
je 0x180287b0f
nop dword [rax]
movzx r10d, byte [rdi]
movzx ecx, r9b
shr r10b, cl
mov r13, rdi
and r10b, 1
test r15d, r15d
jle 0x180287ae7
mov esi, r15d
mov r15d, 7
movzx eax, r10b
mov ecx, r15d
sub ecx, r8d
mov edx, 0x7f7f
sar edx, cl
mov ecx, r8d
and dl, byte [rbx]
shl al, cl
mov ecx, r12d
or dl, al
lea eax, [r8 + rbp]
cmp r8d, r11d
mov byte [rbx], dl
cmovne ecx, eax
lea rax, [rbx - 1]
cmovne rax, rbx
mov r8d, ecx
mov rbx, rax
sub rsi, 1
jne 0x180287aa0
mov r15d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x20]
inc r14d
lea eax, [r9 + rbp]
dec rdi
cmp r9d, r11d
mov r9d, r12d
cmovne rdi, r13
cmovne r9d, eax
cmp r14d, dword [rsi]
jb 0x180287a80
jmp 0x180287b0f
mov rsi, qword [rsp + 0x20]
movzx eax, byte [rsi + 0x13]
mov ecx, dword [rsp + 0x2c]
mov r15, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov r13, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x98]
mov dword [rsi], ecx
cmp al, 8
jb 0x180287b48
shr rax, 3
imul rax, rcx
jmp 0x180287b54
imul rax, rcx
add rax, 7
shr rax, 3
mov qword [rsi + 8], rax
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1804688c0
add rsp, 0x68
pop r12
pop rsi
ret