Function at 0x140008790
Capabilities:
Hash data with crc32

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x70
lea rbp, [rsp + 0x70]
movaps xmmword [rbp - 0x10], xmm7
movaps xmmword [rbp - 0x20], xmm6
mov qword [rbp - 0x28], 0xfffffffffffffffe
mov r14, r8
mov rbx, rdx
mov r12, rcx
lea rax, [rcx + 0xd0]
mov qword [rbp - 0x50], rax
xorps xmm7, xmm7
movups xmmword [rcx + 0x158], xmm7
movups xmmword [rcx + 0xd0], xmm7
movups xmmword [rcx + 0xe0], xmm7
movups xmmword [rcx + 0xf0], xmm7
movups xmmword [rcx + 0x100], xmm7
mov qword [rcx + 0x110], 0
movups xmmword [rcx + 0x190], xmm7
movups xmmword [rcx + 0x1a0], xmm7
movups xmmword [rcx + 0x1b0], xmm7
movups xmmword [rcx + 0x1c0], xmm7
movups xmmword [rcx + 0x10], xmm7
movups xmmword [rcx + 0x20], xmm7
movups xmmword [rcx + 0x30], xmm7
movups xmmword [rcx + 0x54], xmm7
movups xmmword [rcx + 0x64], xmm7
mov qword [rcx + 0x74], 0
movups xmmword [rcx + 0xbc], xmm7
movaps xmm6, xmmword [0x1400aad60]
movups xmmword [rcx + 0x128], xmm6
movups xmm0, xmmword [rcx + 0x128]
movups xmmword [rcx + 0x118], xmm0
movaps xmm0, xmmword [0x1400aad70]
movups xmmword [rcx + 0x138], xmm0
mov word [rcx + 0x148], 0
mov byte [rcx + 0x14a], 0
mov qword [rcx + 0x14c], 0
mov qword [rcx + 0x168], 0
movaps xmm0, xmmword [0x1400aad80]
movups xmmword [rcx + 0x170], xmm0
mov dword [rcx + 0x180], 0
movabs rax, 0xbf80000000000000
mov qword [rcx + 0x184], rax
lea rax, [rcx + 0x1f0]
mov qword [rbp - 0x48], rax
movups xmmword [rcx + 0x1f0], xmm7
movups xmmword [rcx + 0x1e0], xmm7
movups xmmword [rcx + 0x1d0], xmm7
movups xmmword [rcx + 0x200], xmm6
movups xmmword [rcx + 0x210], xmm6
movups xmmword [rcx + 0x220], xmm6
movups xmmword [rcx + 0x230], xmm6
movups xmmword [rcx + 0x240], xmm6
movups xmmword [rcx + 0x250], xmm6
add rcx, 0x268
call fcn.140031010
lea rax, [r12 + 0x290]
mov qword [rbp - 0x40], rax
lea rax, [r12 + 0x2a0]
mov qword [rbp - 0x38], rax
lea rsi, [r12 + 0x2c0]
add rbx, 0x1918
movups xmmword [r12 + 0x2a0], xmm7
movups xmmword [r12 + 0x290], xmm7
mov rcx, rsi
mov rdx, rbx
call fcn.140008e00
mov qword [rbp - 0x30], rsi
movups xmmword [r12 + 0x398], xmm6
movups xmmword [r12 + 0x3a8], xmm6
mov rcx, r14
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rbx, rax
add rbx, 1
mov rax, qword [0x1400d2160]
test rax, rax
je 0x140008982
add dword [rax + 0x3b0], 1
mov rdx, qword [0x1400d2170]
mov rcx, rbx
call qword [0x1400d0178]
mov rdi, rax
mov rcx, rax
mov rdx, r14
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov qword [r12], rdi
mov dl, byte [r14]
test dl, dl
je 0x140008a05
lea rcx, [r14 + 2]
mov r8d, 0xffffffff
lea rdi, [0x1400aa520]
mov eax, 0xffffffff
jmp 0x1400089e8
movzx edx, dl
movzx esi, al
shr eax, 8
xor esi, edx
xor eax, dword [rdi + rsi*4]
add rcx, 1
mov edx, ebx
test bl, bl
je 0x140008a01
movzx ebx, byte [rcx - 1]
cmp dl, 0x23
jne 0x1400089d0
cmp bl, 0x23
jne 0x1400089d0
cmp byte [rcx], 0x23
cmove eax, r8d
mov bl, 0x23
jmp 0x1400089d0
not eax
jmp 0x140008a07
xor eax, eax
mov dword [r12 + 8], eax
mov ecx, dword [r12 + 0x1f0]
cmp ecx, dword [r12 + 0x1f4]
jne 0x140008add
lea edi, [rcx + 1]
test ecx, ecx
je 0x140008a36
mov edx, ecx
shr edx, 0x1f
add edx, ecx
sar edx, 1
add edx, ecx
jmp 0x140008a3b
mov edx, 8
cmp edx, edi
cmovg edi, edx
cmp ecx, edi
jge 0x140008add
movsxd rcx, edi
shl rcx, 2
mov rax, qword [0x1400d2160]
test rax, rax
je 0x140008a62
add dword [rax + 0x3b0], 1
mov rdx, qword [0x1400d2170]
call qword [0x1400d0178]
mov rbx, rax
mov rdx, qword [r12 + 0x1f8]
test rdx, rdx
je 0x140008ac0
movsxd r8, dword [r12 + 0x1f0]
shl r8, 2
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [r12 + 0x1f8]
test rcx, rcx
je 0x140008ab3
mov rax, qword [0x1400d2160]
test rax, rax
je 0x140008ab3
add dword [rax + 0x3b0], 0xffffffff
mov rdx, qword [0x1400d2170]
call qword [0x1400d0180]
mov qword [r12 + 0x1f8], rbx
mov dword [r12 + 0x1f4], edi
mov eax, dword [r12 + 8]
mov ecx, dword [r12 + 0x1f0]
lea r15, [r12 + 0x398]
mov rdx, qword [r12 + 0x1f8]
movsxd rcx, ecx
mov dword [rdx + rcx*4], eax
movsxd rsi, dword [r12 + 0x1f0]
lea eax, [rsi + 1]
mov dword [r12 + 0x1f0], eax
xorps xmm0, xmm0
movups xmmword [r12 + 0xc], xmm0
movups xmmword [r12 + 0x1c], xmm0
movups xmmword [r12 + 0x2c], xmm0
movups xmmword [r12 + 0x38], xmm0
mov rcx, r14
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add eax, 1
mov dword [r12 + 0x48], eax
mov rax, qword [r12 + 0x1f8]
mov esi, dword [rax + rsi*4]
not esi
mov bl, 0x23
lea rdx, [0x1400b5a22]
lea r8, [0x1400aa520]
mov eax, esi
jmp 0x140008b79
movzx ebx, bl
movzx edi, al
shr eax, 8
xor edi, ebx
xor eax, dword [r8 + rdi*4]
add rdx, 1
mov ebx, ecx
test cl, cl
je 0x140008b91
movzx ecx, byte [rdx - 1]
cmp bl, 0x23
jne 0x140008b60
cmp cl, 0x23
jne 0x140008b60
cmp byte [rdx], 0x23
cmove eax, esi
mov cl, 0x23
jmp 0x140008b60
not eax
mov rcx, qword [0x1400d2160]
cmp dword [rcx + 0x1a4c], eax
jne 0x140008ba8
mov dword [rcx + 0x1a50], eax
cmp dword [rcx + 0x1a7c], eax
mov rdx, qword [rbp - 0x30]
jne 0x140008bbb
mov byte [rcx + 0x1a80], 1
mov dword [r12 + 0x4c], eax
mov qword [r12 + 0x50], 0
mov dword [r12 + 0x58], 0
movaps xmm0, xmmword [0x1400aad90]
movups xmmword [r12 + 0x64], xmm0
xorps xmm0, xmm0
movups xmmword [r12 + 0x74], xmm0
mov dword [r12 + 0x83], 0
mov byte [r12 + 0x87], 0xff
mov dword [r12 + 0x88], 0xffff0000
mov word [r12 + 0x8c], 0xffff
movabs rax, 0xffffffff00000000
mov qword [r12 + 0x90], rax
mov dword [r12 + 0x98], 0xffffffff
mov byte [r12 + 0x9c], 0
movaps xmm1, xmmword [0x1400aada0]
movups xmmword [r12 + 0xa0], xmm1
movabs rax, 0x7f7fffff7f7fffff
mov qword [r12 + 0xc4], rax
movaps xmm1, xmmword [0x1400aadb0]
movups xmmword [r12 + 0xb0], xmm1
mov dword [r12 + 0xc0], 0x7f7fffff
mov eax, 0xffffffff
mov qword [r12 + 0x260], rax
movabs rax, 0xffffffff3f800000
mov qword [r12 + 0x2b0], rax
mov qword [r12 + 0x2b8], rdx
mov rax, qword [r12]
mov qword [r12 + 0x300], rax
mov qword [r12 + 0x390], 0
movups xmmword [r12 + 0x378], xmm0
movups xmmword [r12 + 0x368], xmm0
movups xmmword [r12 + 0x3a8], xmm6
movups xmm0, xmmword [r12 + 0x3a8]
movups xmmword [r15], xmm0
mov qword [r12 + 0x388], 0
mov rax, r12
movaps xmm6, xmmword [rbp - 0x20]
movaps xmm7, xmmword [rbp - 0x10]
add rsp, 0x70
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret