More Adhoc functions implemented

since this isn't related to adhoc i'm trying not to change many thing in the original code (including the indentation), i'll fix the indent later if it's okay.

The resulting code will be like this with this patch:
if (bytes != 0)
	if (!g_Config.bFastMemory && (!Memory::IsValidAddress(srcPtr) || !Memory::IsValidAddress(destPtr)))
		WARN_LOG(HLE, "memcpy: Invalid address (%08x,%08x,%i) at %08x", destPtr, srcPtr, bytes, currentMIPS->pc); else
	if (!skip && destPtr != 0) {
		u8 *dst = Memory::GetPointerUnchecked(destPtr);