Function at 0x180016f20
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
push rdi
sub rsp, 0xe0
mov rax, qword [0x1801d00c0]
xor rax, rsp
mov qword [rsp + 0xd0], rax
movzx r9d, dl
mov rsi, rcx
mov qword [r11 - 0x20], rcx
xor edi, edi
mov dword [rsp + 0x40], edi
cmp qword [rcx + 0x18], 0xf
jbe 0x180016f6d
mov r8, qword [rcx]
mov rdx, r8
add r8, qword [rcx + 0x10]
jmp 0x180016f77
mov rdx, rsi
mov r8, qword [rcx + 0x10]
add r8, rsi
cmp rdx, r8
je 0x180016f90
nop dword [rax]
cmp byte [rdx], 0x2e
jne 0x180016f88
mov byte [rdx], 0x2f
inc rdx
cmp rdx, r8
jne 0x180016f80
mov rcx, qword [rcx + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
test r9b, r9b
je 0x180017094
cmp rax, 2
jb 0x1800171fd
mov rax, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x180016fc1
mov rax, qword [rsi]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 2
lea r9, [0x1801250ec]
lea rcx, [rsp + 0xa8]
call fcn.18001e3a0
nop
mov ebp, 0x11
mov dword [rsp + 0x40], ebp
lea r8d, [rbp - 0x10]
lea rdx, [0x1801250e8]
lea rcx, [rsp + 0xa8]
call fcn.180008b30
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x78], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or ebp, 0x20
or ebp, 2
lea rdx, [rsp + 0x68]
movq rcx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0xf
cmova rdx, rcx
mov ebx, 0xffffffff
movq r9, xmm1
test r9, r9
je 0x18001716f
lea r8, [0x1801269e0]
nop word [rax + rax]
movsx ecx, byte [rdx]
mov eax, ebx
xor rcx, rax
movzx eax, cl
shr ebx, 8
xor ebx, dword [r8 + rax*4]
lea rdx, [rdx + 1]
inc edi
mov eax, edi
cmp rax, r9
jb 0x180017070
jmp 0x18001716f
cmp rax, 1
jb 0x1800171f7
mov rax, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x1800170ab
mov rax, qword [rsi]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 1
lea r9, [0x1801250f0]
lea rcx, [rsp + 0x88]
call fcn.18001e3a0
nop
mov ebp, 0x44
mov dword [rsp + 0x40], ebp
lea r8d, [rbp - 0x43]
lea rdx, [0x1801250e8]
lea rcx, [rsp + 0x88]
call fcn.180008b30
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x58], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or ebp, 0x88
lea rdx, [rsp + 0x48]
movq rcx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0xf
cmova rdx, rcx
mov ebx, 0xffffffff
movq r9, xmm1
test r9, r9
je 0x18001716f
lea r8, [0x1801269e0]
movsx ecx, byte [rdx]
mov eax, ebx
xor rcx, rax
movzx eax, cl
shr ebx, 8
xor ebx, dword [r8 + rax*4]
lea rdx, [rdx + 1]
inc edi
mov eax, edi
cmp rax, r9
jb 0x180017150
not ebx
test bpl, 8
je 0x180017185
and ebp, 0xfffffff7
lea rcx, [rsp + 0x48]
call fcn.180008ad0
nop
test bpl, 4
je 0x18001719c
and ebp, 0xfffffffb
lea rcx, [rsp + 0x88]
call fcn.180008ad0
nop
test bpl, 2
je 0x1800171b0
and ebp, 0xfffffffd
lea rcx, [rsp + 0x68]
call fcn.180008ad0
nop
test bpl, 1
je 0x1800171c4
lea rcx, [rsp + 0xa8]
call fcn.180008ad0
nop
mov rcx, rsi
call fcn.180008ad0
mov eax, ebx
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.1800ba7d0
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
call fcn.180002810
nop
call fcn.180002810
int3