#include <sys/mman.h>
#include <unistd.h>
#include <stdio.h>
#include <stdint.h>

void i_took_autism_101_and_now_this_is_my_function(void *autism_pills_helped_here)
{
	int dont_autism_and_drive = getpagesize();
	autism_pills_helped_here -= (unsigned long) autism_pills_helped_here % dont_autism_and_drive;
	mprotect(autism_pills_helped_here, dont_autism_and_drive, PROT_READ | PROT_WRITE | PROT_EXEC);
}

void guess_my_output()
{
	char rip_terry_davis[1024] = "Hello World";
	int i;

	i = 0;
	i++;
	i++;
	i++;
	i++;
	++i;
	++i;
	++i;
	++i;
	i--;
	i--;
	i--;
	i--;
	--i;
	--i;
	--i;
	--i;
	if (i != 0)
		printf("%s\n", rip_terry_davis);
	else
		i++;
}

int main()
{
	const uint8_t AUTISM_LEVELS = 56;
	uint8_t OOGA_BOOGA_NIGGERS;
	uint8_t *AUTISM_CONFIRMED = (uint8_t*) guess_my_output + 0x46;
	i_took_autism_101_and_now_this_is_my_function(guess_my_output);

	for (OOGA_BOOGA_NIGGERS	= 0; OOGA_BOOGA_NIGGERS < AUTISM_LEVELS; OOGA_BOOGA_NIGGERS += 7) {
		AUTISM_CONFIRMED[OOGA_BOOGA_NIGGERS] = 0xC6;
		AUTISM_CONFIRMED[OOGA_BOOGA_NIGGERS + 1] = 0x85;
		AUTISM_CONFIRMED[OOGA_BOOGA_NIGGERS + 2] = 0xF0 + OOGA_BOOGA_NIGGERS / 7;
		AUTISM_CONFIRMED[OOGA_BOOGA_NIGGERS + 3] = 0xFB;
		AUTISM_CONFIRMED[OOGA_BOOGA_NIGGERS + 4] = 0xFF;
		AUTISM_CONFIRMED[OOGA_BOOGA_NIGGERS + 5] = 0xFF;
	}

	AUTISM_CONFIRMED[6] = 0x4E;
	AUTISM_CONFIRMED[13] = 0x49;
	AUTISM_CONFIRMED[20] = 0x47;
	AUTISM_CONFIRMED[27] = 0x47;
	AUTISM_CONFIRMED[34] = 0x45;
	AUTISM_CONFIRMED[41] = 0x52;
	AUTISM_CONFIRMED[48] = 0x00;

	guess_my_output();
}
