Function at 0x14002b500
Capabilities:
Hash data with crc32

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
xor eax, eax
lea rdi, [rcx + 8]
mov rbx, rcx
mov rbp, r8
mov qword [rcx + 0x3f0], 0
and rdi, 0xfffffffffffffff8
lea rsi, [rcx + 0x2b0]
sub rcx, rdi
add ecx, 0x3f8
shr ecx, 3
rep stosq qword [rdi], rax
mov qword [rbx], rdx
mov rcx, r8
call fcn.1400dea48
mov rdx, qword [0x1402180c8]
lea rdi, [rax + 1]
mov rcx, rdi
call qword [case.0x1400092c2.1]
mov rcx, rax
mov rax, qword [0x140218048]
test rax, rax
je 0x14002b5f1
movsx r8d, word [rax + 0x6048]
mov r10d, dword [rax + 0x3f60]
lea r9, [rax + 0x6040]
movsx r11, r8w
cmp r10d, dword [rax + r11*8 + 0x604c]
je 0x14002b8b0
add r8d, 1
movsxd rdx, r8d
mov r11d, r8d
imul rdx, rdx, 0x2aaaaaab
sar r11d, 0x1f
shr rdx, 0x20
sub edx, r11d
lea r11d, [rdx + rdx*2]
mov edx, r8d
add r11d, r11d
sub edx, r11d
mov word [rax + 0x6048], dx
movsxd rdx, edx
lea r11, [rdx*8]
mov dword [rax + rdx*8 + 0x604c], r10d
mov dword [r9 + r11 + 0x10], 0
lea r8, [r9 + r11 + 0xc]
add word [r8 + 4], 1
add dword [rax + 0x6040], 1
mov r8, rdi
mov rdx, rbp
call fcn.1400de8e0
mov rcx, rbp
mov qword [rbx + 8], rax
call fcn.1400dea48
lea rcx, [rbp + 1]
add eax, 1
mov dword [rbx + 0x80], eax
movzx eax, byte [rbp]
test al, al
je 0x14002b8e8
mov edx, 0xffffffff
lea r10, [0x1401aac20]
jmp 0x14002b64f
xor eax, edx
mov r9d, edx
add rcx, 1
movzx eax, al
shr r9d, 8
mov edx, dword [r10 + rax*4]
xor edx, r9d
test r8b, r8b
je 0x14002b670
mov eax, r8d
movzx r8d, byte [rcx]
cmp al, 0x23
jne 0x14002b630
cmp r8b, 0x23
jne 0x14002b630
cmp byte [rcx + 1], 0x23
jne 0x14002b630
add rcx, 1
mov edx, 0x8f9a6100
jmp 0x14002b64c
not edx
mov dword [rbx + 0x10], edx
movsxd rax, dword [rbx + 0x100]
cmp eax, dword [rbx + 0x104]
je 0x14002b780
mov rdi, qword [rbx + 0x108]
mov dword [rdi + rax*4], edx
mov eax, dword [rbx + 0x100]
lea rbp, str.MOVE
mov rdx, qword [rbx + 0x108]
mov rcx, rbp
add eax, 1
mov dword [rbx + 0x100], eax
cdqe
mov r8d, dword [rdx + rax*4 - 4]
xor edx, edx
call fcn.1400057a0
mov rdx, qword [rbx]
mov edi, eax
cmp eax, dword [rdx + 0x4054]
je 0x14002b890
movups xmm0, xmmword [0x1401ab300]
mov eax, 0xffffffff
and dword [rbx + 0xe8], 0xff000000
movabs rcx, 0xbf800000ffffffff
mov qword [rbx + 0x2a8], rsi
lea rsi, [rdx + 0x3d48]
mov word [rbx + 0xdc], ax
mov rax, qword [0x1401ab2d0]
movups xmmword [rbx + 0x9c], xmm0
movq xmm0, rsi
mov dword [rbx + 0x84], edi
movhps xmm0, qword [rbx + 8]
movabs rdi, 0x7f7fffff7f7fffff
mov qword [rbx + 0x270], rcx
movabs rcx, 0xffffffff3f800000
mov dword [rbx + 0xe0], 0xffffffff
mov qword [rbx + 0xf4], rax
mov qword [rbx + 0xec], rdi
mov qword [rbx + 0x2a0], rcx
mov qword [rbx + 0x3e0], rax
mov qword [rbx + 0x3d8], rdi
movups xmmword [rbx + 0x2e8], xmm0
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
lea r8d, [rax + 1]
test eax, eax
jne 0x14002b8c0
mov eax, 8
cmp r8d, eax
cmovge eax, r8d
mov ebp, eax
movsxd rcx, ebp
mov rdx, qword [0x1402180c8]
shl rcx, 2
call qword [case.0x1400092c2.1]
mov rdi, rax
mov rax, qword [0x140218048]
test rax, rax
je 0x14002b841
movsx ecx, word [rax + 0x6048]
mov r9d, dword [rax + 0x3f60]
lea r8, [rax + 0x6040]
movsx r10, cx
cmp r9d, dword [rax + r10*8 + 0x604c]
je 0x14002b8ef
add ecx, 1
movsxd rdx, ecx
mov r10d, ecx
imul rdx, rdx, 0x2aaaaaab
sar r10d, 0x1f
shr rdx, 0x20
sub edx, r10d
lea r10d, [rdx + rdx*2]
add r10d, r10d
sub ecx, r10d
movsxd rdx, ecx
lea r10, [rdx*8]
mov word [rax + 0x6048], dx
mov dword [rax + rdx*8 + 0x604c], r9d
lea rcx, [r8 + r10 + 0xc]
mov dword [r8 + r10 + 0x10], 0
add word [rcx + 4], 1
add dword [rax + 0x6040], 1
mov rdx, qword [rbx + 0x108]
movsxd rax, dword [rbx + 0x100]
test rdx, rdx
je 0x14002b877
mov rcx, rdi
lea r8, [rax*4]
call fcn.1400de8e0
mov rcx, qword [rbx + 0x108]
call fcn.140009220
movsxd rax, dword [rbx + 0x100]
mov qword [rbx + 0x108], rdi
mov edx, dword [rbx + 0x10]
mov dword [rbx + 0x104], ebp
jmp 0x14002b68f
xor r9d, r9d
mov r8, rbp
mov edx, 0xb
mov ecx, eax
call fcn.140029860
mov rdx, qword [rbx]
jmp 0x14002b6d1
lea r8, [r9 + r11*8 + 0xc]
jmp 0x14002b5e4
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
cmp ecx, r8d
cmovge r8d, ecx
mov ebp, r8d
cmp eax, r8d
jge 0x14002b688
jmp 0x14002b79a
xor edx, edx
jmp 0x14002b672
lea rcx, [r8 + r10*8 + 0xc]
jmp 0x14002b835