Function at 0x14002af00
Capabilities:
Hash data with crc32

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rdi, rcx
cmp dword [0x1406df8f0], 0xa
jl 0x14002af32
mov eax, dword [0x1406df8f4]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14002af32
nop dword [rax]
jmp 0x14002af30
mov rbp, qword [0x1406deb70]
lea rdx, [0x14026ea79]
mov rcx, rdi
call sub.VCRUNTIME140.dll_strstr
mov r15, rax
test rax, rax
cmove r15, rdi
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r10, rax
movsxd r12, dword [rbp + 0x53a0]
lea r14d, [rax + 0x18]
and r14d, 0xfffffffc
lea r13d, [r14 + r12]
mov edi, dword [rbp + 0x53a4]
cmp edi, r13d
jge 0x14002afdc
mov qword [rsp + 0x20], r10
mov eax, dword [0x1406dec50]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406dec54], 0xa
lea rcx, [rbp + 0x53a0]
setl bl
or bl, al
mov eax, edi
shr eax, 0x1f
add eax, edi
sar eax, 1
add eax, edi
mov esi, 8
nop word cs:[rax + rax]
nop
test edi, edi
mov edx, eax
cmove edx, esi
test bl, bl
je 0x14002afc0
cmp edx, r13d
cmovle edx, r13d
call fcn.140004800
mov r10, qword [rsp + 0x20]
mov dword [rbp + 0x53a0], r13d
mov rax, qword [rbp + 0x53a8]
mov dword [rax + r12], r14d
mov rax, qword [rbp + 0x53a8]
lea rdi, [r12 + rax]
add rdi, 4
mov eax, dword [0x1406df418]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1406df41c], 0xa
setl al
or al, cl
mov ecx, dword [0x1406def7c]
mov edx, dword [0x1406def78]
jne 0x14002b03b
lea ebp, [rcx - 1]
imul ebp, ecx
and ebp, 1
jmp 0x14002b058
mov dword [rdi + 4], 0
lea ebp, [rcx - 1]
imul ebp, ecx
and ebp, 1
cmp edx, 0xa
jl 0x14002b04d
test ebp, ebp
jne 0x14002b080
mov dword [rdi + 4], 0
test al, al
jne 0x14002b082
cmp edx, 0xa
jl 0x14002b034
test ebp, ebp
je 0x14002b034
nop word cs:[rax + rax]
nop dword [rax + rax]
jmp 0x14002b070
jmp 0x14002b080
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
test r10, r10
je 0x14002b110
mov eax, dword [0x1406ded50]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406ded54], 0xa
setl cl
or cl, al
mov r8d, 0xffffffff
lea r9, section..rdata
mov rbx, r15
mov eax, 0xffffffff
mov rdx, r10
jmp 0x14002b0dc
movzx ebp, al
shr eax, 8
xor ebp, esi
xor eax, dword [r9 + rbp*4]
mov rbp, rbx
nop
test cl, cl
je 0x14002b0e0
sub rdx, 1
jb 0x14002b16c
lea rbx, [rbp + 1]
movzx esi, byte [rbp]
cmp esi, 0x23
jne 0x14002b0d0
cmp rdx, 2
jb 0x14002b0d0
cmp byte [rbx], 0x23
jne 0x14002b0d0
cmp byte [rbp + 2], 0x23
cmove eax, r8d
jmp 0x14002b0d0
mov dl, byte [r15]
test dl, dl
je 0x14002b167
lea rcx, [r15 + 2]
mov r8d, 0xffffffff
lea rbp, section..rdata
mov esi, 0xffffffff
jmp 0x14002b14e
movzx edx, dl
mov eax, esi
shr eax, 8
movzx esi, sil
xor esi, edx
xor eax, dword [rbp + rsi*4]
add rcx, 1
mov edx, ebx
mov esi, eax
test bl, bl
je 0x14002b16c
movzx ebx, byte [rcx - 1]
cmp dl, 0x23
jne 0x14002b130
cmp bl, 0x23
jne 0x14002b130
cmp byte [rcx], 0x23
cmove esi, r8d
mov bl, reloc.WLDAP32.dll_Ordinal_35
jmp 0x14002b130
mov eax, 0xffffffff
not eax
mov dword [rdi], eax
lea rcx, [rdi + 0x10]
add r10, 1
mov rdx, r15
mov r8, r10
call sub.VCRUNTIME140.dll_memcpy
mov rax, rdi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret