Function at 0x461970
Capabilities:
Link many functions at runtime

Disassembly:
mov eax, dword [0x501b30]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.NtCreateFile
push eax
call esi
mov ecx, dword [0x501b30]
push str.NtOpenFile
push ecx
mov dword [0x501a14], eax
call esi
mov edx, dword [0x501b30]
push str.NtClose
push edx
mov dword [0x501a18], eax
call esi
mov dword [0x501a1c], eax
mov eax, dword [0x501b30]
push str.NtReadFile
push eax
call esi
mov ecx, dword [0x501b30]
push str.NtWriteFile
push ecx
mov dword [0x501a20], eax
call esi
mov edx, dword [0x501b30]
push str.NtQueryObject
push edx
mov dword [0x501a24], eax
call esi
mov dword [0x501a28], eax
mov eax, dword [0x501b30]
push str.NtQueryDirectoryFile
push eax
call esi
mov ecx, dword [0x501b30]
push str.NtQueryDirectoryFileEx
push ecx
mov dword [0x501a2c], eax
call esi
mov edx, dword [0x501b30]
push str.NtQueryInformationFile
push edx
mov dword [0x501a30], eax
call esi
mov dword [0x501a34], eax
mov eax, dword [0x501b30]
push str.NtSetInformationFile
push eax
call esi
mov ecx, dword [0x501b30]
push str.NtQuerySystemInformation
push ecx
mov dword [0x501a38], eax
call esi
mov edx, dword [0x501b30]
push str.NtDeleteFile
push edx
mov dword [0x501a3c], eax
call esi
mov dword [0x501a40], eax
mov eax, dword [0x501b30]
push str.NtQueryVolumeInformationFile
push eax
call esi
mov ecx, dword [0x501b30]
push str.NtDuplicateObject
push ecx
mov dword [0x501a44], eax
call esi
mov edx, dword [0x501b30]
push str.RtlInitializeCriticalSection
push edx
mov dword [0x501a48], eax
call esi
mov dword [0x501a4c], eax
mov eax, dword [0x501b30]
push str.RtlDeleteCriticalSection
push eax
call esi
mov ecx, dword [0x501b30]
push str.RtlEnterCriticalSection
push ecx
mov dword [0x501a50], eax
call esi
mov edx, dword [0x501b30]
push str.RtlLeaveCriticalSection
push edx
mov dword [0x501a54], eax
call esi
mov dword [0x501a58], eax
mov eax, dword [0x501b30]
push str.RtlTryEnterCriticalSection
push eax
call esi
mov ecx, dword [0x501b30]
push str.NtOpenDirectoryObject
push ecx
mov dword [0x501a5c], eax
call esi
mov edx, dword [0x501b30]
push str.NtQueryDirectoryObject
push edx
mov dword [0x501a60], eax
call esi
mov dword [0x501a64], eax
mov eax, dword [0x501b30]
push str.NtOpenSymbolicLinkObject
push eax
call esi
mov ecx, dword [0x501b30]
push str.NtQuerySymbolicLinkObject
push ecx
mov dword [0x501a68], eax
call esi
mov edx, dword [0x501b30]
push str.NtCreateKey
push edx
mov dword [0x501a6c], eax
call esi
mov dword [0x501a70], eax
mov eax, dword [0x501b30]
push str.NtOpenKey
push eax
call esi
mov ecx, dword [0x501b30]
push str.NtQueryKey
push ecx
mov dword [0x501a74], eax
call esi
mov edx, dword [0x501b30]
push str.NtQueryValueKey
push edx
mov dword [0x501a78], eax
call esi
mov dword [0x501a7c], eax
mov eax, dword [0x501b30]
push str.NtQueryMultipleValueKey
push eax
call esi
mov ecx, dword [0x501b30]
push str.NtEnumerateKey
push ecx
mov dword [0x501a80], eax
call esi
mov edx, dword [0x501b30]
push str.NtEnumerateValueKey
push edx
mov dword [0x501a84], eax
call esi
mov dword [0x501a88], eax
mov eax, dword [0x501b30]
push str.NtFlushKey
push eax
call esi
mov ecx, dword [0x501b30]
push str.NtDeleteKey
push ecx
mov dword [0x501a8c], eax
call esi
mov dword [0x501a90], eax
mov edx, dword [0x501b30]
push str.NtDeleteValueKey
push edx
call esi
mov dword [0x501a94], eax
mov eax, dword [0x501b30]
push str.NtSetInformationKey
push eax
call esi
mov ecx, dword [0x501b30]
push str.NtSetValueKey
push ecx
mov dword [0x501a98], eax
call esi
mov edx, dword [0x501b30]
push str.NtNotifyChangeKey
push edx
mov dword [0x501a9c], eax
call esi
mov dword [0x501aa0], eax
mov eax, dword [0x501b30]
push str.NtNotifyChangeMultipleKeys
push eax
call esi
mov ecx, dword [0x501b30]
push str.NtCreateProcess
push ecx
mov dword [0x501aa4], eax
call esi
mov edx, dword [0x501b30]
push str.NtCreateProcessEx
push edx
mov dword [0x501aa8], eax
call esi
mov dword [0x501aac], eax
mov eax, dword [0x501b30]
push str.NtOpenProcess
push eax
call esi
mov ecx, dword [0x501b30]
push str.NtTerminateProcess
push ecx
mov dword [0x501ab0], eax
call esi
mov edx, dword [0x501b30]
push str.LdrShutdownProcess
push edx
mov dword [0x501ab4], eax
call esi
mov dword [0x501ab8], eax
mov eax, dword [0x501b30]
push str.NtQueryInformationProcess
push eax
call esi
mov ecx, dword [0x501b30]
push str.NtSetInformationProcess
push ecx
mov dword [0x501abc], eax
call esi
mov edx, dword [0x501b30]
push str.NtCreateThread
push edx
mov dword [0x501ac0], eax
call esi
mov dword [0x501ac4], eax
mov eax, dword [0x501b30]
push str.NtOpenThread
push eax
call esi
mov ecx, dword [0x501b30]
push str.NtSuspendThread
push ecx
mov dword [0x501ac8], eax
call esi
mov edx, dword [0x501b30]
push str.NtResumeThread
push edx
mov dword [0x501acc], eax
call esi
mov dword [0x501ad0], eax
push str.NtTerminateThread
mov eax, dword [0x501b30]
push eax
call esi
mov ecx, dword [0x501b30]
push str.LdrShutdownThread
push ecx
mov dword [0x501ad4], eax
call esi
mov edx, dword [0x501b30]
push str.NtQueryInformationThread
push edx
mov dword [0x501ad8], eax
call esi
mov dword [0x501adc], eax
mov eax, dword [0x501b30]
push str.NtSetInformationThread
push eax
call esi
mov ecx, dword [0x501b30]
push str.RtlInitUnicodeString
push ecx
mov dword [0x501ae0], eax
call esi
mov edx, dword [0x501b30]
push str.RtlFreeUnicodeString
push edx
mov dword [0x501ae4], eax
call esi
mov dword [0x501ae8], eax
mov eax, dword [0x501b30]
push str.RtlDosPathNameToNtPathName_U
push eax
call esi
mov ecx, dword [0x501b30]
push str.NtQueryAttributesFile
push ecx
mov dword [0x501aec], eax
call esi
mov edx, dword [0x501b30]
push str.NtQueryFullAttributesFile
push edx
mov dword [0x501af0], eax
call esi
mov dword [0x501af4], eax
mov eax, dword [0x501b30]
push str.RtlConvertSidToUnicodeString
push eax
call esi
mov ecx, dword [0x501b30]
push str.RtlCreateSecurityDescriptor
push ecx
mov dword [0x501af8], eax
call esi
mov edx, dword [0x501b30]
push str.RtlSetDaclSecurityDescriptor
push edx
mov dword [0x501afc], eax
call esi
mov dword [0x501b00], eax
mov eax, dword [0x501b30]
push str.RtlInitializeSid
push eax
call esi
mov ecx, dword [0x501b30]
push str.RtlSubAuthoritySid
push ecx
mov dword [0x501b04], eax
call esi
mov edx, dword [0x501b30]
push str.RtlCreateAcl
push edx
mov dword [0x501b08], eax
call esi
mov dword [0x501b0c], eax
mov eax, dword [0x501b30]
push str.RtlAddAccessAllowedAceEx
push eax
call esi
mov ecx, dword [0x501b30]
mov dword [0x501b10], eax
push str.RtlGetCurrentDirectory_U
push ecx
call esi
mov edx, dword [0x501b30]
push str.RtlSetCurrentDirectory_U
push edx
mov dword [0x501b14], eax
call esi
mov dword [0x501b18], eax
mov eax, dword [0x501b30]
push str.RtlGetFullPathName_U
push eax
call esi
mov ecx, dword [0x501b30]
push str.RtlFormatCurrentUserKeyPath
push ecx
mov dword [0x501b1c], eax
call esi
mov edx, dword [0x501b30]
push str.NtRenameKey
push edx
mov dword [0x501b20], eax
call esi
mov dword [0x501b24], eax
mov eax, dword [0x501b30]
push str.NtCreateDirectoryObject
push eax
call esi
mov ecx, dword [0x501b30]
push str.NtCreateToken
push ecx
mov dword [0x501b28], eax
call esi
mov dword [0x501b2c], eax
pop esi
ret