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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rdi
lea rbp, [0x1401bd370]
mov rdi, r8
mov rbx, rdx
not ecx
test r8, r8
je 0x140073280
nop
test bl, 3
je 0x140073280
movzx edx, byte [rbx]
mov eax, ecx
xor rdx, rax
shr ecx, 8
movzx eax, dl
inc rbx
xor ecx, dword [rbp + rax*4]
sub rdi, 1
jne 0x140073260
cmp rdi, 0x20
jb 0x1400734ea
mov qword [rsp + 0x10], rsi
mov rsi, rdi
shr rsi, 5
imul rax, rsi, 0xffffffffffffffe0
add rdi, rax
nop dword [rax]
mov edx, dword [rbx]
mov r8d, dword [rbx + 4]
mov r10d, dword [rbx + 8]
mov r11d, dword [rbx + 0xc]
mov eax, ecx
xor rdx, rax
mov rax, rdx
shr rax, 0x10
movzx ecx, al
mov rax, rdx
shr rax, 8
mov r9d, dword [rbp + rcx*4 + 0x400]
movzx ecx, al
mov eax, dword [rbp + rcx*4 + 0x800]
xor r9, rax
mov rax, rdx
shr rax, 0x18
mov eax, dword [rbp + rax*4]
xor r9, rax
movzx eax, dl
mov eax, dword [rbp + rax*4 + 0xc00]
xor r9, rax
xor r9, r8
mov rax, r9
shr rax, 0x10
movzx ecx, al
mov rax, r9
shr rax, 8
mov edx, dword [rbp + rcx*4 + 0x400]
movzx ecx, al
mov eax, dword [rbp + rcx*4 + 0x800]
xor rdx, rax
mov rax, r9
shr rax, 0x18
mov eax, dword [rbp + rax*4]
xor rdx, rax
movzx eax, r9b
mov r9d, dword [rbx + 0x10]
mov eax, dword [rbp + rax*4 + 0xc00]
xor rdx, rax
xor rdx, r10
mov r10d, dword [rbx + 0x14]
mov rax, rdx
shr rax, 0x10
movzx ecx, al
mov rax, rdx
shr rax, 8
mov r8d, dword [rbp + rcx*4 + 0x400]
movzx ecx, al
mov eax, dword [rbp + rcx*4 + 0x800]
xor r8, rax
mov rax, rdx
shr rax, 0x18
mov eax, dword [rbp + rax*4]
xor r8, rax
movzx eax, dl
mov eax, dword [rbp + rax*4 + 0xc00]
xor r8, rax
xor r8, r11
mov r11d, dword [rbx + 0x18]
mov rax, r8
shr rax, 0x10
movzx ecx, al
mov rax, r8
shr rax, 8
mov edx, dword [rbp + rcx*4 + 0x400]
movzx ecx, al
mov eax, dword [rbp + rcx*4 + 0x800]
xor rdx, rax
mov rax, r8
shr rax, 0x18
mov eax, dword [rbp + rax*4]
xor rdx, rax
movzx eax, r8b
mov eax, dword [rbp + rax*4 + 0xc00]
xor rdx, rax
xor rdx, r9
mov rax, rdx
shr rax, 0x10
movzx ecx, al
mov r8d, dword [rbp + rcx*4 + 0x400]
mov r9d, dword [rbx + 0x1c]
mov rax, rdx
shr rax, 8
add rbx, 0x20
movzx ecx, al
mov eax, dword [rbp + rcx*4 + 0x800]
xor r8, rax
mov rax, rdx
shr rax, 0x18
mov eax, dword [rbp + rax*4]
xor r8, rax
movzx eax, dl
mov eax, dword [rbp + rax*4 + 0xc00]
xor r8, rax
xor r8, r10
mov rax, r8
shr rax, 0x10
movzx ecx, al
mov rax, r8
shr rax, 8
mov edx, dword [rbp + rcx*4 + 0x400]
movzx ecx, al
mov eax, dword [rbp + rcx*4 + 0x800]
xor rdx, rax
mov rax, r8
shr rax, 0x18
mov eax, dword [rbp + rax*4]
xor rdx, rax
movzx eax, r8b
mov eax, dword [rbp + rax*4 + 0xc00]
xor rdx, rax
xor rdx, r11
mov rax, rdx
shr rax, 0x10
movzx ecx, al
mov rax, rdx
shr rax, 8
mov r8d, dword [rbp + rcx*4 + 0x400]
movzx ecx, al
mov eax, dword [rbp + rcx*4 + 0x800]
xor r8, rax
mov rax, rdx
shr rax, 0x18
mov eax, dword [rbp + rax*4]
xor r8, rax
movzx eax, dl
mov eax, dword [rbp + rax*4 + 0xc00]
xor r8, rax
xor r8, r9
mov rax, r8
shr rax, 0x10
movzx ecx, al
mov rax, r8
shr rax, 8
movzx edx, al
mov rax, r8
shr rax, 0x18
mov ecx, dword [rbp + rcx*4 + 0x400]
xor ecx, dword [rbp + rdx*4 + 0x800]
xor ecx, dword [rbp + rax*4]
movzx eax, r8b
xor ecx, dword [rbp + rax*4 + 0xc00]
sub rsi, 1
jne 0x1400732a0
mov rsi, qword [rsp + 0x10]
cmp rdi, 4
jb 0x14007354a
mov r9, rdi
shr r9, 2
imul rax, r9, 0xfffffffffffffffc
add rdi, rax
nop
mov r8d, dword [rbx]
add rbx, 4
mov eax, ecx
xor r8, rax
mov rax, r8
shr rax, 0x10
movzx ecx, al
mov rax, r8
shr rax, 8
movzx edx, al
mov rax, r8
shr rax, 0x18
mov ecx, dword [rbp + rcx*4 + 0x400]
xor ecx, dword [rbp + rdx*4 + 0x800]
xor ecx, dword [rbp + rax*4]
movzx eax, r8b
xor ecx, dword [rbp + rax*4 + 0xc00]
sub r9, 1
jne 0x140073500
test rdi, rdi
je 0x14007356c
nop
movzx edx, byte [rbx]
lea rbx, [rbx + 1]
mov eax, ecx
shr ecx, 8
xor rdx, rax
movzx eax, dl
xor ecx, dword [rbp + rax*4]
sub rdi, 1
jne 0x140073550
mov rbx, qword [rsp + 0x18]
not ecx
mov rbp, qword [rsp + 0x20]
mov eax, ecx
pop rdi
ret