"DF_funcsigs"
{
	default
	{
		// this will be used to locate EntityFactoryDictionary() within CreateEntityByName
		"CreateEntFactDict"
		{
			// the number immediately after this signature is taken to be the address/offset of the dictionary function
			"Signature"	"\x56\x50\x68\x78\x24\x54\x10\xFF\x15\x70\x62\x4D\x10\xE8"
			"Match"		"xxx????xx????x"
			// is the number offset or absolute (1 or 2 respectively) (0 disables this method from being used)
			"Extra"		"1"
		}
		"CreateEntityByName"
		{
			"Signature"	"\x55\x8B\xEC\x56\x8B\x75\x0C\x83\xFE\xFF\x74\x27\x8B\x0D\x90\xE5\x6C\x10\x8B\x01\x8B\x50\x54\x56\xFF\xD2\x85\xC0"
			"Match"		"xxxxx??xxxxxxx????xxxx?xxxxx"
		}
		"ClearMultiDamage"
		{
			"Signature"	"\x0F\x57\xC0\xF3\x0F\x10\x0D\xCC\xF2\x4E\x10\xF3\x0F\x10\x15\x58\x7E\x77\x10\x83\xC8\xFF\x33\xC9\xF3\x0F\x11\x05\xA0\x2C\x68\x10\xF3\x0F\x11\x0D\xA8\x2C\x68\x10"
			"Match"		"xxxxxxx????xxxx????xxxxxxxxx????xxxx????"
		}
		"ApplyMultiDamage"
		{
			"Signature"	"\xA1\x58\x90\x77\x22\x83\xF8\xFF\x0F\x84\x82\x00\x00\x00\x8B\x15\x28\xCA\x6D\x22\x8B\xC8\x81\xE1\xFF\x0F\x00\x00\xC1\xE1\x04\x8D\x4C\x11\x04\xC1\xE8\x0C\x39\x41\x04\x75\x65\x8B\x09\x85\xC9\x74\x5F\xA1\x04\xED\x70\x22\x83\x78\x10\x00\x56\x7E\x04\x33\xF6\xEB\x03"
			"Match"		"x????xxxxx????xx????xxxx????xxxxxx?xxxxx?x?xxxxx?x????xx?xxx?xxx?"
		}
		"RadiusDamage"
		{
			"Signature"	"\x55\x8B\xEC\x8B\x55\x18\xD9\x45\x10\x8B\x0D\xD4\xEC\x6C\x10\x8B\x01\x8B\x80\x08\x01\x00\x00\x56\x8B\x75\x08\x57\x8B\x7D\x0C\x52\x8B\x55\x14\x52\x51\xD9\x1C\x24\x57\x56\xFF\xD0\xF6\x46\x3C\x40\x74\x7B\xF3\x0F\x10\x45\x10"
			"Match"		"xxxxx?xx?xx????xxxx????xxx?xxx?xxx?xxx??xxxxxx??x?xx?x?"
		}
		"SendPacket"
		{
			"Signature"	"\x55\x8B\xEC\xB8\x54\x20\x00\x00\xE8\x63\xBB\x10\x00\x53\x56\x8B\x75\x18\x57\x8B\x7D\x10\x6A\x00\x6A\x00\x56\x6A\x00\x8B\xCF\xE8\xCC\x68\x0B\x00\x50"
			"Match"		"xxxx????x????xxxxxxxxxxxxxxxxxxx????x"
		}
		"SendServerInfo"
		{
			"Signature"	"\x55\x8B\xEC\xB8\xEC\x14\x00\x00\xE8\x73\xAD\x23\x00\x53\x56\x68\xB0\x80\x2B\x10\x8B\xF1\xFF\x15\x88\x05\x2B\x10\x68\x00\x77\x01\x00\xFF\x15\x74\x05\x2B\x10\x83\xC4\x08\x6A\xFF\x68\x00\x77\x01\x00\x50\x68\x98\x80\x2B\x10"
			"Match"		"xxxx????x????xxx????xxxx????xxxxxxx????xxxxxxxxxxxx????"
			// which match to use
			"Extra"		"2"
		}
		"SV_BroadcastVoiceData"
		{
			"Signature"	"\x55\x8B\xEC\xA1\x04\x0C\x59\x10\x83\xEC\x4C\x57\x33\xFF\x39\x78\x30\x0F\x84\x08\x01\x00\x00\x56\x8D\x4D\xDC\xC6\x45\xB8\x01\x89\x7D\xBC\xC7\x45\xB4\x8C\x88\x2B\x10\xE8\x72\x5D\x13\x00\x8B\x75\x08"
			"Match"		"xxxx????xx?xxxxx?xx????xx??x??xx??x??????x????xxx"
		}
		"SleepCall"
		{
			"Signature"	"\xFF\xD0\x83\xF8\x02\x74\x19\xFF\x15\x1C\x73\x09\x10\x84\xC0\x75\x0F\x8B\x0D\x30\xD3\x0B\x10\x8B\x11\x8B\x42\x08\x6A\x01\xFF\xD0"
			"Match"		"xxxxxxxx?????xxxxxx????xxxx?xxxx"
			"Extra"		"17;15;12"
		}
		"SetMoveType"
		{
			"Signature"	"\x55\x8B\xEC\x8B\x45\x08\x56\x8B\xF1\x0F\xB6\x8E\x3A\x01\x00\x00\x3B\xC8\x57\x8D\xBE\x3A\x01\x00\x00\x75\x1B\x8A\x55\x0C\x8D\x45\x0F\x50\x8D\x8E\x3B\x01\x00\x00\x88\x55\x0F"
			"Match"		"xxxxxxxxxxxx????xxxxx????x?xxxxx?xxx????xx?"
		}
		"ResetSequence"
		{
			"Signature"	"\x55\x8B\xEC\x51\xA1\xF4\x0E\x6B\x10\x83\x78\x30\x00\x53\x56\x57\x8B\xF1\x74\x44\xF7\x86\xF0\x00\x00\x00\x00\x10\x00\x00\x74\x38\x8B\x46\x5C\x85\xC0\x8B\x9E\x5C\x03\x00\x00\x8B\xF8\x75\x05\xBF\xCC\x30\x4E\x10"
			"Match"		"xxxxx????xx?xxxxxxx?xx????????x?xx?xxxx????xxx?x????"
		}
		"RunTeamLogic"
		{
			"Signature"	"\x55\x8B\xEC\x83\xEC\x18\x56\x8B\xF1\x8B\x06\x8B\x90\x8C\x02\x00\x00\xFF\xD2\x84\xC0\x0F\x84\x0C\x03\x00\x00"
			"Match"		"xxxxx?xxxxxxx??xxxxxxxx?xxx"
		}
		"PlayerByIndex"
		{
			"Signature"	"\x55\x8B\xEC\x8B\x45\x08\x56\x33\xF6\x85\xC0\x7E\x32\x8B\x0D\x88\xE5\x6C\x10\x3B\x41\x14"
			"Match"		"xxxxxxxxxxxx?xx????xx?"
		}
	}
	gmod9
	{
		"CEntFactDictVFunc"
		{
			// don't do this method
			"Extra"	"9999"
		}
	}
}
