Function at 0x7ff7690835c0
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov byte [rax + 0x20], r9b
mov qword [rax + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x57]
sub rsp, 0xd0
mov rdi, qword [0x7ff7691bc0c0]
mov rbx, r8
movaps xmmword [rax - 0x48], xmm6
mov r15d, edx
movaps xmmword [rax - 0x58], xmm7
mov r12, rcx
movaps xmmword [rax - 0x68], xmm8
mov r14, qword [rdi + 0x3ed8]
movaps xmmword [rax - 0x78], xmm9
mov esi, dword [r14 + 0x14]
and esi, 4
or esi, 0x1010103
cmp qword [r14 + 0x1a8], 0
jne 0x7ff769083636
cmp qword [rdi + 0x4b48], 0
lea rax, [r14 + 0x250]
je 0x7ff76908363d
lea rax, [r14 + 0x220]
movss xmm0, dword [rax]
xorps xmm9, xmm9
movss xmm1, dword [rax + 4]
cvttss2si eax, dword [r8]
subss xmm0, dword [r14 + 0x100]
subss xmm1, dword [r14 + 0x104]
movd xmm3, eax
cvttss2si eax, dword [r8 + 4]
xor r8d, r8d
cvtdq2ps xmm3, xmm3
movd xmm2, eax
ucomiss xmm3, xmm9
cvtdq2ps xmm2, xmm2
jp 0x7ff769083684
lea eax, [r8 + 1]
je 0x7ff769083687
mov eax, r8d
ucomiss xmm2, xmm9
jp 0x7ff769083695
mov r13d, 2
je 0x7ff769083698
mov r13d, r8d
movss xmm4, dword [0x7ff76917db68]
or r13d, eax
comiss xmm9, xmm3
jb 0x7ff7690836b1
addss xmm3, xmm0
maxss xmm3, xmm4
comiss xmm9, xmm2
jb 0x7ff7690836bf
addss xmm2, xmm1
maxss xmm2, xmm4
movss xmm1, dword [r14 + 0x100]
subss xmm3, xmm9
movss xmm0, dword [r14 + 0x104]
addss xmm1, xmm9
or dword [rdi + 0x47b8], 3
lea rcx, [rbp - 0x71]
movss xmm8, dword [0x7ff76917dbb4]
mov qword [rdi + 0x47d0], r8
addss xmm0, xmm8
movss dword [rdi + 0x47d8], xmm3
subss xmm2, xmm8
movss dword [rdi + 0x47c8], xmm1
mov dword [rdi + 0x47bc], 1
mov dword [rdi + 0x47c0], 1
movss dword [rdi + 0x47cc], xmm0
movss dword [rdi + 0x47dc], xmm2
mov byte [r14 + 0xb8], 1
movss xmm1, dword [0x7ff7691bc70c]
movss xmm0, dword [0x7ff7691bc708]
movss dword [rbp - 0x6d], xmm1
movss xmm1, dword [0x7ff7691bc714]
mulss xmm1, dword [rdi + 0x37c8]
movss dword [rbp - 0x71], xmm0
movss xmm0, dword [0x7ff7691bc710]
movss dword [rbp - 0x65], xmm1
movss xmm1, dword [r14 + 0x104]
movss dword [rbp - 0x69], xmm0
addss xmm1, xmm8
movss xmm0, dword [rbx]
addss xmm0, dword [r14 + 0x100]
movss dword [rbp + 0x63], xmm1
movss dword [rbp + 0x5f], xmm0
call fcn.7ff7690745f0
mov rcx, qword [rdi + 0x3ed8]
lea rdx, [r14 + 0x100]
movss xmm0, dword [0x7ff7691bc0a0]
mov r9d, eax
mov dword [rsp + 0x28], r8d
lea r8, [rbp + 0x5f]
movss dword [rsp + 0x20], xmm0
mov rcx, qword [rcx + 0x298]
call fcn.7ff769097640
mov r8, qword [0x7ff7691bc0c0]
lea rcx, [rbp - 0x71]
mov rax, qword [r8 + 0x3ed8]
mov byte [rax + 0xb8], 1
movss xmm1, dword [0x7ff7691bc64c]
movss xmm0, dword [0x7ff7691bc648]
movss dword [rbp - 0x6d], xmm1
movss xmm1, dword [0x7ff7691bc654]
mulss xmm1, dword [r8 + 0x37c8]
movss dword [rbp - 0x71], xmm0
movss xmm0, dword [0x7ff7691bc650]
movss dword [rbp - 0x65], xmm1
movss xmm1, dword [r14 + 0x104]
addss xmm1, dword [rbx + 4]
movss dword [rbp - 0x69], xmm0
movss xmm0, dword [rbx]
addss xmm0, dword [r14 + 0x100]
movss dword [rbp + 0x63], xmm1
movss dword [rbp + 0x5f], xmm0
call fcn.7ff7690745f0
mov rcx, qword [r8 + 0x3ed8]
lea rdx, [r14 + 0x100]
movss xmm0, dword [0x7ff76917db10]
lea r8, [rbp + 0x5f]
movss dword [rsp + 0x30], xmm0
mov r9d, eax
movss xmm0, dword [0x7ff7691bc0a0]
mov rcx, qword [rcx + 0x298]
mov dword [rsp + 0x28], 0x30
movss dword [rsp + 0x20], xmm0
call fcn.7ff769097530
mov rbx, qword [0x7ff7691bc0c0]
mov rax, qword [rbx + 0x3ed8]
mov byte [rax + 0xb8], 1
movss xmm5, dword [0x7ff7691bc648]
movss xmm4, dword [0x7ff7691bc64c]
movss xmm3, dword [0x7ff7691bc650]
movss dword [rbp - 0x61], xmm5
movss dword [rbp - 0x5d], xmm4
movss xmm1, dword [rbx + 0x37c8]
lea rcx, [rbp - 0x61]
movaps xmm2, xmm1
movss dword [rbp - 0x59], xmm3
mulss xmm2, dword [0x7ff7691bc654]
mulss xmm1, xmm9
movss dword [rbp - 0x55], xmm2
movss dword [rbp - 0x25], xmm2
mulss xmm1, dword [0x7ff7691bc654]
movss xmm2, dword [r14 + 0x100]
movaps xmm0, xmm2
movss dword [rbp - 0x51], xmm5
addss xmm0, dword [0x7ff76917dbcc]
movss dword [rbp - 0x45], xmm1
addss xmm2, xmm9
movss dword [rbp - 0x35], xmm1
movss xmm1, dword [r14 + 0x104]
movss dword [rbp - 0x4d], xmm4
movss dword [rbp + 0x5f], xmm0
movaps xmm0, xmm1
addss xmm1, dword [0x7ff76917dbb0]
addss xmm0, xmm8
movss dword [rbp - 0x49], xmm3
movss dword [rbp - 0x41], xmm5
movss dword [rbp - 0x3d], xmm4
movss dword [rbp - 0x39], xmm3
movss dword [rbp - 0x31], xmm5
movss dword [rbp + 0x63], xmm0
movss dword [rbp - 0x2d], xmm4
movss dword [rbp - 0x29], xmm3
movss dword [rbp - 0x71], xmm2
movss dword [rbp - 0x6d], xmm1
call fcn.7ff7690745f0
lea rcx, [rbp - 0x51]
mov r11d, eax
call fcn.7ff7690745f0
lea rcx, [rbp - 0x41]
mov r10d, eax
call fcn.7ff7690745f0
lea rcx, [rbp - 0x31]
mov r8d, eax
call fcn.7ff7690745f0
mov rcx, qword [rbx + 0x3ed8]
lea rdx, [rbp - 0x71]
mov dword [rsp + 0x30], r11d
mov r9d, eax
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r8d
lea r8, [rbp + 0x5f]
mov rcx, qword [rcx + 0x298]
call fcn.7ff7690977f0
mov rbx, qword [0x7ff7691bc0c0]
mov rax, qword [rbx + 0x3ed8]
mov byte [rax + 0xb8], 1
movss xmm4, dword [0x7ff7691bc64c]
movss xmm5, dword [0x7ff7691bc648]
movss xmm3, dword [0x7ff7691bc650]
movss xmm1, dword [rbx + 0x37c8]
mov rax, qword [rbp + 0x6f]
movaps xmm2, xmm1
mulss xmm1, dword [0x7ff7691bc654]
mulss xmm2, xmm9
movss dword [rbp - 0x2d], xmm4
movss dword [rbp - 0x3d], xmm4
mulss xmm2, dword [0x7ff7691bc654]
movss dword [rbp - 0x4d], xmm4
movss dword [rbp - 0x5d], xmm4
movss xmm4, dword [rax]
movss dword [rbp - 0x25], xmm2
movss dword [rbp - 0x55], xmm2
movss xmm2, dword [r14 + 0x100]
movss dword [rbp - 0x31], xmm5
movss dword [rbp - 0x29], xmm3
movss dword [rbp - 0x41], xmm5
movss dword [rbp - 0x39], xmm3
movss dword [rbp - 0x35], xmm1
movss dword [rbp - 0x51], xmm5
movss dword [rbp - 0x49], xmm3
movss dword [rbp - 0x45], xmm1
movss dword [rbp - 0x61], xmm5
movss dword [rbp - 0x59], xmm3
movss xmm3, dword [r14 + 0x104]
lea rcx, [rbp - 0x31]
movaps xmm1, xmm3
movaps xmm0, xmm2
addss xmm3, dword [0x7ff76917dbb0]
addss xmm0, xmm4
subss xmm4, dword [0x7ff76917dbcc]
addss xmm1, xmm8
movss dword [rbp + 0x63], xmm3
movss dword [rbp + 0x6f], xmm0
addss xmm4, xmm2
movss dword [rbp + 0x73], xmm1
movss dword [rbp + 0x5f], xmm4
call fcn.7ff7690745f0
lea rcx, [rbp - 0x41]
mov r11d, eax
call fcn.7ff7690745f0
lea rcx, [rbp - 0x51]
mov r10d, eax
call fcn.7ff7690745f0
lea rcx, [rbp - 0x61]
mov r8d, eax
call fcn.7ff7690745f0
mov rcx, qword [rbx + 0x3ed8]
lea rdx, [rbp + 0x5f]
mov dword [rsp + 0x30], r11d
mov r9d, eax
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r8d
lea r8, [rbp + 0x6f]
mov rcx, qword [rcx + 0x298]
call fcn.7ff7690977f0
mov rbx, qword [0x7ff7691bc0c0]
lea rcx, [rbp - 0x31]
mov rax, qword [rbx + 0x3ed8]
mov byte [rax + 0xb8], 1
movss xmm1, dword [0x7ff7691bc56c]
movss xmm0, dword [0x7ff7691bc568]
mov rax, qword [rbx + 0x3ed8]
movss dword [rbp - 0x2d], xmm1
movss xmm1, dword [0x7ff7691bc574]
mulss xmm1, dword [rbx + 0x37c8]
mov rax, qword [rax + 0x298]
movss dword [rbp - 0x31], xmm0
movss xmm0, dword [0x7ff7691bc570]
movss dword [rbp - 0x25], xmm1
movss dword [rbp - 0x29], xmm0
mov qword [rbp - 0x71], rax
call fcn.7ff7690745f0
movss xmm1, dword [rbx + 0x3c10]
mov dword [rbp + 0x77], eax
test r12, r12
jne 0x7ff769083ba9
movaps xmm0, xmm8
movaps xmm2, xmm1
subss xmm0, xmm1
jmp 0x7ff769083c23
movss xmm6, dword [0x7ff76917dc30]
lea rdx, [rbp + 0x5f]
movss xmm7, dword [0x7ff76917dc54]
movaps xmm3, xmm6
mov rcx, qword [rbx + 0x3c08]
movaps xmm2, xmm1
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], r12
movss dword [rsp + 0x20], xmm7
call fcn.7ff76909c2c0
movss xmm2, dword [rbx + 0x3c10]
lea rdx, [rbp + 0x6f]
mov rcx, qword [rbx + 0x3c08]
movaps xmm3, xmm6
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], r12
movss dword [rsp + 0x20], xmm7
call fcn.7ff76909c2c0
movss xmm2, dword [rbp + 0x73]
movaps xmm0, xmm8
subss xmm0, dword [rbp + 0x63]
mov eax, dword [rbp + 0x77]
movss xmm1, dword [0x7ff76917dad4]
subss xmm8, xmm2
mov rcx, qword [rbp - 0x71]
lea rdx, [rbp + 0x6f]
mulss xmm0, xmm1
mov r9, r12
mov r8d, eax
mulss xmm8, xmm1
addss xmm0, dword [r14 + 0x104]
addss xmm8, dword [r14 + 0x100]
movss dword [rbp + 0x73], xmm0
movss dword [rbp + 0x6f], xmm8
call fcn.7ff7690984f0
mov r9, qword [r14 + 8]
lea rcx, [rbp + 0x6f]
xor edx, edx
test r12, r12
je 0x7ff769083c90
mov dword [rsp + 0x28], r15d
lea r8, [0x7ff769170c18]
mov qword [rsp + 0x20], r12
call fcn.7ff769073f40
jmp 0x7ff769083ca1
lea r8, [0x7ff769170c28]
mov dword [rsp + 0x20], r15d
call fcn.7ff769073f40
movss xmm6, dword [rdi + 0x37f8]
mov r8d, esi
mov rcx, qword [rbp + 0x6f]
xor edx, edx
mov dword [rdi + 0x37f8], 0
call fcn.7ff76907d590
mov rsi, qword [rdi + 0x3ed8]
movzx r12d, al
movss dword [rdi + 0x37f8], xmm6
cmp word [rsi + 0xc2], 1
mov dword [rsi + 0x80], r15d
mov byte [rsi + 0xd2], r13b
jne 0x7ff769083cfa
movsd xmm0, qword [rsi + 0x20]
movsd qword [r14 + 0x100], xmm0
mov r9d, r15d
lea rdx, [0x7ff769170c31]
not r9d
lea r10, [0x7ff769171c30]
mov ebx, r9d
mov r8b, 0x23
cmp r8b, 0x23
jne 0x7ff769083d27
cmp byte [rdx], r8b
jne 0x7ff769083d27
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 0x7ff769083d14
not ebx
cmp dword [rdi + 0x3f38], ebx
jne 0x7ff769083d57
xor edx, edx
xor ecx, ecx
call fcn.7ff769077280
cmp dword [rdi + 0x48e0], r15d
jne 0x7ff769083d9d
cmp word [rsi + 0x15c], 0
jne 0x7ff769083d73
cmp byte [rsi + 0x162], 0
je 0x7ff769083d9d
xor edx, edx
mov rcx, rsi
call fcn.7ff76907fc60
xor edx, edx
mov rcx, rsi
call fcn.7ff769087000
mov rdx, rsi
mov ecx, ebx
call fcn.7ff769077280
mov eax, dword [rdi + 0x4904]
mov dword [rdi + 0x3f60], eax
lea r11, [rsp + 0xd0]
movzx eax, r12b
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret