Function at 0x14004bf00
Capabilities:
Hash data with crc32

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
add rcx, 8
xor ebp, ebp
mov r8d, 0x3f8
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rsi], rbx
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r14, rax
inc r14
mov rdx, qword [0x1401146e0]
mov rcx, r14
call qword [0x1400b78f0]
mov r15, rax
mov rax, qword [0x1401146d0]
test rax, rax
je 0x14004bfef
mov ecx, dword [rax + 0x3f58]
movsx rdx, word [rax + 0x60f0]
cmp dword [rax + rdx*8 + 0x60f4], ecx
jne 0x14004bf90
lea rdx, [rax + rdx*8]
add rdx, 0x60f4
cmp r14, 0xffffffffffffffff
je 0x14004bfe3
add rax, 0x60e8
inc word [rdx + 4]
jmp 0x14004bfed
inc edx
movsxd rdx, edx
imul r8, rdx, 0x2aaaaaab
mov r9, r8
shr r9, 0x3f
shr r8, 0x20
add r8d, r9d
add r8d, r8d
lea r8d, [r8 + r8*2]
sub edx, r8d
mov word [rax + 0x60f0], dx
movsxd r8, edx
lea rdx, [rax + r8*8]
add rdx, 0x60f4
mov dword [rax + r8*8 + 0x60f4], ecx
mov dword [rax + r8*8 + 0x60f8], 0
cmp r14, 0xffffffffffffffff
jne 0x14004bf84
inc word [rdx + 6]
add rax, 0x60ec
inc dword [rax]
lea rbx, [rsi + 0x100]
mov rcx, r15
mov rdx, rdi
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsi + 8], r15
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
inc eax
mov dword [rsi + 0x80], eax
movzx eax, byte [rdi]
test al, al
je 0x14004c074
add rdi, 2
mov ecx, 0xffffffff
lea rdx, [0x1400a5760]
mov ebp, 0xffffffff
jmp 0x14004c059
movzx r8d, r8b
movzx r9d, bpl
shr ebp, 8
xor r9d, r8d
xor ebp, dword [rdx + r9*4]
inc rdi
test al, al
je 0x14004c072
mov r8d, eax
movzx eax, byte [rdi - 1]
cmp r8b, 0x23
jne 0x14004c040
cmp al, 0x23
jne 0x14004c040
cmp byte [rdi], 0x23
cmove ebp, ecx
jmp 0x14004c040
not ebp
lea rdx, [rsi + 0x10]
mov dword [rsi + 0x10], ebp
mov rcx, rbx
call fcn.140045ce0
mov rax, qword [rsi + 0x108]
movsxd rcx, dword [rsi + 0x100]
mov eax, dword [rax + rcx*4 - 4]
movzx ecx, al
mov edi, eax
not edi
shr edi, 8
xor rcx, 0xdc
lea rax, [0x1400a5760]
xor edi, dword [rax + rcx*4]
movzx ecx, dil
shr edi, 8
xor ecx, 0x4d
xor edi, dword [rax + rcx*4]
movzx ecx, dil
shr edi, 8
xor ecx, 0x4f
xor edi, dword [rax + rcx*4]
movzx ecx, dil
shr edi, 8
xor ecx, 0x56
xor edi, dword [rax + rcx*4]
movzx ecx, dil
shr edi, 8
xor ecx, 0x45
xor edi, dword [rax + rcx*4]
mov rax, qword [rsi]
not edi
cmp dword [rax + 0x404c], edi
jne 0x14004c10a
lea r8, str.MOVE
mov ecx, edi
mov edx, 0xb
xor r9d, r9d
call fcn.14004cea0
mov rax, qword [rsi]
lea rcx, [rsi + 0x2b0]
mov dword [rsi + 0x84], edi
vmovaps xmm0, xmmword [0x1400a6940]
vmovups xmmword [rsi + 0x9c], xmm0
mov word [rsi + 0xdc], 0xffff
mov dword [rsi + 0xe0], 0xffffffff
movzx edx, byte [rsi + 0xeb]
shl edx, 0x18
mov dword [rsi + 0xe8], edx
vbroadcastss xmm0, dword [0x1400a4080]
vmovups xmmword [rsi + 0xec], xmm0
movabs rdx, 0xbf800000ffffffff
mov qword [rsi + 0x270], rdx
movabs rdx, 0xffffffff3f800000
mov qword [rsi + 0x2a0], rdx
mov qword [rsi + 0x2a8], rcx
add rax, 0x3d40
mov qword [rsi + 0x2e8], rax
mov rax, qword [rsi + 8]
mov qword [rsi + 0x2f0], rax
vmovups xmmword [rsi + 0x3e0], xmm0
mov rax, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret