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

Disassembly:
push rsi
push rdi
test rdx, rdx
je 0x140002801
mov r9d, r8d
not ecx
test r8d, r8d
je 0x140002609
mov eax, edx
and eax, 3
test rax, rax
je 0x140002609
lea r11, [rdx + 1]
lea r8, [0x14000c1f0]
mov r10, r9
movzx r9d, byte [rdx]
inc rdx
movzx eax, cl
xor eax, r9d
shr ecx, 8
xor ecx, dword [r8 + rax*4]
lea r9, [r10 - 1]
cmp r10, 1
je 0x140002609
mov eax, r11d
and eax, 3
inc r11
test rax, rax
jne 0x1400025da
cmp r9, 0x20
jb 0x1400027ef
mov r8d, 0xff
lea r10, [0x14000c1f0]
xor ecx, dword [rdx]
mov r11d, ecx
and r11d, r8d
mov eax, ecx
shr eax, 8
and eax, r8d
mov esi, dword [r10 + rax*4 + 0x800]
xor esi, dword [r10 + r11*4 + 0xc00]
mov eax, ecx
shr eax, 0x10
and eax, r8d
xor esi, dword [r10 + rax*4 + 0x400]
shr ecx, 0x18
xor esi, dword [r10 + rcx*4]
xor esi, dword [rdx + 4]
mov eax, esi
and eax, r8d
mov ecx, esi
shr ecx, 8
and ecx, r8d
mov r11d, dword [r10 + rcx*4 + 0x800]
xor r11d, dword [r10 + rax*4 + 0xc00]
mov eax, esi
shr eax, 0x10
and eax, r8d
xor r11d, dword [r10 + rax*4 + 0x400]
shr esi, 0x18
xor r11d, dword [r10 + rsi*4]
xor r11d, dword [rdx + 8]
mov esi, r11d
and esi, r8d
mov eax, r11d
shr eax, 8
and eax, r8d
mov edi, dword [r10 + rax*4 + 0x800]
xor edi, dword [r10 + rsi*4 + 0xc00]
mov ecx, r11d
shr ecx, 0x10
and ecx, r8d
xor edi, dword [r10 + rcx*4 + 0x400]
shr r11d, 0x18
xor edi, dword [r10 + r11*4]
xor edi, dword [rdx + 0xc]
mov eax, edi
and eax, r8d
mov ecx, edi
shr ecx, 8
and ecx, r8d
mov esi, dword [r10 + rcx*4 + 0x800]
xor esi, dword [r10 + rax*4 + 0xc00]
mov eax, edi
shr eax, 0x10
and eax, r8d
xor esi, dword [r10 + rax*4 + 0x400]
shr edi, 0x18
xor esi, dword [r10 + rdi*4]
xor esi, dword [rdx + 0x10]
mov ecx, esi
and ecx, r8d
mov eax, esi
shr eax, 8
and eax, r8d
mov edi, dword [r10 + rax*4 + 0x800]
xor edi, dword [r10 + rcx*4 + 0xc00]
mov ecx, esi
shr ecx, 0x10
and ecx, r8d
xor edi, dword [r10 + rcx*4 + 0x400]
shr esi, 0x18
xor edi, dword [r10 + rsi*4]
xor edi, dword [rdx + 0x14]
mov eax, edi
and eax, r8d
mov ecx, edi
shr ecx, 8
and ecx, r8d
mov esi, dword [r10 + rcx*4 + 0x800]
xor esi, dword [r10 + rax*4 + 0xc00]
mov eax, edi
shr eax, 0x10
and eax, r8d
xor esi, dword [r10 + rax*4 + 0x400]
shr edi, 0x18
xor esi, dword [r10 + rdi*4]
xor esi, dword [rdx + 0x18]
mov ecx, esi
and ecx, r8d
mov eax, esi
shr eax, 8
and eax, r8d
mov edi, dword [r10 + rax*4 + 0x800]
xor edi, dword [r10 + rcx*4 + 0xc00]
mov ecx, esi
shr ecx, 0x10
and ecx, r8d
xor edi, dword [r10 + rcx*4 + 0x400]
shr esi, 0x18
xor edi, dword [r10 + rsi*4]
xor edi, dword [rdx + 0x1c]
add rdx, 0x20
mov eax, edi
and eax, r8d
mov ecx, edi
shr ecx, 8
and ecx, r8d
mov ecx, dword [r10 + rcx*4 + 0x800]
xor ecx, dword [r10 + rax*4 + 0xc00]
mov eax, edi
shr eax, 0x10
and eax, r8d
xor ecx, dword [r10 + rax*4 + 0x400]
shr edi, 0x18
xor ecx, dword [r10 + rdi*4]
add r9, 0xffffffffffffffe0
cmp r9, 0x1f
ja 0x140002620
cmp r9, 4
jae 0x140002805
mov eax, ecx
test r9, r9
jne 0x14000285a
not eax
pop rdi
pop rsi
ret
xor eax, eax
jmp 0x1400027fe
mov r8d, 0xff
lea r10, [0x14000c1f0]
xor ecx, dword [rdx]
add rdx, 4
mov edi, ecx
and edi, r8d
mov eax, ecx
shr eax, 8
and eax, r8d
mov eax, dword [r10 + rax*4 + 0x800]
xor eax, dword [r10 + rdi*4 + 0xc00]
mov edi, ecx
shr edi, 0x10
and edi, r8d
xor eax, dword [r10 + rdi*4 + 0x400]
shr ecx, 0x18
xor eax, dword [r10 + rcx*4]
add r9, 0xfffffffffffffffc
mov ecx, eax
cmp r9, 3
jbe 0x1400027f7
jmp 0x140002812
xor ecx, ecx
lea r8, [0x14000c1f0]
movzx edi, byte [rdx + rcx]
movzx esi, al
xor esi, edi
shr eax, 8
xor eax, dword [r8 + rsi*4]
inc rcx
cmp r9, rcx
je 0x1400027fc
jmp 0x140002863