Function at 0x14001b270
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov r15, qword [rdx + 0x70]
xor ebx, ebx
mov r13, r9
mov rsi, r8
mov r14, rdx
mov r12d, ebx
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x38], rbx
mov r10d, ebx
mov dword [rbp + 0x48], ebx
mov dword [rbp + 0x58], ebx
test r9, r9
je 0x14001b2d1
mov rax, r9
cmp byte [r9], bl
je 0x14001b2cd
inc rax
inc r10d
cmp byte [rax], bl
jne 0x14001b2c3
mov dword [rbp + 0x48], r10d
test r13, r13
je 0x14001b323
or ecx, 0xffffffff
mov r11d, r10d
test r10d, r10d
je 0x14001b326
mov edx, dword [rbp + 0x48]
dec r11d
test r9, r9
je 0x14001b2f3
movsx edx, byte [r9]
inc r9
test edx, edx
jne 0x14001b2ff
lea eax, [r10 + 1]
test eax, eax
je 0x14001b326
mov r8d, 8
mov eax, edx
xor eax, ecx
shr ecx, 1
test al, 1
je 0x14001b315
xor ecx, 0xedb88320
shr edx, 1
dec r8
jne 0x14001b305
test r11d, r11d
jne 0x14001b2e4
jmp 0x14001b326
mov ecx, dword [rbp + 0x48]
mov eax, dword [r15 + 0xd8]
lea r9, [rbp + 0x58]
lea r8, [rbp - 0x38]
xor eax, ecx
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x50]
mov qword [rsp + 0x78], rdi
mov dword [rbp - 0x40], eax
call fcn.140048ab0
test eax, eax
je 0x14001b3aa
lea rcx, [rbp - 0x30]
mov r9, r13
mov r8, r14
xor edx, edx
call fcn.14002d8c0
mov ebx, eax
test eax, eax
jne 0x14001b5e8
mov rdi, qword [rbp - 0x30]
test rdi, rdi
je 0x14001b395
lea r9, [rdi + 0x18]
lea r8, [rbp + 0x58]
lea rcx, [rbp - 0x38]
mov edx, 0x4c78547e
mov qword [rsp + 0x20], 0x3224c2e0
call fcn.14004ecf0
mov ebx, eax
mov rdx, rdi
mov rcx, r14
call fcn.14002db80
test ebx, ebx
jne 0x14001b5e6
xor ebx, ebx
mov rdi, qword [rbp - 0x38]
test rdi, rdi
je 0x14001b536
mov eax, dword [r15 + 0xd8]
lea r9, [rbp + 0x48]
lea r8, [rbp - 0x28]
xor eax, 0x82a296d5
lea rdx, [rbp - 0x3c]
lea rcx, [rbp + 0x50]
mov dword [rbp - 0x3c], eax
call fcn.140048ab0
test eax, eax
jne 0x14001b467
mov r12, qword [rbp - 0x28]
test r12, r12
je 0x14001b40a
mov edx, dword [rbp + 0x48]
lea rcx, [rbp - 0x28]
mov r8, r12
mov r9d, edx
call fcn.140003e40
mov dword [rbp + 0x48], eax
mov eax, eax
mov byte [rax + r12], 0
jmp 0x14001b46d
mov r8, r13
mov rdx, rsi
mov rcx, r14
call fcn.14001b000
mov r9d, dword [rbp + 0x48]
mov ecx, dword [rbp + 0x58]
mov r8, rdi
mov rdx, rdi
call fcn.140003cd0
lea r9, [rbp + 0x58]
lea r8, [rbp - 0x38]
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x50]
mov dword [rbp + 0x48], eax
call fcn.140048ab0
lea r9, [rbp + 0x58]
lea r8, [rbp - 0x38]
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x50]
call fcn.140048ab0
mov eax, dword [rbp + 0x48]
mov rdi, qword [rbp - 0x38]
mov eax, eax
mov byte [rax + r12], 0
jmp 0x14001b46d
mov r12, rbx
mov dword [rbp + 0x48], ebx
cmp dword [rbp + 0x58], 0
jne 0x14001b536
mov r8, r12
mov rdx, rsi
mov rcx, r14
call fcn.140017100
test eax, eax
je 0x14001b4d1
lea rcx, [rbp - 0x30]
mov r9, r13
mov r8, r14
xor edx, edx
call fcn.14002d8c0
test eax, eax
jne 0x14001b4d1
mov rbx, qword [rbp - 0x30]
test rbx, rbx
je 0x14001b4c6
lea r9, [rbx + 0x18]
lea r8, [rbp + 0x58]
lea rcx, [rbp - 0x38]
mov edx, 0x4c78547e
mov qword [rsp + 0x20], 0x3224c2e0
call fcn.14004ecf0
mov rdx, rbx
mov rcx, r14
call fcn.14002db80
lea r9, [rbp + 0x58]
lea r8, [rbp - 0x38]
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x50]
call fcn.140048ab0
test eax, eax
je 0x14001b532
lea rcx, [rbp - 0x30]
mov r9, r13
mov r8, r14
xor edx, edx
call fcn.14002d8c0
test eax, eax
jne 0x14001b532
mov rbx, qword [rbp - 0x30]
test rbx, rbx
je 0x14001b527
lea r9, [rbx + 0x18]
lea r8, [rbp + 0x58]
lea rcx, [rbp - 0x38]
mov edx, 0x4c78547e
mov qword [rsp + 0x20], 0x3224c2e0
call fcn.14004ecf0
mov rdx, rbx
mov rcx, r14
call fcn.14002db80
mov rdi, qword [rbp - 0x38]
mov rsi, qword [rbp + 0x60]
test rsi, rsi
jne 0x14001b54d
mov rcx, r15
call fcn.14001a8d0
mov ebx, eax
test eax, eax
jne 0x14001b5c7
mov ecx, dword [rbp + 0x48]
mov eax, 0
lea rdx, [rbp - 0x20]
test rsi, rsi
mov r9, rdi
mov r8, r12
cmove rdx, rax
mov rax, qword [rbp + 0x40]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x48]
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rax
mov eax, dword [rbp + 0x58]
mov dword [rsp + 0x20], eax
call fcn.1400513f0
mov ebx, eax
test eax, eax
jne 0x14001b5c7
test rsi, rsi
je 0x14001b5c7
mov eax, dword [rbp + 0x48]
mov r9d, dword [rbp + 0x58]
mov rdx, qword [rbp - 0x20]
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], eax
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], 1
call fcn.140016980
mov ebx, eax
mov eax, 0x3e5
test ebx, ebx
cmove ebx, eax
test r12, r12
je 0x14001b5d9
mov rdx, r12
mov rcx, r15
call qword [r15 + 0x230]
mov rdx, rdi
mov rcx, r15
call qword [r15 + 0x230]
mov eax, ebx
mov rdi, qword [rsp + 0x78]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbx
pop rbp
ret