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

