Function at 0x180015fa0
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 0x1800161d4
lea rdx, str.RtlNtStatusToDosError
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18006cdd8], rax
test rax, rax
je 0x1800161e9
lea rdx, str.NtDeviceIoControlFile
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18006cde8], rax
test rax, rax
je 0x1800161fe
lea rdx, str.NtQueryInformationFile
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18006ce28], rax
test rax, rax
je 0x180016213
lea rdx, str.NtSetInformationFile
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18006ce48], rax
test rax, rax
je 0x180016228
lea rdx, str.NtQueryVolumeInformationFile
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18006ce38], rax
test rax, rax
je 0x18001623d
lea rdx, str.NtQueryDirectoryFile
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp qword [0x18006ce38], 0
mov qword [0x18006ce50], rax
je 0x180016252
lea rdx, str.NtQuerySystemInformation
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18006ce20], rax
test rax, rax
je 0x180016267
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rbx, rax
test rax, rax
je 0x18001627c
lea rdx, str.GetQueuedCompletionStatusEx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.SetFileCompletionNotificationModes
mov rcx, rbx
mov qword [0x18006cde0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.CreateSymbolicLinkW
mov rcx, rbx
mov qword [0x18006ce18], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.CancelIoEx
mov rcx, rbx
mov qword [0x18006ce30], 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 [0x18006ce00], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.SleepConditionVariableSRW
mov rcx, rbx
mov qword [0x18006ce08], 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 [0x18006ce10], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.GetFinalPathNameByHandleW
mov rcx, rbx
mov qword [0x18006cdf8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, str.powrprof.dll
mov qword [0x18006ce40], rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
test rax, rax
je 0x1800161ce
lea rdx, str.PowerRegisterSuspendResumeNotification
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18006cdf0], rax
add rsp, 0x20
pop rbx
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, [0x180061160]
call fcn.180011450
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, [0x180061190]
call fcn.180011450
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, [0x180061190]
call fcn.180011450
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, [0x180061190]
call fcn.180011450
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, [0x180061190]
call fcn.180011450
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, [0x180061190]
call fcn.180011450
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, [0x180061190]
call fcn.180011450
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, [0x180061190]
call fcn.180011450
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, [0x180061160]
call fcn.180011450
int3