#Java 8, <s>77</s> <s>93</s> <s>74</s> 71 bytes


    int n=1111;int m=1;while(x>m++){n=Integer.parseInt((n*n+"").substring(0,4));}

    x->{int n=1111;int m=1;while(x>m++){n=Integer.parseInt((n*n+"").substring(0,4))‌​;}return n;}

    x->{int n=1111;for(;--x>0;){n=Integer.parseInt((n*n+"").substring(0,4));}}

    x->{long n=1111;for(;--x>0;){n=Long.valueOf((n*n+"").substring(0,4));}}

Each repetition makes `n` the first 4 characters of `n*n`.

###Post history:

 - +77 bytes: initial code (incomplete)

 - +16 bytes, by Olivier Grégoire: completed code by making it a Lambda function.

 - -19 bytes: replace `while` with `for` cycle, removed return statement.

 - -4 bytes: used `long`s instead of `int`s

**[Thanks][1] to @OlivierGrégoire for pointing out some issues!**

[Try Java online][2]!

  [1]: http://meta.stackexchange.com/a/116635/320844
  [2]: https://www.compilejava.net/