Importing an IR protocol in IRremote library

  int pre_data = 0xE0E0;
  pre_data <<= 16;

If you take a 16-bit integer and shift it left 16 bits the results will be 0. Probably not what you wanted.