Function at 0x530070
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
mov rsi, rcx
mov qword [rsp + 0x48], 3
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmm2, xmmword [rdx + 0x20]
movups xmm3, xmmword [rdx + 0x30]
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm1
movups xmmword [rsp + 0x70], xmm2
movups xmmword [rsp + 0x80], xmm3
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rsp + 0x90], xmm0
movups xmm0, xmmword [rdx + 0x50]
movups xmmword [rsp + 0xa0], xmm0
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rsp + 0xb0], xmm0
mov rax, qword [rdx + 0x70]
mov qword [rsp + 0xc0], rax
movzx eax, byte [rsp + 0x58]
mov r12d, 1
mov r13d, 1
cmp al, 7
je 0x530197
lea rdi, [rsi + 0x20]
lea r14, [rsp + 0x21]
movzx ebp, byte [rsp + 0x50]
mov byte [rsp + 0x20], al
movups xmm0, xmmword [rsp + 0x59]
movups xmm1, xmmword [rsp + 0x68]
movups xmmword [r14 + 0xf], xmm1
movups xmmword [r14], xmm0
mov r15, qword [rsi + 0x30]
cmp r15, qword [rsi + 0x20]
jne 0x530135
mov rcx, rdi
call fcn.00586960
lea rbx, [rsi + 0x38]
mov rax, qword [rsi + 0x28]
mov byte [rax + r15], bpl
inc r15
mov qword [rsi + 0x30], r15
mov r15, qword [rsi + 0x48]
cmp r15, qword [rsi + 0x38]
jne 0x530160
mov r13d, 1
mov rcx, rbx
call fcn.0057da60
mov rax, qword [rsi + 0x40]
mov rcx, r15
shl rcx, 5
movups xmm0, xmmword [rsp + 0x20]
movups xmm1, xmmword [rsp + 0x30]
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
inc r15
mov qword [rsi + 0x48], r15
movzx eax, byte [rsp + 0x80]
mov r13d, 2
cmp al, 7
jne 0x5301e2
mov qword [rsp + 0x40], r13
lea rax, [r13*4]
add rax, r13
lea rdi, [rsp + rax*8]
add rdi, 0x58
nop
mov rcx, rdi
call fcn.005303e0
mov rax, r12
xor rax, r13
add rdi, 0x28
inc r12
cmp rax, 3
jne 0x5301b0
mov rax, rsi
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movzx ebp, byte [rsp + 0x78]
mov byte [rsp + 0x20], al
movups xmm0, xmmword [rsp + 0x81]
movups xmm1, xmmword [rsp + 0x90]
movups xmmword [r14 + 0xf], xmm1
movups xmmword [r14], xmm0
mov r12, qword [rsi + 0x30]
cmp r12, qword [rsi + 0x20]
jne 0x53021a
mov rcx, rdi
call fcn.00586960
mov r15, qword [rsi + 0x48]
mov rax, qword [rsi + 0x28]
mov byte [rax + r12], bpl
inc r12
mov qword [rsi + 0x30], r12
cmp r15, qword [rsi + 0x38]
jne 0x53023d
mov r13d, 2
mov rcx, rbx
call fcn.0057da60
mov rax, qword [rsi + 0x40]
mov rcx, r15
shl rcx, 5
movups xmm0, xmmword [rsp + 0x20]
movups xmm1, xmmword [rsp + 0x30]
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
inc r15
mov qword [rsi + 0x48], r15
movzx eax, byte [rsp + 0xa8]
cmp al, 7
je 0x5301cb
movzx ebp, byte [rsp + 0xa0]
mov byte [rsp + 0x20], al
movups xmm0, xmmword [rsp + 0xa9]
movups xmm1, xmmword [rsp + 0xb8]
movups xmmword [r14 + 0xf], xmm1
movups xmmword [r14], xmm0
mov r14, qword [rsi + 0x30]
cmp r14, qword [rsi + 0x20]
jne 0x5302b3
mov r13d, 3
mov rcx, rdi
call fcn.00586960
mov r15, qword [rsi + 0x48]
mov rax, qword [rsi + 0x28]
mov byte [rax + r14], bpl
inc r14
mov qword [rsi + 0x30], r14
cmp r15, qword [rsi + 0x38]
jne 0x5302d6
mov r13d, 3
mov rcx, rbx
call fcn.0057da60
mov rax, qword [rsi + 0x40]
mov rcx, r15
shl rcx, 5
movups xmm0, xmmword [rsp + 0x20]
movups xmm1, xmmword [rsp + 0x30]
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
inc r15
mov qword [rsi + 0x48], r15
jmp 0x5301cb