Function at 0x180072dd0
Capabilities:
Hash data with crc32

Disassembly:
mov dword [rsp + 0x20], r9d
push rbx
push rsi
push r12
push r14
sub rsp, 0x28
mov esi, r9d
mov r14, r8
mov r12, rdx
mov rbx, rcx
call fcn.1800735a0
cmp eax, 0xffffffff
je 0x180072e07
mov rax, 0xffffffffffffffff
add rsp, 0x28
pop r14
pop r12
pop rsi
pop rbx
ret
mov ecx, dword [rbx + 0x24]
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x58], rdi
mov edi, dword [rbx + 0x20]
mov qword [rsp + 0x60], r13
mov r13d, dword [rbx]
mov qword [rsp + 0x20], r15
mov r15d, 8
cmp edi, ecx
jne 0x180072e83
inc edi
test ecx, ecx
je 0x180072e3f
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180072e42
mov eax, r15d
cmp eax, edi
cmovg edi, eax
cmp edi, ecx
jle 0x180072e83
movsxd rcx, edi
shl rcx, 2
call fcn.1800305c0
mov rdx, qword [rbx + 0x28]
mov rbp, rax
test rdx, rdx
je 0x180072e7c
movsxd r8, dword [rbx + 0x20]
mov rcx, rax
shl r8, 2
call fcn.1800a5190
mov rcx, qword [rbx + 0x28]
call fcn.180030660
mov qword [rbx + 0x28], rbp
mov dword [rbx + 0x24], edi
movsxd rcx, dword [rbx + 0x20]
lea rdx, [rsp + 0x68]
mov rax, qword [rbx + 0x28]
mov dword [rax + rcx*4], r13d
lea rcx, [rbx + 0x10]
inc dword [rbx + 0x20]
call fcn.180044f20
mov edi, dword [rbx]
mov r13, qword [rsp + 0x60]
add edi, esi
cmp edi, dword [rbx + 4]
jle 0x180072ee5
movsxd rcx, edi
shl rcx, 2
call fcn.1800305c0
mov rdx, qword [rbx + 8]
mov rbp, rax
test rdx, rdx
je 0x180072ede
movsxd r8, dword [rbx]
mov rcx, rax
shl r8, 2
call fcn.1800a5190
mov rcx, qword [rbx + 8]
call fcn.180030660
mov qword [rbx + 8], rbp
mov dword [rbx + 4], edi
test esi, esi
jle 0x180072f66
mov rbp, rsi
nop dword [rax]
mov ecx, dword [rbx + 4]
mov edi, dword [rbx]
cmp edi, ecx
jne 0x180072f4d
inc edi
test ecx, ecx
je 0x180072f0a
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180072f0d
mov eax, r15d
cmp eax, edi
cmovg edi, eax
cmp edi, ecx
jle 0x180072f4d
movsxd rcx, edi
shl rcx, 2
call fcn.1800305c0
mov rdx, qword [rbx + 8]
mov rsi, rax
test rdx, rdx
je 0x180072f46
movsxd r8, dword [rbx]
mov rcx, rax
shl r8, 2
call fcn.1800a5190
mov rcx, qword [rbx + 8]
call fcn.180030660
mov qword [rbx + 8], rsi
mov dword [rbx + 4], edi
mov eax, dword [r14]
add r14, 4
movsxd rdx, dword [rbx]
mov rcx, qword [rbx + 8]
mov dword [rcx + rdx*4], eax
inc dword [rbx]
sub rbp, 1
jne 0x180072ef0
mov eax, dword [rbx + 0x60]
xor ecx, ecx
mov edi, dword [rbx + 0x70]
test eax, eax
lea r14d, [rax - 1]
cmove r14d, ecx
mov ecx, dword [rbx + 0x74]
cmp edi, ecx
jne 0x180072fd4
inc edi
test ecx, ecx
je 0x180072f90
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180072f93
mov eax, r15d
cmp eax, edi
cmovg edi, eax
cmp edi, ecx
jle 0x180072fd4
movsxd rcx, edi
shl rcx, 2
call fcn.1800305c0
mov rdx, qword [rbx + 0x78]
mov rbp, rax
test rdx, rdx
je 0x180072fcd
movsxd r8, dword [rbx + 0x70]
mov rcx, rax
shl r8, 2
call fcn.1800a5190
mov rcx, qword [rbx + 0x78]
call fcn.180030660
mov qword [rbx + 0x78], rbp
mov dword [rbx + 0x74], edi
movsxd rcx, dword [rbx + 0x70]
mov rax, qword [rbx + 0x78]
mov rbp, qword [rsp + 0x50]
mov dword [rax + rcx*4], r14d
mov rax, 0xffffffffffffffff
inc dword [rbx + 0x70]
nop
inc rax
cmp byte [r12 + rax], 0
jne 0x180072ff0
lea r8, [r12 + 1]
mov rdx, r12
add r8, rax
lea rcx, [rbx + 0x60]
call fcn.18002ce70
mov ecx, dword [rbx + 0x84]
mov edi, dword [rbx + 0x80]
cmp edi, ecx
jne 0x180073079
inc edi
test ecx, ecx
je 0x18007302f
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
lea r15d, [rcx + rax]
cmp r15d, edi
cmovg edi, r15d
cmp edi, ecx
jle 0x180073079
movsxd rcx, edi
call fcn.1800305c0
mov rdx, qword [rbx + 0x88]
mov rsi, rax
test rdx, rdx
je 0x18007306c
movsxd r8, dword [rbx + 0x80]
mov rcx, rax
call fcn.1800a5190
mov rcx, qword [rbx + 0x88]
call fcn.180030660
mov qword [rbx + 0x88], rsi
mov dword [rbx + 0x84], edi
movsxd rdx, dword [rbx + 0x80]
lea r8, [r12 + 1]
mov rcx, qword [rbx + 0x88]
mov r10d, 0xffffffff
movzx eax, byte [rsp + 0x70]
mov r15, qword [rsp + 0x20]
mov byte [rdx + rcx], al
mov edx, r10d
inc dword [rbx + 0x80]
movzx r9d, byte [r12]
test r9b, r9b
je 0x1800730f0
lea r11, [0x1800dc1a0]
nop dword [rax]
cmp r9b, 0x23
jne 0x1800730d3
cmp byte [r8], r9b
jne 0x1800730d3
cmp byte [r8 + 1], r9b
cmove edx, r10d
movzx ecx, dl
movzx eax, r9b
movzx r9d, byte [r8]
xor rcx, rax
shr edx, 8
inc r8
xor edx, dword [r11 + rcx*4]
test r9b, r9b
jne 0x1800730c0
mov edi, dword [rbx + 0xa0]
not edx
mov r8d, edi
lea ecx, [rdi + 1]
mov dword [rbx + 0xa0], ecx
lea rcx, [rbx + 0x90]
call fcn.18002cdd0
mov edx, edi
mov rcx, rbx
call fcn.180073130
mov eax, edi
mov rdi, qword [rsp + 0x58]
add rsp, 0x28
pop r14
pop r12
pop rsi
pop rbx
ret