```array[] = {0x0a,0x0d,0x06,0x1c,0x22,0x38,0x18,0x26,0x36,0x0f,0x39,0x2b,0x1c,0x59,0x42,0x2c,0x36,0x1a,0x2c,0x26,0x1c,0x17,0x2d,0x39,0x57,0x43,0x01,0x07,0x2b,0x38,0x09,0x07,0x1a,0x01,0x17,0x13,0x13,0x17,0x2d,0x39,0x0a,0x0d,0x06,0x46,0x5c,0x7d} // rdi register points this array at 0x004000b2
// algorithm is something like thisflag = x[0] xor x[1] = array[0]flag = x[1] xor x[2] = array[1]flag = x[2] xor x[3] = array[2]flag = x[3] xor x[4] = array[3]....flag = x[x] xor x[x+1] = array[x]```
```#include <stdio.h>//irGeeksint main() {  char x[] = {0x0a,0x0d,0x06,0x1c,0x22,0x38,0x18,0x26,0x36,0x0f,0x39,0x2b,0x1c,0x59,0x42,0x2c,0x36,0x1a,0x2c,0x26,0x1c,0x17,0x2d,0x39,0x57,0x43,0x01,0x07,0x2b,0x38,0x09,0x07,0x1a,0x01,0x17,0x13,0x13,0x17,0x2d,0x39,0x0a,0x0d,0x06,0x46,0x5c,0x7d};  char z[0x2f];  z[0] = 'f';  z[1] = 'l';  z[2] = 'a';  z[0x2e] = 0;  for (int i = 0; i < 0x2e; i++) {    for (int y = 0; y < 255; y++) {      if ((z[i] ^ y) == x[i]) {        z[i+1] = y;      }    }  }  printf("%s",z); // flag{Yay_if_th1s_is_yer_f1rst_gnisrever_flag!}  return 0;}//Sajjad```