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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
test rdx, rdx
je 0x140004c78
mov r14, rdx
mov esi, r8d
not ecx
cmp r8d, 0x2f
jae 0x140004d15
cmp rsi, 8
jae 0x140004c80
test rsi, rsi
je 0x140004c7c
xor edx, edx
lea rbp, [0x14000c1f0]
mov eax, ecx
xor cl, byte [r14 + rdx]
shr eax, 8
movzx ecx, cl
xor eax, dword [rbp + rcx*4]
inc rdx
mov ecx, eax
cmp rsi, rdx
jne 0x140004c4b
not eax
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
jmp 0x140004c67
mov eax, ecx
jmp 0x140004c65
lea rax, [0x14000c1f0]
mov edx, ecx
xor cl, byte [r14]
shr edx, 8
movzx ecx, cl
xor edx, dword [rax + rcx*4]
mov ecx, edx
xor dl, byte [r14 + 1]
shr ecx, 8
movzx edx, dl
xor ecx, dword [rax + rdx*4]
mov edx, ecx
xor cl, byte [r14 + 2]
shr edx, 8
movzx ecx, cl
xor edx, dword [rax + rcx*4]
mov ecx, edx
xor dl, byte [r14 + 3]
shr ecx, 8
movzx edx, dl
xor ecx, dword [rax + rdx*4]
mov edx, ecx
xor cl, byte [r14 + 4]
shr edx, 8
movzx ecx, cl
xor edx, dword [rax + rcx*4]
add rsi, 0xfffffffffffffff8
mov ecx, edx
xor dl, byte [r14 + 5]
shr ecx, 8
movzx edx, dl
xor ecx, dword [rax + rdx*4]
mov edx, ecx
shr edx, 8
xor cl, byte [r14 + 6]
movzx ecx, cl
xor edx, dword [rax + rcx*4]
mov ecx, edx
shr ecx, 8
xor dl, byte [r14 + 7]
add r14, 8
movzx edx, dl
xor ecx, dword [rax + rdx*4]
cmp rsi, 7
jbe 0x140004c3d
jmp 0x140004c87
test r14b, 7
je 0x140004d53
lea rdx, [r14 + 1]
lea r8, [0x14000c1f0]
mov rbp, rsi
dec rsi
mov ebx, ecx
shr ebx, 8
xor cl, byte [r14]
inc r14
movzx eax, cl
mov ecx, ebx
xor ecx, dword [r8 + rax*4]
cmp rbp, 1
je 0x140004d53
mov eax, edx
and eax, 7
inc rdx
test rax, rax
jne 0x140004d26
movabs rdx, 0xcccccccccccccccd
mov rax, rsi
mul rdx
shr rdx, 5
lea rax, [rdx*8]
lea r10, [rax + rax*4]
xor eax, eax
mov r8, rdx
dec r8
je 0x1400053af
mov qword [rsp], rdx
mov qword [rsp + 8], r10
mov qword [rsp + 0x10], rsi
lea r11, [0x14000c5f0]
mov r12d, 0x3fc
mov qword [rsp + 0x18], r14
mov rdx, r14
xor ebp, ebp
xor ebx, ebx
xor esi, esi
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], r8
mov r13d, ecx
mov rdi, qword [rdx]
mov qword [rsp + 0x20], rdi
mov rcx, qword [rdx + 8]
mov qword [rsp + 0x28], rcx
xor r13, rdi
mov r8d, ebx
xor r8, rcx
mov r15d, esi
mov rcx, qword [rdx + 0x10]
mov qword [rsp + 0x30], rcx
xor r15, rcx
mov r14d, ebp
mov rcx, qword [rdx + 0x18]
mov qword [rsp + 0x38], rcx
xor r14, rcx
mov r10d, eax
mov rax, qword [rdx + 0x20]
mov qword [rsp + 0x40], rax
xor r10, rax
mov rsi, r13
mov edx, 0xff
and rsi, rdx
mov rbp, r8
and rbp, rdx
mov r9, r15
and r9, rdx
mov rax, r14
and rax, rdx
mov rcx, r13
shr rcx, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4 + 0x400]
xor ecx, dword [r11 + rsi*4]
mov rsi, r8
shr rsi, 8
and rsi, rdx
mov ebx, dword [r11 + rsi*4 + 0x400]
xor ebx, dword [r11 + rbp*4]
mov rsi, r15
shr rsi, 8
and rsi, rdx
mov esi, dword [r11 + rsi*4 + 0x400]
xor esi, dword [r11 + r9*4]
mov rbp, r14
shr rbp, 8
and rbp, rdx
mov ebp, dword [r11 + rbp*4 + 0x400]
xor ebp, dword [r11 + rax*4]
mov rdi, r10
and rdi, rdx
mov rax, r10
shr rax, 8
and rax, rdx
mov eax, dword [r11 + rax*4 + 0x400]
xor eax, dword [r11 + rdi*4]
mov rdi, r13
shr rdi, 0xe
and rdi, r12
xor ecx, dword [rdi + r11 + 0x800]
mov rdi, r8
shr rdi, 0xe
and rdi, r12
xor ebx, dword [rdi + r11 + 0x800]
mov rdi, r15
shr rdi, 0xe
and rdi, r12
xor esi, dword [rdi + r11 + 0x800]
mov rdi, r14
shr rdi, 0xe
and rdi, r12
xor ebp, dword [rdi + r11 + 0x800]
mov rdx, r10
shr rdx, 0xe
and rdx, r12
xor eax, dword [rdx + r11 + 0x800]
shr r13, 0x16
and r13, r12
xor ecx, dword [r13 + r11 + 0xc00]
shr r8, 0x16
and r8, r12
xor ebx, dword [r8 + r11 + 0xc00]
mov r8, qword [rsp + 0x50]
shr r15, 0x16
and r15, r12
xor esi, dword [r15 + r11 + 0xc00]
shr r14, 0x16
and r14, r12
xor ebp, dword [r14 + r11 + 0xc00]
shr r10, 0x16
and r10, r12
xor eax, dword [r10 + r11 + 0xc00]
mov rdi, qword [rsp + 0x20]
mov rdx, rdi
shr rdx, 0x1e
and rdx, r12
xor ecx, dword [rdx + r11 + 0x1000]
mov r10, qword [rsp + 0x28]
mov rdx, r10
shr rdx, 0x1e
and rdx, r12
xor ebx, dword [rdx + r11 + 0x1000]
mov r14, qword [rsp + 0x30]
mov rdx, r14
shr rdx, 0x1e
and rdx, r12
xor esi, dword [rdx + r11 + 0x1000]
mov r15, qword [rsp + 0x38]
mov rdx, r15
shr rdx, 0x1e
and rdx, r12
xor ebp, dword [rdx + r11 + 0x1000]
mov r13, qword [rsp + 0x40]
mov rdx, r13
shr rdx, 0x1e
and rdx, r12
xor eax, dword [rdx + r11 + 0x1000]
mov rdx, rdi
mov r9, rdi
shr rdx, 0x26
and rdx, r12
xor ecx, dword [rdx + r11 + 0x1400]
mov rdx, r10
shr rdx, 0x26
and rdx, r12
xor ebx, dword [rdx + r11 + 0x1400]
mov rdx, r14
shr rdx, 0x26
and rdx, r12
xor esi, dword [rdx + r11 + 0x1400]
mov rdx, r15
shr rdx, 0x26
and rdx, r12
xor ebp, dword [rdx + r11 + 0x1400]
mov rdx, r13
mov rdi, r13
shr rdx, 0x26
and rdx, r12
xor eax, dword [rdx + r11 + 0x1400]
mov rdx, r9
shr rdx, 0x2e
and rdx, r12
xor ecx, dword [rdx + r11 + 0x1800]
mov rdx, r10
shr rdx, 0x2e
and rdx, r12
xor ebx, dword [rdx + r11 + 0x1800]
mov rdx, r14
shr rdx, 0x2e
and rdx, r12
xor esi, dword [rdx + r11 + 0x1800]
mov rdx, r15
shr rdx, 0x2e
and rdx, r12
xor ebp, dword [rdx + r11 + 0x1800]
mov rdx, r13
shr rdx, 0x2e
and rdx, r12
xor eax, dword [rdx + r11 + 0x1800]
mov rdx, qword [rsp + 0x48]
shr r9, 0x38
xor ecx, dword [r11 + r9*4 + 0x1c00]
shr r10, 0x38
xor ebx, dword [r11 + r10*4 + 0x1c00]
shr r14, 0x38
xor esi, dword [r11 + r14*4 + 0x1c00]
shr r15, 0x38
xor ebp, dword [r11 + r15*4 + 0x1c00]
shr rdi, 0x38
xor eax, dword [r11 + rdi*4 + 0x1c00]
add rdx, 0x28
dec r8
jne 0x140004daa
mov rdx, qword [rsp]
lea rdx, [rdx + rdx*4]
mov r14, qword [rsp + 0x18]
lea r14, [r14 + rdx*8]
add r14, 0xffffffffffffffd8
mov ebx, ebx
mov r8d, eax
mov eax, esi
mov r9d, ebp
mov rsi, qword [rsp + 0x10]
mov r10, qword [rsp + 8]
mov ecx, ecx
xor rcx, qword [r14]
mov rbp, rcx
shr rbp, 8
mov edx, 0xff
and rcx, rdx
lea r11, [0x14000c1f0]
mov ecx, dword [r11 + rcx*4]
xor rcx, rbp
mov rbp, rcx
shr rbp, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rbp
mov rbp, rcx
shr rbp, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rbp
mov rbp, rcx
shr rbp, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rbp
mov rbp, rcx
shr rbp, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rbp
mov rbp, rcx
shr rbp, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rbp
mov rbp, rcx
shr rbp, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rbp
mov rbp, rcx
shr rbp, 8
and rcx, rdx
xor ebp, dword [r11 + rcx*4]
xor rbx, qword [r14 + 8]
xor rbx, rbp
mov rcx, rbx
shr rcx, 8
and rbx, rdx
mov ebp, dword [r11 + rbx*4]
xor rbp, rcx
mov rcx, rbp
shr rcx, 8
and rbp, rdx
mov ebp, dword [r11 + rbp*4]
xor rbp, rcx
mov rcx, rbp
shr rcx, 8
and rbp, rdx
mov ebp, dword [r11 + rbp*4]
xor rbp, rcx
mov rcx, rbp
shr rcx, 8
and rbp, rdx
mov ebp, dword [r11 + rbp*4]
xor rbp, rcx
mov rcx, rbp
shr rcx, 8
and rbp, rdx
mov ebp, dword [r11 + rbp*4]
xor rbp, rcx
mov rcx, rbp
shr rcx, 8
and rbp, rdx
mov ebp, dword [r11 + rbp*4]
xor rbp, rcx
mov rcx, rbp
shr rcx, 8
and rbp, rdx
mov ebp, dword [r11 + rbp*4]
xor rbp, rcx
mov rcx, rbp
shr rcx, 8
and rbp, rdx
xor ecx, dword [r11 + rbp*4]
xor rax, qword [r14 + 0x10]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [r11 + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [r11 + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [r11 + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [r11 + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [r11 + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [r11 + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [r11 + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
xor ecx, dword [r11 + rax*4]
sub rsi, r10
xor r9, qword [r14 + 0x18]
xor r9, rcx
mov rax, r9
shr rax, 8
and r9, rdx
mov ecx, dword [r11 + r9*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
xor eax, dword [r11 + rcx*4]
xor r8, qword [r14 + 0x20]
xor r8, rax
mov rax, r8
shr rax, 8
and r8, rdx
mov ecx, dword [r11 + r8*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ebp, dword [r11 + rcx*4]
xor rbp, rax
mov rcx, rbp
shr rcx, 8
and rbp, rdx
xor ecx, dword [r11 + rbp*4]
add r14, 0x28
jmp 0x140004c37
xor ebx, ebx
xor r9d, r9d
xor r8d, r8d
jmp 0x1400050dd