/*++

Copyright (c) 1995  Microsoft Corporation

Module Name:

    apidll.cpp

Abstract:

    This file implements the non-architecture specific
    code for the api monitor trojan/support dll.

Author:

    Wesley Witt (wesw) 28-June-1995

Environment:

    User Mode

--*/

#include "apidllp.h"
#pragma hdrstop

//
// api tables
//

API_TABLE API_Kernel32[] =
{
    { "_hread", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "_hwrite", T_DWORD, 3, {T_DWORD, T_LPSTR, T_DWORD} },
    { "_lclose", T_DWORD, 1, {T_DWORD} },
    { "_lcreat", T_DWORD, 2, {T_LPSTR, T_DWORD} },
    { "_llseek", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "_lopen", T_DWORD, 2, {T_LPSTR, T_DWORD} },
    { "_lread", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "_lwrite", T_DWORD, 3, {T_DWORD, T_LPSTR, T_DWORD} },
    { "AddAtomA", T_DWORD, 1, {T_LPSTR} },
    { "AddAtomW", T_DWORD, 1, {T_LPWSTR} },
    { "AreFileApisANSI", T_DWORD, 1, {T_DWORD} },
    { "BackupRead", T_DWORD, 7, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "BackupSeek", T_DWORD, 6, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "BackupWrite", T_DWORD, 7, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "Beep", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "BeginUpdateResourceA", T_HANDLE, 2, {T_LPSTR, T_DWORD} },
    { "BeginUpdateResourceW", T_HANDLE, 2, {T_LPWSTR, T_DWORD} },
    { "BuildCommDCBA", T_DWORD, 2, {T_LPSTR, T_DWORD} },
    { "BuildCommDCBAndTimeoutsA", T_DWORD, 3, {T_LPSTR, T_DWORD, T_DWORD} },
    { "BuildCommDCBAndTimeoutsW", T_DWORD, 3, {T_LPWSTR, T_DWORD, T_DWORD} },
    { "BuildCommDCBW", T_DWORD, 2, {T_LPWSTR, T_DWORD} },
    { "CallNamedPipeA", T_DWORD, 7, {T_LPSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CallNamedPipeW", T_DWORD, 7, {T_LPWSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CancelIo", T_DWORD, 1, {T_HANDLE} },
    { "CancelWaitableTimer", T_DWORD, 1, {T_HANDLE} },
    { "ClearCommBreak", T_DWORD, 1, {T_HANDLE} },
    { "ClearCommError", T_DWORD, 3, {T_HANDLE, T_DWORD, T_DWORD} },
    { "CloseHandle", T_DWORD, 1, {T_HANDLE} },
    { "CommConfigDialogA", T_DWORD, 3, {T_LPSTR, T_HWND, T_DWORD} },
    { "CommConfigDialogW", T_DWORD, 3, {T_LPWSTR, T_HWND, T_DWORD} },
    { "CompareFileTime", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "ConnectNamedPipe", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "ContinueDebugEvent", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "ConvertThreadToFiber", T_DWORD, 1, {T_DWORD} },
    { "CopyFileA", T_DWORD, 3, {T_LPSTR, T_LPSTR, T_DWORD} },
    { "CopyFileExA", T_DWORD, 6, {T_LPSTR, T_LPSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CopyFileExW", T_DWORD, 6, {T_LPWSTR, T_LPWSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CopyFileW", T_DWORD, 3, {T_LPWSTR, T_LPWSTR, T_DWORD} },
    { "CreateDirectoryA", T_DWORD, 2, {T_LPSTR, T_DWORD} },
    { "CreateDirectoryExA", T_DWORD, 3, {T_LPSTR, T_LPSTR, T_DWORD} },
    { "CreateDirectoryExW", T_DWORD, 3, {T_LPWSTR, T_LPWSTR, T_DWORD} },
    { "CreateDirectoryW", T_DWORD, 2, {T_LPWSTR, T_DWORD} },
    { "CreateEventA", T_HANDLE, 4, {T_DWORD, T_DWORD, T_DWORD, T_LPSTR} },
    { "CreateEventW", T_HANDLE, 4, {T_DWORD, T_DWORD, T_DWORD, T_LPWSTR} },
    { "CreateFiber", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "CreateFileA", T_HANDLE, 7, {T_LPSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_HANDLE} },
    { "CreateFileMappingA", T_HANDLE, 6, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_LPSTR} },
    { "CreateFileMappingW", T_HANDLE, 6, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_LPWSTR} },
    { "CreateFileW", T_HANDLE, 7, {T_LPWSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_HANDLE} },
    { "CreateIoCompletionPort", T_HANDLE, 4, {T_HANDLE, T_HANDLE, T_DWORD, T_DWORD} },
    { "CreateMailslotA", T_HANDLE, 4, {T_LPSTR, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateMailslotW", T_HANDLE, 4, {T_LPWSTR, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateMutexA", T_HANDLE, 3, {T_DWORD, T_DWORD, T_LPSTR} },
    { "CreateMutexW", T_HANDLE, 3, {T_DWORD, T_DWORD, T_LPWSTR} },
    { "CreateNamedPipeA", T_HANDLE, 8, {T_LPSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateNamedPipeW", T_HANDLE, 8, {T_LPWSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CreatePipe", T_DWORD, 4, {T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateProcessA", T_DWORD, 8, {T_LPSTR, T_LPSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_LPSTR} },
    { "CreateProcessW", T_DWORD, 8, {T_LPWSTR, T_LPWSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_LPWSTR} },
    { "CreateRemoteThread", T_HANDLE, 7, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateSemaphoreA", T_HANDLE, 4, {T_DWORD, T_DWORD, T_DWORD, T_LPSTR} },
    { "CreateSemaphoreW", T_HANDLE, 4, {T_DWORD, T_DWORD, T_DWORD, T_LPWSTR} },
    { "CreateTapePartition", T_DWORD, 4, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateThread", T_HANDLE, 6, {T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateWaitableTimerA", T_HANDLE, 3, {T_DWORD, T_DWORD, T_LPSTR} },
    { "CreateWaitableTimerW", T_HANDLE, 3, {T_DWORD, T_DWORD, T_LPWSTR} },
    { "DebugActiveProcess", T_DWORD, 1, {T_DWORD} },
    { "DebugBreak", T_DWORD, 1, {T_DWORD} },
    { "DefineDosDeviceA", T_DWORD, 3, {T_DWORD, T_LPSTR, T_LPSTR} },
    { "DefineDosDeviceW", T_DWORD, 3, {T_DWORD, T_LPWSTR, T_LPWSTR} },
    { "DeleteAtom", T_DWORD, 1, {T_DWORD} },
    { "DeleteCriticalSection", T_DWORD, 1, {T_DWORD} },
    { "DeleteFiber", T_DWORD, 1, {T_DWORD} },
    { "DeleteFileA", T_DWORD, 1, {T_LPSTR} },
    { "DeleteFileW", T_DWORD, 1, {T_LPWSTR} },
    { "DeviceIoControl", T_DWORD, 8, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "DisableThreadLibraryCalls", T_DWORD, 1, {T_DWORD} },
    { "DisconnectNamedPipe", T_DWORD, 1, {T_HANDLE} },
    { "DosDateTimeToFileTime", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "DuplicateHandle", T_DWORD, 7, {T_HANDLE, T_HANDLE, T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "EndUpdateResourceA", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "EndUpdateResourceW", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "EnterCriticalSection", T_DWORD, 1, {T_DWORD} },
    { "EnumResourceLanguagesA", T_DWORD, 5, {T_DWORD, T_LPSTR, T_LPSTR, T_DWORD, T_DWORD} },
    { "EnumResourceLanguagesW", T_DWORD, 5, {T_DWORD, T_LPWSTR, T_LPWSTR, T_DWORD, T_DWORD} },
    { "EnumResourceNamesA", T_DWORD, 4, {T_DWORD, T_LPSTR, T_DWORD, T_DWORD} },
    { "EnumResourceNamesW", T_DWORD, 4, {T_DWORD, T_LPWSTR, T_DWORD, T_DWORD} },
    { "EnumResourceTypesA", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "EnumResourceTypesW", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "EraseTape", T_DWORD, 3, {T_HANDLE, T_DWORD, T_DWORD} },
    { "EscapeCommFunction", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "ExitProcess", T_DWORD, 1, {T_DWORD} },
    { "ExitThread", T_DWORD, 1, {T_DWORD} },
    { "ExpandEnvironmentStringsA", T_DWORD, 3, {T_LPSTR, T_LPSTR, T_DWORD} },
    { "ExpandEnvironmentStringsW", T_DWORD, 3, {T_LPWSTR, T_LPWSTR, T_DWORD} },
    { "FatalAppExitA", T_DWORD, 2, {T_DWORD, T_LPSTR} },
    { "FatalAppExitW", T_DWORD, 2, {T_DWORD, T_LPWSTR} },
    { "FatalExit", T_DWORD, 1, {T_DWORD} },
    { "FileTimeToDosDateTime", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "FileTimeToLocalFileTime", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "FileTimeToSystemTime", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "FindAtomA", T_DWORD, 1, {T_LPSTR} },
    { "FindAtomW", T_DWORD, 1, {T_LPWSTR} },
    { "FindClose", T_DWORD, 1, {T_HANDLE} },
    { "FindCloseChangeNotification", T_DWORD, 1, {T_HANDLE} },
    { "FindFirstChangeNotificationA", T_HANDLE, 3, {T_LPSTR, T_DWORD, T_DWORD} },
    { "FindFirstChangeNotificationW", T_HANDLE, 3, {T_LPWSTR, T_DWORD, T_DWORD} },
    { "FindFirstFileA", T_HANDLE, 2, {T_LPSTR, T_DWORD} },
    { "FindFirstFileExA", T_HANDLE, 6, {T_LPSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "FindFirstFileExW", T_HANDLE, 6, {T_LPWSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "FindFirstFileW", T_HANDLE, 2, {T_LPWSTR, T_DWORD} },
    { "FindNextChangeNotification", T_DWORD, 1, {T_HANDLE} },
    { "FindNextFileA", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "FindNextFileW", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "FindResourceA", T_DWORD, 3, {T_DWORD, T_LPSTR, T_LPSTR} },
    { "FindResourceExA", T_DWORD, 4, {T_DWORD, T_LPSTR, T_LPSTR, T_DWORD} },
    { "FindResourceExW", T_DWORD, 4, {T_DWORD, T_LPWSTR, T_LPWSTR, T_DWORD} },
    { "FindResourceW", T_DWORD, 3, {T_DWORD, T_LPWSTR, T_LPWSTR} },
    { "FlushFileBuffers", T_DWORD, 1, {T_HANDLE} },
    { "FlushInstructionCache", T_DWORD, 3, {T_HANDLE, T_DWORD, T_DWORD} },
    { "FlushViewOfFile", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "FormatMessageA", T_DWORD, 7, {T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_LPSTR, T_DWORD, T_DWORD} },
    { "FormatMessageW", T_DWORD, 7, {T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_LPWSTR, T_DWORD, T_DWORD} },
    { "FreeEnvironmentStringsA", T_DWORD, 1, {T_LPSTR} },
    { "FreeEnvironmentStringsW", T_DWORD, 1, {T_LPWSTR} },
    { "FreeLibrary", T_DWORD, 1, {T_DWORD} },
    { "FreeLibraryAndExitThread", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "FreeResource", T_DWORD, 1, {T_HGLOBAL} },
    { "GetAtomNameA", T_DWORD, 3, {T_DWORD, T_LPSTR, T_DWORD} },
    { "GetAtomNameW", T_DWORD, 3, {T_DWORD, T_LPWSTR, T_DWORD} },
    { "GetBinaryTypeA", T_DWORD, 2, {T_LPSTR, T_DWORD} },
    { "GetBinaryTypeW", T_DWORD, 2, {T_LPWSTR, T_DWORD} },
    { "GetCommandLineA", T_LPSTR, 1, {T_DWORD} },
    { "GetCommandLineW", T_LPWSTR, 1, {T_DWORD} },
    { "GetCommConfig", T_DWORD, 3, {T_HANDLE, T_DWORD, T_DWORD} },
    { "GetCommMask", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "GetCommModemStatus", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "GetCommProperties", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "GetCommState", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "GetCommTimeouts", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "GetCompressedFileSizeA", T_DWORD, 2, {T_LPSTR, T_DWORD} },
    { "GetCompressedFileSizeW", T_DWORD, 2, {T_LPWSTR, T_DWORD} },
    { "GetCurrentDirectoryA", T_DWORD, 2, {T_DWORD, T_LPSTR} },
    { "GetCurrentDirectoryW", T_DWORD, 2, {T_DWORD, T_LPWSTR} },
    { "GetCurrentProcess", T_HANDLE, 1, {T_DWORD} },
    { "GetCurrentProcessId", T_DWORD, 1, {T_DWORD} },
    { "GetCurrentThread", T_HANDLE, 1, {T_DWORD} },
    { "GetCurrentThreadId", T_DWORD, 1, {T_DWORD} },
    { "GetDefaultCommConfigA", T_DWORD, 3, {T_LPSTR, T_DWORD, T_DWORD} },
    { "GetDefaultCommConfigW", T_DWORD, 3, {T_LPWSTR, T_DWORD, T_DWORD} },
    { "GetDiskFreeSpaceA", T_DWORD, 5, {T_LPSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "GetDiskFreeSpaceExA", T_DWORD, 4, {T_LPSTR, T_DWORD, T_DWORD, T_DWORD} },
    { "GetDiskFreeSpaceExW", T_DWORD, 4, {T_LPWSTR, T_DWORD, T_DWORD, T_DWORD} },
    { "GetDiskFreeSpaceW", T_DWORD, 5, {T_LPWSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "GetDriveTypeA", T_DWORD, 1, {T_LPSTR} },
    { "GetDriveTypeW", T_DWORD, 1, {T_LPWSTR} },
    { "GetEnvironmentStrings", T_LPSTR, 1, {T_DWORD} },
    { "GetEnvironmentStringsW", T_LPWSTR, 1, {T_DWORD} },
    { "GetEnvironmentVariableA", T_DWORD, 3, {T_LPSTR, T_LPSTR, T_DWORD} },
    { "GetEnvironmentVariableW", T_DWORD, 3, {T_LPWSTR, T_LPWSTR, T_DWORD} },
    { "GetExitCodeProcess", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "GetExitCodeThread", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "GetFileAttributesA", T_DWORD, 1, {T_LPSTR} },
    { "GetFileAttributesExA", T_DWORD, 3, {T_LPSTR, T_DWORD, T_DWORD} },
    { "GetFileAttributesExW", T_DWORD, 3, {T_LPWSTR, T_DWORD, T_DWORD} },
    { "GetFileAttributesW", T_DWORD, 1, {T_LPWSTR} },
    { "GetFileInformationByHandle", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "GetFileSize", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "GetFileTime", T_DWORD, 4, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD} },
    { "GetFileType", T_DWORD, 1, {T_HANDLE} },
    { "GetFullPathNameA", T_DWORD, 4, {T_LPSTR, T_DWORD, T_LPSTR, T_LPSTR} },
    { "GetFullPathNameW", T_DWORD, 4, {T_LPWSTR, T_DWORD, T_LPWSTR, T_LPWSTR} },
    { "GetHandleInformation", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "GetLastError", T_DWORD, 1, {T_DWORD} },
    { "GetLocalTime", T_DWORD, 1, {T_DWORD} },
    { "GetLogicalDrives", T_DWORD, 1, {T_DWORD} },
    { "GetLogicalDriveStringsA", T_DWORD, 2, {T_DWORD, T_LPSTR} },
    { "GetLogicalDriveStringsW", T_DWORD, 2, {T_DWORD, T_LPWSTR} },
    { "GetMailslotInfo", T_DWORD, 5, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "GetModuleFileNameA", T_DWORD, 3, {T_DWORD, T_LPSTR, T_DWORD} },
    { "GetModuleFileNameW", T_DWORD, 3, {T_DWORD, T_LPWSTR, T_DWORD} },
    { "GetModuleHandleA", T_DWORD, 1, {T_LPSTR} },
    { "GetModuleHandleW", T_DWORD, 1, {T_LPWSTR} },
    { "GetNamedPipeHandleStateA", T_DWORD, 7, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_LPSTR, T_DWORD} },
    { "GetNamedPipeHandleStateW", T_DWORD, 7, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_LPWSTR, T_DWORD} },
    { "GetNamedPipeInfo", T_DWORD, 5, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "GetOverlappedResult", T_DWORD, 4, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD} },
    { "GetPriorityClass", T_DWORD, 1, {T_HANDLE} },
    { "GetPrivateProfileIntA", T_DWORD, 4, {T_LPSTR, T_LPSTR, T_DWORD, T_LPSTR} },
    { "GetPrivateProfileIntW", T_DWORD, 4, {T_LPWSTR, T_LPWSTR, T_DWORD, T_LPWSTR} },
    { "GetPrivateProfileSectionA", T_DWORD, 4, {T_LPSTR, T_LPSTR, T_DWORD, T_LPSTR} },
    { "GetPrivateProfileSectionNamesA", T_DWORD, 3, {T_LPSTR, T_DWORD, T_LPSTR} },
    { "GetPrivateProfileSectionNamesW", T_DWORD, 3, {T_LPWSTR, T_DWORD, T_LPWSTR} },
    { "GetPrivateProfileSectionW", T_DWORD, 4, {T_LPWSTR, T_LPWSTR, T_DWORD, T_LPWSTR} },
    { "GetPrivateProfileStringA", T_DWORD, 6, {T_LPSTR, T_LPSTR, T_LPSTR, T_LPSTR, T_DWORD, T_LPSTR} },
    { "GetPrivateProfileStringW", T_DWORD, 6, {T_LPWSTR, T_LPWSTR, T_LPWSTR, T_LPWSTR, T_DWORD, T_LPWSTR} },
    { "GetPrivateProfileStructA", T_DWORD, 5, {T_LPSTR, T_LPSTR, T_DWORD, T_DWORD, T_LPSTR} },
    { "GetPrivateProfileStructW", T_DWORD, 5, {T_LPWSTR, T_LPWSTR, T_DWORD, T_DWORD, T_LPWSTR} },
    { "GetProcAddress", T_DWORD, 2, {T_DWORD, T_LPSTR} },
    { "GetProcessAffinityMask", T_DWORD, 3, {T_HANDLE, T_DWORD, T_DWORD} },
    { "GetProcessHeap", T_HANDLE, 1, {T_DWORD} },
    { "GetProcessHeaps", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "GetProcessPriorityBoost", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "GetProcessShutdownParameters", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "GetProcessTimes", T_DWORD, 5, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "GetProcessVersion", T_DWORD, 1, {T_DWORD} },
    { "GetProcessWorkingSetSize", T_DWORD, 3, {T_HANDLE, T_DWORD, T_DWORD} },
    { "GetProfileIntA", T_DWORD, 3, {T_LPSTR, T_LPSTR, T_DWORD} },
    { "GetProfileIntW", T_DWORD, 3, {T_LPWSTR, T_LPWSTR, T_DWORD} },
    { "GetProfileSectionA", T_DWORD, 3, {T_LPSTR, T_LPSTR, T_DWORD} },
    { "GetProfileSectionW", T_DWORD, 3, {T_LPWSTR, T_LPWSTR, T_DWORD} },
    { "GetProfileStringA", T_DWORD, 5, {T_LPSTR, T_LPSTR, T_LPSTR, T_LPSTR, T_DWORD} },
    { "GetProfileStringW", T_DWORD, 5, {T_LPWSTR, T_LPWSTR, T_LPWSTR, T_LPWSTR, T_DWORD} },
    { "GetQueuedCompletionStatus", T_DWORD, 5, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "GetShortPathNameA", T_DWORD, 3, {T_LPSTR, T_LPSTR, T_DWORD} },
    { "GetShortPathNameW", T_DWORD, 3, {T_LPWSTR, T_LPWSTR, T_DWORD} },
    { "GetStartupInfoA", T_DWORD, 1, {T_DWORD} },
    { "GetStartupInfoW", T_DWORD, 1, {T_DWORD} },
    { "GetStdHandle", T_HANDLE, 1, {T_DWORD} },
    { "GetSystemDirectoryA", T_DWORD, 2, {T_LPSTR, T_DWORD} },
    { "GetSystemDirectoryW", T_DWORD, 2, {T_LPWSTR, T_DWORD} },
    { "GetSystemInfo", T_DWORD, 1, {T_DWORD} },
    { "GetSystemTime", T_DWORD, 1, {T_DWORD} },
    { "GetSystemTimeAdjustment", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "GetSystemTimeAsFileTime", T_DWORD, 1, {T_DWORD} },
    { "GetTapeParameters", T_DWORD, 4, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD} },
    { "GetTapePosition", T_DWORD, 5, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "GetTapeStatus", T_DWORD, 1, {T_HANDLE} },
    { "GetTempFileNameA", T_DWORD, 4, {T_LPSTR, T_LPSTR, T_DWORD, T_LPSTR} },
    { "GetTempFileNameW", T_DWORD, 4, {T_LPWSTR, T_LPWSTR, T_DWORD, T_LPWSTR} },
    { "GetTempPathA", T_DWORD, 2, {T_DWORD, T_LPSTR} },
    { "GetTempPathW", T_DWORD, 2, {T_DWORD, T_LPWSTR} },
    { "GetThreadContext", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "GetThreadPriority", T_DWORD, 1, {T_HANDLE} },
    { "GetThreadPriorityBoost", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "GetThreadSelectorEntry", T_DWORD, 3, {T_HANDLE, T_DWORD, T_DWORD} },
    { "GetThreadTimes", T_DWORD, 5, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "GetTickCount", T_DWORD, 1, {T_DWORD} },
    { "GetTimeZoneInformation", T_DWORD, 1, {T_DWORD} },
    { "GetVersion", T_DWORD, 1, {T_DWORD} },
    { "GetVersionExA", T_DWORD, 1, {T_DWORD} },
    { "GetVersionExW", T_DWORD, 1, {T_DWORD} },
    { "GetVolumeInformationA", T_DWORD, 8, {T_LPSTR, T_LPSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_LPSTR, T_DWORD} },
    { "GetVolumeInformationW", T_DWORD, 8, {T_LPWSTR, T_LPWSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_LPWSTR, T_DWORD} },
    { "GetWindowsDirectoryA", T_DWORD, 2, {T_LPSTR, T_DWORD} },
    { "GetWindowsDirectoryW", T_DWORD, 2, {T_LPWSTR, T_DWORD} },
    { "GlobalAddAtomA", T_DWORD, 1, {T_LPSTR} },
    { "GlobalAddAtomW", T_DWORD, 1, {T_LPWSTR} },
    { "GlobalAlloc", T_HGLOBAL, 2, {T_DWORD, T_DWORD} },
    { "GlobalCompact", T_DWORD, 1, {T_DWORD} },
    { "GlobalDeleteAtom", T_DWORD, 1, {T_DWORD} },
    { "GlobalFindAtomA", T_DWORD, 1, {T_LPSTR} },
    { "GlobalFindAtomW", T_DWORD, 1, {T_LPWSTR} },
    { "GlobalFix", T_DWORD, 1, {T_HGLOBAL} },
    { "GlobalFlags", T_DWORD, 1, {T_HGLOBAL} },
    { "GlobalFree", T_HGLOBAL, 1, {T_HGLOBAL} },
    { "GlobalGetAtomNameA", T_DWORD, 3, {T_DWORD, T_LPSTR, T_DWORD} },
    { "GlobalGetAtomNameW", T_DWORD, 3, {T_DWORD, T_LPWSTR, T_DWORD} },
    { "GlobalHandle", T_HGLOBAL, 1, {T_DWORD} },
    { "GlobalLock", T_DWORD, 1, {T_HGLOBAL} },
    { "GlobalMemoryStatus", T_DWORD, 1, {T_DWORD} },
    { "GlobalReAlloc", T_HGLOBAL, 3, {T_HGLOBAL, T_DWORD, T_DWORD} },
    { "GlobalSize", T_DWORD, 1, {T_HGLOBAL} },
    { "GlobalUnfix", T_DWORD, 1, {T_HGLOBAL} },
    { "GlobalUnlock", T_DWORD, 1, {T_HGLOBAL} },
    { "GlobalUnWire", T_DWORD, 1, {T_HGLOBAL} },
    { "GlobalWire", T_DWORD, 1, {T_HGLOBAL} },
    { "HeapAlloc", T_DWORD, 3, {T_HANDLE, T_DWORD, T_DWORD} },
    { "HeapCompact", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "HeapCreate", T_HANDLE, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "HeapDestroy", T_DWORD, 1, {T_HANDLE} },
    { "HeapFree", T_DWORD, 3, {T_HANDLE, T_DWORD, T_DWORD} },
    { "HeapLock", T_DWORD, 1, {T_HANDLE} },
    { "HeapReAlloc", T_DWORD, 4, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD} },
    { "HeapSize", T_DWORD, 3, {T_HANDLE, T_DWORD, T_DWORD} },
    { "HeapUnlock", T_DWORD, 1, {T_HANDLE} },
    { "HeapValidate", T_DWORD, 3, {T_HANDLE, T_DWORD, T_DWORD} },
    { "HeapWalk", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "InitAtomTable", T_DWORD, 1, {T_DWORD} },
    { "InitializeCriticalSection", T_DWORD, 1, {T_DWORD} },
    { "InterlockedDecrement", T_DWORD, 1, {T_DWORD} },
    { "InterlockedExchange", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "InterlockedExchangeAdd", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "InterlockedIncrement", T_DWORD, 1, {T_DWORD} },
    { "IsBadCodePtr", T_DWORD, 1, {T_DWORD} },
    { "IsBadHugeReadPtr", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "IsBadHugeWritePtr", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "IsBadReadPtr", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "IsBadStringPtrA", T_DWORD, 2, {T_LPSTR, T_DWORD} },
    { "IsBadStringPtrW", T_DWORD, 2, {T_LPWSTR, T_DWORD} },
    { "IsBadWritePtr", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "IsProcessorFeaturePresent", T_DWORD, 1, {T_DWORD} },
    { "LeaveCriticalSection", T_DWORD, 1, {T_DWORD} },
    { "LoadLibraryA", T_DWORD, 1, {T_LPSTR} },
    { "LoadLibraryExA", T_DWORD, 3, {T_LPSTR, T_HANDLE, T_DWORD} },
    { "LoadLibraryExW", T_DWORD, 3, {T_LPWSTR, T_HANDLE, T_DWORD} },
    { "LoadLibraryW", T_DWORD, 1, {T_LPWSTR} },
    { "LoadModule", T_DWORD, 2, {T_LPSTR, T_DWORD} },
    { "LoadResource", T_HGLOBAL, 2, {T_DWORD, T_DWORD} },
    { "LocalAlloc", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "LocalCompact", T_DWORD, 1, {T_DWORD} },
    { "LocalFileTimeToFileTime", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "LocalFlags", T_DWORD, 1, {T_DWORD} },
    { "LocalFree", T_DWORD, 1, {T_DWORD} },
    { "LocalHandle", T_DWORD, 1, {T_DWORD} },
    { "LocalLock", T_DWORD, 1, {T_DWORD} },
    { "LocalReAlloc", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "LocalShrink", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "LocalSize", T_DWORD, 1, {T_DWORD} },
    { "LocalUnlock", T_DWORD, 1, {T_DWORD} },
    { "LockFile", T_DWORD, 5, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "LockFileEx", T_DWORD, 6, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "LockResource", T_DWORD, 1, {T_HGLOBAL} },
    { "lstrcatA", T_LPSTR, 2, {T_LPSTR, T_LPSTR} },
    { "lstrcatW", T_LPWSTR, 2, {T_LPWSTR, T_LPWSTR} },
    { "lstrcmpA", T_DWORD, 2, {T_LPSTR, T_LPSTR} },
    { "lstrcmpiA", T_DWORD, 2, {T_LPSTR, T_LPSTR} },
    { "lstrcmpiW", T_DWORD, 2, {T_LPWSTR, T_LPWSTR} },
    { "lstrcmpW", T_DWORD, 2, {T_LPWSTR, T_LPWSTR} },
    { "lstrcpyA", T_LPSTR, 2, {T_LPSTR, T_LPSTR} },
    { "lstrcpynA", T_LPSTR, 3, {T_LPSTR, T_LPSTR, T_DWORD} },
    { "lstrcpynW", T_LPWSTR, 3, {T_LPWSTR, T_LPWSTR, T_DWORD} },
    { "lstrcpyW", T_LPWSTR, 2, {T_LPWSTR, T_LPWSTR} },
    { "lstrlenA", T_DWORD, 1, {T_LPSTR} },
    { "lstrlenW", T_DWORD, 1, {T_LPWSTR} },
    { "MapViewOfFile", T_DWORD, 5, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "MapViewOfFileEx", T_DWORD, 6, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "MoveFileA", T_DWORD, 2, {T_LPSTR, T_LPSTR} },
    { "MoveFileExA", T_DWORD, 3, {T_LPSTR, T_LPSTR, T_DWORD} },
    { "MoveFileExW", T_DWORD, 3, {T_LPWSTR, T_LPWSTR, T_DWORD} },
    { "MoveFileW", T_DWORD, 2, {T_LPWSTR, T_LPWSTR} },
    { "MulDiv", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "OpenEventA", T_HANDLE, 3, {T_DWORD, T_DWORD, T_LPSTR} },
    { "OpenEventW", T_HANDLE, 3, {T_DWORD, T_DWORD, T_LPWSTR} },
    { "OpenFile", T_DWORD, 3, {T_LPSTR, T_DWORD, T_DWORD} },
    { "OpenFileMappingA", T_HANDLE, 3, {T_DWORD, T_DWORD, T_LPSTR} },
    { "OpenFileMappingW", T_HANDLE, 3, {T_DWORD, T_DWORD, T_LPWSTR} },
    { "OpenMutexA", T_HANDLE, 3, {T_DWORD, T_DWORD, T_LPSTR} },
    { "OpenMutexW", T_HANDLE, 3, {T_DWORD, T_DWORD, T_LPWSTR} },
    { "OpenProcess", T_HANDLE, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "OpenSemaphoreA", T_HANDLE, 3, {T_DWORD, T_DWORD, T_LPSTR} },
    { "OpenSemaphoreW", T_HANDLE, 3, {T_DWORD, T_DWORD, T_LPWSTR} },
    { "OpenWaitableTimerA", T_HANDLE, 3, {T_DWORD, T_DWORD, T_LPSTR} },
    { "OpenWaitableTimerW", T_HANDLE, 3, {T_DWORD, T_DWORD, T_LPWSTR} },
    { "OutputDebugStringA", T_DWORD, 1, {T_LPSTR} },
    { "OutputDebugStringW", T_DWORD, 1, {T_LPWSTR} },
    { "PeekNamedPipe", T_DWORD, 6, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "PostQueuedCompletionStatus", T_DWORD, 4, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD} },
    { "PrepareTape", T_DWORD, 3, {T_HANDLE, T_DWORD, T_DWORD} },
    { "PulseEvent", T_DWORD, 1, {T_HANDLE} },
    { "PurgeComm", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "QueryDosDeviceA", T_DWORD, 3, {T_LPSTR, T_LPSTR, T_DWORD} },
    { "QueryDosDeviceW", T_DWORD, 3, {T_LPWSTR, T_LPWSTR, T_DWORD} },
    { "QueryPerformanceCounter", T_DWORD, 1, {T_DWORD} },
    { "QueryPerformanceFrequency", T_DWORD, 1, {T_DWORD} },
    { "QueueUserAPC", T_DWORD, 3, {T_DWORD, T_HANDLE, T_DWORD} },
    { "RaiseException", T_DWORD, 4, {T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "ReadDirectoryChangesW", T_DWORD, 8, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "ReadFile", T_DWORD, 5, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "ReadFileEx", T_DWORD, 5, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "ReadProcessMemory", T_DWORD, 5, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "ReleaseMutex", T_DWORD, 1, {T_HANDLE} },
    { "ReleaseSemaphore", T_DWORD, 3, {T_HANDLE, T_DWORD, T_DWORD} },
    { "RemoveDirectoryA", T_DWORD, 1, {T_LPSTR} },
    { "RemoveDirectoryW", T_DWORD, 1, {T_LPWSTR} },
    { "ResetEvent", T_DWORD, 1, {T_HANDLE} },
    { "ResumeThread", T_DWORD, 1, {T_HANDLE} },
    { "SearchPathA", T_DWORD, 6, {T_LPSTR, T_LPSTR, T_LPSTR, T_DWORD, T_LPSTR, T_LPSTR} },
    { "SearchPathW", T_DWORD, 6, {T_LPWSTR, T_LPWSTR, T_LPWSTR, T_DWORD, T_LPWSTR, T_LPWSTR} },
    { "SetCommBreak", T_DWORD, 1, {T_HANDLE} },
    { "SetCommConfig", T_DWORD, 3, {T_HANDLE, T_DWORD, T_DWORD} },
    { "SetCommMask", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "SetCommState", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "SetCommTimeouts", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "SetCurrentDirectoryA", T_DWORD, 1, {T_LPSTR} },
    { "SetCurrentDirectoryW", T_DWORD, 1, {T_LPWSTR} },
    { "SetDefaultCommConfigA", T_DWORD, 3, {T_LPSTR, T_DWORD, T_DWORD} },
    { "SetDefaultCommConfigW", T_DWORD, 3, {T_LPWSTR, T_DWORD, T_DWORD} },
    { "SetEndOfFile", T_DWORD, 1, {T_HANDLE} },
    { "SetEnvironmentVariableA", T_DWORD, 2, {T_LPSTR, T_LPSTR} },
    { "SetEnvironmentVariableW", T_DWORD, 2, {T_LPWSTR, T_LPWSTR} },
    { "SetErrorMode", T_DWORD, 1, {T_DWORD} },
    { "SetEvent", T_DWORD, 1, {T_HANDLE} },
    { "SetFileApisToANSI", T_DWORD, 1, {T_DWORD} },
    { "SetFileApisToOEM", T_DWORD, 1, {T_DWORD} },
    { "SetFileAttributesA", T_DWORD, 2, {T_LPSTR, T_DWORD} },
    { "SetFileAttributesW", T_DWORD, 2, {T_LPWSTR, T_DWORD} },
    { "SetFilePointer", T_DWORD, 4, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD} },
    { "SetFileTime", T_DWORD, 4, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD} },
    { "SetHandleCount", T_DWORD, 1, {T_DWORD} },
    { "SetHandleInformation", T_DWORD, 3, {T_HANDLE, T_DWORD, T_DWORD} },
    { "SetLastError", T_DWORD, 1, {T_DWORD} },
    { "SetLocalTime", T_DWORD, 1, {T_DWORD} },
    { "SetMailslotInfo", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "SetNamedPipeHandleState", T_DWORD, 4, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD} },
    { "SetPriorityClass", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "SetProcessAffinityMask", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "SetProcessPriorityBoost", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "SetProcessShutdownParameters", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "SetProcessWorkingSetSize", T_DWORD, 3, {T_HANDLE, T_DWORD, T_DWORD} },
    { "SetStdHandle", T_DWORD, 2, {T_DWORD, T_HANDLE} },
    { "SetSystemTime", T_DWORD, 1, {T_DWORD} },
    { "SetSystemTimeAdjustment", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "SetTapeParameters", T_DWORD, 3, {T_HANDLE, T_DWORD, T_DWORD} },
    { "SetTapePosition", T_DWORD, 6, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "SetThreadAffinityMask", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "SetThreadContext", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "SetThreadIdealProcessor", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "SetThreadPriority", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "SetThreadPriorityBoost", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "SetTimeZoneInformation", T_DWORD, 1, {T_DWORD} },
    { "SetUnhandledExceptionFilter", T_DWORD, 1, {T_DWORD} },
    { "SetupComm", T_DWORD, 3, {T_HANDLE, T_DWORD, T_DWORD} },
    { "SetVolumeLabelA", T_DWORD, 2, {T_LPSTR, T_LPSTR} },
    { "SetVolumeLabelW", T_DWORD, 2, {T_LPWSTR, T_LPWSTR} },
    { "SetWaitableTimer", T_DWORD, 6, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "SignalObjectAndWait", T_DWORD, 4, {T_HANDLE, T_HANDLE, T_DWORD, T_DWORD} },
    { "SizeofResource", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "Sleep", T_DWORD, 1, {T_DWORD} },
    { "SleepEx", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "SuspendThread", T_DWORD, 1, {T_HANDLE} },
    { "SwitchToFiber", T_DWORD, 1, {T_DWORD} },
    { "SwitchToThread", T_DWORD, 1, {T_DWORD} },
    { "SystemTimeToFileTime", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "SystemTimeToTzSpecificLocalTime", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "TerminateProcess", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "TerminateThread", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "TlsAlloc", T_DWORD, 1, {T_DWORD} },
    { "TlsFree", T_DWORD, 1, {T_DWORD} },
    { "TlsGetValue", T_DWORD, 1, {T_DWORD} },
    { "TlsSetValue", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "TransactNamedPipe", T_DWORD, 7, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "TransmitCommChar", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "TryEnterCriticalSection", T_DWORD, 1, {T_DWORD} },
    { "UnhandledExceptionFilter", T_DWORD, 1, {T_DWORD} },
    { "UnlockFile", T_DWORD, 5, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "UnlockFileEx", T_DWORD, 5, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "UnmapViewOfFile", T_DWORD, 1, {T_DWORD} },
    { "UpdateResourceA", T_DWORD, 6, {T_HANDLE, T_LPSTR, T_LPSTR, T_DWORD, T_DWORD, T_DWORD} },
    { "UpdateResourceW", T_DWORD, 6, {T_HANDLE, T_LPWSTR, T_LPWSTR, T_DWORD, T_DWORD, T_DWORD} },
    { "VirtualAlloc", T_DWORD, 4, {T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "VirtualAllocEx", T_DWORD, 5, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "VirtualFree", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "VirtualFreeEx", T_DWORD, 4, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD} },
    { "VirtualLock", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "VirtualProtect", T_DWORD, 4, {T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "VirtualProtectEx", T_DWORD, 5, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "VirtualQuery", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "VirtualQueryEx", T_DWORD, 4, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD} },
    { "VirtualUnlock", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "WaitCommEvent", T_DWORD, 3, {T_HANDLE, T_DWORD, T_DWORD} },
    { "WaitForDebugEvent", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "WaitForMultipleObjects", T_DWORD, 4, {T_DWORD, T_HANDLE, T_DWORD, T_DWORD} },
    { "WaitForMultipleObjectsEx", T_DWORD, 5, {T_DWORD, T_HANDLE, T_DWORD, T_DWORD, T_DWORD} },
    { "WaitForSingleObject", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "WaitForSingleObjectEx", T_DWORD, 3, {T_HANDLE, T_DWORD, T_DWORD} },
    { "WaitNamedPipeA", T_DWORD, 2, {T_LPSTR, T_DWORD} },
    { "WaitNamedPipeW", T_DWORD, 2, {T_LPWSTR, T_DWORD} },
    { "WinExec", T_DWORD, 2, {T_LPSTR, T_DWORD} },
    { "WriteFile", T_DWORD, 5, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "WriteFileEx", T_DWORD, 5, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "WritePrivateProfileSectionA", T_DWORD, 3, {T_LPSTR, T_LPSTR, T_LPSTR} },
    { "WritePrivateProfileSectionW", T_DWORD, 3, {T_LPWSTR, T_LPWSTR, T_LPWSTR} },
    { "WritePrivateProfileStringA", T_DWORD, 4, {T_LPSTR, T_LPSTR, T_LPSTR, T_LPSTR} },
    { "WritePrivateProfileStringW", T_DWORD, 4, {T_LPWSTR, T_LPWSTR, T_LPWSTR, T_LPWSTR} },
    { "WritePrivateProfileStructA", T_DWORD, 5, {T_LPSTR, T_LPSTR, T_DWORD, T_DWORD, T_LPSTR} },
    { "WritePrivateProfileStructW", T_DWORD, 5, {T_LPWSTR, T_LPWSTR, T_DWORD, T_DWORD, T_LPWSTR} },
    { "WriteProcessMemory", T_DWORD, 5, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "WriteProfileSectionA", T_DWORD, 2, {T_LPSTR, T_LPSTR} },
    { "WriteProfileSectionW", T_DWORD, 2, {T_LPWSTR, T_LPWSTR} },
    { "WriteProfileStringA", T_DWORD, 3, {T_LPSTR, T_LPSTR, T_LPSTR} },
    { "WriteProfileStringW", T_DWORD, 3, {T_LPWSTR, T_LPWSTR, T_LPWSTR} },
    { "WriteTapemark", T_DWORD, 4, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD} },
    { NULL,                                0,          0,   }
};

