void writer(DWORD address,DWORD bytes, byte opcode)
{
for (int i = 0; i < bytes; i++)
{
DWORD adr = address+i*1;
VirtualProtect((LPVOID)adr,1,PAGE_EXECUTE_READWRITE,&oldProtection);
memcpy((VOID*)adr,&opcode,1);
VirtualProtect((LPVOID)adr,1,oldProtection,NULL);
}
}
DWORD cshell = (DWORD)(GetModuleHandleW(L"CShell.dll")); DWORD address = (DWORD)(cshell + 0x513D); writer(address,1,0x90);

, and you can sticky if you like 
for (int i = 0; i < bytes; i++)
{
DWORD adr = address+i*1;
VirtualProtect((LPVOID)adr,1,PAGE_EXECUTE_READWRITE,&oldProtection);
memcpy((VOID*)adr,&opcode,1);
VirtualProtect((LPVOID)adr,1,oldProtection,NULL);
}
VirtualProtect((LPVOID)address,bytes,PAGE_EXECUTE_READWRITE,&oldProtection); memset((LPVOID)address, opcode, bytes); VirtualProtect((LPVOID)address,bytes,oldProtection,&oldProtection);
