Function at 0x14000c130
Capabilities:
Create device object

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov r10d, dword [0x140007470]
mov r15, r8
mov r14d, edx
mov rbx, rcx
cmp r10d, 0x10
jae 0x14000c43d
xor r13d, r13d
lea r12, [0x140000000]
mov r9d, r13d
test r10d, r10d
je 0x14000c18d
mov ecx, dword [rcx + 8]
mov eax, r9d
cmp ecx, dword [r12 + rax*4 + 0x7480]
je 0x14000c43d
inc r9d
cmp r9d, r10d
jb 0x14000c174
mov edx, 0x1530
mov qword [rsp + 0xb8], rsi
xor ecx, ecx
mov r8d, 0x4d525356
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
mov rsi, rax
test rax, rax
jne 0x14000c1b7
mov eax, 0xc000009a
jmp 0x14000c20b
movups xmm0, xmmword [rbx]
mov eax, dword [rbx + 0x30]
mov rdx, rsi
movups xmm1, xmmword [rbx + 0x10]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0xb0], rbp
movups xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x70], eax
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rsp + 0x50], xmm1
movups xmmword [rsp + 0x60], xmm0
call fcn.14000d4c0
mov ebp, eax
test eax, eax
jns 0x14000c22c
mov edx, 0x4d525356
mov rcx, rsi
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
mov eax, ebp
mov rbp, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xc0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov edx, dword [0x140007470]
lea rdi, [r14 - 0x34]
mov eax, dword [rbx + 4]
shr rdi, 1
lea rcx, [rdx*4]
inc edx
mov dword [rcx + r12 + 0x74c0], eax
mov eax, dword [rbx + 8]
mov dword [rcx + r12 + 0x7480], eax
lea eax, [rdi - 1]
mov dword [0x140007470], edx
cmp r13w, word [rbx + rax*2 + 0x34]
jne 0x14000c35e
lea eax, [rdi - 2]
cmp r13w, word [rbx + rax*2 + 0x34]
jne 0x14000c35e
call qword [sym.imp.ntoskrnl.exe_KeEnterCriticalRegion]
lea rcx, [r15 + 0x48]
call qword [sym.imp.ntoskrnl.exe_ExAcquireFastMutex]
mov rax, qword [r15 + 0x30]
lea rcx, [r15 + 0x30]
cmp rax, rcx
je 0x14000c2b1
mov edx, dword [rbx + 4]
nop dword [rax]
cmp edx, dword [rax - 8]
je 0x14000c34e
mov rax, qword [rax]
cmp rax, rcx
jne 0x14000c2a0
lea rcx, [r15 + 0x48]
call qword [sym.imp.ntoskrnl.exe_ExReleaseFastMutex]
call qword [sym.imp.ntoskrnl.exe_KeLeaveCriticalRegion]
mov rcx, qword [r15]
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x30], rax
mov r9d, 0x2a
mov byte [rsp + 0x28], r13b
xor r8d, r8d
mov edx, 0x1580
mov dword [rsp + 0x20], 0x180
mov rcx, qword [rcx + 8]
add edi, edi
call qword [sym.imp.ntoskrnl.exe_IoCreateDevice]
mov r14d, eax
test eax, eax
js 0x14000c427
mov rax, qword [rsp + 0xc8]
mov r8d, 0x4d525356
mov edx, edi
xor ecx, ecx
mov r13, qword [rax + 0x40]
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
mov qword [r13 + 0x28], rax
test rax, rax
jne 0x14000c376
mov edx, 0x4d525356
mov rcx, rsi
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
mov rcx, qword [rsp + 0xc8]
call qword [sym.imp.ntoskrnl.exe_IoDeleteDevice]
mov eax, 0xc000009a
jmp 0x14000c203
lea rcx, [r15 + 0x48]
call qword [sym.imp.ntoskrnl.exe_ExReleaseFastMutex]
call qword [sym.imp.ntoskrnl.exe_KeLeaveCriticalRegion]
mov edx, 0x4d525356
mov rcx, rsi
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
mov eax, 0xc000000d
jmp 0x14000c203
lea rdx, [rbx + 0x34]
mov r8, rdi
mov rcx, rax
call fcn.140001820
mov eax, dword [rbx + 4]
mov dword [r13 + 0x30], eax
mov rdi, qword [rsp + 0xc8]
mov rbx, qword [rdi + 0x40]
mov byte [rbx + 8], 0
mov qword [rbx], rdi
mov eax, dword [0x14000750c]
mov dword [rbx + 0x14], eax
mov rax, qword [r15]
mov qword [rbx + 0x20], rax
xor eax, eax
mov qword [rbx + 0xc], rax
mov word [rbx + 0x48], 1
mov dword [rbx + 0x1c], 4
mov dword [rbx + 0x18], 1
or dword [rdi + 0x30], 0x2000
call qword [sym.imp.ntoskrnl.exe_KeEnterCriticalRegion]
lea rcx, [r15 + 0x48]
call qword [sym.imp.ntoskrnl.exe_ExAcquireFastMutex]
mov rax, qword [r15 + 0x38]
lea rdx, [rbx + 0x38]
lea rcx, [r15 + 0x30]
mov qword [rdx + 8], rax
mov qword [rdx], rcx
mov qword [rax], rdx
inc dword [r15 + 0x40]
mov qword [rcx + 8], rdx
lea rcx, [r15 + 0x48]
call qword [sym.imp.ntoskrnl.exe_ExReleaseFastMutex]
call qword [sym.imp.ntoskrnl.exe_KeLeaveCriticalRegion]
and dword [rdi + 0x30], 0xffffff7f
lea rcx, [r13 + 0x50]
mov r8d, 0x1530
mov rdx, rsi
call fcn.140001820
mov edx, 0x4d525356
mov rcx, rsi
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
mov eax, r14d
jmp 0x14000c203
mov eax, 0xc000000d
jmp 0x14000c213