Function at 0x180007680
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x38
mov eax, dword [rsp + 0x58]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [rsp + 8], eax
mov dword [rsp], 0
jmp 0x1800076be
mov eax, dword [rsp]
add eax, 1
mov dword [rsp], eax
mov eax, dword [rsp + 0x60]
cmp dword [rsp], eax
jge 0x18000771b
mov dword [rsp + 4], 0
jmp 0x1800076dc
mov eax, dword [rsp + 4]
add eax, 1
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
cmp dword [rsp + 4], eax
jge 0x180007719
mov eax, dword [rsp]
imul eax, dword [rsp + 0x68]
add eax, dword [rsp + 4]
movsxd rcx, eax
mov rax, qword [rsp + 0x48]
movzx edx, byte [rax + rcx]
not edx
mov eax, dword [rsp]
imul eax, dword [rsp + 8]
add eax, dword [rsp + 4]
movsxd rcx, eax
mov rax, qword [rsp + 0x48]
mov byte [rax + rcx], dl
jmp 0x1800076d1
jmp 0x1800076b5
cmp qword [rsp + 0x50], 0
jne 0x18000784d
mov eax, dword [rsp + 0x60]
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x60], eax
mov dword [rsp], 0
jmp 0x180007746
mov eax, dword [rsp]
add eax, 1
mov dword [rsp], eax
mov eax, dword [rsp + 0x60]
cmp dword [rsp], eax
jge 0x180007848
mov dword [rsp + 4], 0
jmp 0x180007768
mov eax, dword [rsp + 4]
add eax, 1
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
cmp dword [rsp + 4], eax
jge 0x180007843
mov eax, dword [rsp]
imul eax, dword [rsp + 8]
add eax, dword [rsp + 4]
movsxd rcx, eax
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + rcx]
mov byte [rsp + 0xd], al
mov ecx, dword [rsp]
mov eax, dword [rsp + 0x60]
add eax, ecx
imul eax, dword [rsp + 8]
add eax, dword [rsp + 4]
movsxd rcx, eax
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + rcx]
mov byte [rsp + 0xc], al
mov eax, dword [rsp]
imul eax, dword [rsp + 8]
add eax, dword [rsp + 4]
movsxd rdx, eax
movzx ecx, byte [rsp + 0xd]
movzx eax, byte [rsp + 0xc]
or ecx, eax
not ecx
mov rax, qword [rsp + 0x48]
movzx edx, byte [rax + rdx]
or edx, ecx
mov eax, dword [rsp]
imul eax, dword [rsp + 8]
add eax, dword [rsp + 4]
movsxd rcx, eax
mov rax, qword [rsp + 0x48]
mov byte [rax + rcx], dl
mov ecx, dword [rsp]
mov eax, dword [rsp + 0x60]
add eax, ecx
imul eax, dword [rsp + 8]
add eax, dword [rsp + 4]
movsxd rdx, eax
movzx ecx, byte [rsp + 0xd]
movzx eax, byte [rsp + 0xc]
or ecx, eax
not ecx
mov rax, qword [rsp + 0x48]
movzx edx, byte [rax + rdx]
or edx, ecx
mov ecx, dword [rsp]
mov eax, dword [rsp + 0x60]
add eax, ecx
imul eax, dword [rsp + 8]
add eax, dword [rsp + 4]
movsxd rcx, eax
mov rax, qword [rsp + 0x48]
mov byte [rax + rcx], dl
jmp 0x18000775d
jmp 0x18000773d
jmp 0x180007a29
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x20]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [rsp + 0x10], eax
mov eax, dword [rsp + 0x58]
imul eax, dword [rsp + 0x10]
mov dword [rsp + 0x1c], eax
movsxd rax, dword [rsp + 0x1c]
xor edx, edx
mov ecx, 4
div rcx
test rdx, rdx
je 0x180007891
mov eax, dword [rsp + 0x1c]
add eax, 1
mov dword [rsp + 0x1c], eax
jmp 0x180007870
mov dword [rsp], 0
jmp 0x1800078a3
mov eax, dword [rsp]
add eax, 1
mov dword [rsp], eax
mov eax, dword [rsp + 0x60]
cmp dword [rsp], eax
jge 0x180007a29
mov byte [rsp + 0x14], 0x80
mov dword [rsp + 4], 0
jmp 0x1800078ca
mov eax, dword [rsp + 4]
add eax, 1
mov dword [rsp + 4], eax
mov eax, dword [rsp + 0x58]
cmp dword [rsp + 4], eax
jge 0x180007a24
mov r8d, dword [rsp]
imul r8d, dword [rsp + 8]
mov eax, dword [rsp + 4]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, eax
mov eax, r8d
add eax, ecx
movsxd rcx, eax
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + rcx]
movzx ecx, byte [rsp + 0x14]
and eax, ecx
test eax, eax
jne 0x180007a06
mov dword [rsp + 0x20], 0
jmp 0x180007926
mov eax, dword [rsp + 0x20]
add eax, 1
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x10]
cmp dword [rsp + 0x20], eax
jge 0x180007a06
mov edx, dword [rsp]
imul edx, dword [rsp + 0x1c]
mov eax, dword [rsp + 4]
imul eax, dword [rsp + 0x10]
mov ecx, dword [rsp + 0x20]
add ecx, edx
add eax, ecx
movsxd rcx, eax
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + rcx]
test eax, eax
je 0x180007a01
mov r8d, dword [rsp]
imul r8d, dword [rsp + 8]
mov eax, dword [rsp + 4]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, eax
mov eax, r8d
add eax, ecx
movsxd rdx, eax
movzx ecx, byte [rsp + 0x14]
mov rax, qword [rsp + 0x48]
movzx r8d, byte [rax + rdx]
xor r8d, ecx
mov eax, dword [rsp + 4]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, eax
mov eax, dword [rsp]
imul eax, dword [rsp + 8]
add eax, ecx
movsxd rcx, eax
mov rax, qword [rsp + 0x48]
mov byte [rax + rcx], r8b
mov eax, dword [rsp + 0x20]
mov dword [rsp + 0x18], eax
jmp 0x1800079ce
mov eax, dword [rsp + 0x18]
add eax, 1
mov dword [rsp + 0x18], eax
mov eax, dword [rsp + 0x10]
cmp dword [rsp + 0x18], eax
jge 0x1800079ff
mov edx, dword [rsp]
imul edx, dword [rsp + 0x1c]
mov eax, dword [rsp + 4]
imul eax, dword [rsp + 0x10]
mov ecx, dword [rsp + 0x18]
add ecx, edx
add eax, ecx
movsxd rcx, eax
mov rax, qword [rsp + 0x50]
mov byte [rax + rcx], 0
jmp 0x1800079c3
jmp 0x180007a06
jmp 0x18000791b
movzx eax, byte [rsp + 0x14]
shr al, 1
mov byte [rsp + 0x14], al
movzx eax, byte [rsp + 0x14]
test eax, eax
jne 0x180007a1f
mov byte [rsp + 0x14], 0x80
jmp 0x1800078bf
jmp 0x18000789a
add rsp, 0x38
ret