API_TABLE API_Gdi32[] =
{
    { "AbortDoc", T_DWORD, 1, {T_HDC} },
    { "AbortPath", T_DWORD, 1, {T_HDC} },
    { "AddFontResourceA", T_DWORD, 1, {T_LPSTR} },
    { "AddFontResourceW", T_DWORD, 1, {T_LPWSTR} },
    { "AngleArc", T_DWORD, 6, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "AnimatePalette", T_DWORD, 4, {T_HPALETTE, T_DWORD, T_DWORD, T_DWORD} },
    { "Arc", T_DWORD, 8, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "ArcTo", T_DWORD, 8, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "BeginPath", T_DWORD, 1, {T_HDC} },
    { "BitBlt", T_DWORD, 8, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_HDC, T_DWORD, T_DWORD} },
    { "CancelDC", T_DWORD, 1, {T_HDC} },
    { "ChoosePixelFormat", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "Chord", T_DWORD, 8, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CloseEnhMetaFile", T_HENHMETAFILE, 1, {T_HDC} },
    { "CloseFigure", T_DWORD, 1, {T_HDC} },
    { "CloseMetaFile", T_HMETAFILE, 1, {T_HDC} },
    { "CombineRgn", T_DWORD, 4, {T_HRGN, T_HRGN, T_HRGN, T_DWORD} },
    { "CombineTransform", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "CopyEnhMetaFileA", T_HENHMETAFILE, 2, {T_HENHMETAFILE, T_LPSTR} },
    { "CopyEnhMetaFileW", T_HENHMETAFILE, 2, {T_HENHMETAFILE, T_LPWSTR} },
    { "CopyMetaFileA", T_HMETAFILE, 2, {T_HMETAFILE, T_LPSTR} },
    { "CopyMetaFileW", T_HMETAFILE, 2, {T_HMETAFILE, T_LPWSTR} },
    { "CreateBitmap", T_HBITMAP, 5, {T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateBitmapIndirect", T_HBITMAP, 1, {T_DWORD} },
    { "CreateBrushIndirect", T_HBRUSH, 1, {T_DWORD} },
    { "CreateCompatibleBitmap", T_HBITMAP, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "CreateCompatibleDC", T_HDC, 1, {T_HDC} },
    { "CreateDCA", T_HDC, 4, {T_LPSTR, T_LPSTR, T_LPSTR, T_DWORD} },
    { "CreateDCW", T_HDC, 4, {T_LPWSTR, T_LPWSTR, T_LPWSTR, T_DWORD} },
    { "CreateDIBitmap", T_HBITMAP, 6, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateDIBPatternBrush", T_HBRUSH, 2, {T_HGLOBAL, T_DWORD} },
    { "CreateDIBPatternBrushPt", T_HBRUSH, 2, {T_DWORD, T_DWORD} },
    { "CreateDIBSection", T_HBITMAP, 6, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_HANDLE, T_DWORD} },
    { "CreateDiscardableBitmap", T_HBITMAP, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "CreateEllipticRgn", T_HRGN, 4, {T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateEllipticRgnIndirect", T_HRGN, 1, {T_DWORD} },
    { "CreateEnhMetaFileA", T_HDC, 4, {T_HDC, T_LPSTR, T_DWORD, T_LPSTR} },
    { "CreateEnhMetaFileW", T_HDC, 4, {T_HDC, T_LPWSTR, T_DWORD, T_LPWSTR} },
    { "CreateFontA", T_HFONT, 8, {T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateFontIndirectA", T_HFONT, 1, {T_DWORD} },
    { "CreateFontIndirectW", T_HFONT, 1, {T_DWORD} },
    { "CreateFontW", T_HFONT, 8, {T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateHalftonePalette", T_HPALETTE, 1, {T_HDC} },
    { "CreateHatchBrush", T_HBRUSH, 2, {T_DWORD, T_DWORD} },
    { "CreateICA", T_HDC, 4, {T_LPSTR, T_LPSTR, T_LPSTR, T_DWORD} },
    { "CreateICW", T_HDC, 4, {T_LPWSTR, T_LPWSTR, T_LPWSTR, T_DWORD} },
    { "CreateMetaFileA", T_HDC, 1, {T_LPSTR} },
    { "CreateMetaFileW", T_HDC, 1, {T_LPWSTR} },
    { "CreatePalette", T_HPALETTE, 1, {T_DWORD} },
    { "CreatePatternBrush", T_HBRUSH, 1, {T_HBITMAP} },
    { "CreatePen", T_HPEN, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "CreatePenIndirect", T_HPEN, 1, {T_DWORD} },
    { "CreatePolygonRgn", T_HRGN, 2, {T_DWORD, T_DWORD} },
    { "CreatePolyPolygonRgn", T_HRGN, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "CreateRectRgn", T_HRGN, 4, {T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateRectRgnIndirect", T_HRGN, 1, {T_DWORD} },
    { "CreateRoundRectRgn", T_HRGN, 6, {T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateScalableFontResourceA", T_DWORD, 4, {T_DWORD, T_LPSTR, T_LPSTR, T_LPSTR} },
    { "CreateScalableFontResourceW", T_DWORD, 4, {T_DWORD, T_LPWSTR, T_LPWSTR, T_LPWSTR} },
    { "CreateSolidBrush", T_HBRUSH, 1, {T_DWORD} },
    { "DeleteDC", T_DWORD, 1, {T_HDC} },
    { "DeleteEnhMetaFile", T_DWORD, 1, {T_HENHMETAFILE} },
    { "DeleteMetaFile", T_DWORD, 1, {T_HMETAFILE} },
    { "DeleteObject", T_DWORD, 1, {T_HGDIOBJ} },
    { "DescribePixelFormat", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "DPtoLP", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "DrawEscape", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_LPSTR} },
    { "Ellipse", T_DWORD, 5, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "EndDoc", T_DWORD, 1, {T_HDC} },
    { "EndPage", T_DWORD, 1, {T_HDC} },
    { "EndPath", T_DWORD, 1, {T_HDC} },
    { "EnumEnhMetaFile", T_DWORD, 5, {T_HDC, T_HENHMETAFILE, T_DWORD, T_DWORD, T_DWORD} },
    { "EnumFontFamiliesA", T_DWORD, 4, {T_HDC, T_LPSTR, T_DWORD, T_DWORD} },
    { "EnumFontFamiliesExA", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "EnumFontFamiliesExW", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "EnumFontFamiliesW", T_DWORD, 4, {T_HDC, T_LPWSTR, T_DWORD, T_DWORD} },
    { "EnumFontsA", T_DWORD, 4, {T_HDC, T_LPSTR, T_DWORD, T_DWORD} },
    { "EnumFontsW", T_DWORD, 4, {T_HDC, T_LPWSTR, T_DWORD, T_DWORD} },
    { "EnumMetaFile", T_DWORD, 4, {T_HDC, T_HMETAFILE, T_DWORD, T_DWORD} },
    { "EnumObjects", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "EnumObjects", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "EqualRgn", T_DWORD, 2, {T_HRGN, T_HRGN} },
    { "Escape", T_DWORD, 5, {T_HDC, T_DWORD, T_DWORD, T_LPSTR, T_DWORD} },
    { "ExcludeClipRect", T_DWORD, 5, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "ExtCreatePen", T_HPEN, 5, {T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "ExtCreateRegion", T_HRGN, 2, {T_DWORD, T_DWORD} },
    { "ExtEscape", T_DWORD, 6, {T_HDC, T_DWORD, T_DWORD, T_LPSTR, T_DWORD, T_LPSTR} },
    { "ExtFloodFill", T_DWORD, 5, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "ExtSelectClipRgn", T_DWORD, 3, {T_HDC, T_HRGN, T_DWORD} },
    { "ExtTextOutA", T_DWORD, 7, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "ExtTextOutW", T_DWORD, 7, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "FillPath", T_DWORD, 1, {T_HDC} },
    { "FillRgn", T_DWORD, 3, {T_HDC, T_HRGN, T_HBRUSH} },
    { "FixBrushOrgEx", T_DWORD, 1, {T_DWORD} },
    { "FlattenPath", T_DWORD, 1, {T_HDC} },
    { "FloodFill", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "FrameRgn", T_DWORD, 5, {T_HDC, T_HRGN, T_HBRUSH, T_DWORD, T_DWORD} },
    { "GdiComment", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "GdiFlush", T_DWORD, 0, },
    { "GdiGetBatchLimit", T_DWORD, 0, },
    { "GdiSetBatchLimit", T_DWORD, 1, {T_DWORD} },
    { "GetArcDirection", T_DWORD, 1, {T_HDC} },
    { "GetAspectRatioFilterEx", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "GetBitmapBits", T_DWORD, 3, {T_HBITMAP, T_DWORD, T_DWORD} },
    { "GetBitmapDimensionEx", T_DWORD, 2, {T_HBITMAP, T_DWORD} },
    { "GetBkColor", T_DWORD, 1, {T_HDC} },
    { "GetBkMode", T_DWORD, 1, {T_HDC} },
    { "GetBoundsRect", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "GetBrushOrgEx", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "GetCharABCWidthsA", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "GetCharABCWidthsFloatA", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "GetCharABCWidthsFloatW", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "GetCharABCWidthsW", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "GetCharacterPlacementA", T_DWORD, 6, {T_HDC, T_LPSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "GetCharacterPlacementW", T_DWORD, 6, {T_HDC, T_LPWSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "GetCharWidth32A", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "GetCharWidth32W", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "GetCharWidthA", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "GetCharWidthFloatA", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "GetCharWidthFloatW", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "GetCharWidthW", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "GetClipBox", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "GetClipRgn", T_DWORD, 2, {T_HDC, T_HRGN} },
    { "GetColorAdjustment", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "GetCurrentObject", T_HGDIOBJ, 2, {T_HDC, T_DWORD} },
    { "GetCurrentPositionEx", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "GetDCOrgEx", T_DWORD, 1, {T_HDCLPPOINT} },
    { "GetDeviceCaps", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "GetDIBColorTable", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "GetDIBits", T_DWORD, 7, {T_HDC, T_HBITMAP, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "GetEnhMetaFileA", T_HENHMETAFILE, 1, {T_LPSTR} },
    { "GetEnhMetaFileBits", T_DWORD, 3, {T_HENHMETAFILE, T_DWORD, T_DWORD} },
    { "GetEnhMetaFileDescriptionA", T_DWORD, 3, {T_HENHMETAFILE, T_DWORD, T_LPSTR} },
    { "GetEnhMetaFileDescriptionW", T_DWORD, 3, {T_HENHMETAFILE, T_DWORD, T_LPWSTR} },
    { "GetEnhMetaFileHeader", T_DWORD, 3, {T_HENHMETAFILE, T_DWORD, T_DWORD} },
    { "GetEnhMetaFilePaletteEntries", T_DWORD, 3, {T_HENHMETAFILE, T_DWORD, T_DWORD} },
    { "GetEnhMetaFilePixelFormat", T_DWORD, 3, {T_HENHMETAFILE, T_DWORD, T_DWORD} },
    { "GetEnhMetaFileW", T_HENHMETAFILE, 1, {T_LPWSTR} },
    { "GetFontData", T_DWORD, 5, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "GetFontLanguageInfo", T_DWORD, 1, {T_HDC} },
    { "GetGlyphOutlineA", T_DWORD, 7, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "GetGlyphOutlineW", T_DWORD, 7, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "GetGraphicsMode", T_DWORD, 1, {T_HDC} },
    { "GetKerningPairsA", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "GetKerningPairsW", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "GetMapMode", T_DWORD, 1, {T_HDC} },
    { "GetMetaFileA", T_HMETAFILE, 1, {T_LPSTR} },
    { "GetMetaFileBitsEx", T_DWORD, 3, {T_HMETAFILE, T_DWORD, T_DWORD} },
    { "GetMetaFileW", T_HMETAFILE, 1, {T_LPWSTR} },
    { "GetMetaRgn", T_DWORD, 2, {T_HDC, T_HRGN} },
    { "GetMiterLimit", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "GetNearestColor", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "GetNearestPaletteIndex", T_DWORD, 2, {T_HPALETTE, T_DWORD} },
    { "GetObjectA", T_DWORD, 3, {T_HGDIOBJ, T_DWORD, T_DWORD} },
    { "GetObjectType", T_DWORD, 1, {T_HGDIOBJ} },
    { "GetObjectW", T_DWORD, 3, {T_HGDIOBJ, T_DWORD, T_DWORD} },
    { "GetOutlineTextMetricsA", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "GetOutlineTextMetricsW", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "GetPaletteEntries", T_DWORD, 4, {T_HPALETTE, T_DWORD, T_DWORD, T_DWORD} },
    { "GetPath", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "GetPixel", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "GetPixelFormat", T_DWORD, 1, {T_HDC} },
    { "GetPolyFillMode", T_DWORD, 1, {T_HDC} },
    { "GetRasterizerCaps", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "GetRegionData", T_DWORD, 3, {T_HRGN, T_DWORD, T_DWORD} },
    { "GetRgnBox", T_DWORD, 2, {T_HRGN, T_DWORD} },
    { "GetROP2", T_DWORD, 1, {T_HDC} },
    { "GetStockObject", T_HGDIOBJ, 1, {T_DWORD} },
    { "GetStretchBltMode", T_DWORD, 1, {T_HDC} },
    { "GetSystemPaletteEntries", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "GetSystemPaletteUse", T_DWORD, 1, {T_HDC} },
    { "GetTextAlign", T_DWORD, 1, {T_HDC} },
    { "GetTextCharacterExtra", T_DWORD, 1, {T_HDC} },
    { "GetTextCharset", T_DWORD, 1, {T_HDC} },
    { "GetTextCharsetInfo", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "GetTextColor", T_DWORD, 1, {T_HDC} },
    { "GetTextExtentExPointA", T_DWORD, 7, {T_HDC, T_LPSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "GetTextExtentExPointW", T_DWORD, 7, {T_HDC, T_LPWSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "GetTextExtentPoint32A", T_DWORD, 4, {T_HDC, T_LPSTR, T_DWORD, T_DWORD} },
    { "GetTextExtentPoint32W", T_DWORD, 4, {T_HDC, T_LPWSTR, T_DWORD, T_DWORD} },
    { "GetTextExtentPointA", T_DWORD, 4, {T_HDC, T_LPSTR, T_DWORD, T_DWORD} },
    { "GetTextExtentPointW", T_DWORD, 4, {T_HDC, T_LPWSTR, T_DWORD, T_DWORD} },
    { "GetTextFaceA", T_DWORD, 3, {T_HDC, T_DWORD, T_LPSTR} },
    { "GetTextFaceW", T_DWORD, 3, {T_HDC, T_DWORD, T_LPWSTR} },
    { "GetTextMetricsA", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "GetTextMetricsW", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "GetViewportExtEx", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "GetViewportOrgEx", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "GetWindowExtEx", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "GetWindowOrgEx", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "GetWinMetaFileBits", T_DWORD, 5, {T_HENHMETAFILE, T_DWORD, T_DWORD, T_DWORD, T_HDC} },
    { "GetWorldTransform", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "IntersectClipRect", T_DWORD, 5, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "InvertRgn", T_DWORD, 2, {T_HDC, T_HRGN} },
    { "LineDDA", T_DWORD, 6, {T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "LineTo", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "LPtoDP", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "MaskBlt", T_DWORD, 8, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_HDC, T_DWORD, T_DWORD} },
    { "ModifyWorldTransform", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "MoveToEx", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "OffsetClipRgn", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "OffsetRgn", T_DWORD, 3, {T_HRGN, T_DWORD, T_DWORD} },
    { "OffsetViewportOrgEx", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "OffsetWindowOrgEx", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "PaintRgn", T_DWORD, 2, {T_HDC, T_HRGN} },
    { "PatBlt", T_DWORD, 6, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "PathToRegion", T_HRGN, 1, {T_HDC} },
    { "Pie", T_DWORD, 8, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "PlayEnhMetaFile", T_DWORD, 3, {T_HDC, T_HENHMETAFILE, T_DWORD} },
    { "PlayEnhMetaFileRecord", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "PlayMetaFile", T_DWORD, 2, {T_HDC, T_HMETAFILE} },
    { "PlayMetaFileRecord", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "PlgBlt", T_DWORD, 8, {T_HDC, T_DWORD, T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_HBITMAP} },
    { "PolyBezier", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "PolyBezierTo", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "PolyDraw", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "Polygon", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "Polyline", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "PolylineTo", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "PolyPolygon", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "PolyPolyline", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "PolyTextOutA", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "PolyTextOutW", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "PtInRegion", T_DWORD, 3, {T_HRGN, T_DWORD, T_DWORD} },
    { "PtVisible", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "RealizePalette", T_DWORD, 1, {T_HDC} },
    { "Rectangle", T_DWORD, 5, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "RectInRegion", T_DWORD, 2, {T_HRGN, T_DWORD} },
    { "RectVisible", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "RemoveFontResourceA", T_DWORD, 1, {T_LPSTR} },
    { "RemoveFontResourceW", T_DWORD, 1, {T_LPWSTR} },
    { "ResetDCA", T_HDC, 2, {T_HDC, T_DWORD} },
    { "ResetDCW", T_HDC, 2, {T_HDC, T_DWORD} },
    { "ResizePalette", T_DWORD, 2, {T_HPALETTE, T_DWORD} },
    { "RestoreDC", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "RoundRect", T_DWORD, 7, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "SaveDC", T_DWORD, 1, {T_HDC} },
    { "ScaleViewportExtEx", T_DWORD, 6, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "ScaleWindowExtEx", T_DWORD, 6, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "SelectClipPath", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "SelectClipRgn", T_DWORD, 2, {T_HDC, T_HRGN} },
    { "SelectObject", T_HGDIOBJ, 2, {T_HDC, T_HGDIOBJ} },
    { "SelectPalette", T_HPALETTE, 3, {T_HDC, T_HPALETTE, T_DWORD} },
    { "SetAbortProc", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "SetArcDirection", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "SetBitmapBits", T_DWORD, 3, {T_HBITMAP, T_DWORD, T_DWORD} },
    { "SetBitmapDimensionEx", T_DWORD, 4, {T_HBITMAP, T_DWORD, T_DWORD, T_DWORD} },
    { "SetBkColor", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "SetBkMode", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "SetBoundsRect", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "SetBrushOrgEx", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "SetColorAdjustment", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "SetDIBColorTable", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "SetDIBits", T_DWORD, 7, {T_HDC, T_HBITMAP, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "SetDIBitsToDevice", T_DWORD, 8, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "SetEnhMetaFileBits", T_HENHMETAFILE, 2, {T_DWORD, T_DWORD} },
    { "SetGraphicsMode", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "SetMapMode", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "SetMapperFlags", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "SetMetaFileBitsEx", T_HMETAFILE, 2, {T_DWORD, T_DWORD} },
    { "SetMetaRgn", T_DWORD, 1, {T_HDC} },
    { "SetMiterLimit", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "SetPaletteEntries", T_DWORD, 4, {T_HPALETTE, T_DWORD, T_DWORD, T_DWORD} },
    { "SetPixel", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "SetPixelFormat", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "SetPixelV", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "SetPolyFillMode", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "SetRectRgn", T_DWORD, 5, {T_HRGN, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "SetROP2", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "SetStretchBltMode", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "SetSystemPaletteUse", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "SetTextAlign", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "SetTextCharacterExtra", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "SetTextColor", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "SetTextJustification", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "SetViewportExtEx", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "SetViewportOrgEx", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "SetWindowExtEx", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "SetWindowOrgEx", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "SetWinMetaFileBits", T_HENHMETAFILE, 4, {T_DWORD, T_DWORD, T_HDC, T_DWORD} },
    { "SetWorldTransform", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "StartDocA", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "StartDocW", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "StartPage", T_DWORD, 1, {T_HDC} },
    { "StretchBlt", T_DWORD, 8, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_HDC, T_DWORD, T_DWORD} },
    { "StretchDIBits", T_DWORD, 8, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "StrokeAndFillPath", T_DWORD, 1, {T_HDC} },
    { "StrokePath", T_DWORD, 1, {T_HDC} },
    { "SwapBuffers", T_DWORD, 1, {T_HDC} },
    { "TextOutA", T_DWORD, 5, {T_HDC, T_DWORD, T_DWORD, T_LPSTR, T_DWORD} },
    { "TextOutW", T_DWORD, 5, {T_HDC, T_DWORD, T_DWORD, T_LPWSTR, T_DWORD} },
    { "TranslateCharsetInfo", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "UnrealizeObject", T_DWORD, 1, {T_HGDIOBJ} },
    { "UpdateColors", T_DWORD, 1, {T_HDC} },
    { "wglCopyContext", T_DWORD, 3, {T_HGLRC, T_HGLRC, T_DWORD} },
    { "wglCreateContext", T_HGLRC, 1, {T_HDC} },
    { "wglCreateLayerContext", T_HGLRC, 2, {T_HDC, T_DWORD} },
    { "wglDeleteContext", T_DWORD, 1, {T_HGLRC} },
    { "wglDescribeLayerPlane", T_DWORD, 5, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "wglGetCurrentContext", T_HGLRC, 1, {T_DWORD} },
    { "wglGetCurrentDC", T_HDC, 1, {T_DWORD} },
    { "wglGetLayerPaletteEntries", T_DWORD, 5, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "wglGetProcAddress", T_DWORD, 1, {T_LPSTR} },
    { "wglMakeCurrent", T_DWORD, 2, {T_HDC, T_HGLRC} },
    { "wglRealizeLayerPalette", T_DWORD, 3, {T_HDC, T_DWORD, T_DWORD} },
    { "wglSetLayerPaletteEntries", T_DWORD, 5, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "wglShareLists", T_DWORD, 2, {T_HGLRC, T_HGLRC} },
    { "wglSwapLayerBuffers", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "wglUseFontBitmapsA", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "wglUseFontBitmapsW", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "wglUseFontOutlinesA", T_DWORD, 8, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "wglUseFontOutlinesW", T_DWORD, 8, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "WidenPath", T_DWORD, 1, {T_HDC} },
    { NULL, 0, 0, }
};

API_TABLE API_User32[] =
{
    { "ActivateKeyboardLayout", T_DWORD, 2, {T_HKL, T_DWORD} },
    { "ActivateKeyboardLayout", T_HKL, 2, {T_HKL, T_DWORD} },
    { "AdjustWindowRect", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "AdjustWindowRectEx", T_DWORD, 4, {T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "AnyPopup", T_DWORD, 1, {T_DWORD} },
    { "AppendMenuA", T_DWORD, 4, {T_HMENU, T_DWORD, T_DWORD, T_LPSTR} },
    { "AppendMenuW", T_DWORD, 4, {T_HMENU, T_DWORD, T_DWORD, T_LPWSTR} },
    { "ArrangeIconicWindows", T_DWORD, 1, {T_HWND} },
    { "AttachThreadInput", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "BeginDeferWindowPos", T_HDWP, 1, {T_DWORD} },
    { "BeginPaint", T_HDC, 2, {T_HWND, T_DWORD} },
    { "BringWindowToTop", T_DWORD, 1, {T_HWND} },
    { "BroadcastSystemMessageA", T_DWORD, 5, {T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "BroadcastSystemMessageW", T_DWORD, 5, {T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CallMsgFilterA", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "CallMsgFilterW", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "CallNextHookEx", T_DWORD, 4, {T_HHOOK, T_DWORD, T_DWORD, T_DWORD} },
    { "CallWindowProcA", T_DWORD, 5, {T_DWORD, T_HWND, T_DWORD, T_DWORD, T_DWORD} },
    { "CallWindowProcA", T_DWORD, 5, {T_DWORD, T_HWND, T_DWORD, T_DWORD, T_DWORD} },
    { "CallWindowProcW", T_DWORD, 5, {T_DWORD, T_HWND, T_DWORD, T_DWORD, T_DWORD} },
    { "CallWindowProcW", T_DWORD, 5, {T_DWORD, T_HWND, T_DWORD, T_DWORD, T_DWORD} },
    { "CascadeWindows", T_DWORD, 5, {T_HWND, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "ChangeClipboardChain", T_DWORD, 2, {T_HWND, T_HWND} },
    { "ChangeDisplaySettingsA", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "ChangeDisplaySettingsExA", T_DWORD, 5, {T_LPSTR, T_DWORD, T_HWND, T_DWORD, T_DWORD} },
    { "ChangeDisplaySettingsExW", T_DWORD, 5, {T_LPWSTR, T_DWORD, T_HWND, T_DWORD, T_DWORD} },
    { "ChangeDisplaySettingsW", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "ChangeMenuA", T_DWORD, 5, {T_HMENU, T_DWORD, T_LPSTR, T_DWORD, T_DWORD} },
    { "ChangeMenuW", T_DWORD, 5, {T_HMENU, T_DWORD, T_LPWSTR, T_DWORD, T_DWORD} },
    { "CharLowerA", T_LPSTR, 1, {T_LPSTR} },
    { "CharLowerBuffA", T_DWORD, 2, {T_LPSTR, T_DWORD} },
    { "CharLowerBuffW", T_DWORD, 2, {T_LPWSTR, T_DWORD} },
    { "CharLowerW", T_LPWSTR, 1, {T_LPWSTR} },
    { "CharNextA", T_LPSTR, 1, {T_LPSTR} },
    { "CharNextExA", T_LPSTR, 3, {T_DWORD, T_LPSTR, T_DWORD} },
    { "CharNextW", T_LPWSTR, 1, {T_LPWSTR} },
    { "CharPrevA", T_LPSTR, 2, {T_LPSTR, T_LPSTR} },
    { "CharPrevExA", T_LPSTR, 4, {T_DWORD, T_LPSTR, T_LPSTR, T_DWORD} },
    { "CharPrevW", T_LPWSTR, 2, {T_LPWSTR, T_LPWSTR} },
    { "CharToOemA", T_DWORD, 2, {T_LPSTR, T_LPSTR} },
    { "CharToOemBuffA", T_DWORD, 3, {T_LPSTR, T_LPSTR, T_DWORD} },
    { "CharToOemBuffW", T_DWORD, 3, {T_LPWSTR, T_LPSTR, T_DWORD} },
    { "CharToOemW", T_DWORD, 2, {T_LPWSTR, T_LPSTR} },
    { "CharUpperA", T_LPSTR, 1, {T_LPSTR} },
    { "CharUpperBuffA", T_DWORD, 2, {T_LPSTR, T_DWORD} },
    { "CharUpperBuffW", T_DWORD, 2, {T_LPWSTR, T_DWORD} },
    { "CharUpperW", T_LPWSTR, 1, {T_LPWSTR} },
    { "CheckDlgButton", T_DWORD, 3, {T_HWND, T_DWORD, T_DWORD} },
    { "CheckMenuItem", T_DWORD, 3, {T_HMENU, T_DWORD, T_DWORD} },
    { "CheckMenuRadioItem", T_DWORD, 5, {T_HMENU, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CheckRadioButton", T_DWORD, 4, {T_HWND, T_DWORD, T_DWORD, T_DWORD} },
    { "ChildWindowFromPoint", T_HWND, 2, {T_HWND, T_DWORD} },
    { "ChildWindowFromPointEx", T_HWND, 3, {T_HWND, T_DWORD, T_DWORD} },
    { "ClientToScreen", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "ClipCursor", T_DWORD, 1, {T_DWORD} },
    { "CloseClipboard", T_DWORD, 1, {T_DWORD} },
    { "CloseDesktop", T_DWORD, 1, {T_HDESK} },
    { "CloseWindow", T_DWORD, 1, {T_HWND} },
    { "CloseWindowStation", T_DWORD, 1, {T_HWINSTA} },
    { "CopyAcceleratorTableA", T_DWORD, 3, {T_HACCEL, T_DWORD, T_DWORD} },
    { "CopyAcceleratorTableW", T_DWORD, 3, {T_HACCEL, T_DWORD, T_DWORD} },
    { "CopyIcon", T_HICON, 1, {T_HICON} },
    { "CopyImage", T_HANDLE, 5, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CopyRect", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "CountClipboardFormats", T_DWORD, 1, {T_DWORD} },
    { "CreateAcceleratorTableA", T_HACCEL, 2, {T_DWORD, T_DWORD} },
    { "CreateAcceleratorTableW", T_HACCEL, 2, {T_DWORD, T_DWORD} },
    { "CreateCaret", T_DWORD, 4, {T_HWND, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateCursor", T_HCURSOR, 7, {T_HINSTANCE, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateDesktopA", T_HDESK, 6, {T_LPSTR, T_LPSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateDesktopW", T_HDESK, 6, {T_LPWSTR, T_LPWSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateDialogIndirectParamA", T_HWND, 5, {T_HINSTANCE, T_DWORD, T_HWND, T_DWORD, T_DWORD} },
    { "CreateDialogIndirectParamW", T_HWND, 5, {T_HINSTANCE, T_DWORD, T_HWND, T_DWORD, T_DWORD} },
    { "CreateDialogParamA", T_HWND, 5, {T_HINSTANCE, T_LPSTR, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateDialogParamW", T_HWND, 5, {T_HINSTANCE, T_LPWSTR, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateIcon", T_HICON, 7, {T_HINSTANCE, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateIconFromResource", T_HICON, 4, {T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateIconFromResourceEx", T_HICON, 7, {T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateIconIndirect", T_HICON, 1, {T_DWORD} },
    { "CreateMDIWindowA", T_HWND, 8, {T_LPSTR, T_LPSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_HWND} },
    { "CreateMDIWindowW", T_HWND, 8, {T_LPWSTR, T_LPWSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_HWND} },
    { "CreateMenu", T_HMENU, 1, {T_DWORD} },
    { "CreatePopupMenu", T_HMENU, 1, {T_DWORD} },
    { "CreateWindowExA", T_HWND, 8, {T_DWORD, T_LPSTR, T_LPSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateWindowExW", T_HWND, 8, {T_DWORD, T_LPWSTR, T_LPWSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateWindowStationA", T_HWINSTA, 4, {T_LPSTR, T_DWORD, T_DWORD, T_DWORD} },
    { "CreateWindowStationW", T_HWINSTA, 4, {T_LPWSTR, T_DWORD, T_DWORD, T_DWORD} },
    { "DefDlgProcA", T_DWORD, 4, {T_HWND, T_DWORD, T_DWORD, T_DWORD} },
    { "DefDlgProcW", T_DWORD, 4, {T_HWND, T_DWORD, T_DWORD, T_DWORD} },
    { "DeferWindowPos", T_HDWP, 8, {T_HDWP, T_HWND, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "DefFrameProcA", T_DWORD, 5, {T_HWND, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "DefFrameProcW", T_DWORD, 5, {T_HWND, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "DefMDIChildProcA", T_DWORD, 4, {T_HWND, T_DWORD, T_DWORD, T_DWORD} },
    { "DefMDIChildProcW", T_DWORD, 4, {T_HWND, T_DWORD, T_DWORD, T_DWORD} },
    { "DefWindowProcA", T_DWORD, 4, {T_HWND, T_DWORD, T_DWORD, T_DWORD} },
    { "DefWindowProcW", T_DWORD, 4, {T_HWND, T_DWORD, T_DWORD, T_DWORD} },
    { "DeleteMenu", T_DWORD, 3, {T_HMENU, T_DWORD, T_DWORD} },
    { "DestroyAcceleratorTable", T_DWORD, 1, {T_HACCEL} },
    { "DestroyCaret", T_DWORD, 1, {T_DWORD} },
    { "DestroyCursor", T_DWORD, 1, {T_HCURSOR} },
    { "DestroyIcon", T_DWORD, 1, {T_HICON} },
    { "DestroyMenu", T_DWORD, 1, {T_HMENU} },
    { "DestroyWindow", T_DWORD, 1, {T_HWND} },
    { "DialogBoxIndirectParamA", T_DWORD, 5, {T_HINSTANCE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "DialogBoxIndirectParamW", T_DWORD, 5, {T_HINSTANCE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "DialogBoxParamA", T_DWORD, 5, {T_HINSTANCE, T_LPSTR, T_DWORD, T_DWORD, T_DWORD} },
    { "DialogBoxParamW", T_DWORD, 5, {T_HINSTANCE, T_LPWSTR, T_DWORD, T_DWORD, T_DWORD} },
    { "DispatchMessageA", T_DWORD, 1, {T_DWORD} },
    { "DispatchMessageW", T_DWORD, 1, {T_DWORD} },
    { "DlgDirListA", T_DWORD, 5, {T_HWND, T_LPSTR, T_DWORD, T_DWORD, T_DWORD} },
    { "DlgDirListComboBoxA", T_DWORD, 5, {T_HWND, T_LPSTR, T_DWORD, T_DWORD, T_DWORD} },
    { "DlgDirListComboBoxW", T_DWORD, 5, {T_HWND, T_LPWSTR, T_DWORD, T_DWORD, T_DWORD} },
    { "DlgDirListW", T_DWORD, 5, {T_HWND, T_LPWSTR, T_DWORD, T_DWORD, T_DWORD} },
    { "DlgDirSelectComboBoxExA", T_DWORD, 4, {T_HWND, T_LPSTR, T_DWORD, T_DWORD} },
    { "DlgDirSelectComboBoxExW", T_DWORD, 4, {T_HWND, T_LPWSTR, T_DWORD, T_DWORD} },
    { "DlgDirSelectExA", T_DWORD, 4, {T_HWND, T_LPSTR, T_DWORD, T_DWORD} },
    { "DlgDirSelectExW", T_DWORD, 4, {T_HWND, T_LPWSTR, T_DWORD, T_DWORD} },
    { "DragDetect", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "DragObject", T_DWORD, 5, {T_HWND, T_HWND, T_DWORD, T_DWORD, T_HCURSOR} },
    { "DrawAnimatedRects", T_DWORD, 4, {T_HWND, T_DWORD, T_DWORD, T_DWORD} },
    { "DrawCaption", T_DWORD, 4, {T_HWND, T_HDC, T_DWORD, T_DWORD} },
    { "DrawEdge", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "DrawFocusRect", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "DrawFrameControl", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_DWORD} },
    { "DrawIcon", T_DWORD, 4, {T_HDC, T_DWORD, T_DWORD, T_HICON} },
    { "DrawIconEx", T_DWORD, 8, {T_HDC, T_DWORD, T_DWORD, T_HICON, T_DWORD, T_DWORD, T_DWORD, T_HBRUSH} },
    { "DrawMenuBar", T_DWORD, 1, {T_HWND} },
    { "DrawStateA", T_DWORD, 8, {T_HDC, T_HBRUSH, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "DrawStateW", T_DWORD, 8, {T_HDC, T_HBRUSH, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "DrawTextA", T_DWORD, 5, {T_HDC, T_LPSTR, T_DWORD, T_DWORD, T_DWORD} },
    { "DrawTextExA", T_DWORD, 6, {T_HDC, T_LPSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "DrawTextExW", T_DWORD, 6, {T_HDC, T_LPWSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "DrawTextW", T_DWORD, 5, {T_HDC, T_LPWSTR, T_DWORD, T_DWORD, T_DWORD} },
    { "EmptyClipboard", T_DWORD, 1, {T_DWORD} },
    { "EnableMenuItem", T_DWORD, 3, {T_HMENU, T_DWORD, T_DWORD} },
    { "EnableScrollBar", T_DWORD, 3, {T_HWND, T_DWORD, T_DWORD} },
    { "EnableWindow", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "EndDeferWindowPos", T_DWORD, 1, {T_HDWP} },
    { "EndDialog", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "EndPaint", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "EnumChildWindows", T_DWORD, 3, {T_HWND, T_DWORD, T_DWORD} },
    { "EnumClipboardFormats", T_DWORD, 1, {T_DWORD} },
    { "EnumDesktopsA", T_DWORD, 3, {T_HWINSTA, T_DWORD, T_DWORD} },
    { "EnumDesktopsW", T_DWORD, 3, {T_HWINSTA, T_DWORD, T_DWORD} },
    { "EnumDesktopWindows", T_DWORD, 3, {T_HDESK, T_DWORD, T_DWORD} },
    { "EnumDisplaySettingsA", T_DWORD, 3, {T_LPSTR, T_DWORD, T_DWORD} },
    { "EnumDisplaySettingsW", T_DWORD, 3, {T_LPWSTR, T_DWORD, T_DWORD} },
    { "EnumPropsA", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "EnumPropsExA", T_DWORD, 3, {T_HWND, T_DWORD, T_DWORD} },
    { "EnumPropsExW", T_DWORD, 3, {T_HWND, T_DWORD, T_DWORD} },
    { "EnumPropsW", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "EnumThreadWindows", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "EnumWindows", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "EnumWindowStationsA", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "EnumWindowStationsW", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "EqualRect", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "ExcludeUpdateRgn", T_DWORD, 2, {T_HDC, T_HWND} },
    { "ExitWindowsEx", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "FillRect", T_DWORD, 3, {T_HDC, T_DWORD, T_HBRUSH} },
    { "FindWindowA", T_HWND, 2, {T_DWORD, T_LPSTR} },
    { "FindWindowExA", T_HWND, 4, {T_HWND, T_HWND, T_LPSTR, T_LPSTR} },
    { "FindWindowExW", T_HWND, 4, {T_HWND, T_HWND, T_LPWSTR, T_LPWSTR} },
    { "FindWindowW", T_HWND, 2, {T_DWORD, T_LPWSTR} },
    { "FlashWindow", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "FrameRect", T_DWORD, 3, {T_HDC, T_DWORD, T_HBRUSH} },
    { "GetActiveWindow", T_HWND, 1, {T_DWORD} },
    { "GetAsyncKeyState", T_DWORD, 1, {T_DWORD} },
    { "GetCapture", T_HWND, 1, {T_DWORD} },
    { "GetCaretBlinkTime", T_DWORD, 1, {T_DWORD} },
    { "GetCaretPos", T_DWORD, 1, {T_DWORD} },
    { "GetClassInfoA", T_DWORD, 3, {T_DWORD, T_LPSTR, T_DWORD} },
    { "GetClassInfoExA", T_DWORD, 3, {T_HINSTANCE, T_LPSTR, T_DWORD} },
    { "GetClassInfoExW", T_DWORD, 3, {T_HINSTANCE, T_LPWSTR, T_DWORD} },
    { "GetClassInfoW", T_DWORD, 3, {T_DWORD, T_LPWSTR, T_DWORD} },
    { "GetClassLongA", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "GetClassLongW", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "GetClassNameA", T_DWORD, 3, {T_HWND, T_LPSTR, T_DWORD} },
    { "GetClassNameW", T_DWORD, 3, {T_HWND, T_LPWSTR, T_DWORD} },
    { "GetClassWord", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "GetClientRect", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "GetClipboardData", T_HANDLE, 1, {T_DWORD} },
    { "GetClipboardFormatNameA", T_DWORD, 3, {T_DWORD, T_LPSTR, T_DWORD} },
    { "GetClipboardFormatNameW", T_DWORD, 3, {T_DWORD, T_LPWSTR, T_DWORD} },
    { "GetClipboardOwner", T_HWND, 1, {T_DWORD} },
    { "GetClipboardViewer", T_HWND, 1, {T_DWORD} },
    { "GetClipCursor", T_DWORD, 1, {T_DWORD} },
    { "GetCursor", T_HCURSOR, 1, {T_DWORD} },
    { "GetCursorPos", T_DWORD, 1, {T_DWORD} },
    { "GetDC", T_HDC, 1, {T_HWND} },
    { "GetDCEx", T_HDC, 3, {T_DWORD, T_HRGN, T_DWORD} },
    { "GetDesktopWindow", T_HWND, 1, {T_DWORD} },
    { "GetDialogBaseUnits", T_DWORD, 1, {T_DWORD} },
    { "GetDlgCtrlID", T_DWORD, 1, {T_HWND} },
    { "GetDlgItem", T_HWND, 2, {T_HWND, T_DWORD} },
    { "GetDlgItemInt", T_DWORD, 4, {T_HWND, T_DWORD, T_DWORD, T_DWORD} },
    { "GetDlgItemTextA", T_DWORD, 4, {T_HWND, T_DWORD, T_LPSTR, T_DWORD} },
    { "GetDlgItemTextW", T_DWORD, 4, {T_HWND, T_DWORD, T_LPWSTR, T_DWORD} },
    { "GetDoubleClickTime", T_DWORD, 1, {T_DWORD} },
    { "GetFocus", T_HWND, 1, {T_DWORD} },
    { "GetForegroundWindow", T_HWND, 1, {T_DWORD} },
    { "GetIconInfo", T_DWORD, 2, {T_HICON, T_DWORD} },
    { "GetInputState", T_DWORD, 1, {T_DWORD} },
    { "GetKBCodePage", T_DWORD, 1, {T_DWORD} },
    { "GetKeyboardLayout", T_HKL, 1, {T_DWORD} },
    { "GetKeyboardLayoutList", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "GetKeyboardLayoutNameA", T_DWORD, 1, {T_LPSTR} },
    { "GetKeyboardLayoutNameW", T_DWORD, 1, {T_LPWSTR} },
    { "GetKeyboardState", T_DWORD, 1, {T_DWORD} },
    { "GetKeyboardType", T_DWORD, 1, {T_DWORD} },
    { "GetKeyNameTextA", T_DWORD, 3, {T_DWORD, T_LPSTR, T_DWORD} },
    { "GetKeyNameTextW", T_DWORD, 3, {T_DWORD, T_LPWSTR, T_DWORD} },
    { "GetKeyState", T_DWORD, 1, {T_DWORD} },
    { "GetLastActivePopup", T_HWND, 1, {T_HWND} },
    { "GetMenu", T_HMENU, 1, {T_HWND} },
    { "GetMenuCheckMarkDimensions", T_DWORD, 1, {T_DWORD} },
    { "GetMenuContextHelpId", T_DWORD, 1, {T_HMENU} },
    { "GetMenuDefaultItem", T_DWORD, 3, {T_HMENU, T_DWORD, T_DWORD} },
    { "GetMenuItemCount", T_DWORD, 1, {T_HMENU} },
    { "GetMenuItemID", T_DWORD, 2, {T_HMENU, T_DWORD} },
    { "GetMenuItemInfoA", T_DWORD, 4, {T_HMENU, T_DWORD, T_DWORD, T_DWORD} },
    { "GetMenuItemInfoW", T_DWORD, 4, {T_HMENU, T_DWORD, T_DWORD, T_DWORD} },
    { "GetMenuItemRect", T_DWORD, 4, {T_HWND, T_HMENU, T_DWORD, T_DWORD} },
    { "GetMenuState", T_DWORD, 3, {T_HMENU, T_DWORD, T_DWORD} },
    { "GetMenuStringA", T_DWORD, 5, {T_HMENU, T_DWORD, T_LPSTR, T_DWORD, T_DWORD} },
    { "GetMenuStringW", T_DWORD, 5, {T_HMENU, T_DWORD, T_LPWSTR, T_DWORD, T_DWORD} },
    { "GetMessageA", T_DWORD, 4, {T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "GetMessageExtraInfo", T_DWORD, 1, {T_DWORD} },
    { "GetMessagePos", T_DWORD, 1, {T_DWORD} },
    { "GetMessageTime", T_DWORD, 1, {T_DWORD} },
    { "GetMessageW", T_DWORD, 4, {T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "GetNextDlgGroupItem", T_HWND, 3, {T_HWND, T_HWND, T_DWORD} },
    { "GetNextDlgTabItem", T_HWND, 3, {T_HWND, T_HWND, T_DWORD} },
    { "GetOpenClipboardWindow", T_HWND, 1, {T_DWORD} },
    { "GetParent", T_HWND, 1, {T_HWND} },
    { "GetPriorityClipboardFormat", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "GetProcessWindowStation", T_HWINSTA, 1, {T_DWORD} },
    { "GetPropA", T_HANDLE, 2, {T_HWND, T_LPSTR} },
    { "GetPropW", T_HANDLE, 2, {T_HWND, T_LPWSTR} },
    { "GetQueueStatus", T_DWORD, 1, {T_DWORD} },
    { "GetScrollInfo", T_DWORD, 3, {T_HWND, T_DWORD, T_DWORD} },
    { "GetScrollPos", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "GetScrollRange", T_DWORD, 4, {T_HWND, T_DWORD, T_DWORD, T_DWORD} },
    { "GetSubMenu", T_HMENU, 2, {T_HMENU, T_DWORD} },
    { "GetSysColor", T_DWORD, 1, {T_DWORD} },
    { "GetSysColorBrush", T_HBRUSH, 1, {T_DWORD} },
    { "GetSystemMenu", T_HMENU, 2, {T_HWND, T_DWORD} },
    { "GetSystemMetrics", T_DWORD, 1, {T_DWORD} },
    { "GetTabbedTextExtentA", T_DWORD, 5, {T_HDC, T_LPSTR, T_DWORD, T_DWORD, T_DWORD} },
    { "GetTabbedTextExtentW", T_DWORD, 5, {T_HDC, T_LPWSTR, T_DWORD, T_DWORD, T_DWORD} },
    { "GetThreadDesktop", T_HDESK, 1, {T_DWORD} },
    { "GetTopWindow", T_HWND, 1, {T_HWND} },
    { "GetUpdateRect", T_DWORD, 3, {T_HWND, T_DWORD, T_DWORD} },
    { "GetUpdateRgn", T_DWORD, 3, {T_HWND, T_HRGN, T_DWORD} },
    { "GetUserObjectInformationA", T_DWORD, 5, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "GetUserObjectInformationW", T_DWORD, 5, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "GetUserObjectSecurity", T_DWORD, 5, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "GetWindow", T_HWND, 2, {T_HWND, T_DWORD} },
    { "GetWindowContextHelpId", T_DWORD, 1, {T_HWND} },
    { "GetWindowDC", T_HDC, 1, {T_HWND} },
    { "GetWindowLongA", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "GetWindowLongW", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "GetWindowPlacement", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "GetWindowRect", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "GetWindowRgn", T_DWORD, 2, {T_HWND, T_HRGN} },
    { "GetWindowTextA", T_DWORD, 3, {T_HWND, T_LPSTR, T_DWORD} },
    { "GetWindowTextLengthA", T_DWORD, 1, {T_HWND} },
    { "GetWindowTextLengthW", T_DWORD, 1, {T_HWND} },
    { "GetWindowTextW", T_DWORD, 3, {T_HWND, T_LPWSTR, T_DWORD} },
    { "GetWindowThreadProcessId", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "GetWindowWord", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "GrayStringA", T_DWORD, 8, {T_HDC, T_HBRUSH, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "GrayStringW", T_DWORD, 8, {T_HDC, T_HBRUSH, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "HideCaret", T_DWORD, 1, {T_HWND} },
    { "HiliteMenuItem", T_DWORD, 4, {T_HWND, T_HMENU, T_DWORD, T_DWORD} },
    { "InflateRect", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "InSendMessage", T_DWORD, 1, {T_DWORD} },
    { "InsertMenuA", T_DWORD, 5, {T_HMENU, T_DWORD, T_DWORD, T_DWORD, T_LPSTR} },
    { "InsertMenuItemA", T_DWORD, 4, {T_HMENU, T_DWORD, T_DWORD, T_DWORD} },
    { "InsertMenuItemW", T_DWORD, 4, {T_HMENU, T_DWORD, T_DWORD, T_DWORD} },
    { "InsertMenuW", T_DWORD, 5, {T_HMENU, T_DWORD, T_DWORD, T_DWORD, T_LPWSTR} },
    { "IntersectRect", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "InvalidateRect", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "InvalidateRgn", T_DWORD, 3, {T_HWND, T_HRGN, T_DWORD} },
    { "InvertRect", T_DWORD, 2, {T_HDC, T_DWORD} },
    { "IsCharAlphaA", T_DWORD, 1, {T_DWORD} },
    { "IsCharAlphaNumericA", T_DWORD, 1, {T_DWORD} },
    { "IsCharAlphaNumericW", T_DWORD, 1, {T_DWORD} },
    { "IsCharAlphaW", T_DWORD, 1, {T_DWORD} },
    { "IsCharLowerA", T_DWORD, 1, {T_DWORD} },
    { "IsCharLowerW", T_DWORD, 1, {T_DWORD} },
    { "IsCharUpperA", T_DWORD, 1, {T_DWORD} },
    { "IsCharUpperW", T_DWORD, 1, {T_DWORD} },
    { "IsChild", T_DWORD, 2, {T_HWND, T_HWND} },
    { "IsClipboardFormatAvailable", T_DWORD, 1, {T_DWORD} },
    { "IsDialogMessageA", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "IsDialogMessageW", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "IsDlgButtonChecked", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "IsIconic", T_DWORD, 1, {T_HWND} },
    { "IsMenu", T_DWORD, 1, {T_HMENU} },
    { "IsRectEmpty", T_DWORD, 1, {T_DWORD} },
    { "IsWindow", T_DWORD, 1, {T_HWND} },
    { "IsWindowEnabled", T_DWORD, 1, {T_HWND} },
    { "IsWindowUnicode", T_DWORD, 1, {T_HWND} },
    { "IsWindowVisible", T_DWORD, 1, {T_HWND} },
    { "IsZoomed", T_DWORD, 1, {T_HWND} },
    { "keybd_event", T_DWORD, 4, {T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "KillTimer", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "LoadAcceleratorsA", T_HACCEL, 2, {T_HINSTANCE, T_LPSTR} },
    { "LoadAcceleratorsW", T_HACCEL, 2, {T_HINSTANCE, T_LPWSTR} },
    { "LoadBitmapA", T_HBITMAP, 2, {T_HINSTANCE, T_LPSTR} },
    { "LoadBitmapW", T_HBITMAP, 2, {T_HINSTANCE, T_LPWSTR} },
    { "LoadCursorA", T_HCURSOR, 2, {T_HINSTANCE, T_LPSTR} },
    { "LoadCursorFromFileA", T_HCURSOR, 1, {T_LPSTR} },
    { "LoadCursorFromFileW", T_HCURSOR, 1, {T_LPWSTR} },
    { "LoadCursorW", T_HCURSOR, 2, {T_HINSTANCE, T_LPWSTR} },
    { "LoadIconA", T_HICON, 2, {T_HINSTANCE, T_LPSTR} },
    { "LoadIconW", T_HICON, 2, {T_HINSTANCE, T_LPWSTR} },
    { "LoadImageA", T_HANDLE, 6, {T_HINSTANCE, T_LPSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "LoadImageW", T_HANDLE, 6, {T_HINSTANCE, T_LPWSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "LoadKeyboardLayoutA", T_HKL, 2, {T_LPSTR, T_DWORD} },
    { "LoadKeyboardLayoutW", T_HKL, 2, {T_LPWSTR, T_DWORD} },
    { "LoadMenuA", T_HMENU, 2, {T_HINSTANCE, T_LPSTR} },
    { "LoadMenuIndirectA", T_HMENU, 1, {T_DWORD} },
    { "LoadMenuIndirectW", T_HMENU, 1, {T_DWORD} },
    { "LoadMenuW", T_HMENU, 2, {T_HINSTANCE, T_LPWSTR} },
    { "LoadStringA", T_DWORD, 4, {T_HINSTANCE, T_DWORD, T_LPSTR, T_DWORD} },
    { "LoadStringW", T_DWORD, 4, {T_HINSTANCE, T_DWORD, T_LPWSTR, T_DWORD} },
    { "LockWindowUpdate", T_DWORD, 1, {T_HWND} },
    { "LookupIconIdFromDirectory", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "LookupIconIdFromDirectoryEx", T_DWORD, 5, {T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "MapDialogRect", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "MapVirtualKeyA", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "MapVirtualKeyExA", T_DWORD, 3, {T_DWORD, T_DWORD, T_HKL} },
    { "MapVirtualKeyExW", T_DWORD, 3, {T_DWORD, T_DWORD, T_HKL} },
    { "MapVirtualKeyW", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "MapWindowPoints", T_DWORD, 4, {T_HWND, T_HWND, T_DWORD, T_DWORD} },
    { "MenuItemFromPoint", T_DWORD, 3, {T_HWND, T_HMENU, T_DWORD} },
    { "MessageBeep", T_DWORD, 1, {T_DWORD} },
    { "MessageBoxA", T_DWORD, 4, {T_DWORD, T_LPSTR, T_LPSTR, T_DWORD} },
    { "MessageBoxExA", T_DWORD, 5, {T_DWORD, T_LPSTR, T_LPSTR, T_DWORD, T_DWORD} },
    { "MessageBoxExW", T_DWORD, 5, {T_DWORD, T_LPWSTR, T_LPWSTR, T_DWORD, T_DWORD} },
    { "MessageBoxIndirectA", T_DWORD, 1, {T_DWORD} },
    { "MessageBoxIndirectW", T_DWORD, 1, {T_DWORD} },
    { "MessageBoxW", T_DWORD, 4, {T_DWORD, T_LPWSTR, T_LPWSTR, T_DWORD} },
    { "ModifyMenuA", T_DWORD, 5, {T_HMENU, T_DWORD, T_DWORD, T_DWORD, T_LPSTR} },
    { "ModifyMenuW", T_DWORD, 5, {T_HMENU, T_DWORD, T_DWORD, T_DWORD, T_LPWSTR} },
    { "mouse_event", T_DWORD, 5, {T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "MoveWindow", T_DWORD, 6, {T_HWND, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "MsgWaitForMultipleObjects", T_DWORD, 5, {T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "MsgWaitForMultipleObjectsEx", T_DWORD, 5, {T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "OemKeyScan", T_DWORD, 1, {T_DWORD} },
    { "OemToCharA", T_DWORD, 2, {T_LPSTR, T_LPSTR} },
    { "OemToCharBuffA", T_DWORD, 3, {T_LPSTR, T_LPSTR, T_DWORD} },
    { "OemToCharBuffW", T_DWORD, 3, {T_LPSTR, T_LPWSTR, T_DWORD} },
    { "OemToCharW", T_DWORD, 2, {T_LPSTR, T_LPWSTR} },
    { "OffsetRect", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "OpenClipboard", T_DWORD, 1, {T_HWND} },
    { "OpenDesktopA", T_HDESK, 4, {T_LPSTR, T_DWORD, T_DWORD, T_DWORD} },
    { "OpenDesktopW", T_HDESK, 4, {T_LPWSTR, T_DWORD, T_DWORD, T_DWORD} },
    { "OpenIcon", T_DWORD, 1, {T_HWND} },
    { "OpenInputDesktop", T_HDESK, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "OpenWindowStationA", T_HWINSTA, 3, {T_LPSTR, T_DWORD, T_DWORD} },
    { "OpenWindowStationW", T_HWINSTA, 3, {T_LPWSTR, T_DWORD, T_DWORD} },
    { "PaintDesktop", T_DWORD, 1, {T_HDC} },
    { "PeekMessageA", T_DWORD, 5, {T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "PeekMessageW", T_DWORD, 5, {T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "PostMessageA", T_DWORD, 4, {T_HWND, T_DWORD, T_DWORD, T_DWORD} },
    { "PostMessageW", T_DWORD, 4, {T_HWND, T_DWORD, T_DWORD, T_DWORD} },
    { "PostQuitMessage", T_DWORD, 1, {T_DWORD} },
    { "PostThreadMessageA", T_DWORD, 4, {T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "PostThreadMessageW", T_DWORD, 4, {T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "PtInRect", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "RedrawWindow", T_DWORD, 4, {T_HWND, T_DWORD, T_HRGN, T_DWORD} },
    { "RegisterClassA", T_DWORD, 1, {T_DWORD} },
    { "RegisterClassExA", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "RegisterClassExW", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "RegisterClassW", T_DWORD, 1, {T_DWORD} },
    { "RegisterClipboardFormatA", T_DWORD, 1, {T_LPSTR} },
    { "RegisterClipboardFormatW", T_DWORD, 1, {T_LPWSTR} },
    { "RegisterHotKey", T_DWORD, 4, {T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "RegisterWindowMessageA", T_DWORD, 1, {T_LPSTR} },
    { "RegisterWindowMessageW", T_DWORD, 1, {T_LPWSTR} },
    { "ReleaseCapture", T_DWORD, 1, {T_DWORD} },
    { "ReleaseDC", T_DWORD, 2, {T_HWND, T_HDC} },
    { "RemoveMenu", T_DWORD, 3, {T_HMENU, T_DWORD, T_DWORD} },
    { "RemovePropA", T_HANDLE, 2, {T_HWND, T_LPSTR} },
    { "RemovePropW", T_HANDLE, 2, {T_HWND, T_LPWSTR} },
    { "ReplyMessage", T_DWORD, 1, {T_DWORD} },
    { "ScreenToClient", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "ScrollDC", T_DWORD, 7, {T_HDC, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_HRGN, T_DWORD} },
    { "ScrollWindow", T_DWORD, 5, {T_HWND, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "ScrollWindowEx", T_DWORD, 8, {T_HWND, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_HRGN, T_DWORD, T_DWORD} },
    { "SendDlgItemMessageA", T_DWORD, 5, {T_HWND, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "SendDlgItemMessageW", T_DWORD, 5, {T_HWND, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "SendMessageA", T_DWORD, 4, {T_HWND, T_DWORD, T_DWORD, T_DWORD} },
    { "SendMessageCallbackA", T_DWORD, 6, {T_HWND, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "SendMessageCallbackW", T_DWORD, 6, {T_HWND, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "SendMessageTimeoutA", T_DWORD, 7, {T_HWND, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "SendMessageTimeoutW", T_DWORD, 7, {T_HWND, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "SendMessageW", T_DWORD, 4, {T_HWND, T_DWORD, T_DWORD, T_DWORD} },
    { "SendNotifyMessageA", T_DWORD, 4, {T_HWND, T_DWORD, T_DWORD, T_DWORD} },
    { "SendNotifyMessageW", T_DWORD, 4, {T_HWND, T_DWORD, T_DWORD, T_DWORD} },
    { "SetActiveWindow", T_HWND, 1, {T_HWND} },
    { "SetCapture", T_HWND, 1, {T_HWND} },
    { "SetCaretBlinkTime", T_DWORD, 1, {T_DWORD} },
    { "SetCaretPos", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "SetClassLongA", T_DWORD, 3, {T_HWND, T_DWORD, T_DWORD} },
    { "SetClassLongW", T_DWORD, 3, {T_HWND, T_DWORD, T_DWORD} },
    { "SetClassWord", T_DWORD, 3, {T_HWND, T_DWORD, T_DWORD} },
    { "SetClipboardData", T_HANDLE, 2, {T_DWORD, T_HANDLE} },
    { "SetClipboardViewer", T_HWND, 1, {T_HWND} },
    { "SetCursor", T_HCURSOR, 1, {T_HCURSOR} },
    { "SetCursorPos", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "SetDebugErrorLevel", T_DWORD, 1, {T_DWORD} },
    { "SetDlgItemInt", T_DWORD, 4, {T_HWND, T_DWORD, T_DWORD, T_DWORD} },
    { "SetDlgItemTextA", T_DWORD, 3, {T_HWND, T_DWORD, T_LPSTR} },
    { "SetDlgItemTextW", T_DWORD, 3, {T_HWND, T_DWORD, T_LPWSTR} },
    { "SetDoubleClickTime", T_DWORD, 1, {T_DWORD} },
    { "SetFocus", T_HWND, 1, {T_HWND} },
    { "SetForegroundWindow", T_DWORD, 1, {T_HWND} },
    { "SetKeyboardState", T_DWORD, 1, {T_DWORD} },
    { "SetLastErrorEx", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "SetMenu", T_DWORD, 2, {T_HWND, T_HMENU} },
    { "SetMenuContextHelpId", T_DWORD, 2, {T_HMENU, T_DWORD} },
    { "SetMenuDefaultItem", T_DWORD, 3, {T_HMENU, T_DWORD, T_DWORD} },
    { "SetMenuItemBitmaps", T_DWORD, 5, {T_HMENU, T_DWORD, T_DWORD, T_HBITMAP, T_HBITMAP} },
    { "SetMenuItemInfoA", T_DWORD, 4, {T_HMENU, T_DWORD, T_DWORD, T_DWORD} },
    { "SetMenuItemInfoW", T_DWORD, 4, {T_HMENU, T_DWORD, T_DWORD, T_DWORD} },
    { "SetMessageExtraInfo", T_DWORD, 1, {T_DWORD} },
    { "SetMessageQueue", T_DWORD, 1, {T_DWORD} },
    { "SetParent", T_HWND, 2, {T_HWND, T_HWND} },
    { "SetProcessWindowStation", T_DWORD, 1, {T_HWINSTA} },
    { "SetPropA", T_DWORD, 3, {T_HWND, T_LPSTR, T_HANDLE} },
    { "SetPropW", T_DWORD, 3, {T_HWND, T_LPWSTR, T_HANDLE} },
    { "SetRect", T_DWORD, 5, {T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "SetRectEmpty", T_DWORD, 1, {T_DWORD} },
    { "SetScrollInfo", T_DWORD, 4, {T_HWND, T_DWORD, T_DWORD, T_DWORD} },
    { "SetScrollPos", T_DWORD, 4, {T_HWND, T_DWORD, T_DWORD, T_DWORD} },
    { "SetScrollRange", T_DWORD, 5, {T_HWND, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "SetSysColors", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "SetSystemCursor", T_DWORD, 2, {T_HCURSOR, T_DWORD} },
    { "SetThreadDesktop", T_DWORD, 1, {T_HDESK} },
    { "SetTimer", T_DWORD, 4, {T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "SetUserObjectInformationA", T_DWORD, 4, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD} },
    { "SetUserObjectInformationW", T_DWORD, 4, {T_HANDLE, T_DWORD, T_DWORD, T_DWORD} },
    { "SetUserObjectSecurity", T_DWORD, 3, {T_HANDLE, T_DWORD, T_DWORD} },
    { "SetWindowContextHelpId", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "SetWindowLongA", T_DWORD, 3, {T_HWND, T_DWORD, T_DWORD} },
    { "SetWindowLongW", T_DWORD, 3, {T_HWND, T_DWORD, T_DWORD} },
    { "SetWindowPlacement", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "SetWindowPos", T_DWORD, 7, {T_HWND, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "SetWindowRgn", T_DWORD, 3, {T_HWND, T_HRGN, T_DWORD} },
    { "SetWindowsHookA", T_HHOOK, 2, {T_DWORD, T_DWORD} },
    { "SetWindowsHookA", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "SetWindowsHookExA", T_HHOOK, 4, {T_DWORD, T_DWORD, T_HINSTANCE, T_DWORD} },
    { "SetWindowsHookExW", T_HHOOK, 4, {T_DWORD, T_DWORD, T_HINSTANCE, T_DWORD} },
    { "SetWindowsHookW", T_HHOOK, 2, {T_DWORD, T_DWORD} },
    { "SetWindowsHookW", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "SetWindowTextA", T_DWORD, 2, {T_HWND, T_LPSTR} },
    { "SetWindowTextW", T_DWORD, 2, {T_HWND, T_LPWSTR} },
    { "SetWindowWord", T_DWORD, 3, {T_HWND, T_DWORD, T_DWORD} },
    { "ShowCaret", T_DWORD, 1, {T_HWND} },
    { "ShowCursor", T_DWORD, 1, {T_DWORD} },
    { "ShowOwnedPopups", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "ShowScrollBar", T_DWORD, 3, {T_HWND, T_DWORD, T_DWORD} },
    { "ShowWindow", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "ShowWindowAsync", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "SubtractRect", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "SwapMouseButton", T_DWORD, 1, {T_DWORD} },
    { "SwitchDesktop", T_DWORD, 1, {T_HDESK} },
    { "SystemParametersInfoA", T_DWORD, 4, {T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "SystemParametersInfoW", T_DWORD, 4, {T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "TabbedTextOutA", T_DWORD, 8, {T_HDC, T_DWORD, T_DWORD, T_LPSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "TabbedTextOutW", T_DWORD, 8, {T_HDC, T_DWORD, T_DWORD, T_LPWSTR, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "TileWindows", T_DWORD, 5, {T_HWND, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "ToAscii", T_DWORD, 5, {T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD} },
    { "ToAsciiEx", T_DWORD, 6, {T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_HKL} },
    { "ToUnicode", T_DWORD, 6, {T_DWORD, T_DWORD, T_DWORD, T_LPWSTR, T_DWORD, T_DWORD} },
    { "ToUnicodeEx", T_DWORD, 7, {T_DWORD, T_DWORD, T_DWORD, T_LPWSTR, T_DWORD, T_DWORD, T_HKL} },
    { "TrackMouseEvent", T_DWORD, 1, {T_DWORD} },
    { "TrackPopupMenu", T_DWORD, 7, {T_HMENU, T_DWORD, T_DWORD, T_DWORD, T_DWORD, T_HWND, T_DWORD} },
    { "TrackPopupMenuEx", T_DWORD, 6, {T_HMENU, T_DWORD, T_DWORD, T_DWORD, T_HWND, T_DWORD} },
    { "TranslateAcceleratorA", T_DWORD, 3, {T_HWND, T_HACCEL, T_DWORD} },
    { "TranslateAcceleratorW", T_DWORD, 3, {T_HWND, T_HACCEL, T_DWORD} },
    { "TranslateMDISysAccel", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "TranslateMessage", T_DWORD, 1, {T_DWORD} },
    { "UnhookWindowsHook", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "UnhookWindowsHookEx", T_DWORD, 1, {T_HHOOK} },
    { "UnionRect", T_DWORD, 3, {T_DWORD, T_DWORD, T_DWORD} },
    { "UnloadKeyboardLayout", T_DWORD, 1, {T_HKL} },
    { "UnregisterClassA", T_DWORD, 2, {T_LPSTR, T_HINSTANCE} },
    { "UnregisterClassW", T_DWORD, 2, {T_LPWSTR, T_HINSTANCE} },
    { "UnregisterHotKey", T_DWORD, 2, {T_HWND, T_DWORD} },
    { "UpdateWindow", T_DWORD, 1, {T_HWND} },
    { "ValidateRect", T_DWORD, 2, {T_DWORD, T_DWORD} },
    { "ValidateRgn", T_DWORD, 2, {T_HWND, T_HRGN} },
    { "VkKeyScanA", T_DWORD, 1, {T_DWORD} },
    { "VkKeyScanExA", T_DWORD, 2, {T_DWORD, T_HKL} },
    { "VkKeyScanExW", T_DWORD, 2, {T_DWORD, T_HKL} },
    { "VkKeyScanW", T_DWORD, 1, {T_DWORD} },
    { "WaitForInputIdle", T_DWORD, 2, {T_HANDLE, T_DWORD} },
    { "WaitMessage", T_DWORD, 1, {T_DWORD} },
    { "WindowFromDC", T_HWND, 1, {T_HDC} },
    { "WindowFromPoint", T_HWND, 1, {T_DWORD} },
    { "WinHelpA", T_DWORD, 4, {T_HWND, T_LPSTR, T_DWORD, T_DWORD} },
    { "WinHelpW", T_DWORD, 4, {T_HWND, T_LPWSTR, T_DWORD, T_DWORD} },
    { "wsprintfA", T_DWORD, 3, {T_LPSTR, T_LPSTR, T_DWORD} },
    { "wsprintfW", T_DWORD, 3, {T_LPWSTR, T_LPWSTR, T_DWORD} },
    { "wvsprintfA", T_DWORD, 3, {T_LPSTR, T_LPSTR, T_DWORD} },
    { "wvsprintfW", T_DWORD, 3, {T_LPWSTR, T_LPWSTR, T_DWORD} },
    { NULL, 0, 0, }
};


API_MASTER_TABLE ApiTables[] =
{
    { "kernel32.dll", FALSE, API_Kernel32 },
    { "user32.dll",   FALSE, API_User32   },
    { "gdi32.dll",    FALSE, API_Gdi32    },
    { NULL,           FALSE, NULL         }
};
