Function at 0x7ff698f12be0
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, 0xe0
mov rsi, qword [0x7ff699056200]
mov rbx, r8
movaps xmmword [rax - 0x48], xmm6
mov r15d, edx
movaps xmmword [rax - 0x58], xmm7
mov rdi, rcx
movaps xmmword [rax - 0x68], xmm8
mov r14, qword [rsi + 0x3ed8]
movaps xmmword [rax - 0x78], xmm9
mov r12d, dword [r14 + 0x14]
and r12d, 4
or r12d, 0x1010103
cmp qword [r14 + 0x1a8], 0
jne 0x7ff698f12c58
cmp qword [rsi + 0x4b48], 0
lea rax, [r14 + 0x250]
je 0x7ff698f12c5f
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 0x7ff698f12ca6
lea eax, [r8 + 1]
je 0x7ff698f12ca9
mov eax, r8d
ucomiss xmm2, xmm9
jp 0x7ff698f12cb7
mov r13d, 2
je 0x7ff698f12cba
mov r13d, r8d
movss xmm4, dword [0x7ff699015770]
or r13d, eax
comiss xmm9, xmm3
jb 0x7ff698f12cd3
addss xmm3, xmm0
maxss xmm3, xmm4
comiss xmm9, xmm2
jb 0x7ff698f12ce1
addss xmm2, xmm1
maxss xmm2, xmm4
movss xmm1, dword [r14 + 0x100]
subss xmm3, xmm9
movss xmm0, dword [r14 + 0x104]
addss xmm1, xmm9
or dword [rsi + 0x47b8], 3
lea rcx, [rbp - 0x71]
movss xmm8, dword [0x7ff6990157bc]
mov qword [rsi + 0x47d0], r8
addss xmm0, xmm8
movss dword [rsi + 0x47d8], xmm3
subss xmm2, xmm8
movss dword [rsi + 0x47c8], xmm1
mov dword [rsi + 0x47bc], 1
mov dword [rsi + 0x47c0], 1
movss dword [rsi + 0x47cc], xmm0
movss dword [rsi + 0x47dc], xmm2
mov byte [r14 + 0xb8], 1
movss xmm1, dword [0x7ff6990568f4]
movss xmm0, dword [0x7ff6990568f0]
movss dword [rbp - 0x6d], xmm1
movss xmm1, dword [0x7ff6990568fc]
mulss xmm1, dword [rsi + 0x37c8]
movss dword [rbp - 0x71], xmm0
movss xmm0, dword [0x7ff6990568f8]
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.7ff698f04330
mov rcx, qword [rsi + 0x3ed8]
lea rdx, [r14 + 0x100]
movss xmm0, dword [0x7ff6990561e0]
mov r9d, eax
mov dword [rsp + 0x28], r8d
lea r8, [rbp + 0x5f]
movss dword [rsp + 0x20], xmm0
mov rcx, qword [rcx + 0x298]
call fcn.7ff698f26720
mov r8, qword [0x7ff699056200]
lea rcx, [rbp - 0x71]
mov rax, qword [r8 + 0x3ed8]
mov byte [rax + 0xb8], 1
movss xmm1, dword [0x7ff699056834]
movss xmm0, dword [0x7ff699056830]
movss dword [rbp - 0x6d], xmm1
movss xmm1, dword [0x7ff69905683c]
mulss xmm1, dword [r8 + 0x37c8]
movss dword [rbp - 0x71], xmm0
movss xmm0, dword [0x7ff699056838]
movss dword [rbp - 0x65], xmm1
movss xmm1, dword [rbx + 4]
addss xmm1, dword [r14 + 0x104]
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.7ff698f04330
mov rcx, qword [r8 + 0x3ed8]
lea rdx, [r14 + 0x100]
movss xmm0, dword [0x7ff699015724]
lea r8, [rbp + 0x5f]
movss dword [rsp + 0x30], xmm0
mov r9d, eax
movss xmm0, dword [0x7ff6990561e0]
mov rcx, qword [rcx + 0x298]
mov dword [rsp + 0x28], 0x30
movss dword [rsp + 0x20], xmm0
call fcn.7ff698f26610
mov rbx, qword [0x7ff699056200]
mov rax, qword [rbx + 0x3ed8]
mov byte [rax + 0xb8], 1
movss xmm5, dword [0x7ff699056830]
movss xmm4, dword [0x7ff699056834]
movss xmm3, dword [0x7ff699056838]
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 [0x7ff69905683c]
mulss xmm1, xmm9
movss dword [rbp - 0x55], xmm2
movss dword [rbp - 0x25], xmm2
mulss xmm1, dword [0x7ff69905683c]
movss xmm2, dword [r14 + 0x100]
movaps xmm0, xmm2
movss dword [rbp - 0x51], xmm5
addss xmm0, dword [0x7ff6990157d4]
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 [0x7ff6990157b8]
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.7ff698f04330
lea rcx, [rbp - 0x51]
mov r11d, eax
call fcn.7ff698f04330
lea rcx, [rbp - 0x41]
mov r10d, eax
call fcn.7ff698f04330
lea rcx, [rbp - 0x31]
mov r8d, eax
call fcn.7ff698f04330
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.7ff698f268d0
mov rbx, qword [0x7ff699056200]
mov rax, qword [rbx + 0x3ed8]
mov byte [rax + 0xb8], 1
movss xmm4, dword [0x7ff699056834]
movss xmm5, dword [0x7ff699056830]
movss xmm3, dword [0x7ff699056838]
movss xmm1, dword [rbx + 0x37c8]
mov rax, qword [rbp + 0x6f]
movaps xmm2, xmm1
mulss xmm1, dword [0x7ff69905683c]
mulss xmm2, xmm9
movss dword [rbp - 0x2d], xmm4
movss dword [rbp - 0x3d], xmm4
mulss xmm2, dword [0x7ff69905683c]
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 [0x7ff6990157b8]
addss xmm0, xmm4
subss xmm4, dword [0x7ff6990157d4]
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.7ff698f04330
lea rcx, [rbp - 0x41]
mov r11d, eax
call fcn.7ff698f04330
lea rcx, [rbp - 0x51]
mov r10d, eax
call fcn.7ff698f04330
lea rcx, [rbp - 0x61]
mov r8d, eax
call fcn.7ff698f04330
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.7ff698f268d0
mov rbx, qword [0x7ff699056200]
lea rcx, [rbp - 0x31]
mov rax, qword [rbx + 0x3ed8]
mov byte [rax + 0xb8], 1
movss xmm1, dword [0x7ff699056754]
movss xmm0, dword [0x7ff699056750]
mov rax, qword [rbx + 0x3ed8]
movss dword [rbp - 0x2d], xmm1
movss xmm1, dword [0x7ff69905675c]
mulss xmm1, dword [rbx + 0x37c8]
mov r8, qword [rax + 0x298]
movss dword [rbp - 0x31], xmm0
movss xmm0, dword [0x7ff699056758]
movss dword [rbp - 0x25], xmm1
movss dword [rbp - 0x29], xmm0
mov qword [rbp - 0x71], r8
call fcn.7ff698f04330
movss xmm1, dword [rbx + 0x3c10]
mov edx, eax
mov dword [rbp + 0x77], eax
test rdi, rdi
jne 0x7ff698f131cd
movaps xmm0, xmm8
movaps xmm2, xmm1
subss xmm0, xmm1
jmp 0x7ff698f1324b
movss xmm6, dword [0x7ff69901582c]
lea rdx, [rbp + 0x5f]
movss xmm7, dword [0x7ff699015838]
movaps xmm3, xmm6
mov rcx, qword [rbx + 0x3c08]
movaps xmm2, xmm1
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rdi
movss dword [rsp + 0x20], xmm7
call fcn.7ff698f2ac10
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], rdi
movss dword [rsp + 0x20], xmm7
call fcn.7ff698f2ac10
movss xmm2, dword [rbp + 0x73]
movaps xmm0, xmm8
subss xmm0, dword [rbp + 0x63]
mov r8, qword [rbp - 0x71]
mov edx, dword [rbp + 0x77]
movss xmm1, dword [0x7ff6990156f0]
subss xmm8, xmm2
mulss xmm0, xmm1
mulss xmm8, xmm1
addss xmm0, dword [r14 + 0x104]
addss xmm8, dword [r14 + 0x100]
movss dword [rbp + 0x73], xmm0
movss dword [rbp + 0x6f], xmm8
test edx, 0xff000000
je 0x7ff698f132e9
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [rdi + rcx], 0
jne 0x7ff698f13290
add rcx, rdi
cmp rdi, rcx
je 0x7ff698f132e9
mov rax, qword [r8 + 0x38]
lea r9, [rbp + 0x6f]
movups xmm0, xmmword [r8 + 0x88]
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm9
movss xmm2, dword [rax + 0x10]
mov qword [rsp + 0x38], rcx
lea rcx, [rbp - 0x31]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax + 8]
mov dword [rsp + 0x20], edx
mov rdx, r8
movups xmmword [rbp - 0x31], xmm0
call fcn.7ff698f2ae30
mov r9, qword [r14 + 8]
lea rcx, [rbp + 0x6f]
xor edx, edx
test rdi, rdi
je 0x7ff698f13310
mov dword [rsp + 0x28], r15d
lea r8, [0x7ff698ffdcf8]
mov qword [rsp + 0x20], rdi
call fcn.7ff698f03c80
jmp 0x7ff698f13321
lea r8, [0x7ff698ffdd08]
mov dword [rsp + 0x20], r15d
call fcn.7ff698f03c80
movss xmm6, dword [rsi + 0x37f8]
mov r8d, r12d
mov rcx, qword [rbp + 0x6f]
xor edx, edx
mov dword [rsi + 0x37f8], 0
call fcn.7ff698f0cf20
mov rdi, qword [rsi + 0x3ed8]
movzx r12d, al
movss dword [rsi + 0x37f8], xmm6
cmp word [rdi + 0xc2], 1
mov dword [rdi + 0x80], r15d
mov byte [rdi + 0xd2], r13b
jne 0x7ff698f1337a
movsd xmm0, qword [rdi + 0x20]
movsd qword [r14 + 0x100], xmm0
mov r9d, r15d
lea rdx, [0x7ff698ffdd11]
not r9d
lea r10, [0x7ff698ffecc0]
mov ebx, r9d
mov r8b, 0x23
cmp r8b, 0x23
jne 0x7ff698f133a7
cmp byte [rdx], r8b
jne 0x7ff698f133a7
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 0x7ff698f13394
not ebx
cmp dword [rsi + 0x3f38], ebx
jne 0x7ff698f133d7
xor edx, edx
xor ecx, ecx
call fcn.7ff698f06c10
cmp dword [rsi + 0x48e0], r15d
jne 0x7ff698f1341d
cmp word [rdi + 0x15c], 0
jne 0x7ff698f133f3
cmp byte [rdi + 0x162], 0
je 0x7ff698f1341d
xor edx, edx
mov rcx, rdi
call fcn.7ff698f0f5f0
xor edx, edx
mov rcx, rdi
call fcn.7ff698f16380
mov rdx, rdi
mov ecx, ebx
call fcn.7ff698f06c10
mov eax, dword [rsi + 0x4904]
mov dword [rsi + 0x3f60], eax
lea r11, [rsp + 0xe0]
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