Function at 0x14002b580
Capabilities:
Hash data with crc32

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
vmovaps xmmword [rsp + 0x20], xmm6
mov r13d, ecx
mov r15, qword [0x1400c1650]
test r13b, 0x10
jne 0x14002b67d
mov rsi, qword [r15 + 0x4000]
mov edi, dword [r15 + 0x49b0]
test edi, edi
je 0x14002b78c
xor eax, eax
cmp dword [r15 + 0x4064], edi
jne 0x14002b8d8
mov ecx, dword [r15 + 0x4078]
movsx r12d, cl
shl ecx, 0x18
cmp ecx, 0xff000000
cmove r12d, eax
movsxd rcx, r12d
cmp byte [r15 + rcx + 0xe48], 0
je 0x14002b8d8
xor eax, eax
cmp byte [rsi + 0xc3], 0
jne 0x14002b8d8
xor r14d, r14d
mov byte [r15 + 0x4071], r14b
mov rbp, qword [0x1400c1650]
movsxd rax, r12d
cmp byte [rbp + rax + 0xe48], 0
je 0x14002b9b6
mov rcx, qword [rsi + 0x108]
movsxd rdx, dword [rsi + 0x100]
mov r14d, dword [rcx + rdx*4 - 4]
vmovss xmm0, dword [rbp + 0x6c]
vmulss xmm0, xmm0, xmm0
vucomiss xmm0, dword [rbp + rax*4 + 0x38b8]
mov dword [rbp + 0x4970], 0xf
mov byte [rbp + 0x4974], 1
mov word [rbp + 0x4bc0], 0
movzx eax, byte [rbp + 0x4b7d]
mov byte [rbp + 0x4b7c], al
jbe 0x14002b6da
jmp 0x14002b7a3
mov ebp, 0xffffffff
mov bl, 0x23
lea rcx, [0x140074326]
lea rdx, [0x140069980]
mov edi, 0xffffffff
jmp 0x14002b6b8
movzx ebx, bl
movzx esi, dil
shr edi, 8
xor esi, ebx
xor edi, dword [rdx + rsi*4]
inc rcx
mov ebx, eax
test al, al
je 0x14002b6cf
movzx eax, byte [rcx - 1]
cmp bl, 0x23
jne 0x14002b6a0
cmp al, 0x23
jne 0x14002b6a0
cmp byte [rcx], 0x23
cmove edi, ebp
mov al, 0x23
jmp 0x14002b6a0
not edi
xor r14d, r14d
mov rbp, r15
xor r12d, r12d
cmp byte [r15 + 0x4d4c], 0
jne 0x14002b850
mov byte [rbp + 0x4d4c], 0
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rbp + 0x4d78], ymm0
mov byte [rbp + 0x4d98], 0
vxorps xmm6, xmm6, xmm6
vmovups xmmword [rbp + 0x4d60], xmm6
movabs rax, 0xffffffff00000000
mov qword [rbp + 0x4d70], rax
mov word [rbp + 0x4d99], 0
movabs rax, 0x7f7fffff00000000
mov qword [rbp + 0x4dc4], rax
mov qword [rbp + 0x4dcc], 0
mov dword [rbp + 0x4dd4], 0xffffffff
mov rcx, qword [rbp + 0x4de8]
test rcx, rcx
je 0x14002b813
mov qword [rbp + 0x4de0], 0
mov eax, dword [rbp + 0x3f58]
movsx rdx, word [rbp + 0x60f0]
cmp dword [rbp + rdx*8 + 0x60f4], eax
jne 0x14002b7aa
movzx eax, word [rbp + rdx*8 + 0x60fa]
inc eax
jmp 0x14002b7ea
cmp byte [r15 + 0xe48], 0
je 0x14002b7a3
cmp byte [rsi + 0xc3], 0
je 0x14002b8f2
xor eax, eax
jmp 0x14002b8d8
inc edx
movsxd rdx, edx
imul rbx, rdx, 0x2aaaaaab
mov rsi, rbx
shr rsi, 0x3f
shr rbx, 0x20
add ebx, esi
add ebx, ebx
lea ebx, [rbx + rbx*2]
sub edx, ebx
mov word [rbp + 0x60f0], dx
movsxd rdx, edx
mov dword [rbp + rdx*8 + 0x60f4], eax
mov dword [rbp + rdx*8 + 0x60f8], 0
mov ax, 1
mov word [rbp + rdx*8 + 0x60fa], ax
inc dword [rbp + 0x60ec]
mov rdx, qword [0x1400c1660]
vzeroupper
call qword [0x14007b358]
mov qword [rbp + 0x4de8], 0
vmovups xmmword [rbp + 0x4df0], xmm6
mov dword [r15 + 0x4d6c], edi
mov dword [r15 + 0x4d70], r14d
mov byte [r15 + 0x4d4c], 1
mov dword [r15 + 0x4d50], r13d
mov dword [r15 + 0x4d58], r12d
cmp edi, dword [r15 + 0x4064]
jne 0x14002b850
mov byte [r15 + 0x4072], 1
mov eax, dword [r15 + 0x3f58]
mov dword [r15 + 0x4d54], eax
mov byte [r15 + 0x4d4d], 1
test r13b, 1
jne 0x14002b8c8
cmp dword [r15 + 0x4dd0], 0
je 0x14002b880
test byte [r15 + 0x4dc5], 0x10
jne 0x14002b88e
xor ecx, ecx
xor edx, edx
vzeroupper
call fcn.140029d20
jmp 0x14002b8c8
mov rsi, qword [0x1400c1650]
lea rcx, str.Tooltip_Hidden
xor edx, edx
mov r8d, 0x2030347
vzeroupper
call fcn.14001e470
mov rax, qword [rsi + 0x4000]
mov byte [rax + 0xc3], 1
mov byte [rax + 0xc5], 1
mov byte [rax + 0xe4], 1
mov al, 1
test r13b, 0x12
jne 0x14002b8d8
and byte [r15 + 0x49b8], 0xfe
vmovaps xmm6, xmmword [rsp + 0x20]
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
vzeroupper
ret
test byte [r15 + 0x49b8], 1
jne 0x14002b91d
cmp dword [r15 + 0x4064], 0
je 0x14002b7a3
xor eax, eax
test r13b, 8
je 0x14002b8d8
cmp qword [r15 + 0x4088], rsi
je 0x14002b927
jmp 0x14002b8d8
test r13b, 8
je 0x14002b7a3
lea r14, [r15 + 0x49bc]
mov rcx, rsi
mov rdx, r14
call fcn.140016280
mov edi, eax
mov dword [r15 + 0x49b0], eax
mov rax, qword [0x1400c1650]
cmp dword [rax + 0x4064], edi
jne 0x14002b957
mov dword [rax + 0x4068], edi
cmp dword [rax + 0x4094], edi
jne 0x14002b966
mov byte [rax + 0x4098], 1
mov r8d, dword [r15 + 0x49b4]
mov rcx, r14
mov edx, edi
call fcn.140017000
mov r14d, eax
test al, al
je 0x14002b99c
cmp byte [r15 + 0x3860], 0
je 0x14002b99c
mov ecx, edi
mov rdx, rsi
call fcn.140016bb0
mov rcx, rsi
xor edx, edx
call fcn.140017710
xor r12d, r12d
mov eax, 0
cmp dword [r15 + 0x4064], edi
je 0x14002b60b
jmp 0x14002b8d8
mov dword [rbp + 0x4970], 0xf
mov byte [rbp + 0x4974], 1
mov word [rbp + 0x4bc0], 0
movzx eax, byte [rbp + 0x4b7d]
mov byte [rbp + 0x4b7c], al
xor eax, eax
jmp 0x14002b8d8