Function at 0x140023000
Capabilities:
Hash data with crc32

Disassembly:
push rbp
sub rsp, 0xc0
mov rbp, qword [rdx + 0x70]
mov r11, rdx
mov r9d, dword [rbp + 0xd8]
mov qword [rsp + 0x30], rbp
xor r9d, 0xa7badd5e
test rcx, rcx
je 0x140023895
mov r10d, dword [rcx + 4]
mov eax, dword [rcx]
lea r8, [r10 + 0xc]
cmp rax, r8
jbe 0x1400238bb
cmp dword [r10 + rcx + 0xc], 0
lea rdx, [r10 + rcx + 0xc]
je 0x1400238bb
test r9d, r9d
je 0x140023078
xor r9d, 0x13287164
nop dword [rax]
cmp dword [rdx + 8], r9d
je 0x140023078
xor r8d, r8d
mov cl, 0x1c
call fcn.1400489e0
mov rdx, rax
test rax, rax
jne 0x140023060
test rdx, rdx
je 0x1400238bb
mov r8d, dword [rdx + 4]
mov eax, dword [rdx]
mov qword [rsp + 0xb8], rbx
lea rcx, [r8 + 0xc]
xor ebx, ebx
mov qword [rsp + 0xb0], rsi
cmp rax, rcx
jbe 0x1400230b0
lea rsi, [r8 + rdx + 0xc]
mov qword [rsp + 0x20], rsi
cmp dword [rsi], ebx
jne 0x1400230b8
mov qword [rsp + 0x20], rbx
mov rsi, rbx
test rsi, rsi
jne 0x1400230d9
lea eax, [rsi + 0xb]
mov rbx, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xb0]
add rsp, 0xc0
pop rbp
ret
mov rax, qword [r11 + 0x2d0]
mov r11d, dword [rsp + 0xd0]
mov qword [rsp + 0xa8], rdi
mov edi, dword [rsp + 0xd0]
mov qword [rsp + 0xa0], r12
mov r12d, dword [rsp + 0xd0]
mov qword [rsp + 0x98], r13
mov r13, qword [rsp + 0xd0]
mov qword [rsp + 0x90], r14
mov r14d, dword [rsp + 0xd0]
mov qword [rsp + 0x88], r15
mov r15d, dword [rsp + 0xd0]
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x58], rax
mov r9d, dword [rbp + 0xd8]
mov rdx, rsi
xor r9d, 0x45c6e8d1
test rsi, rsi
je 0x140023164
mov dword [rsp + 0xd8], 3
jmp 0x1400231b8
test r9d, r9d
je 0x14002319f
mov r10d, r9d
mov rax, rbx
mov qword [rsp + 0x50], rbx
xor r10d, 0x13287164
nop dword [rax + rax]
cmp dword [rax + 8], r10d
je 0x1400231b5
xor r8d, r8d
mov rdx, rax
mov cl, 0x1c
call fcn.1400489e0
mov qword [rsp + 0x50], rax
test rax, rax
jne 0x140023180
jmp 0x1400231b5
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x1400231b5
cmp dword [rax], 0
cmove rax, rbx
mov qword [rsp + 0x50], rax
mov rdx, rax
test rdx, rdx
je 0x1400232ab
mov r8d, dword [rdx + 4]
mov eax, dword [rdx]
lea rcx, [r8 + 0xc]
cmp rax, rcx
jbe 0x1400232f7
cmp dword [r8 + rdx + 0xc], 0
lea rbx, [r8 + rdx + 0xc]
je 0x1400232f5
test r9d, r9d
je 0x14002320c
xor r9d, 0x13287164
cmp dword [rbx + 8], r9d
je 0x14002320c
xor r8d, r8d
mov rdx, rbx
mov cl, 0x1c
call fcn.1400489e0
mov rbx, rax
test rax, rax
jne 0x1400231f1
test rbx, rbx
je 0x1400232f5
mov esi, dword [rbx + 4]
mov rax, qword [0x14006cab0]
test esi, esi
je 0x140023297
lea r8d, [rsi + 2]
xor edx, edx
mov rcx, rax
call qword [rax + 0xc8]
mov rbp, rax
test rax, rax
je 0x140023276
lea r8, [rbx + 0xc]
mov rdx, rax
mov ecx, esi
call fcn.14000aeb0
xor ebx, ebx
mov r13, rbp
mov word [rsi + rbp], bx
mov qword [rsp + 0x70], rbp
mov rbp, qword [rsp + 0x30]
mov dword [rsp + 0xd0], esi
mov r11d, esi
mov rsi, qword [rsp + 0x20]
mov dword [rsp + 0xd8], ebx
jmp 0x1400232f7
mov r11d, dword [rsp + 0xd0]
mov rbp, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x20]
mov dword [rsp + 0xd8], 8
xor ebx, ebx
jmp 0x1400232f7
mov rsi, qword [rsp + 0x20]
mov dword [rsp + 0xd8], 0xd
xor ebx, ebx
jmp 0x1400232f7
test r9d, r9d
je 0x1400232df
mov rax, rbx
mov qword [rsp + 0x60], rbx
xor r9d, 0x13287164
nop
cmp dword [rax + 8], r9d
je 0x1400232f7
xor r8d, r8d
mov rdx, rax
mov cl, 0x1c
call fcn.1400489e0
mov qword [rsp + 0x60], rax
test rax, rax
jne 0x1400232c0
jmp 0x1400232f7
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x1400232f7
cmp dword [rax], 0
jne 0x1400232f7
mov qword [rsp + 0x60], rbx
jmp 0x1400232f7
xor ebx, ebx
cmp dword [rsp + 0xd8], 0
jne 0x14002382e
mov rdx, r13
test r13, r13
je 0x14002335e
or edi, 0xffffffff
mov r8d, r11d
test r11d, r11d
je 0x14002335e
dec r8d
test rdx, rdx
je 0x140023327
movsx r14d, byte [rdx]
inc rdx
test r14d, r14d
jne 0x140023334
lea eax, [r11 + 1]
test eax, eax
je 0x14002335e
mov ecx, 8
nop dword [rax]
mov eax, r14d
xor eax, edi
shr edi, 1
test al, 1
je 0x140023351
xor edi, 0xedb88320
shr r14d, 1
dec rcx
jne 0x140023340
test r8d, r8d
jne 0x140023318
mov r8d, dword [rbp + 0xd8]
mov rcx, qword [rbp + 0x268]
mov edx, 0xfad305a7
call qword [rbp + 0x260]
test rax, rax
je 0x140023387
mov rcx, qword [rsp + 0x58]
add rcx, 0x20
call rax
mov rcx, qword [rsp + 0x58]
mov r13, rbx
mov rax, qword [rcx + 0x48]
add rcx, 0x48
cmp rax, rcx
je 0x1400233bf
nop dword [rax]
lea r13, [rax - 0x1b0]
mov rax, qword [rax]
test edi, edi
je 0x1400233bf
cmp dword [r13 + 0x198], edi
je 0x1400233bf
mov r13, rbx
cmp rax, rcx
jne 0x1400233a0
test r13, r13
je 0x1400237ec
mov r9d, dword [rbp + 0xd8]
mov rdx, rsi
xor r9d, 0x804c02f0
test rsi, rsi
je 0x1400233eb
mov dword [rsp + 0xe0], 3
jmp 0x14002343a
test r9d, r9d
je 0x140023421
mov r10d, r9d
mov rax, rbx
mov qword [rsp + 0x38], rbx
xor r10d, 0x13287164
cmp dword [rax + 8], r10d
je 0x140023437
xor r8d, r8d
mov rdx, rax
mov cl, 0x1c
call fcn.1400489e0
mov qword [rsp + 0x38], rax
test rax, rax
jne 0x140023402
jmp 0x140023437
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140023437
cmp dword [rax], 0
cmove rax, rbx
mov qword [rsp + 0x38], rax
mov rdx, rax
test rdx, rdx
je 0x14002351c
mov r8d, dword [rdx + 4]
mov eax, dword [rdx]
lea rcx, [r8 + 0xc]
cmp rax, rcx
jbe 0x140023567
cmp dword [rdx + r8 + 0xc], 0
lea rbx, [rdx + r8 + 0xc]
je 0x140023565
test r9d, r9d
je 0x14002348e
xor r9d, 0x13287164
cmp dword [rbx + 8], r9d
je 0x14002348e
xor r8d, r8d
mov rdx, rbx
mov cl, 0x1c
call fcn.1400489e0
mov rbx, rax
test rax, rax
jne 0x140023473
test rbx, rbx
je 0x140023565
mov esi, dword [rbx + 4]
mov rax, qword [0x14006cab0]
test esi, esi
je 0x140023508
lea r8d, [rsi + 2]
xor edx, edx
mov rcx, rax
call qword [rax + 0xc8]
mov rbp, rax
test rax, rax
je 0x1400234ef
lea r8, [rbx + 0xc]
mov rdx, rax
mov ecx, esi
call fcn.14000aeb0
xor ebx, ebx
mov qword [rsp + 0x28], rbp
mov word [rsi + rbp], bx
mov rbp, qword [rsp + 0x30]
mov dword [rsp + 0xd0], esi
mov rsi, qword [rsp + 0x20]
mov dword [rsp + 0xe0], ebx
jmp 0x140023567
mov rbp, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x20]
mov dword [rsp + 0xe0], 8
xor ebx, ebx
jmp 0x140023567
mov rsi, qword [rsp + 0x20]
mov dword [rsp + 0xe0], 0xd
xor ebx, ebx
jmp 0x140023567
test r9d, r9d
je 0x14002354f
mov rax, rbx
mov qword [rsp + 0x68], rbx
xor r9d, 0x13287164
cmp dword [rax + 8], r9d
je 0x140023567
xor r8d, r8d
mov rdx, rax
mov cl, 0x1c
call fcn.1400489e0
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x140023530
jmp 0x140023567
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140023567
cmp dword [rax], 0
jne 0x140023567
mov qword [rsp + 0x68], rbx
jmp 0x140023567
xor ebx, ebx
cmp dword [rsp + 0xe0], 0
jne 0x1400235f9
mov rdx, qword [r13 + 0x1c0]
mov rcx, rbp
call qword [rbp + 0x230]
mov rax, qword [rsp + 0x28]
mov qword [r13 + 0x1c0], rax
mov rdx, rax
test rax, rax
je 0x1400235f2
mov r9d, dword [rsp + 0xd0]
or r12d, 0xffffffff
mov r8d, r9d
test r9d, r9d
je 0x1400235f2
nop dword [rax]
dec r8d
test rdx, rdx
je 0x1400235bf
movsx r15d, byte [rdx]
inc rdx
test r15d, r15d
jne 0x1400235cc
lea eax, [r9 + 1]
test eax, eax
je 0x1400235f2
mov ecx, 8
mov eax, r15d
xor eax, r12d
shr r12d, 1
test al, 1
je 0x1400235e5
xor r12d, 0xedb88320
shr r15d, 1
dec rcx
jne 0x1400235d1
test r8d, r8d
jne 0x1400235b0
mov dword [r13 + 0x198], r12d
mov r9d, dword [rbp + 0xd8]
mov rdx, rsi
xor r9d, 0x2bd49ba6
test rsi, rsi
je 0x14002361c
mov dword [rsp + 0xe8], 3
jmp 0x14002366b
test r9d, r9d
je 0x140023652
mov r10d, r9d
mov rax, rbx
mov qword [rsp + 0x40], rbx
xor r10d, 0x13287164
cmp dword [rax + 8], r10d
je 0x140023668
xor r8d, r8d
mov rdx, rax
mov cl, 0x1c
call fcn.1400489e0
mov qword [rsp + 0x40], rax
test rax, rax
jne 0x140023633
jmp 0x140023668
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140023668
cmp dword [rax], 0
cmove rax, rbx
mov qword [rsp + 0x40], rax
mov rdx, rax
test rdx, rdx
je 0x140023749
mov r8d, dword [rdx + 4]
mov eax, dword [rdx]
lea rcx, [r8 + 0xc]
cmp rax, rcx
jbe 0x140023793
cmp dword [rdx + r8 + 0xc], 0
lea rbx, [rdx + r8 + 0xc]
je 0x140023793
test r9d, r9d
je 0x1400236bf
xor r9d, 0x13287164
cmp dword [rbx + 8], r9d
je 0x1400236bf
xor r8d, r8d
mov rdx, rbx
mov cl, 0x1c
call fcn.1400489e0
mov rbx, rax
test rax, rax
jne 0x1400236a4
test rbx, rbx
je 0x140023793
mov esi, dword [rbx + 4]
mov rax, qword [0x14006cab0]
test esi, esi
je 0x140023737
lea r8d, [rsi + 2]
xor edx, edx
mov rcx, rax
call qword [rax + 0xc8]
mov rbp, rax
test rax, rax
je 0x140023720
lea r8, [rbx + 0xc]
mov rdx, rax
mov ecx, esi
call fcn.14000aeb0
xor eax, eax
mov qword [rsp + 0x28], rbp
mov word [rsi + rbp], ax
mov rbp, qword [rsp + 0x30]
mov dword [rsp + 0xd0], esi
mov rsi, qword [rsp + 0x20]
mov dword [rsp + 0xe8], eax
jmp 0x140023793
mov rbp, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x20]
mov dword [rsp + 0xe8], 8
jmp 0x140023793
mov rsi, qword [rsp + 0x20]
mov dword [rsp + 0xe8], 0xd
jmp 0x140023793
test r9d, r9d
je 0x14002377f
mov rax, rbx
mov qword [rsp + 0x48], rbx
xor r9d, 0x13287164
nop dword [rax]
cmp dword [rax + 8], r9d
je 0x140023793
xor r8d, r8d
mov rdx, rax
mov cl, 0x1c
call fcn.1400489e0
mov qword [rsp + 0x48], rax
test rax, rax
jne 0x140023760
jmp 0x140023793
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x140023793
cmp dword [rax], 0
jne 0x140023793
mov qword [rsp + 0x48], rbx
cmp dword [rsp + 0xe8], 0
jne 0x1400237ea
mov edx, dword [rsp + 0xd0]
mov r8, qword [rsp + 0x28]
lea rcx, [rsp + 0x28]
mov r9d, edx
call fcn.140003e40
lea rdx, [r13 + 0x50]
lea r9, [rsp + 0x28]
lea rcx, [rsp + 0x20]
xor ebx, ebx
mov r8d, eax
mov dword [rsp + 0xd0], eax
mov qword [rsp + 0x20], rbx
call fcn.14004e660
mov rdx, qword [rsp + 0x28]
mov rcx, rbp
call qword [rbp + 0x230]
jmp 0x1400237ec
xor ebx, ebx
mov r8d, dword [rbp + 0xd8]
mov rcx, qword [rbp + 0x268]
mov edx, 0x3dd44a92
call qword [rbp + 0x260]
test rax, rax
je 0x140023815
mov rcx, qword [rsp + 0x58]
add rcx, 0x20
call rax
mov r13, qword [rsp + 0x70]
mov rcx, rbp
mov rdx, r13
call qword [rbp + 0x230]
mov r11d, dword [rsp + 0xd0]
test rsi, rsi
je 0x14002383f
mov eax, dword [rsi]
add rax, rsi
mov qword [rsp + 0x78], rax
jmp 0x140023844
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x140023855
cmp dword [rax], 0
cmove rax, rbx
mov qword [rsp + 0x78], rax
mov rsi, rax
mov qword [rsp + 0x20], rax
test rax, rax
jne 0x140023141
mov r15, qword [rsp + 0x88]
mov r14, qword [rsp + 0x90]
mov r13, qword [rsp + 0x98]
mov r12, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
mov eax, ebx
jmp 0x1400230c0
test r9d, r9d
je 0x1400238bb
xor eax, eax
xor r9d, 0x13287164
cmp dword [rax + 8], r9d
je 0x1400238bb
xor r8d, r8d
mov rdx, rax
mov cl, 0x1c
call fcn.1400489e0
test rax, rax
jne 0x1400238a3
mov eax, 0xb
add rsp, 0xc0
pop rbp
ret