Function at 0x140036380
Capabilities:
Hash data with crc32

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rsi, qword [0x140218048]
mov r12, qword [rsi + 0x4008]
mov eax, ecx
mov edi, ecx
and eax, 0x10
jne 0x140036450
mov ebx, dword [rsi + 0x4978]
test ebx, ebx
je 0x140036528
cmp dword [rsi + 0x406c], ebx
jne 0x140036445
mov r13d, dword [rsi + 0x4094]
cmp r13d, 0xffffffff
cmove r13d, eax
movsxd rax, r13d
cmp byte [rsi + rax + 0xe50], 0
je 0x140036445
cmp byte [r12 + 0xc3], 0
jne 0x140036445
mov rdx, qword [r12 + 0x108]
movsxd rcx, dword [r12 + 0x100]
mov byte [rsi + 0x4079], 0
mov rbp, rsi
mov r12d, dword [rdx + rcx*4 - 4]
movzx edx, byte [rsi + 0x4b25]
movss xmm1, dword [rbp + rax*4 + 0x38c0]
movss xmm0, dword [rbp + 0x6c]
xor ecx, ecx
mov dword [rbp + 0x4940], 0xf
mov byte [rbp + 0x4944], 1
mulss xmm0, xmm0
mov word [rbp + 0x4b68], cx
mov byte [rbp + 0x4b24], dl
comiss xmm1, xmm0
jae 0x1400364bd
xor eax, eax
jmp 0x140036514
mov edx, 0xffffffff
mov eax, 0x23
lea rcx, [0x1401a87bf]
lea r9, [0x1401aac20]
jmp 0x140036492
mov r8d, edx
movzx edx, dl
shr r8d, 8
xor eax, edx
add rcx, 1
movzx eax, al
mov edx, dword [r9 + rax*4]
movzx eax, byte [rcx - 1]
xor edx, r8d
test al, al
je 0x1400364b0
cmp al, 0x23
jne 0x140036470
cmp byte [rcx], 0x23
jne 0x140036470
cmp byte [rcx + 1], 0x23
jne 0x140036470
mov edx, 0xff
mov r8d, 0xffffff
jmp 0x14003647a
mov ebx, edx
mov rbp, rsi
xor r12d, r12d
xor r13d, r13d
not ebx
cmp byte [rsi + 0x4cf0], 0
je 0x1400367b0
mov eax, dword [rsi + 0x3f60]
mov byte [rsi + 0x4cf1], 1
mov dword [rsi + 0x4cf8], eax
test dil, 1
jne 0x140036503
mov eax, dword [rsi + 0x4d60]
test eax, eax
je 0x1400364fa
test byte [rsi + 0x4d55], 0x10
jne 0x140036887
xor edx, edx
xor ecx, ecx
call fcn.1400318e0
and edi, 0x12
jne 0x14003650f
and dword [rsi + 0x4980], 0xfffffffe
mov eax, 1
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
cmp byte [rsi + 0xe50], 0
je 0x140036445
cmp byte [r12 + 0xc3], 0
jne 0x140036445
test byte [rsi + 0x4980], 1
jne 0x14003656a
mov r9d, dword [rsi + 0x406c]
test r9d, r9d
je 0x140036445
cmp qword [rsi + 0x4088], r12
jne 0x140036445
test dil, 8
je 0x140036445
movss xmm5, dword [rsi + 0x4984]
movsxd rdx, dword [r12 + 0x100]
lea r9, [rsi + 0x4984]
mov rax, qword [r12 + 0x108]
movss xmm4, dword [rsi + 0x4988]
movss xmm3, dword [rsi + 0x498c]
movss xmm2, dword [rsi + 0x4990]
movss xmm1, dword [r12 + 0x120]
mov eax, dword [rax + rdx*4 - 4]
movss xmm0, dword [r12 + 0x124]
subss xmm5, xmm1
not eax
subss xmm3, xmm1
mov edx, eax
subss xmm4, xmm0
subss xmm2, xmm0
shr edx, 8
movd ebx, xmm5
xor eax, ebx
movzx ecx, al
lea rax, [0x1401aac20]
xor edx, dword [rax + rcx*4]
mov ecx, ebx
mov r8d, edx
xor dl, bh
shr ecx, 0x10
shr r8d, 8
movzx edx, dl
shr ebx, 0x18
xor r8d, dword [rax + rdx*4]
xor ecx, r8d
mov edx, r8d
movzx ecx, cl
shr edx, 8
xor edx, dword [rax + rcx*4]
mov ecx, edx
xor edx, ebx
movd ebx, xmm4
movzx edx, dl
shr ecx, 8
xor ecx, dword [rax + rdx*4]
mov edx, ecx
xor ecx, ebx
movzx ecx, cl
shr edx, 8
xor edx, dword [rax + rcx*4]
mov ecx, ebx
mov r8d, edx
xor dl, bh
shr ecx, 0x10
shr r8d, 8
movzx edx, dl
shr ebx, 0x18
xor r8d, dword [rax + rdx*4]
xor ecx, r8d
mov edx, r8d
movzx ecx, cl
shr edx, 8
xor edx, dword [rax + rcx*4]
mov ecx, edx
xor edx, ebx
movd ebx, xmm3
movzx edx, dl
shr ecx, 8
xor ecx, dword [rax + rdx*4]
mov edx, ecx
xor ecx, ebx
movzx ecx, cl
shr edx, 8
xor edx, dword [rax + rcx*4]
mov ecx, ebx
mov r8d, edx
shr r8d, 8
xor dl, bh
shr ecx, 0x10
movzx edx, dl
shr ebx, 0x18
xor r8d, dword [rax + rdx*4]
xor ecx, r8d
mov edx, r8d
movd r8d, xmm2
movzx ecx, cl
shr edx, 8
xor edx, dword [rax + rcx*4]
mov ecx, edx
xor edx, ebx
mov ebx, r8d
movzx edx, dl
shr ecx, 8
xor ecx, dword [rax + rdx*4]
mov edx, ecx
xor ecx, r8d
movzx ecx, cl
shr edx, 8
xor edx, dword [rax + rcx*4]
mov r10d, edx
xor dl, bh
movzx edx, dl
shr r10d, 8
xor r10d, dword [rax + rdx*4]
mov edx, r8d
shr r8d, 0x18
shr edx, 0x10
mov ecx, r10d
xor edx, r10d
shr ecx, 8
movzx edx, dl
xor ecx, dword [rax + rdx*4]
mov edx, ecx
xor ecx, r8d
movzx ecx, cl
shr edx, 8
mov ebx, dword [rax + rcx*4]
xor ebx, edx
not ebx
mov dword [rsi + 0x4978], ebx
cmp dword [rsi + 0x406c], ebx
jne 0x140036710
mov dword [rsi + 0x4070], ebx
cmp dword [rsi + 0x4098], ebx
jne 0x14003671f
mov byte [rsi + 0x409c], 1
mov r8d, dword [rsi + 0x497c]
mov edx, ebx
mov rcx, r9
call fcn.140020b60
test al, al
je 0x140036741
cmp byte [rsi + 0x3868], 0
jne 0x1400368c3
cmp dword [rsi + 0x406c], ebx
jne 0x140036445
mov rbp, qword [0x140218048]
mov byte [rsi + 0x4079], al
movsxd rdx, dword [r12 + 0x100]
mov rax, qword [r12 + 0x108]
cmp byte [rbp + 0xe50], 0
mov r12d, dword [rax + rdx*4 - 4]
movzx edx, byte [rbp + 0x4b25]
jne 0x1400368e5
xor r8d, r8d
mov byte [rbp + 0x4944], 1
xor eax, eax
mov dword [rbp + 0x4940], 0xf
mov word [rbp + 0x4b68], r8w
mov byte [rbp + 0x4b24], dl
jmp 0x140036514
mov rcx, qword [rbp + 0x4d78]
pxor xmm0, xmm0
xor edx, edx
mov byte [rbp + 0x4cf0], 0
movabs rax, 0xffffffff00000000
mov byte [rbp + 0x4d38], 0
mov qword [rbp + 0x4d00], 0
mov qword [rbp + 0x4d08], 0
mov qword [rbp + 0x4d10], rax
mov word [rbp + 0x4d39], dx
mov dword [rbp + 0x4d54], 0
mov qword [rbp + 0x4d58], 0x7f7fffff
mov qword [rbp + 0x4d60], rax
movups xmmword [rbp + 0x4d18], xmm0
movups xmmword [rbp + 0x4d28], xmm0
test rcx, rcx
je 0x140036843
mov qword [rbp + 0x4d70], 0
call fcn.140009220
mov qword [rbp + 0x4d78], 0
pxor xmm0, xmm0
movups xmmword [rbp + 0x4d80], xmm0
mov dword [rsi + 0x4d0c], ebx
mov dword [rsi + 0x4d10], r12d
mov byte [rsi + 0x4cf0], 1
mov dword [rsi + 0x4cf4], edi
mov dword [rsi + 0x4cfc], r13d
cmp dword [rsi + 0x406c], ebx
jne 0x1400364ca
mov byte [rsi + 0x407a], 1
jmp 0x1400364ca
mov rbx, qword [0x140218048]
mov r8d, 0x2030347
xor edx, edx
lea rcx, str.Tooltip_Hidden
call fcn.14002d240
mov rax, qword [rbx + 0x4008]
mov byte [rax + 0xc3], 1
mov byte [rax + 0xc5], 1
mov byte [rax + 0xe4], 1
jmp 0x140036503
mov rdx, r12
mov ecx, ebx
mov byte [rsp + 0x2f], al
call fcn.140020950
xor edx, edx
mov rcx, r12
call fcn.140022f40
movzx eax, byte [rsp + 0x2f]
jmp 0x140036741
xor r13d, r13d
xor eax, eax
jmp 0x14003640e