use std::collections::HashMap;

pub struct Banzai<'a> {
    api_params: HashMap<&'a str, i32>,
}

impl<'a> Banzai<'a> {
    pub fn new() -> Self {
        Self {
            api_params: HashMap::new(),
        }
    }

    pub fn init(&mut self) {
        self.api_params.insert("AbortPath", 1);
        self.api_params.insert("accept", 3);
        self.api_params.insert("AcquireSRWLockExclusive", 1);
        self.api_params.insert("AcquireSRWLockShared", 1);
        self.api_params.insert("AddDllDirectory", 1);
        self.api_params.insert("AddFontMemResourceEx", 4);
        self.api_params.insert("AddFontResourceA", 1);
        self.api_params.insert("AddFontResourceExA", 3);
        self.api_params.insert("AddFontResourceExW", 3);
        self.api_params.insert("AddFontResourceW", 1);
        self.api_params.insert("AllocateFunctionEx", 4);
        self.api_params.insert("AllocateVirtualMemoryExCallback", 8);
        self.api_params.insert("AlphaBlend", 11);
        self.api_params.insert("AngleArc", 6);
        self.api_params.insert("AnimatePalette", 4);
        self.api_params.insert("AppendTailList", 2);
        self.api_params.insert("Arc", 9);
        self.api_params.insert("ArcTo", 9);
        self.api_params.insert("AreFileApisANSI", 1);
        self.api_params.insert("AssocCreate", 3);
        self.api_params.insert("AssocGetPerceivedType", 4);
        self.api_params.insert("AssocIsDangerous", 1);
        self.api_params.insert("AssocQueryKeyA", 5);
        self.api_params.insert("AssocQueryKeyW", 5);
        self.api_params.insert("AssocQueryStringA", 6);
        self.api_params.insert("AssocQueryStringByKeyA", 6);
        self.api_params.insert("AssocQueryStringByKeyW", 6);
        self.api_params.insert("AssocQueryStringW", 6);
        self.api_params.insert("BarrierAfterRead", 1);
        self.api_params.insert("BeginPaint", 2);
        self.api_params.insert("BeginPath", 1);
        self.api_params.insert("bind", 3);
        self.api_params.insert("BitBlt", 9);
        self.api_params.insert("_BitTest64", 2);
        self.api_params.insert("_BitTestAndComplement64", 2);
        self.api_params.insert("_BitTestAndReset64", 2);
        self.api_params.insert("_BitTestAndSet64", 2);
        self.api_params.insert("BoundCallback", 1);
        self.api_params.insert("CancelDC", 1);
        self.api_params.insert("CancelWaitableTimer", 1);
        self.api_params.insert("CcCanIWrite", 4);
        self.api_params.insert("CcCoherencyFlushAndPurgeCache", 5);
        self.api_params.insert("CcCopyRead", 6);
        self.api_params.insert("CcCopyReadEx", 7);
        self.api_params.insert("CcCopyWrite", 5);
        self.api_params.insert("CcCopyWriteEx", 6);
        self.api_params.insert("CcCopyWriteWontFlush", 3);
        self.api_params.insert("CcDeferWrite", 6);
        self.api_params.insert("CcFastCopyRead", 6);
        self.api_params.insert("CcFastCopyWrite", 4);
        self.api_params.insert("CcFlushCache", 4);
        self.api_params.insert("CcGetCacheFileSize", 1);
        self.api_params.insert("CcGetDirtyPages", 4);
        self.api_params.insert("CcGetFileObjectFromBcb", 1);
        self.api_params.insert("CcGetFileObjectFromSectionPtrs", 1);
        self.api_params
            .insert("CcGetFileObjectFromSectionPtrsRef", 1);
        self.api_params.insert("CcGetFlushedValidData", 2);
        self.api_params.insert("CcInitializeCacheMap", 5);
        self.api_params.insert("CcIsThereDirtyData", 1);
        self.api_params.insert("CcIsThereDirtyDataEx", 2);
        self.api_params.insert("CcMapData", 6);
        self.api_params.insert("CcMdlReadComplete", 2);
        self.api_params.insert("CcMdlWriteAbort", 2);
        self.api_params.insert("CcMdlWriteComplete", 3);
        self.api_params.insert("CcPinMappedData", 5);
        self.api_params.insert("CcPinRead", 6);
        self.api_params.insert("CcPrepareMdlWrite", 5);
        self.api_params.insert("CcPreparePinWrite", 7);
        self.api_params.insert("CcPurgeCacheSection", 4);
        self.api_params.insert("CcRemapBcb", 1);
        self.api_params.insert("CcRepinBcb", 1);
        self.api_params.insert("CcScheduleReadAhead", 3);
        self.api_params.insert("CcScheduleReadAheadEx", 4);
        self.api_params.insert("CcSetAdditionalCacheAttributes", 3);
        self.api_params
            .insert("CcSetAdditionalCacheAttributesEx", 2);
        self.api_params.insert("CcSetBcbOwnerPointer", 2);
        self.api_params.insert("CcSetCacheFileSizes", 2);
        self.api_params.insert("CcSetDirtyPageThreshold", 2);
        self.api_params.insert("CcSetDirtyPinnedData", 2);
        self.api_params.insert("CcSetFileSizes", 2);
        self.api_params.insert("CcSetLogHandleForFile", 3);
        self.api_params.insert("CcSetReadAheadGranularity", 2);
        self.api_params.insert("CcUninitializeCacheMap", 3);
        self.api_params.insert("CcUnpinData", 1);
        self.api_params.insert("CcUnpinDataForThread", 2);
        self.api_params.insert("CcUnpinRepinnedBcb", 3);
        self.api_params
            .insert("CcWaitForCurrentLazyWriterActivity", 1);
        self.api_params.insert("CcZeroData", 4);
        self.api_params.insert("ChangeDisplaySettingsA", 2);
        self.api_params.insert("ChangeDisplaySettingsExA", 5);
        self.api_params.insert("ChangeDisplaySettingsExW", 5);
        self.api_params.insert("ChangeDisplaySettingsW", 2);
        self.api_params.insert("Chord", 9);
        self.api_params.insert("ChrCmpIA", 2);
        self.api_params.insert("ChrCmpIW", 2);
        self.api_params.insert("ClfsAddLogContainer", 3);
        self.api_params.insert("ClfsAddLogContainerSet", 4);
        self.api_params.insert("ClfsAdvanceLogBase", 3);
        self.api_params.insert("ClfsAlignReservedLog", 4);
        self.api_params.insert("ClfsAllocReservedLog", 3);
        self.api_params.insert("ClfsCloseAndResetLogFile", 1);
        self.api_params.insert("ClfsCloseLogFileObject", 1);
        self.api_params.insert("ClfsCreateLogFile", 11);
        self.api_params.insert("ClfsCreateMarshallingArea", 8);
        self.api_params.insert("ClfsCreateScanContext", 5);
        self.api_params.insert("ClfsDeleteLogByPointer", 1);
        self.api_params.insert("ClfsDeleteLogFile", 5);
        self.api_params.insert("ClfsDeleteMarshallingArea", 1);
        self.api_params.insert("ClfsFlushBuffers", 1);
        self.api_params.insert("ClfsFlushToLsn", 3);
        self.api_params.insert("ClfsGetContainerName", 4);
        self.api_params.insert("ClfsGetIoStatistics", 5);
        self.api_params.insert("ClfsLsnBlockOffset", 1);
        self.api_params.insert("ClfsLsnContainer", 1);
        self.api_params.insert("ClfsLsnCreate", 3);
        self.api_params.insert("ClfsLsnEqual", 2);
        self.api_params.insert("ClfsLsnGreater", 2);
        self.api_params.insert("ClfsLsnLess", 2);
        self.api_params.insert("ClfsLsnNull", 1);
        self.api_params.insert("ClfsLsnRecordSequence", 1);
        self.api_params.insert("ClfsMgmtDeregisterManagedClient", 1);
        self.api_params.insert("ClfsMgmtHandleLogFileFull", 1);
        self.api_params.insert("ClfsMgmtInstallPolicy", 3);
        self.api_params.insert("ClfsMgmtQueryPolicy", 4);
        self.api_params.insert("ClfsMgmtRegisterManagedClient", 3);
        self.api_params.insert("ClfsMgmtRemovePolicy", 2);
        self.api_params.insert("ClfsMgmtSetLogFileSize", 5);
        self.api_params.insert("ClfsMgmtSetLogFileSizeAsClient", 6);
        self.api_params.insert("ClfsMgmtTailAdvanceFailure", 2);
        self.api_params.insert("ClfsQueryLogFileInformation", 6);
        self.api_params.insert("ClfsReadLogRecord", 9);
        self.api_params.insert("ClfsReadNextLogRecord", 8);
        self.api_params.insert("ClfsReadPreviousRestartArea", 4);
        self.api_params.insert("ClfsReadRestartArea", 5);
        self.api_params.insert("ClfsRemoveLogContainer", 3);
        self.api_params.insert("ClfsRemoveLogContainerSet", 4);
        self.api_params.insert("ClfsReserveAndAppendLog", 9);
        self.api_params.insert("ClfsReserveAndAppendLogAligned", 10);
        self.api_params.insert("ClfsScanLogContainers", 2);
        self.api_params.insert("ClfsSetArchiveTail", 2);
        self.api_params.insert("ClfsSetEndOfLog", 2);
        self.api_params.insert("ClfsSetLogFileInformation", 4);
        self.api_params.insert("ClfsTerminateReadLog", 1);
        self.api_params.insert("ClfsWriteRestartArea", 7);
        self.api_params.insert("ClientToScreen", 2);
        self.api_params.insert("CloseEnhMetaFile", 1);
        self.api_params.insert("CloseFigure", 1);
        self.api_params.insert("CloseMetaFile", 1);
        self.api_params.insert("closesocket", 1);
        self.api_params.insert("CmCallbackGetKeyObjectID", 4);
        self.api_params.insert("CmCallbackGetKeyObjectIDEx", 5);
        self.api_params.insert("CmCallbackReleaseKeyObjectIDEx", 1);
        self.api_params.insert("CmGetBoundTransaction", 2);
        self.api_params.insert("CmGetCallbackVersion", 2);
        self.api_params.insert("CmRegisterCallback", 3);
        self.api_params.insert("CmRegisterCallbackEx", 6);
        self.api_params.insert("CmSetCallbackObjectContext", 4);
        self.api_params.insert("CmUnRegisterCallback", 1);
        self.api_params.insert("ColorAdjustLuma", 3);
        self.api_params.insert("ColorHLSToRGB", 3);
        self.api_params.insert("ColorRGBToHLS", 4);
        self.api_params.insert("CombineRgn", 4);
        self.api_params.insert("CombineTransform", 3);
        self.api_params.insert("CommitUrlCacheEntryA", 9);
        self.api_params.insert("CommitUrlCacheEntryW", 9);
        self.api_params.insert("connect", 3);
        self.api_params.insert("ConnectToConnectionPoint", 6);
        self.api_params.insert("CopyEnhMetaFileA", 2);
        self.api_params.insert("CopyEnhMetaFileW", 2);
        self.api_params.insert("CopyMetaFileA", 2);
        self.api_params.insert("CopyMetaFileW", 2);
        self.api_params.insert("CopyRect", 2);
        self.api_params.insert("CreateBitmap", 5);
        self.api_params.insert("CreateBitmapIndirect", 1);
        self.api_params.insert("CreateBrushIndirect", 1);
        self.api_params.insert("CreateCompatibleBitmap", 3);
        self.api_params.insert("CreateCompatibleDC", 1);
        self.api_params.insert("CreateDCA", 4);
        self.api_params.insert("CreateDCW", 4);
        self.api_params.insert("CreateDialogIndirectParamA", 5);
        self.api_params.insert("CreateDialogIndirectParamW", 5);
        self.api_params.insert("CreateDialogParamA", 5);
        self.api_params.insert("CreateDialogParamW", 5);
        self.api_params.insert("CreateDIBitmap", 6);
        self.api_params.insert("CreateDIBPatternBrush", 2);
        self.api_params.insert("CreateDIBPatternBrushPt", 2);
        self.api_params.insert("CreateDIBSection", 6);
        self.api_params.insert("CreateDirectoryA", 2);
        self.api_params.insert("CreateDirectoryW", 2);
        self.api_params.insert("CreateDiscardableBitmap", 3);
        self.api_params.insert("CreateEllipticRgn", 4);
        self.api_params.insert("CreateEllipticRgnIndirect", 1);
        self.api_params.insert("CreateEnhMetaFileA", 4);
        self.api_params.insert("CreateEnhMetaFileW", 4);
        self.api_params.insert("CreateEventA", 4);
        self.api_params.insert("CreateEventExA", 4);
        self.api_params.insert("CreateEventExW", 4);
        self.api_params.insert("CreateEventW", 4);
        self.api_params.insert("CreateFile2", 5);
        self.api_params.insert("CreateFileA", 7);
        self.api_params.insert("CreateFileW", 7);
        self.api_params.insert("CreateFontA", 14);
        self.api_params.insert("CreateFontIndirectA", 1);
        self.api_params.insert("CreateFontIndirectExA", 1);
        self.api_params.insert("CreateFontIndirectExW", 1);
        self.api_params.insert("CreateFontIndirectW", 1);
        self.api_params.insert("CreateFontW", 14);
        self.api_params.insert("CreateHalftonePalette", 1);
        self.api_params.insert("CreateHatchBrush", 2);
        self.api_params.insert("CreateICA", 4);
        self.api_params.insert("CreateICW", 4);
        self.api_params.insert("CreateMD5SSOHash", 4);
        self.api_params.insert("CreateMetaFileA", 1);
        self.api_params.insert("CreateMetaFileW", 1);
        self.api_params.insert("CreateMutexA", 3);
        self.api_params.insert("CreateMutexExA", 4);
        self.api_params.insert("CreateMutexExW", 4);
        self.api_params.insert("CreateMutexW", 3);
        self.api_params.insert("CreatePalette", 1);
        self.api_params.insert("CreatePatternBrush", 1);
        self.api_params.insert("CreatePen", 3);
        self.api_params.insert("CreatePenIndirect", 1);
        self.api_params.insert("CreatePolygonRgn", 3);
        self.api_params.insert("CreatePolyPolygonRgn", 4);
        self.api_params.insert("CreateProcessA", 10);
        self.api_params.insert("CreateProcessAsUserA", 11);
        self.api_params.insert("CreateProcessAsUserW", 11);
        self.api_params.insert("CreateProcessW", 10);
        self.api_params.insert("CreateRectRgn", 4);
        self.api_params.insert("CreateRectRgnIndirect", 1);
        self.api_params.insert("CreateRemoteThread", 7);
        self.api_params.insert("CreateRemoteThreadEx", 8);
        self.api_params.insert("CreateRoundRectRgn", 6);
        self.api_params.insert("CreateScalableFontResourceA", 4);
        self.api_params.insert("CreateScalableFontResourceW", 4);
        self.api_params.insert("CreateSemaphoreExW", 6);
        self.api_params.insert("CreateSemaphoreW", 4);
        self.api_params.insert("CreateSolidBrush", 1);
        self.api_params.insert("CreateThread", 6);
        self.api_params.insert("CreateUrlCacheEntryA", 5);
        self.api_params.insert("CreateUrlCacheEntryW", 5);
        self.api_params.insert("CreateUrlCacheGroup", 2);
        self.api_params.insert("CreateWaitableTimerExW", 4);
        self.api_params.insert("CreateWaitableTimerW", 3);
        self.api_params.insert("D3coldRequestAuxPower", 3);
        self.api_params.insert("D3coldRequestCorePowerRail", 2);
        self.api_params.insert("D3coldRequestPerstDelay", 2);
        self.api_params.insert("DefDlgProcA", 4);
        self.api_params.insert("DefDlgProcW", 4);
        self.api_params.insert("DefineDosDeviceW", 3);
        self.api_params.insert("DeleteCriticalSection", 1);
        self.api_params.insert("DeleteDC", 1);
        self.api_params.insert("DeleteEnhMetaFile", 1);
        self.api_params.insert("DeleteFileA", 1);
        self.api_params.insert("DeleteFileW", 1);
        self.api_params.insert("DeleteMetaFile", 1);
        self.api_params.insert("DeleteObject", 1);
        self.api_params.insert("DeleteProcThreadAttributeList", 1);
        self.api_params.insert("DeleteSynchronizationBarrier", 1);
        self.api_params.insert("DeleteUrlCacheEntry", 1);
        self.api_params.insert("DeleteUrlCacheEntryA", 1);
        self.api_params.insert("DeleteUrlCacheEntryW", 1);
        self.api_params.insert("DeleteUrlCacheGroup", 3);
        self.api_params.insert("DeleteVolumeMountPointW", 1);
        self.api_params.insert("DeregisterManageableLogClient", 1);
        self.api_params.insert("DetectAutoProxyUrl", 3);
        self.api_params
            .insert("DeviceQueryBusSpecificResetHandler", 3);
        self.api_params.insert("DeviceResetHandler", 4);
        self.api_params.insert("DialogBoxIndirectParamA", 5);
        self.api_params.insert("DialogBoxIndirectParamW", 5);
        self.api_params.insert("DialogBoxParamA", 5);
        self.api_params.insert("DialogBoxParamW", 5);
        self.api_params.insert("DisableThreadLibraryCalls", 1);
        self.api_params.insert("Dlgproc", 4);
        self.api_params.insert("Dllgetversionproc", 1);
        self.api_params.insert("DllInstall", 2);
        self.api_params.insert("DmaCompletionRoutine", 4);
        self.api_params.insert("DPtoLP", 3);
        self.api_params.insert("DrawAnimatedRects", 4);
        self.api_params.insert("DrawCaption", 4);
        self.api_params.insert("DrawEdge", 4);
        self.api_params.insert("DrawEscape", 4);
        self.api_params.insert("DrawFocusRect", 2);
        self.api_params.insert("DrawFrameControl", 4);
        self.api_params.insert("DrawStateA", 10);
        self.api_params.insert("Drawstateproc", 5);
        self.api_params.insert("DrawStateW", 10);
        self.api_params.insert("DrawText", 5);
        self.api_params.insert("DrawTextA", 5);
        self.api_params.insert("DrawTextExA", 6);
        self.api_params.insert("DrawTextExW", 6);
        self.api_params.insert("DrawTextW", 5);
        self.api_params.insert("DriverAddDevice", 2);
        self.api_params.insert("DriverCancel", 2);
        self.api_params.insert("DriverControl", 4);
        self.api_params.insert("DriverDispatch", 2);
        self.api_params.insert("DriverFsNotification", 2);
        self.api_params.insert("DriverInitialize", 2);
        self.api_params.insert("DriverListControl", 4);
        self.api_params.insert("DriverStartio", 2);
        self.api_params.insert("DriverUnload", 1);
        self.api_params.insert("Ellipse", 5);
        self.api_params.insert("EndDialog", 2);
        self.api_params.insert("EndPaint", 2);
        self.api_params.insert("EndPath", 1);
        self.api_params.insert("Enhmfenumproc", 5);
        self.api_params.insert("EnterCriticalSection", 1);
        self.api_params.insert("EnterSynchronizationBarrier", 2);
        self.api_params.insert("EnumDisplayDevicesA", 4);
        self.api_params.insert("EnumDisplayDevicesW", 4);
        self.api_params.insert("EnumDisplayMonitors", 4);
        self.api_params.insert("EnumDisplaySettingsA", 3);
        self.api_params.insert("EnumDisplaySettingsExA", 4);
        self.api_params.insert("EnumDisplaySettingsExW", 4);
        self.api_params.insert("EnumDisplaySettingsW", 3);
        self.api_params.insert("EnumEnhMetaFile", 5);
        self.api_params.insert("EnumFontFamiliesA", 4);
        self.api_params.insert("EnumFontFamiliesExA", 5);
        self.api_params.insert("EnumFontFamiliesExW", 5);
        self.api_params.insert("EnumFontFamiliesW", 4);
        self.api_params.insert("EnumFontsA", 4);
        self.api_params.insert("EnumFontsW", 4);
        self.api_params.insert("EnumMetaFile", 4);
        self.api_params.insert("EnumObjects", 4);
        self.api_params.insert("EqualRect", 2);
        self.api_params.insert("EqualRgn", 2);
        self.api_params.insert("ExAcquireFastMutex", 1);
        self.api_params.insert("ExAcquireFastMutexUnsafe", 1);
        self.api_params.insert("ExAcquireResourceExclusiveLite", 2);
        self.api_params.insert("ExAcquireResourceSharedLite", 2);
        self.api_params.insert("ExAcquireRundownProtection", 1);
        self.api_params.insert("ExAcquireRundownProtectionEx", 2);
        self.api_params.insert("ExAcquireSharedStarveExclusive", 2);
        self.api_params.insert("ExAcquireSharedWaitForExclusive", 2);
        self.api_params.insert("ExAcquireSpinLockExclusive", 1);
        self.api_params
            .insert("ExAcquireSpinLockExclusiveAtDpcLevel", 1);
        self.api_params.insert("ExAcquireSpinLockShared", 1);
        self.api_params
            .insert("ExAcquireSpinLockSharedAtDpcLevel", 1);
        self.api_params.insert("ExAdjustLookasideDepth", 1);
        self.api_params.insert("ExAllocateFromLookasideListEx", 1);
        self.api_params
            .insert("ExAllocateFromNPagedLookasideList", 1);
        self.api_params
            .insert("ExAllocateFromPagedLookasideList", 1);
        self.api_params.insert("ExAllocatePool", 2);
        self.api_params.insert("ExAllocatePool2", 3);
        self.api_params.insert("ExAllocatePool3", 5);
        self.api_params
            .insert("ExAllocatePoolPriorityUninitialized", 4);
        self.api_params.insert("ExAllocatePoolPriorityZero", 4);
        self.api_params
            .insert("ExAllocatePoolQuotaUninitialized", 3);
        self.api_params.insert("ExAllocatePoolQuotaZero", 3);
        self.api_params.insert("ExAllocatePoolUninitialized", 3);
        self.api_params.insert("ExAllocatePoolWithQuota", 2);
        self.api_params.insert("ExAllocatePoolWithQuotaTag", 3);
        self.api_params.insert("ExAllocatePoolWithTag", 3);
        self.api_params.insert("ExAllocatePoolWithTagPriority", 4);
        self.api_params.insert("ExAllocatePoolZero", 3);
        self.api_params.insert("ExAllocateTimer", 3);
        self.api_params.insert("ExCallbackFunction", 3);
        self.api_params.insert("ExCancelTimer", 2);
        self.api_params.insert("ExcludeClipRect", 5);
        self.api_params.insert("ExcludeUpdateRgn", 2);
        self.api_params.insert("ExConvertExclusiveToSharedLite", 1);
        self.api_params.insert("ExCreateCallback", 4);
        self.api_params.insert("ExCreatePool", 4);
        self.api_params.insert("ExDeleteLookasideListEx", 1);
        self.api_params.insert("ExDeleteNPagedLookasideList", 1);
        self.api_params.insert("ExDeletePagedLookasideList", 1);
        self.api_params.insert("ExDeleteResourceLite", 1);
        self.api_params.insert("ExDeleteTimer", 4);
        self.api_params.insert("ExDestroyPool", 1);
        self.api_params.insert("ExDisableResourceBoostLite", 1);
        self.api_params
            .insert("ExEnterCriticalRegionAndAcquireResourceExclusive", 1);
        self.api_params.insert("ExFlushLookasideListEx", 1);
        self.api_params.insert("ExFreePool", 1);
        self.api_params.insert("ExFreePool2", 4);
        self.api_params.insert("ExFreePoolWithTag", 2);
        self.api_params.insert("ExFreeToLookasideListEx", 2);
        self.api_params.insert("ExFreeToNPagedLookasideList", 2);
        self.api_params.insert("ExFreeToPagedLookasideList", 2);
        self.api_params.insert("ExGetExclusiveWaiterCount", 1);
        self.api_params
            .insert("ExGetFirmwareEnvironmentVariable", 5);
        self.api_params.insert("ExGetFirmwareType", 1);
        self.api_params.insert("ExGetPreviousMode", 1);
        self.api_params.insert("ExGetSharedWaiterCount", 1);
        self.api_params
            .insert("ExInitializeDeleteTimerParameters", 1);
        self.api_params.insert("ExInitializeDeviceAts", 2);
        self.api_params.insert("ExInitializeDriverRuntime", 1);
        self.api_params.insert("ExInitializeFastMutex", 1);
        self.api_params.insert("ExInitializeLookasideListEx", 8);
        self.api_params.insert("ExInitializeNPagedLookasideList", 7);
        self.api_params.insert("ExInitializePagedLookasideList", 7);
        self.api_params.insert("ExInitializePushLock", 1);
        self.api_params.insert("ExInitializeResourceLite", 1);
        self.api_params.insert("ExInitializeRundownProtection", 1);
        self.api_params.insert("ExInitializeSetTimerParameters", 1);
        self.api_params.insert("ExInterlockedAddLargeInteger", 3);
        self.api_params.insert("ExInterlockedAddUlong", 3);
        self.api_params.insert("ExInterlockedInsertHeadList", 3);
        self.api_params.insert("ExInterlockedInsertTailList", 3);
        self.api_params.insert("ExInterlockedPopEntryList", 2);
        self.api_params.insert("ExInterlockedPushEntryList", 3);
        self.api_params.insert("ExInterlockedRemoveHeadList", 2);
        self.api_params.insert("ExIsProcessorFeaturePresent", 1);
        self.api_params
            .insert("ExIsResourceAcquiredExclusiveLite", 1);
        self.api_params.insert("ExIsResourceAcquiredSharedLite", 1);
        self.api_params.insert("ExIsSoftBoot", 1);
        self.api_params.insert("ExitProcess", 1);
        self.api_params.insert("ExitThread", 1);
        self.api_params.insert("ExLocalTimeToSystemTime", 2);
        self.api_params.insert("ExNotifyCallback", 3);
        self.api_params.insert("ExpInterlockedPopEntrySList", 1);
        self.api_params.insert("ExpInterlockedPushEntrySList", 2);
        self.api_params.insert("ExQueryDepthSList", 1);
        self.api_params.insert("ExQueryPoolBlockSize", 2);
        self.api_params.insert("ExQueryTimerResolution", 3);
        self.api_params.insert("ExRaiseStatus", 1);
        self.api_params.insert("ExRegisterCallback", 3);
        self.api_params.insert("ExReinitializeResourceLite", 1);
        self.api_params.insert("ExReInitializeRundownProtection", 1);
        self.api_params.insert("ExReleaseFastMutex", 1);
        self.api_params.insert("ExReleaseFastMutexUnsafe", 1);
        self.api_params
            .insert("ExReleaseResourceAndLeaveCriticalRegion", 1);
        self.api_params.insert("ExReleaseResourceForThreadLite", 2);
        self.api_params.insert("ExReleaseResourceLite", 1);
        self.api_params.insert("ExReleaseRundownProtection", 1);
        self.api_params.insert("ExReleaseRundownProtectionEx", 2);
        self.api_params.insert("ExReleaseSpinLockExclusive", 2);
        self.api_params
            .insert("ExReleaseSpinLockExclusiveFromDpcLevel", 1);
        self.api_params.insert("ExReleaseSpinLockShared", 2);
        self.api_params
            .insert("ExReleaseSpinLockSharedFromDpcLevel", 1);
        self.api_params.insert("ExRundownCompleted", 1);
        self.api_params.insert("ExSecurePoolUpdate", 7);
        self.api_params.insert("ExSecurePoolValidate", 4);
        self.api_params
            .insert("ExSetFirmwareEnvironmentVariable", 5);
        self.api_params.insert("ExSetResourceOwnerPointer", 2);
        self.api_params.insert("ExSetResourceOwnerPointerEx", 3);
        self.api_params.insert("ExSetTimer", 4);
        self.api_params.insert("ExSetTimerResolution", 2);
        self.api_params.insert("ExSystemTimeToLocalTime", 2);
        self.api_params.insert("ExtCallback", 2);
        self.api_params.insert("ExtCreatePen", 5);
        self.api_params.insert("ExtCreateRegion", 3);
        self.api_params.insert("ExtDeleteCallback", 1);
        self.api_params.insert("ExtFloodFill", 5);
        self.api_params
            .insert("ExTryConvertSharedSpinLockExclusive", 1);
        self.api_params.insert("ExTryToAcquireFastMutex", 1);
        self.api_params.insert("ExtSelectClipRgn", 3);
        self.api_params.insert("ExtTextOutA", 8);
        self.api_params.insert("ExtTextOutW", 8);
        self.api_params.insert("ExUnregisterCallback", 1);
        self.api_params
            .insert("ExWaitForRundownProtectionRelease", 1);
        self.api_params.insert("FillPath", 1);
        self.api_params.insert("FillRect", 3);
        self.api_params.insert("FillRgn", 3);
        self.api_params.insert("FindClose", 1);
        self.api_params.insert("FindCloseChangeNotification", 1);
        self.api_params.insert("FindCloseUrlCache", 1);
        self.api_params.insert("FindFirstChangeNotificationA", 3);
        self.api_params.insert("FindFirstChangeNotificationW", 3);
        self.api_params.insert("FindFirstFileA", 2);
        self.api_params.insert("FindFirstFileExA", 6);
        self.api_params.insert("FindFirstFileExW", 6);
        self.api_params.insert("FindFirstFileNameW", 4);
        self.api_params.insert("FindFirstFileW", 2);
        self.api_params.insert("FindFirstStreamW", 4);
        self.api_params.insert("FindFirstUrlCacheEntryA", 3);
        self.api_params.insert("FindFirstUrlCacheEntryExA", 9);
        self.api_params.insert("FindFirstUrlCacheEntryExW", 9);
        self.api_params.insert("FindFirstUrlCacheEntryW", 3);
        self.api_params.insert("FindFirstUrlCacheGroup", 6);
        self.api_params.insert("FindFirstVolumeW", 2);
        self.api_params.insert("FindNextChangeNotification", 1);
        self.api_params.insert("FindNextFileA", 2);
        self.api_params.insert("FindNextFileNameW", 3);
        self.api_params.insert("FindNextFileW", 2);
        self.api_params.insert("FindNextStreamW", 2);
        self.api_params.insert("FindNextUrlCacheEntryA", 3);
        self.api_params.insert("FindNextUrlCacheEntryExA", 6);
        self.api_params.insert("FindNextUrlCacheEntryExW", 6);
        self.api_params.insert("FindNextUrlCacheEntryW", 3);
        self.api_params.insert("FindNextUrlCacheGroup", 3);
        self.api_params.insert("FindNextVolumeW", 3);
        self.api_params.insert("FindVolumeClose", 1);
        self.api_params.insert("FirstEntrySList", 1);
        self.api_params.insert("FlattenPath", 1);
        self.api_params.insert("FloodFill", 4);
        self.api_params.insert("FltAcknowledgeEcp", 2);
        self.api_params.insert("FltAcquirePushLockExclusive", 1);
        self.api_params.insert("FltAcquirePushLockExclusiveEx", 2);
        self.api_params.insert("FltAcquirePushLockShared", 1);
        self.api_params.insert("FltAcquirePushLockSharedEx", 2);
        self.api_params.insert("FltAddOpenReparseEntry", 3);
        self.api_params
            .insert("FltAdjustDeviceStackSizeForIoRedirection", 3);
        self.api_params.insert("FltAllocateCallbackData", 3);
        self.api_params.insert("FltAllocateCallbackDataEx", 4);
        self.api_params.insert("FltAllocateContext", 5);
        self.api_params.insert("FltAllocateDeferredIoWorkItem", 1);
        self.api_params.insert("FltAllocateExtraCreateParameter", 7);
        self.api_params
            .insert("FltAllocateExtraCreateParameterFromLookasideList", 7);
        self.api_params
            .insert("FltAllocateExtraCreateParameterList", 3);
        self.api_params.insert("FltAllocateFileLock", 2);
        self.api_params.insert("FltAllocateGenericWorkItem", 1);
        self.api_params.insert("FltAllocatePoolAlignedWithTag", 4);
        self.api_params.insert("FltApplyPriorityInfoThread", 3);
        self.api_params.insert("FltAttachVolume", 4);
        self.api_params.insert("FltAttachVolumeAtAltitude", 5);
        self.api_params
            .insert("FltBuildDefaultSecurityDescriptor", 2);
        self.api_params.insert("FltCancelFileOpen", 2);
        self.api_params.insert("FltCancelIo", 1);
        self.api_params
            .insert("FltCancellableWaitForMultipleObjects", 6);
        self.api_params
            .insert("FltCancellableWaitForSingleObject", 3);
        self.api_params.insert("FltCbdqDisable", 1);
        self.api_params.insert("FltCbdqEnable", 1);
        self.api_params.insert("FltCbdqInitialize", 8);
        self.api_params.insert("FltCbdqInsertIo", 4);
        self.api_params.insert("FltCbdqRemoveIo", 2);
        self.api_params.insert("FltCbdqRemoveNextIo", 2);
        self.api_params.insert("FltCheckAndGrowNameControl", 2);
        self.api_params.insert("FltCheckLockForReadAccess", 2);
        self.api_params.insert("FltCheckLockForWriteAccess", 2);
        self.api_params.insert("FltCheckOplock", 5);
        self.api_params.insert("FltCheckOplockEx", 6);
        self.api_params.insert("FltClearCallbackDataDirty", 1);
        self.api_params.insert("FltClearCancelCompletion", 1);
        self.api_params.insert("FltClose", 1);
        self.api_params.insert("FltCloseClientPort", 2);
        self.api_params.insert("FltCloseCommunicationPort", 1);
        self.api_params.insert("FltCloseSectionForDataScan", 1);
        self.api_params.insert("FltCommitComplete", 3);
        self.api_params.insert("FltCommitFinalizeComplete", 3);
        self.api_params.insert("FltCompareInstanceAltitudes", 2);
        self.api_params.insert("FltCompletePendedPostOperation", 1);
        self.api_params.insert("FltCompletePendedPreOperation", 3);
        self.api_params.insert("FltCopyOpenReparseList", 3);
        self.api_params.insert("FltCreateCommunicationPort", 8);
        self.api_params.insert("FltCreateFile", 14);
        self.api_params.insert("FltCreateFileEx", 15);
        self.api_params.insert("FltCreateFileEx2", 16);
        self.api_params.insert("FltCreateMailslotFile", 12);
        self.api_params.insert("FltCreateNamedPipeFile", 18);
        self.api_params.insert("FltCreateSectionForDataScan", 12);
        self.api_params
            .insert("FltCreateSystemVolumeInformationFolder", 1);
        self.api_params.insert("FltCurrentBatchOplock", 1);
        self.api_params.insert("FltCurrentOplock", 1);
        self.api_params.insert("FltCurrentOplockH", 1);
        self.api_params.insert("FltDecodeParameters", 5);
        self.api_params.insert("FltDeleteContext", 1);
        self.api_params
            .insert("FltDeleteExtraCreateParameterLookasideList", 3);
        self.api_params.insert("FltDeleteFileContext", 3);
        self.api_params.insert("FltDeleteInstanceContext", 2);
        self.api_params.insert("FltDeletePushLock", 1);
        self.api_params.insert("FltDeleteStreamContext", 3);
        self.api_params.insert("FltDeleteStreamHandleContext", 3);
        self.api_params.insert("FltDeleteTransactionContext", 3);
        self.api_params.insert("FltDeleteVolumeContext", 3);
        self.api_params.insert("FltDetachVolume", 3);
        self.api_params.insert("FltDeviceIoControlFile", 8);
        self.api_params
            .insert("FltDoCompletionProcessingWhenSafe", 6);
        self.api_params.insert("FltEnlistInTransaction", 4);
        self.api_params.insert("FltEnumerateFilterInformation", 5);
        self.api_params.insert("FltEnumerateFilters", 3);
        self.api_params
            .insert("FltEnumerateInstanceInformationByDeviceObject", 6);
        self.api_params
            .insert("FltEnumerateInstanceInformationByFilter", 6);
        self.api_params
            .insert("FltEnumerateInstanceInformationByVolume", 6);
        self.api_params
            .insert("FltEnumerateInstanceInformationByVolumeName", 6);
        self.api_params.insert("FltEnumerateInstances", 5);
        self.api_params.insert("FltEnumerateVolumeInformation", 6);
        self.api_params.insert("FltEnumerateVolumes", 4);
        self.api_params.insert("FltFastIoMdlRead", 7);
        self.api_params.insert("FltFastIoMdlReadComplete", 3);
        self.api_params.insert("FltFastIoMdlWriteComplete", 4);
        self.api_params.insert("FltFastIoPrepareMdlWrite", 7);
        self.api_params.insert("FltFindExtraCreateParameter", 5);
        self.api_params.insert("FltFlushBuffers", 2);
        self.api_params.insert("FltFlushBuffers2", 4);
        self.api_params.insert("FltFreeCallbackData", 1);
        self.api_params.insert("FltFreeDeferredIoWorkItem", 1);
        self.api_params.insert("FltFreeExtraCreateParameter", 2);
        self.api_params.insert("FltFreeExtraCreateParameterList", 2);
        self.api_params.insert("FltFreeFileLock", 1);
        self.api_params.insert("FltFreeGenericWorkItem", 1);
        self.api_params.insert("FltFreeOpenReparseList", 2);
        self.api_params.insert("FltFreePoolAlignedWithTag", 3);
        self.api_params.insert("FltFreeSecurityDescriptor", 1);
        self.api_params.insert("FltFsControlFile", 8);
        self.api_params.insert("FltGetActivityIdCallbackData", 2);
        self.api_params.insert("FltGetBottomInstance", 2);
        self.api_params.insert("FltGetContexts", 3);
        self.api_params.insert("FltGetContextsEx", 4);
        self.api_params
            .insert("FltGetCopyInformationFromCallbackData", 2);
        self.api_params
            .insert("FltGetDestinationFileNameInformation", 7);
        self.api_params.insert("FltGetDeviceObject", 2);
        self.api_params.insert("FltGetDiskDeviceObject", 2);
        self.api_params.insert("FltGetEcpListFromCallbackData", 3);
        self.api_params.insert("FltGetFileContext", 3);
        self.api_params.insert("FltGetFileNameInformation", 3);
        self.api_params.insert("FltGetFileNameInformationUnsafe", 4);
        self.api_params.insert("FltGetFileSystemType", 2);
        self.api_params.insert("FltGetFilterFromInstance", 2);
        self.api_params.insert("FltGetFilterFromName", 2);
        self.api_params.insert("FltGetFilterInformation", 5);
        self.api_params.insert("FltGetInstanceContext", 2);
        self.api_params.insert("FltGetInstanceInformation", 5);
        self.api_params.insert("FltGetIoPriorityHint", 1);
        self.api_params
            .insert("FltGetIoPriorityHintFromCallbackData", 1);
        self.api_params
            .insert("FltGetIoPriorityHintFromFileObject", 1);
        self.api_params.insert("FltGetIoPriorityHintFromThread", 1);
        self.api_params.insert("FltGetIrpName", 1);
        self.api_params.insert("FltGetLowerInstance", 2);
        self.api_params.insert("FltGetNewSystemBufferAddress", 1);
        self.api_params.insert("FltGetNextExtraCreateParameter", 6);
        self.api_params.insert("FltGetRequestorProcess", 1);
        self.api_params.insert("FltGetRequestorProcessId", 1);
        self.api_params.insert("FltGetRequestorProcessIdEx", 1);
        self.api_params.insert("FltGetRequestorSessionId", 2);
        self.api_params.insert("FltGetRoutineAddress", 1);
        self.api_params.insert("FltGetSectionContext", 3);
        self.api_params.insert("FltGetStreamContext", 3);
        self.api_params.insert("FltGetStreamHandleContext", 3);
        self.api_params.insert("FltGetSwappedBufferMdlAddress", 1);
        self.api_params.insert("FltGetTopInstance", 2);
        self.api_params.insert("FltGetTransactionContext", 3);
        self.api_params.insert("FltGetTunneledName", 3);
        self.api_params.insert("FltGetUpperInstance", 2);
        self.api_params.insert("FltGetVolumeContext", 3);
        self.api_params.insert("FltGetVolumeFromDeviceObject", 3);
        self.api_params.insert("FltGetVolumeFromFileObject", 3);
        self.api_params.insert("FltGetVolumeFromInstance", 2);
        self.api_params.insert("FltGetVolumeFromName", 3);
        self.api_params.insert("FltGetVolumeGuidName", 3);
        self.api_params.insert("FltGetVolumeInformation", 5);
        self.api_params.insert("FltGetVolumeInstanceFromName", 4);
        self.api_params.insert("FltGetVolumeName", 3);
        self.api_params.insert("FltGetVolumeProperties", 4);
        self.api_params
            .insert("FltInitExtraCreateParameterLookasideList", 5);
        self.api_params.insert("FltInitializeFileLock", 1);
        self.api_params.insert("FltInitializeOplock", 1);
        self.api_params.insert("FltInitializePushLock", 1);
        self.api_params.insert("FltInsertExtraCreateParameter", 3);
        self.api_params.insert("FltIs32bitProcess", 1);
        self.api_params.insert("FltIsCallbackDataDirty", 1);
        self.api_params.insert("FltIsDirectory", 3);
        self.api_params.insert("FltIsEcpAcknowledged", 2);
        self.api_params.insert("FltIsEcpFromUserMode", 2);
        self.api_params.insert("FltIsFltMgrVolumeDeviceObject", 1);
        self.api_params.insert("FltIsIoCanceled", 1);
        self.api_params.insert("FltIsIoRedirectionAllowed", 3);
        self.api_params
            .insert("FltIsIoRedirectionAllowedForOperation", 4);
        self.api_params.insert("FltIsOperationSynchronous", 1);
        self.api_params.insert("FltIsVolumeSnapshot", 2);
        self.api_params.insert("FltIsVolumeWritable", 2);
        self.api_params.insert("FltLoadFilter", 1);
        self.api_params.insert("FltLockUserBuffer", 1);
        self.api_params.insert("FltNotifyFilterChangeDirectory", 11);
        self.api_params.insert("FltObjectDereference", 1);
        self.api_params.insert("FltObjectReference", 1);
        self.api_params.insert("FltOpenVolume", 3);
        self.api_params.insert("FltOplockBreakH", 6);
        self.api_params.insert("FltOplockBreakToNone", 5);
        self.api_params.insert("FltOplockBreakToNoneEx", 6);
        self.api_params.insert("FltOplockFsctrl", 3);
        self.api_params.insert("FltOplockFsctrlEx", 4);
        self.api_params.insert("FltOplockIsFastIoPossible", 1);
        self.api_params.insert("FltOplockIsSharedRequest", 1);
        self.api_params.insert("FltOplockKeysEqual", 2);
        self.api_params.insert("FltParseFileName", 4);
        self.api_params.insert("FltParseFileNameInformation", 1);
        self.api_params.insert("FltPerformAsynchronousIo", 3);
        self.api_params.insert("FltPerformSynchronousIo", 1);
        self.api_params.insert("FltPrepareComplete", 3);
        self.api_params.insert("FltPrepareToReuseEcp", 2);
        self.api_params.insert("FltPrePrepareComplete", 3);
        self.api_params.insert("FltProcessFileLock", 3);
        self.api_params.insert("FltPropagateActivityIdToThread", 3);
        self.api_params.insert("FltPropagateIrpExtension", 3);
        self.api_params
            .insert("FltPurgeFileNameInformationCache", 2);
        self.api_params.insert("FltQueryDirectoryFile", 9);
        self.api_params.insert("FltQueryDirectoryFileEx", 8);
        self.api_params.insert("FltQueryEaFile", 10);
        self.api_params.insert("FltQueryInformationByName", 8);
        self.api_params.insert("FltQueryInformationFile", 6);
        self.api_params.insert("FltQueryQuotaInformationFile", 11);
        self.api_params.insert("FltQuerySecurityObject", 6);
        self.api_params.insert("FltQueryVolumeInformation", 5);
        self.api_params.insert("FltQueryVolumeInformationFile", 6);
        self.api_params.insert("FltQueueDeferredIoWorkItem", 5);
        self.api_params.insert("FltQueueGenericWorkItem", 5);
        self.api_params.insert("FltReadFile", 9);
        self.api_params.insert("FltReadFileEx", 11);
        self.api_params.insert("FltReferenceContext", 1);
        self.api_params.insert("FltReferenceFileNameInformation", 1);
        self.api_params.insert("FltRegisterFilter", 3);
        self.api_params.insert("FltRegisterForDataScan", 1);
        self.api_params.insert("FltReissueSynchronousIo", 2);
        self.api_params.insert("FltReleaseContext", 1);
        self.api_params.insert("FltReleaseContexts", 1);
        self.api_params.insert("FltReleaseContextsEx", 2);
        self.api_params.insert("FltReleaseFileNameInformation", 1);
        self.api_params.insert("FltReleasePushLock", 1);
        self.api_params.insert("FltReleasePushLockEx", 2);
        self.api_params.insert("FltRemoveExtraCreateParameter", 5);
        self.api_params.insert("FltRemoveOpenReparseEntry", 3);
        self.api_params
            .insert("FltRequestFileInfoOnCreateCompletion", 3);
        self.api_params
            .insert("FltRequestOperationStatusCallback", 3);
        self.api_params
            .insert("FltRetainSwappedBufferMdlAddress", 1);
        self.api_params
            .insert("FltRetrieveFileInfoOnCreateCompletion", 4);
        self.api_params
            .insert("FltRetrieveFileInfoOnCreateCompletionEx", 5);
        self.api_params.insert("FltRetrieveIoPriorityInfo", 4);
        self.api_params.insert("FltReuseCallbackData", 1);
        self.api_params.insert("FltRollbackComplete", 3);
        self.api_params.insert("FltRollbackEnlistment", 3);
        self.api_params.insert("FltSendMessage", 7);
        self.api_params.insert("FltSetActivityIdCallbackData", 2);
        self.api_params.insert("FltSetCallbackDataDirty", 1);
        self.api_params.insert("FltSetCancelCompletion", 2);
        self.api_params.insert("FltSetEaFile", 4);
        self.api_params.insert("FltSetEcpListIntoCallbackData", 3);
        self.api_params.insert("FltSetFileContext", 5);
        self.api_params.insert("FltSetInformationFile", 5);
        self.api_params.insert("FltSetInstanceContext", 4);
        self.api_params
            .insert("FltSetIoPriorityHintIntoCallbackData", 2);
        self.api_params
            .insert("FltSetIoPriorityHintIntoFileObject", 2);
        self.api_params.insert("FltSetIoPriorityHintIntoThread", 2);
        self.api_params.insert("FltSetQuotaInformationFile", 4);
        self.api_params.insert("FltSetSecurityObject", 4);
        self.api_params.insert("FltSetStreamContext", 5);
        self.api_params.insert("FltSetStreamHandleContext", 5);
        self.api_params.insert("FltSetTransactionContext", 5);
        self.api_params.insert("FltSetVolumeContext", 4);
        self.api_params.insert("FltSetVolumeInformation", 5);
        self.api_params.insert("FltStartFiltering", 1);
        self.api_params.insert("FltSupportsFileContexts", 1);
        self.api_params.insert("FltSupportsFileContextsEx", 2);
        self.api_params.insert("FltSupportsStreamContexts", 1);
        self.api_params.insert("FltSupportsStreamHandleContexts", 1);
        self.api_params.insert("FltTagFile", 6);
        self.api_params.insert("FltTagFileEx", 9);
        self.api_params.insert("FltUninitializeFileLock", 1);
        self.api_params.insert("FltUninitializeOplock", 1);
        self.api_params.insert("FltUnloadFilter", 1);
        self.api_params.insert("FltUnregisterFilter", 1);
        self.api_params.insert("FltUntagFile", 4);
        self.api_params.insert("FltVetoBypassIo", 4);
        self.api_params.insert("FltWriteFile", 9);
        self.api_params.insert("FltWriteFileEx", 11);
        self.api_params.insert("FlushProcessWriteBuffers", 1);
        self.api_params.insert("FpgaBusScan", 1);
        self.api_params.insert("FpgaControlConfigSpace", 2);
        self.api_params.insert("FpgaControlErrorReporting", 4);
        self.api_params.insert("FpgaControlLink", 2);
        self.api_params.insert("FrameRect", 3);
        self.api_params.insert("FrameRgn", 5);
        self.api_params.insert("FreeFunctionEx", 2);
        self.api_params.insert("FreeLibrary", 1);
        self.api_params.insert("FreeLibraryAndExitThread", 2);
        self.api_params.insert("FreeVirtualMemoryExCallback", 5);
        self.api_params.insert("FsRtlAcknowledgeEcp", 1);
        self.api_params.insert("FsRtlAcquireFileExclusive", 1);
        self.api_params.insert("FsRtlAddBaseMcbEntryEx", 4);
        self.api_params.insert("FsRtlAddLargeMcbEntry", 4);
        self.api_params.insert("FsRtlAddMcbEntry", 4);
        self.api_params.insert("FsRtlAddToTunnelCache", 7);
        self.api_params.insert("FsRtlAllocateAePushLock", 2);
        self.api_params
            .insert("FsRtlAllocateExtraCreateParameter", 6);
        self.api_params
            .insert("FsRtlAllocateExtraCreateParameterFromLookasideList", 6);
        self.api_params
            .insert("FsRtlAllocateExtraCreateParameterList", 2);
        self.api_params.insert("FsRtlAllocateFileLock", 2);
        self.api_params.insert("FsRtlAllocateResource", 1);
        self.api_params.insert("FsRtlAreNamesEqual", 4);
        self.api_params
            .insert("FsRtlAreThereCurrentOrInProgressFileLocks", 1);
        self.api_params.insert("FsRtlAreThereWaitingFileLocks", 1);
        self.api_params
            .insert("FsRtlAreVolumeStartupApplicationsComplete", 1);
        self.api_params.insert("FsRtlBalanceReads", 1);
        self.api_params
            .insert("FsRtlCancellableWaitForMultipleObjects", 6);
        self.api_params
            .insert("FsRtlCancellableWaitForSingleObject", 3);
        self.api_params.insert("FsRtlChangeBackingFileObject", 4);
        self.api_params.insert("FsRtlCheckLockForOplockRequest", 2);
        self.api_params.insert("FsRtlCheckLockForReadAccess", 2);
        self.api_params.insert("FsRtlCheckLockForWriteAccess", 2);
        self.api_params.insert("FsRtlCheckOplock", 5);
        self.api_params.insert("FsRtlCheckOplockEx2", 10);
        self.api_params.insert("FsRtlCheckOplockEx", 6);
        self.api_params.insert("FsRtlCheckUpperOplock", 6);
        self.api_params.insert("FsRtlCopyRead", 8);
        self.api_params.insert("FsRtlCopyWrite", 8);
        self.api_params.insert("FsRtlCreateSectionForDataScan", 10);
        self.api_params.insert("FsRtlCurrentBatchOplock", 1);
        self.api_params.insert("FsRtlCurrentOplock", 1);
        self.api_params.insert("FsRtlCurrentOplockH", 1);
        self.api_params
            .insert("FsRtlDeleteExtraCreateParameterLookasideList", 2);
        self.api_params.insert("FsRtlDeleteKeyFromTunnelCache", 2);
        self.api_params.insert("FsRtlDeleteTunnelCache", 1);
        self.api_params.insert("FsRtlDeregisterUncProvider", 1);
        self.api_params.insert("FsRtlDissectDbcs", 3);
        self.api_params.insert("FsRtlDissectName", 3);
        self.api_params.insert("FsRtlDoesDbcsContainWildCards", 1);
        self.api_params.insert("FsRtlDoesNameContainWildCards", 1);
        self.api_params.insert("FsRtlFastCheckLockForRead", 6);
        self.api_params.insert("FsRtlFastCheckLockForWrite", 6);
        self.api_params.insert("FsRtlFastUnlockAll", 4);
        self.api_params.insert("FsRtlFastUnlockAllByKey", 5);
        self.api_params.insert("FsRtlFastUnlockSingle", 8);
        self.api_params.insert("FsRtlFindExtraCreateParameter", 4);
        self.api_params.insert("FsRtlFindInTunnelCache", 7);
        self.api_params.insert("FsRtlFreeAePushLock", 1);
        self.api_params.insert("FsRtlFreeExtraCreateParameter", 1);
        self.api_params
            .insert("FsRtlFreeExtraCreateParameterList", 1);
        self.api_params.insert("FsRtlFreeFileLock", 1);
        self.api_params.insert("FsRtlGetEcpListFromIrp", 2);
        self.api_params.insert("FsRtlGetFileSize", 2);
        self.api_params
            .insert("FsRtlGetNextExtraCreateParameter", 5);
        self.api_params.insert("FsRtlGetNextFileLock", 2);
        self.api_params.insert("FsRtlGetNextLargeMcbEntry", 5);
        self.api_params.insert("FsRtlGetNextMcbEntry", 5);
        self.api_params.insert("FsRtlGetSectorSizeInformation", 2);
        self.api_params.insert("FsRtlGetSupportedFeatures", 2);
        self.api_params.insert("FsRtlIncrementCcFastMdlReadWait", 1);
        self.api_params
            .insert("FsRtlIncrementCcFastReadNotPossible", 1);
        self.api_params.insert("FsRtlIncrementCcFastReadNoWait", 1);
        self.api_params
            .insert("FsRtlIncrementCcFastReadResourceMiss", 1);
        self.api_params.insert("FsRtlIncrementCcFastReadWait", 1);
        self.api_params
            .insert("FsRtlInitExtraCreateParameterLookasideList", 4);
        self.api_params.insert("FsRtlInitializeBaseMcb", 2);
        self.api_params.insert("FsRtlInitializeBaseMcbEx", 3);
        self.api_params
            .insert("FsRtlInitializeExtraCreateParameter", 6);
        self.api_params
            .insert("FsRtlInitializeExtraCreateParameterList", 1);
        self.api_params.insert("FsRtlInitializeFileLock", 3);
        self.api_params.insert("FsRtlInitializeLargeMcb", 2);
        self.api_params.insert("FsRtlInitializeMcb", 2);
        self.api_params.insert("FsRtlInitializeOplock", 1);
        self.api_params.insert("FsRtlInitializeTunnelCache", 1);
        self.api_params.insert("FsRtlInsertExtraCreateParameter", 2);
        self.api_params.insert("FsRtlInsertPerFileContext", 2);
        self.api_params.insert("FsRtlInsertPerFileObjectContext", 2);
        self.api_params.insert("FsRtlInsertPerStreamContext", 2);
        self.api_params.insert("FsRtlIsDaxVolume", 1);
        self.api_params.insert("FsRtlIsDbcsInExpression", 2);
        self.api_params.insert("FsRtlIsEcpAcknowledged", 1);
        self.api_params.insert("FsRtlIsEcpFromUserMode", 1);
        self.api_params.insert("FsRtlIsFatDbcsLegal", 4);
        self.api_params.insert("FsRtlIsHpfsDbcsLegal", 4);
        self.api_params.insert("FsRtlIsNameInExpression", 4);
        self.api_params
            .insert("FsRtlIsNameInUnUpcasedExpression", 4);
        self.api_params.insert("FsRtlIsNtstatusExpected", 1);
        self.api_params.insert("FsRtlIsPagingFile", 1);
        self.api_params.insert("FsRtlIssueDeviceIoControl", 8);
        self.api_params.insert("FsRtlIsSystemPagingFile", 1);
        self.api_params.insert("FsRtlIsTotalDeviceFailure", 1);
        self.api_params.insert("FsRtlKernelFsControlFile", 7);
        self.api_params.insert("FsRtlLogCcFlushError", 5);
        self.api_params.insert("FsRtlLookupBaseMcbEntry", 7);
        self.api_params.insert("FsRtlLookupLargeMcbEntry", 7);
        self.api_params.insert("FsRtlLookupLastLargeMcbEntry", 3);
        self.api_params
            .insert("FsRtlLookupLastLargeMcbEntryAndIndex", 4);
        self.api_params.insert("FsRtlLookupLastMcbEntry", 3);
        self.api_params.insert("FsRtlLookupMcbEntry", 5);
        self.api_params.insert("FsRtlLookupPerFileContext", 3);
        self.api_params.insert("FsRtlLookupPerFileObjectContext", 3);
        self.api_params
            .insert("FsRtlLookupPerStreamContextInternal", 3);
        self.api_params.insert("FsRtlMdlReadCompleteDev", 3);
        self.api_params.insert("FsRtlMdlReadDev", 7);
        self.api_params.insert("FsRtlMdlReadEx", 6);
        self.api_params.insert("FsRtlMdlWriteCompleteDev", 4);
        self.api_params.insert("FsRtlMupGetProviderIdFromName", 2);
        self.api_params
            .insert("FsRtlMupGetProviderInfoFromFileObject", 4);
        self.api_params.insert("FsRtlNormalizeNtstatus", 2);
        self.api_params.insert("FsRtlNotifyCleanup", 3);
        self.api_params.insert("FsRtlNotifyCleanupAll", 2);
        self.api_params
            .insert("FsRtlNotifyFilterChangeDirectory", 11);
        self.api_params.insert("FsRtlNotifyFilterReportChange", 10);
        self.api_params.insert("FsRtlNotifyFullChangeDirectory", 10);
        self.api_params.insert("FsRtlNotifyFullReportChange", 9);
        self.api_params.insert("FsRtlNotifyInitializeSync", 1);
        self.api_params.insert("FsRtlNotifyUninitializeSync", 1);
        self.api_params.insert("FsRtlNotifyVolumeEvent", 2);
        self.api_params.insert("FsRtlNotifyVolumeEventEx", 3);
        self.api_params.insert("FsRtlNumberOfRunsInLargeMcb", 1);
        self.api_params.insert("FsRtlNumberOfRunsInMcb", 1);
        self.api_params.insert("FsRtlOplockBreakH", 6);
        self.api_params.insert("FsRtlOplockBreakToNone", 6);
        self.api_params.insert("FsRtlOplockBreakToNoneEx", 6);
        self.api_params.insert("FsRtlOplockFsctrl", 3);
        self.api_params.insert("FsRtlOplockFsctrlEx", 4);
        self.api_params.insert("FsRtlOplockIsFastIoPossible", 1);
        self.api_params.insert("FsRtlOplockIsSharedRequest", 1);
        self.api_params.insert("FsRtlOplockKeysEqual", 2);
        self.api_params
            .insert("FsRtlPostPagingFileStackOverflow", 3);
        self.api_params.insert("FsRtlPostStackOverflow", 3);
        self.api_params.insert("FsRtlPrepareMdlWriteDev", 7);
        self.api_params.insert("FsRtlPrepareMdlWriteEx", 6);
        self.api_params.insert("FsRtlPrepareToReuseEcp", 1);
        self.api_params.insert("FsRtlPrivateLock", 12);
        self.api_params.insert("FsRtlProcessFileLock", 3);
        self.api_params.insert("FsRtlQueryCachedVdl", 2);
        self.api_params.insert("FsRtlQueryKernelEaFile", 9);
        self.api_params
            .insert("FsRtlRegisterFileSystemFilterCallbacks", 2);
        self.api_params.insert("FsRtlRegisterUncProvider", 3);
        self.api_params.insert("FsRtlRegisterUncProviderEx", 4);
        self.api_params.insert("FsRtlReleaseFile", 1);
        self.api_params.insert("FsRtlRemoveBaseMcbEntry", 3);
        self.api_params.insert("FsRtlRemoveDotsFromPath", 3);
        self.api_params.insert("FsRtlRemoveExtraCreateParameter", 4);
        self.api_params.insert("FsRtlRemoveLargeMcbEntry", 3);
        self.api_params.insert("FsRtlRemoveMcbEntry", 3);
        self.api_params.insert("FsRtlRemovePerFileContext", 3);
        self.api_params.insert("FsRtlRemovePerFileObjectContext", 3);
        self.api_params.insert("FsRtlRemovePerStreamContext", 3);
        self.api_params.insert("FsRtlResetLargeMcb", 2);
        self.api_params.insert("FsRtlSetEcpListIntoIrp", 2);
        self.api_params.insert("FsRtlSetKernelEaFile", 3);
        self.api_params.insert("FsRtlSetupAdvancedHeader", 2);
        self.api_params.insert("FsRtlSplitLargeMcb", 3);
        self.api_params.insert("FsRtlTeardownPerFileContexts", 1);
        self.api_params.insert("FsRtlTeardownPerStreamContexts", 1);
        self.api_params.insert("FsRtlTruncateLargeMcb", 2);
        self.api_params.insert("FsRtlTruncateMcb", 2);
        self.api_params.insert("FsRtlUninitializeBaseMcb", 1);
        self.api_params.insert("FsRtlUninitializeFileLock", 1);
        self.api_params.insert("FsRtlUninitializeLargeMcb", 1);
        self.api_params.insert("FsRtlUninitializeMcb", 1);
        self.api_params.insert("FsRtlUninitializeOplock", 1);
        self.api_params.insert("FsRtlUpperOplockFsctrl", 5);
        self.api_params.insert("FsRtlValidateReparsePointBuffer", 2);
        self.api_params.insert("FtpCommandA", 6);
        self.api_params.insert("FtpCommandW", 6);
        self.api_params.insert("FtpCreateDirectoryA", 2);
        self.api_params.insert("FtpCreateDirectoryW", 2);
        self.api_params.insert("FtpDeleteFileA", 2);
        self.api_params.insert("FtpDeleteFileW", 2);
        self.api_params.insert("FtpFindFirstFileA", 5);
        self.api_params.insert("FtpFindFirstFileW", 5);
        self.api_params.insert("FtpGetCurrentDirectoryA", 3);
        self.api_params.insert("FtpGetCurrentDirectoryW", 3);
        self.api_params.insert("FtpGetFileA", 7);
        self.api_params.insert("FtpGetFileSize", 2);
        self.api_params.insert("FtpGetFileW", 7);
        self.api_params.insert("FtpOpenFileA", 5);
        self.api_params.insert("FtpOpenFileW", 5);
        self.api_params.insert("FtpPutFileA", 5);
        self.api_params.insert("FtpPutFileW", 5);
        self.api_params.insert("FtpRemoveDirectoryA", 2);
        self.api_params.insert("FtpRemoveDirectoryW", 2);
        self.api_params.insert("FtpRenameFileA", 3);
        self.api_params.insert("FtpRenameFileW", 3);
        self.api_params.insert("FtpSetCurrentDirectoryA", 2);
        self.api_params.insert("FtpSetCurrentDirectoryW", 2);
        self.api_params.insert("GdiAlphaBlend", 11);
        self.api_params.insert("GdiComment", 3);
        self.api_params.insert("GdiFlush", 1);
        self.api_params.insert("GdiGetBatchLimit", 1);
        self.api_params.insert("GdiGradientFill", 6);
        self.api_params.insert("GdiSetBatchLimit", 1);
        self.api_params.insert("GdiTransparentBlt", 11);
        self.api_params.insert("GetAcceptLanguagesA", 2);
        self.api_params.insert("GetAcceptLanguagesW", 2);
        self.api_params.insert("GetArcDirection", 1);
        self.api_params.insert("GetAspectRatioFilterEx", 2);
        self.api_params.insert("GetBitmapBits", 3);
        self.api_params.insert("GetBitmapDimensionEx", 2);
        self.api_params.insert("GetBkColor", 1);
        self.api_params.insert("GetBkMode", 1);
        self.api_params.insert("GetBoundsRect", 3);
        self.api_params.insert("GetBrushOrgEx", 2);
        self.api_params.insert("GetCharABCWidthsA", 4);
        self.api_params.insert("GetCharABCWidthsFloatA", 4);
        self.api_params.insert("GetCharABCWidthsFloatW", 4);
        self.api_params.insert("GetCharABCWidthsI", 5);
        self.api_params.insert("GetCharABCWidthsW", 4);
        self.api_params.insert("GetCharacterPlacementA", 6);
        self.api_params.insert("GetCharacterPlacementW", 6);
        self.api_params.insert("GetCharWidth32A", 4);
        self.api_params.insert("GetCharWidth32W", 4);
        self.api_params.insert("GetCharWidthA", 4);
        self.api_params.insert("GetCharWidthFloatA", 4);
        self.api_params.insert("GetCharWidthFloatW", 4);
        self.api_params.insert("GetCharWidthI", 5);
        self.api_params.insert("GetCharWidthW", 4);
        self.api_params.insert("GetClipBox", 2);
        self.api_params.insert("GetClipRgn", 2);
        self.api_params.insert("GetColorAdjustment", 2);
        self.api_params.insert("GetCompressedFileSizeA", 2);
        self.api_params.insert("GetCompressedFileSizeW", 2);
        self.api_params.insert("GetCurrentObject", 2);
        self.api_params.insert("GetCurrentPositionEx", 2);
        self.api_params.insert("GetCurrentProcess", 1);
        self.api_params.insert("GetCurrentProcessId", 1);
        self.api_params.insert("GetCurrentProcessorNumber", 1);
        self.api_params.insert("GetCurrentProcessorNumberEx", 1);
        self.api_params.insert("GetCurrentThread", 1);
        self.api_params.insert("GetCurrentThreadId", 1);
        self.api_params.insert("GetCurrentThreadStackLimits", 2);
        self.api_params.insert("GetD3coldCapability", 2);
        self.api_params.insert("GetD3coldLastTransitionStatus", 2);
        self.api_params.insert("GetDC", 1);
        self.api_params.insert("GetDCBrushColor", 1);
        self.api_params.insert("GetDCEx", 3);
        self.api_params.insert("GetDCOrgEx", 2);
        self.api_params.insert("GetDCPenColor", 1);
        self.api_params.insert("GetDeviceCaps", 2);
        self.api_params.insert("GetDeviceResetStatus", 4);
        self.api_params.insert("GetDialogBaseUnits", 1);
        self.api_params.insert("GetDIBColorTable", 4);
        self.api_params.insert("GetDIBits", 7);
        self.api_params.insert("GetDiskFreeSpaceA", 5);
        self.api_params.insert("GetDiskFreeSpaceExA", 4);
        self.api_params.insert("GetDiskFreeSpaceExW", 4);
        self.api_params.insert("GetDiskFreeSpaceW", 5);
        self.api_params.insert("GetDlgCtrlID", 1);
        self.api_params.insert("GetDlgItem", 2);
        self.api_params.insert("GetDlgItemInt", 4);
        self.api_params.insert("GetDlgItemTextA", 4);
        self.api_params.insert("GetDlgItemTextW", 4);
        self.api_params.insert("GetDmaAdapter", 3);
        self.api_params.insert("GetDriveTypeA", 1);
        self.api_params.insert("GetDriveTypeW", 1);
        self.api_params.insert("GetEnhMetaFileA", 1);
        self.api_params.insert("GetEnhMetaFileBits", 3);
        self.api_params.insert("GetEnhMetaFileDescriptionA", 3);
        self.api_params.insert("GetEnhMetaFileDescriptionW", 3);
        self.api_params.insert("GetEnhMetaFileHeader", 3);
        self.api_params.insert("GetEnhMetaFilePaletteEntries", 3);
        self.api_params.insert("GetEnhMetaFileW", 1);
        self.api_params.insert("GetExitCodeProcess", 2);
        self.api_params.insert("GetExitCodeThread", 2);
        self.api_params.insert("GetFileAttributesA", 1);
        self.api_params.insert("GetFileAttributesExA", 3);
        self.api_params.insert("GetFileAttributesExW", 3);
        self.api_params.insert("GetFileAttributesW", 1);
        self.api_params.insert("GetFileInformationByHandle", 2);
        self.api_params.insert("GetFileSize", 2);
        self.api_params.insert("GetFileSizeEx", 2);
        self.api_params.insert("GetFileType", 1);
        self.api_params.insert("GetFinalPathNameByHandleA", 4);
        self.api_params.insert("GetFinalPathNameByHandleW", 4);
        self.api_params.insert("GetFontData", 5);
        self.api_params.insert("GetFontLanguageInfo", 1);
        self.api_params.insert("GetFontUnicodeRanges", 2);
        self.api_params.insert("GetFullPathNameA", 4);
        self.api_params.insert("GetFullPathNameW", 4);
        self.api_params.insert("GetGlyphIndicesA", 5);
        self.api_params.insert("GetGlyphIndicesW", 5);
        self.api_params.insert("GetGlyphOutlineA", 7);
        self.api_params.insert("GetGlyphOutlineW", 7);
        self.api_params.insert("GetGraphicsMode", 1);
        self.api_params.insert("gethostbyaddr", 3);
        self.api_params.insert("gethostbyname", 1);
        self.api_params.insert("gethostname", 2);
        self.api_params.insert("GetHostNameW", 2);
        self.api_params.insert("GetIdleWakeInfo", 3);
        self.api_params.insert("GetKerningPairsA", 3);
        self.api_params.insert("GetKerningPairsW", 3);
        self.api_params.insert("GetLayout", 1);
        self.api_params.insert("GetLogicalDrives", 1);
        self.api_params.insert("GetLogicalDriveStringsW", 2);
        self.api_params.insert("GetLongPathNameA", 3);
        self.api_params.insert("GetLongPathNameW", 3);
        self.api_params.insert("GetMapMode", 1);
        self.api_params.insert("GetMenuPosFromID", 2);
        self.api_params.insert("GetMetaFileA", 1);
        self.api_params.insert("GetMetaFileBitsEx", 3);
        self.api_params.insert("GetMetaFileW", 1);
        self.api_params.insert("GetMetaRgn", 2);
        self.api_params.insert("GetMiterLimit", 2);
        self.api_params.insert("GetModuleFileNameA", 3);
        self.api_params.insert("GetModuleFileNameW", 3);
        self.api_params.insert("GetModuleHandleA", 1);
        self.api_params.insert("GetModuleHandleExA", 3);
        self.api_params.insert("GetModuleHandleExW", 3);
        self.api_params.insert("GetModuleHandleW", 1);
        self.api_params.insert("GetMonitorInfoA", 2);
        self.api_params.insert("GetMonitorInfoW", 2);
        self.api_params.insert("GetNearestColor", 2);
        self.api_params.insert("GetNearestPaletteIndex", 2);
        self.api_params.insert("GetNextDlgGroupItem", 3);
        self.api_params.insert("GetNextDlgTabItem", 3);
        self.api_params.insert("GetObject", 3);
        self.api_params.insert("GetObjectA", 3);
        self.api_params.insert("GetObjectType", 1);
        self.api_params.insert("GetObjectW", 3);
        self.api_params.insert("GetOutlineTextMetricsA", 3);
        self.api_params.insert("GetOutlineTextMetricsW", 3);
        self.api_params.insert("GetPaletteEntries", 4);
        self.api_params.insert("GetPath", 4);
        self.api_params.insert("getpeername", 3);
        self.api_params.insert("GetPixel", 3);
        self.api_params.insert("GetPolyFillMode", 1);
        self.api_params.insert("GetPriorityClass", 1);
        self.api_params.insert("GetProcAddress", 2);
        self.api_params.insert("GetProcessHandleCount", 2);
        self.api_params.insert("GetProcessId", 1);
        self.api_params.insert("GetProcessIdOfThread", 1);
        self.api_params.insert("GetProcessInformation", 4);
        self.api_params.insert("GetProcessMitigationPolicy", 4);
        self.api_params.insert("GetProcessPriorityBoost", 2);
        self.api_params.insert("GetProcessReference", 1);
        self.api_params.insert("GetProcessShutdownParameters", 2);
        self.api_params.insert("GetProcessTimes", 5);
        self.api_params.insert("GetProcessVersion", 1);
        self.api_params.insert("getprotobyname", 1);
        self.api_params.insert("getprotobynumber", 1);
        self.api_params.insert("GetRandomRgn", 3);
        self.api_params.insert("GetRasterizerCaps", 2);
        self.api_params.insert("GetRegionData", 3);
        self.api_params.insert("GetRgnBox", 2);
        self.api_params.insert("GetROP2", 1);
        self.api_params.insert("GetSdevIdentifier", 1);
        self.api_params.insert("GetSecurityUserInfo", 3);
        self.api_params.insert("getservbyname", 2);
        self.api_params.insert("getservbyport", 2);
        self.api_params.insert("GetSetDeviceData", 5);
        self.api_params.insert("GetShortPathNameW", 3);
        self.api_params.insert("getsockname", 3);
        self.api_params.insert("getsockopt", 5);
        self.api_params.insert("GetStartupInfoW", 1);
        self.api_params.insert("GetStockObject", 1);
        self.api_params.insert("GetStretchBltMode", 1);
        self.api_params.insert("GetSysColorBrush", 1);
        self.api_params.insert("GetSystemPaletteEntries", 4);
        self.api_params.insert("GetSystemPaletteUse", 1);
        self.api_params.insert("GetTabbedTextExtentA", 5);
        self.api_params.insert("GetTabbedTextExtentW", 5);
        self.api_params.insert("GetTempFileNameA", 4);
        self.api_params.insert("GetTempFileNameW", 4);
        self.api_params.insert("GetTempPath2A", 2);
        self.api_params.insert("GetTempPath2W", 2);
        self.api_params.insert("GetTempPathA", 2);
        self.api_params.insert("GetTempPathW", 2);
        self.api_params.insert("GetTextAlign", 1);
        self.api_params.insert("GetTextCharacterExtra", 1);
        self.api_params.insert("GetTextColor", 1);
        self.api_params.insert("GetTextExtentExPointA", 7);
        self.api_params.insert("GetTextExtentExPointI", 7);
        self.api_params.insert("GetTextExtentExPointW", 7);
        self.api_params.insert("GetTextExtentPoint32A", 4);
        self.api_params.insert("GetTextExtentPoint32W", 4);
        self.api_params.insert("GetTextExtentPointA", 4);
        self.api_params.insert("GetTextExtentPointI", 4);
        self.api_params.insert("GetTextExtentPointW", 4);
        self.api_params.insert("GetTextFaceA", 3);
        self.api_params.insert("GetTextFaceW", 3);
        self.api_params.insert("GetTextMetrics", 2);
        self.api_params.insert("GetTextMetricsA", 2);
        self.api_params.insert("GetTextMetricsW", 2);
        self.api_params.insert("GetThreadDescription", 2);
        self.api_params.insert("GetThreadId", 1);
        self.api_params.insert("GetThreadIdealProcessorEx", 2);
        self.api_params.insert("GetThreadInformation", 4);
        self.api_params.insert("GetThreadIOPendingFlag", 2);
        self.api_params.insert("GetThreadPriority", 1);
        self.api_params.insert("GetThreadPriorityBoost", 2);
        self.api_params.insert("GetThreadTimes", 5);
        self.api_params.insert("GetUpdatedBusResource", 3);
        self.api_params.insert("GetUpdateRect", 3);
        self.api_params.insert("GetUpdateRgn", 3);
        self.api_params.insert("GetUrlCacheEntryInfoA", 3);
        self.api_params.insert("GetUrlCacheEntryInfoExA", 7);
        self.api_params.insert("GetUrlCacheEntryInfoExW", 7);
        self.api_params.insert("GetUrlCacheEntryInfoW", 3);
        self.api_params.insert("GetUrlCacheGroupAttributeA", 6);
        self.api_params.insert("GetUrlCacheGroupAttributeW", 6);
        self.api_params.insert("GetViewportExtEx", 2);
        self.api_params.insert("GetViewportOrgEx", 2);
        self.api_params.insert("GetVolumeInformationA", 8);
        self.api_params.insert("GetVolumeInformationByHandleW", 8);
        self.api_params.insert("GetVolumeInformationW", 8);
        self.api_params
            .insert("GetVolumeNameForVolumeMountPointW", 3);
        self.api_params
            .insert("GetVolumePathNamesForVolumeNameW", 4);
        self.api_params.insert("GetVolumePathNameW", 3);
        self.api_params.insert("GetWindowDC", 1);
        self.api_params.insert("GetWindowExtEx", 2);
        self.api_params.insert("GetWindowOrgEx", 2);
        self.api_params.insert("GetWindowRgn", 2);
        self.api_params.insert("GetWindowRgnBox", 2);
        self.api_params.insert("GetWinMetaFileBits", 5);
        self.api_params.insert("GetWorldTransform", 2);
        self.api_params.insert("Gobjenumproc", 2);
        self.api_params.insert("GopherAttributeEnumerator", 2);
        self.api_params.insert("GopherCreateLocatorA", 7);
        self.api_params.insert("GopherCreateLocatorW", 7);
        self.api_params.insert("GopherFindFirstFileA", 6);
        self.api_params.insert("GopherFindFirstFileW", 6);
        self.api_params.insert("GopherGetAttributeA", 8);
        self.api_params.insert("GopherGetAttributeW", 8);
        self.api_params.insert("GopherGetLocatorTypeA", 2);
        self.api_params.insert("GopherGetLocatorTypeW", 2);
        self.api_params.insert("GopherOpenFileA", 5);
        self.api_params.insert("GopherOpenFileW", 5);
        self.api_params.insert("GradientFill", 6);
        self.api_params.insert("GrayStringA", 9);
        self.api_params.insert("Graystringproc", 3);
        self.api_params.insert("GrayStringW", 9);
        self.api_params.insert("HandleLogFull", 1);
        self.api_params.insert("HashData", 4);
        self.api_params.insert("htond", 1);
        self.api_params.insert("htonf", 1);
        self.api_params.insert("htonl", 1);
        self.api_params.insert("htonll", 1);
        self.api_params.insert("htons", 1);
        self.api_params.insert("HttpAddRequestHeadersA", 4);
        self.api_params.insert("HttpAddRequestHeadersW", 4);
        self.api_params.insert("HttpEndRequestA", 4);
        self.api_params.insert("HttpEndRequestW", 4);
        self.api_params.insert("HttpOpenRequestA", 8);
        self.api_params.insert("HttpOpenRequestW", 8);
        self.api_params.insert("HttpQueryInfoA", 5);
        self.api_params.insert("HttpQueryInfoW", 5);
        self.api_params.insert("HttpSendRequestA", 5);
        self.api_params.insert("HttpSendRequestExA", 5);
        self.api_params.insert("HttpSendRequestExW", 5);
        self.api_params.insert("HttpSendRequestW", 5);
        self.api_params.insert("inet_addr", 1);
        self.api_params.insert("inet_ntoa", 1);
        self.api_params.insert("InflateRect", 3);
        self.api_params.insert("InitializeConditionVariable", 1);
        self.api_params.insert("InitializeCriticalSection", 1);
        self.api_params
            .insert("InitializeCriticalSectionAndSpinCount", 2);
        self.api_params.insert("InitializeCriticalSectionEx", 3);
        self.api_params.insert("InitializeListHead", 1);
        self.api_params
            .insert("InitializeProcThreadAttributeList", 4);
        self.api_params.insert("InitializeSListHead", 1);
        self.api_params.insert("InitializeSRWLock", 1);
        self.api_params
            .insert("InitializeSynchronizationBarrier", 3);
        self.api_params.insert("InitOnceBeginInitialize", 4);
        self.api_params.insert("InitOnceComplete", 3);
        self.api_params.insert("InitOnceExecuteOnce", 4);
        self.api_params.insert("InitOnceInitialize", 1);
        self.api_params.insert("InsertHeadList", 2);
        self.api_params.insert("InsertTailList", 2);
        self.api_params.insert("InstallLogPolicy", 2);
        self.api_params.insert("InterlockedAnd", 2);
        self.api_params.insert("InterlockedCompareExchange", 3);
        self.api_params
            .insert("InterlockedCompareExchangePointer", 3);
        self.api_params.insert("InterlockedDecrement", 1);
        self.api_params.insert("InterlockedExchange", 2);
        self.api_params.insert("InterlockedExchangeAdd", 2);
        self.api_params.insert("InterlockedExchangePointer", 2);
        self.api_params.insert("InterlockedIncrement", 1);
        self.api_params.insert("InterlockedOr", 2);
        self.api_params.insert("InterlockedXor", 2);
        self.api_params.insert("InternetAttemptConnect", 1);
        self.api_params.insert("InternetAutodial", 2);
        self.api_params.insert("InternetAutodialHangup", 1);
        self.api_params.insert("InternetCanonicalizeUrlA", 4);
        self.api_params.insert("InternetCanonicalizeUrlW", 4);
        self.api_params.insert("InternetCheckConnectionA", 3);
        self.api_params.insert("InternetCheckConnectionW", 3);
        self.api_params
            .insert("InternetClearAllPerSiteCookieDecisions", 1);
        self.api_params.insert("InternetCloseHandle", 1);
        self.api_params.insert("InternetCombineUrlA", 5);
        self.api_params.insert("InternetCombineUrlW", 5);
        self.api_params.insert("InternetConfirmZoneCrossing", 4);
        self.api_params.insert("InternetConfirmZoneCrossingA", 4);
        self.api_params.insert("InternetConfirmZoneCrossingW", 4);
        self.api_params.insert("InternetConnectA", 8);
        self.api_params.insert("InternetConnectW", 8);
        self.api_params.insert("InternetCrackUrlA", 4);
        self.api_params.insert("InternetCrackUrlW", 4);
        self.api_params.insert("InternetCreateUrlA", 4);
        self.api_params.insert("InternetCreateUrlW", 4);
        self.api_params.insert("InternetDial", 5);
        self.api_params.insert("InternetDialA", 5);
        self.api_params.insert("InternetDialW", 5);
        self.api_params
            .insert("InternetEnumPerSiteCookieDecisionA", 4);
        self.api_params
            .insert("InternetEnumPerSiteCookieDecisionW", 4);
        self.api_params.insert("InternetErrorDlg", 5);
        self.api_params.insert("InternetFindNextFileA", 2);
        self.api_params.insert("InternetFindNextFileW", 2);
        self.api_params.insert("InternetFreeCookies", 2);
        self.api_params.insert("InternetGetConnectedState", 2);
        self.api_params.insert("InternetGetConnectedStateEx", 4);
        self.api_params.insert("InternetGetConnectedStateExA", 4);
        self.api_params.insert("InternetGetConnectedStateExW", 4);
        self.api_params.insert("InternetGetCookieA", 4);
        self.api_params.insert("InternetGetCookieEx2", 5);
        self.api_params.insert("InternetGetCookieExA", 6);
        self.api_params.insert("InternetGetCookieExW", 6);
        self.api_params.insert("InternetGetCookieW", 4);
        self.api_params.insert("InternetGetLastResponseInfoA", 3);
        self.api_params.insert("InternetGetLastResponseInfoW", 3);
        self.api_params
            .insert("InternetGetPerSiteCookieDecisionA", 2);
        self.api_params
            .insert("InternetGetPerSiteCookieDecisionW", 2);
        self.api_params.insert("InternetGoOnline", 3);
        self.api_params.insert("InternetGoOnlineA", 3);
        self.api_params.insert("InternetGoOnlineW", 3);
        self.api_params.insert("InternetHangUp", 2);
        self.api_params.insert("InternetInitializeAutoProxyDll", 1);
        self.api_params.insert("InternetLockRequestFile", 2);
        self.api_params.insert("InternetOpenA", 5);
        self.api_params.insert("InternetOpenUrlA", 6);
        self.api_params.insert("InternetOpenUrlW", 6);
        self.api_params.insert("InternetOpenW", 5);
        self.api_params.insert("InternetQueryDataAvailable", 4);
        self.api_params.insert("InternetQueryOptionA", 4);
        self.api_params.insert("InternetQueryOptionW", 4);
        self.api_params.insert("InternetReadFile", 4);
        self.api_params.insert("InternetReadFileExA", 4);
        self.api_params.insert("InternetReadFileExW", 4);
        self.api_params.insert("InternetSetCookieA", 3);
        self.api_params.insert("InternetSetCookieEx2", 5);
        self.api_params.insert("InternetSetCookieExA", 5);
        self.api_params.insert("InternetSetCookieExW", 5);
        self.api_params.insert("InternetSetCookieW", 3);
        self.api_params.insert("InternetSetDialState", 3);
        self.api_params.insert("InternetSetDialStateA", 3);
        self.api_params.insert("InternetSetDialStateW", 3);
        self.api_params.insert("InternetSetFilePointer", 5);
        self.api_params.insert("InternetSetOptionA", 4);
        self.api_params.insert("InternetSetOptionExA", 5);
        self.api_params.insert("InternetSetOptionExW", 5);
        self.api_params.insert("InternetSetOptionW", 4);
        self.api_params
            .insert("InternetSetPerSiteCookieDecisionA", 2);
        self.api_params
            .insert("InternetSetPerSiteCookieDecisionW", 2);
        self.api_params.insert("InternetSetStatusCallback", 2);
        self.api_params.insert("InternetStatusCallback", 5);
        self.api_params.insert("InternetTimeFromSystemTime", 4);
        self.api_params.insert("InternetTimeFromSystemTimeA", 4);
        self.api_params.insert("InternetTimeFromSystemTimeW", 4);
        self.api_params.insert("InternetTimeToSystemTime", 3);
        self.api_params.insert("InternetTimeToSystemTimeA", 3);
        self.api_params.insert("InternetTimeToSystemTimeW", 3);
        self.api_params.insert("InternetUnlockRequestFile", 1);
        self.api_params.insert("InternetWriteFile", 4);
        self.api_params.insert("IntersectClipRect", 5);
        self.api_params.insert("IntersectRect", 3);
        self.api_params.insert("IntlStrEqWorkerA", 4);
        self.api_params.insert("IntlStrEqWorkerW", 4);
        self.api_params.insert("InvalidateRect", 3);
        self.api_params.insert("InvalidateRgn", 3);
        self.api_params.insert("InvertRect", 2);
        self.api_params.insert("InvertRgn", 2);
        self.api_params.insert("IoAcquireCancelSpinLock", 1);
        self.api_params.insert("IoAcquireKsrPersistentMemory", 4);
        self.api_params.insert("IoAcquireKsrPersistentMemoryEx", 7);
        self.api_params.insert("IoAcquireVpbSpinLock", 1);
        self.api_params.insert("IoAllocateDriverObjectExtension", 4);
        self.api_params.insert("IoAllocateErrorLogEntry", 2);
        self.api_params.insert("IoAllocateIrp", 2);
        self.api_params.insert("IoAllocateIrpEx", 3);
        self.api_params.insert("IoAllocateMdl", 5);
        self.api_params.insert("IoAllocateWorkItem", 1);
        self.api_params.insert("IoAttachDevice", 3);
        self.api_params.insert("IoAttachDeviceToDeviceStack", 2);
        self.api_params.insert("IoBuildAsynchronousFsdRequest", 6);
        self.api_params.insert("IoBuildDeviceIoControlRequest", 9);
        self.api_params.insert("IoBuildPartialMdl", 4);
        self.api_params.insert("IoBuildSynchronousFsdRequest", 7);
        self.api_params.insert("IoCancelIrp", 1);
        self.api_params.insert("IoCheckDesiredAccess", 2);
        self.api_params.insert("IoCheckEaBufferValidity", 3);
        self.api_params.insert("IoCheckFunctionAccess", 6);
        self.api_params.insert("IoCheckLinkShareAccess", 6);
        self.api_params.insert("IoCheckQuerySetFileInformation", 3);
        self.api_params
            .insert("IoCheckQuerySetVolumeInformation", 3);
        self.api_params.insert("IoCheckQuotaBufferValidity", 3);
        self.api_params.insert("IoCheckShareAccess", 5);
        self.api_params.insert("IoCheckShareAccessEx", 6);
        self.api_params.insert("IoCompletionRoutine", 3);
        self.api_params.insert("IoConnectInterrupt", 11);
        self.api_params.insert("IoConnectInterruptEx", 1);
        self.api_params
            .insert("IoCopyCurrentIrpStackLocationToNext", 1);
        self.api_params.insert("IoCreateDevice", 7);
        self.api_params.insert("IoCreateFile", 14);
        self.api_params.insert("IoCreateNotificationEvent", 2);
        self.api_params.insert("IoCreateStreamFileObject", 2);
        self.api_params.insert("IoCreateStreamFileObjectEx2", 5);
        self.api_params.insert("IoCreateStreamFileObjectEx", 3);
        self.api_params.insert("IoCreateStreamFileObjectLite", 2);
        self.api_params.insert("IoCreateSymbolicLink", 2);
        self.api_params.insert("IoCreateSynchronizationEvent", 2);
        self.api_params.insert("IoCreateSystemThread", 8);
        self.api_params.insert("IoCreateUnprotectedSymbolicLink", 2);
        self.api_params.insert("IoCsqAcquireLock", 2);
        self.api_params.insert("IoCsqCompleteCanceledIrp", 2);
        self.api_params.insert("IoCsqInitialize", 7);
        self.api_params.insert("IoCsqInitializeEx", 7);
        self.api_params.insert("IoCsqInsertIrp", 2);
        self.api_params.insert("IoCsqInsertIrp", 3);
        self.api_params.insert("IoCsqInsertIrpEx", 3);
        self.api_params.insert("IoCsqInsertIrpEx", 4);
        self.api_params.insert("IoCsqPeekNextIrp", 3);
        self.api_params.insert("IoCsqReleaseLock", 2);
        self.api_params.insert("IoCsqRemoveIrp", 2);
        self.api_params.insert("IoCsqRemoveNextIrp", 2);
        self.api_params.insert("ioctlsocket", 3);
        self.api_params.insert("IoDeleteDevice", 1);
        self.api_params.insert("IoDeleteSymbolicLink", 1);
        self.api_params.insert("IoDetachDevice", 1);
        self.api_params.insert("IoDisconnectInterrupt", 1);
        self.api_params.insert("IoDisconnectInterruptEx", 1);
        self.api_params.insert("IoDpcRoutine", 4);
        self.api_params.insert("IoEnumerateDeviceObjectList", 4);
        self.api_params
            .insert("IoEnumerateKsrPersistentMemoryEx", 5);
        self.api_params
            .insert("IoEnumerateRegisteredFiltersList", 3);
        self.api_params.insert("IoFastQueryNetworkAttributes", 5);
        self.api_params.insert("IofCallDriver", 2);
        self.api_params.insert("IofCompleteRequest", 2);
        self.api_params.insert("IoForwardIrpSynchronously", 2);
        self.api_params.insert("IoFreeErrorLogEntry", 1);
        self.api_params.insert("IoFreeIrp", 1);
        self.api_params.insert("IoFreeKsrPersistentMemory", 1);
        self.api_params.insert("IoFreeMdl", 1);
        self.api_params.insert("IoFreeWorkItem", 1);
        self.api_params.insert("IoGetAffinityInterrupt", 2);
        self.api_params.insert("IoGetAttachedDevice", 1);
        self.api_params.insert("IoGetAttachedDeviceReference", 1);
        self.api_params.insert("IoGetBaseFileSystemDeviceObject", 1);
        self.api_params.insert("IoGetBootDiskInformation", 2);
        self.api_params.insert("IoGetContainerInformation", 4);
        self.api_params.insert("IoGetCurrentIrpStackLocation", 1);
        self.api_params.insert("IoGetCurrentProcess", 1);
        self.api_params.insert("IoGetDeviceAttachmentBaseRef", 1);
        self.api_params.insert("IoGetDeviceDirectory", 5);
        self.api_params.insert("IoGetDeviceInterfaceAlias", 3);
        self.api_params
            .insert("IoGetDeviceInterfacePropertyData", 8);
        self.api_params.insert("IoGetDeviceInterfaces", 4);
        self.api_params.insert("IoGetDeviceNumaNode", 2);
        self.api_params.insert("IoGetDeviceObjectPointer", 4);
        self.api_params.insert("IoGetDeviceProperty", 5);
        self.api_params.insert("IoGetDevicePropertyData", 8);
        self.api_params.insert("IoGetDeviceToVerify", 1);
        self.api_params.insert("IoGetDiskDeviceObject", 2);
        self.api_params.insert("IoGetDmaAdapter", 3);
        self.api_params.insert("IoGetDriverDirectory", 4);
        self.api_params.insert("IoGetDriverObjectExtension", 2);
        self.api_params.insert("IoGetInitialStack", 1);
        self.api_params.insert("IoGetIommuInterface", 2);
        self.api_params.insert("IoGetIommuInterfaceEx", 3);
        self.api_params.insert("IoGetIoPriorityHint", 1);
        self.api_params.insert("IoGetLowerDeviceObject", 1);
        self.api_params.insert("IoGetNextIrpStackLocation", 1);
        self.api_params.insert("IoGetRelatedDeviceObject", 1);
        self.api_params.insert("IoGetRemainingStackSize", 1);
        self.api_params.insert("IoGetRequestorProcess", 1);
        self.api_params.insert("IoGetRequestorProcessId", 1);
        self.api_params.insert("IoGetRequestorSessionId", 2);
        self.api_params.insert("IoGetStackLimits", 2);
        self.api_params.insert("IoGetTopLevelIrp", 1);
        self.api_params.insert("IoInitializeDpcRequest", 2);
        self.api_params.insert("IoInitializeIrp", 3);
        self.api_params.insert("IoInitializePriorityInfo", 1);
        self.api_params.insert("IoInitializeTimer", 3);
        self.api_params.insert("IoInitializeWorkItem", 2);
        self.api_params.insert("IoInvalidateDeviceRelations", 2);
        self.api_params.insert("IoInvalidateDeviceState", 1);
        self.api_params.insert("IoIs32bitProcess", 1);
        self.api_params.insert("IoIsOperationSynchronous", 1);
        self.api_params.insert("IoIsSystemThread", 1);
        self.api_params.insert("IoIsValidNameGraftingBuffer", 2);
        self.api_params.insert("IoIsWdmVersionAvailable", 2);
        self.api_params.insert("IoMarkIrpPending", 1);
        self.api_params.insert("IommuDeviceCreate", 3);
        self.api_params.insert("IommuDeviceDelete", 1);
        self.api_params.insert("IommuDeviceFaultHandler", 2);
        self.api_params.insert("IommuDeviceQueryDomainTypes", 2);
        self.api_params.insert("IommuDomainAttachDevice", 4);
        self.api_params.insert("IommuDomainAttachDeviceEx", 2);
        self.api_params.insert("IommuDomainConfigure", 2);
        self.api_params.insert("IommuDomainCreate", 2);
        self.api_params.insert("IommuDomainCreateEx", 5);
        self.api_params.insert("IommuDomainDelete", 1);
        self.api_params.insert("IommuDomainDetachDevice", 3);
        self.api_params.insert("IommuDomainDetachDeviceEx", 1);
        self.api_params.insert("IommuFlushDomain", 1);
        self.api_params.insert("IommuFlushDomainVaList", 4);
        self.api_params
            .insert("IommuFreeReservedLogicalAddressRange", 1);
        self.api_params
            .insert("IommuInterfaceStateChangeCallback", 2);
        self.api_params.insert("IommuMapIdentityRange", 3);
        self.api_params.insert("IommuMapIdentityRangeEx", 3);
        self.api_params.insert("IommuMapLogicalRange", 4);
        self.api_params.insert("IommuMapLogicalRangeEx", 7);
        self.api_params.insert("IommuMapReservedLogicalRange", 5);
        self.api_params.insert("IommuQueryInputMappings", 4);
        self.api_params
            .insert("IommuRegisterInterfaceStateChangeCallback", 4);
        self.api_params.insert("IommuReserveLogicalAddressRange", 6);
        self.api_params.insert("IommuSetDeviceFaultReporting", 4);
        self.api_params.insert("IommuSetDeviceFaultReportingEx", 4);
        self.api_params.insert("IommuUnmapIdentityRange", 2);
        self.api_params.insert("IommuUnmapIdentityRangeEx", 2);
        self.api_params.insert("IommuUnmapLogicalRange", 3);
        self.api_params.insert("IommuUnmapReservedLogicalRange", 1);
        self.api_params
            .insert("IommuUnregisterInterfaceStateChangeCallback", 2);
        self.api_params
            .insert("IoOpenDeviceInterfaceRegistryKey", 3);
        self.api_params.insert("IoOpenDeviceRegistryKey", 4);
        self.api_params.insert("IoOpenDriverRegistryKey", 5);
        self.api_params.insert("IoPageRead", 5);
        self.api_params.insert("IoQueryFileDosDeviceName", 2);
        self.api_params.insert("IoQueryFileInformation", 5);
        self.api_params.insert("IoQueryKsrPersistentMemorySize", 3);
        self.api_params
            .insert("IoQueryKsrPersistentMemorySizeEx", 6);
        self.api_params.insert("IoQueryVolumeInformation", 5);
        self.api_params.insert("IoQueueThreadIrp", 1);
        self.api_params.insert("IoQueueWorkItem", 4);
        self.api_params.insert("IoQueueWorkItemEx", 4);
        self.api_params.insert("IoRegisterContainerNotification", 5);
        self.api_params.insert("IoRegisterDeviceInterface", 4);
        self.api_params.insert("IoRegisterFileSystem", 1);
        self.api_params.insert("IoRegisterFsRegistrationChange", 2);
        self.api_params
            .insert("IoRegisterFsRegistrationChangeEx", 2);
        self.api_params
            .insert("IoRegisterFsRegistrationChangeMountAware", 3);
        self.api_params
            .insert("IoRegisterLastChanceShutdownNotification", 1);
        self.api_params.insert("IoRegisterPlugPlayNotification", 7);
        self.api_params.insert("IoRegisterShutdownNotification", 1);
        self.api_params.insert("IoReleaseCancelSpinLock", 1);
        self.api_params.insert("IoReleaseVpbSpinLock", 1);
        self.api_params.insert("IoRemoveLinkShareAccess", 3);
        self.api_params.insert("IoRemoveShareAccess", 2);
        self.api_params.insert("IoReplaceFileObjectName", 3);
        self.api_params.insert("IoReportInterruptActive", 1);
        self.api_params.insert("IoReportInterruptInactive", 1);
        self.api_params.insert("IoReportTargetDeviceChange", 2);
        self.api_params
            .insert("IoReportTargetDeviceChangeAsynchronous", 4);
        self.api_params.insert("IoRequestDeviceEject", 1);
        self.api_params.insert("IoRequestDpc", 3);
        self.api_params.insert("IoReserveKsrPersistentMemory", 5);
        self.api_params.insert("IoReserveKsrPersistentMemoryEx", 8);
        self.api_params.insert("IoReuseIrp", 2);
        self.api_params.insert("IoSessionNotificationFunction", 6);
        self.api_params.insert("IoSetCancelRoutine", 2);
        self.api_params.insert("IoSetCompletionRoutine", 6);
        self.api_params.insert("IoSetCompletionRoutineEx", 7);
        self.api_params
            .insert("IoSetDeviceInterfacePropertyData", 7);
        self.api_params.insert("IoSetDeviceInterfaceState", 2);
        self.api_params.insert("IoSetDevicePropertyData", 7);
        self.api_params.insert("IoSetDeviceToVerify", 2);
        self.api_params.insert("IoSetInformation", 4);
        self.api_params.insert("IoSetIoPriorityHint", 2);
        self.api_params.insert("IoSetLinkShareAccess", 6);
        self.api_params.insert("IoSetNextIrpStackLocation", 1);
        self.api_params.insert("IoSetShareAccess", 4);
        self.api_params.insert("IoSetShareAccessEx", 5);
        self.api_params.insert("IoSetStartIoAttributes", 3);
        self.api_params.insert("IoSetTopLevelIrp", 1);
        self.api_params.insert("IoSizeofWorkItem", 1);
        self.api_params.insert("IoStartNextPacket", 2);
        self.api_params.insert("IoStartNextPacketByKey", 3);
        self.api_params.insert("IoStartPacket", 4);
        self.api_params.insert("IoStartTimer", 1);
        self.api_params.insert("IoStopTimer", 1);
        self.api_params.insert("IoSynchronousPageWrite", 5);
        self.api_params.insert("IoThreadToProcess", 1);
        self.api_params.insert("IoTimerRoutine", 2);
        self.api_params.insert("IoUninitializeWorkItem", 1);
        self.api_params
            .insert("IoUnregisterContainerNotification", 1);
        self.api_params.insert("IoUnregisterFileSystem", 1);
        self.api_params
            .insert("IoUnregisterFsRegistrationChange", 2);
        self.api_params
            .insert("IoUnregisterPlugPlayNotification", 1);
        self.api_params
            .insert("IoUnregisterPlugPlayNotificationEx", 1);
        self.api_params
            .insert("IoUnregisterShutdownNotification", 1);
        self.api_params.insert("IoUpdateLinkShareAccess", 3);
        self.api_params.insert("IoUpdateLinkShareAccessEx", 4);
        self.api_params.insert("IoUpdateShareAccess", 2);
        self.api_params.insert("IoValidateDeviceIoControlAccess", 2);
        self.api_params.insert("IoVerifyVolume", 2);
        self.api_params.insert("IoWithinStackLimits", 2);
        self.api_params.insert("IoWMIAllocateInstanceIds", 3);
        self.api_params.insert("IoWMIDeviceObjectToInstanceName", 3);
        self.api_params.insert("IoWMIDeviceObjectToProviderId", 1);
        self.api_params.insert("IoWMIExecuteMethod", 6);
        self.api_params.insert("IoWMIHandleToInstanceName", 3);
        self.api_params.insert("IoWMIOpenBlock", 3);
        self.api_params.insert("IoWMIQueryAllData", 3);
        self.api_params.insert("IoWMIQueryAllDataMultiple", 4);
        self.api_params.insert("IoWMIQuerySingleInstance", 4);
        self.api_params
            .insert("IoWMIQuerySingleInstanceMultiple", 5);
        self.api_params.insert("IoWMIRegistrationControl", 2);
        self.api_params.insert("IoWMISetNotificationCallback", 3);
        self.api_params.insert("IoWMISetSingleInstance", 5);
        self.api_params.insert("IoWMISetSingleItem", 6);
        self.api_params.insert("IoWMISuggestInstanceName", 4);
        self.api_params.insert("IoWMIWriteEvent", 1);
        self.api_params.insert("IoWorkitemRoutine", 2);
        self.api_params.insert("IoWorkitemRoutineEx", 3);
        self.api_params.insert("IoWriteErrorLogEntry", 1);
        self.api_params.insert("IoWriteKsrPersistentMemory", 3);
        self.api_params.insert("IsCharSpaceA", 1);
        self.api_params.insert("IsCharSpaceW", 1);
        self.api_params.insert("IsDialogMessageA", 2);
        self.api_params.insert("IsDialogMessageW", 2);
        self.api_params.insert("IsInternetESCEnabled", 1);
        self.api_params.insert("IsListEmpty", 1);
        self.api_params.insert("IsOS", 1);
        self.api_params.insert("IsProcessCritical", 2);
        self.api_params.insert("IsRectEmpty", 1);
        self.api_params.insert("IStream_Copy", 3);
        self.api_params.insert("IStream_Read", 3);
        self.api_params.insert("IStream_ReadPidl", 2);
        self.api_params.insert("IStream_ReadStr", 2);
        self.api_params.insert("IStream_Reset", 1);
        self.api_params.insert("IStream_Size", 2);
        self.api_params.insert("IStream_Write", 3);
        self.api_params.insert("IStream_WritePidl", 2);
        self.api_params.insert("IStream_WriteStr", 2);
        self.api_params.insert("IUnknown_AtomicRelease", 1);
        self.api_params.insert("IUnknown_GetSite", 3);
        self.api_params.insert("IUnknown_GetWindow", 2);
        self.api_params.insert("IUnknown_QueryService", 4);
        self.api_params.insert("IUnknown_Set", 2);
        self.api_params.insert("IUnknown_SetSite", 2);
        self.api_params.insert("KbugcheckCallbackRoutine", 2);
        self.api_params.insert("KbugcheckReasonCallbackRoutine", 4);
        self.api_params.insert("KdeferredRoutine", 4);
        self.api_params.insert("KeAcquireGuardedMutex", 1);
        self.api_params.insert("KeAcquireGuardedMutexUnsafe", 1);
        self.api_params.insert("KeAcquireInStackQueuedSpinLock", 2);
        self.api_params
            .insert("KeAcquireInStackQueuedSpinLockAtDpcLevel", 2);
        self.api_params
            .insert("KeAcquireInStackQueuedSpinLockForDpc", 2);
        self.api_params.insert("KeAcquireInterruptSpinLock", 1);
        self.api_params.insert("KeAcquireSpinLockAtDpcLevel", 1);
        self.api_params.insert("KeAcquireSpinLockForDpc", 1);
        self.api_params.insert("KeAcquireSpinLockRaiseToDpc", 1);
        self.api_params.insert("KeAddTriageDumpDataBlock", 3);
        self.api_params.insert("KeAreAllApcsDisabled", 1);
        self.api_params.insert("KeAreApcsDisabled", 1);
        self.api_params.insert("KeAttachProcess", 1);
        self.api_params.insert("KeBugCheckEx", 5);
        self.api_params.insert("KeCancelTimer", 1);
        self.api_params.insert("KeClearEvent", 1);
        self.api_params
            .insert("KeConvertAuxiliaryCounterToPerformanceCounter", 3);
        self.api_params
            .insert("KeConvertPerformanceCounterToAuxiliaryCounter", 3);
        self.api_params.insert("KeDelayExecutionThread", 3);
        self.api_params.insert("KeDeregisterBoundCallback", 1);
        self.api_params.insert("KeDeregisterBugCheckCallback", 1);
        self.api_params
            .insert("KeDeregisterBugCheckReasonCallback", 1);
        self.api_params.insert("KeDeregisterNmiCallback", 1);
        self.api_params
            .insert("KeDeregisterProcessorChangeCallback", 1);
        self.api_params.insert("KeDetachProcess", 1);
        self.api_params.insert("KeEnterCriticalRegion", 1);
        self.api_params.insert("KeEnterGuardedRegion", 1);
        self.api_params.insert("KeFlushIoBuffers", 3);
        self.api_params.insert("KeFlushQueuedDpcs", 1);
        self.api_params.insert("KefReleaseSpinLockFromDpcLevel", 1);
        self.api_params.insert("KeGetCurrentIrql", 1);
        self.api_params.insert("KeGetCurrentNodeNumber", 1);
        self.api_params.insert("KeGetCurrentProcessorNumberEx", 1);
        self.api_params.insert("KeGetCurrentThread", 1);
        self.api_params.insert("KeGetProcessorIndexFromNumber", 1);
        self.api_params.insert("KeGetProcessorNumberFromIndex", 2);
        self.api_params
            .insert("KeGetRecommendedSharedDataAlignment", 1);
        self.api_params.insert("KeInitializeCrashDumpHeader", 5);
        self.api_params.insert("KeInitializeDeviceQueue", 1);
        self.api_params.insert("KeInitializeDpc", 3);
        self.api_params.insert("KeInitializeEvent", 3);
        self.api_params.insert("KeInitializeGuardedMutex", 1);
        self.api_params.insert("KeInitializeMutant", 2);
        self.api_params.insert("KeInitializeMutex", 2);
        self.api_params.insert("KeInitializeQueue", 2);
        self.api_params.insert("KeInitializeSemaphore", 3);
        self.api_params.insert("KeInitializeSpinLock", 1);
        self.api_params.insert("KeInitializeThreadedDpc", 3);
        self.api_params.insert("KeInitializeTimer", 1);
        self.api_params.insert("KeInitializeTimerEx", 2);
        self.api_params.insert("KeInsertByKeyDeviceQueue", 3);
        self.api_params.insert("KeInsertDeviceQueue", 2);
        self.api_params.insert("KeInsertHeadQueue", 2);
        self.api_params.insert("KeInsertQueue", 2);
        self.api_params.insert("KeInsertQueueDpc", 3);
        self.api_params.insert("KeIpiGenericCall", 2);
        self.api_params.insert("KeIsExecutingDpc", 1);
        self.api_params.insert("KeLeaveCriticalRegion", 1);
        self.api_params.insert("KeLeaveGuardedRegion", 1);
        self.api_params.insert("KeLowerIrql", 1);
        self.api_params.insert("KeMemoryBarrier", 1);
        self.api_params.insert("KeQueryActiveGroupCount", 1);
        self.api_params.insert("KeQueryActiveProcessorCount", 1);
        self.api_params.insert("KeQueryActiveProcessorCountEx", 1);
        self.api_params.insert("KeQueryActiveProcessors", 1);
        self.api_params
            .insert("KeQueryAuxiliaryCounterFrequency", 1);
        self.api_params.insert("KeQueryDpcWatchdogInformation", 1);
        self.api_params.insert("KeQueryGroupAffinity", 1);
        self.api_params.insert("KeQueryHighestNodeNumber", 1);
        self.api_params.insert("KeQueryInterruptTime", 1);
        self.api_params.insert("KeQueryInterruptTimePrecise", 1);
        self.api_params
            .insert("KeQueryLogicalProcessorRelationship", 4);
        self.api_params.insert("KeQueryMaximumGroupCount", 1);
        self.api_params.insert("KeQueryMaximumProcessorCount", 1);
        self.api_params.insert("KeQueryMaximumProcessorCountEx", 1);
        self.api_params.insert("KeQueryNodeActiveAffinity2", 4);
        self.api_params.insert("KeQueryNodeActiveAffinity", 3);
        self.api_params.insert("KeQueryNodeActiveProcessorCount", 1);
        self.api_params
            .insert("KeQueryNodeMaximumProcessorCount", 1);
        self.api_params.insert("KeQueryPerformanceCounter", 1);
        self.api_params.insert("KeQueryPriorityThread", 1);
        self.api_params.insert("KeQueryRuntimeThread", 2);
        self.api_params.insert("KeQuerySystemTime", 1);
        self.api_params.insert("KeQuerySystemTimePrecise", 1);
        self.api_params.insert("KeQueryTimeIncrement", 1);
        self.api_params.insert("KeQueryTotalCycleTimeThread", 2);
        self.api_params.insert("KeQueryUnbiasedInterruptTime", 1);
        self.api_params.insert("KeRaiseIrqlToDpcLevel", 1);
        self.api_params.insert("KeReadStateEvent", 1);
        self.api_params.insert("KeReadStateMutant", 1);
        self.api_params.insert("KeReadStateMutex", 1);
        self.api_params.insert("KeReadStateQueue", 1);
        self.api_params.insert("KeReadStateSemaphore", 1);
        self.api_params.insert("KeReadStateTimer", 1);
        self.api_params.insert("KeRegisterBoundCallback", 1);
        self.api_params.insert("KeRegisterBugCheckCallback", 5);
        self.api_params
            .insert("KeRegisterBugCheckReasonCallback", 4);
        self.api_params.insert("KeRegisterNmiCallback", 2);
        self.api_params
            .insert("KeRegisterProcessorChangeCallback", 3);
        self.api_params.insert("KeReleaseGuardedMutex", 1);
        self.api_params.insert("KeReleaseGuardedMutexUnsafe", 1);
        self.api_params.insert("KeReleaseInStackQueuedSpinLock", 1);
        self.api_params
            .insert("KeReleaseInStackQueuedSpinLockForDpc", 1);
        self.api_params
            .insert("KeReleaseInStackQueuedSpinLockFromDpcLevel", 1);
        self.api_params.insert("KeReleaseInterruptSpinLock", 2);
        self.api_params.insert("KeReleaseMutant", 4);
        self.api_params.insert("KeReleaseMutex", 2);
        self.api_params.insert("KeReleaseQueuedSpinLock", 2);
        self.api_params.insert("KeReleaseSemaphore", 4);
        self.api_params.insert("KeReleaseSpinLockForDpc", 2);
        self.api_params.insert("KeReleaseSpinLockFromDpcLevel", 1);
        self.api_params.insert("KeRemoveByKeyDeviceQueue", 2);
        self.api_params.insert("KeRemoveDeviceQueue", 1);
        self.api_params.insert("KeRemoveEntryDeviceQueue", 2);
        self.api_params.insert("KeRemoveQueue", 3);
        self.api_params.insert("KeRemoveQueueDpc", 1);
        self.api_params.insert("KeResetEvent", 1);
        self.api_params.insert("KeRestoreExtendedProcessorState", 1);
        self.api_params.insert("KeRestoreFloatingPointState", 1);
        self.api_params.insert("KeRevertToUserAffinityThreadEx", 1);
        self.api_params
            .insert("KeRevertToUserGroupAffinityThread", 1);
        self.api_params.insert("KeRundownQueue", 1);
        self.api_params.insert("KeSaveExtendedProcessorState", 2);
        self.api_params.insert("KeSaveFloatingPointState", 1);
        self.api_params.insert("KeSetCoalescableTimer", 5);
        self.api_params.insert("KeSetEvent", 3);
        self.api_params.insert("KeSetIdealProcessorThread", 2);
        self.api_params.insert("KeSetImportanceDpc", 2);
        self.api_params.insert("KeSetPriorityThread", 2);
        self.api_params.insert("KeSetSystemAffinityThread", 1);
        self.api_params.insert("KeSetSystemAffinityThreadEx", 1);
        self.api_params.insert("KeSetSystemGroupAffinityThread", 2);
        self.api_params.insert("KeSetTargetProcessorDpc", 2);
        self.api_params.insert("KeSetTargetProcessorDpcEx", 2);
        self.api_params.insert("KeSetTimer", 3);
        self.api_params.insert("KeSetTimerEx", 4);
        self.api_params.insert("KeShouldYieldProcessor", 1);
        self.api_params.insert("KeStackAttachProcess", 2);
        self.api_params.insert("KeStallExecutionProcessor", 1);
        self.api_params.insert("KeSynchronizeExecution", 3);
        self.api_params.insert("KeTestSpinLock", 1);
        self.api_params.insert("KeTryToAcquireGuardedMutex", 1);
        self.api_params.insert("KeTryToAcquireQueuedSpinLock", 2);
        self.api_params
            .insert("KeTryToAcquireSpinLockAtDpcLevel", 1);
        self.api_params.insert("KeUnstackDetachProcess", 1);
        self.api_params.insert("KipiBroadcastWorker", 1);
        self.api_params.insert("KmessageServiceRoutine", 3);
        self.api_params.insert("KserviceRoutine", 2);
        self.api_params.insert("KstartRoutine", 1);
        self.api_params.insert("KsynchronizeRoutine", 1);
        self.api_params.insert("KzLowerIrql", 1);
        self.api_params.insert("KzRaiseIrql", 1);
        self.api_params.insert("LeaveCriticalSection", 1);
        self.api_params.insert("LineDDA", 6);
        self.api_params.insert("Lineddaproc", 3);
        self.api_params.insert("LineTo", 3);
        self.api_params.insert("listen", 2);
        self.api_params.insert("LoadBitmapA", 2);
        self.api_params.insert("LoadBitmapW", 2);
        self.api_params.insert("LoadLibraryA", 1);
        self.api_params.insert("LoadLibraryExA", 3);
        self.api_params.insert("LoadLibraryExW", 3);
        self.api_params.insert("LoadLibraryW", 1);
        self.api_params.insert("LockFile", 5);
        self.api_params.insert("LockFileEx", 6);
        self.api_params.insert("LockWindowUpdate", 1);
        self.api_params.insert("LogTailAdvanceFailure", 2);
        self.api_params.insert("LPtoDP", 3);
        self.api_params
            .insert("LpwsaoverlappedCompletionRoutine", 4);
        self.api_params.insert("MapDialogRect", 2);
        self.api_params.insert("MapSecurityError", 1);
        self.api_params.insert("MapWindowPoints", 4);
        self.api_params.insert("MaskBlt", 12);
        self.api_params.insert("MessageBox", 4);
        self.api_params.insert("MessageBoxA", 4);
        self.api_params.insert("MessageBoxExA", 5);
        self.api_params.insert("MessageBoxExW", 5);
        self.api_params.insert("MessageBoxIndirectA", 1);
        self.api_params.insert("MessageBoxIndirectW", 1);
        self.api_params.insert("MessageBoxW", 4);
        self.api_params.insert("Mfenumproc", 5);
        self.api_params.insert("MmAdvanceMdl", 2);
        self.api_params.insert("MmAllocateContiguousMemory", 2);
        self.api_params.insert("MmAllocateContiguousMemoryEx", 10);
        self.api_params
            .insert("MmAllocateContiguousMemorySpecifyCache", 5);
        self.api_params
            .insert("MmAllocateContiguousMemorySpecifyCacheNode", 6);
        self.api_params.insert("MmAllocateContiguousNodeMemory", 6);
        self.api_params.insert("MmAllocateMappingAddress", 2);
        self.api_params.insert("MmAllocateMappingAddressEx", 3);
        self.api_params.insert("MmAllocateMdlForIoSpace", 3);
        self.api_params.insert("MmAllocateNodePagesForMdlEx", 7);
        self.api_params.insert("MmAllocatePagesForMdl", 4);
        self.api_params.insert("MmAllocatePagesForMdlEx", 6);
        self.api_params.insert("MmBuildMdlForNonPagedPool", 1);
        self.api_params.insert("MmCanFileBeTruncated", 2);
        self.api_params
            .insert("MmDoesFileHaveUserWritableReferences", 1);
        self.api_params.insert("MmFlushImageSection", 2);
        self.api_params.insert("MmForceSectionClosed", 2);
        self.api_params.insert("MmForceSectionClosedEx", 2);
        self.api_params.insert("MmFreeContiguousMemory", 1);
        self.api_params
            .insert("MmFreeContiguousMemorySpecifyCache", 3);
        self.api_params.insert("MmFreeMappingAddress", 2);
        self.api_params.insert("MmFreePagesFromMdl", 1);
        self.api_params.insert("MmGetMaximumFileSectionSize", 1);
        self.api_params.insert("MmGetSystemRoutineAddress", 1);
        self.api_params.insert("MmGetSystemRoutineAddressEx", 2);
        self.api_params.insert("MmIsDriverSuspectForVerifier", 1);
        self.api_params.insert("MmIsDriverVerifying", 1);
        self.api_params.insert("MmIsDriverVerifyingByAddress", 1);
        self.api_params.insert("MmIsRecursiveIoFault", 1);
        self.api_params.insert("MmLockPagableDataSection", 1);
        self.api_params.insert("MmMapIoSpace", 3);
        self.api_params.insert("MmMapIoSpaceEx", 3);
        self.api_params.insert("MmMapLockedPages", 3);
        self.api_params.insert("MmMapLockedPagesSpecifyCache", 7);
        self.api_params
            .insert("MmMapLockedPagesWithReservedMapping", 4);
        self.api_params.insert("MmMapMdl", 4);
        self.api_params.insert("MmMapMemoryDumpMdlEx", 4);
        self.api_params.insert("MmMdlRoutine", 2);
        self.api_params.insert("MmPageEntireDriver", 1);
        self.api_params.insert("MmPrefetchPages", 2);
        self.api_params.insert("MmProbeAndLockPages", 3);
        self.api_params.insert("MmProbeAndLockSelectedPages", 4);
        self.api_params.insert("MmProtectDriverSection", 3);
        self.api_params.insert("MmProtectMdlSystemAddress", 2);
        self.api_params.insert("MmQuerySystemSize", 1);
        self.api_params.insert("MmResetDriverPaging", 1);
        self.api_params.insert("MmSetAddressRangeModified", 2);
        self.api_params.insert("MmSizeOfMdl", 2);
        self.api_params.insert("MmUnlockPagableImageSection", 1);
        self.api_params.insert("MmUnlockPages", 1);
        self.api_params.insert("MmUnmapIoSpace", 2);
        self.api_params.insert("MmUnmapLockedPages", 2);
        self.api_params.insert("MmUnmapReservedMapping", 3);
        self.api_params.insert("ModifyWorldTransform", 3);
        self.api_params.insert("Monitorenumproc", 4);
        self.api_params.insert("MonitorFromPoint", 2);
        self.api_params.insert("MonitorFromRect", 2);
        self.api_params.insert("MonitorFromWindow", 2);
        self.api_params.insert("MoveToEx", 4);
        self.api_params.insert("Msgboxcallback", 1);
        self.api_params.insert("NtCommitComplete", 2);
        self.api_params.insert("NtCommitEnlistment", 2);
        self.api_params.insert("NtCommitTransaction", 2);
        self.api_params.insert("NtCreateEnlistment", 8);
        self.api_params.insert("NtCreateResourceManager", 7);
        self.api_params.insert("NtCreateTransaction", 10);
        self.api_params.insert("NtCreateTransactionManager", 6);
        self.api_params.insert("NtEnumerateTransactionObject", 5);
        self.api_params
            .insert("NtGetNotificationResourceManager", 7);
        self.api_params.insert("NtManagePartition", 5);
        self.api_params.insert("ntohd", 1);
        self.api_params.insert("ntohf", 1);
        self.api_params.insert("ntohl", 1);
        self.api_params.insert("ntohll", 1);
        self.api_params.insert("ntohs", 1);
        self.api_params.insert("NtOpenEnlistment", 5);
        self.api_params.insert("NtOpenResourceManager", 5);
        self.api_params.insert("NtOpenTransaction", 5);
        self.api_params.insert("NtOpenTransactionManager", 6);
        self.api_params.insert("NtPowerInformation", 5);
        self.api_params.insert("NtPrepareComplete", 2);
        self.api_params.insert("NtPrepareEnlistment", 2);
        self.api_params.insert("NtPrePrepareComplete", 2);
        self.api_params.insert("NtPrePrepareEnlistment", 2);
        self.api_params.insert("NtQueryInformationByName", 5);
        self.api_params.insert("NtQueryInformationEnlistment", 5);
        self.api_params
            .insert("NtQueryInformationResourceManager", 5);
        self.api_params.insert("NtQueryInformationTransaction", 5);
        self.api_params
            .insert("NtQueryInformationTransactionManager", 5);
        self.api_params.insert("NtReadOnlyEnlistment", 2);
        self.api_params.insert("NtRecoverEnlistment", 2);
        self.api_params.insert("NtRecoverResourceManager", 1);
        self.api_params.insert("NtRecoverTransactionManager", 1);
        self.api_params.insert("NtRenameTransactionManager", 2);
        self.api_params.insert("NtRollbackComplete", 2);
        self.api_params.insert("NtRollbackEnlistment", 2);
        self.api_params.insert("NtRollbackTransaction", 2);
        self.api_params.insert("NtRollforwardTransactionManager", 2);
        self.api_params.insert("NtSetInformationEnlistment", 4);
        self.api_params.insert("NtSetInformationResourceManager", 4);
        self.api_params.insert("NtSetInformationTransaction", 4);
        self.api_params
            .insert("NtSetInformationTransactionManager", 4);
        self.api_params.insert("NtSinglePhaseReject", 2);
        self.api_params.insert("ObCloseHandle", 2);
        self.api_params.insert("ObDereferenceObjectDeferDelete", 1);
        self.api_params
            .insert("ObDereferenceObjectDeferDeleteWithTag", 2);
        self.api_params.insert("ObfReferenceObject", 1);
        self.api_params.insert("ObGetObjectSecurity", 3);
        self.api_params.insert("ObInsertObject", 6);
        self.api_params.insert("ObIsKernelHandle", 1);
        self.api_params.insert("ObMakeTemporaryObject", 1);
        self.api_params.insert("ObOpenObjectByPointer", 7);
        self.api_params.insert("ObQueryNameString", 4);
        self.api_params.insert("ObQueryObjectAuditingByHandle", 2);
        self.api_params.insert("ObReferenceObjectByHandle", 6);
        self.api_params
            .insert("ObReferenceObjectByHandleWithTag", 7);
        self.api_params.insert("ObReferenceObjectByPointer", 4);
        self.api_params
            .insert("ObReferenceObjectByPointerWithTag", 5);
        self.api_params.insert("ObReferenceObjectSafe", 1);
        self.api_params.insert("ObRegisterCallbacks", 2);
        self.api_params.insert("ObReleaseObjectSecurity", 2);
        self.api_params.insert("ObUnRegisterCallbacks", 1);
        self.api_params.insert("OffsetClipRgn", 3);
        self.api_params.insert("OffsetRect", 3);
        self.api_params.insert("OffsetRgn", 3);
        self.api_params.insert("OffsetViewportOrgEx", 4);
        self.api_params.insert("OffsetWindowOrgEx", 4);
        self.api_params.insert("OpenEventA", 3);
        self.api_params.insert("OpenEventW", 3);
        self.api_params.insert("OpenMutexW", 3);
        self.api_params.insert("OpenProcess", 3);
        self.api_params.insert("OpenSemaphoreW", 3);
        self.api_params.insert("OpenThread", 3);
        self.api_params.insert("OpenWaitableTimerW", 3);
        self.api_params.insert("PaintDesktop", 1);
        self.api_params.insert("PaintRgn", 2);
        self.api_params.insert("PallocateAdapterChannel", 5);
        self.api_params.insert("PallocateAdapterChannelEx", 8);
        self.api_params.insert("PallocateCommonBuffer", 4);
        self.api_params.insert("PallocateCommonBufferEx", 6);
        self.api_params.insert("PallocateCommonBufferVector", 9);
        self.api_params.insert("PallocateCommonBufferWithBounds", 8);
        self.api_params.insert("PallocateDomainCommonBuffer", 9);
        self.api_params.insert("ParseURLA", 2);
        self.api_params.insert("ParseURLW", 2);
        self.api_params.insert("PatBlt", 6);
        self.api_params.insert("PathAddBackslashA", 1);
        self.api_params.insert("PathAddBackslashW", 1);
        self.api_params.insert("PathAddExtensionA", 2);
        self.api_params.insert("PathAddExtensionW", 2);
        self.api_params.insert("PathAppendA", 2);
        self.api_params.insert("PathAppendW", 2);
        self.api_params.insert("PathBuildRootA", 2);
        self.api_params.insert("PathBuildRootW", 2);
        self.api_params.insert("PathCanonicalizeA", 2);
        self.api_params.insert("PathCanonicalizeW", 2);
        self.api_params.insert("PathCombineA", 3);
        self.api_params.insert("PathCombineW", 3);
        self.api_params.insert("PathCommonPrefixA", 3);
        self.api_params.insert("PathCommonPrefixW", 3);
        self.api_params.insert("PathCompactPathA", 3);
        self.api_params.insert("PathCompactPathExA", 4);
        self.api_params.insert("PathCompactPathExW", 4);
        self.api_params.insert("PathCompactPathW", 3);
        self.api_params.insert("PathCreateFromUrlA", 4);
        self.api_params.insert("PathCreateFromUrlAlloc", 3);
        self.api_params.insert("PathCreateFromUrlW", 4);
        self.api_params.insert("PathFileExistsA", 1);
        self.api_params.insert("PathFileExistsW", 1);
        self.api_params.insert("PathFindExtensionA", 1);
        self.api_params.insert("PathFindExtensionW", 1);
        self.api_params.insert("PathFindFileNameA", 1);
        self.api_params.insert("PathFindFileNameW", 1);
        self.api_params.insert("PathFindNextComponentA", 1);
        self.api_params.insert("PathFindNextComponentW", 1);
        self.api_params.insert("PathFindOnPathA", 2);
        self.api_params.insert("PathFindOnPathW", 2);
        self.api_params.insert("PathFindSuffixArrayA", 3);
        self.api_params.insert("PathFindSuffixArrayW", 3);
        self.api_params.insert("PathGetArgsA", 1);
        self.api_params.insert("PathGetArgsW", 1);
        self.api_params.insert("PathGetCharTypeA", 1);
        self.api_params.insert("PathGetCharTypeW", 1);
        self.api_params.insert("PathGetDriveNumberA", 1);
        self.api_params.insert("PathGetDriveNumberW", 1);
        self.api_params.insert("PathIsContentTypeA", 2);
        self.api_params.insert("PathIsContentTypeW", 2);
        self.api_params.insert("PathIsDirectoryA", 1);
        self.api_params.insert("PathIsDirectoryEmptyA", 1);
        self.api_params.insert("PathIsDirectoryEmptyW", 1);
        self.api_params.insert("PathIsDirectoryW", 1);
        self.api_params.insert("PathIsFileSpecA", 1);
        self.api_params.insert("PathIsFileSpecW", 1);
        self.api_params.insert("PathIsLFNFileSpecA", 1);
        self.api_params.insert("PathIsLFNFileSpecW", 1);
        self.api_params.insert("PathIsNetworkPathA", 1);
        self.api_params.insert("PathIsNetworkPathW", 1);
        self.api_params.insert("PathIsPrefixA", 2);
        self.api_params.insert("PathIsPrefixW", 2);
        self.api_params.insert("PathIsRelativeA", 1);
        self.api_params.insert("PathIsRelativeW", 1);
        self.api_params.insert("PathIsRootA", 1);
        self.api_params.insert("PathIsRootW", 1);
        self.api_params.insert("PathIsSameRootA", 2);
        self.api_params.insert("PathIsSameRootW", 2);
        self.api_params.insert("PathIsSystemFolderA", 2);
        self.api_params.insert("PathIsSystemFolderW", 2);
        self.api_params.insert("PathIsUNCA", 1);
        self.api_params.insert("PathIsUNCServerA", 1);
        self.api_params.insert("PathIsUNCServerShareA", 1);
        self.api_params.insert("PathIsUNCServerShareW", 1);
        self.api_params.insert("PathIsUNCServerW", 1);
        self.api_params.insert("PathIsUNCW", 1);
        self.api_params.insert("PathIsURLA", 1);
        self.api_params.insert("PathIsURLW", 1);
        self.api_params.insert("PathMakePrettyA", 1);
        self.api_params.insert("PathMakePrettyW", 1);
        self.api_params.insert("PathMakeSystemFolderA", 1);
        self.api_params.insert("PathMakeSystemFolderW", 1);
        self.api_params.insert("PathMatchSpecA", 2);
        self.api_params.insert("PathMatchSpecExA", 3);
        self.api_params.insert("PathMatchSpecExW", 3);
        self.api_params.insert("PathMatchSpecW", 2);
        self.api_params.insert("PathParseIconLocationA", 1);
        self.api_params.insert("PathParseIconLocationW", 1);
        self.api_params.insert("PathQuoteSpacesA", 1);
        self.api_params.insert("PathQuoteSpacesW", 1);
        self.api_params.insert("PathRelativePathToA", 5);
        self.api_params.insert("PathRelativePathToW", 5);
        self.api_params.insert("PathRemoveArgsA", 1);
        self.api_params.insert("PathRemoveArgsW", 1);
        self.api_params.insert("PathRemoveBackslashA", 1);
        self.api_params.insert("PathRemoveBackslashW", 1);
        self.api_params.insert("PathRemoveBlanksA", 1);
        self.api_params.insert("PathRemoveBlanksW", 1);
        self.api_params.insert("PathRemoveExtensionA", 1);
        self.api_params.insert("PathRemoveExtensionW", 1);
        self.api_params.insert("PathRemoveFileSpecA", 1);
        self.api_params.insert("PathRemoveFileSpecW", 1);
        self.api_params.insert("PathRenameExtensionA", 2);
        self.api_params.insert("PathRenameExtensionW", 2);
        self.api_params.insert("PathSearchAndQualifyA", 3);
        self.api_params.insert("PathSearchAndQualifyW", 3);
        self.api_params.insert("PathSetDlgItemPathA", 3);
        self.api_params.insert("PathSetDlgItemPathW", 3);
        self.api_params.insert("PathSkipRootA", 1);
        self.api_params.insert("PathSkipRootW", 1);
        self.api_params.insert("PathStripPathA", 1);
        self.api_params.insert("PathStripPathW", 1);
        self.api_params.insert("PathStripToRootA", 1);
        self.api_params.insert("PathStripToRootW", 1);
        self.api_params.insert("PathToRegion", 1);
        self.api_params.insert("PathUndecorateA", 1);
        self.api_params.insert("PathUndecorateW", 1);
        self.api_params.insert("PathUnExpandEnvStringsA", 3);
        self.api_params.insert("PathUnExpandEnvStringsW", 3);
        self.api_params.insert("PathUnmakeSystemFolderA", 1);
        self.api_params.insert("PathUnmakeSystemFolderW", 1);
        self.api_params.insert("PathUnquoteSpacesA", 1);
        self.api_params.insert("PathUnquoteSpacesW", 1);
        self.api_params.insert("PbuildMdlFromScatterGatherList", 4);
        self.api_params.insert("PbuildScatterGatherList", 10);
        self.api_params.insert("PbuildScatterGatherListEx", 15);
        self.api_params.insert("PcalculateScatterGatherListSize", 6);
        self.api_params.insert("PcancelAdapterChannel", 3);
        self.api_params.insert("PcancelMappedTransfer", 2);
        self.api_params.insert("PciMsixMaskunmaskEntry", 2);
        self.api_params.insert("PciMsixSetEntry", 3);
        self.api_params.insert("PclfsClientAdvanceTailCallback", 3);
        self.api_params
            .insert("PclfsClientLffHandlerCompleteCallback", 4);
        self.api_params.insert("PclfsClientLogUnpinnedCallback", 2);
        self.api_params.insert("PconfigureAdapterChannel", 3);
        self.api_params.insert("PfltCompletedAsyncIoCallback", 2);
        self.api_params
            .insert("PfltCompleteLockCallbackDataRoutine", 2);
        self.api_params.insert("PfltContextAllocateCallback", 3);
        self.api_params.insert("PfltContextCleanupCallback", 2);
        self.api_params.insert("PfltContextFreeCallback", 2);
        self.api_params.insert("PfltFilterUnloadCallback", 1);
        self.api_params.insert("PfltGenerateFileName", 6);
        self.api_params.insert("PfltGetOperationStatusCallback", 4);
        self.api_params
            .insert("PfltInstanceQueryTeardownCallback", 2);
        self.api_params.insert("PfltInstanceSetupCallback", 4);
        self.api_params.insert("PfltInstanceTeardownCallback", 2);
        self.api_params.insert("PfltNormalizeContextCleanup", 1);
        self.api_params.insert("PfltNormalizeNameComponent", 8);
        self.api_params.insert("PfltNormalizeNameComponentEx", 9);
        self.api_params.insert("PfltPostOperationCallback", 4);
        self.api_params.insert("PfltPreOperationCallback", 3);
        self.api_params
            .insert("PfltSectionConflictNotificationCallback", 3);
        self.api_params
            .insert("PfltTransactionNotificationCallback", 3);
        self.api_params.insert("PflushAdapterBuffers", 6);
        self.api_params.insert("PflushAdapterBuffersEx", 6);
        self.api_params.insert("PflushDmaBuffer", 3);
        self.api_params.insert("PfreeAdapterChannel", 1);
        self.api_params.insert("PfreeAdapterObject", 2);
        self.api_params.insert("PfreeCommonBuffer", 5);
        self.api_params.insert("PfreeCommonBufferFromVector", 3);
        self.api_params.insert("PfreeCommonBufferVector", 2);
        self.api_params.insert("PfreeMapRegisters", 3);
        self.api_params
            .insert("PfsrtlExtraCreateParameterCleanupCallback", 2);
        self.api_params
            .insert("PgetCommonBufferFromVectorByIndex", 5);
        self.api_params.insert("PgetDmaAdapterInfo", 2);
        self.api_params.insert("PgetDmaAlignment", 1);
        self.api_params.insert("PgetDmaDomain", 1);
        self.api_params.insert("PgetDmaTransferInfo", 6);
        self.api_params.insert("PgetScatterGatherList", 8);
        self.api_params.insert("PgetScatterGatherListEx", 13);
        self.api_params.insert("Pie", 9);
        self.api_params.insert("PinitializeDmaTransferContext", 2);
        self.api_params.insert("PinitOnceFn", 3);
        self.api_params.insert("PinterfaceDereference", 1);
        self.api_params.insert("PinterfaceReference", 1);
        self.api_params.insert("PjoinDmaDomain", 2);
        self.api_params.insert("PlayEnhMetaFile", 3);
        self.api_params.insert("PlayEnhMetaFileRecord", 4);
        self.api_params.insert("PlayMetaFile", 2);
        self.api_params.insert("PlayMetaFileRecord", 4);
        self.api_params.insert("PleaveDmaDomain", 1);
        self.api_params.insert("PlgBlt", 10);
        self.api_params.insert("PlogFullHandlerCallback", 4);
        self.api_params.insert("PlogTailAdvanceCallback", 3);
        self.api_params.insert("PlogUnpinnedCallback", 2);
        self.api_params.insert("PmapTransfer", 6);
        self.api_params.insert("PmapTransferEx", 11);
        self.api_params.insert("PobPostOperationCallback", 2);
        self.api_params.insert("PobPreOperationCallback", 2);
        self.api_params.insert("PoCallDriver", 2);
        self.api_params.insert("PoClearPowerRequest", 2);
        self.api_params.insert("PoCreatePowerRequest", 3);
        self.api_params.insert("PoDeletePowerRequest", 1);
        self.api_params.insert("PoEndDeviceBusy", 1);
        self.api_params.insert("PoFxActivateComponent", 3);
        self.api_params
            .insert("PoFxCompleteDevicePowerNotRequired", 1);
        self.api_params.insert("PoFxCompleteDirectedPowerDown", 1);
        self.api_params.insert("PoFxCompleteIdleCondition", 2);
        self.api_params.insert("PoFxCompleteIdleState", 2);
        self.api_params
            .insert("PoFxComponentActiveConditionCallback", 2);
        self.api_params
            .insert("PoFxComponentCriticalTransitionCallback", 3);
        self.api_params
            .insert("PoFxComponentIdleConditionCallback", 2);
        self.api_params.insert("PoFxComponentIdleStateCallback", 3);
        self.api_params.insert("PoFxComponentPerfStateCallback", 4);
        self.api_params
            .insert("PoFxDevicePowerNotRequiredCallback", 1);
        self.api_params.insert("PoFxDevicePowerRequiredCallback", 1);
        self.api_params.insert("PoFxDirectedPowerDownCallback", 2);
        self.api_params.insert("PoFxDirectedPowerUpCallback", 2);
        self.api_params.insert("PoFxIdleComponent", 3);
        self.api_params
            .insert("PoFxIssueComponentPerfStateChange", 5);
        self.api_params
            .insert("PoFxIssueComponentPerfStateChangeMultiple", 6);
        self.api_params.insert("PoFxNotifySurprisePowerOn", 1);
        self.api_params.insert("PoFxPowerControl", 7);
        self.api_params.insert("PoFxPowerControlCallback", 7);
        self.api_params.insert("PoFxPowerOnCrashdumpDevice", 2);
        self.api_params
            .insert("PoFxQueryCurrentComponentPerfState", 5);
        self.api_params.insert("PoFxRegisterComponentPerfStates", 6);
        self.api_params.insert("PoFxRegisterCrashdumpDevice", 1);
        self.api_params.insert("PoFxRegisterDevice", 3);
        self.api_params.insert("PoFxReportDevicePoweredOn", 1);
        self.api_params.insert("PoFxSetComponentLatency", 3);
        self.api_params.insert("PoFxSetComponentResidency", 3);
        self.api_params.insert("PoFxSetComponentWake", 3);
        self.api_params.insert("PoFxSetDeviceIdleTimeout", 2);
        self.api_params
            .insert("PoFxSetTargetDripsDevicePowerState", 2);
        self.api_params.insert("PoFxStartDevicePowerManagement", 1);
        self.api_params.insert("PoFxUnregisterDevice", 1);
        self.api_params.insert("PoGetSystemWake", 1);
        self.api_params.insert("PolyBezier", 3);
        self.api_params.insert("PolyBezierTo", 3);
        self.api_params.insert("PolyDraw", 4);
        self.api_params.insert("Polygon", 3);
        self.api_params.insert("Polyline", 3);
        self.api_params.insert("PolylineTo", 3);
        self.api_params.insert("PolyPolygon", 4);
        self.api_params.insert("PolyPolyline", 4);
        self.api_params.insert("PolyTextOutA", 3);
        self.api_params.insert("PolyTextOutW", 3);
        self.api_params.insert("PopEntryList", 1);
        self.api_params.insert("PoQueryWatchdogTime", 2);
        self.api_params
            .insert("PoRegisterDeviceForIdleDetection", 4);
        self.api_params.insert("PoRegisterPowerSettingCallback", 5);
        self.api_params.insert("PoRegisterSystemState", 2);
        self.api_params.insert("PoRequestPowerIrp", 6);
        self.api_params.insert("PoSetDeviceBusyEx", 1);
        self.api_params.insert("PoSetPowerRequest", 2);
        self.api_params.insert("PoSetPowerState", 3);
        self.api_params.insert("PoSetSystemState", 1);
        self.api_params.insert("PoSetSystemWake", 1);
        self.api_params.insert("PoSetSystemWakeDevice", 1);
        self.api_params.insert("PoStartDeviceBusy", 1);
        self.api_params.insert("PoStartNextPowerIrp", 1);
        self.api_params
            .insert("PoUnregisterPowerSettingCallback", 1);
        self.api_params.insert("PoUnregisterSystemState", 1);
        self.api_params.insert("PputDmaAdapter", 1);
        self.api_params.insert("PputScatterGatherList", 3);
        self.api_params.insert("PreadDmaCounter", 1);
        self.api_params.insert("PreenumerateSelf", 1);
        self.api_params.insert("PrivacyGetZonePreferenceW", 5);
        self.api_params.insert("PrivacySetZonePreferenceW", 4);
        self.api_params.insert("ProbeForRead", 3);
        self.api_params.insert("ProbeForWrite", 3);
        self.api_params.insert("ProcessorHaltRoutine", 1);
        self.api_params.insert("ProcessSocketNotifications", 7);
        self.api_params.insert("PsAllocateAffinityToken", 1);
        self.api_params.insert("PsChargePoolQuota", 3);
        self.api_params.insert("PsCreateSystemThread", 7);
        self.api_params.insert("PsDereferenceImpersonationToken", 1);
        self.api_params.insert("PsDereferencePrimaryToken", 1);
        self.api_params.insert("PsFreeAffinityToken", 1);
        self.api_params.insert("PsGetCurrentThread", 1);
        self.api_params.insert("PsGetProcessExitTime", 1);
        self.api_params.insert("PsGetVersion", 4);
        self.api_params.insert("PsImpersonateClient", 5);
        self.api_params.insert("PsIsDiskCountersEnabled", 1);
        self.api_params.insert("PsIsThreadTerminating", 1);
        self.api_params.insert("PsLookupProcessByProcessId", 2);
        self.api_params.insert("PsLookupThreadByThreadId", 2);
        self.api_params.insert("PsQueryTotalCycleTimeProcess", 2);
        self.api_params.insert("PsReferenceImpersonationToken", 4);
        self.api_params.insert("PsReferencePrimaryToken", 1);
        self.api_params.insert("PsReturnPoolQuota", 3);
        self.api_params.insert("PsRevertToSelf", 1);
        self.api_params
            .insert("PsRevertToUserMultipleGroupAffinityThread", 1);
        self.api_params
            .insert("PsSetSystemMultipleGroupAffinityThread", 3);
        self.api_params.insert("PsTerminateSystemThread", 1);
        self.api_params.insert("PsUpdateDiskCounters", 6);
        self.api_params.insert("Ptimerapcroutine", 3);
        self.api_params.insert("PtInRect", 2);
        self.api_params.insert("PtInRegion", 3);
        self.api_params.insert("PtmRmNotification", 7);
        self.api_params.insert("PtVisible", 3);
        self.api_params.insert("PushEntryList", 2);
        self.api_params.insert("QISearch", 4);
        self.api_params.insert("QueryDosDeviceW", 3);
        self.api_params.insert("QueryLogPolicy", 4);
        self.api_params.insert("QueryProcessAffinityUpdateMode", 2);
        self.api_params.insert("QueryProtectedPolicy", 2);
        self.api_params.insert("QueryVirtualMemoryCallback", 7);
        self.api_params.insert("QueueUserAPC2", 4);
        self.api_params.insert("QueueUserAPC", 3);
        self.api_params.insert("ReadBooleanRaw", 1);
        self.api_params.insert("ReadFile", 5);
        self.api_params.insert("ReadFileEx", 5);
        self.api_params.insert("ReadFileScatter", 5);
        self.api_params.insert("ReadInt32Acquire", 1);
        self.api_params.insert("ReadInt32NoFence", 1);
        self.api_params.insert("ReadInt32Raw", 1);
        self.api_params.insert("ReadLogNotification", 3);
        self.api_params.insert("READ_PORT_BUFFER_UCHAR", 3);
        self.api_params.insert("READ_PORT_BUFFER_ULONG", 3);
        self.api_params.insert("READ_PORT_BUFFER_USHORT", 3);
        self.api_params.insert("READ_PORT_UCHAR", 1);
        self.api_params.insert("READ_PORT_ULONG", 1);
        self.api_params.insert("READ_PORT_USHORT", 1);
        self.api_params.insert("READ_REGISTER_BUFFER_UCHAR", 3);
        self.api_params.insert("READ_REGISTER_BUFFER_ULONG", 3);
        self.api_params.insert("READ_REGISTER_BUFFER_ULONG64", 3);
        self.api_params.insert("READ_REGISTER_BUFFER_USHORT", 3);
        self.api_params.insert("READ_REGISTER_UCHAR", 1);
        self.api_params.insert("READ_REGISTER_ULONG", 1);
        self.api_params.insert("READ_REGISTER_ULONG64", 1);
        self.api_params.insert("READ_REGISTER_USHORT", 1);
        self.api_params.insert("ReadUInt32Acquire", 1);
        self.api_params.insert("ReadUInt32NoFence", 1);
        self.api_params.insert("ReadUInt32Raw", 1);
        self.api_params.insert("ReadUrlCacheEntryStream", 5);
        self.api_params.insert("_ReadWriteBarrier", 1);
        self.api_params.insert("RealizePalette", 1);
        self.api_params.insert("Rectangle", 5);
        self.api_params.insert("RectInRegion", 2);
        self.api_params.insert("RectVisible", 2);
        self.api_params.insert("recv", 4);
        self.api_params.insert("recvfrom", 6);
        self.api_params.insert("RedrawWindow", 4);
        self.api_params.insert("RegCloseKey", 1);
        self.api_params.insert("RegConnectRegistryA", 3);
        self.api_params.insert("RegConnectRegistryW", 3);
        self.api_params.insert("RegCopyTreeA", 3);
        self.api_params.insert("RegCopyTreeW", 3);
        self.api_params.insert("RegCreateKeyA", 3);
        self.api_params.insert("RegCreateKeyExA", 9);
        self.api_params.insert("RegCreateKeyExW", 9);
        self.api_params.insert("RegCreateKeyTransactedA", 11);
        self.api_params.insert("RegCreateKeyTransactedW", 11);
        self.api_params.insert("RegCreateKeyW", 3);
        self.api_params.insert("RegDeleteKeyA", 2);
        self.api_params.insert("RegDeleteKeyExA", 4);
        self.api_params.insert("RegDeleteKeyExW", 4);
        self.api_params.insert("RegDeleteKeyTransactedA", 6);
        self.api_params.insert("RegDeleteKeyTransactedW", 6);
        self.api_params.insert("RegDeleteKeyValueA", 3);
        self.api_params.insert("RegDeleteKeyValueW", 3);
        self.api_params.insert("RegDeleteKeyW", 2);
        self.api_params.insert("RegDeleteTreeA", 2);
        self.api_params.insert("RegDeleteTreeW", 2);
        self.api_params.insert("RegDeleteValueA", 2);
        self.api_params.insert("RegDeleteValueW", 2);
        self.api_params.insert("RegDisablePredefinedCache", 1);
        self.api_params.insert("RegDisablePredefinedCacheEx", 1);
        self.api_params.insert("RegDisableReflectionKey", 1);
        self.api_params.insert("RegEnableReflectionKey", 1);
        self.api_params.insert("RegEnumKeyA", 4);
        self.api_params.insert("RegEnumKeyExA", 8);
        self.api_params.insert("RegEnumKeyExW", 8);
        self.api_params.insert("RegEnumKeyW", 4);
        self.api_params.insert("RegEnumValueA", 8);
        self.api_params.insert("RegEnumValueW", 8);
        self.api_params.insert("RegFlushKey", 1);
        self.api_params.insert("RegGetValueA", 7);
        self.api_params.insert("RegGetValueW", 7);
        self.api_params.insert("RegisterForLogWriteNotification", 3);
        self.api_params.insert("RegisterManageableLogClient", 2);
        self.api_params.insert("RegLoadAppKeyA", 5);
        self.api_params.insert("RegLoadAppKeyW", 5);
        self.api_params.insert("RegLoadKeyA", 3);
        self.api_params.insert("RegLoadKeyW", 3);
        self.api_params.insert("RegLoadMUIStringA", 7);
        self.api_params.insert("RegLoadMUIStringW", 7);
        self.api_params.insert("RegNotifyChangeKeyValue", 5);
        self.api_params.insert("RegOpenCurrentUser", 2);
        self.api_params.insert("RegOpenKeyA", 3);
        self.api_params.insert("RegOpenKeyExA", 5);
        self.api_params.insert("RegOpenKeyExW", 5);
        self.api_params.insert("RegOpenKeyTransactedA", 7);
        self.api_params.insert("RegOpenKeyTransactedW", 7);
        self.api_params.insert("RegOpenKeyW", 3);
        self.api_params.insert("RegOpenUserClassesRoot", 4);
        self.api_params.insert("RegOverridePredefKey", 2);
        self.api_params.insert("RegQueryInfoKeyA", 12);
        self.api_params.insert("RegQueryInfoKeyW", 12);
        self.api_params.insert("RegQueryMultipleValuesA", 5);
        self.api_params.insert("RegQueryMultipleValuesW", 5);
        self.api_params.insert("RegQueryReflectionKey", 2);
        self.api_params.insert("RegQueryValueA", 4);
        self.api_params.insert("RegQueryValueExA", 6);
        self.api_params.insert("RegQueryValueExW", 6);
        self.api_params.insert("RegQueryValueW", 4);
        self.api_params.insert("RegRenameKey", 3);
        self.api_params.insert("RegReplaceKeyA", 4);
        self.api_params.insert("RegReplaceKeyW", 4);
        self.api_params.insert("RegRestoreKeyA", 3);
        self.api_params.insert("RegRestoreKeyW", 3);
        self.api_params.insert("RegSaveKeyA", 3);
        self.api_params.insert("RegSaveKeyExA", 4);
        self.api_params.insert("RegSaveKeyExW", 4);
        self.api_params.insert("RegSaveKeyW", 3);
        self.api_params.insert("RegSetKeyValueA", 6);
        self.api_params.insert("RegSetKeyValueW", 6);
        self.api_params.insert("RegSetValueA", 5);
        self.api_params.insert("RegSetValueExA", 6);
        self.api_params.insert("RegSetValueExW", 6);
        self.api_params.insert("RegSetValueW", 5);
        self.api_params.insert("RegUnLoadKeyA", 2);
        self.api_params.insert("RegUnLoadKeyW", 2);
        self.api_params.insert("ReleaseDC", 2);
        self.api_params.insert("ReleaseMutex", 1);
        self.api_params.insert("ReleaseSemaphore", 3);
        self.api_params.insert("ReleaseSRWLockExclusive", 1);
        self.api_params.insert("ReleaseSRWLockShared", 1);
        self.api_params.insert("RemoveDirectoryA", 1);
        self.api_params.insert("RemoveDirectoryW", 1);
        self.api_params.insert("RemoveDllDirectory", 1);
        self.api_params.insert("RemoveEntryList", 1);
        self.api_params.insert("RemoveFontMemResourceEx", 1);
        self.api_params.insert("RemoveFontResourceA", 1);
        self.api_params.insert("RemoveFontResourceExA", 3);
        self.api_params.insert("RemoveFontResourceExW", 3);
        self.api_params.insert("RemoveFontResourceW", 1);
        self.api_params.insert("RemoveHeadList", 1);
        self.api_params.insert("RemoveLogPolicy", 2);
        self.api_params.insert("RemoveTailList", 1);
        self.api_params.insert("RequestPowerComplete", 5);
        self.api_params.insert("ResetDCA", 2);
        self.api_params.insert("ResetDCW", 2);
        self.api_params.insert("ResetEvent", 1);
        self.api_params.insert("ResizePalette", 2);
        self.api_params.insert("RestoreDC", 2);
        self.api_params.insert("ResumeSuspendedDownload", 2);
        self.api_params.insert("ResumeThread", 1);
        self.api_params.insert("RetrieveUrlCacheEntryFileA", 4);
        self.api_params.insert("RetrieveUrlCacheEntryFileW", 4);
        self.api_params.insert("RetrieveUrlCacheEntryStreamA", 5);
        self.api_params.insert("RetrieveUrlCacheEntryStreamW", 5);
        self.api_params.insert("RoundRect", 7);
        self.api_params.insert("RtlAbsoluteToSelfRelativeSD", 3);
        self.api_params.insert("RtlAddAccessAllowedAce", 4);
        self.api_params.insert("RtlAddAccessAllowedAceEx", 5);
        self.api_params.insert("RtlAddAce", 5);
        self.api_params.insert("RtlAllocateAndInitializeSid", 11);
        self.api_params.insert("RtlAllocateHeap", 3);
        self.api_params.insert("RtlAnsiStringToUnicodeString", 3);
        self.api_params.insert("RtlAppendStringToString", 2);
        self.api_params.insert("RtlAppendUnicodeStringToString", 2);
        self.api_params.insert("RtlAppendUnicodeToString", 2);
        self.api_params.insert("RtlAreBitsClear", 3);
        self.api_params.insert("RtlAreBitsSet", 3);
        self.api_params.insert("RtlCaptureContext", 1);
        self.api_params.insert("RtlCaptureStackBackTrace", 4);
        self.api_params.insert("RtlCheckBit", 2);
        self.api_params.insert("RtlCheckRegistryKey", 2);
        self.api_params.insert("RtlClearAllBits", 1);
        self.api_params.insert("RtlClearBit", 2);
        self.api_params.insert("RtlClearBits", 3);
        self.api_params.insert("RtlCmDecodeMemIoResource", 2);
        self.api_params.insert("RtlCmEncodeMemIoResource", 4);
        self.api_params.insert("RtlCompareMemory", 3);
        self.api_params.insert("RtlCompareMemoryUlong", 3);
        self.api_params.insert("RtlCompareUnicodeString", 3);
        self.api_params.insert("RtlCompressBuffer", 8);
        self.api_params.insert("RtlCompressChunks", 7);
        self.api_params.insert("RtlConstantTimeEqualMemory", 3);
        self.api_params.insert("RtlConvertLongToLargeInteger", 1);
        self.api_params.insert("RtlConvertSidToUnicodeString", 3);
        self.api_params.insert("RtlConvertUlongToLargeInteger", 1);
        self.api_params.insert("RtlCopyLuid", 2);
        self.api_params.insert("RtlCopyMemoryNonTemporal", 3);
        self.api_params.insert("RtlCopySid", 3);
        self.api_params.insert("RtlCopyUnicodeString", 2);
        self.api_params.insert("RtlCreateAcl", 3);
        self.api_params.insert("RtlCreateHeap", 6);
        self.api_params.insert("RtlCreateRegistryKey", 2);
        self.api_params.insert("RtlCreateSecurityDescriptor", 2);
        self.api_params
            .insert("RtlCreateSecurityDescriptorRelative", 2);
        self.api_params
            .insert("RtlCreateSystemVolumeInformationFolder", 1);
        self.api_params.insert("RtlCreateUnicodeString", 2);
        self.api_params.insert("RtlCustomCPToUnicodeN", 6);
        self.api_params.insert("RtlDecompressBuffer", 6);
        self.api_params.insert("RtlDecompressBufferEx2", 8);
        self.api_params.insert("RtlDecompressBufferEx", 7);
        self.api_params.insert("RtlDecompressChunks", 7);
        self.api_params.insert("RtlDecompressFragment", 8);
        self.api_params.insert("RtlDecompressFragmentEx", 9);
        self.api_params.insert("RtlDeleteAce", 2);
        self.api_params.insert("RtlDeleteRegistryValue", 3);
        self.api_params.insert("RtlDescribeChunk", 5);
        self.api_params.insert("RtlDestroyHeap", 1);
        self.api_params.insert("RtlDowncaseUnicodeChar", 1);
        self.api_params.insert("RtlDowncaseUnicodeString", 3);
        self.api_params.insert("RtlEqualPrefixSid", 2);
        self.api_params.insert("RtlEqualSid", 2);
        self.api_params.insert("RtlEqualUnicodeString", 3);
        self.api_params.insert("RtlFillMemoryNonTemporal", 3);
        self.api_params.insert("RtlFillMemoryUlong", 3);
        self.api_params.insert("RtlFindClearBits", 3);
        self.api_params.insert("RtlFindClearBitsAndSet", 3);
        self.api_params.insert("RtlFindClearRuns", 4);
        self.api_params.insert("RtlFindFirstRunClear", 2);
        self.api_params.insert("RtlFindLastBackwardRunClear", 3);
        self.api_params.insert("RtlFindLeastSignificantBit", 1);
        self.api_params.insert("RtlFindLongestRunClear", 2);
        self.api_params.insert("RtlFindMostSignificantBit", 1);
        self.api_params.insert("RtlFindNextForwardRunClear", 3);
        self.api_params.insert("RtlFindSetBits", 3);
        self.api_params.insert("RtlFindSetBitsAndClear", 3);
        self.api_params.insert("RtlFindUnicodePrefix", 3);
        self.api_params.insert("RtlFreeAnsiString", 1);
        self.api_params.insert("RtlFreeHeap", 3);
        self.api_params.insert("RtlFreeOemString", 1);
        self.api_params.insert("RtlFreeSid", 1);
        self.api_params.insert("RtlFreeUnicodeString", 1);
        self.api_params.insert("RtlFreeUTF8String", 1);
        self.api_params.insert("RtlGenerate8dot3Name", 4);
        self.api_params.insert("RtlGetAce", 3);
        self.api_params.insert("RtlGetCompressionWorkSpaceSize", 3);
        self.api_params.insert("RtlGetDaclSecurityDescriptor", 4);
        self.api_params.insert("RtlGetGroupSecurityDescriptor", 3);
        self.api_params.insert("RtlGetOwnerSecurityDescriptor", 3);
        self.api_params.insert("RtlGetSaclSecurityDescriptor", 4);
        self.api_params.insert("RtlGetVersion", 1);
        self.api_params.insert("RtlGUIDFromString", 2);
        self.api_params.insert("RtlHashUnicodeString", 4);
        self.api_params.insert("RtlHeapCommitRoutine", 3);
        self.api_params.insert("RtlIdentifierAuthoritySid", 1);
        self.api_params.insert("RtlInitAnsiString", 2);
        self.api_params.insert("RtlInitCodePageTable", 2);
        self.api_params.insert("RtlInitializeBitMap", 3);
        self.api_params.insert("RtlInitializeSid", 3);
        self.api_params.insert("RtlInitializeSidEx", 4);
        self.api_params.insert("RtlInitializeUnicodePrefix", 1);
        self.api_params.insert("RtlInitString", 2);
        self.api_params.insert("RtlInitStringEx", 2);
        self.api_params.insert("RtlInitUnicodeString", 2);
        self.api_params.insert("RtlInitUTF8String", 2);
        self.api_params.insert("RtlInitUTF8StringEx", 2);
        self.api_params.insert("RtlInsertUnicodePrefix", 3);
        self.api_params.insert("RtlInt64ToUnicodeString", 3);
        self.api_params.insert("RtlIntegerToUnicodeString", 3);
        self.api_params.insert("RtlIoDecodeMemIoResource", 4);
        self.api_params.insert("RtlIoEncodeMemIoResource", 6);
        self.api_params.insert("RtlIsCloudFilesPlaceholder", 2);
        self.api_params.insert("RtlIsNameLegalDOS8Dot3", 3);
        self.api_params.insert("RtlIsNtDdiVersionAvailable", 1);
        self.api_params.insert("RtlIsPartialPlaceholder", 2);
        self.api_params
            .insert("RtlIsPartialPlaceholderFileHandle", 2);
        self.api_params.insert("RtlIsPartialPlaceholderFileInfo", 3);
        self.api_params
            .insert("RtlIsServicePackVersionInstalled", 1);
        self.api_params.insert("RtlIsValidOemCharacter", 1);
        self.api_params.insert("RtlLengthRequiredSid", 1);
        self.api_params.insert("RtlLengthSecurityDescriptor", 1);
        self.api_params.insert("RtlLengthSid", 1);
        self.api_params.insert("RtlMultiByteToUnicodeN", 5);
        self.api_params.insert("RtlMultiByteToUnicodeSize", 3);
        self.api_params.insert("RtlNextUnicodePrefix", 2);
        self.api_params.insert("RtlNtStatusToDosError", 1);
        self.api_params.insert("RtlNtStatusToDosErrorNoTeb", 1);
        self.api_params.insert("RtlNumberOfClearBits", 1);
        self.api_params.insert("RtlNumberOfSetBits", 1);
        self.api_params.insert("RtlNumberOfSetBitsUlongPtr", 1);
        self.api_params
            .insert("RtlOemStringToCountedUnicodeString", 3);
        self.api_params.insert("RtlOemStringToUnicodeString", 3);
        self.api_params.insert("RtlOemToUnicodeN", 5);
        self.api_params.insert("RtlPrefetchMemoryNonTemporal", 2);
        self.api_params.insert("RtlQueryPackageIdentity", 6);
        self.api_params.insert("RtlQueryPackageIdentityEx", 7);
        self.api_params
            .insert("RtlQueryProcessPlaceholderCompatibilityMode", 1);
        self.api_params.insert("RtlQueryRegistryRoutine", 6);
        self.api_params.insert("RtlQueryRegistryValues", 5);
        self.api_params
            .insert("RtlQueryThreadPlaceholderCompatibilityMode", 1);
        self.api_params.insert("RtlRandom", 1);
        self.api_params.insert("RtlRandomEx", 1);
        self.api_params.insert("RtlRemoveUnicodePrefix", 2);
        self.api_params.insert("RtlReserveChunk", 5);
        self.api_params.insert("RtlSanitizeUnicodeStringPadding", 1);
        self.api_params.insert("RtlSecondsSince1970ToTime", 2);
        self.api_params.insert("RtlSecondsSince1980ToTime", 2);
        self.api_params.insert("RtlSecureZeroMemory", 2);
        self.api_params.insert("RtlSelfRelativeToAbsoluteSD", 11);
        self.api_params.insert("RtlSetAllBits", 1);
        self.api_params.insert("RtlSetBit", 2);
        self.api_params.insert("RtlSetBits", 3);
        self.api_params.insert("RtlSetDaclSecurityDescriptor", 4);
        self.api_params.insert("RtlSetGroupSecurityDescriptor", 3);
        self.api_params.insert("RtlSetOwnerSecurityDescriptor", 3);
        self.api_params
            .insert("RtlSetProcessPlaceholderCompatibilityMode", 1);
        self.api_params
            .insert("RtlSetThreadPlaceholderCompatibilityMode", 1);
        self.api_params.insert("RtlStringFromGUID", 2);
        self.api_params.insert("RtlSubAuthorityCountSid", 1);
        self.api_params.insert("RtlSubAuthoritySid", 2);
        self.api_params.insert("RtlTestBit", 2);
        self.api_params.insert("RtlTimeFieldsToTime", 2);
        self.api_params.insert("RtlTimeToSecondsSince1970", 2);
        self.api_params.insert("RtlTimeToSecondsSince1980", 2);
        self.api_params.insert("RtlTimeToTimeFields", 2);
        self.api_params.insert("RtlUlongByteSwap", 1);
        self.api_params.insert("RtlUlonglongByteSwap", 1);
        self.api_params.insert("RtlUnicodeStringToAnsiString", 3);
        self.api_params
            .insert("RtlUnicodeStringToCountedOemString", 3);
        self.api_params.insert("RtlUnicodeStringToInteger", 3);
        self.api_params.insert("RtlUnicodeStringToOemString", 3);
        self.api_params.insert("RtlUnicodeStringToUTF8String", 3);
        self.api_params.insert("RtlUnicodeToCustomCPN", 6);
        self.api_params.insert("RtlUnicodeToMultiByteN", 5);
        self.api_params.insert("RtlUnicodeToMultiByteSize", 3);
        self.api_params.insert("RtlUnicodeToOemN", 5);
        self.api_params.insert("RtlUnicodeToUTF8N", 5);
        self.api_params.insert("RtlUpcaseUnicodeChar", 1);
        self.api_params
            .insert("RtlUpcaseUnicodeStringToCountedOemString", 3);
        self.api_params
            .insert("RtlUpcaseUnicodeStringToOemString", 3);
        self.api_params.insert("RtlUpcaseUnicodeToCustomCPN", 6);
        self.api_params.insert("RtlUpcaseUnicodeToMultiByteN", 5);
        self.api_params.insert("RtlUpcaseUnicodeToOemN", 5);
        self.api_params.insert("RtlUshortByteSwap", 1);
        self.api_params.insert("RtlUTF8StringToUnicodeString", 3);
        self.api_params.insert("RtlUTF8ToUnicodeN", 5);
        self.api_params
            .insert("RtlValidRelativeSecurityDescriptor", 3);
        self.api_params.insert("RtlValidSecurityDescriptor", 1);
        self.api_params.insert("RtlValidSid", 1);
        self.api_params.insert("RtlVerifyVersionInfo", 3);
        self.api_params.insert("RtlWriteRegistryValue", 6);
        self.api_params.insert("RtlxAnsiStringToUnicodeSize", 1);
        self.api_params.insert("RtlxOemStringToUnicodeSize", 1);
        self.api_params.insert("RtlxUnicodeStringToAnsiSize", 1);
        self.api_params.insert("RtlxUnicodeStringToOemSize", 1);
        self.api_params.insert("RxCreateNetFcb", 4);
        self.api_params.insert("RxCreateNetFobx", 2);
        self.api_params.insert("RxCreateNetRoot", 4);
        self.api_params.insert("RxCreateSrvCall", 4);
        self.api_params.insert("RxCreateSrvOpen", 2);
        self.api_params.insert("RxCreateVNetRoot", 6);
        self.api_params.insert("RxFinalizeNetFobx", 3);
        self.api_params.insert("RxFinalizeNetRoot", 3);
        self.api_params.insert("RxFinalizeSrvCall", 2);
        self.api_params.insert("RxFinalizeSrvOpen", 3);
        self.api_params.insert("RxFinalizeVNetRoot", 3);
        self.api_params.insert("RxFinishFcbInitialization", 3);
        self.api_params.insert("RxGetFileSizeWithLock", 2);
        self.api_params.insert("RxInferFileType", 1);
        self.api_params.insert("RxpDereferenceAndFinalizeNetFcb", 4);
        self.api_params.insert("RxpDereferenceNetFcb", 1);
        self.api_params.insert("RxpReferenceNetFcb", 1);
        self.api_params.insert("RxpTrackDereference", 4);
        self.api_params.insert("RxpTrackReference", 4);
        self.api_params.insert("SaveDC", 1);
        self.api_params.insert("ScaleViewportExtEx", 6);
        self.api_params.insert("ScaleWindowExtEx", 6);
        self.api_params.insert("ScreenToClient", 2);
        self.api_params.insert("SeAccessCheck", 10);
        self.api_params.insert("SeAppendPrivileges", 2);
        self.api_params.insert("SeAssignSecurity", 7);
        self.api_params.insert("SeAssignSecurityEx", 9);
        self.api_params.insert("SeAuditHardLinkCreation", 3);
        self.api_params.insert("SeAuditingFileEvents", 2);
        self.api_params.insert("SeAuditingFileOrGlobalEvents", 3);
        self.api_params.insert("SeAuditingHardLinkEvents", 2);
        self.api_params.insert("SeCaptureSubjectContext", 1);
        self.api_params.insert("SecLookupAccountName", 6);
        self.api_params.insert("SecLookupAccountSid", 6);
        self.api_params.insert("SecLookupWellKnownSid", 4);
        self.api_params.insert("SecMakeSPN", 8);
        self.api_params.insert("SecMakeSPNEx2", 10);
        self.api_params.insert("SecMakeSPNEx", 9);
        self.api_params.insert("SeCreateClientSecurity", 4);
        self.api_params
            .insert("SeCreateClientSecurityFromSubjectContext", 4);
        self.api_params.insert("SeDeassignSecurity", 1);
        self.api_params.insert("SeDeleteClientSecurity", 1);
        self.api_params.insert("SeDeleteObjectAuditAlarm", 2);
        self.api_params.insert("SeFilterToken", 6);
        self.api_params.insert("SeImpersonateClient", 2);
        self.api_params.insert("SeImpersonateClientEx", 2);
        self.api_params.insert("select", 5);
        self.api_params.insert("SelectClipPath", 2);
        self.api_params.insert("SelectClipRgn", 2);
        self.api_params.insert("SelectObject", 2);
        self.api_params.insert("SelectPalette", 3);
        self.api_params.insert("SeLockSubjectContext", 1);
        self.api_params
            .insert("SeMarkLogonSessionForTerminationNotification", 1);
        self.api_params.insert("send", 4);
        self.api_params.insert("SendDlgItemMessageA", 5);
        self.api_params.insert("SendDlgItemMessageW", 5);
        self.api_params.insert("sendto", 6);
        self.api_params.insert("SeOpenObjectAuditAlarm", 9);
        self.api_params.insert("SeOpenObjectForDeleteAuditAlarm", 9);
        self.api_params.insert("SePrivilegeCheck", 3);
        self.api_params.insert("SeQueryAuthenticationIdToken", 2);
        self.api_params.insert("SeQueryInformationToken", 3);
        self.api_params.insert("SeQuerySecurityDescriptorInfo", 4);
        self.api_params.insert("SeQuerySessionIdToken", 2);
        self.api_params
            .insert("SeRegisterLogonSessionTerminatedRoutine", 1);
        self.api_params.insert("SeReleaseSubjectContext", 1);
        self.api_params.insert("SeSetAccessStateGenericMapping", 2);
        self.api_params.insert("SeSetSecurityDescriptorInfo", 6);
        self.api_params.insert("SeSetSecurityDescriptorInfoEx", 7);
        self.api_params.insert("SeSetSessionIdToken", 2);
        self.api_params.insert("SetArcDirection", 2);
        self.api_params.insert("SetBitmapBits", 3);
        self.api_params.insert("SetBitmapDimensionEx", 4);
        self.api_params.insert("SetBkColor", 2);
        self.api_params.insert("SetBkMode", 2);
        self.api_params.insert("SetBoundsRect", 3);
        self.api_params.insert("SetBrushOrgEx", 4);
        self.api_params.insert("SetColorAdjustment", 2);
        self.api_params.insert("SetCriticalSectionSpinCount", 2);
        self.api_params.insert("SetD3coldSupport", 2);
        self.api_params.insert("SetDCBrushColor", 2);
        self.api_params.insert("SetDCPenColor", 2);
        self.api_params.insert("SetDefaultDllDirectories", 1);
        self.api_params.insert("SetDIBColorTable", 4);
        self.api_params.insert("SetDIBits", 7);
        self.api_params.insert("SetDIBitsToDevice", 12);
        self.api_params.insert("SetDlgItemInt", 4);
        self.api_params.insert("SetDlgItemTextA", 3);
        self.api_params.insert("SetDlgItemTextW", 3);
        self.api_params.insert("SetEndOfFile", 1);
        self.api_params.insert("SetEnhMetaFileBits", 2);
        self.api_params.insert("SetEvent", 1);
        self.api_params.insert("SetFileApisToANSI", 1);
        self.api_params.insert("SetFileApisToOEM", 1);
        self.api_params.insert("SetFileAttributesA", 2);
        self.api_params.insert("SetFileAttributesW", 2);
        self.api_params.insert("SetFileInformationByHandle", 4);
        self.api_params.insert("SetFileIoOverlappedRange", 3);
        self.api_params.insert("SetFilePointer", 4);
        self.api_params.insert("SetFilePointerEx", 4);
        self.api_params.insert("SetFileValidData", 2);
        self.api_params.insert("SetGraphicsMode", 2);
        self.api_params.insert("SetLayout", 2);
        self.api_params.insert("SetLogFileSizeWithPolicy", 3);
        self.api_params.insert("SetMapMode", 2);
        self.api_params.insert("SetMapperFlags", 2);
        self.api_params.insert("SetMetaFileBitsEx", 2);
        self.api_params.insert("SetMetaRgn", 1);
        self.api_params.insert("SetMiterLimit", 3);
        self.api_params
            .insert("SeTokenGetNoChildProcessRestricted", 4);
        self.api_params.insert("SeTokenIsAdmin", 1);
        self.api_params
            .insert("SeTokenIsNoChildProcessRestrictionEnforced", 2);
        self.api_params.insert("SeTokenIsRestricted", 1);
        self.api_params
            .insert("SeTokenSetNoChildProcessRestricted", 3);
        self.api_params.insert("SeTokenType", 1);
        self.api_params.insert("SetPaletteEntries", 4);
        self.api_params.insert("SetPixel", 4);
        self.api_params.insert("SetPixelV", 4);
        self.api_params.insert("SetPolyFillMode", 2);
        self.api_params.insert("SetPriorityClass", 2);
        self.api_params.insert("SetProcessAffinityUpdateMode", 2);
        self.api_params
            .insert("SetProcessDynamicEnforcedCetCompatibleRanges", 3);
        self.api_params.insert("SetProcessInformation", 4);
        self.api_params.insert("SetProcessMitigationPolicy", 3);
        self.api_params.insert("SetProcessPriorityBoost", 2);
        self.api_params.insert("SetProcessReference", 1);
        self.api_params.insert("SetProcessShutdownParameters", 2);
        self.api_params.insert("SetProtectedPolicy", 3);
        self.api_params.insert("SetRect", 5);
        self.api_params.insert("SetRectEmpty", 1);
        self.api_params.insert("SetRectRgn", 5);
        self.api_params.insert("SetROP2", 2);
        self.api_params.insert("setsockopt", 5);
        self.api_params.insert("SetStretchBltMode", 2);
        self.api_params.insert("SetSystemPaletteUse", 2);
        self.api_params.insert("SetTextAlign", 2);
        self.api_params.insert("SetTextCharacterExtra", 2);
        self.api_params.insert("SetTextColor", 2);
        self.api_params.insert("SetTextJustification", 3);
        self.api_params.insert("SetThreadDescription", 2);
        self.api_params.insert("SetThreadIdealProcessor", 2);
        self.api_params.insert("SetThreadIdealProcessorEx", 3);
        self.api_params.insert("SetThreadInformation", 4);
        self.api_params.insert("SetThreadPriorityBoost", 2);
        self.api_params.insert("SetThreadStackGuarantee", 1);
        self.api_params.insert("SetUrlCacheEntryGroup", 6);
        self.api_params.insert("SetUrlCacheEntryGroupA", 6);
        self.api_params.insert("SetUrlCacheEntryGroupW", 6);
        self.api_params.insert("SetUrlCacheEntryInfoA", 3);
        self.api_params.insert("SetUrlCacheEntryInfoW", 3);
        self.api_params.insert("SetUrlCacheGroupAttributeA", 5);
        self.api_params.insert("SetUrlCacheGroupAttributeW", 5);
        self.api_params.insert("SetViewportExtEx", 4);
        self.api_params.insert("SetViewportOrgEx", 4);
        self.api_params.insert("SetWaitableTimer", 6);
        self.api_params.insert("SetWaitableTimerEx", 7);
        self.api_params.insert("SetWindowExtEx", 4);
        self.api_params.insert("SetWindowOrgEx", 4);
        self.api_params.insert("SetWindowRgn", 3);
        self.api_params.insert("SetWinMetaFileBits", 4);
        self.api_params.insert("SetWorldTransform", 2);
        self.api_params.insert("SeUnlockSubjectContext", 1);
        self.api_params
            .insert("SeUnregisterLogonSessionTerminatedRoutine", 1);
        self.api_params.insert("SeValidSecurityDescriptor", 2);
        self.api_params.insert("SHAllocShared", 3);
        self.api_params.insert("SHAnsiToAnsi", 3);
        self.api_params.insert("SHAnsiToUnicode", 3);
        self.api_params.insert("SHAutoComplete", 2);
        self.api_params.insert("SHCopyKeyA", 4);
        self.api_params.insert("SHCopyKeyW", 4);
        self.api_params.insert("SHCreateMemStream", 2);
        self.api_params.insert("SHCreateShellPalette", 1);
        self.api_params.insert("SHCreateStreamOnFileA", 3);
        self.api_params.insert("SHCreateStreamOnFileEx", 6);
        self.api_params.insert("SHCreateStreamOnFileW", 3);
        self.api_params.insert("SHCreateThread", 4);
        self.api_params.insert("SHCreateThreadRef", 2);
        self.api_params.insert("SHCreateThreadWithHandle", 5);
        self.api_params.insert("SHDeleteEmptyKeyA", 2);
        self.api_params.insert("SHDeleteEmptyKeyW", 2);
        self.api_params.insert("SHDeleteKeyA", 2);
        self.api_params.insert("SHDeleteKeyW", 2);
        self.api_params.insert("SHDeleteValueA", 3);
        self.api_params.insert("SHDeleteValueW", 3);
        self.api_params.insert("SHEnumKeyExA", 4);
        self.api_params.insert("SHEnumKeyExW", 4);
        self.api_params.insert("SHEnumValueA", 7);
        self.api_params.insert("SHEnumValueW", 7);
        self.api_params.insert("SHFormatDateTimeA", 4);
        self.api_params.insert("SHFormatDateTimeW", 4);
        self.api_params.insert("SHFreeShared", 2);
        self.api_params.insert("SHGetAssocKeys", 3);
        self.api_params.insert("SHGetInverseCMAP", 2);
        self.api_params.insert("SHGetThreadRef", 1);
        self.api_params.insert("SHGetValueA", 6);
        self.api_params.insert("SHGetValueW", 6);
        self.api_params.insert("SHGetViewStatePropertyBag", 5);
        self.api_params.insert("SHGlobalCounterDecrement", 1);
        self.api_params.insert("SHGlobalCounterGetValue", 1);
        self.api_params.insert("SHGlobalCounterIncrement", 1);
        self.api_params.insert("SHIsLowMemoryMachine", 1);
        self.api_params.insert("SHLoadIndirectString", 4);
        self.api_params.insert("SHLocalStrDupA", 2);
        self.api_params.insert("SHLocalStrDupW", 2);
        self.api_params.insert("SHLockShared", 2);
        self.api_params.insert("SHMessageBoxCheckA", 6);
        self.api_params.insert("SHMessageBoxCheckW", 6);
        self.api_params.insert("SHOpenRegStream2A", 4);
        self.api_params.insert("SHOpenRegStream2W", 4);
        self.api_params.insert("SHOpenRegStreamA", 4);
        self.api_params.insert("SHOpenRegStreamW", 4);
        self.api_params.insert("SHQueryInfoKeyA", 5);
        self.api_params.insert("SHQueryInfoKeyW", 5);
        self.api_params.insert("SHQueryValueExA", 6);
        self.api_params.insert("SHQueryValueExW", 6);
        self.api_params.insert("SHRegCloseUSKey", 1);
        self.api_params.insert("SHRegCreateUSKeyA", 5);
        self.api_params.insert("SHRegCreateUSKeyW", 5);
        self.api_params.insert("SHRegDeleteEmptyUSKeyA", 3);
        self.api_params.insert("SHRegDeleteEmptyUSKeyW", 3);
        self.api_params.insert("SHRegDeleteUSValueA", 3);
        self.api_params.insert("SHRegDeleteUSValueW", 3);
        self.api_params.insert("SHRegDuplicateHKey", 1);
        self.api_params.insert("SHRegEnumUSKeyA", 5);
        self.api_params.insert("SHRegEnumUSKeyW", 5);
        self.api_params.insert("SHRegEnumUSValueA", 8);
        self.api_params.insert("SHRegEnumUSValueW", 8);
        self.api_params.insert("SHRegGetBoolUSValueA", 4);
        self.api_params.insert("SHRegGetBoolUSValueW", 4);
        self.api_params.insert("SHRegGetBoolValueFromHKCUHKLM", 3);
        self.api_params.insert("SHRegGetIntW", 3);
        self.api_params.insert("SHRegGetPathA", 5);
        self.api_params.insert("SHRegGetPathW", 5);
        self.api_params.insert("SHRegGetUSValueA", 8);
        self.api_params.insert("SHRegGetUSValueW", 8);
        self.api_params.insert("SHRegGetValueA", 7);
        self.api_params.insert("SHRegGetValueFromHKCUHKLM", 6);
        self.api_params.insert("SHRegGetValueW", 7);
        self.api_params.insert("SHRegOpenUSKeyA", 5);
        self.api_params.insert("SHRegOpenUSKeyW", 5);
        self.api_params.insert("SHRegQueryInfoUSKeyA", 6);
        self.api_params.insert("SHRegQueryInfoUSKeyW", 6);
        self.api_params.insert("SHRegQueryUSValueA", 8);
        self.api_params.insert("SHRegQueryUSValueW", 8);
        self.api_params.insert("SHRegSetPathA", 5);
        self.api_params.insert("SHRegSetPathW", 5);
        self.api_params.insert("SHRegSetUSValueA", 6);
        self.api_params.insert("SHRegSetUSValueW", 6);
        self.api_params.insert("SHRegSetValue", 7);
        self.api_params.insert("SHRegWriteUSValueA", 6);
        self.api_params.insert("SHRegWriteUSValueW", 6);
        self.api_params.insert("SHReleaseThreadRef", 1);
        self.api_params.insert("SHSendMessageBroadcastA", 3);
        self.api_params.insert("SHSendMessageBroadcastW", 3);
        self.api_params.insert("SHSetThreadRef", 1);
        self.api_params.insert("SHSetValueA", 6);
        self.api_params.insert("SHSetValueW", 6);
        self.api_params.insert("SHSkipJunction", 2);
        self.api_params.insert("SHStrDupA", 2);
        self.api_params.insert("SHStrDupW", 2);
        self.api_params.insert("SHStripMneumonicA", 1);
        self.api_params.insert("SHStripMneumonicW", 1);
        self.api_params.insert("SHUnicodeToAnsi", 3);
        self.api_params.insert("SHUnicodeToUnicode", 3);
        self.api_params.insert("SHUnlockShared", 1);
        self.api_params.insert("shutdown", 2);
        self.api_params.insert("SignalObjectAndWait", 4);
        self.api_params.insert("Sleep", 1);
        self.api_params.insert("SleepConditionVariableCS", 3);
        self.api_params.insert("SleepConditionVariableSRW", 4);
        self.api_params.insert("SleepEx", 2);
        self.api_params.insert("socket", 3);
        self.api_params
            .insert("SocketNotificationRetrieveEvents", 1);
        self.api_params.insert("StopWatchFlush", 1);
        self.api_params.insert("StopWatchMode", 1);
        self.api_params.insert("StrCatBuffA", 3);
        self.api_params.insert("StrCatBuffW", 3);
        self.api_params.insert("StrCatChainW", 4);
        self.api_params.insert("StrCatW", 2);
        self.api_params.insert("StrChrA", 2);
        self.api_params.insert("StrChrIA", 2);
        self.api_params.insert("StrChrIW", 2);
        self.api_params.insert("StrChrNIW", 3);
        self.api_params.insert("StrChrNW", 3);
        self.api_params.insert("StrChrW", 2);
        self.api_params.insert("StrCmpCA", 2);
        self.api_params.insert("StrCmpCW", 2);
        self.api_params.insert("StrCmpICA", 2);
        self.api_params.insert("StrCmpICW", 2);
        self.api_params.insert("StrCmpIW", 2);
        self.api_params.insert("StrCmpLogicalW", 2);
        self.api_params.insert("StrCmpNA", 3);
        self.api_params.insert("StrCmpNCA", 3);
        self.api_params.insert("StrCmpNCW", 3);
        self.api_params.insert("StrCmpNIA", 3);
        self.api_params.insert("StrCmpNICA", 3);
        self.api_params.insert("StrCmpNICW", 3);
        self.api_params.insert("StrCmpNIW", 3);
        self.api_params.insert("StrCmpNW", 3);
        self.api_params.insert("StrCmpW", 2);
        self.api_params.insert("StrCpyNW", 3);
        self.api_params.insert("StrCpyW", 2);
        self.api_params.insert("StrCSpnA", 2);
        self.api_params.insert("StrCSpnIA", 2);
        self.api_params.insert("StrCSpnIW", 2);
        self.api_params.insert("StrCSpnW", 2);
        self.api_params.insert("StrDupA", 1);
        self.api_params.insert("StrDupW", 1);
        self.api_params.insert("StretchBlt", 11);
        self.api_params.insert("StretchDIBits", 13);
        self.api_params.insert("StrFormatByteSize64A", 3);
        self.api_params.insert("StrFormatByteSizeA", 3);
        self.api_params.insert("StrFormatByteSizeEx", 4);
        self.api_params.insert("StrFormatByteSizeW", 3);
        self.api_params.insert("StrFormatKBSizeA", 3);
        self.api_params.insert("StrFormatKBSizeW", 3);
        self.api_params.insert("StrFromTimeIntervalA", 4);
        self.api_params.insert("StrFromTimeIntervalW", 4);
        self.api_params.insert("StrIsIntlEqualA", 4);
        self.api_params.insert("StrIsIntlEqualW", 4);
        self.api_params.insert("StrNCatA", 3);
        self.api_params.insert("StrNCatW", 3);
        self.api_params.insert("StrokeAndFillPath", 1);
        self.api_params.insert("StrokePath", 1);
        self.api_params.insert("StrPBrkA", 2);
        self.api_params.insert("StrPBrkW", 2);
        self.api_params.insert("StrRChrA", 3);
        self.api_params.insert("StrRChrIA", 3);
        self.api_params.insert("StrRChrIW", 3);
        self.api_params.insert("StrRChrW", 3);
        self.api_params.insert("StrRetToBSTR", 3);
        self.api_params.insert("StrRetToBufA", 4);
        self.api_params.insert("StrRetToBufW", 4);
        self.api_params.insert("StrRetToStrA", 3);
        self.api_params.insert("StrRetToStrW", 3);
        self.api_params.insert("StrRStrIA", 3);
        self.api_params.insert("StrRStrIW", 3);
        self.api_params.insert("StrSpnA", 2);
        self.api_params.insert("StrSpnW", 2);
        self.api_params.insert("StrStrA", 2);
        self.api_params.insert("StrStrIA", 2);
        self.api_params.insert("StrStrIW", 2);
        self.api_params.insert("StrStrNIW", 3);
        self.api_params.insert("StrStrNW", 3);
        self.api_params.insert("StrStrW", 2);
        self.api_params.insert("StrToInt64ExA", 3);
        self.api_params.insert("StrToInt64ExW", 3);
        self.api_params.insert("StrToIntA", 1);
        self.api_params.insert("StrToIntExA", 3);
        self.api_params.insert("StrToIntExW", 3);
        self.api_params.insert("StrToIntW", 1);
        self.api_params.insert("StrTrimA", 2);
        self.api_params.insert("StrTrimW", 2);
        self.api_params.insert("SubtractRect", 3);
        self.api_params.insert("SuspendThread", 1);
        self.api_params.insert("SwitchToThread", 1);
        self.api_params.insert("TabbedTextOutA", 8);
        self.api_params.insert("TabbedTextOutW", 8);
        self.api_params.insert("TerminateProcess", 2);
        self.api_params.insert("TerminateThread", 2);
        self.api_params.insert("TextOutA", 5);
        self.api_params.insert("TextOutW", 5);
        self.api_params.insert("TlsAlloc", 1);
        self.api_params.insert("TlsFree", 1);
        self.api_params.insert("TlsGetValue", 1);
        self.api_params.insert("TlsSetValue", 2);
        self.api_params.insert("TmCommitComplete", 2);
        self.api_params.insert("TmCommitEnlistment", 2);
        self.api_params.insert("TmCommitTransaction", 2);
        self.api_params.insert("TmCreateEnlistment", 9);
        self.api_params.insert("TmDereferenceEnlistmentKey", 2);
        self.api_params.insert("TmEnableCallbacks", 3);
        self.api_params.insert("TmGetTransactionId", 2);
        self.api_params.insert("TmInitializeTransactionManager", 4);
        self.api_params.insert("TmIsTransactionActive", 1);
        self.api_params.insert("TmPrepareComplete", 2);
        self.api_params.insert("TmPrepareEnlistment", 2);
        self.api_params.insert("TmPrePrepareComplete", 2);
        self.api_params.insert("TmPrePrepareEnlistment", 2);
        self.api_params.insert("TmReadOnlyEnlistment", 2);
        self.api_params.insert("TmRecoverEnlistment", 2);
        self.api_params.insert("TmRecoverResourceManager", 1);
        self.api_params.insert("TmRecoverTransactionManager", 2);
        self.api_params.insert("TmReferenceEnlistmentKey", 2);
        self.api_params.insert("TmRenameTransactionManager", 2);
        self.api_params.insert("TmRequestOutcomeEnlistment", 2);
        self.api_params.insert("TmRollbackComplete", 2);
        self.api_params.insert("TmRollbackEnlistment", 2);
        self.api_params.insert("TmRollbackTransaction", 2);
        self.api_params.insert("TmSinglePhaseReject", 2);
        self.api_params.insert("TranslateBusAddress", 5);
        self.api_params.insert("TransparentBlt", 11);
        self.api_params.insert("TryAcquireSRWLockExclusive", 1);
        self.api_params.insert("TryAcquireSRWLockShared", 1);
        self.api_params.insert("TryEnterCriticalSection", 1);
        self.api_params.insert("UnionRect", 3);
        self.api_params.insert("UnlockFile", 5);
        self.api_params.insert("UnlockFileEx", 5);
        self.api_params.insert("UnlockUrlCacheEntryFile", 2);
        self.api_params.insert("UnlockUrlCacheEntryFileA", 2);
        self.api_params.insert("UnlockUrlCacheEntryFileW", 2);
        self.api_params.insert("UnlockUrlCacheEntryStream", 2);
        self.api_params.insert("UnrealizeObject", 1);
        self.api_params.insert("UpdateColors", 1);
        self.api_params.insert("UpdateProcThreadAttribute", 7);
        self.api_params.insert("UpdateWindow", 1);
        self.api_params.insert("UrlApplySchemeA", 4);
        self.api_params.insert("UrlApplySchemeW", 4);
        self.api_params.insert("UrlCanonicalizeA", 4);
        self.api_params.insert("UrlCanonicalizeW", 4);
        self.api_params.insert("UrlCombineA", 5);
        self.api_params.insert("UrlCombineW", 5);
        self.api_params.insert("UrlCompareA", 3);
        self.api_params.insert("UrlCompareW", 3);
        self.api_params.insert("UrlCreateFromPathA", 4);
        self.api_params.insert("UrlCreateFromPathW", 4);
        self.api_params.insert("UrlEscapeA", 4);
        self.api_params.insert("UrlEscapeW", 4);
        self.api_params.insert("UrlFixupW", 3);
        self.api_params.insert("UrlGetLocationA", 1);
        self.api_params.insert("UrlGetLocationW", 1);
        self.api_params.insert("UrlGetPartA", 5);
        self.api_params.insert("UrlGetPartW", 5);
        self.api_params.insert("UrlHashA", 3);
        self.api_params.insert("UrlHashW", 3);
        self.api_params.insert("UrlIsA", 2);
        self.api_params.insert("UrlIsNoHistoryA", 1);
        self.api_params.insert("UrlIsNoHistoryW", 1);
        self.api_params.insert("UrlIsOpaqueA", 1);
        self.api_params.insert("UrlIsOpaqueW", 1);
        self.api_params.insert("UrlIsW", 2);
        self.api_params.insert("UrlUnescapeA", 4);
        self.api_params.insert("UrlUnescapeW", 4);
        self.api_params.insert("ValidateRect", 2);
        self.api_params.insert("ValidateRgn", 2);
        self.api_params.insert("VslCreateSecureSection", 5);
        self.api_params.insert("VslDeleteSecureSection", 1);
        self.api_params.insert("WaitForMultipleObjects", 4);
        self.api_params.insert("WaitForMultipleObjectsEx", 5);
        self.api_params.insert("WaitForSingleObject", 2);
        self.api_params.insert("WaitForSingleObjectEx", 3);
        self.api_params.insert("WaitOnAddress", 4);
        self.api_params.insert("WakeAllConditionVariable", 1);
        self.api_params.insert("WakeByAddressAll", 1);
        self.api_params.insert("WakeByAddressSingle", 1);
        self.api_params.insert("WakeConditionVariable", 1);
        self.api_params.insert("WhichPlatform", 1);
        self.api_params.insert("WidenPath", 1);
        self.api_params.insert("WindowFromDC", 1);
        self.api_params.insert("WinHttpAddRequestHeaders", 4);
        self.api_params.insert("WinHttpAddRequestHeadersEx", 6);
        self.api_params.insert("WinHttpCheckPlatform", 1);
        self.api_params.insert("WinHttpCloseHandle", 1);
        self.api_params.insert("WinHttpConnect", 4);
        self.api_params.insert("WinHttpCrackUrl", 4);
        self.api_params.insert("WinHttpCreateProxyResolver", 2);
        self.api_params.insert("WinHttpCreateUrl", 4);
        self.api_params.insert("WinHttpDetectAutoProxyConfigUrl", 2);
        self.api_params.insert("WinHttpFreeProxyResult", 1);
        self.api_params.insert("WinHttpFreeProxySettingsEx", 2);
        self.api_params
            .insert("WinHttpFreeQueryConnectionGroupResult", 1);
        self.api_params
            .insert("WinHttpGetDefaultProxyConfiguration", 1);
        self.api_params
            .insert("WinHttpGetIEProxyConfigForCurrentUser", 1);
        self.api_params.insert("WinHttpGetProxyForUrl", 4);
        self.api_params.insert("WinHttpGetProxyForUrlEx", 4);
        self.api_params.insert("WinHttpGetProxyResult", 2);
        self.api_params.insert("WinHttpGetProxySettingsEx", 4);
        self.api_params.insert("WinHttpGetProxySettingsResultEx", 2);
        self.api_params.insert("WinHttpOpen", 5);
        self.api_params.insert("WinHttpOpenRequest", 7);
        self.api_params.insert("WinhttpProxyChangeCallback", 2);
        self.api_params.insert("WinHttpQueryAuthSchemes", 4);
        self.api_params.insert("WinHttpQueryConnectionGroup", 4);
        self.api_params.insert("WinHttpQueryDataAvailable", 2);
        self.api_params.insert("WinHttpQueryHeaders", 6);
        self.api_params.insert("WinHttpQueryHeadersEx", 10);
        self.api_params.insert("WinHttpQueryOption", 4);
        self.api_params.insert("WinHttpReadData", 4);
        self.api_params.insert("WinHttpReadDataEx", 7);
        self.api_params.insert("WinHttpReceiveResponse", 2);
        self.api_params
            .insert("WinHttpRegisterProxyChangeNotification", 4);
        self.api_params.insert("WinHttpResetAutoProxy", 2);
        self.api_params.insert("WinHttpSendRequest", 7);
        self.api_params.insert("WinHttpSetCredentials", 6);
        self.api_params
            .insert("WinHttpSetDefaultProxyConfiguration", 1);
        self.api_params.insert("WinHttpSetOption", 4);
        self.api_params.insert("WinHttpSetStatusCallback", 4);
        self.api_params.insert("WinHttpSetTimeouts", 5);
        self.api_params.insert("WinhttpStatusCallback", 5);
        self.api_params.insert("WinHttpTimeFromSystemTime", 2);
        self.api_params.insert("WinHttpTimeToSystemTime", 2);
        self.api_params
            .insert("WinHttpUnregisterProxyChangeNotification", 1);
        self.api_params.insert("WinHttpWebSocketClose", 4);
        self.api_params.insert("WinHttpWebSocketCompleteUpgrade", 2);
        self.api_params
            .insert("WinHttpWebSocketQueryCloseStatus", 5);
        self.api_params.insert("WinHttpWebSocketReceive", 5);
        self.api_params.insert("WinHttpWebSocketSend", 4);
        self.api_params.insert("WinHttpWebSocketShutdown", 4);
        self.api_params.insert("WinHttpWriteData", 4);
        self.api_params.insert("WmiQueryTraceInformation", 5);
        self.api_params.insert("WmiTraceMessage", 5);
        self.api_params.insert("WmiTraceMessageVa", 5);
        self.api_params.insert("wnsprintfA", 4);
        self.api_params.insert("wnsprintfW", 4);
        self.api_params.insert("WriteFile", 5);
        self.api_params.insert("WriteFileEx", 5);
        self.api_params.insert("WriteFileGather", 5);
        self.api_params.insert("WriteInt32NoFence", 2);
        self.api_params.insert("WriteInt32Raw", 2);
        self.api_params.insert("WriteInt32Release", 2);
        self.api_params.insert("WRITE_PORT_BUFFER_UCHAR", 3);
        self.api_params.insert("WRITE_PORT_BUFFER_ULONG", 3);
        self.api_params.insert("WRITE_PORT_BUFFER_USHORT", 3);
        self.api_params.insert("WRITE_PORT_UCHAR", 2);
        self.api_params.insert("WRITE_PORT_ULONG", 2);
        self.api_params.insert("WRITE_PORT_USHORT", 2);
        self.api_params.insert("WRITE_REGISTER_BUFFER_UCHAR", 3);
        self.api_params.insert("WRITE_REGISTER_BUFFER_ULONG", 3);
        self.api_params.insert("WRITE_REGISTER_BUFFER_ULONG64", 3);
        self.api_params.insert("WRITE_REGISTER_BUFFER_USHORT", 3);
        self.api_params.insert("WRITE_REGISTER_UCHAR", 2);
        self.api_params.insert("WRITE_REGISTER_ULONG", 2);
        self.api_params.insert("WRITE_REGISTER_ULONG64", 2);
        self.api_params.insert("WRITE_REGISTER_USHORT", 2);
        self.api_params.insert("WriteUInt32NoFence", 2);
        self.api_params.insert("WriteUInt32Raw", 2);
        self.api_params.insert("WriteUInt32Release", 2);
        self.api_params.insert("WSAAccept", 5);
        self.api_params.insert("WSAAddressToStringA", 5);
        self.api_params.insert("WSAAddressToStringW", 5);
        self.api_params.insert("WSAAsyncGetHostByAddr", 7);
        self.api_params.insert("WSAAsyncGetHostByName", 5);
        self.api_params.insert("WSAAsyncGetProtoByName", 5);
        self.api_params.insert("WSAAsyncGetProtoByNumber", 5);
        self.api_params.insert("WSAAsyncGetServByName", 6);
        self.api_params.insert("WSAAsyncGetServByPort", 6);
        self.api_params.insert("WSAAsyncSelect", 4);
        self.api_params.insert("WSACancelAsyncRequest", 1);
        self.api_params.insert("WSACancelBlockingCall", 1);
        self.api_params.insert("WSACleanup", 1);
        self.api_params.insert("WSACloseEvent", 1);
        self.api_params.insert("WSAConnect", 7);
        self.api_params.insert("WSAConnectByList", 8);
        self.api_params.insert("WSAConnectByNameA", 9);
        self.api_params.insert("WSAConnectByNameW", 9);
        self.api_params.insert("WSACreateEvent", 1);
        self.api_params.insert("WSADuplicateSocketA", 3);
        self.api_params.insert("WSADuplicateSocketW", 3);
        self.api_params.insert("WSAEnumNameSpaceProvidersA", 2);
        self.api_params.insert("WSAEnumNameSpaceProvidersExA", 2);
        self.api_params.insert("WSAEnumNameSpaceProvidersExW", 2);
        self.api_params.insert("WSAEnumNameSpaceProvidersW", 2);
        self.api_params.insert("WSAEnumNetworkEvents", 3);
        self.api_params.insert("WSAEnumProtocolsA", 3);
        self.api_params.insert("WSAEnumProtocolsW", 3);
        self.api_params.insert("WSAEventSelect", 3);
        self.api_params.insert("__WSAFDIsSet", 2);
        self.api_params.insert("WSAGetLastError", 1);
        self.api_params.insert("WSAGetOverlappedResult", 5);
        self.api_params.insert("WSAGetQOSByName", 3);
        self.api_params.insert("WSAGetServiceClassInfoA", 4);
        self.api_params.insert("WSAGetServiceClassInfoW", 4);
        self.api_params
            .insert("WSAGetServiceClassNameByClassIdA", 3);
        self.api_params
            .insert("WSAGetServiceClassNameByClassIdW", 3);
        self.api_params.insert("WSAHtonl", 3);
        self.api_params.insert("WSAHtons", 3);
        self.api_params.insert("WSAInstallServiceClassA", 1);
        self.api_params.insert("WSAInstallServiceClassW", 1);
        self.api_params.insert("WSAIoctl", 9);
        self.api_params.insert("WSAIsBlocking", 1);
        self.api_params.insert("WSAJoinLeaf", 8);
        self.api_params.insert("WSALookupServiceBeginA", 3);
        self.api_params.insert("WSALookupServiceBeginW", 3);
        self.api_params.insert("WSALookupServiceEnd", 1);
        self.api_params.insert("WSALookupServiceNextA", 4);
        self.api_params.insert("WSALookupServiceNextW", 4);
        self.api_params.insert("WSANSPIoctl", 8);
        self.api_params.insert("WSANtohl", 3);
        self.api_params.insert("WSANtohs", 3);
        self.api_params.insert("WSAPoll", 3);
        self.api_params.insert("WSAProviderConfigChange", 3);
        self.api_params.insert("WSARecv", 7);
        self.api_params.insert("WSARecvDisconnect", 2);
        self.api_params.insert("WSARecvFrom", 9);
        self.api_params.insert("WSARemoveServiceClass", 1);
        self.api_params.insert("WSAResetEvent", 1);
        self.api_params.insert("WSASend", 7);
        self.api_params.insert("WSASendDisconnect", 2);
        self.api_params.insert("WSASendMsg", 6);
        self.api_params.insert("WSASendTo", 9);
        self.api_params.insert("WSASetBlockingHook", 1);
        self.api_params.insert("WSASetEvent", 1);
        self.api_params.insert("WSASetLastError", 1);
        self.api_params.insert("WSASetServiceA", 3);
        self.api_params.insert("WSASetServiceW", 3);
        self.api_params.insert("WSASocketA", 6);
        self.api_params.insert("WSASocketW", 6);
        self.api_params.insert("WSAStartup", 2);
        self.api_params.insert("WSAStringToAddressA", 5);
        self.api_params.insert("WSAStringToAddressW", 5);
        self.api_params.insert("WSAUnhookBlockingHook", 1);
        self.api_params.insert("WSAWaitForMultipleEvents", 5);
        self.api_params.insert("wvnsprintfA", 4);
        self.api_params.insert("wvnsprintfW", 4);
        self.api_params.insert("ZwClose", 1);
        self.api_params.insert("ZwCommitComplete", 2);
        self.api_params.insert("ZwCommitEnlistment", 2);
        self.api_params.insert("ZwCommitTransaction", 2);
        self.api_params.insert("ZwCreateDirectoryObject", 3);
        self.api_params.insert("ZwCreateEnlistment", 8);
        self.api_params.insert("ZwCreateFile", 11);
        self.api_params.insert("ZwCreateKey", 7);
        self.api_params.insert("ZwCreateKeyTransacted", 8);
        self.api_params.insert("ZwCreateResourceManager", 7);
        self.api_params.insert("ZwCreateSection", 7);
        self.api_params.insert("ZwCreateTransaction", 10);
        self.api_params.insert("ZwCreateTransactionManager", 6);
        self.api_params.insert("ZwDeleteKey", 1);
        self.api_params.insert("ZwDeleteValueKey", 2);
        self.api_params.insert("ZwEnumerateKey", 6);
        self.api_params.insert("ZwEnumerateTransactionObject", 5);
        self.api_params.insert("ZwEnumerateValueKey", 6);
        self.api_params.insert("ZwFlushKey", 1);
        self.api_params
            .insert("ZwGetNotificationResourceManager", 7);
        self.api_params.insert("ZwLoadDriver", 1);
        self.api_params.insert("ZwMakeTemporaryObject", 1);
        self.api_params.insert("ZwMapViewOfSection", 10);
        self.api_params.insert("ZwOpenEnlistment", 5);
        self.api_params.insert("ZwOpenEvent", 3);
        self.api_params.insert("ZwOpenFile", 6);
        self.api_params.insert("ZwOpenKey", 3);
        self.api_params.insert("ZwOpenKeyEx", 4);
        self.api_params.insert("ZwOpenKeyTransacted", 4);
        self.api_params.insert("ZwOpenKeyTransactedEx", 5);
        self.api_params.insert("ZwOpenResourceManager", 5);
        self.api_params.insert("ZwOpenSection", 3);
        self.api_params.insert("ZwOpenSymbolicLinkObject", 3);
        self.api_params.insert("ZwOpenTransaction", 5);
        self.api_params.insert("ZwOpenTransactionManager", 6);
        self.api_params.insert("ZwPrepareComplete", 2);
        self.api_params.insert("ZwPrepareEnlistment", 2);
        self.api_params.insert("ZwPrePrepareComplete", 2);
        self.api_params.insert("ZwPrePrepareEnlistment", 2);
        self.api_params.insert("ZwQueryFullAttributesFile", 2);
        self.api_params.insert("ZwQueryInformationByName", 5);
        self.api_params.insert("ZwQueryInformationEnlistment", 5);
        self.api_params.insert("ZwQueryInformationFile", 5);
        self.api_params
            .insert("ZwQueryInformationResourceManager", 5);
        self.api_params.insert("ZwQueryInformationTransaction", 5);
        self.api_params
            .insert("ZwQueryInformationTransactionManager", 5);
        self.api_params.insert("ZwQueryKey", 5);
        self.api_params.insert("ZwQuerySymbolicLinkObject", 3);
        self.api_params.insert("ZwQueryValueKey", 6);
        self.api_params.insert("ZwReadFile", 9);
        self.api_params.insert("ZwReadOnlyEnlistment", 2);
        self.api_params.insert("ZwRecoverEnlistment", 2);
        self.api_params.insert("ZwRecoverResourceManager", 1);
        self.api_params.insert("ZwRecoverTransactionManager", 1);
        self.api_params.insert("ZwRollbackComplete", 2);
        self.api_params.insert("ZwRollbackEnlistment", 2);
        self.api_params.insert("ZwRollbackTransaction", 2);
        self.api_params.insert("ZwRollforwardTransactionManager", 2);
        self.api_params.insert("ZwSetInformationEnlistment", 4);
        self.api_params.insert("ZwSetInformationFile", 5);
        self.api_params.insert("ZwSetInformationResourceManager", 4);
        self.api_params.insert("ZwSetInformationTransaction", 4);
        self.api_params.insert("ZwSetValueKey", 6);
        self.api_params.insert("ZwSinglePhaseReject", 2);
        self.api_params.insert("ZwUnloadDriver", 1);
        self.api_params.insert("ZwUnmapViewOfSection", 2);
        self.api_params.insert("ZwWriteFile", 9);
        self.api_params.insert("HeapLock", 1);
        self.api_params.insert("GetProcessHeap", 1);
        self.api_params.insert("HeapFree", 3);
        self.api_params.insert("HeapCreate", 3);
        self.api_params.insert("HeapSetInformation", 4);
        self.api_params.insert("HeapSize", 3);
        self.api_params.insert("HeapWalk", 2);
        self.api_params.insert("HeapValidate", 3);
        self.api_params.insert("GetProcessHeaps", 2);
        self.api_params.insert("HeapQueryInformation", 5);
        self.api_params.insert("HeapDestroy", 1);
        self.api_params.insert("HeapCompact", 2);
        self.api_params.insert("HeapReAlloc", 4);
        self.api_params.insert("HeapAlloc", 3);
        self.api_params.insert("HeapUnlock", 1);
        self.api_params.insert("RtlEncodePointer", 1);
        self.api_params.insert("ChangeWindowMessageFilter", 2);
        self.api_params.insert("GetClassNameW", 3);
        self.api_params.insert("GetWindowTextA", 3);
        self.api_params.insert("DestroyWindow", 1);
        self.api_params.insert("BroadcastSystemMessage", 5);
        self.api_params.insert("SetClassLongPtrA", 3);
        self.api_params.insert("EnumPropsW", 2);
        self.api_params.insert("GetClassLongPtrA", 2);
        self.api_params.insert("InSendMessageEx", 1);
        self.api_params.insert("SetWindowLongW", 3);
        self.api_params.insert("GetWindowDisplayAffinity", 2);
        self.api_params.insert("FindWindowExW", 4);
        self.api_params.insert("GetWindowRect", 2);
        self.api_params.insert("WindowFromPhysicalPoint", 1);
        self.api_params.insert("EnumPropsExA", 3);
        self.api_params.insert("AnimateWindow", 3);
        self.api_params.insert("LockSetForegroundWindow", 1);
        self.api_params.insert("IsWindow", 1);
        self.api_params.insert("SetClassLongA", 3);
        self.api_params.insert("CreateMDIWindowW", 10);
        self.api_params.insert("IsHungAppWindow", 1);
        self.api_params.insert("GetWindowThreadProcessId", 2);
        self.api_params.insert("ChangeWindowMessageFilterEx", 4);
        self.api_params.insert("GetWindowLongPtrW", 2);
        self.api_params.insert("SwitchToThisWindow", 2);
        self.api_params.insert("BroadcastSystemMessageExW", 6);
        self.api_params.insert("SendNotifyMessageA", 4);
        self.api_params.insert("GetWindowTextLengthW", 1);
        self.api_params.insert("GetPropA", 2);
        self.api_params.insert("RegisterClassExW", 1);
        self.api_params.insert("InSendMessage", 1);
        self.api_params.insert("PeekMessageW", 5);
        self.api_params.insert("GetClassLongW", 2);
        self.api_params.insert("RegisterShellHookWindow", 1);
        self.api_params.insert("GetWindow", 2);
        self.api_params.insert("GetClassInfoExA", 3);
        self.api_params.insert("SetPropA", 3);
        self.api_params.insert("Propenumprocexa", 4);
        self.api_params.insert("GetMessagePos", 1);
        self.api_params.insert("UnregisterClassA", 2);
        self.api_params.insert("IsIconic", 1);
        self.api_params.insert("GetQueueStatus", 1);
        self.api_params.insert("IsWindowVisible", 1);
        self.api_params.insert("GetClassInfoExW", 3);
        self.api_params.insert("SendMessageW", 4);
        self.api_params.insert("SendMessageCallbackA", 6);
        self.api_params.insert("FindWindowExA", 4);
        self.api_params.insert("UpdateLayeredWindow", 9);
        self.api_params.insert("FindWindowA", 2);
        self.api_params.insert("SetCoalescableTimer", 5);
        self.api_params.insert("SetMessageExtraInfo", 1);
        self.api_params.insert("SetWindowLongA", 3);
        self.api_params.insert("UnregisterClassW", 2);
        self.api_params.insert("WaitMessage", 1);
        self.api_params.insert("Propenumprocexw", 4);
        self.api_params.insert("RegisterClassExA", 1);
        self.api_params.insert("Propenumproca", 3);
        self.api_params.insert("LogicalToPhysicalPoint", 2);
        self.api_params.insert("GetInputState", 1);
        self.api_params.insert("GetMessage", 4);
        self.api_params.insert("GetWindowTextW", 3);
        self.api_params.insert("KillTimer", 2);
        self.api_params.insert("GetLayeredWindowAttributes", 4);
        self.api_params.insert("PostQuitMessage", 1);
        self.api_params.insert("RegisterClassA", 1);
        self.api_params.insert("SystemParametersInfoA", 4);
        self.api_params.insert("GetWindowLongPtrA", 2);
        self.api_params.insert("DispatchMessageW", 1);
        self.api_params.insert("BroadcastSystemMessageExA", 6);
        self.api_params.insert("CreateWindowExW", 12);
        self.api_params.insert("RemovePropA", 2);
        self.api_params.insert("InternalGetWindowText", 3);
        self.api_params.insert("ReplyMessage", 1);
        self.api_params.insert("SendMessageA", 4);
        self.api_params.insert("RemovePropW", 2);
        self.api_params.insert("ShowWindowAsync", 2);
        self.api_params.insert("PostMessageW", 4);
        self.api_params.insert("AllowSetForegroundWindow", 1);
        self.api_params.insert("CreateWindowExA", 12);
        self.api_params.insert("DispatchMessage", 1);
        self.api_params.insert("SendMessage", 4);
        self.api_params.insert("CallMsgFilterW", 2);
        self.api_params.insert("Timerproc", 4);
        self.api_params.insert("GetWindowPlacement", 2);
        self.api_params.insert("PostMessageA", 4);
        self.api_params.insert("SetTimer", 4);
        self.api_params.insert("SetWindowLongPtrA", 3);
        self.api_params.insert("TranslateMessage", 1);
        self.api_params.insert("BroadcastSystemMessageW", 5);
        self.api_params.insert("ShowOwnedPopups", 2);
        self.api_params.insert("PostThreadMessageA", 4);
        self.api_params.insert("SendMessageTimeoutW", 7);
        self.api_params.insert("GetWindowTextLengthA", 1);
        self.api_params.insert("RealGetWindowClassA", 3);
        self.api_params.insert("GetWindowModuleFileNameW", 3);
        self.api_params.insert("DefWindowProcA", 4);
        self.api_params.insert("GetClassInfoA", 3);
        self.api_params.insert("GetParent", 1);
        self.api_params.insert("SetWindowsHookExA", 4);
        self.api_params.insert("GetTitleBarInfo", 2);
        self.api_params.insert("IsProcessDPIAware", 1);
        self.api_params.insert("IsZoomed", 1);
        self.api_params.insert("EnumPropsA", 2);
        self.api_params.insert("GetDesktopWindow", 1);
        self.api_params.insert("GetLastActivePopup", 1);
        self.api_params.insert("RegisterWindowMessageA", 1);
        self.api_params.insert("ChildWindowFromPoint", 2);
        self.api_params.insert("GetClassName", 3);
        self.api_params.insert("ShowWindow", 2);
        self.api_params.insert("ArrangeIconicWindows", 1);
        self.api_params.insert("GetClassLongA", 2);
        self.api_params.insert("OpenIcon", 1);
        self.api_params.insert("SendMessageTimeoutA", 7);
        self.api_params.insert("GetWindowInfo", 2);
        self.api_params.insert("FindWindowW", 2);
        self.api_params.insert("GetMessageA", 4);
        self.api_params.insert("SetWindowTextW", 2);
        self.api_params.insert("SendMessageCallbackW", 6);
        self.api_params.insert("Wndproc", 4);
        self.api_params.insert("SystemParametersInfoW", 4);
        self.api_params.insert("Propenumprocw", 3);
        self.api_params.insert("DefFrameProcW", 5);
        self.api_params.insert("SetClassLongW", 3);
        self.api_params.insert("CallNextHookEx", 4);
        self.api_params.insert("SetForegroundWindow", 1);
        self.api_params.insert("CallWindowProcW", 5);
        self.api_params.insert("EnumChildWindows", 3);
        self.api_params.insert("EnumPropsExW", 3);
        self.api_params.insert("PostThreadMessageW", 4);
        self.api_params.insert("RegisterWindowMessageW", 1);
        self.api_params.insert("SetParent", 2);
        self.api_params.insert("CreateMDIWindowA", 10);
        self.api_params.insert("GetGUIThreadInfo", 2);
        self.api_params.insert("EnumThreadWindows", 3);
        self.api_params.insert("GetClientRect", 2);
        self.api_params.insert("PhysicalToLogicalPoint", 2);
        self.api_params.insert("BroadcastSystemMessageA", 5);
        self.api_params.insert("DefWindowProcW", 4);
        self.api_params.insert("GetPropW", 2);
        self.api_params.insert("IsChild", 2);
        self.api_params.insert("GetShellWindow", 1);
        self.api_params.insert("DefMDIChildProcA", 4);
        self.api_params.insert("GetClassLongPtrW", 2);
        self.api_params.insert("BringWindowToTop", 1);
        self.api_params.insert("DeregisterShellHookWindow", 1);
        self.api_params.insert("SetProcessDPIAware", 1);
        self.api_params.insert("SendNotifyMessageW", 4);
        self.api_params.insert("PeekMessageA", 5);
        self.api_params.insert("WindowFromPoint", 1);
        self.api_params.insert("GetClassWord", 2);
        self.api_params.insert("IsWindowUnicode", 1);
        self.api_params.insert("GetMessageExtraInfo", 1);
        self.api_params.insert("UnhookWindowsHookEx", 1);
        self.api_params.insert("GetForegroundWindow", 1);
        self.api_params.insert("SetClassLongPtrW", 3);
        self.api_params.insert("CascadeWindows", 5);
        self.api_params.insert("EndTask", 3);
        self.api_params.insert("SetLayeredWindowAttributes", 4);
        self.api_params.insert("AnyPopup", 1);
        self.api_params.insert("MoveWindow", 6);
        self.api_params.insert("GetTopWindow", 1);
        self.api_params
            .insert("SetAdditionalForegroundBoostProcesses", 3);
        self.api_params.insert("SetWindowDisplayAffinity", 2);
        self.api_params.insert("RealGetWindowClassW", 3);
        self.api_params.insert("RegisterClassW", 1);
        self.api_params.insert("CallMsgFilterA", 2);
        self.api_params.insert("GetSysColor", 1);
        self.api_params.insert("SetWindowPlacement", 2);
        self.api_params.insert("SetProcessDefaultLayout", 1);
        self.api_params.insert("SetWindowTextA", 2);
        self.api_params.insert("GetWindowModuleFileNameA", 3);
        self.api_params.insert("GetWindowLongW", 2);
        self.api_params.insert("SetPropW", 3);
        self.api_params.insert("SetWindowLongPtrW", 3);
        self.api_params.insert("AdjustWindowRect", 3);
        self.api_params.insert("GetClassInfoW", 3);
        self.api_params.insert("DefMDIChildProcW", 4);
        self.api_params.insert("SetWindowPos", 7);
        self.api_params.insert("TileWindows", 5);
        self.api_params.insert("GetProcessDefaultLayout", 1);
        self.api_params.insert("BeginDeferWindowPos", 1);
        self.api_params.insert("RealChildWindowFromPoint", 2);
        self.api_params.insert("EndDeferWindowPos", 1);
        self.api_params.insert("CalculatePopupWindowPosition", 5);
        self.api_params.insert("GetMessageW", 4);
        self.api_params.insert("TranslateMDISysAccel", 2);
        self.api_params.insert("DefFrameProcA", 5);
        self.api_params.insert("GetClassNameA", 3);
        self.api_params.insert("SetClassWord", 3);
        self.api_params.insert("GetMessageTime", 1);
        self.api_params.insert("DispatchMessageA", 1);
        self.api_params.insert("GetWindowLongA", 2);
        self.api_params.insert("CallWindowProcA", 5);
        self.api_params.insert("EnumWindows", 2);
        self.api_params.insert("SetWindowsHookExW", 4);
        self.api_params.insert("GetAltTabInfoA", 5);
        self.api_params.insert("Sendasyncproc", 4);
        self.api_params.insert("SetSysColors", 3);
        self.api_params.insert("IsGUIThread", 1);
        self.api_params.insert("CloseWindow", 1);
        self.api_params.insert("GetAncestor", 2);
        self.api_params.insert("SoundSentry", 1);
        self.api_params.insert("ChildWindowFromPointEx", 3);
        self.api_params.insert("AdjustWindowRectEx", 4);
        self.api_params.insert("Hookproc", 3);
        self.api_params.insert("GetSystemMetrics", 1);
        self.api_params.insert("GetAltTabInfoW", 5);
        self.api_params.insert("DeferWindowPos", 8);
        self.api_params.insert("CommandLineToArgvW", 2);
        self.api_params.insert("FindExecutableA", 3);
        self.api_params.insert("SHEmptyRecycleBinA", 3);
        self.api_params.insert("SHGetStockIconInfo", 3);
        self.api_params.insert("ExtractAssociatedIconW", 3);
        self.api_params.insert("SHFileOperationW", 1);
        self.api_params.insert("SHGetDriveMedia", 2);
        self.api_params.insert("FindExecutableW", 3);
        self.api_params.insert("ShellMessageBoxW", 6);
        self.api_params.insert("SHFreeNameMappings", 1);
        self.api_params.insert("SHGetUnreadMailCountA", 6);
        self.api_params.insert("SHSetUnreadMailCountW", 3);
        self.api_params.insert("SHGetDiskFreeSpaceExW", 4);
        self.api_params
            .insert("SHLoadNonloadedIconOverlayIdentifiers", 1);
        self.api_params.insert("ShellAboutA", 4);
        self.api_params.insert("Shell_NotifyIconGetRect", 2);
        self.api_params.insert("SHGetNewLinkInfoA", 5);
        self.api_params.insert("ExtractAssociatedIconA", 3);
        self.api_params.insert("Shell_NotifyIconW", 2);
        self.api_params.insert("ExtractIconA", 3);
        self.api_params.insert("SHQueryRecycleBinW", 2);
        self.api_params.insert("ExtractAssociatedIconExW", 4);
        self.api_params.insert("SHAppBarMessage", 2);
        self.api_params.insert("DuplicateIcon", 2);
        self.api_params.insert("DragAcceptFiles", 2);
        self.api_params.insert("SHGetFileInfoW", 5);
        self.api_params.insert("SHGetLocalizedName", 4);
        self.api_params.insert("DoEnvironmentSubstW", 2);
        self.api_params.insert("DragQueryFileW", 4);
        self.api_params.insert("ExtractIconW", 3);
        self.api_params.insert("ShellMessageBoxA", 6);
        self.api_params.insert("SHEnumerateUnreadMailAccountsA", 4);
        self.api_params.insert("SHQueryUserNotificationState", 1);
        self.api_params.insert("SHRemoveLocalizedName", 1);
        self.api_params.insert("DragQueryFileA", 4);
        self.api_params.insert("SHFileOperationA", 1);
        self.api_params.insert("ShellExecuteExA", 1);
        self.api_params.insert("SHInvokePrinterCommandA", 5);
        self.api_params.insert("SHEvaluateSystemCommandTemplate", 4);
        self.api_params.insert("SHGetNewLinkInfoW", 5);
        self.api_params.insert("SHGetDiskFreeSpaceExA", 4);
        self.api_params.insert("SHGetUnreadMailCountW", 6);
        self.api_params.insert("SHQueryRecycleBinA", 2);
        self.api_params.insert("ExtractAssociatedIconExA", 4);
        self.api_params.insert("ShellExecuteExW", 1);
        self.api_params.insert("SHGetImageList", 3);
        self.api_params.insert("DoEnvironmentSubstA", 2);
        self.api_params.insert("SHIsFileAvailableOffline", 2);
        self.api_params.insert("SHEmptyRecycleBinW", 3);
        self.api_params.insert("SHCreateProcessAsUserW", 1);
        self.api_params.insert("ExtractIconExA", 5);
        self.api_params.insert("SHInvokePrinterCommandW", 5);
        self.api_params.insert("SHSetUnreadMailCountA", 3);
        self.api_params.insert("AssocCreateForClasses", 4);
        self.api_params.insert("ExtractIconExW", 5);
        self.api_params.insert("DragQueryPoint", 2);
        self.api_params.insert("InitNetworkAddressControl", 1);
        self.api_params.insert("DragFinish", 1);
        self.api_params.insert("Shell_NotifyIconA", 2);
        self.api_params.insert("SHEnumerateUnreadMailAccountsW", 4);
        self.api_params.insert("SHSetLocalizedName", 3);
        self.api_params.insert("SHGetFileInfoA", 5);
        self.api_params.insert("ShellExecuteA", 6);
        self.api_params.insert("SHTestTokenMembership", 2);
        self.api_params.insert("ShellAboutW", 4);
        self.api_params.insert("ShellExecuteW", 6);
    }

    pub fn get_params(&self, unimplemented_api: &str) -> i32 {
        return self.api_params[unimplemented_api];
    }
}
