uniform sampler2D _TranslucencyMap;
uniform sampler2D _MainTex;
uniform sampler2D _LightTextureB0;
uniform samplerCube _LightTexture0;
uniform vec4 _LightColor0;
uniform float _Cutoff;
uniform sampler2D _BumpSpecMap;
void main ()
{
  vec2 tmpvar_1;
  tmpvar_1 = gl_TexCoord[0].xy;
  vec3 tmpvar_2;
  tmpvar_2 = gl_TexCoord[3].xyz;
  vec4 c_3;
  vec4 tmpvar_4;
  tmpvar_4 = texture2D (_MainTex, tmpvar_1);
  vec4 tmpvar_5;
  tmpvar_5 = texture2D (_TranslucencyMap, tmpvar_1);
  float tmpvar_6;
  tmpvar_6 = (tmpvar_4.w * gl_Color.w);
  vec4 tmpvar_7;
  tmpvar_7 = texture2D (_BumpSpecMap, tmpvar_1);
  vec4 normal_8;
  normal_8.xy = ((tmpvar_7.wy * 2.0) - 1.0);
  normal_8.z = sqrt(((1.0 - (normal_8.x * normal_8.x)) - (normal_8.y * normal_8.y)));
  float x_9;
  x_9 = (tmpvar_6 - _Cutoff);
  if ((x_9 < 0.0)) {
    discard;
  };
  vec3 tmpvar_10;
  tmpvar_10 = normalize(gl_TexCoord[1].xyz);
  vec4 c_11;
  float tmpvar_12;
  tmpvar_12 = dot (normal_8.xyz, tmpvar_10);
  float tmpvar_13;
  tmpvar_13 = max (0.0, -(tmpvar_12));
  c_11.xyz = (((((tmpvar_4.xyz * gl_Color.xyz) * (max (0.0, ((tmpvar_12 * 0.5) + 0.5)) + ((tmpvar_5.xyz * tmpvar_13) * 2.0))) + ((pow (max (0.0, dot (normal_8.xyz, normalize((tmpvar_10 + normalize(gl_TexCoord[2].xyz))))), (tmpvar_7.x * 128.0)) * tmpvar_5.w) * (1.0 - clamp (ceil(tmpvar_13), 0.0, 1.0)))) * _LightColor0.xyz) * ((texture2D (_LightTextureB0, vec2(dot (tmpvar_2, tmpvar_2))).w * textureCube (_LightTexture0, tmpvar_2).w) * 2.0));
  c_3.xyz = c_11.xyz;
  c_3.w = tmpvar_6;
  gl_FragData[0] = c_3;
}

