Function at 0x213e8
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
xor r14d, r14d
movzx edi, r9w
mov ebp, r8d
mov rsi, rdx
mov rbx, rcx
mov qword [rax - 0x38], r14
cmp rdx, r14
je 0x2172a
cmp r9w, r14w
je 0x2172a
cmp ebp, 0x104
jae 0x2172a
mov rcx, rdx
call fcn.0001684c
cmp al, r14b
jne 0x215b0
lea rcx, [0x0002a590]
mov r8d, ebp
mov rdx, rsi
call fcn.000140f0
lea rcx, [rbx + 0x230]
mov r13d, eax
call qword [sym.imp.ntoskrnl.exe_KeAcquireSpinLockRaiseToDpc]
lea rcx, [rsp + 0x20]
mov r15b, al
call qword [sym.imp.ntoskrnl.exe_MmIsAddressValid]
cmp al, r14b
je 0x2149a
lea rcx, [rbx + 0x440]
lea r8, [rsp + 0x20]
mov rdx, r13
call fcn.00012b0c
cmp eax, r14d
jge 0x21568
mov edx, 0x6c
xor ecx, ecx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePool]
mov qword [rsp + 0x20], rax
cmp rax, r14
je 0x215a4
lea eax, [rbp + 1]
xor ecx, ecx
mov edx, eax
mov r14d, eax
call qword [sym.imp.ntoskrnl.exe_ExAllocatePool]
mov rcx, qword [rsp + 0x20]
xor edx, edx
mov qword [rcx + 4], rax
mov rcx, qword [rsp + 0x20]
cmp qword [rcx + 4], rdx
jne 0x214e6
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
jmp 0x215a4
add rcx, 0xc
mov r8d, 0x60
call fcn.00028240
mov rcx, qword [rsp + 0x20]
mov r8, r14
mov rcx, qword [rcx + 4]
xor edx, edx
call fcn.00028240
mov rcx, qword [rsp + 0x20]
mov r8, rbp
mov rcx, qword [rcx + 4]
mov rdx, rsi
call fcn.000283d0
mov r11, qword [rsp + 0x20]
lea rcx, [rbx + 0x440]
mov dword [r11], r13d
mov r8, qword [rsp + 0x20]
mov rdx, r13
call fcn.000128ec
xor r14d, r14d
cmp eax, r14d
jge 0x21568
mov rcx, qword [rsp + 0x20]
cmp qword [rcx + 4], r14
je 0x2155c
mov rcx, qword [rcx + 4]
xor edx, edx
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
mov rcx, qword [rsp + 0x20]
cmp rcx, r14
je 0x215a4
xor edx, edx
jmp 0x214db
mov rdx, qword [rsp + 0x20]
lea r9, [rsp + 0x68]
movzx r8d, di
add rdx, 0xc
mov rcx, rbx
call fcn.00020fd0
cmp eax, r14d
jge 0x215a4
mov rdx, qword [rsp + 0x20]
mov r9b, byte [rsp + 0x80]
movzx r8d, di
add rdx, 0xc
mov rcx, rbx
call fcn.00021050
lea rcx, [rbx + 0x230]
jmp 0x2171d
mov rcx, rsi
call fcn.00011074
lea rcx, [rbx + 0x238]
mov r13d, eax
call qword [sym.imp.ntoskrnl.exe_KeAcquireSpinLockRaiseToDpc]
lea rcx, [rsp + 0x20]
mov r15b, al
call qword [sym.imp.ntoskrnl.exe_MmIsAddressValid]
cmp al, r14b
je 0x215f8
lea rcx, [rbx + 0x540]
lea r8, [rsp + 0x20]
mov rdx, r13
call fcn.00012b0c
cmp eax, r14d
jge 0x216d7
mov edx, 0x6c
xor ecx, ecx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePool]
mov qword [rsp + 0x20], rax
cmp rax, r14
je 0x21716
lea eax, [rbp + 1]
xor ecx, ecx
mov edx, eax
mov r14d, eax
call qword [sym.imp.ntoskrnl.exe_ExAllocatePool]
mov rcx, qword [rsp + 0x20]
xor edx, edx
mov qword [rcx + 4], rax
mov rcx, qword [rsp + 0x20]
cmp qword [rcx + 4], rdx
jne 0x21644
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
jmp 0x21716
add rcx, 0xc
mov r8d, 0x60
call fcn.00028240
mov rcx, qword [rsp + 0x20]
mov r8, r14
mov rcx, qword [rcx + 4]
xor edx, edx
call fcn.00028240
mov rcx, qword [rsp + 0x20]
mov r8, rbp
mov rcx, qword [rcx + 4]
mov rdx, rsi
call fcn.000283d0
lea rcx, [0x0002a590]
mov r8d, ebp
mov rdx, rsi
call fcn.000140f0
mov rcx, qword [rsp + 0x20]
mov rdx, r13
mov dword [rcx], eax
mov r8, qword [rsp + 0x20]
lea rcx, [rbx + 0x540]
call fcn.000128ec
xor r14d, r14d
cmp eax, r14d
jge 0x216d7
mov rcx, qword [rsp + 0x20]
cmp qword [rcx + 4], r14
je 0x216cb
mov rcx, qword [rcx + 4]
xor edx, edx
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
mov rcx, qword [rsp + 0x20]
cmp rcx, r14
je 0x21716
xor edx, edx
jmp 0x21639
mov rdx, qword [rsp + 0x20]
lea r9, [rsp + 0x80]
movzx r8d, di
add rdx, 0xc
mov rcx, rbx
call fcn.00020fd0
cmp eax, r14d
jge 0x21716
mov rdx, qword [rsp + 0x20]
mov r9b, byte [rsp + 0x80]
movzx r8d, di
add rdx, 0xc
mov rcx, rbx
call fcn.00021050
lea rcx, [rbx + 0x238]
mov dl, r15b
call qword [sym.imp.ntoskrnl.exe_KeReleaseSpinLock]
xor eax, eax
jmp 0x2172f
mov eax, 0xc0000001
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret