Function at 0x4632a0
Capabilities:
Link many functions at runtime

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McModulePathFromCLSIDW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 8], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McModulePathFromCLSIDA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McLoadLibraryW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McLoadLibraryA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McCreateProcessW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McCreateProcessA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McCreateProcess2W
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McCreateProcess2A
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McIsNTAdmin
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x28], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McDoesFileExistW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McDoesFileExistA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McGetProgramFilesPathW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McGetProgramFilesPathA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McRegDeleteKeyW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McRegDeleteKeyA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McDeleteFilesDeferedW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McDeleteFilesDeferedA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McDeleteDirectoryDeferedW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McDeleteDirectoryDeferedA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McCopyFilesW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x54], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McCopyFilesA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x58], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McCreateDirWithPermissions
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McGetApplicationDataDirectory
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McGetOSVersion
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x64], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McGetOSVersion2
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x68], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McGetMSCVersion
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McShellExecute
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x78], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.IsPPInstalled
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McCreateTask
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x80], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McDeleteTask
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x84], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McEnableTask
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McDisableTask
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McIsFullScreen
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x90], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McIsMetroMode
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x94], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McBeginFSMonitor
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x98], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McEndFSMonitor
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x9c], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McBeginMetroMonitor
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McEndMetroMonitor
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0xa4], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.LaunchUIHost
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0xa8], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.IsUIHostRunning
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0xac], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McGetHardwareID
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McGetWindowsID
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0xb4], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McGetMachineID
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0xb8], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McBeginBMMonitor
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0xbc], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McEndBMMonitor
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0xc0], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McIsIdleMode
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0xc4], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McIsIdleMode2
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0xc8], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McBeginCSMonitor
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0xcc], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.McEndCSMonitor
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.IsCSModeOn
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0xd4], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.IsCSModeOn2
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.GetPlatformType
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0xdc], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x46383c
push str.GetCPUVendorID
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0xe0], eax
mov al, 1
pop esi
ret