Function at 0x403950
Capabilities:
Link many functions at runtime

Disassembly:
mov eax, dword [0x4474f4]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.NtCreateFile
push eax
call esi
mov ecx, dword [0x4474f4]
push str.NtOpenFile
push ecx
mov dword [0x4473d8], eax
call esi
mov edx, dword [0x4474f4]
push str.NtClose
push edx
mov dword [0x4473dc], eax
call esi
mov dword [0x4473e0], eax
mov eax, dword [0x4474f4]
push str.NtReadFile
push eax
call esi
mov ecx, dword [0x4474f4]
push str.NtWriteFile
push ecx
mov dword [0x4473e4], eax
call esi
mov edx, dword [0x4474f4]
push str.NtQueryObject
push edx
mov dword [0x4473e8], eax
call esi
mov dword [0x4473ec], eax
mov eax, dword [0x4474f4]
push str.NtQueryDirectoryFile
push eax
call esi
mov ecx, dword [0x4474f4]
push str.NtQueryDirectoryFileEx
push ecx
mov dword [0x4473f0], eax
call esi
mov edx, dword [0x4474f4]
push str.NtQueryInformationFile
push edx
mov dword [0x4473f4], eax
call esi
mov dword [0x4473f8], eax
mov eax, dword [0x4474f4]
push str.NtSetInformationFile
push eax
call esi
mov ecx, dword [0x4474f4]
push str.NtQuerySystemInformation
push ecx
mov dword [0x4473fc], eax
call esi
mov edx, dword [0x4474f4]
push str.NtDeleteFile
push edx
mov dword [0x447400], eax
call esi
mov dword [0x447404], eax
mov eax, dword [0x4474f4]
push str.NtQueryVolumeInformationFile
push eax
call esi
mov ecx, dword [0x4474f4]
push str.NtDuplicateObject
push ecx
mov dword [0x447408], eax
call esi
mov edx, dword [0x4474f4]
push str.RtlInitializeCriticalSection
push edx
mov dword [0x44740c], eax
call esi
mov dword [0x447410], eax
mov eax, dword [0x4474f4]
push str.RtlDeleteCriticalSection
push eax
call esi
mov ecx, dword [0x4474f4]
push str.RtlEnterCriticalSection
push ecx
mov dword [0x447414], eax
call esi
mov edx, dword [0x4474f4]
push str.RtlLeaveCriticalSection
push edx
mov dword [0x447418], eax
call esi
mov dword [0x44741c], eax
mov eax, dword [0x4474f4]
push str.RtlTryEnterCriticalSection
push eax
call esi
mov ecx, dword [0x4474f4]
push str.NtOpenDirectoryObject
push ecx
mov dword [0x447420], eax
call esi
mov edx, dword [0x4474f4]
push str.NtQueryDirectoryObject
push edx
mov dword [0x447424], eax
call esi
mov dword [0x447428], eax
mov eax, dword [0x4474f4]
push str.NtOpenSymbolicLinkObject
push eax
call esi
mov ecx, dword [0x4474f4]
push str.NtQuerySymbolicLinkObject
push ecx
mov dword [0x44742c], eax
call esi
mov edx, dword [0x4474f4]
push str.NtCreateKey
push edx
mov dword [0x447430], eax
call esi
mov dword [0x447434], eax
mov eax, dword [0x4474f4]
push str.NtOpenKey
push eax
call esi
mov ecx, dword [0x4474f4]
push str.NtQueryKey
push ecx
mov dword [0x447438], eax
call esi
mov edx, dword [0x4474f4]
push str.NtQueryValueKey
push edx
mov dword [0x44743c], eax
call esi
mov dword [0x447440], eax
mov eax, dword [0x4474f4]
push str.NtQueryMultipleValueKey
push eax
call esi
mov ecx, dword [0x4474f4]
push str.NtEnumerateKey
push ecx
mov dword [0x447444], eax
call esi
mov edx, dword [0x4474f4]
push str.NtEnumerateValueKey
push edx
mov dword [0x447448], eax
call esi
mov dword [0x44744c], eax
mov eax, dword [0x4474f4]
push str.NtFlushKey
push eax
call esi
mov ecx, dword [0x4474f4]
push str.NtDeleteKey
push ecx
mov dword [0x447450], eax
call esi
mov dword [0x447454], eax
mov edx, dword [0x4474f4]
push str.NtDeleteValueKey
push edx
call esi
mov dword [0x447458], eax
mov eax, dword [0x4474f4]
push str.NtSetInformationKey
push eax
call esi
mov ecx, dword [0x4474f4]
push str.NtSetValueKey
push ecx
mov dword [0x44745c], eax
call esi
mov edx, dword [0x4474f4]
push str.NtNotifyChangeKey
push edx
mov dword [0x447460], eax
call esi
mov dword [0x447464], eax
mov eax, dword [0x4474f4]
push str.NtNotifyChangeMultipleKeys
push eax
call esi
mov ecx, dword [0x4474f4]
push str.NtCreateProcess
push ecx
mov dword [0x447468], eax
call esi
mov edx, dword [0x4474f4]
push str.NtCreateProcessEx
push edx
mov dword [0x44746c], eax
call esi
mov dword [0x447470], eax
mov eax, dword [0x4474f4]
push str.NtOpenProcess
push eax
call esi
mov ecx, dword [0x4474f4]
push str.NtTerminateProcess
push ecx
mov dword [0x447474], eax
call esi
mov edx, dword [0x4474f4]
push str.LdrShutdownProcess
push edx
mov dword [0x447478], eax
call esi
mov dword [0x44747c], eax
mov eax, dword [0x4474f4]
push str.NtQueryInformationProcess
push eax
call esi
mov ecx, dword [0x4474f4]
push str.NtSetInformationProcess
push ecx
mov dword [0x447480], eax
call esi
mov edx, dword [0x4474f4]
push str.NtCreateThread
push edx
mov dword [0x447484], eax
call esi
mov dword [0x447488], eax
mov eax, dword [0x4474f4]
push str.NtOpenThread
push eax
call esi
mov ecx, dword [0x4474f4]
push str.NtSuspendThread
push ecx
mov dword [0x44748c], eax
call esi
mov edx, dword [0x4474f4]
push str.NtResumeThread
push edx
mov dword [0x447490], eax
call esi
mov dword [0x447494], eax
push str.NtTerminateThread
mov eax, dword [0x4474f4]
push eax
call esi
mov ecx, dword [0x4474f4]
push str.LdrShutdownThread
push ecx
mov dword [0x447498], eax
call esi
mov edx, dword [0x4474f4]
push str.NtQueryInformationThread
push edx
mov dword [0x44749c], eax
call esi
mov dword [0x4474a0], eax
mov eax, dword [0x4474f4]
push str.NtSetInformationThread
push eax
call esi
mov ecx, dword [0x4474f4]
push str.RtlInitUnicodeString
push ecx
mov dword [0x4474a4], eax
call esi
mov edx, dword [0x4474f4]
push str.RtlFreeUnicodeString
push edx
mov dword [0x4474a8], eax
call esi
mov dword [0x4474ac], eax
mov eax, dword [0x4474f4]
push str.RtlDosPathNameToNtPathName_U
push eax
call esi
mov ecx, dword [0x4474f4]
push str.NtQueryAttributesFile
push ecx
mov dword [0x4474b0], eax
call esi
mov edx, dword [0x4474f4]
push str.NtQueryFullAttributesFile
push edx
mov dword [0x4474b4], eax
call esi
mov dword [0x4474b8], eax
mov eax, dword [0x4474f4]
push str.RtlConvertSidToUnicodeString
push eax
call esi
mov ecx, dword [0x4474f4]
push str.RtlCreateSecurityDescriptor
push ecx
mov dword [0x4474bc], eax
call esi
mov edx, dword [0x4474f4]
push str.RtlSetDaclSecurityDescriptor
push edx
mov dword [0x4474c0], eax
call esi
mov dword [0x4474c4], eax
mov eax, dword [0x4474f4]
push str.RtlInitializeSid
push eax
call esi
mov ecx, dword [0x4474f4]
push str.RtlSubAuthoritySid
push ecx
mov dword [0x4474c8], eax
call esi
mov edx, dword [0x4474f4]
push str.RtlCreateAcl
push edx
mov dword [0x4474cc], eax
call esi
mov dword [0x4474d0], eax
mov eax, dword [0x4474f4]
push str.RtlAddAccessAllowedAceEx
push eax
call esi
mov ecx, dword [0x4474f4]
mov dword [0x4474d4], eax
push str.RtlGetCurrentDirectory_U
push ecx
call esi
mov edx, dword [0x4474f4]
push str.RtlSetCurrentDirectory_U
push edx
mov dword [0x4474d8], eax
call esi
mov dword [0x4474dc], eax
mov eax, dword [0x4474f4]
push str.RtlGetFullPathName_U
push eax
call esi
mov ecx, dword [0x4474f4]
push str.RtlFormatCurrentUserKeyPath
push ecx
mov dword [0x4474e0], eax
call esi
mov edx, dword [0x4474f4]
push str.NtRenameKey
push edx
mov dword [0x4474e4], eax
call esi
mov dword [0x4474e8], eax
mov eax, dword [0x4474f4]
push str.NtCreateDirectoryObject
push eax
call esi
mov ecx, dword [0x4474f4]
push str.NtCreateToken
push ecx
mov dword [0x4474ec], eax
call esi
mov dword [0x4474f0], eax
pop esi
ret