Function at 0x180081f00
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov r8, qword [rcx + 0x10]
cmovns r10d, r13d
lea r10, [0x180000000]
bts ax, r9w
mov qword [rcx + 8], r8
mov r9, rcx
rcr cl, cl
shl ah, 0x3d
xor ch, 0x15
movzx ecx, byte [r8]
sal al, cl
sbb al, 0x9f
test ecx, 0x58eb7c35
and ecx, 0xf
movsx rax, byte [rcx + r10 + 0x6c8a0]
stc
mov cl, byte [rcx + r10 + 0x6c8b0]
test spl, r12b
cmp r10b, dl
sub r8, rax
bt ax, 0x8d
mov eax, dword [r8 - 4]
mov qword [r9 + 8], r8
shr eax, cl
ror cl, 0x35
or cx, bp
mov cl, bl
mov dword [r9 + 0x18], eax
xchg rcx, rax
movzx ecx, byte [r8]
and ecx, 0xf
shl ah, 0x47
movzx eax, r8w
movsx rax, byte [rcx + r10 + 0x6c8a0]
test esi, 0x46a1ce1
clc
mov cl, byte [rcx + r10 + 0x6c8b0]
test di, 0x3816
cmc
sub r8, rax
rol ah, cl
and eax, 0x74153f10
rol eax, 0x21
mov eax, dword [r8 - 4]
cmp r14b, spl
jmp 0x1800878c6
mov dword [r9 + 0x24], ecx
jmp 0x180085934
mov cl, byte [rcx + r10 + 0x6c8b0]
sub r8, rax
mov eax, dword [r8 - 4]
cmp r15b, 0xf3
cmp dil, r15b
test r11b, dl
shr eax, cl
cmp dword [rdx + 8], 0
cmovp cx, r11w
mov qword [r9 + 8], r8
movsxd rcx, ebp
movzx ecx, si
mov dword [r9 + 0x20], eax
lea rax, [r8 + 4]
mov ecx, dword [r8]
jmp 0x18008812b
je 0x18008849e
mov r8d, dword [rdx + 8]
cdq
mov rdx, qword [r9 + 8]
movzx ecx, byte [rdx]
add al, 0x55
cbw
and ecx, 0xf
shr rax, 0x89
movsx rax, byte [rcx + r10 + 0x6c8a0]
test r12d, 0x3c5d5f95
test esi, edx
stc
mov cl, byte [rcx + r10 + 0x6c8b0]
test di, 0x55c8
sub rdx, rax
bt ax, r10w
movsx ax, bh
mov eax, dword [rdx - 4]
cmc
stc
mov qword [r9 + 8], rdx
clc
shr eax, cl
inc ecx
cmp bx, 0x63d1
mov dword [r9 + 0x18], eax
sar cx, cl
movzx ecx, byte [rdx]
sub ax, 0x59d2
and ax, cx
and ecx, 0xf
sbb ax, 0x2d6e
movsx rax, byte [rcx + r10 + 0x6c8a0]
clc
cmc
mov cl, byte [rcx + r10 + 0x6c8b0]
clc
test r14w, 0x3cad
sub rdx, rax
xor al, spl
mov eax, dword [rdx - 4]
test r9b, 1
mov qword [r9 + 8], rdx
test bx, 0x276d
cmp al, dil
cmp si, 0x6fff
shr eax, cl
mov dword [r9 + 0x1c], eax
movzx ecx, byte [rdx]
bts rax, rbx
btr ax, r9w
sub eax, 0x5dd572e2
and ecx, 0xf
movsx rax, byte [rcx + r10 + 0x6c8a0]
cmp bl, r10b
mov cl, byte [rcx + r10 + 0x6c8b0]
cmp r10, rcx
sub rdx, rax
xchg al, ah
mov eax, dword [rdx - 4]
test bpl, r13b
stc
mov qword [r9 + 8], rdx
jmp 0x180087e7e
sub rdx, rax
and al, spl
mov eax, dword [rdx - 4]
shr eax, cl
btr cx, r10w
test cx, 0x655e
or cl, r14b
mov qword [r9 + 8], rdx
btr cx, 0x5d
mov dword [r9 + 0x1c], eax
movzx ecx, byte [rdx]
test dh, dl
cmp r11b, 0x3b
and ecx, 0xf
movsx rax, byte [rcx + r10 + 0x6c8a0]
stc
mov cl, byte [rcx + r10 + 0x6c8b0]
sub rdx, rax
add ax, r15w
sbb rax, 0x4573741d
btc rax, r12
mov eax, dword [rdx - 4]
test r8w, 0x275d
shr eax, cl
dec cx
shrd cx, bp, 0x45
cmc
mov dword [r9 + 0x20], eax
ror ax, cl
dec ch
lea rax, [rdx + 4]
cmove ecx, esp
mov qword [r9 + 8], rdx
movsx ecx, ax
bsr ecx, r14d
mov ecx, dword [rdx]
clc
jmp 0x180088df8
mov qword [r9 + 8], r8
shr eax, cl
shl cl, 0xf7
movsxd rcx, r12d
mov dword [r9 + 0x1c], eax
or ah, dl
movzx ecx, byte [r8]
rol al, 0xdc
and ecx, 0xf
and ah, 0xc5
movsx rax, byte [rcx + r10 + 0x6c8a0]
jmp 0x180082d3c
shr eax, cl
mov cl, 0x9b
inc cx
sub cx, di
mov dword [r9 + 0x20], eax
and ah, 0x38
mov eax, dword [rdx]
add rdx, 4
or cl, 0xd8
sbb cx, 0x48da
bt ecx, 0xf5
mov dword [r9 + 0x24], eax
rol ax, cl
and al, 0x89
mov qword [r9 + 8], rdx
cbw
bsr ax, sp
movzx ecx, byte [rdx]
sal ah, 0x60
bts ax, sp
and ecx, 0xf
movsx rax, byte [rcx + r10 + 0x6c8a0]
test r8b, 0x5d
mov cl, byte [rcx + r10 + 0x6c8b0]
sub rdx, rax
cmp bl, sil
clc
test r14d, ebp
mov eax, dword [rdx - 4]
cmc
clc
stc
shr eax, cl
rcr cx, cl
movsx ecx, r8w
add ecx, esp
mov qword [r9 + 8], rdx
add cl, r8b
bts cx, r14w
cmc
mov dword [r9 + 0x18], eax
movzx ecx, byte [rdx]
and ecx, 0xf
sub al, 0xcf
movsx eax, bx
movsx rax, byte [rcx + r10 + 0x6c8a0]
cmp r8, rcx
test dil, cl
mov cl, byte [rcx + r10 + 0x6c8b0]
jmp 0x1800867c4
mov qword [r9 + 8], rax
jmp 0x180082a69
jne 0x18008593f
ret
mov qword [r9 + 8], rax
jmp 0x1800893b0
mov dword [r9 + 0x24], ecx
test bpl, r8b
sub r8, 1
jmp 0x180088498