Function at 0x47fe10
Capabilities:
Link many functions at runtime

Disassembly:
mov eax, dword [0x531ea8]
push esi
test eax, eax
jne 0x4801a4
mov ecx, dword [0x531ea4]
cmp ecx, 3
ja 0x4801a4
mov edx, ecx
inc edx
mov dword [0x531ea4], edx
call fcn.0047d040
test eax, eax
je 0x47fe4c
push str.ntdll.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
jmp 0x47fe57
push 0x520b88
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
jne 0x47fe5f
pop esi
ret
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.NtCreateFile
push esi
call edi
push str.NtOpenFile
push esi
mov dword [0x531da8], eax
call edi
push str.NtClose
push esi
mov dword [0x531dac], eax
call edi
push str.NtReadFile
push esi
mov dword [0x531db0], eax
call edi
push str.NtWriteFile
push esi
mov dword [0x531db4], eax
call edi
push str.NtQueryObject
push esi
mov dword [0x531db8], eax
call edi
push str.NtQueryDirectoryFile
push esi
mov dword [0x531dbc], eax
call edi
push str.NtQueryInformationFile
push esi
mov dword [0x531dc0], eax
call edi
push str.NtSetInformationFile
push esi
mov dword [0x531dc4], eax
call edi
push str.NtQuerySystemInformation
push esi
mov dword [0x531dc8], eax
call edi
push str.NtDeleteFile
push esi
mov dword [0x531dcc], eax
call edi
push str.NtQueryVolumeInformationFile
push esi
mov dword [0x531dd0], eax
call edi
push str.RtlInitializeCriticalSection
push esi
mov dword [0x531dd4], eax
call edi
push str.RtlDeleteCriticalSection
push esi
mov dword [0x531dd8], eax
call edi
push str.RtlEnterCriticalSection
push esi
mov dword [0x531ddc], eax
call edi
push str.RtlLeaveCriticalSection
push esi
mov dword [0x531de0], eax
call edi
push str.RtlTryEnterCriticalSection
push esi
mov dword [0x531de4], eax
call edi
push str.NtOpenDirectoryObject
push esi
mov dword [0x531de8], eax
call edi
push str.NtQueryDirectoryObject
push esi
mov dword [0x531dec], eax
call edi
push str.NtOpenSymbolicLinkObject
push esi
mov dword [0x531df0], eax
call edi
push str.NtQuerySymbolicLinkObject
push esi
mov dword [0x531df4], eax
call edi
push str.NtCreateKey
push esi
mov dword [0x531df8], eax
call edi
push str.NtOpenKey
push esi
mov dword [0x531dfc], eax
call edi
push str.NtQueryKey
push esi
mov dword [0x531e00], eax
call edi
push str.NtQueryValueKey
push esi
mov dword [0x531e04], eax
call edi
push str.NtQueryMultipleValueKey
push esi
mov dword [0x531e08], eax
call edi
push str.NtEnumerateKey
push esi
mov dword [0x531e0c], eax
call edi
push str.NtEnumerateValueKey
push esi
mov dword [0x531e10], eax
call edi
push str.NtFlushKey
push esi
mov dword [0x531e14], eax
call edi
push str.NtDeleteKey
push esi
mov dword [0x531e18], eax
call edi
push str.NtSetInformationKey
push esi
mov dword [0x531e1c], eax
call edi
push str.NtSetValueKey
push esi
mov dword [0x531e20], eax
call edi
push str.NtNotifyChangeKey
push esi
mov dword [0x531e24], eax
call edi
push str.NtCreateProcess
push esi
mov dword [0x531e28], eax
call edi
push str.NtCreateProcessEx
push esi
mov dword [0x531e2c], eax
call edi
push str.NtOpenProcess
push esi
mov dword [0x531e30], eax
call edi
push str.NtTerminateProcess
push esi
mov dword [0x531e34], eax
call edi
push str.LdrShutdownProcess
push esi
mov dword [0x531e38], eax
call edi
push str.NtQueryInformationProcess
push esi
mov dword [0x531e3c], eax
call edi
push str.NtSetInformationProcess
push esi
mov dword [0x531e40], eax
call edi
mov dword [0x531e44], eax
push str.NtCreateThread
push esi
call edi
push str.NtOpenThread
push esi
mov dword [0x531e48], eax
call edi
push str.NtSuspendThread
push esi
mov dword [0x531e4c], eax
call edi
push str.NtResumeThread
push esi
mov dword [0x531e50], eax
call edi
push str.NtTerminateThread
push esi
mov dword [0x531e54], eax
call edi
push str.LdrShutdownThread
push esi
mov dword [0x531e58], eax
call edi
push str.NtQueryInformationThread
push esi
mov dword [0x531e5c], eax
call edi
push str.NtSetInformationThread
push esi
mov dword [0x531e60], eax
call edi
push str.RtlInitUnicodeString
push esi
mov dword [0x531e64], eax
call edi
push str.RtlFreeUnicodeString
push esi
mov dword [0x531e68], eax
call edi
push str.RtlDosPathNameToNtPathName_U
push esi
mov dword [0x531e6c], eax
call edi
push str.NtQueryAttributesFile
push esi
mov dword [0x531e70], eax
call edi
push str.NtQueryFullAttributesFile
push esi
mov dword [0x531e74], eax
call edi
push str.RtlConvertSidToUnicodeString
push esi
mov dword [0x531e78], eax
call edi
push str.RtlCreateSecurityDescriptor
push esi
mov dword [0x531e7c], eax
call edi
push str.RtlSetDaclSecurityDescriptor
push esi
mov dword [0x531e80], eax
call edi
push str.RtlInitializeSid
push esi
mov dword [0x531e84], eax
call edi
push str.RtlSubAuthoritySid
push esi
mov dword [0x531e88], eax
call edi
push str.RtlCreateAcl
push esi
mov dword [0x531e8c], eax
call edi
push str.RtlAddAccessAllowedAceEx
push esi
mov dword [0x531e90], eax
call edi
mov dword [0x531e94], eax
push str.RtlGetCurrentDirectory_U
push esi
call edi
push str.RtlSetCurrentDirectory_U
push esi
mov dword [0x531e98], eax
call edi
push str.RtlGetFullPathName_U
push esi
mov dword [0x531e9c], eax
call edi
mov dword [0x531ea0], eax
mov eax, 1
mov dword [0x531ea8], eax
pop edi
pop esi
ret