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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov byte [rax + 0x20], r9b
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0xa0
movsxd r12, dword [rsp + 0xf0]
movzx ebx, r9b
movaps xmmword [rax - 0x38], xmm6
mov rsi, r8
mov rax, rdx
mov rbp, rdx
sub rax, rcx
mov rdi, rcx
cmp rax, 0x738
jl 0x180006e75
movabs r15, 0x4924924924924925
test rsi, rsi
jle 0x180006f49
movzx r9d, bl
mov dword [rsp + 0x20], r12d
mov r8, rbp
lea rcx, [rsp + 0x40]
mov rdx, rdi
call fcn.1800055f0
mov r14, qword [rsp + 0x48]
mov rcx, rsi
sar rcx, 2
mov rax, r15
mov r15, qword [rsp + 0x40]
movzx r9d, bl
sar rsi, 1
add rsi, rcx
mov dword [rsp + 0x20], r12d
mov rcx, rbp
sub rcx, r14
imul rcx
mov rcx, r15
mov r8, rdx
sub rcx, rdi
sar r8, 4
mov rax, r8
shr rax, 0x3f
add r8, rax
movabs rax, 0x4924924924924925
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, r8
mov r8, rsi
jge 0x180006e4b
mov rdx, r15
mov rcx, rdi
call fcn.180006d60
mov rdi, r14
jmp 0x180006e59
mov rdx, rbp
mov rcx, r14
call fcn.180006d60
mov rbp, r15
mov rax, rbp
movabs r15, 0x4924924924924925
sub rax, rdi
cmp rax, 0x738
jge 0x180006db3
cmp rdi, rbp
je 0x180006f28
lea rdx, [rdi + 0x38]
cmp rdx, rbp
je 0x180006f28
nop dword [rax + rax]
movups xmm3, xmmword [rdx]
mov rax, rdx
lea rcx, [rdx - 0x38]
movups xmm4, xmmword [rdx + 0x10]
movups xmm5, xmmword [rdx + 0x20]
movsd xmm6, qword [rdx + 0x30]
movss xmm0, dword [r12 + rdx - 0x38]
movups xmmword [rsp + 0x50], xmm3
movups xmmword [rsp + 0x60], xmm4
movups xmmword [rsp + 0x70], xmm5
movsd qword [rsp + 0x80], xmm6
movss xmm2, dword [rsp + r12 + 0x50]
comiss xmm0, xmm2
jbe 0x180006f0b
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movsd xmm1, qword [rcx + 0x30]
movsd qword [rax + 0x30], xmm1
sub rax, 0x38
cmp rax, rdi
je 0x180006f0b
movss xmm0, dword [r12 + rcx - 0x38]
sub rcx, 0x38
comiss xmm0, xmm2
ja 0x180006ed2
movups xmmword [rax], xmm3
add rdx, 0x38
movups xmmword [rax + 0x10], xmm4
movups xmmword [rax + 0x20], xmm5
movsd qword [rax + 0x30], xmm6
cmp rdx, rbp
jne 0x180006e90
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
mov qword [rsp + 0xd0], r13
mov r11, rbp
sub r11, rdi
mov rax, r15
imul r11
mov r13, rdx
sar r13, 4
mov rax, r13
shr rax, 0x3f
add r13, rax
mov r10, r13
sar r10, 1
test r10, r10
jle 0x180007114
mov rsi, r12
lea rbx, [r13 - 1]
imul r15, r10, 0x38
mov r12, rbx
sar r12, 1
add r15, rdi
movups xmm3, xmmword [r15 - 0x38]
lea r15, [r15 - 0x38]
dec r10
movsd xmm6, qword [r15 + 0x30]
mov r9, r10
movsd qword [rsp + 0x80], xmm6
mov r14, r10
movups xmm4, xmmword [r15 + 0x10]
movups xmm5, xmmword [r15 + 0x20]
movups xmmword [rsp + 0x50], xmm3
movups xmmword [rsp + 0x60], xmm4
movups xmmword [rsp + 0x70], xmm5
cmp r10, r12
jge 0x180007045
mov ebx, 0x70
lea rdx, [r14 + r14]
imul r8, rdx, 0x38
add r8, rdi
movss xmm0, dword [rsi + r8 + 0x38]
comiss xmm0, dword [rsi + r8 + 0x70]
seta cl
movzx r14d, cl
xor r14, 1
inc r14
add r14, rdx
mov edx, 0x38
test cl, cl
cmove rdx, rbx
imul rax, r9, 0x38
movups xmm0, xmmword [rdx + r8]
mov r9, r14
movups xmmword [rax + rdi], xmm0
movups xmm1, xmmword [rdx + r8 + 0x10]
movups xmmword [rax + rdi + 0x10], xmm1
movups xmm0, xmmword [rdx + r8 + 0x20]
movups xmmword [rax + rdi + 0x20], xmm0
movsd xmm1, qword [rdx + r8 + 0x30]
movsd qword [rax + rdi + 0x30], xmm1
cmp r14, r12
jl 0x180006fd5
lea rbx, [r13 - 1]
cmp r9, r12
jne 0x180007084
test r13b, 1
jne 0x180007084
imul rax, r13, 0x38
imul rcx, r9, 0x38
movups xmm0, xmmword [rax + rdi - 0x38]
mov r9, rbx
movups xmmword [rcx + rdi], xmm0
movups xmm1, xmmword [rax + rdi - 0x28]
movups xmmword [rcx + rdi + 0x10], xmm1
movups xmm0, xmmword [rax + rdi - 0x18]
movups xmmword [rcx + rdi + 0x20], xmm0
movsd xmm1, qword [rax + rdi - 8]
movsd qword [rcx + rdi + 0x30], xmm1
cmp r10, r9
jge 0x1800070d9
movss xmm2, dword [rsp + rsi + 0x50]
nop
lea rcx, [r9 - 1]
sar rcx, 1
imul rdx, rcx, 0x38
lea rax, [rdx + rsi]
comiss xmm2, dword [rax + rdi]
jbe 0x1800070d9
movups xmm0, xmmword [rdx + rdi]
imul rax, r9, 0x38
mov r9, rcx
movups xmmword [rax + rdi], xmm0
movups xmm1, xmmword [rdx + rdi + 0x10]
movups xmmword [rax + rdi + 0x10], xmm1
movups xmm0, xmmword [rdx + rdi + 0x20]
movups xmmword [rax + rdi + 0x20], xmm0
movsd xmm1, qword [rdx + rdi + 0x30]
movsd qword [rax + rdi + 0x30], xmm1
cmp r10, rcx
jl 0x180007090
imul rax, r9, 0x38
movups xmmword [rax + rdi], xmm3
movups xmmword [rax + rdi + 0x10], xmm4
movups xmmword [rax + rdi + 0x20], xmm5
movsd qword [rax + rdi + 0x30], xmm6
test r10, r10
jg 0x180006f91
movzx ebx, byte [rsp + 0xe8]
movabs r15, 0x4924924924924925
mov r12d, dword [rsp + 0xf0]
cmp r13, 2
mov r13, qword [rsp + 0xd0]
jl 0x180006f28
lea rsi, [rbp - 0x38]
nop word [rax + rax]
mov rbp, rsi
cmp r11, 0x70
jl 0x1800071b8
movups xmm0, xmmword [rsi]
mov dword [rsp + 0x30], r12d
mov rcx, rsi
movups xmm1, xmmword [rsi + 0x10]
sub rcx, rdi
mov rax, r15
movups xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x28], r12d
lea r9, [rsp + 0x50]
movups xmm0, xmmword [rsi + 0x20]
mov byte [rsp + 0x20], bl
movups xmmword [rsp + 0x60], xmm1
movsd xmm1, qword [rsi + 0x30]
movups xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [rdi]
imul rcx
movups xmmword [rsi], xmm0
movsd qword [rsp + 0x80], xmm1
movups xmm1, xmmword [rdi + 0x10]
mov rcx, rdi
sar rdx, 4
movups xmmword [rsi + 0x10], xmm1
mov r8, rdx
movups xmm0, xmmword [rdi + 0x20]
shr r8, 0x3f
add r8, rdx
xor edx, edx
movups xmmword [rsi + 0x20], xmm0
movsd xmm1, qword [rdi + 0x30]
movsd qword [rsi + 0x30], xmm1
call fcn.180006380
mov r11, rbp
sub rsi, 0x38
sub r11, rdi
cmp r11, 0x70
jge 0x180007130
jmp 0x180006f28