Function at 0x1400344c0
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x100
vmovaps xmmword [rax - 0x38], xmm6
vmovaps xmmword [rax - 0x48], xmm7
vmovaps xmmword [rax - 0x58], xmm10
lea rbp, [rsp + 0x40]
and rbp, 0xffffffffffffffe0
mov rsi, qword [0x1400963d0]
xor r9d, r9d
mov qword [rbp + 0x20], rsi
mov qword [rbp + 0x18], r9
mov byte [rbp + 0x10], r9b
mov eax, dword [rsi + 0x48a0]
sub eax, 1
js 0x14003454f
movsxd rdx, eax
mov rax, qword [rsi + 0x48a8]
imul r8, rdx, 0x38
add rax, 8
add r8, rax
nop dword [rax]
mov rdi, qword [r8]
test rdi, rdi
je 0x140034545
test dword [rdi + 0x14], 0x8000000
jne 0x1400346c9
sub r8, 0x38
sub rdx, 1
jns 0x140034530
lea r13, [rsi + 0x4a60]
mov rdi, r9
mov rax, qword [r13]
vxorps xmm10, xmm10, xmm10
cmp qword [rsi + 0x4a68], r9
je 0x1400345ab
test rax, rax
jne 0x1400345ab
vcomiss xmm10, dword [rsi + 0x4a94]
vmovss xmm0, dword [rsi + 0x18]
vmovss xmm1, dword [0x140088628]
vfnmadd213ss xmm1, xmm0, dword [rsi + 0x4a7c]
vmaxss xmm0, xmm1, xmm10
vmovss dword [rsi + 0x4a7c], xmm0
jb 0x1400345ab
vcomiss xmm0, xmm10
ja 0x1400345ab
mov qword [rsi + 0x4a68], r9
movabs rax, 0x45995f53e1f26eb4
lea rdx, [rbp + 0x41]
mov qword [rbp + 8], rax
movabs rcx, 0xb6232b21e4027aae
mov rax, qword [rbp + 8]
mov ebx, 0xffffffff
mov qword [rbp + 0x40], rax
movabs rax, 0xd85188fc378f04a8
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x48], rax
movabs rax, 0x338a469f97f3cdde
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x50], rax
mov qword [rbp + 8], rcx
mov rax, qword [rbp + 8]
mov qword [rbp + 0x58], rax
movabs rax, 0x35cc2932afd14d97
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x60], rax
movabs rax, 0xbc3fe1ab52fb65cc
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x68], rax
movabs rax, 0x338a46f8f99abab1
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x70], rax
mov qword [rbp + 8], rcx
mov rax, qword [rbp + 8]
vmovdqu ymm0, ymmword [rbp + 0x40]
mov qword [rbp + 0x78], rax
vpxor ymm1, ymm0, ymmword [rbp + 0x60]
vmovq r8, xmm1
vmovdqu ymmword [rbp + 0x40], ymm1
test r8b, r8b
je 0x1400346b5
lea r9, [0x140083350]
mov esi, ebx
nop dword [rax]
cmp r8b, 0x23
jne 0x140034692
cmp byte [rdx], r8b
jne 0x140034692
cmp byte [rdx + 1], r8b
cmove ebx, esi
movzx ecx, bl
movzx eax, r8b
xor rcx, rax
shr ebx, 8
movzx eax, byte [rdx]
inc rdx
movzx r8d, al
xor ebx, dword [r9 + rcx*4]
test al, al
jne 0x140034680
mov rsi, qword [rbp + 0x20]
mov eax, dword [rsi + 8]
not ebx
test al, 2
je 0x1400346dc
test byte [rsi + 0xc], 1
je 0x1400346dc
mov r14b, 1
jmp 0x1400346df
lea r13, [rsi + 0x4a60]
mov rax, r9
mov qword [r13], r9
jmp 0x14003455d
xor r14b, r14b
and al, 1
mov dword [rbp + 8], eax
test rdi, rdi
jne 0x14003470c
mov ecx, dword [rsi + 0x4a58]
test ecx, ecx
je 0x14003470c
mov r8d, 0x1001
mov edx, ebx
vzeroupper
call fcn.14002caa0
test al, al
je 0x14003470c
mov r15b, 1
jmp 0x140034714
xor r15b, r15b
test rdi, rdi
jne 0x140034737
mov ecx, dword [rsi + 0x4a5c]
test ecx, ecx
je 0x140034737
mov r8d, 0x1001
mov edx, ebx
vzeroupper
call fcn.14002caa0
test al, al
je 0x140034737
mov r12b, 1
jmp 0x14003473f
xor r12b, r12b
test rdi, rdi
jne 0x140034766
test r14b, r14b
je 0x140034766
cmp qword [r13], 0
jne 0x140034766
xor r8d, r8d
xor edx, edx
mov ecx, 0x26b
vzeroupper
call fcn.14002a140
test al, al
je 0x140034766
mov r8b, 1
jmp 0x140034774
xor r8b, r8b
test rdi, rdi
jne 0x140034782
cmp qword [r13], rdi
jne 0x140034782
test r15b, r15b
jne 0x14003477e
test r12b, r12b
je 0x140034782
mov al, 1
jmp 0x140034784
xor al, al
mov r14, qword [0x1400963d0]
mov byte [rbp + 1], al
test r8b, r8b
jne 0x14003479b
test al, al
je 0x140034918
mov rax, qword [rsi + 0x48d8]
test rax, rax
jne 0x14003481d
mov r9d, dword [rsi + 0x3ea8]
sub r9d, 1
js 0x140034918
movsxd rdx, r9d
movsxd rax, dword [r14 + 0x3ea8]
cmp rdx, rax
jge 0x140034918
cmp rdx, 0xffffffff80000001
je 0x140034918
mov rax, qword [r14 + 0x3eb0]
mov rcx, qword [rax + rdx*8]
cmp byte [rcx + 0xb7], 0
je 0x1400347fe
cmp rcx, qword [rcx + 0x378]
jne 0x1400347fe
test dword [rcx + 0x14], 0x80000
je 0x14003480d
dec r9d
sub rdx, 1
js 0x140034918
jmp 0x1400347bb
movsxd rcx, r9d
mov rax, qword [rax + rcx*8]
test rax, rax
je 0x140034918
mov rax, qword [rax + 0x378]
mov qword [rsi + 0x4a68], rax
mov qword [r13], rax
xor eax, eax
mov qword [rsi + 0x4a78], rax
mov qword [rsi + 0x4a8c], rax
mov qword [rsi + 0x4a84], rax
movzx eax, byte [rbp + 1]
xor eax, 1
mov byte [rsi + 0x4a80], r8b
add eax, 2
mov dword [rsi + 0x490c], eax
test r15b, r15b
jne 0x14003486b
test r12b, r12b
je 0x140034918
mov eax, dword [rsi + 0x4a5c]
or eax, dword [rsi + 0x4a58]
bt eax, 0xc
jae 0x140034895
mov dword [r14 + 0x4604], ebx
mov dword [r14 + 0x4600], ebx
mov word [r14 + 0x4608], 0
bt eax, 0xd
jae 0x1400348b3
mov dword [r14 + 0x4610], ebx
mov dword [r14 + 0x460c], ebx
mov word [r14 + 0x4614], 0
bt eax, 0xe
jae 0x1400348d1
mov dword [r14 + 0x461c], ebx
mov dword [r14 + 0x4618], ebx
mov word [r14 + 0x4620], 0
bt eax, 0xf
jae 0x1400348ef
mov dword [r14 + 0x4628], ebx
mov dword [r14 + 0x4624], ebx
mov word [r14 + 0x462c], 0
bt eax, 0xb
jae 0x140034918
cmp byte [r14 + 0x79], 0
mov eax, 0x4600
mov ecx, 0x4624
cmovne eax, ecx
mov dword [rax + r14 + 4], ebx
mov dword [rax + r14], ebx
mov word [rax + r14 + 8], 0
vmovss xmm0, dword [rsi + 0x4a78]
mov rdi, qword [r13]
mov eax, 1
mov rdx, rdi
vaddss xmm1, xmm0, dword [rsi + 0x18]
vmovss xmm6, dword [0x14008858c]
vmovss dword [rsi + 0x4a78], xmm1
test rdi, rdi
je 0x140034a32
cmp dword [rsi + 0x490c], 3
jne 0x140034a3b
vsubss xmm0, xmm1, dword [0x140088514]
vmulss xmm1, xmm0, dword [0x140088648]
vcomiss xmm1, xmm10
jae 0x140034975
vmovaps xmm2, xmm10
jmp 0x140034979
vminss xmm2, xmm1, xmm6
vmovss xmm0, dword [rsi + 0x4a7c]
vmaxss xmm7, xmm0, xmm2
vmovss dword [rsi + 0x4a7c], xmm7
mov r8d, eax
xor edx, edx
mov ecx, 0x273
vzeroupper
call fcn.14002a140
xor edx, edx
movzx ebx, al
mov ecx, 0x274
lea r8d, [rdx + 1]
call fcn.14002a140
movzx ecx, al
mov eax, ebx
sub eax, ecx
je 0x1400349d4
mov ecx, eax
call fcn.140034370
mov rdi, qword [r13]
mov dword [rsi + 0x4a7c], 0x3f800000
vmovaps xmm7, xmm6
mov edx, 0x26b
mov rcx, r14
call fcn.140029920
cmp byte [rax], 0
je 0x1400349f7
cmp byte [r14 + 0x44ac], 0
mov rdx, qword [r13]
mov rdi, rdx
je 0x140034a32
vcomiss xmm7, xmm6
setb al
and byte [rsi + 0x4a80], al
je 0x140034a21
cmp qword [rsi + 0x48d8], 0
je 0x140034a25
mov byte [rbp + 0x10], 1
mov qword [r13], 0
jmp 0x140034aeb
mov qword [rbp + 0x18], rdi
mov qword [r13], 0
jmp 0x140034aeb
test rdx, rdx
je 0x140034aeb
cmp dword [rsi + 0x490c], 2
jne 0x140034aeb
mov eax, dword [rsi + 0x4a58]
mov ecx, 0xf800
vmovss xmm0, dword [rsi + 0x4a78]
vsubss xmm1, xmm0, dword [0x140088514]
vmulss xmm2, xmm1, dword [0x140088648]
test eax, eax
mov r8d, 0xf800
cmovne ecx, eax
mov eax, dword [rsi + 0x4a5c]
test eax, eax
cmovne r8d, eax
and r8d, ecx
mov ecx, r8d
and ecx, 0xf800
vcomiss xmm2, xmm10
jae 0x140034a9c
vmovaps xmm1, xmm10
jmp 0x140034aa0
vminss xmm1, xmm2, xmm6
vmovss xmm0, dword [rsi + 0x4a7c]
vmaxss xmm1, xmm0, xmm1
vmovss dword [rsi + 0x4a7c], xmm1
test r15b, r15b
jne 0x140034ad5
test r12b, r12b
jne 0x140034ad5
mov eax, dword [rsi + 0xe28]
and eax, r8d
and eax, 0xf800
cmp eax, ecx
je 0x140034aeb
mov r15, rdx
jmp 0x140034aef
movzx ecx, r15b
xor ecx, 1
lea ecx, [rcx*2 - 1]
vzeroupper
call fcn.140034370
mov r15, qword [rbp + 0x18]
cmp byte [rbp + 8], 0
je 0x140034b1f
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x4000
vzeroupper
call fcn.14002a140
test al, al
je 0x140034b1f
mov byte [rsi + 0x4a80], 1
mov dword [rsi + 0x490c], 2
cmp byte [rsi + 0x4a80], 0
je 0x140034c59
cmp dword [rsi + 0x490c], 2
jne 0x140034c59
cmp dword [rsi + 0x37c0], 0
jg 0x140034b67
cmp byte [rsi + 0xe24], 0
jne 0x140034b67
cmp byte [rsi + 0xe25], 0
jne 0x140034b67
cmp byte [rsi + 0xe27], 0
jne 0x140034b67
cmp dword [r14 + 0x4618], 0xffffffff
je 0x140034b6e
mov byte [rsi + 0x4a80], 0
mov edx, 0x4000
mov rcx, r14
vzeroupper
call fcn.140029920
vcomiss xmm10, dword [rax + 8]
ja 0x140034c36
cmp byte [rax], 0
jne 0x140034c36
cmp byte [r14 + 0x4620], 0
jne 0x140034c36
cmp byte [rsi + 0x4a80], 0
je 0x140034c36
cmp dword [rsi + 0x3f58], 0
je 0x140034bbf
cmp byte [rsi + 0x3f65], 0
je 0x140034c36
lea rax, [rsi + 0x36f0]
test rax, rax
jne 0x140034bd2
lea rax, [r14 + 0xe08]
vmovss xmm0, dword [rax]
vmovss xmm1, dword [0x140088724]
vcomiss xmm0, xmm1
vmovss xmm2, dword [rax + 4]
jb 0x140034bf3
vcomiss xmm2, xmm1
jb 0x140034bf3
mov cl, 1
jmp 0x140034bf5
xor cl, cl
lea rax, [rsi + 0xe08]
test rax, rax
jne 0x140034c08
lea rax, [r14 + 0xe08]
vmovss xmm0, dword [rax]
vcomiss xmm0, xmm1
vmovss xmm2, dword [rax + 4]
jb 0x140034c21
vcomiss xmm2, xmm1
jb 0x140034c21
mov al, 1
jmp 0x140034c23
xor al, al
mov edx, dword [rbp + 0x10]
cmp al, cl
movzx edx, dl
mov eax, 1
cmove edx, eax
mov dword [rbp + 0x10], edx
mov edx, 0x4000
mov rcx, r14
call fcn.140029920
cmp byte [rax], 0
je 0x140034c52
cmp byte [r14 + 0x4620], 0
je 0x140034c59
mov byte [rsi + 0x4a80], 0
mov rax, qword [r13]
test rax, rax
je 0x140034df3
test byte [rax + 0x14], 4
jne 0x140034df3
mov eax, dword [rsi + 0x490c]
cmp eax, 2
jne 0x140034cbf
cmp byte [rsi + 0xe25], 0
jne 0x140034df3
mov edx, 0x203
mov rcx, r14
vzeroupper
call fcn.140029920
mov edx, 0x201
mov rcx, r14
mov rdi, rax
call fcn.140029920
mov edx, 0x202
mov rcx, r14
mov rbx, rax
call fcn.140029920
mov edx, 0x204
jmp 0x140034cfd
cmp eax, 3
jne 0x140034df3
mov edx, 0x27b
mov rcx, r14
vzeroupper
call fcn.140029920
mov edx, 0x279
mov rcx, r14
mov rdi, rax
call fcn.140029920
mov edx, 0x27a
mov rcx, r14
mov rbx, rax
call fcn.140029920
mov edx, 0x27c
vmovss xmm0, dword [rax + 0xc]
vsubss xmm6, xmm0, dword [rbx + 0xc]
mov rcx, r14
call fcn.140029920
vucomiss xmm6, xmm10
vmovss xmm0, dword [rax + 0xc]
vsubss xmm4, xmm0, dword [rdi + 0xc]
jne 0x140034d2b
vucomiss xmm4, xmm10
je 0x140034df3
vmovss xmm0, dword [rsi + 0x74]
vminss xmm1, xmm0, dword [rsi + 0x70]
vmulss xmm2, xmm1, dword [rsi + 0x18]
vmulss xmm3, xmm2, dword [0x1400886ac]
vmovaps xmm1, xmm6
vfmadd213ss xmm1, xmm3, dword [rsi + 0x4a84]
vcvttss2si eax, xmm1
vmovaps xmm0, xmm4
vfmadd213ss xmm0, xmm3, dword [rsi + 0x4a88]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm7, xmm7, eax
vucomiss xmm7, xmm10
vcvttss2si eax, xmm0
vxorps xmm6, xmm6, xmm6
vcvtsi2ss xmm6, xmm6, eax
vmovss dword [rsi + 0x4a84], xmm1
vmovss dword [rsi + 0x4a88], xmm0
mov byte [rsi + 0x4917], 1
jne 0x140034d99
vucomiss xmm6, xmm10
je 0x140034df3
mov rax, qword [r13]
lea rdx, [rbp + 0x20]
mov edi, 1
mov r8d, edi
mov rcx, qword [rax + 0x378]
vaddss xmm0, xmm7, dword [rcx + 0x20]
vaddss xmm1, xmm6, dword [rcx + 0x24]
vmovss dword [rbp + 0x20], xmm0
vmovss dword [rbp + 0x24], xmm1
call fcn.140029430
vmovss xmm0, dword [rsi + 0x4a84]
vmovss xmm2, dword [rsi + 0x4a88]
vsubss xmm1, xmm0, xmm7
vsubss xmm0, xmm2, xmm6
vmovss dword [rsi + 0x4a88], xmm0
vmovss dword [rsi + 0x4a84], xmm1
jmp 0x140034df8
mov edi, 1
test r15, r15
je 0x140034e7b
mov rax, qword [rsi + 0x48d8]
test rax, rax
je 0x140034e12
cmp r15, qword [rax + 0x378]
je 0x140034e73
xor edx, edx
xor ecx, ecx
vzeroupper
call fcn.14001f530
mov rax, qword [0x1400963d0]
xor edx, edx
mov rcx, r15
mov word [rax + 0x4915], 1
mov byte [rax + 0x4917], 1
call fcn.14002e460
mov edx, edi
mov rcx, r15
call fcn.140028b60
mov rbx, qword [rsi + 0x48d8]
cmp dword [rbx + 0x3a0], 0
jne 0x140034e63
xor edx, edx
mov rcx, rbx
call fcn.140030b00
cmp word [rbx + 0x15e], 2
jne 0x140034e73
mov dword [rsi + 0x4910], edi
mov qword [r13], 0
cmp byte [rbp + 0x10], 0
je 0x140034f44
cmp qword [rsi + 0x48d8], 0
je 0x140034f44
xor edx, edx
xor ecx, ecx
vzeroupper
call fcn.14001f530
mov rdi, qword [rsi + 0x48d8]
mov rbx, rdi
lea rcx, [rdi + 0x368]
cmp qword [rcx], 0
je 0x140034ef4
test byte [rbx + 0x15c], 2
jne 0x140034ede
mov eax, dword [rbx + 0x14]
and eax, 0x15000000
cmp eax, 0x1000000
jne 0x140034ede
mov rbx, qword [rcx]
lea rcx, [rbx + 0x368]
cmp qword [rcx], 0
jne 0x140034eb6
cmp rbx, rdi
je 0x140034ef4
xor edx, edx
mov rcx, rbx
call fcn.140028b60
mov qword [rbx + 0x398], rdi
mov rax, qword [rsi + 0x48d8]
test byte [rax + 0x15c], 2
je 0x140034f0f
mov ecx, dword [rsi + 0x4910]
xor ecx, 1
jmp 0x140034f11
xor ecx, ecx
cmp ecx, dword [rsi + 0x4910]
je 0x140034f44
cmp ecx, 1
jne 0x140034f28
mov dword [rax + 0x3a4], 0
call fcn.140030820
mov rax, qword [0x1400963d0]
mov word [rax + 0x4915], 1
mov byte [rax + 0x4917], 1
vzeroupper
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm10, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret