Function at 0x180016f20
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x20], rbx
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rdi, qword [0x180070b90]
xor r15d, r15d
mov esi, ecx
mov r14, qword [rdi + 0x1a80]
test cl, 0x10
jne 0x1800171bc
mov ebx, dword [r14 + 0x114]
test ebx, ebx
je 0x180016f6a
cmp dword [rdi + 0x1ac8], ebx
jne 0x1800171b5
cmp byte [rdi + 0x138], r15b
je 0x1800171b5
test ebx, ebx
jne 0x180017170
test cl, 8
je 0x1800171b5
test byte [r14 + 0x118], 1
jne 0x180016fac
cmp dword [rdi + 0x1ac8], r15d
je 0x1800171b5
cmp qword [rdi + 0x1af8], r14
jne 0x1800171b5
lea rdx, [r14 + 0x11c]
mov qword [rsp + 0x90], r13
mov rcx, r14
call fcn.18001b0c0
mov dword [r14 + 0x114], eax
mov ebx, eax
mov rsi, qword [0x180070b90]
mov eax, dword [rsi + 0x1ab4]
test eax, eax
je 0x180016ff2
cmp eax, ebx
je 0x180016ff2
cmp byte [rsi + 0x1ab8], r15b
jne 0x180016ff2
xor sil, sil
jmp 0x180017127
mov qword [rsp + 0x88], r12
mov r12, qword [rsi + 0x1a80]
cmp qword [rsi + 0x1a88], r12
jne 0x18001711c
mov eax, dword [rsi + 0x1ac8]
test eax, eax
je 0x180017029
cmp eax, ebx
je 0x180017029
cmp byte [rsi + 0x1ad5], r15b
je 0x18001711c
lea rdx, [r14 + 0x124]
mov r8b, 1
lea rcx, [r14 + 0x11c]
call fcn.18001cdb0
test al, al
je 0x18001711c
cmp byte [rsi + 0x1c4f], r15b
jne 0x18001711c
xor edx, edx
mov rcx, r12
call fcn.18001cef0
test al, al
je 0x18001711c
test byte [r12 + 0x1b8], 4
jne 0x18001711c
mov rax, qword [0x180070b90]
mov dword [rsi + 0x1ab4], ebx
mov byte [rax + 0x1ab8], r15b
test ebx, ebx
je 0x18001709c
cmp dword [rax + 0x1abc], ebx
je 0x18001709c
mov qword [rax + 0x1ac0], r15
cmp byte [rsi + 0x2ffc], r15b
je 0x1800170f3
cmp dword [rsi + 0x1abc], ebx
jne 0x1800170f3
movss xmm0, dword [0x1800630e8]
lea r8, [r14 + 0x124]
mov rcx, qword [0x180070b90]
lea rdx, [r14 + 0x11c]
movss dword [rsp + 0x30], xmm0
xorps xmm1, xmm1
mov dword [rsp + 0x28], 0xf
add rcx, 0x1e70
mov r9d, 0xff00ffff
movss dword [rsp + 0x20], xmm1
call fcn.18002b1f0
cmp dword [rsi + 0x3000], ebx
jne 0x1800170fc
int3
mov sil, 1
cmp byte [rdi + 0x428], r15b
je 0x18001711f
mov rdx, r14
mov ecx, ebx
call fcn.1800251a0
mov rcx, r14
call fcn.18001a950
jmp 0x18001711f
xor sil, sil
mov r12, qword [rsp + 0x88]
mov r13, qword [rsp + 0x90]
cmp dword [rdi + 0x1ac8], ebx
jne 0x18001713e
mov byte [rdi + 0x1ad5], sil
mov esi, dword [rbp + 0x30]
cmp dword [rdi + 0x1ac8], ebx
jne 0x1800171b5
mov rax, qword [r14 + 0xc8]
movsxd rcx, dword [r14 + 0xc0]
mov r15d, dword [rax + rcx*4 - 4]
mov rax, qword [0x180070b90]
cmp byte [rax + 0x138], 0
jne 0x180017179
xor al, al
jmp 0x180017197
mov byte [rdi + 0x1ad5], r15b
jmp 0x180017141
mov rax, qword [0x180070b90]
movss xmm1, dword [rax + 0x38]
movss xmm0, dword [rax + 0x494]
mulss xmm1, xmm1
comiss xmm0, xmm1
setae al
mov qword [rdi + 0x1adc], 0xffffffffffffffff
mov qword [rdi + 0x1ae8], 0xffffffffffffffff
test al, al
jne 0x180017276
xor al, al
jmp 0x180017307
mov eax, dword [0x1800647b8]
xor r14d, r14d
cmp byte [0x1800647bd], r14b
movsd xmm0, qword [0x1800647b0]
mov dword [rbp - 8], eax
movzx eax, word [0x1800647bc]
mov word [rbp - 4], ax
movsd qword [rbp - 0x10], xmm0
je 0x180017226
xor byte [rbp - 0xf], 0x32
mov r8b, 0x23
xor byte [rbp - 0xe], 0x33
xor byte [rbp - 0xd], 0x34
xor byte [rbp - 0xc], 0x35
xor byte [rbp - 0xb], 0x36
xor byte [rbp - 0xa], 0x37
xor byte [rbp - 9], 0x38
xor byte [rbp - 8], 0x39
xor byte [rbp - 7], 0x3a
xor byte [rbp - 6], 0x3b
xor byte [rbp - 5], 0x3c
xor byte [rbp - 4], 0x3d
xor byte [rbp - 3], 0x3e
mov byte [rbp - 0x10], r8b
jmp 0x18001722b
movzx r8d, byte [rbp - 0x10]
lea rdx, [rbp - 0xf]
mov r9d, 0xffffffff
mov ebx, r9d
test r8b, r8b
je 0x180017274
lea r10, [0x180064140]
cmp r8b, 0x23
jne 0x180017257
cmp byte [rdx], r8b
jne 0x180017257
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [r10 + rcx*4]
test r8b, r8b
jne 0x180017244
not ebx
cmp byte [rdi + 0x1f1c], 0
jne 0x1800172a8
call fcn.1800187d0
mov dword [rdi + 0x1f3c], ebx
mov dword [rdi + 0x1f40], r15d
mov byte [rdi + 0x1f1c], 1
mov dword [rdi + 0x1f20], esi
mov dword [rdi + 0x1f28], 0
mov eax, dword [rdi + 0x1a08]
mov dword [rdi + 0x1f24], eax
mov byte [rdi + 0x1f1d], 1
test sil, 1
jne 0x1800172f7
xor edx, edx
xor ecx, ecx
call fcn.1800176e0
cmp dword [rdi + 0x1f90], 0
je 0x1800172f7
test dword [rdi + 0x1f84], 0x1000
je 0x1800172f7
mov rax, qword [rdi + 0x1a80]
mov byte [rax + 0x83], 1
mov dword [rax + 0x9c], 1
test sil, 0x12
jne 0x180017305
and dword [r14 + 0x118], 0xfffffffe
mov al, 1
mov rbx, qword [rsp + 0x98]
add rsp, 0x50
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret