Function at 0x140002b70
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x4f]
sub rsp, 0xe0
mov rdi, qword [0x140068738]
mov rbx, r8
movaps xmmword [rax - 0x48], xmm6
mov r12d, edx
movaps xmmword [rax - 0x58], xmm7
mov rsi, rcx
movaps xmmword [rax - 0x68], xmm10
mov r14, qword [rdi + 0x3ee0]
movaps xmmword [rax - 0x78], xmm11
mov r15d, dword [r14 + 0x14]
and r15d, 4
or r15d, 0x101018b
cmp qword [r14 + 0x1a8], 0
jne 0x140002be2
cmp qword [rdi + 0x4bb0], 0
mov eax, 0x250
je 0x140002be7
mov eax, 0x220
movss xmm2, dword [r14 + rax]
xorps xmm10, xmm10
movss xmm3, dword [r14 + rax + 4]
cvttss2si eax, dword [r8]
subss xmm2, dword [r14 + 0x100]
subss xmm3, dword [r14 + 0x104]
movd xmm1, eax
cvttss2si eax, dword [r8 + 4]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
ucomiss xmm1, xmm10
cvtdq2ps xmm0, xmm0
jp 0x140002c32
jne 0x140002c32
mov eax, 1
jmp 0x140002c34
xor eax, eax
ucomiss xmm0, xmm10
jp 0x140002c44
jne 0x140002c44
mov r13d, 2
jmp 0x140002c47
xor r13d, r13d
movss xmm7, dword [0x14005f8a8]
or r13d, eax
comiss xmm10, xmm1
jb 0x140002c64
addss xmm1, xmm2
comiss xmm1, xmm7
jae 0x140002c64
movaps xmm1, xmm7
comiss xmm10, xmm0
jb 0x140002c76
addss xmm0, xmm3
comiss xmm0, xmm7
jae 0x140002c76
movaps xmm0, xmm7
or dword [rdi + 0x47c8], 2
lea rcx, [rbp - 0x71]
xor edx, edx
movss dword [rdi + 0x47e8], xmm1
movss dword [rdi + 0x47ec], xmm0
mov dword [rdi + 0x47d0], 1
mov r9, qword [r14 + 8]
test rsi, rsi
je 0x140002cbe
mov dword [rsp + 0x28], r12d
lea r8, str._s__s__08X
mov qword [rsp + 0x20], rsi
call fcn.14000fe70
jmp 0x140002ccf
lea r8, str._s__08X
mov dword [rsp + 0x20], r12d
call fcn.14000fe70
mov r8, qword [0x140068738]
lea rcx, [rbp - 0x69]
mov rax, qword [r8 + 0x3ee0]
mov byte [rax + 0xb8], 1
movss xmm0, dword [0x140068a50]
movss xmm1, dword [0x140068a54]
movss xmm2, dword [r14 + 0x100]
movss xmm6, dword [rdi + 0x37f4]
addss xmm6, dword [0x14005f888]
movss dword [rbp - 0x69], xmm0
movss xmm0, dword [0x140068a58]
movss dword [rbp - 0x61], xmm0
movss xmm0, dword [rbx]
addss xmm0, dword [0x14005f80c]
movss dword [rbp - 0x65], xmm1
movss xmm1, dword [0x140068a5c]
mulss xmm1, dword [r8 + 0x37c8]
addss xmm0, xmm2
addss xmm2, xmm10
movss dword [rbp - 0x5d], xmm1
movss xmm1, dword [r14 + 0x104]
movss dword [rbp + 0x57], xmm0
movaps xmm0, xmm1
addss xmm0, dword [rbx + 4]
addss xmm1, xmm10
movss dword [rbp - 0x79], xmm2
movss dword [rbp + 0x5b], xmm0
movss dword [rbp - 0x75], xmm1
call fcn.140010530
mov rcx, qword [r8 + 0x3ee0]
lea rdx, [rbp - 0x79]
mov r9d, eax
mov dword [rsp + 0x28], 0
lea r8, [rbp + 0x57]
movss dword [rsp + 0x20], xmm6
mov rcx, qword [rcx + 0x298]
call fcn.1400340e0
movss xmm2, dword [0x14005f864]
lea rcx, [rbp - 0x69]
mov r8, qword [0x140068738]
mov rax, qword [r8 + 0x3ee0]
mov byte [rax + 0xb8], 1
movss xmm0, dword [0x140068a70]
movss xmm3, dword [r14 + 0x100]
movss xmm1, dword [0x140068a74]
movss dword [rbp - 0x69], xmm0
movss xmm0, dword [0x140068a78]
movss dword [rbp - 0x61], xmm0
movss xmm0, dword [rbx]
subss xmm0, xmm2
movss dword [rbp - 0x65], xmm1
movss xmm1, dword [0x140068a7c]
mulss xmm1, dword [r8 + 0x37c8]
addss xmm0, xmm3
movss dword [rbp - 0x5d], xmm1
addss xmm3, xmm2
movss xmm1, dword [r14 + 0x104]
movss dword [rbp + 0x57], xmm0
movss xmm0, dword [rbx + 4]
subss xmm0, xmm2
movss dword [rbp - 0x79], xmm3
addss xmm0, xmm1
addss xmm1, xmm2
movss dword [rbp + 0x5b], xmm0
movss dword [rbp - 0x75], xmm1
call fcn.140010530
mov rcx, qword [r8 + 0x3ee0]
lea rdx, [rbp - 0x79]
movss xmm0, dword [0x14005f8a0]
lea r8, [rbp + 0x57]
movss dword [rsp + 0x30], xmm0
mov r9d, eax
movss xmm0, dword [rdi + 0x37f4]
mov rcx, qword [rcx + 0x298]
movss dword [rsp + 0x20], xmm0
call fcn.140033fd0
mov r8, qword [0x140068738]
mov rax, qword [r8 + 0x3ee0]
mov byte [rax + 0xb8], 1
movss xmm0, dword [0x140068a40]
movss dword [rbp - 0x69], xmm0
movss xmm1, dword [0x140068a44]
lea rcx, [rbp - 0x69]
movss xmm0, dword [0x140068a48]
movss xmm3, dword [r14 + 0x100]
movss xmm2, dword [r14 + 0x104]
movss xmm11, dword [0x14005f904]
movss dword [rbp - 0x65], xmm1
movss xmm1, dword [0x140068a4c]
mulss xmm1, dword [r8 + 0x37c8]
movss dword [rbp - 0x61], xmm0
movaps xmm0, xmm3
addss xmm0, xmm7
movss dword [rbp - 0x5d], xmm1
addss xmm3, xmm10
movss xmm1, dword [rbx + 4]
subss xmm1, xmm11
movss dword [rbp + 0x57], xmm0
movss dword [rbp - 0x79], xmm3
addss xmm1, xmm2
addss xmm2, xmm11
movss dword [rbp + 0x5b], xmm1
movss dword [rbp - 0x75], xmm2
call fcn.140010530
mov rcx, qword [r8 + 0x3ee0]
lea rdx, [rbp - 0x79]
movss xmm6, dword [0x14005f8f0]
lea r8, [rbp + 0x57]
mov r9d, eax
mov dword [rsp + 0x28], 0
movss dword [rsp + 0x20], xmm6
mov rcx, qword [rcx + 0x298]
call fcn.1400340e0
mov r8, qword [0x140068738]
lea rcx, [rbp - 0x69]
mov rax, qword [r8 + 0x3ee0]
mov byte [rax + 0xb8], 1
movss xmm1, dword [0x140068a44]
movss xmm0, dword [0x140068a40]
movss xmm2, dword [r14 + 0x100]
movss xmm4, dword [rbx]
movss xmm3, dword [r14 + 0x104]
movss dword [rbp - 0x65], xmm1
movss xmm1, dword [0x140068a4c]
mulss xmm1, dword [r8 + 0x37c8]
movss dword [rbp - 0x69], xmm0
movss xmm0, dword [0x140068a48]
movss dword [rbp - 0x5d], xmm1
movss xmm1, dword [rbx + 4]
movss dword [rbp - 0x61], xmm0
subss xmm1, xmm11
movaps xmm0, xmm2
addss xmm0, xmm4
subss xmm4, xmm7
addss xmm1, xmm3
addss xmm3, xmm11
movss dword [rbp + 0x57], xmm0
addss xmm4, xmm2
movss dword [rbp + 0x5b], xmm1
movss dword [rbp - 0x75], xmm3
movss dword [rbp - 0x79], xmm4
call fcn.140010530
mov rcx, qword [r8 + 0x3ee0]
lea rdx, [rbp - 0x79]
mov r9d, eax
mov dword [rsp + 0x28], 0
lea r8, [rbp + 0x57]
movss dword [rsp + 0x20], xmm6
mov rcx, qword [rcx + 0x298]
call fcn.1400340e0
mov r8, qword [0x140068738]
mov rax, qword [r8 + 0x3ee0]
mov byte [rax + 0xb8], 1
movss xmm1, dword [0x140068a44]
movss xmm0, dword [0x140068a40]
movss dword [rbp - 0x65], xmm1
movss xmm1, dword [0x140068a4c]
mulss xmm1, dword [r8 + 0x37c8]
movss dword [rbp - 0x69], xmm0
movss xmm0, dword [0x140068a48]
movss dword [rbp - 0x5d], xmm1
movss dword [rbp - 0x61], xmm0
movss xmm3, dword [r14 + 0x100]
lea rcx, [rbp - 0x69]
movss xmm2, dword [r14 + 0x104]
movaps xmm0, xmm3
movss xmm1, dword [rbx + 4]
addss xmm0, xmm7
subss xmm1, xmm11
addss xmm3, xmm10
movss dword [rbp + 0x57], xmm0
addss xmm1, xmm2
addss xmm2, xmm11
movss dword [rbp - 0x79], xmm3
movss dword [rbp + 0x5b], xmm1
movss dword [rbp - 0x75], xmm2
call fcn.140010530
mov rcx, qword [r8 + 0x3ee0]
lea rdx, [rbp - 0x79]
mov r9d, eax
mov dword [rsp + 0x28], 0
lea r8, [rbp + 0x57]
movss dword [rsp + 0x20], xmm6
mov rcx, qword [rcx + 0x298]
call fcn.1400340e0
mov r8, qword [0x140068738]
lea rcx, [rbp - 0x69]
mov rax, qword [r8 + 0x3ee0]
mov byte [rax + 0xb8], 1
movss xmm1, dword [0x140068a44]
movss xmm0, dword [0x140068a40]
movss xmm2, dword [r14 + 0x100]
movss xmm4, dword [rbx]
movss xmm3, dword [r14 + 0x104]
movss dword [rbp - 0x65], xmm1
movss xmm1, dword [0x140068a4c]
mulss xmm1, dword [r8 + 0x37c8]
movss dword [rbp - 0x69], xmm0
movss xmm0, dword [0x140068a48]
movss dword [rbp - 0x5d], xmm1
movss xmm1, dword [rbx + 4]
movss dword [rbp - 0x61], xmm0
subss xmm1, xmm11
movaps xmm0, xmm2
addss xmm0, xmm4
subss xmm4, xmm7
addss xmm1, xmm3
addss xmm3, xmm11
movss dword [rbp + 0x57], xmm0
addss xmm4, xmm2
movss dword [rbp + 0x5b], xmm1
movss dword [rbp - 0x75], xmm3
movss dword [rbp - 0x79], xmm4
call fcn.140010530
mov rcx, qword [r8 + 0x3ee0]
lea rdx, [rbp - 0x79]
mov r9d, eax
mov dword [rsp + 0x28], 0
lea r8, [rbp + 0x57]
movss dword [rsp + 0x20], xmm6
mov rcx, qword [rcx + 0x298]
call fcn.1400340e0
mov rbx, qword [0x140068738]
mov rax, qword [rbx + 0x3ee0]
mov byte [rax + 0xb8], 1
movss xmm3, dword [rbx + 0x37c8]
movss xmm7, dword [0x140068a70]
movaps xmm4, xmm3
mulss xmm4, dword [0x140068a7c]
mulss xmm3, dword [0x140068a3c]
movss xmm6, dword [0x140068a74]
movss xmm5, dword [0x140068a78]
movss xmm2, dword [0x140068a30]
movss xmm1, dword [0x140068a34]
movss xmm0, dword [0x140068a38]
movss dword [rbp - 0x5d], xmm4
movss dword [rbp - 0x69], xmm7
movss dword [rbp - 0x65], xmm6
movss dword [rbp - 0x61], xmm5
movss dword [rbp - 0x59], xmm2
movss dword [rbp - 0x55], xmm1
movss dword [rbp - 0x51], xmm0
movss dword [rbp - 0x4d], xmm3
mov rax, qword [rbp + 0x67]
lea rcx, [rbp - 0x69]
movss dword [rbp - 0x41], xmm0
movss dword [rbp - 0x49], xmm2
movss xmm2, dword [r14 + 0x100]
movss xmm0, dword [rax]
mulss xmm0, dword [0x14005f824]
movss dword [rbp - 0x45], xmm1
movss xmm1, dword [r14 + 0x104]
addss xmm0, xmm2
movss dword [rbp - 0x3d], xmm3
addss xmm2, dword [0x14005f92c]
movss dword [rbp - 0x39], xmm7
movss dword [rbp - 0x35], xmm6
movss dword [rbp - 0x31], xmm5
movss dword [rbp + 0x57], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x14005f894]
addss xmm1, xmm10
movss dword [rbp - 0x2d], xmm4
movss dword [rbp - 0x79], xmm2
movss dword [rbp + 0x5b], xmm0
movss dword [rbp - 0x75], xmm1
call fcn.140010530
lea rcx, [rbp - 0x59]
mov r11d, eax
call fcn.140010530
lea rcx, [rbp - 0x49]
mov r10d, eax
call fcn.140010530
lea rcx, [rbp - 0x39]
mov r8d, eax
call fcn.140010530
mov rcx, qword [rbx + 0x3ee0]
lea rdx, [rbp - 0x79]
mov dword [rsp + 0x30], r11d
mov r9d, eax
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r8d
lea r8, [rbp + 0x57]
mov rcx, qword [rcx + 0x298]
call fcn.140034290
mov rbx, qword [0x140068738]
mov rax, qword [rbx + 0x3ee0]
mov byte [rax + 0xb8], 1
movss xmm3, dword [rbx + 0x37c8]
movss xmm0, dword [0x140068a38]
movaps xmm4, xmm3
mulss xmm3, dword [0x140068a3c]
mov rax, qword [rbp + 0x67]
movss xmm2, dword [0x140068a30]
movss xmm1, dword [0x140068a34]
mulss xmm4, dword [0x140068a7c]
movss xmm7, dword [0x140068a70]
movss xmm6, dword [0x140068a74]
movss xmm5, dword [0x140068a78]
movss dword [rbp - 0x41], xmm0
movss dword [rbp - 0x51], xmm0
movss dword [rbp - 0x3d], xmm3
movss dword [rbp - 0x4d], xmm3
movss xmm3, dword [rax]
movaps xmm0, xmm3
movss dword [rbp - 0x49], xmm2
mulss xmm0, dword [0x14005f824]
movss dword [rbp - 0x59], xmm2
movss xmm2, dword [r14 + 0x100]
addss xmm0, xmm2
movss dword [rbp - 0x45], xmm1
movss dword [rbp - 0x55], xmm1
movss xmm1, dword [r14 + 0x104]
movss dword [rbp - 0x39], xmm7
movss dword [rbp - 0x35], xmm6
movss dword [rbp + 0x57], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x14005f894]
movss dword [rbp - 0x31], xmm5
movss dword [rbp - 0x2d], xmm4
movss dword [rbp - 0x69], xmm7
movss dword [rbp - 0x65], xmm6
movss dword [rbp - 0x61], xmm5
movss dword [rbp - 0x5d], xmm4
subss xmm3, dword [0x14005f92c]
addss xmm1, xmm10
movss dword [rbp + 0x5b], xmm0
lea rcx, [rbp - 0x39]
addss xmm3, xmm2
movss dword [rbp - 0x75], xmm1
movss dword [rbp - 0x79], xmm3
call fcn.140010530
lea rcx, [rbp - 0x49]
mov r11d, eax
call fcn.140010530
lea rcx, [rbp - 0x59]
mov r10d, eax
call fcn.140010530
lea rcx, [rbp - 0x69]
mov r8d, eax
call fcn.140010530
mov rcx, qword [rbx + 0x3ee0]
lea rdx, [rbp - 0x79]
mov dword [rsp + 0x30], r11d
mov r9d, eax
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r8d
lea r8, [rbp + 0x57]
mov rcx, qword [rcx + 0x298]
call fcn.140034290
mov rbx, qword [0x140068738]
test rsi, rsi
jne 0x1400034b1
xorps xmm0, xmm0
jmp 0x140003505
movss xmm0, dword [0x14005fa30]
lea rdx, [rbp + 0x57]
movss xmm3, dword [0x14005fa0c]
movss xmm2, dword [rbx + 0x3c18]
mov rcx, qword [rbx + 0x3c10]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rsi
movss dword [rsp + 0x20], xmm0
call fcn.140038ae0
movss xmm0, dword [rbp + 0x57]
addss xmm0, dword [0x14005f85c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov rax, qword [rbp + 0x67]
lea rcx, [rbp - 0x39]
movss xmm1, dword [rax]
subss xmm1, xmm0
movss xmm0, dword [r14 + 0x104]
addss xmm0, xmm11
mulss xmm1, dword [0x14005f824]
movss dword [rbp + 0x6b], xmm0
movss xmm0, dword [0x140068a60]
addss xmm1, dword [r14 + 0x100]
movss dword [rbp - 0x39], xmm0
movss xmm0, dword [0x140068a68]
movss dword [rbp - 0x31], xmm0
movss dword [rbp + 0x67], xmm1
movss xmm1, dword [0x140068a64]
movss dword [rbp - 0x35], xmm1
movss xmm1, dword [0x140068a6c]
mulss xmm1, dword [rbx + 0x37c8]
movss dword [rbp - 0x2d], xmm1
call fcn.140010530
mov r9d, eax
mov rax, qword [rbx + 0x3ee0]
mov rcx, rsi
cmp rsi, 0xffffffffffffffff
jae 0x140003640
movzx r8d, byte [rcx]
test r8b, r8b
je 0x1400035b7
lea rdx, [rcx + 1]
cmp r8b, 0x23
jne 0x1400035ae
cmp byte [rdx], r8b
je 0x1400035b7
mov rcx, rdx
cmp rdx, 0xffffffffffffffff
jb 0x140003596
cmp rsi, rcx
je 0x140003640
mov rdx, qword [rax + 0x298]
mov rax, qword [0x140068778]
test r9d, 0xff000000
je 0x140003640
test rcx, rcx
jne 0x1400035f4
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rsi + rcx], 0
jne 0x1400035e3
add rcx, rsi
cmp rsi, rcx
je 0x140003640
test rax, rax
jne 0x140003601
mov rax, qword [rdx + 0x38]
mov rax, qword [rax + 8]
movups xmm0, xmmword [rdx + 0x88]
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm10
movaps xmm2, xmm11
mov qword [rsp + 0x38], rcx
lea rcx, [rbp - 0x39]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rcx
mov rcx, rax
mov dword [rsp + 0x20], r9d
lea r9, [rbp + 0x67]
movups xmmword [rbp - 0x39], xmm0
call fcn.140038d00
mov rcx, qword [rbp - 0x71]
mov r8d, r15d
xor edx, edx
call fcn.14001a360
mov rsi, qword [rdi + 0x3ee0]
movzx r15d, al
cmp word [rsi + 0xc2], 1
mov dword [rsi + 0x80], r12d
mov byte [rsi + 0xd2], r13b
jne 0x14000367f
movsd xmm0, qword [rsi + 0x20]
movsd qword [r14 + 0x100], xmm0
mov r9d, r12d
lea rdx, [0x140058861]
not r9d
lea r10, [0x14005a5c0]
mov ebx, r9d
mov r8b, 0x23
nop dword [rax]
cmp r8b, 0x23
jne 0x1400036b3
cmp byte [rdx], r8b
jne 0x1400036b3
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 0x1400036a0
not ebx
cmp dword [rdi + 0x3f40], ebx
jne 0x1400036e3
xor edx, edx
xor ecx, ecx
call fcn.140013ec0
cmp dword [rdi + 0x48f0], r12d
jne 0x140003729
cmp word [rsi + 0x15c], 0
jne 0x1400036ff
cmp byte [rsi + 0x162], 0
je 0x140003729
xor edx, edx
mov rcx, rsi
call fcn.14001c860
xor edx, edx
mov rcx, rsi
call fcn.140022b30
mov rdx, rsi
mov ecx, ebx
call fcn.140013ec0
mov eax, dword [rdi + 0x4914]
mov dword [rdi + 0x3f68], eax
lea r11, [rsp + 0xe0]
movzx eax, r15b
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm10, xmmword [r11 - 0x30]
movaps xmm11, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret