//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   sampler2D DepthBuffer;
//   sampler2D DiffuseBuffer;
//   sampler2D NormalsBuffer;
//   float4 ScreenDimensions;
//   sampler2D SpecularBuffer;
//   float3 gCameraPos;
//   bool gDoLighting;
//   float4 gFogColor;
//   float4 gFogParams;
//   float4x4 gInvViewProj;
//   float4 gLightAtten[4];
//   float4 gLightColor[4];
//   float4 gLightPosition;
//   float4x4 gLightViewProj[4];
//   bool gPreMultiplyAlpha;
//   sampler2D gSpotEmissiveSampler;
//   float4 gSpotLightDirection;
//   float4 gSpotLightParams;
//   sampler2D gSpotSampler;
//   float4 gTime;
//   float4 gViewport;
//
//
// Registers:
//
//   Name                 Reg   Size
//   -------------------- ----- ----
//   gPreMultiplyAlpha    b0       1
//   gDoLighting          b1       1
//   ScreenDimensions     c0       1
//   gViewport            c50      1
//   gTime                c51      1
//   gCameraPos           c52      1
//   gInvViewProj         c70      4
//   gFogParams           c80      1
//   gFogColor            c81      1
//   gLightPosition       c103     1
//   gSpotLightDirection  c104     1
//   gSpotLightParams     c105     1
//   gLightColor          c107     1
//   gLightAtten          c115     1
//   gLightViewProj       c123     4
//   DiffuseBuffer        s0       1
//   NormalsBuffer        s1       1
//   SpecularBuffer       s2       1
//   DepthBuffer          s3       1
//   gSpotSampler         s8       1
//   gSpotEmissiveSampler s9       1
//

    ps_3_0
    def c1, 0.5, 2, -1, 1
    def c2, 1, 0, -0.0187292993, 0.0742610022
    def c3, -0.212114394, 1.57072878, -2, 3.14159274
    def c4, 0.159154937, 0.5, 6.28318548, -3.14159274
    def c5, -2, 3, 9.99999975e-005, 1.44269502
	def c201, 1.0, 0.006, 0.0625, 0.0
    dcl vPos.xy
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2
    dcl_2d s3
    dcl_2d s8
    dcl_2d s9
	dcl_2d s13
    add r0.xy, c1.x, vPos
    mul r0.zw, r0.xyxy, c0
    mov r1.zw, c0
    mad r0.xy, r0, r1.zwzw, c51.yzzw
    texld r1, r0, s3
    rcp_pp r0.x, c50.z
    rcp_pp r0.y, c50.w
    mad r0.xy, r0.zwzw, r0, c50
    mad r0.x, r0.x, c1.y, c1.z
    add r0.y, -r0.y, c1.w
    mad r0.y, r0.y, c1.y, c1.z
    mul r2, r0.y, c71
    mad r2, c70, r0.x, r2
    mad r1, c72, r1.x, r2
    add r1, r1, c73
	
	texldl r12, c201.z, s13	
	if_ne r12.x, c201.w
		rcp r1.w, r1.w
		mul r13.xyz, r1, r1.w 
		mov r13.w, c201.x
		dp4 r10.z, r13, c68
		dp4 r10.x, r13, c66
		dp4 r10.y, r13, c67
		dp4 r10.w, r13, c69
	
		add r12.y, r10.w, -r12.y
		mul r12.x, r12.x, r12.y
		add r10.x, r10.x, -r12.x
			
		mul r4, r10.y, c71
		mad r1, c70, r10.x, r4
		mad r1, c72, r10.z, r1
		mad r1, c73, r10.w, r1

		
	endif
	
    rcp r0.x, r1.w
    mul r2.xyz, r0.x, r1
    mad_pp r3.xyz, r1, -r0.x, c103
    dp3_pp r0.y, r3, r3
    rsq_pp r0.y, r0.y
    mul_pp r3.xyz, r0.y, r3
    dp3_pp r1.w, r3, c104
    rcp_pp r0.y, r0.y
    cmp r4.xy, r1.w, c2, c2.yxzw
    mad r3.w, r0.y, r1.w, -c115.x
    mul_sat_pp r3.w, r3.w, c115.y
    add_pp r3.w, -r3.w, c1.w
    mul_pp r3.w, r3.w, r4.x
    add r4.x, -r1_abs.w, c1.w
    rsq r4.x, r4.x
    rcp r4.x, r4.x
    mad r4.z, r1_abs.w, c2.z, c2.w
    mad r4.z, r4.z, r1_abs.w, c3.x
    mad r1.w, r4.z, r1_abs.w, c3.y
    mul r1.w, r4.x, r1.w
    mad r4.x, r1.w, c3.z, c3.w
    mad r1.w, r4.x, r4.y, r1.w
    mad r1.w, r1.w, c4.x, c4.y
    frc r1.w, r1.w
    mad r1.w, r1.w, c4.z, c4.w
    sincos r4.y, r1.w
    add r4.xz, -c105.zyww, c105.xyyw
    mad r4.yw, r0.y, r4.y, -c105.xzzw
    rcp r0.y, r4.x
    mul_sat r0.y, r0.y, r4.y
    mad r1.w, r0.y, c5.x, c5.y
    mul r0.y, r0.y, r0.y
    mul r0.y, r0.y, r1.w
    rcp r1.w, r4.z
    mul_sat r1.w, r1.w, r4.w
    mad r4.x, r1.w, c5.x, c5.y
    mul r1.w, r1.w, r1.w
    mul r1.w, r1.w, r4.x
    mul_pp r0.y, r0.y, r1.w
    mul_pp r0.y, r0.y, r3.w
    mov r2.w, c1.w
    dp4 r4.x, r2, c123
    dp4 r4.y, r2, c124
    dp4 r1.w, r2, c126
    rcp r1.w, r1.w
    mul_sat r2.xy, r1.w, r4
    dsx r1.w, r2.x
    mul r1.w, r1.w, c5.z
    dsy r2.z, r2.y
    mul r2.z, r2.z, c5.z
    texldd_pp r4, r2, s8, r1.w, r2.z
    texldd_pp r2, r2, s9, r1.w, r2.z
    mul_pp r5.xyz, r4, c107
    mul_pp r5.xyz, r0.y, r5
    if b1
      texld_pp r6, r0.zwzw, s0
      texld_pp r7, r0.zwzw, s2
      mul_pp r7.xyz, r0.y, r7
    else
      mov_pp r6.xyz, c1.w
      mov_pp r7.xyz, c2.y
    endif
    mul_pp r5.xyz, r5, r6
    mul_pp r6.xyz, r2, r7
    mad_pp r2.xyz, r5, r2, r6
    texld_pp r5, r0.zwzw, s1
    mad_pp r0.yzw, r5.xxyz, c1.y, c1.z
    nrm_pp r5.xyz, r0.yzww
    dp3_sat_pp r0.y, r5, r3
    mad r0.xzw, r1.xyyz, -r0.x, c52.xyyz
    dp3 r0.x, r0.xzww, r0.xzww
    add r0.x, r0.x, -c80.x
    mul_sat_pp r0.x, r0.x, c80.z
    mul r0.x, r0.x, c80.w
    mul r0.x, r0.x, c5.w
    exp_pp r0.x, r0.x
    mad_pp r0.yzw, r2.xxyz, r0.y, -c81.xxyz
    mad_pp r4.xyz, r0.x, r0.yzww, c81
    if b0
      mul_pp r4.xyz, r4.w, r4
    endif
    mov_pp oC0, r4

// approximately 116 instruction slots used (6 texture, 110 arithmetic)
 