Function at 0x1400025bc
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, [0x140001900]
mov qword [rcx + 0x68], rax
lea rax, [0x1400018d0]
lea ecx, [rsi + 0x1c]
rep stosq qword [rdi], rax
lea rax, [0x140001760]
mov qword [rbx + 0xe0], rax
call fcn.140001088
test eax, eax
js 0x140002826
call fcn.1400028f4
test al, al
je 0x140002826
lea rdx, str.DeviceSuJiu
lea rcx, [0x140006688]
call qword [sym.imp.ntoskrnl.exe_RtlInitUnicodeString]
lea rbp, [0x140006698]
mov rcx, rbp
lea rdx, str.DosDevicesSuJiu
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, [0x140006688]
mov rcx, rbx
mov dword [rsp + 0x20], 0x100
call qword [sym.imp.ntoskrnl.exe_IoCreateDevice]
mov edi, eax
test eax, eax
js 0x14000268a
mov rax, qword [rsp + 0x50]
test rax, rax
jne 0x140002696
mov edi, 0xc00000e9
call fcn.140001000
mov eax, edi
jmp 0x14000282b
or dword [rax + 0x30], 4
lea rdx, [0x140006688]
mov rax, qword [rsp + 0x50]
mov rcx, rbp
btr dword [rax + 0x30], 7
call qword [sym.imp.ntoskrnl.exe_IoCreateSymbolicLink]
mov edi, eax
test eax, eax
jns 0x1400026cb
call fcn.140001000
mov rcx, qword [rbx + 8]
call qword [sym.imp.ntoskrnl.exe_IoDeleteDevice]
jmp 0x14000268f
lea rax, [0x1400064c0]
lea rcx, [0x140006500]
mov qword [0x1400064c8], rax
mov qword [0x1400064c0], rax
call qword [sym.imp.ntoskrnl.exe_ExInitializeResourceLite]
mov word [rsp + 0x30], si
lea rcx, [0x140006580]
mov dword [rsp + 0x28], 0x6c6a6e69
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], 0x20
xor edx, edx
call qword [sym.imp.ntoskrnl.exe_ExInitializeNPagedLookasideList]
mov word [rsp + 0x30], si
lea rcx, [0x140006600]
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]
xorps xmm0, xmm0
lea rcx, str.NtAllocateVirtualMemory
movups xmmword [0x1400064e0], xmm0
movups xmmword [0x1400064f0], xmm0
call fcn.1400013f0
lea rcx, str.NtReadVirtualMemory
mov qword [0x140006568], rax
call fcn.1400013f0
lea rcx, str.NtWriteVirtualMemory
mov qword [0x140006570], rax
call fcn.1400013f0
lea rcx, str.NtProtectVirtualMemory
mov qword [0x140006578], rax
call fcn.1400013f0
cmp qword [0x140006568], rsi
mov qword [0x140006680], rax
je 0x14000280e
cmp qword [0x140006570], rsi
je 0x14000280e
cmp qword [0x140006578], rsi
je 0x14000280e
test rax, rax
je 0x14000280e
lea rcx, [0x1400021c0]
call qword [sym.imp.ntoskrnl.exe_PsSetLoadImageNotifyRoutine]
mov edi, eax
test eax, eax
jns 0x1400027e6
call fcn.140001000
mov rcx, rbp
call qword [sym.imp.ntoskrnl.exe_IoDeleteSymbolicLink]
jmp 0x1400026bf
xor edx, edx
lea rcx, [0x1400015e0]
call qword [sym.imp.ntoskrnl.exe_PsSetCreateProcessNotifyRoutine]
mov edi, eax
test eax, eax
jns 0x14000280a
lea rcx, [0x1400021c0]
call qword [sym.imp.ntoskrnl.exe_PsRemoveLoadImageNotifyRoutine]
jmp 0x1400027d3
xor eax, eax
jmp 0x14000282b
call fcn.140001000
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