Function at 0x140001fc0
Capabilities:
Create device object

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
sub rsp, 0x40
mov rbx, rcx
lea rdi, [rcx + 0x70]
xor esi, esi
mov qword [rax + 8], rsi
lea rax, [0x140001340]
mov qword [rcx + 0x68], rax
lea rax, [0x140001310]
lea ecx, [rsi + 0x1c]
rep stosq qword [rdi], rax
lea rax, [0x1400011b0]
mov qword [rbx + 0xe0], rax
call fcn.1400022d4
test eax, eax
js 0x14000222d
call fcn.14000282c
test al, al
je 0x14000222d
lea rdx, [0x1400031b0]
lea rcx, [0x140006648]
call qword [sym.imp.ntoskrnl.exe_RtlInitUnicodeString]
lea rbp, [0x140006658]
mov rcx, rbp
lea rdx, [0x1400031e0]
call qword [sym.imp.ntoskrnl.exe_RtlInitUnicodeString]
lea rax, [rsp + 0x50]
xor edx, edx
mov qword [rsp + 0x30], rax
lea r9d, [rsi + 0x22]
mov byte [rsp + 0x28], sil
lea r8, [0x140006648]
mov rcx, rbx
mov dword [rsp + 0x20], 0x100
call qword [sym.imp.ntoskrnl.exe_IoCreateDevice]
mov edi, eax
test eax, eax
js 0x14000208e
mov rax, qword [rsp + 0x50]
test rax, rax
jne 0x14000209a
mov edi, 0xc00000e9
call fcn.140002248
mov eax, edi
jmp 0x140002232
or dword [rax + 0x30], 4
lea rdx, [0x140006648]
mov rax, qword [rsp + 0x50]
mov rcx, rbp
and dword [rax + 0x30], 0xfbffafff
call qword [sym.imp.ntoskrnl.exe_IoCreateSymbolicLink]
mov edi, eax
test eax, eax
jns 0x1400020d1
call fcn.140002248
mov rcx, qword [rbx + 8]
call qword [sym.imp.ntoskrnl.exe_IoDeleteDevice]
jmp 0x140002093
lea rax, [0x140006480]
lea rcx, [0x1400064c0]
mov qword [0x140006488], rax
mov qword [0x140006480], rax
call qword [sym.imp.ntoskrnl.exe_ExInitializeResourceLite]
mov word [rsp + 0x30], si
lea rcx, [0x140006540]
mov edi, 0x20
mov dword [rsp + 0x28], 0x6c6a6e69
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
xor edx, edx
call qword [sym.imp.ntoskrnl.exe_ExInitializeNPagedLookasideList]
mov word [rsp + 0x30], si
lea rcx, [0x1400065c0]
mov dword [rsp + 0x28], 0x646a6e69
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], 0x18
xor edx, edx
call qword [sym.imp.ntoskrnl.exe_ExInitializeNPagedLookasideList]
mov r8d, edi
lea rcx, [0x1400064a0]
xor edx, edx
call fcn.140002fc0
lea rcx, [0x140003220]
call fcn.14000263c
lea rcx, [0x140003240]
mov qword [0x140006528], rax
call fcn.14000263c
lea rcx, [0x140003260]
mov qword [0x140006530], rax
call fcn.14000263c
lea rcx, [0x140003280]
mov qword [0x140006538], rax
call fcn.14000263c
cmp qword [0x140006528], rsi
mov qword [0x140006640], rax
je 0x140002215
cmp qword [0x140006530], rsi
je 0x140002215
cmp qword [0x140006538], rsi
je 0x140002215
test rax, rax
je 0x140002215
lea rcx, [0x140001bf0]
call qword [sym.imp.ntoskrnl.exe_PsSetLoadImageNotifyRoutine]
mov edi, eax
test eax, eax
jns 0x1400021ed
call fcn.140002248
mov rcx, rbp
call qword [sym.imp.ntoskrnl.exe_IoDeleteSymbolicLink]
jmp 0x1400020c5
xor edx, edx
lea rcx, [0x1400010b0]
call qword [sym.imp.ntoskrnl.exe_PsSetCreateProcessNotifyRoutine]
mov edi, eax
test eax, eax
jns 0x140002211
lea rcx, [0x140001bf0]
call qword [sym.imp.ntoskrnl.exe_PsRemoveLoadImageNotifyRoutine]
jmp 0x1400021da
xor eax, eax
jmp 0x140002232
call fcn.140002248
mov rcx, rbp
call qword [sym.imp.ntoskrnl.exe_IoDeleteSymbolicLink]
mov rcx, qword [rbx + 8]
call qword [sym.imp.ntoskrnl.exe_IoDeleteDevice]
mov eax, 0xc0000001
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret