Function at 0x18027e270
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
xor edi, edi
lea r9, [rdx + 0x94]
mov ecx, edi
mov rbx, rdx
nop dword [rax + rax]
movzx eax, byte [r9 + rcx]
test al, 0xdf
je 0x18027e2a3
sub al, 0x30
cmp al, 7
ja 0x18027e6aa
inc rcx
cmp rcx, 8
jb 0x18027e290
movzx ecx, byte [r9]
test cl, cl
jns 0x18027e332
movzx r10d, cl
and r10b, 0x40
movzx eax, r10b
neg al
movzx eax, cl
sbb rdx, rdx
and al, 0x7f
or cl, 0x80
movzx eax, al
test r10b, r10b
movzx r8d, cl
cmove r8d, eax
movzx eax, r10b
neg al
sbb cl, cl
xor cl, r8b
jge 0x18027e304
test r10b, r10b
mov rdx, rdi
movabs rax, 0x7fffffffffffffff
setne dl
add rdx, rax
jmp 0x18027e345
mov ecx, 7
nop dword [rax]
shl rdx, 8
lea r9, [r9 + 1]
movzx eax, r8b
movzx r8d, byte [r9]
or rdx, rax
sub rcx, 1
jne 0x18027e310
shl rdx, 8
or rdx, r8
jmp 0x18027e345
mov edx, 8
mov rcx, r9
mov r8d, edx
call fcn.180280e40
mov rdx, rax
mov rcx, rdi
xorps xmm4, xmm4
xorps xmm3, xmm3
xorps xmm2, xmm2
nop dword [rax]
nop word [rax + rax]
movd xmm1, dword [rcx + rbx]
xorps xmm0, xmm0
punpcklbw xmm1, xmm0
punpcklwd xmm1, xmm0
paddd xmm1, xmm3
movdqa xmm3, xmm1
movd xmm1, dword [rcx + rbx + 4]
punpcklbw xmm1, xmm0
add rcx, 8
punpcklwd xmm1, xmm0
paddd xmm1, xmm2
movdqa xmm2, xmm1
cmp rcx, 0x90
jb 0x18027e360
paddd xmm2, xmm3
mov r8d, edi
movdqa xmm0, xmm2
mov r9d, edi
psrldq xmm0, 8
paddd xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 4
paddd xmm2, xmm0
movd r10d, xmm2
cmp rcx, 0x94
jae 0x18027e420
mov eax, 0x94
sub rax, rcx
cmp rax, 2
jb 0x18027e407
nop dword [rax + rax]
movzx eax, byte [rcx + rbx]
add r8d, eax
movzx eax, byte [rcx + rbx + 1]
add r9d, eax
add rcx, 2
mov rax, rcx
cmp rcx, 0x93
jb 0x18027e3e0
cmp rax, 0x94
jae 0x18027e40e
movzx eax, byte [rcx + rbx]
add r10d, eax
lea eax, [r9 + r8]
add r10d, eax
nop word [rax + rax]
mov ecx, 0x9c
add r10d, 0x100
mov r8d, ecx
movdqa xmm3, xmm4
movdqa xmm2, xmm4
nop word [rax + rax]
movd xmm1, dword [r8 + rbx]
xorps xmm0, xmm0
punpcklbw xmm1, xmm0
punpcklwd xmm1, xmm0
paddd xmm1, xmm3
movdqa xmm3, xmm1
movd xmm1, dword [r8 + rbx + 4]
punpcklbw xmm1, xmm0
add r8, 8
punpcklwd xmm1, xmm0
paddd xmm1, xmm2
movdqa xmm2, xmm1
cmp r8, 0x1fc
jb 0x18027e440
paddd xmm2, xmm3
mov r9d, edi
movdqa xmm0, xmm2
mov r11d, edi
psrldq xmm0, 8
paddd xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 4
paddd xmm2, xmm0
movd eax, xmm2
add r10d, eax
cmp r8, 0x200
jae 0x18027e4f8
mov eax, 0x200
sub rax, r8
cmp rax, 2
jb 0x18027e4e9
nop
movzx eax, byte [r8 + rbx]
add r9d, eax
movzx eax, byte [r8 + rbx + 1]
add r11d, eax
add r8, 2
mov rax, r8
cmp r8, 0x1ff
jb 0x18027e4c0
cmp rax, 0x200
jae 0x18027e4f1
movzx eax, byte [r8 + rbx]
add r10d, eax
lea eax, [r11 + r9]
add r10d, eax
cmp edx, r10d
je 0x18027e6b7
mov r8, rdi
movdqa xmm2, xmm4
movdqa xmm1, xmm4
nop dword [rax]
movd xmm0, dword [r8 + rbx]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
paddd xmm0, xmm2
movdqa xmm2, xmm0
movd xmm0, dword [r8 + rbx + 4]
punpcklbw xmm0, xmm0
add r8, 8
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
paddd xmm0, xmm1
movdqa xmm1, xmm0
cmp r8, 0x90
jb 0x18027e510
paddd xmm1, xmm2
mov r10d, edi
movdqa xmm0, xmm1
mov r11d, edi
psrldq xmm0, 8
paddd xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd r9d, xmm1
cmp r8, 0x94
jae 0x18027e5e0
mov eax, 0x94
sub rax, r8
cmp rax, 2
jb 0x18027e5c9
nop dword [rax]
nop dword [rax + rax]
movsx eax, byte [r8 + rbx]
add r10d, eax
movsx eax, byte [r8 + rbx + 1]
add r11d, eax
add r8, 2
mov rax, r8
cmp r8, 0x93
jb 0x18027e5a0
cmp rax, 0x94
jae 0x18027e5d1
movsx eax, byte [r8 + rbx]
add r9d, eax
lea eax, [r11 + r10]
add r9d, eax
nop dword [rax + rax]
add r9d, 0x100
movdqa xmm1, xmm4
nop dword [rax + rax]
movd xmm0, dword [rcx + rbx]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
paddd xmm0, xmm4
movdqa xmm4, xmm0
movd xmm0, dword [rcx + rbx + 4]
punpcklbw xmm0, xmm0
add rcx, 8
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
paddd xmm0, xmm1
movdqa xmm1, xmm0
cmp rcx, 0x1fc
jb 0x18027e5f0
paddd xmm1, xmm4
mov r8d, edi
movdqa xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add r9d, eax
cmp rcx, 0x200
jae 0x18027e6a5
mov eax, 0x200
sub rax, rcx
cmp rax, 2
jb 0x18027e697
movsx eax, byte [rcx + rbx]
add edi, eax
movsx eax, byte [rcx + rbx + 1]
add r8d, eax
add rcx, 2
mov rax, rcx
cmp rcx, 0x1ff
jb 0x18027e671
cmp rax, 0x200
jae 0x18027e69e
movsx eax, byte [rcx + rbx]
add r9d, eax
lea eax, [r8 + rdi]
add r9d, eax
cmp edx, r9d
je 0x18027e6b7
xor eax, eax
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov rbx, qword [rsp + 0x30]
mov eax, 1
add rsp, 0x20
pop rdi
ret