Function at 0x14001cf70
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x78
mov rsi, qword [rbp + 0x58]
xor r12d, r12d
mov r15, r9
mov r14, qword [rsi + 0x70]
movsxd rdi, ecx
mov dword [rbp + 0x50], r12d
mov dword [rbp - 0x38], r12d
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x28], r12
test r9, r9
je 0x14001d3bb
mov rax, r9
mov r9d, r12d
cmp byte [rax], r9b
je 0x14001cfcb
nop
inc rax
inc r9d
cmp byte [rax], r12b
jne 0x14001cfc0
or ecx, 0xffffffff
mov dword [rbp + 0x50], r9d
mov r10, r15
mov r11d, r9d
test r9d, r9d
je 0x14001d01d
mov edx, dword [rbp + 0x58]
dec r11d
test r10, r10
je 0x14001cfef
movsx edx, byte [r10]
inc r10
test edx, edx
jne 0x14001cffb
lea eax, [r9 + 1]
test eax, eax
je 0x14001d01d
mov r8d, 8
mov eax, edx
xor eax, ecx
shr ecx, 1
test al, 1
je 0x14001d011
xor ecx, 0xedb88320
shr edx, 1
dec r8
jne 0x14001d001
test r11d, r11d
jne 0x14001cfe0
mov eax, dword [r14 + 0xd8]
lea r9, [rbp - 0x38]
lea r8, [rbp - 0x28]
xor eax, ecx
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x40]
mov qword [rsp + 0xb0], rbx
mov dword [rbp - 0x30], eax
call fcn.140048ab0
test eax, eax
je 0x14001d0c3
lea rcx, [rbp - 0x30]
mov r9, r15
mov r8, rsi
xor edx, edx
call fcn.14002d8c0
test eax, eax
jne 0x14001d0ad
mov rbx, qword [rbp - 0x30]
test rbx, rbx
je 0x14001d085
lea r9, [rbx + 0x18]
lea r8, [rbp - 0x38]
lea rcx, [rbp - 0x28]
mov edx, 0x4b8c427a
mov qword [rsp + 0x20], rdi
call fcn.14004ecf0
jmp 0x14001d09a
lea rcx, [rbp - 0x30]
mov r9, r15
mov r8, rsi
xor edx, edx
call fcn.14002d8c0
mov rbx, qword [rbp - 0x30]
mov rdx, rbx
mov rcx, rsi
mov edi, eax
call fcn.14002db80
test edi, edi
je 0x14001d0c3
mov eax, edi
mov rbx, qword [rsp + 0xb0]
add rsp, 0x78
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rdi, qword [rbp + 0x60]
mov qword [rsp + 0x70], r13
mov r9d, r12d
mov rax, rdi
test rdi, rdi
je 0x14001d0eb
cmp byte [rdi], r9b
je 0x14001d0eb
nop dword [rax]
inc rax
inc r9d
cmp byte [rax], r12b
jne 0x14001d0e0
mov r8, rdi
test rdi, rdi
je 0x14001d13f
or ebx, 0xffffffff
mov r10d, r9d
test r9d, r9d
je 0x14001d142
mov ecx, dword [rbp + 0x58]
dec r10d
test r8, r8
je 0x14001d110
movsx ecx, byte [r8]
inc r8
test ecx, ecx
jne 0x14001d11c
lea eax, [r9 + 1]
test eax, eax
je 0x14001d142
mov edx, 8
mov eax, ecx
xor eax, ebx
shr ebx, 1
test al, 1
je 0x14001d131
xor ebx, 0xedb88320
shr ecx, 1
dec rdx
jne 0x14001d121
test r10d, r10d
jne 0x14001d101
jmp 0x14001d142
mov ebx, dword [rbp + 0x58]
mov eax, dword [r14 + 0xd8]
lea r9, [rbp + 0x50]
lea r8, [rbp - 0x18]
xor eax, 0xdd4dc936
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x40]
mov dword [rbp - 0x30], eax
call fcn.140048ab0
mov r13, qword [rbp - 0x18]
test eax, eax
mov eax, dword [r14 + 0xd8]
lea r9, [rbp + 0x50]
cmovne r13, r12
xor eax, 0x82a296d5
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x40]
mov dword [rbp - 0x30], eax
call fcn.140048ab0
test eax, eax
jne 0x14001d1b9
mov edx, dword [rbp + 0x50]
mov rsi, qword [rbp - 0x20]
lea rcx, [rbp - 0x20]
mov r9d, edx
mov r8, rsi
call fcn.140003e40
mov dword [rbp + 0x50], eax
mov eax, eax
mov byte [rax + rsi], r12b
jmp 0x14001d1bc
mov rsi, r12
mov ecx, dword [r14 + 0xd8]
mov eax, ecx
xor eax, 0xad3f8a05
cmp ebx, eax
jne 0x14001d1d7
mov dword [rbp - 0x30], 2
jmp 0x14001d1ed
xor ecx, 0x16323510
mov eax, r12d
mov edx, 4
cmp ebx, ecx
cmove eax, edx
mov dword [rbp - 0x30], eax
mov r12, qword [rbp - 0x28]
test r12, r12
je 0x14001d2b3
mov eax, dword [rbp - 0x38]
test eax, eax
je 0x14001d214
cmp qword [rbp + 0x48], 0
jne 0x14001d271
mov rcx, r14
call fcn.14001a8d0
mov ebx, eax
jmp 0x14001d26a
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x58]
mov r8, rsi
call fcn.140017100
mov ebx, eax
xor eax, eax
cmp byte [r15], al
je 0x14001d23b
nop dword [rax]
inc r15
inc eax
cmp byte [r15], 0
jne 0x14001d230
mov dword [rbp + 0x50], eax
mov rax, rdi
test rdi, rdi
je 0x14001d26a
cmp byte [rdi], 0
je 0x14001d258
nop dword [rax + rax]
inc rax
cmp byte [rax], 0
jne 0x14001d250
test rdi, rdi
je 0x14001d26a
cmp byte [rdi], 0
je 0x14001d26a
inc rdi
cmp byte [rdi], 0
jne 0x14001d262
test ebx, ebx
jne 0x14001d2a0
mov eax, dword [rbp - 0x38]
mov dword [rsp + 0x30], eax
lea rax, [rbp - 0x28]
lea r9, [rbp - 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x58]
lea rcx, [rbp - 0x38]
mov r8, rsi
mov rdx, r13
mov qword [rsp + 0x20], rax
call fcn.140011d60
mov r12, qword [rbp - 0x28]
mov ebx, eax
mov rdx, r12
mov rcx, r14
call qword [r14 + 0x230]
mov r12, qword [rbp + 0x48]
jmp 0x14001d2dd
mov r12, qword [rbp + 0x48]
mov rdi, qword [rbp + 0x40]
mov rbx, qword [rbp + 0x58]
mov r8, r12
mov rdx, rdi
mov rcx, rbx
call fcn.14001b000
mov r8, r12
mov rdx, rdi
mov rcx, rbx
call fcn.14001b600
mov ebx, eax
test rsi, rsi
je 0x14001d2ef
mov rdx, rsi
mov rcx, r14
call qword [r14 + 0x230]
test r13, r13
je 0x14001d301
mov rdx, r13
mov rcx, r14
call qword [r14 + 0x230]
mov r13, qword [rsp + 0x70]
test r12, r12
jne 0x14001d3b4
test ebx, ebx
jne 0x14001d3b4
mov r8d, dword [r14 + 0xd8]
mov rcx, qword [r14 + 0x92b8]
mov edx, 0x78f1dc28
call qword [r14 + 0x260]
test rax, rax
je 0x14001d389
mov ecx, 0xfffffff5
call rax
mov rbx, rax
test rax, rax
je 0x14001d389
mov r8d, dword [r14 + 0xd8]
mov rcx, qword [r14 + 0x92b8]
mov edx, 0x6ec503d1
call qword [r14 + 0x260]
test rax, rax
je 0x14001d389
lea rdx, [0x140083420]
lea r9, [rbp + 0x50]
lea r8d, [r12 + 2]
add rdx, qword [r14 + 0xe8]
mov rcx, rbx
mov qword [rsp + 0x20], r12
call rax
test eax, eax
jne 0x14001d390
call qword [r14 + 0x92d8]
lea r8, [r14 + 0x9290]
mov r9d, 1
mov rdx, r14
xor ecx, ecx
mov dword [rsp + 0x20], 0xffffffff
call fcn.140009190
jmp 0x14001d0ad
mov eax, ebx
jmp 0x14001d0ad
xor r8d, r8d
mov rcx, rsi
call fcn.14001b000
add rsp, 0x78
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret