Function at 0x1400167d0
Capabilities:
Link many functions at runtime

Disassembly:
push rbx
sub rsp, 0x20
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rbx, rax
test rax, rax
je 0x140016a04
lea rdx, str.RtlNtStatusToDosError
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14006aa88], rax
test rax, rax
je 0x140016a19
lea rdx, str.NtDeviceIoControlFile
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14006aaa8], rax
test rax, rax
je 0x140016a2e
lea rdx, str.NtQueryInformationFile
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14006aa48], rax
test rax, rax
je 0x140016a43
lea rdx, str.NtSetInformationFile
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14006aa68], rax
test rax, rax
je 0x140016a58
lea rdx, str.NtQueryVolumeInformationFile
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14006aa58], rax
test rax, rax
je 0x140016a6d
lea rdx, str.NtQueryDirectoryFile
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp qword [0x14006aa58], 0
mov qword [0x14006aa70], rax
je 0x140016a82
lea rdx, str.NtQuerySystemInformation
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14006aa80], rax
test rax, rax
je 0x140016a97
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rbx, rax
test rax, rax
je 0x140016aac
lea rdx, str.GetQueuedCompletionStatusEx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.SetFileCompletionNotificationModes
mov rcx, rbx
mov qword [0x14006aa78], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.CreateSymbolicLinkW
mov rcx, rbx
mov qword [0x14006aac0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.CancelIoEx
mov rcx, rbx
mov qword [0x14006aa50], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.InitializeConditionVariable
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.SleepConditionVariableCS
mov rcx, rbx
mov qword [0x14006aa90], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.SleepConditionVariableSRW
mov rcx, rbx
mov qword [0x14006aa98], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.WakeAllConditionVariable
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.WakeConditionVariable
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.CancelSynchronousIo
mov rcx, rbx
mov qword [0x14006aaa0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.GetFinalPathNameByHandleW
mov rcx, rbx
mov qword [0x14006aab8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, str.powrprof.dll
mov qword [0x14006aa60], rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
test rax, rax
je 0x1400169fe
lea rdx, str.PowerRegisterSuspendResumeNotification
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14006aab0], rax
add rsp, 0x20
pop rbx
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, [0x14005f028]
call fcn.140016ad0
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, [0x14005f058]
call fcn.140016ad0
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, [0x14005f058]
call fcn.140016ad0
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, [0x14005f058]
call fcn.140016ad0
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, [0x14005f058]
call fcn.140016ad0
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, [0x14005f058]
call fcn.140016ad0
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, [0x14005f058]
call fcn.140016ad0
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, [0x14005f058]
call fcn.140016ad0
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, [0x14005f028]
call fcn.140016ad0
int3