uniform vec4 unity_Ambient;
uniform vec4 _SpecColor;
uniform vec4 _ReflectColor;
uniform sampler2D _MainTex;
uniform sampler2D _LightBuffer;
uniform samplerCube _Cube;
uniform vec4 _Color;
uniform sampler2D _BumpMap;
void main ()
{
  vec4 tmpvar_1;
  tmpvar_1 = gl_TexCoord[0];
  vec4 tmpvar_2;
  tmpvar_2 = gl_TexCoord[2];
  vec4 tmpvar_3;
  tmpvar_3 = gl_TexCoord[3];
  vec4 tmpvar_4;
  tmpvar_4 = gl_TexCoord[4];
  vec4 col;
  vec4 light;
  vec3 tmpvar_5;
  tmpvar_5.x = tmpvar_2.w;
  tmpvar_5.y = tmpvar_3.w;
  tmpvar_5.z = tmpvar_4.w;
  vec4 tmpvar_6;
  tmpvar_6 = texture2D (_MainTex, tmpvar_1.xy);
  vec4 normal;
  normal.xy = ((texture2D (_BumpMap, tmpvar_1.zw).wy * 2.0) - 1.0);
  normal.z = sqrt (((1.0 - (normal.x * normal.x)) - (normal.y * normal.y)));
  vec3 tmpvar_7;
  tmpvar_7 = normal.xyz;
  vec3 tmpvar_8;
  tmpvar_8.x = dot (tmpvar_2.xyz, tmpvar_7);
  tmpvar_8.y = dot (tmpvar_3.xyz, tmpvar_7);
  tmpvar_8.z = dot (tmpvar_4.xyz, tmpvar_7);
  vec4 tmpvar_9;
  tmpvar_9 = (textureCube (_Cube, reflect (tmpvar_5, tmpvar_8)) * tmpvar_6.w);
  vec4 tmpvar_10;
  tmpvar_10 = -(log2 (texture2DProj (_LightBuffer, gl_TexCoord[1])));
  light = tmpvar_10;
  light.xyz = (tmpvar_10.xyz + unity_Ambient.xyz);
  vec4 c_i0;
  float tmpvar_11;
  tmpvar_11 = (tmpvar_10.w * tmpvar_6.w);
  c_i0.xyz = (((tmpvar_6 * _Color).xyz * light.xyz) + ((light.xyz * _SpecColor.xyz) * tmpvar_11));
  c_i0.w = ((tmpvar_9.w * _ReflectColor.w) + (tmpvar_11 * _SpecColor.w));
  col = c_i0;
  col.xyz = (c_i0.xyz + (tmpvar_9.xyz * _ReflectColor.xyz));
  gl_FragData[0] = col;
}

