Function at 0x14001e390
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rbx
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x2f]
sub rsp, 0x88
xor eax, eax
mov r13, r8
mov r15, rdx
mov r14, rcx
mov qword [rbp - 0x11], rax
mov dword [rbp + 0x6f], eax
test rdx, rdx
je 0x14001e3fc
mov rbx, qword [rdx + 0x70]
test rbx, rbx
je 0x14001e3dd
mov edi, dword [rbx + 0xd8]
sub edi, 0x5dd3a9e5
jmp 0x14001e416
mov rdx, rcx
mov rcx, r15
call fcn.14001cae0
mov r8, r13
mov rdx, r14
mov rcx, r15
call fcn.14001b000
mov rbx, qword [r15 + 0x70]
jmp 0x14001e413
xor ecx, ecx
call fcn.14001cae0
mov r8, r13
xor edx, edx
xor ecx, ecx
call fcn.14001f000
mov rbx, qword [rbp + 0x67]
mov edi, dword [rbp + 0x67]
test r14, r14
je 0x14001ea0a
mov r10d, dword [rbx + 0xd8]
mov rcx, r14
mov qword [rsp + 0x78], r12
mov edx, r10d
xor edx, 0xaccc55b7
call fcn.140048a40
mov r12, rax
mov qword [rbp - 9], rax
test rax, rax
je 0x14001ea06
xor r10d, 0x1867ef5e
lea r9, [rbp + 0x6f]
lea r8, [rbp - 0x11]
lea rdx, [rbp + 0x7f]
lea rcx, [rbp - 9]
mov qword [rsp + 0x80], rsi
mov dword [rbp + 0x7f], r10d
call fcn.140048ab0
mov esi, eax
test eax, eax
jne 0x14001e508
mov r12, qword [rbp - 0x11]
mov r9, r12
test r12, r12
je 0x14001e4df
mov r11d, dword [rbp + 0x6f]
or ecx, 0xffffffff
mov r10d, r11d
test r11d, r11d
je 0x14001e4e2
mov edx, dword [rbp + 0x67]
nop dword [rax]
dec r10d
test r9, r9
je 0x14001e4af
movsx edx, byte [r9]
inc r9
test edx, edx
jne 0x14001e4bb
lea eax, [r11 + 1]
test eax, eax
je 0x14001e4e2
mov r8d, 8
mov eax, edx
xor eax, ecx
shr ecx, 1
test al, 1
je 0x14001e4d1
xor ecx, 0xedb88320
shr edx, 1
dec r8
jne 0x14001e4c1
test r10d, r10d
jne 0x14001e4a0
jmp 0x14001e4e2
mov ecx, dword [rbp + 0x67]
mov eax, dword [rbx + 0xd8]
xor eax, 0xd359f78
cmp ecx, eax
je 0x14001e4f6
test edi, edi
cmovne esi, edi
mov rdx, r12
mov rcx, rbx
call qword [rbx + 0x230]
mov r12, qword [rbp - 9]
jmp 0x14001e50a
mov esi, edi
test esi, esi
jne 0x14001ea02
mov eax, dword [rbx + 0xd8]
lea r9, [rbp + 0x6f]
lea r8, [rbp - 0x11]
xor eax, 0xe05ffd7d
lea rdx, [rbp - 0x19]
lea rcx, [rbp - 9]
mov dword [rbp - 0x19], eax
call fcn.140048ab0
test eax, eax
jne 0x14001e9e2
mov rsi, qword [rbp - 0x11]
test rsi, rsi
je 0x14001e562
mov ecx, dword [rbp + 0x6f]
lea r8, [rbp + 7]
lea rdx, [rbp + 0x6f]
mov r9, rbx
inc ecx
mov qword [rsp + 0x20], rsi
call fcn.140002b10
jmp 0x14001e5c6
mov rdx, r15
mov rcx, r13
call fcn.140012820
mov r8, r13
mov rdx, r14
mov rcx, r15
mov edi, eax
call fcn.14001b000
mov edx, dword [rbx + 0xd8]
mov rcx, r14
xor edx, 0xaccc55b7
call fcn.140048a40
mov r12, rax
mov qword [rbp - 9], rax
test r15, r15
je 0x14001e5c8
mov rbx, qword [r15 + 0x70]
test rbx, rbx
jne 0x14001e5c8
mov r8, r13
mov rdx, r14
mov rcx, r15
call fcn.14001cae0
mov r8, r13
mov rdx, r14
mov rcx, r15
call fcn.14001b000
mov rbx, qword [r15 + 0x70]
mov edi, eax
mov rdx, rsi
mov rcx, rbx
call qword [rbx + 0x230]
test edi, edi
jne 0x14001e9e2
mov eax, dword [rbx + 0xd8]
lea r9, [rbp + 0x6f]
lea r8, [rbp - 0x11]
xor eax, 0xaccc55b7
lea rdx, [rbp + 0x7f]
lea rcx, [rbp - 9]
mov dword [rbp + 0x7f], eax
call fcn.140048ab0
mov r14, qword [rbp + 7]
test eax, eax
jne 0x14001e695
mov rsi, qword [rbp - 0x11]
test rsi, rsi
je 0x14001e63e
mov ecx, dword [rbp + 0x6f]
lea r8, [rbp + 0x7f]
lea rdx, [rbp + 0x6f]
mov r9, rbx
inc ecx
mov qword [rsp + 0x20], rsi
call fcn.140002b10
mov rdx, rsi
mov rcx, rbx
mov edi, eax
call qword [rbx + 0x230]
jmp 0x14001e687
mov rdx, qword [rbp + 0x67]
mov r8, r13
mov rcx, r15
call fcn.14001b600
mov r8, r13
mov rdx, r12
mov rcx, r15
call fcn.14001b000
lea r9, [rbp + 0x6f]
lea r8, [rbp - 0x11]
lea rdx, [rbp - 0x19]
lea rcx, [rbp - 9]
call fcn.140048ab0
lea r9, [rbp + 0x6f]
lea r8, [rbp - 0x11]
lea rdx, [rbp - 0x19]
lea rcx, [rbp - 9]
call fcn.140048ab0
mov edi, eax
test edi, edi
jne 0x14001e9d6
mov r12, qword [rbp + 0x7f]
jmp 0x14001e698
xor r12d, r12d
cmp qword [rbp - 9], 0
je 0x14001e9b8
mov eax, dword [rbx + 0xd8]
lea r9, [rbp + 0x6f]
lea r8, [rbp - 0x11]
xor eax, 0xafee4ca9
lea rdx, [rbp + 0x7f]
lea rcx, [rbp - 9]
mov dword [rbp + 0x7f], eax
call fcn.140048ab0
test eax, eax
je 0x14001e852
mov r13, qword [rbx + 0x92b8]
lea rax, [rbp + 0x7f]
xor esi, esi
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rsi
xor r9d, r9d
mov rdx, r13
mov r8d, 0xec7b2464
mov rcx, rbx
mov dword [rsp + 0x28], 2
mov dword [rbp + 0x7f], esi
mov qword [rsp + 0x20], 0x7f
call fcn.140007f50
mov r8d, dword [rbp + 0x7f]
cmp r8d, 1
jbe 0x14001e81e
test r8d, r8d
je 0x14001e81e
shl r8d, 2
xor edx, edx
mov rcx, rbx
call qword [rbx + 0xc8]
mov rsi, rax
test rax, rax
je 0x14001e81e
mov eax, dword [rbp + 0x7f]
test eax, eax
je 0x14001e74c
lea rdi, [rsi + rax*2]
jmp 0x14001e77b
xor r8d, r8d
xor edx, edx
mov rcx, rbx
mov dword [rbp + 0x7f], 0
call qword [rbx + 0xc8]
mov r8d, dword [rbp + 0x7f]
shl r8d, 2
xor edx, edx
mov rcx, rbx
call qword [rbx + 0xc8]
mov rdi, qword [rbp + 0x67]
mov rsi, rax
lea rax, [rbp + 0x7f]
xor r9d, r9d
mov r8d, 0xec7b2464
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdi
mov rdx, r13
mov rcx, rbx
mov dword [rsp + 0x28], 2
mov qword [rsp + 0x20], 0
call fcn.140007f50
test eax, eax
je 0x14001e810
test rdi, rdi
je 0x14001e843
mov r8d, dword [rbx + 0xd8]
mov rcx, qword [rbx + 0x92b8]
mov edx, 0x38acb04a
call qword [rbx + 0x260]
test rax, rax
je 0x14001e809
mov r9d, dword [rbp + 0x7f]
xor edx, edx
mov r8, rdi
mov qword [rsp + 0x38], rdx
lea ecx, [r9*4]
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x28], ecx
mov ecx, 0xfde9
mov qword [rsp + 0x20], rsi
call rax
mov dword [rbp + 0x7f], eax
jmp 0x14001e846
mov dword [rbp + 0x7f], 0
mov rdx, rsi
mov rcx, rbx
call qword [rbx + 0x230]
xor esi, esi
test rsi, rsi
je 0x14001e9b1
xor ecx, ecx
mov rax, rsi
cmp byte [rsi], cl
je 0x14001e83a
inc rax
inc ecx
cmp byte [rax], 0
jne 0x14001e830
mov r13, qword [rbp + 0x77]
mov dword [rbp + 0x6f], ecx
jmp 0x14001e859
mov eax, dword [rbp + 0x7f]
test eax, eax
je 0x14001e810
mov eax, eax
mov byte [rax + rsi], 0
jmp 0x14001e81e
mov rsi, qword [rbp - 0x11]
mov ecx, dword [rbp + 0x6f]
test rsi, rsi
je 0x14001e9b1
lea r8, [rbp + 0x7f]
lea rdx, [rbp + 0x6f]
inc ecx
mov r9, rbx
mov qword [rsp + 0x20], rsi
call fcn.140002b10
mov rdx, rsi
mov rcx, rbx
mov edi, eax
call qword [rbx + 0x230]
test edi, edi
jne 0x14001e9c5
mov rsi, qword [rbp + 0x7f]
test rsi, rsi
je 0x14001e97d
mov r8d, dword [rbx + 0xd8]
mov rcx, qword [rbx + 0x92a8]
mov edx, 0xfcb7f64b
call qword [rbx + 0x260]
test rax, rax
je 0x14001e967
lea rcx, [rbp - 1]
lea r9d, [rdi + 9]
mov r8, r12
mov qword [rsp + 0x28], rcx
mov rcx, r14
mov rdx, rsi
mov dword [rsp + 0x20], 3
call rax
test eax, eax
je 0x14001e967
mov rcx, qword [rbp - 1]
call fcn.14000d230
mov edi, eax
test eax, eax
jne 0x14001e935
mov rdx, qword [rbp - 1]
mov rcx, rbx
call fcn.14000ea90
mov r8, qword [r15 + 0x60]
mov r9d, 0x4126
mov rdx, r14
mov rcx, r12
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rsi
call fcn.140029e50
mov rdx, rsi
mov rcx, rbx
call qword [rbx + 0x230]
jmp 0x14001e9c5
mov r8d, dword [rbx + 0xd8]
mov rcx, qword [rbx + 0x92b8]
mov edx, 0x12bf4037
call qword [rbx + 0x260]
test rax, rax
je 0x14001e9a3
mov rcx, qword [rbp - 1]
call rax
mov rdx, rsi
mov rcx, rbx
call qword [rbx + 0x230]
jmp 0x14001e9c5
call qword [rbx + 0x92d8]
mov rdx, rsi
mov rcx, rbx
mov edi, eax
call qword [rbx + 0x230]
jmp 0x14001e9c5
mov rdx, qword [rbp + 0x67]
mov r8, r13
mov rcx, r15
call fcn.14001cae0
lea r9, [rbp + 0x6f]
lea r8, [rbp - 0x11]
lea rdx, [rbp - 0x19]
lea rcx, [rbp - 9]
call fcn.140048ab0
mov edi, eax
mov rdx, rsi
mov rcx, rbx
call qword [rbx + 0x230]
jmp 0x14001e9c5
mov edi, 8
jmp 0x14001e9c5
mov r8, r13
xor edx, edx
mov rcx, r15
call fcn.14001d3e0
test r12, r12
je 0x14001e9d6
mov rdx, r12
mov rcx, rbx
call qword [rbx + 0x230]
mov rdx, r14
mov rcx, rbx
call qword [rbx + 0x230]
mov eax, edi
mov rsi, qword [rsp + 0x80]
mov r12, qword [rsp + 0x78]
add rsp, 0x88
pop r15
pop r14
pop r13
pop rdi
pop rbx
pop rbp
ret
mov eax, esi
jmp 0x14001e9e4
mov eax, edi
jmp 0x14001e9ec
mov eax, edi
add rsp, 0x88
pop r15
pop r14
pop r13
pop rdi
pop rbx
pop rbp
ret