Function at 0x1800ad590
Capabilities:
Link many functions at runtime

Disassembly:
jmp 0x1800ad590
push rbx
sub rsp, 0x20
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rbx, rax
test rax, rax
je 0x1800ad7b0
lea rdx, str.RtlNtStatusToDosError
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18012e138], rax
test rax, rax
je 0x1800ad7c5
lea rdx, str.NtDeviceIoControlFile
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18012e130], rax
test rax, rax
je 0x1800ad7da
lea rdx, str.NtQueryInformationFile
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18012e128], rax
test rax, rax
je 0x1800ad7ef
lea rdx, str.NtSetInformationFile
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18012e120], rax
test rax, rax
je 0x1800ad804
lea rdx, str.NtQueryVolumeInformationFile
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18012e118], rax
test rax, rax
je 0x1800ad819
lea rdx, str.NtQueryDirectoryFile
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp qword [0x18012e118], 0
mov qword [0x18012e110], rax
je 0x1800ad82e
lea rdx, str.NtQuerySystemInformation
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18012e108], rax
test rax, rax
je 0x1800ad843
lea rcx, [0x1800edc70]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rbx, rax
test rax, rax
je 0x1800ad858
lea rdx, str.GetQueuedCompletionStatusEx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.SetFileCompletionNotificationModes
mov rcx, rbx
mov qword [0x18012e100], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.CreateSymbolicLinkW
mov rcx, rbx
mov qword [0x18012e0f8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.CancelIoEx
mov rcx, rbx
mov qword [0x18012e0f0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.InitializeConditionVariable
mov rcx, rbx
mov qword [0x18012e0e8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.SleepConditionVariableCS
mov rcx, rbx
mov qword [0x18012e0e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.SleepConditionVariableSRW
mov rcx, rbx
mov qword [0x18012e0d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.WakeAllConditionVariable
mov rcx, rbx
mov qword [0x18012e0d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.WakeConditionVariable
mov rcx, rbx
mov qword [0x18012e0c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.CancelSynchronousIo
mov rcx, rbx
mov qword [0x18012e0c0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.GetFinalPathNameByHandleW
mov rcx, rbx
mov qword [0x18012e0b8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18012e088], rax
add rsp, 0x20
pop rbx
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, str.GetModuleHandleA
call fcn.180002982
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, str.GetProcAddress
call fcn.180002982
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, str.GetProcAddress
call fcn.180002982
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, str.GetProcAddress
call fcn.180002982
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, str.GetProcAddress
call fcn.180002982
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, str.GetProcAddress
call fcn.180002982
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, str.GetProcAddress
call fcn.180002982
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, str.GetProcAddress
call fcn.180002982
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea rdx, str.GetModuleHandleA
call fcn.180002982
int3