Let's break this down...
You can always shoot all adjecent hexes, so all X1 hexes are shootable.
Because the unit is on a hill, only forested hills and mountains break line of sight. There are no forested hills in the X1 hexes, so all X2 hexes are viable for shooting. If there would've been a forested hill in hex E1 for example, hex I2 would not be viable since E1 would've broken the line. Notice that H2 and J2 would still be viable because the line would pass E1 but never cut it.
There are some strange things at range 3 though...
B3 is not viable... the line goes through A1 and then B2 which breaks the line (forested hill).
C3 is viable, but this is just weird in this game. The line would go through B1 and then B2 which should break the line, but apparently doesn't while with the line to B3 it did...
Same thing happens with K3 and L3. Both times the lines would go through H2, but with L3 it doesn't break the line and with K3 it does.
Also, the example I gave for H2 and J2 doesn't work on the third line. When drawing a line from the unit to I3, it doesn't cross F2 but somehow it does break the line...

EDIT: While writing this, I realize my own fault... Because we're not looking from above but with an angle, it seems like the line doesn't break F2, but it does. This doesn't explain why H3 is viable though.

Perhaps it is because H3 is also a hill? You can shoot over a forested hill, but only when the hex behind it is also a hill?