Function at 0x1005b974
Capabilities:
Link many functions at runtime

Disassembly:
mov eax, dword [0x101aeccc]
push edi
test eax, eax
jne 0x1005bd0e
cmp dword [0x101aecc8], 3
ja 0x1005bd0e
inc dword [0x101aecc8]
call fcn.100bc7a0
test eax, eax
je 0x1005b9ab
push str.ntdll.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
jmp 0x1005b9b6
push 0x1016318c
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
jne 0x1005b9be
pop edi
ret
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.NtCreateFile
push edi
call esi
push str.NtOpenFile
push edi
mov dword [0x101aebc8], eax
call esi
push str.NtClose
push edi
mov dword [0x101aebcc], eax
call esi
push str.NtReadFile
push edi
mov dword [0x101aebd0], eax
call esi
push str.NtWriteFile
push edi
mov dword [0x101aebd4], eax
call esi
push str.NtQueryObject
push edi
mov dword [0x101aebd8], eax
call esi
push str.NtQueryDirectoryFile
push edi
mov dword [0x101aebdc], eax
call esi
push str.NtQueryInformationFile
push edi
mov dword [0x101aebe0], eax
call esi
push str.NtSetInformationFile
push edi
mov dword [0x101aebe4], eax
call esi
push str.NtQuerySystemInformation
push edi
mov dword [0x101aebe8], eax
call esi
push str.NtDeleteFile
push edi
mov dword [0x101aebec], eax
call esi
push str.NtQueryVolumeInformationFile
push edi
mov dword [0x101aebf0], eax
call esi
push str.RtlInitializeCriticalSection
push edi
mov dword [0x101aebf4], eax
call esi
push str.RtlDeleteCriticalSection
push edi
mov dword [0x101aebf8], eax
call esi
push str.RtlEnterCriticalSection
push edi
mov dword [0x101aebfc], eax
call esi
push str.RtlLeaveCriticalSection
push edi
mov dword [0x101aec00], eax
call esi
push str.RtlTryEnterCriticalSection
push edi
mov dword [0x101aec04], eax
call esi
push str.NtOpenDirectoryObject
push edi
mov dword [0x101aec08], eax
call esi
push str.NtQueryDirectoryObject
push edi
mov dword [0x101aec0c], eax
call esi
push str.NtOpenSymbolicLinkObject
push edi
mov dword [0x101aec10], eax
call esi
push str.NtQuerySymbolicLinkObject
push edi
mov dword [0x101aec14], eax
call esi
push str.NtCreateKey
push edi
mov dword [0x101aec18], eax
call esi
push str.NtOpenKey
push edi
mov dword [0x101aec1c], eax
call esi
push str.NtQueryKey
push edi
mov dword [0x101aec20], eax
call esi
push str.NtQueryValueKey
push edi
mov dword [0x101aec24], eax
call esi
push str.NtQueryMultipleValueKey
push edi
mov dword [0x101aec28], eax
call esi
push str.NtEnumerateKey
push edi
mov dword [0x101aec2c], eax
call esi
push str.NtEnumerateValueKey
push edi
mov dword [0x101aec30], eax
call esi
push str.NtFlushKey
push edi
mov dword [0x101aec34], eax
call esi
push str.NtDeleteKey
push edi
mov dword [0x101aec38], eax
call esi
push str.NtSetInformationKey
push edi
mov dword [0x101aec3c], eax
call esi
push str.NtSetValueKey
push edi
mov dword [0x101aec40], eax
call esi
push str.NtNotifyChangeKey
push edi
mov dword [0x101aec44], eax
call esi
push str.NtNotifyChangeMultipleKeys
push edi
mov dword [0x101aec48], eax
call esi
push str.NtCreateProcess
push edi
mov dword [0x101aec4c], eax
call esi
push str.NtCreateProcessEx
push edi
mov dword [0x101aec50], eax
call esi
push str.NtOpenProcess
push edi
mov dword [0x101aec54], eax
call esi
push str.NtTerminateProcess
push edi
mov dword [0x101aec58], eax
call esi
push str.LdrShutdownProcess
push edi
mov dword [0x101aec5c], eax
call esi
push str.NtQueryInformationProcess
push edi
mov dword [0x101aec60], eax
call esi
mov dword [0x101aec64], eax
push str.NtSetInformationProcess
push edi
call esi
push str.NtCreateThread
push edi
mov dword [0x101aec68], eax
call esi
push str.NtOpenThread
push edi
mov dword [0x101aec6c], eax
call esi
push str.NtSuspendThread
push edi
mov dword [0x101aec70], eax
call esi
push str.NtResumeThread
push edi
mov dword [0x101aec74], eax
call esi
push str.NtTerminateThread
push edi
mov dword [0x101aec78], eax
call esi
push str.LdrShutdownThread
push edi
mov dword [0x101aec7c], eax
call esi
push str.NtQueryInformationThread
push edi
mov dword [0x101aec80], eax
call esi
push str.NtSetInformationThread
push edi
mov dword [0x101aec84], eax
call esi
push str.RtlInitUnicodeString
push edi
mov dword [0x101aec88], eax
call esi
push str.RtlFreeUnicodeString
push edi
mov dword [0x101aec8c], eax
call esi
push str.RtlDosPathNameToNtPathName_U
push edi
mov dword [0x101aec90], eax
call esi
push str.NtQueryAttributesFile
push edi
mov dword [0x101aec94], eax
call esi
push str.NtQueryFullAttributesFile
push edi
mov dword [0x101aec98], eax
call esi
push str.RtlConvertSidToUnicodeString
push edi
mov dword [0x101aec9c], eax
call esi
push str.RtlCreateSecurityDescriptor
push edi
mov dword [0x101aeca0], eax
call esi
push str.RtlSetDaclSecurityDescriptor
push edi
mov dword [0x101aeca4], eax
call esi
push str.RtlInitializeSid
push edi
mov dword [0x101aeca8], eax
call esi
push str.RtlSubAuthoritySid
push edi
mov dword [0x101aecac], eax
call esi
push str.RtlCreateAcl
push edi
mov dword [0x101aecb0], eax
call esi
mov dword [0x101aecb4], eax
push str.RtlAddAccessAllowedAceEx
push edi
call esi
push str.RtlGetCurrentDirectory_U
push edi
mov dword [0x101aecb8], eax
call esi
push str.RtlSetCurrentDirectory_U
push edi
mov dword [0x101aecbc], eax
call esi
push str.RtlGetFullPathName_U
push edi
mov dword [0x101aecc0], eax
call esi
push 1
mov dword [0x101aecc4], eax
pop eax
pop esi
mov dword [0x101aeccc], eax
pop edi
ret