Function at 0x606760
Capabilities:
Encrypt data using rc4 prga

Disassembly:
lea r12, [rsp - 0xf8]
cmp r12, qword [r14 + 0x10]
jbe 0x606ab9
sub rsp, 0x178
mov qword [rsp + 0x170], rbp
lea rbp, [rsp + 0x170]
mov qword [rsp + 0x188], rcx
mov qword [rsp + 0x190], rdi
mov dword [rsp + 0x2c], ebx
mov dword [rsp + 0x28], eax
test rcx, rcx
je 0x606865
movabs rdx, 0xafa306e664eb9b24
mov qword [rsp + 0xe6], rdx
movabs rdx, 0x63a9afa306e664eb
mov qword [rsp + 0xe8], rdx
movabs rdx, 0x1241db54cb864d63
mov qword [rsp + 0xf0], rdx
movabs rdx, 0xaaac42be70b696ae
mov qword [rsp + 0xf8], rdx
movabs rdx, 0x4ac77b49400a0a85
mov qword [rsp + 0x100], rdx
movabs rdx, 0xca836b870199ef57
mov qword [rsp + 0xc4], rdx
movabs rdx, 0x11dbca836b870199
mov qword [rsp + 0xc6], rdx
movabs rdx, 0x7733af27ebbc3f0c
mov qword [rsp + 0xce], rdx
movabs rdx, 0xce8962fa3996fbcf
mov qword [rsp + 0xd6], rdx
movabs rdx, 0x3ce25b72362f2abe
mov qword [rsp + 0xde], rdx
xor edx, edx
jmp 0x6069c2
movabs rdx, 0xeab68d90a1410200
mov qword [rsp + 0x66], rdx
movabs rdx, 0x6fbdaa626813b7c7
mov qword [rsp + 0x6e], rdx
movabs rdx, 0x3a8e770d3e6f6fbd
mov qword [rsp + 0x74], rdx
movabs rdx, 0x1d9b0c8e3aa9e446
mov qword [rsp + 0x7c], rdx
movabs rdx, 0x7b6ae0d1c4317273
mov qword [rsp + 0x48], rdx
movabs rdx, 0x5b676d80a5cbbab
mov qword [rsp + 0x50], rdx
movabs rdx, 0xf92f654270305b6
mov qword [rsp + 0x56], rdx
movabs rdx, 0x598a14ad2a7c3cfe
mov qword [rsp + 0x5e], rdx
xor ecx, ecx
nop
jmp 0x6068f5
movzx edx, byte [rsp + rcx + 0x66]
movzx esi, byte [rsp + rcx + 0x48]
add edx, esi
mov byte [rsp + rcx + 0x48], dl
inc rcx
cmp rcx, 0x1e
jl 0x6068e2
lea rax, [rsp + 0x84]
lea rbx, [rsp + 0x48]
mov ecx, 0x1e
call fcn.00446000
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x30], rbx
movups xmmword [rsp + 0x120], xmm15
movups xmmword [rsp + 0x130], xmm15
mov eax, dword [rsp + 0x28]
call fcn.00409440
lea rdx, [0x0064e040]
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0x128], rax
mov eax, dword [rsp + 0x2c]
call fcn.00409440
lea rdx, [0x006559e0]
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x30]
lea rcx, [rsp + 0x120]
mov edi, 2
mov rsi, rdi
call fcn.00522980
mov rbp, qword [rsp + 0x170]
add rsp, 0x178
ret
movzx esi, byte [rsp + rdx + 0xe6]
movzx r8d, byte [rsp + rdx + 0xc4]
xor r8d, esi
mov byte [rsp + rdx + 0xc4], r8b
inc rdx
cmp rdx, 0x22
jl 0x6069a3
mov qword [rsp + 0x118], rdi
mov qword [rsp + 0x40], rcx
lea rax, [rsp + 0xa4]
lea rbx, [rsp + 0xc4]
mov ecx, 0x22
call fcn.00446000
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x38], rbx
movups xmmword [rsp + 0x140], xmm15
movups xmmword [rsp + 0x150], xmm15
movups xmmword [rsp + 0x160], xmm15
mov eax, dword [rsp + 0x28]
nop dword [rax + rax]
call fcn.00409440
lea rdx, [0x0064e040]
mov qword [rsp + 0x140], rdx
mov qword [rsp + 0x148], rax
mov eax, dword [rsp + 0x2c]
call fcn.00409440
lea rdx, [0x006559e0]
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x158], rax
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x606a6c
mov rcx, qword [rdx + 8]
jmp 0x606a6f
mov rcx, rdx
mov qword [rsp + 0x160], rcx
mov rdx, qword [rsp + 0x118]
mov qword [rsp + 0x168], rdx
mov rax, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x38]
lea rcx, [rsp + 0x140]
mov edi, 3
mov rsi, rdi
call fcn.00522980
mov rbp, qword [rsp + 0x170]
add rsp, 0x178
ret
mov dword [rsp + 8], eax
mov dword [rsp + 0xc], ebx
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rdi
call fcn.00455860
mov eax, dword [rsp + 8]
mov ebx, dword [rsp + 0xc]
mov rcx, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
jmp fcn.00606760