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

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
test rdx, rdx
je 0x1400c7f5b
mov rsi, rdx
mov ebx, ecx
mov r15d, r8d
cmp r8d, 0x40
jb 0x1400c7ef4
cmp dword [0x14016acf8], 0
jne 0x1400c7fdc
not ebx
test r15, r15
je 0x1400c7f31
mov eax, esi
and eax, 3
test rax, rax
je 0x1400c7f31
lea rax, [0x14013a130]
movzx ecx, byte [rsi]
inc rsi
movzx edx, bl
xor edx, ecx
shr ebx, 8
xor ebx, dword [rax + rdx*4]
cmp r15, 1
lea r15, [r15 - 1]
je 0x1400c7f31
mov ecx, esi
and ecx, 3
test rcx, rcx
jne 0x1400c7f0c
cmp r15, 0x20
jae 0x1400c800e
cmp r15, 4
jae 0x1400c7f69
mov eax, ebx
test r15, r15
jne 0x1400c7fb6
not eax
mov ebx, eax
mov eax, ebx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
xor ebx, ebx
test r8d, r8d
jne 0x1400c7f4c
call fcn.1400e5030
jmp 0x1400c7f4c
mov ecx, 0xff
lea rdx, [0x14013a130]
xor ebx, dword [rsi]
add rsi, 4
mov edi, ebx
and edi, ecx
mov eax, ebx
shr eax, 8
and eax, ecx
mov eax, dword [rdx + rax*4 + 0x800]
xor eax, dword [rdx + rdi*4 + 0xc00]
mov ebp, ebx
shr ebp, 0x10
and ebp, ecx
xor eax, dword [rdx + rbp*4 + 0x400]
shr ebx, 0x18
xor eax, dword [rdx + rbx*4]
add r15, 0xfffffffffffffffc
mov ebx, eax
cmp r15, 3
jbe 0x1400c7f43
jmp 0x1400c7f75
xor ecx, ecx
lea rdx, [0x14013a130]
movzx ebp, byte [rsi + rcx]
movzx ebx, al
xor ebx, ebp
shr eax, 8
xor eax, dword [rdx + rbx*4]
inc rcx
cmp r15, rcx
je 0x1400c7f48
jmp 0x1400c7fbf
mov r14d, r15d
and r14d, 0xfffffff0
mov edi, 0xffffffff
xor ebx, edi
mov rcx, rsi
mov rdx, r14
mov r8d, ebx
call fcn.140037b40
mov ebx, eax
xor ebx, edi
and r15, 0xf
je 0x1400c7f4c
add rsi, r14
jmp 0x1400c7ef4
mov r9d, 0xff
lea r10, [0x14013a130]
mov r8, r15
xor ebx, dword [rsi]
mov edi, ebx
and edi, r9d
mov edx, ebx
shr edx, 8
and edx, r9d
mov eax, dword [r10 + rdx*4 + 0x800]
xor eax, dword [r10 + rdi*4 + 0xc00]
mov edi, ebx
shr edi, 0x10
and edi, r9d
xor eax, dword [r10 + rdi*4 + 0x400]
shr ebx, 0x18
xor eax, dword [r10 + rbx*4]
xor eax, dword [rsi + 4]
mov ebp, eax
and ebp, r9d
mov edx, eax
shr edx, 8
and edx, r9d
mov edi, dword [r10 + rdx*4 + 0x800]
xor edi, dword [r10 + rbp*4 + 0xc00]
mov edx, eax
shr edx, 0x10
and edx, r9d
xor edi, dword [r10 + rdx*4 + 0x400]
shr eax, 0x18
xor edi, dword [r10 + rax*4]
xor edi, dword [rsi + 8]
mov eax, edi
and eax, r9d
mov edx, edi
shr edx, 8
and edx, r9d
mov ebp, dword [r10 + rdx*4 + 0x800]
xor ebp, dword [r10 + rax*4 + 0xc00]
mov eax, edi
shr eax, 0x10
and eax, r9d
xor ebp, dword [r10 + rax*4 + 0x400]
shr edi, 0x18
xor ebp, dword [r10 + rdi*4]
xor ebp, dword [rsi + 0xc]
mov eax, ebp
and eax, r9d
mov edx, ebp
shr edx, 8
and edx, r9d
mov edi, dword [r10 + rdx*4 + 0x800]
xor edi, dword [r10 + rax*4 + 0xc00]
mov eax, ebp
shr eax, 0x10
and eax, r9d
xor edi, dword [r10 + rax*4 + 0x400]
shr ebp, 0x18
xor edi, dword [r10 + rbp*4]
xor edi, dword [rsi + 0x10]
mov eax, edi
and eax, r9d
mov edx, edi
shr edx, 8
and edx, r9d
mov ebp, dword [r10 + rdx*4 + 0x800]
xor ebp, dword [r10 + rax*4 + 0xc00]
mov eax, edi
shr eax, 0x10
and eax, r9d
xor ebp, dword [r10 + rax*4 + 0x400]
shr edi, 0x18
xor ebp, dword [r10 + rdi*4]
xor ebp, dword [rsi + 0x14]
mov eax, ebp
and eax, r9d
mov edx, ebp
shr edx, 8
and edx, r9d
mov edi, dword [r10 + rdx*4 + 0x800]
xor edi, dword [r10 + rax*4 + 0xc00]
mov eax, ebp
shr eax, 0x10
and eax, r9d
xor edi, dword [r10 + rax*4 + 0x400]
shr ebp, 0x18
xor edi, dword [r10 + rbp*4]
xor edi, dword [rsi + 0x18]
mov eax, edi
and eax, r9d
mov edx, edi
shr edx, 8
and edx, r9d
mov ecx, dword [r10 + rdx*4 + 0x800]
xor ecx, dword [r10 + rax*4 + 0xc00]
mov eax, edi
shr eax, 0x10
and eax, r9d
xor ecx, dword [r10 + rax*4 + 0x400]
shr edi, 0x18
xor ecx, dword [r10 + rdi*4]
xor ecx, dword [rsi + 0x1c]
add rsi, 0x20
mov eax, ecx
and eax, r9d
mov edx, ecx
shr edx, 8
and edx, r9d
mov ebx, dword [r10 + rdx*4 + 0x800]
xor ebx, dword [r10 + rax*4 + 0xc00]
mov eax, ecx
shr eax, 0x10
and eax, r9d
xor ebx, dword [r10 + rax*4 + 0x400]
shr ecx, 0x18
xor ebx, dword [r10 + rcx*4]
add r8, 0xffffffffffffffe0
cmp r8, 0x1f
ja 0x1400c801e
and r15d, 0x1f
jmp 0x1400c7f3b