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

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], r15
mov rbx, rcx
mov r9, rdx
mov r14, r8
test r9, r9
jne 0x14003cdd5
xor eax, eax
mov rbx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
add rsp, 0x88
ret
not ebx
cmp r14, 0x17
jb 0x14003d028
test r14, r14
je 0x14003ce1e
test r9b, 3
je 0x14003ce1e
dec r14
mov ecx, ebx
shr ecx, 8
mov rsi, r9
inc r9
movzx edx, byte [rsi]
xor edx, ebx
and edx, 0xff
mov edx, edx
lea rdi, [0x1400aea50]
xor ecx, dword [rdi + rdx*4]
mov ebx, ecx
test r14, r14
je 0x14003ce1e
test r9b, 3
jne 0x14003cdec
mov rax, r14
movabs rdx, 0xcccccccccccccccd
mul rdx
shr rdx, 4
mov r15, rdx
mov rcx, r15
lea rcx, [rcx + rcx*4]
lea rcx, [rcx*4]
sub r14, rcx
mov r11, r9
mov r8d, ebx
xor esi, esi
xor edi, edi
xor ebx, ebx
xor r13d, r13d
dec r15
test r15, r15
je 0x14003cfac
mov r9d, dword [r11]
xor r9d, r8d
mov qword [rsp + 0x60], r15
mov r15d, dword [r11 + 4]
xor r15d, esi
mov eax, dword [r11 + 8]
xor eax, edi
mov dword [rsp + 0x74], eax
mov edx, dword [r11 + 0xc]
xor edx, ebx
mov dword [rsp + 0x7c], edx
mov ebx, dword [r11 + 0x10]
xor ebx, r13d
mov dword [rsp + 0x80], ebx
mov eax, dword [rsp + 0x74]
add r11, 0x14
mov dword [rsp + 0x74], eax
mov esi, r9d
and esi, 0xff
mov esi, esi
lea rax, [0x1400af250]
mov r8d, dword [rax + rsi*4]
mov ecx, r15d
and ecx, 0xff
mov ecx, ecx
mov esi, dword [rax + rcx*4]
mov eax, dword [rsp + 0x74]
mov r10d, eax
and r10d, 0xff
mov r10d, r10d
lea r12, [0x1400af250]
mov edi, dword [r12 + r10*4]
and edx, 0xff
mov edx, edx
mov ebx, dword [r12 + rdx*4]
mov edx, dword [rsp + 0x80]
and edx, 0xff
mov edx, edx
mov r13d, dword [r12 + rdx*4]
mov qword [rsp + 0x68], r11
mov r11d, 1
mov r10d, r9d
lea ecx, [r11*8]
shr r10d, cl
and r10d, 0xff
mov r10d, r10d
movsxd r12, r11d
shl r12, 0xa
lea rdx, [0x1400af250]
lea r12, [r12 + rdx]
xor r8d, dword [r12 + r10*4]
mov r10d, r15d
shr r10d, cl
and r10d, 0xff
mov r10d, r10d
xor esi, dword [r12 + r10*4]
mov edx, eax
shr edx, cl
and edx, 0xff
mov edx, edx
xor edi, dword [r12 + rdx*4]
mov r10d, dword [rsp + 0x7c]
shr r10d, cl
and r10d, 0xff
mov r10d, r10d
xor ebx, dword [r12 + r10*4]
mov edx, dword [rsp + 0x80]
shr edx, cl
and edx, 0xff
mov edx, edx
xor r13d, dword [r12 + rdx*4]
inc r11d
cmp r11d, 4
jb 0x14003cf0c
mov r15, qword [rsp + 0x60]
mov r11, qword [rsp + 0x68]
dec r15
test r15, r15
jne 0x14003ce62
mov qword [rsp + 0x68], r11
mov dword [rsp + 0x70], r8d
mov dword [rsp + 0x78], ebx
mov rcx, qword [rsp + 0x68]
mov ecx, dword [rcx]
xor ecx, dword [rsp + 0x70]
call fcn.140037c62
mov ebx, eax
mov r8, qword [rsp + 0x68]
mov ecx, dword [r8 + 4]
xor ecx, esi
xor ecx, ebx
call fcn.140037c62
mov ebx, eax
mov rdx, qword [rsp + 0x68]
mov ecx, dword [rdx + 8]
xor ecx, edi
xor ecx, ebx
call fcn.140037c62
mov ebx, eax
mov rax, qword [rsp + 0x68]
mov ecx, dword [rax + 0xc]
xor ecx, dword [rsp + 0x78]
xor ecx, ebx
call fcn.140037c62
mov ebx, eax
mov rsi, qword [rsp + 0x68]
mov ecx, dword [rsi + 0x10]
xor ecx, r13d
xor ecx, ebx
call fcn.140037c62
mov ebx, eax
mov r11, qword [rsp + 0x68]
add r11, 0x14
mov r9, r11
cmp r14, 8
jb 0x14003d13c
mov edx, 8
sub r14, rdx
mov eax, ebx
shr eax, 8
mov rsi, r9
inc r9
movzx edi, byte [rsi]
xor edi, ebx
and edi, 0xff
mov edi, edi
lea rcx, [0x1400aea50]
xor eax, dword [rcx + rdi*4]
mov ebx, eax
shr eax, 8
mov r10, r9
inc r9
movzx r8d, byte [r10]
xor r8d, ebx
and r8d, 0xff
mov r8d, r8d
xor eax, dword [rcx + r8*4]
mov ebx, eax
shr eax, 8
mov rsi, r9
inc r9
movzx edi, byte [rsi]
xor edi, ebx
and edi, 0xff
mov edi, edi
xor eax, dword [rcx + rdi*4]
mov ebx, eax
shr eax, 8
mov r8, r9
inc r9
movzx r11d, byte [r8]
xor r11d, ebx
and r11d, 0xff
mov r11d, r11d
xor eax, dword [rcx + r11*4]
mov ebx, eax
shr eax, 8
mov rdi, r9
inc r9
movzx r10d, byte [rdi]
xor r10d, ebx
and r10d, 0xff
mov r10d, r10d
xor eax, dword [rcx + r10*4]
mov ebx, eax
shr eax, 8
mov r11, r9
inc r9
movzx esi, byte [r11]
xor esi, ebx
and esi, 0xff
mov esi, esi
xor eax, dword [rcx + rsi*4]
mov ebx, eax
shr eax, 8
mov r10, r9
inc r9
movzx r8d, byte [r10]
xor r8d, ebx
and r8d, 0xff
mov r8d, r8d
xor eax, dword [rcx + r8*4]
mov ebx, eax
shr eax, 8
mov rsi, r9
inc r9
movzx edi, byte [rsi]
xor edi, ebx
and edi, 0xff
mov edi, edi
xor eax, dword [rcx + rdi*4]
mov ebx, eax
cmp r14, rdx
jae 0x14003d032
test r14, r14
je 0x14003d16d
dec r14
mov eax, ebx
shr eax, 8
mov rdx, r9
inc r9
movzx ecx, byte [rdx]
xor ecx, ebx
and ecx, 0xff
mov ecx, ecx
lea rdi, [0x1400aea50]
xor eax, dword [rdi + rcx*4]
mov ebx, eax
test r14, r14
jne 0x14003d141
mov eax, ebx
not eax
mov rbx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
add rsp, 0x88
ret