Function at 0x14005ed20
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
mov byte [rax + 0x20], r9b
push rbp
push rbx
push rsi
push rdi
push r15
lea rbp, [rax - 0x57]
sub rsp, 0xf0
mov rdi, qword [0x140197f30]
mov rbx, rcx
mov qword [rax + 0x10], r12
mov r12d, edx
mov qword [rax - 0x30], r13
mov r13, r8
mov qword [rax - 0x38], r14
mov rsi, qword [rdi + 0x4078]
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x78], xmm9
mov r15d, dword [rsi + 0x14]
and r15d, 4
cmp qword [rsi + 0x1c0], 0
jne 0x14005ed87
cmp qword [rdi + 0x4e90], 0
lea rax, [rsi + 0x268]
je 0x14005ed8e
lea rax, [rsi + 0x238]
movss xmm0, dword [rax]
lea r14, [rsi + 0x118]
movss xmm4, dword [rax + 4]
xorps xmm9, xmm9
cvttss2si eax, dword [r8]
movss xmm3, dword [r14]
movss xmm6, dword [r14 + 4]
subss xmm0, xmm3
movss xmm5, dword [0x140116614]
subss xmm4, xmm6
movd xmm2, eax
cvttss2si eax, dword [r8 + 4]
cvtdq2ps xmm2, xmm2
movd xmm1, eax
comiss xmm9, xmm2
cvtdq2ps xmm1, xmm1
jb 0x14005ede4
addss xmm2, xmm0
maxss xmm2, xmm5
comiss xmm9, xmm1
jb 0x14005edf2
addss xmm1, xmm4
maxss xmm1, xmm5
mov dword [rdi + 0x4a94], 1
addss xmm3, xmm9
mov dword [rdi + 0x4a98], 1
subss xmm2, xmm9
movzx eax, r9b
neg al
movss dword [rdi + 0x4aa0], xmm3
sbb ecx, ecx
or dword [rdi + 0x4a90], 3
xor eax, eax
movss dword [rdi + 0x4ab0], xmm2
and ecx, 0x2d
mov qword [rdi + 0x4aa8], rax
test r9b, r9b
mov eax, 0xc0
movd xmm4, ecx
lea rcx, [rbp - 0x71]
cvtdq2ps xmm4, xmm4
subss xmm1, xmm4
movaps xmm0, xmm4
addss xmm0, xmm6
movss dword [rdi + 0x4ab4], xmm1
movss dword [rdi + 0x4aa4], xmm0
mov byte [rsi + 0xcc], 1
movss xmm1, dword [0x1401965a0]
movss xmm0, dword [0x14019659c]
movss xmm3, dword [r14]
movss xmm2, dword [r14 + 4]
movss dword [rbp - 0x6d], xmm1
movss xmm1, dword [0x1401965a8]
mulss xmm1, dword [rdi + 0x3900]
movss dword [rbp - 0x71], xmm0
movss xmm0, dword [0x1401965a4]
movss dword [rbp - 0x65], xmm1
movaps xmm1, xmm2
addss xmm1, dword [r8 + 4]
movss dword [rbp - 0x69], xmm0
addss xmm2, xmm4
movaps xmm0, xmm3
addss xmm3, xmm9
addss xmm0, dword [r8]
mov r8d, 0xf0
movss dword [rbp + 0x63], xmm1
cmovne r8d, eax
movss dword [rbp + 0x73], xmm2
movss dword [rbp + 0x6f], xmm3
movss dword [rbp + 0x5f], xmm0
call fcn.1400042f0
mov rcx, qword [rdi + 0x4078]
lea rdx, [rbp + 0x6f]
movss xmm0, dword [0x1401965bc]
mov r9d, eax
mov dword [rsp + 0x28], r8d
lea r8, [rbp + 0x5f]
movss dword [rsp + 0x20], xmm0
mov rcx, qword [rcx + 0x2b0]
call fcn.140028a10
cmp byte [rbp + 0x77], 0
je 0x14005f457
movss xmm3, dword [0x140196660]
lea rcx, [rbp - 0x71]
movss xmm5, dword [0x140196658]
movss xmm4, dword [0x14019665c]
mov rax, qword [0x140197f30]
movss dword [rbp - 0x69], xmm3
movss dword [rbp - 0x59], xmm3
movss dword [rbp - 0x49], xmm3
movss xmm1, dword [rax + 0x3900]
movaps xmm2, xmm1
movss dword [rbp - 0x39], xmm3
movss xmm3, dword [r13]
mulss xmm2, dword [0x140196664]
movaps xmm0, xmm3
subss xmm0, dword [0x1401166bc]
mulss xmm1, xmm9
movaps xmmword [rsp + 0xc0], xmm7
movaps xmmword [rsp + 0xb0], xmm8
mulss xmm1, dword [0x140196664]
addss xmm0, dword [r14]
movaps xmmword [rsp + 0x90], xmm10
movss xmm10, dword [0x14011658c]
movss dword [rbp - 0x55], xmm1
movss dword [rbp - 0x45], xmm1
movss xmm1, dword [r14 + 4]
movss dword [rbp + 0x5f], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x1401166b0]
addss xmm1, dword [0x1401166ac]
mulss xmm3, xmm10
movss dword [rbp - 0x71], xmm5
movss dword [rbp + 0x63], xmm0
addss xmm3, dword [r14]
movss dword [rbp - 0x6d], xmm4
movss dword [rbp - 0x65], xmm2
movss dword [rbp - 0x61], xmm5
movss dword [rbp - 0x5d], xmm4
movss dword [rbp - 0x51], xmm5
movss dword [rbp - 0x4d], xmm4
movss dword [rbp - 0x41], xmm5
movss dword [rbp - 0x3d], xmm4
movss dword [rbp - 0x35], xmm2
movss dword [rbp + 0x6f], xmm3
movss dword [rbp + 0x73], xmm1
call fcn.1400042f0
lea rcx, [rbp - 0x61]
mov r11d, eax
call fcn.1400042f0
lea rcx, [rbp - 0x51]
mov r10d, eax
call fcn.1400042f0
lea rcx, [rbp - 0x41]
mov r9d, eax
call fcn.1400042f0
movss xmm0, dword [0x1401965bc]
lea rdx, [rbp + 0x5f]
mov dword [rsp + 0x38], 0
lea rcx, [rbp + 0x6f]
movss dword [rsp + 0x30], xmm0
mov r8d, eax
mov dword [rsp + 0x28], r11d
mov dword [rsp + 0x20], r10d
call fcn.14005db40
movss xmm5, dword [0x140196658]
movss xmm4, dword [0x14019665c]
movss xmm3, dword [0x140196660]
mov rax, qword [0x140197f30]
movss dword [rbp - 0x41], xmm5
movss dword [rbp - 0x3d], xmm4
movss dword [rbp - 0x39], xmm3
movss xmm1, dword [rax + 0x3900]
movaps xmm2, xmm1
movss dword [rbp - 0x51], xmm5
mulss xmm1, dword [0x140196664]
mulss xmm2, xmm9
movss dword [rbp - 0x4d], xmm4
movss dword [rbp - 0x49], xmm3
mulss xmm2, dword [0x140196664]
movss dword [rbp - 0x45], xmm1
movss dword [rbp - 0x61], xmm5
movss dword [rbp - 0x35], xmm2
movss xmm0, dword [r13]
lea rcx, [rbp - 0x41]
mulss xmm0, xmm10
movss dword [rbp - 0x65], xmm2
movss xmm2, dword [r14]
addss xmm0, xmm2
movss dword [rbp - 0x55], xmm1
movss xmm1, dword [r14 + 4]
addss xmm2, dword [0x1401166bc]
movss dword [rbp - 0x5d], xmm4
movss dword [rbp - 0x59], xmm3
movss dword [rbp + 0x5f], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x1401166b0]
addss xmm1, dword [0x1401166ac]
movss dword [rbp - 0x71], xmm5
movss dword [rbp - 0x6d], xmm4
movss dword [rbp - 0x69], xmm3
movss dword [rbp + 0x63], xmm0
movss dword [rbp + 0x6f], xmm2
movss dword [rbp + 0x73], xmm1
call fcn.1400042f0
lea rcx, [rbp - 0x51]
mov r11d, eax
call fcn.1400042f0
lea rcx, [rbp - 0x61]
mov r10d, eax
call fcn.1400042f0
lea rcx, [rbp - 0x71]
mov r9d, eax
call fcn.1400042f0
movss xmm0, dword [0x1401965bc]
lea rdx, [rbp + 0x5f]
mov dword [rsp + 0x38], 0
lea rcx, [rbp + 0x6f]
movss dword [rsp + 0x30], xmm0
mov r8d, eax
mov dword [rsp + 0x28], r11d
mov dword [rsp + 0x20], r10d
call fcn.14005db40
mov r8, qword [0x140197f30]
lea rcx, [rbp - 0x41]
movss xmm8, dword [0x1401166a4]
mov rax, qword [r8 + 0x4078]
mov byte [rax + 0xcc], 1
movss xmm1, dword [0x1401965b0]
movss xmm0, dword [0x1401965ac]
movss dword [rbp - 0x3d], xmm1
movss xmm1, dword [0x1401965b8]
mulss xmm1, dword [r8 + 0x3900]
movss dword [rbp - 0x41], xmm0
movss xmm0, dword [0x1401965b4]
movss dword [rbp - 0x35], xmm1
movss xmm1, dword [r14 + 4]
movss dword [rbp - 0x39], xmm0
addss xmm1, xmm8
movss xmm0, dword [r14]
addss xmm0, dword [r13]
movss dword [rbp + 0x63], xmm1
movss dword [rbp + 0x5f], xmm0
call fcn.1400042f0
mov rcx, qword [r8 + 0x4078]
mov r9d, eax
movss xmm0, dword [0x1401965bc]
lea r8, [rbp + 0x5f]
mov dword [rsp + 0x28], 0x30
mov rdx, r14
movss dword [rsp + 0x20], xmm0
mov rcx, qword [rcx + 0x2b0]
call fcn.140028a10
mov r8, qword [0x140197f30]
mov rax, qword [r8 + 0x4078]
mov byte [rax + 0xcc], 1
movss xmm0, dword [0x140196638]
mov rax, qword [r8 + 0x4078]
movss xmm1, dword [0x14019663c]
movss dword [rbp - 0x41], xmm0
movss xmm0, dword [0x140196640]
mov r10, qword [rax + 0x2b0]
mov qword [rbp - 0x71], r10
movss dword [rbp - 0x3d], xmm1
movss xmm1, dword [0x140196644]
lea rcx, [rbp - 0x41]
mulss xmm1, dword [r8 + 0x3900]
movss dword [rbp - 0x39], xmm0
movss dword [rbp - 0x35], xmm1
call fcn.1400042f0
movss xmm2, dword [r8 + 0x3d90]
mov edx, eax
mov dword [rbp + 0x77], eax
test rbx, rbx
jne 0x14005f304
xorps xmm1, xmm1
subss xmm8, xmm2
jmp 0x14005f39c
movss xmm6, dword [0x14011676c]
lea rdx, [rbp + 0x6f]
movss xmm7, dword [0x140116790]
xor eax, eax
mov rcx, qword [r8 + 0x3d88]
movaps xmm3, xmm6
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
movss dword [rsp + 0x20], xmm7
call fcn.14002ccb0
mov rcx, qword [0x140197f30]
lea rdx, [rbp + 0x5f]
xor eax, eax
movaps xmm3, xmm6
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
movss xmm2, dword [rcx + 0x3d90]
mov rcx, qword [rcx + 0x3d88]
mov qword [rsp + 0x28], rbx
movss dword [rsp + 0x20], xmm7
call fcn.14002ccb0
movss xmm0, dword [rbp + 0x5f]
addss xmm0, dword [0x1401165c4]
subss xmm8, dword [rbp + 0x73]
mov r10, qword [rbp - 0x71]
mov edx, dword [rbp + 0x77]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm0, dword [r13]
movaps xmm7, xmmword [rsp + 0xc0]
subss xmm0, xmm1
mulss xmm8, xmm10
mulss xmm0, xmm10
movaps xmm10, xmmword [rsp + 0x90]
addss xmm8, dword [r14 + 4]
addss xmm0, dword [r14]
movss dword [rbp + 0x63], xmm8
movaps xmm8, xmmword [rsp + 0xb0]
movss dword [rbp + 0x5f], xmm0
test edx, 0xff000000
je 0x14005f457
test rbx, rbx
je 0x14005f457
cmp byte [rbx], 0
je 0x14005f457
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [rbx + rcx], 0
jne 0x14005f400
mov rax, qword [r10 + 0x38]
lea r9, [rbp + 0x5f]
movups xmm0, xmmword [r10 + 0x60]
mov byte [rsp + 0x48], 0
add rcx, rbx
movss dword [rsp + 0x40], xmm9
movss xmm2, dword [rax + 0x10]
mov qword [rsp + 0x38], rcx
lea rcx, [rbp - 0x41]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax + 8]
mov dword [rsp + 0x20], edx
mov rdx, r10
movups xmmword [rbp - 0x41], xmm0
call fcn.14002d0c0
mov r9, qword [rsi + 8]
jmp 0x14005f460
mov r9, qword [rsi + 8]
test rbx, rbx
je 0x14005f47e
mov dword [rsp + 0x28], r12d
lea r8, str._s__s__08X
xor edx, edx
mov qword [rsp + 0x20], rbx
lea rcx, [rbp + 0x5f]
call fcn.140003ae0
jmp 0x14005f495
lea r8, str._s__08X
mov dword [rsp + 0x20], r12d
xor edx, edx
lea rcx, [rbp + 0x5f]
call fcn.140003ae0
mov rcx, qword [rbp + 0x5f]
or r15d, 0x41000183
mov r8d, r15d
xor edx, edx
call fcn.14000de90
mov rsi, qword [rdi + 0x4078]
movzx r15d, al
movaps xmm9, xmmword [rsp + 0xa0]
movaps xmm6, xmmword [rsp + 0xd0]
mov r13, qword [rsp + 0xe8]
cmp word [rsi + 0xd8], 1
mov dword [rsi + 0x90], r12d
jne 0x14005f4e9
movsd xmm0, qword [rsi + 0x28]
movsd qword [r14], xmm0
mov r14, qword [rsp + 0xe0]
lea rdx, [0x14010c291]
mov r9d, r12d
lea r10, [0x14010d550]
not r9d
mov r8b, 0x23
mov ebx, r9d
nop dword [rax + rax]
cmp r8b, 0x23
jne 0x14005f523
cmp byte [rdx], r8b
jne 0x14005f523
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 0x14005f510
not ebx
cmp dword [rdi + 0x40e4], ebx
jne 0x14005f553
xor edx, edx
xor ecx, ecx
call fcn.140007460
cmp dword [rdi + 0x4bbc], r12d
mov r12, qword [rsp + 0x128]
jne 0x14005f5a1
cmp word [rsi + 0x174], 0
jne 0x14005f577
cmp byte [rsi + 0x17a], 0
je 0x14005f5a1
xor edx, edx
mov rcx, rsi
call fcn.1400107b0
xor edx, edx
mov rcx, rsi
call fcn.140017730
mov rdx, rsi
mov ecx, ebx
call fcn.140007460
mov eax, dword [rdi + 0x4bf0]
mov dword [rdi + 0x4110], eax
movzx eax, r15b
add rsp, 0xf0
pop r15
pop rdi
pop rsi
pop rbx
pop rbp
ret