Function at 0x180006a60
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], r9
mov qword [r11 + 0x18], r8
mov qword [r11 + 8], rcx
push r12
sub rsp, 0x60
mov r12, rdx
movabs rax, 0xcccccccccccccccd
mul rdx
mov r10, r12
shr rdx, 2
lea rax, [rdx + rdx*4]
sub r10, rax
lea rax, [r10 + 3]
mov qword [rsp + 8], rax
cmp r9, rax
jae 0x18000705d
mov qword [r11 - 0x10], rbx
movzx eax, r12b
mov qword [r11 - 0x18], rbp
and al, 3
mov qword [r11 - 0x20], rsi
movzx ecx, r8b
mov qword [r11 - 0x28], rdi
and cl, 0xf
mov qword [r11 - 0x30], r13
add cl, al
mov rax, qword [rsp + 8]
movabs rsi, 0x101010101010101
mov qword [r11 - 0x38], r14
mov qword [r11 - 0x40], r15
movabs r11, 0x4e5e0a72f0539783
movzx ebp, cl
movabs r15, 0xe38e38e38e38e38f
mov r13d, ebp
imul r13, r12
mov qword [rsp + 0x10], r13
mov r14, r8
xor edi, edi
xor r14, r9
test r13, r13
je 0x180007026
xor r8d, r8d
xor r9d, r9d
mov qword [rsp], r8
mov qword [rsp + 0x78], r9
nop dword [rax]
nop word [rax + rax]
xor edx, edx
mov rax, rdi
imul rax, rdi
mov rcx, rbp
sub rcx, rax
mov rax, r14
div rbp
cmp rdx, rcx
jae 0x180006e91
xor edx, edx
mov rax, r14
and eax, 3
mov rsi, rdi
imul rax, rbp
and esi, 7
xor bl, bl
add rax, r14
imul rsi, r12
add rsi, rax
mov rax, rsi
div rbp
mov r10, rax
mov rax, r11
xor r10, rsi
mov r9, r10
shr r9, 0x21
xor r10, r9
mov rcx, r10
mov r11, r10
imul rcx, r10
mul rcx
mov r8, rcx
sub r8, rdx
shr r8, 1
add r8, rdx
shr r8, 5
imul rax, r8, 0x31
mov r8, r10
sub rcx, rax
shr r8, 0x1f
shr r11, cl
mov rax, r10
shl rax, 7
or r11, r9
xor r8, rax
movzx ecx, r11b
imul r11, r10
and cl, 0x1f
mov rax, r10
shl rax, cl
or r8, rax
xor r11, r8
movzx ecx, r8b
mov rax, r11
shr rax, 0x21
xor r11, rax
mov rax, r15
mul r8
mov r9, r11
shr rdx, 4
movzx eax, dl
shl r9, 0x33
shl al, 3
or r9, 0x28000200
add dl, al
mov eax, 0x10
add dl, dl
sub cl, dl
shl eax, cl
movsxd r10, eax
lea rax, [r11 + r11*4]
shl rax, 0x13
bts r10, 0xc
or r10, rax
mov rax, r15
mul r11
shr rdx, 3
lea rcx, [rdx + rdx*8]
cmp r11, rcx
je 0x180006ca7
mov r8, r9
bts r8, 0xc
nop
imul r11, r10
inc bl
mov rcx, r11
shr rcx, 0x21
xor rcx, r11
imul rcx, r9
mov rax, rcx
shr rax, 0x21
xor rax, r8
xor rax, rcx
lea rcx, [rax + rax*4]
shl rcx, 3
xor rcx, 0x338
mov rax, rcx
or rax, 0x280
xor rax, rcx
xor rax, 0x1033
lea r11, [rax + rax*4]
mov rax, r15
shl r11, 3
mul r11
mov rcx, r11
shr rdx, 3
lea rax, [rdx + rdx*8]
sub rcx, rax
movsx rax, bl
cmp rax, rcx
jb 0x180006c40
mov r8, qword [rsp + 0x78]
lea r15, [rdi + 1]
shr r8, 0x21
movabs rax, 0x101010101010101
or r11, rax
mov r9, r8
xor r9, qword [rsp + 0x78]
xor r11, rsi
mov rcx, r9
mov r10, r9
imul rcx, r9
imul r11, r15
movabs rax, 0x4e5e0a72f0539783
xor bl, bl
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
imul rax, rax, 0x31
sub rcx, rax
mov rax, r9
shl rax, 7
shr r10, cl
or r10, r8
mov r8, r9
movzx ecx, r10b
shr r8, 0x1f
xor r8, rax
and cl, 0x1f
imul r10, r9
mov rax, r9
shl rax, cl
or r8, rax
xor r10, r8
movzx ecx, r8b
mov rax, r10
shr rax, 0x21
xor r10, rax
movabs rax, 0xe38e38e38e38e38f
mul r8
mov r9, r10
shr rdx, 4
movzx eax, dl
shl r9, 0x33
shl al, 3
or r9, 0x28000200
add dl, al
mov eax, 0x10
add dl, dl
sub cl, dl
shl eax, cl
movsxd rsi, eax
lea rax, [r10 + r10*4]
shl rax, 0x13
bts rsi, 0xc
or rsi, rax
movabs rax, 0xe38e38e38e38e38f
mul r10
shr rdx, 3
lea rcx, [rdx + rdx*8]
cmp r10, rcx
je 0x180006e2c
mov r8, r9
movabs r13, 0xe38e38e38e38e38f
bts r8, 0xc
nop dword [rax]
nop word [rax + rax]
imul r10, rsi
inc bl
mov rcx, r10
shr rcx, 0x21
xor rcx, r10
imul rcx, r9
mov rax, rcx
shr rax, 0x21
xor rax, r8
xor rax, rcx
lea rcx, [rax + rax*4]
shl rcx, 3
xor rcx, 0x338
mov rax, rcx
or rax, 0x280
xor rax, rcx
xor rax, 0x1033
lea r10, [rax + rax*4]
mov rax, r13
shl r10, 3
mul r10
mov rcx, r10
shr rdx, 3
lea rax, [rdx + rdx*8]
sub rcx, rax
movsx rax, bl
cmp rax, rcx
jb 0x180006dc0
mov r13, qword [rsp + 0x10]
mov r8, qword [rsp + 0x70]
xor edx, edx
mov r9, qword [rsp + 0x78]
mov rax, rdi
div r12
mov rax, rdi
or r10b, 1
add r8, rdx
movabs rsi, 0x101010101010101
xor edx, edx
div rbp
movzx eax, r10b
movzx ecx, dl
imul ecx, eax
movzx eax, r11b
movzx edx, cl
imul edx, eax
movzx eax, dil
mov rdi, r15
movabs r15, 0xe38e38e38e38e38f
movzx ecx, dl
imul ecx, eax
and cl, 0x1f
shr r11, cl
xor byte [r8], r11b
mov r8, qword [rsp]
jmp 0x180006e94
inc rdi
add r8, r12
add r9, rbp
mov qword [rsp + 0x78], r9
movabs rax, 0x4e5e0a72f0539783
mov r9, r8
mov qword [rsp], r8
shr r9, 0x21
xor r11b, r11b
mov r10, r9
xor r10, r8
mov rcx, r10
mov r8, r10
imul rcx, r10
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
imul rax, rax, 0x31
sub rcx, rax
mov rax, r10
shl rax, 7
shr r8, cl
or r8, r9
mov r9, r10
movzx ecx, r8b
shr r9, 0x1f
xor r9, rax
and cl, 0x1f
imul r8, r10
mov rax, r10
shl rax, cl
or r9, rax
xor r8, r9
movzx ecx, r9b
mov rax, r8
shr rax, 0x21
xor r8, rax
mov rax, r15
mul r9
mov r10, r8
shr rdx, 4
movzx eax, dl
shl r10, 0x33
shl al, 3
or r10, 0x28000200
add dl, al
mov eax, 0x10
add dl, dl
sub cl, dl
shl eax, cl
movsxd rbx, eax
lea rax, [r8 + r8*4]
shl rax, 0x13
bts rbx, 0xc
or rbx, rax
mov rax, r15
mul r8
shr rdx, 3
lea rcx, [rdx + rdx*8]
cmp r8, rcx
je 0x180006fe8
mov r9, r10
bts r9, 0xc
nop word [rax + rax]
imul r8, rbx
inc r11b
mov rcx, r8
shr rcx, 0x21
xor rcx, r8
imul rcx, r10
mov rax, rcx
shr rax, 0x21
xor rax, r9
xor rax, rcx
lea rcx, [rax + rax*4]
shl rcx, 3
xor rcx, 0x338
mov rax, rcx
or rax, 0x280
xor rax, rcx
xor rax, 0x1033
lea r8, [rax + rax*4]
mov rax, r15
shl r8, 3
mul r8
mov rcx, r8
shr rdx, 3
lea rax, [rdx + rdx*8]
sub rcx, rax
movsx rax, r11b
cmp rax, rcx
jb 0x180006f80
mov r9, qword [rsp + 0x78]
or r8, rsi
imul r8, rbp
movabs r11, 0x4e5e0a72f0539783
xor r8, rdi
xor r14, r8
mov r8, qword [rsp]
cmp rdi, r13
jb 0x180006b30
mov r9, qword [rsp + 0x88]
mov rax, qword [rsp + 8]
mov r8, qword [rsp + 0x80]
inc r9
mov qword [rsp + 0x88], r9
cmp r9, rax
jb 0x180006b02
mov r15, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
mov r13, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
add rsp, 0x60
pop r12
ret