//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float3 CameraWorldPos;
//   float4 DiffuseOverrideParameter;
//   float2 DistanceFadeParameters;
//   float3 DistanceFieldParameters;
//   sampler2D LightAttenuationTexture;
//   float4 LightColorAndFalloffExponent;
//   float4 ObjectWorldPositionAndRadius;
//   sampler2D PixelTexture2D_0;
//   sampler2D PixelTexture2D_1;
//   sampler2D PixelTexture2D_10;
//   sampler2D PixelTexture2D_2;
//   sampler2D PixelTexture2D_3;
//   sampler2D PixelTexture2D_4;
//   sampler2D PixelTexture2D_5;
//   sampler2D PixelTexture2D_6;
//   sampler2D PixelTexture2D_7;
//   sampler2D PixelTexture2D_8;
//   sampler2D PixelTexture2D_9;
//   float4 ScreenPositionScaleBias;
//   sampler2D ShadowTexture;
//   float4 UniformPixelScalars_0;
//   float4 UniformPixelScalars_1;
//   float4 UniformPixelVector_1;
//   float4 UniformPixelVector_10;
//   float4 UniformPixelVector_11;
//   float4 UniformPixelVector_12;
//   float4 UniformPixelVector_13;
//   float4 UniformPixelVector_2;
//   float4 UniformPixelVector_3;
//   float4 UniformPixelVector_4;
//   float4 UniformPixelVector_5;
//   float4 UniformPixelVector_6;
//   float4 UniformPixelVector_7;
//   float4 UniformPixelVector_8;
//   float4 UniformPixelVector_9;
//   float4x4 ViewProjectionMatrix;
//   float3x3 WorldToViewMatrix;
//   bool bEnableDistanceShadowFading;
//   bool bReceiveDynamicShadows;
//
//
// Registers:
//
//   Name                         Reg   Size
//   ---------------------------- ----- ----
//   bReceiveDynamicShadows       b0       1
//   bEnableDistanceShadowFading  b1       1
//   CameraWorldPos               c0       1
//   ScreenPositionScaleBias      c1       1
//   DiffuseOverrideParameter     c4       1
//   ViewProjectionMatrix         c8       4
//   WorldToViewMatrix            c12      3
//   ObjectWorldPositionAndRadius c15      1
//   UniformPixelVector_1         c16      1
//   UniformPixelVector_2         c17      1
//   UniformPixelVector_3         c18      1
//   UniformPixelVector_4         c19      1
//   UniformPixelVector_5         c20      1
//   UniformPixelVector_6         c21      1
//   UniformPixelVector_7         c22      1
//   UniformPixelVector_8         c23      1
//   UniformPixelVector_9         c24      1
//   UniformPixelVector_10        c25      1
//   UniformPixelVector_11        c26      1
//   UniformPixelVector_12        c27      1
//   UniformPixelVector_13        c28      1
//   UniformPixelScalars_0        c29      1
//   UniformPixelScalars_1        c30      1
//   LightColorAndFalloffExponent c31      1
//   DistanceFieldParameters      c32      1
//   DistanceFadeParameters       c33      1
//   LightAttenuationTexture      s0       1
//   PixelTexture2D_0             s1       1
//   PixelTexture2D_1             s2       1
//   PixelTexture2D_2             s3       1
//   PixelTexture2D_3             s4       1
//   PixelTexture2D_4             s5       1
//   PixelTexture2D_5             s6       1
//   PixelTexture2D_6             s7       1
//   PixelTexture2D_7             s8       1
//   PixelTexture2D_8             s9       1
//   PixelTexture2D_9             s10      1
//   PixelTexture2D_10            s11      1
//   ShadowTexture                s12      1
//

    ps_3_0
    def c2, 2, -1, 0.5, 0
    def c3, -9.99999997e-007, 0, 0, 0
    dcl_color v0.xyz
    dcl_color1 v1
    dcl_texcoord v2.xy
    dcl_texcoord1 v3.xy
    dcl_texcoord4_pp v4.xyz
    dcl_texcoord6 v5.xyz
    dcl_texcoord7 v6
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2
    dcl_2d s3
    dcl_2d s4
    dcl_2d s5
    dcl_2d s6
    dcl_2d s7
    dcl_2d s8
    dcl_2d s9
    dcl_2d s10
    dcl_2d s11
    dcl_2d s12
    nrm_pp r0.xyz, v1
    nrm_pp r1.xyz, v0
    mul_pp r2.xyz, r0.zxyw, r1.yzxw
    mad_pp r2.xyz, r0.yzxw, r1.zxyw, -r2
    mul r2.xyz, r2, v1.w
    add r0.w, c0.z, v6.z
    nrm r3.xyz, v5
    nrm_pp r4.xyz, v4
    texld r5, v3, s1
    mad_pp r5.xyz, r5, c2.x, c2.y
    nrm_pp r6.xyz, r5
    dp3 r1.w, r6, r3
    mul r6.xyz, r1.w, r6
    mad r6.xyz, r6, c2.x, -r3
    texld_pp r7, v2, s12
    add r1.w, r7.x, c32.x
    mul_sat_pp r1.w, r1.w, c32.y
    log r1.w, r1.w
    mul r1.w, r1.w, c32.z
    exp_pp r7.xyz, r1.w
    if b0
      mul r8.xyz, c9.xyww, v6.y
      mad r8.xyz, c8.xyww, v6.x, r8
      mad r8.xyz, c10.xyww, v6.z, r8
      mad r8.xyz, c11.xyww, v6.w, r8
      rcp r1.w, r8.z
      mul r8.xy, r1.w, r8
      mad r8.xy, r8, c1, c1.wzzw
      texld r8, r8, s0
      mul_pp r8.xyz, r8, r8
      if b1
        dp3 r1.w, v6, v6
        rsq r1.w, r1.w
        rcp r1.w, r1.w
        add r1.w, -r1.w, c33.x
        mul_sat_pp r1.w, r1.w, c33.y
        mul_pp r1.w, r1.w, r1.w
        mad_pp r2.w, r8.w, r8.w, -r7.z
        mad_pp r9.xyz, r1.w, r2.w, r7.z
      else
        mov_pp r9.xyz, r7.z
      endif
      mul_pp r7.xyz, r8, r9
    endif
    texld r8, v3, s2
    dp3 r1.w, r1, r4
    dp3 r2.w, r2, r4
    dp3 r3.w, r0, r4
    mul r9.xyz, r2.w, c13
    mad r9.xyz, c12, r1.w, r9
    mad r9.xyz, c14, r3.w, r9
    add r9.xyz, r9, c16
    nrm r10.xyz, r9
    dp3 r1.w, r1, r5
    dp3 r2.w, r2, r5
    dp3 r3.w, r0, r5
    mul r9.xyz, r2.w, c13
    mad r9.xyz, c12, r1.w, r9
    mad r9.xyz, c14, r3.w, r9
    dp3 r1.w, r10, r9
    mad r11.x, r1.w, c2.z, c2.z
    mov r11.yw, c2.w
    texld r12, r11, s3
    mul r13.xyz, r8, r12
    mul r14.xyz, c17, c17.w
    texld r15, v3, s4
    mad r16.xyz, c18.w, c18, -r14
    mad r14.xyz, r15.x, r16, r14
    mad r16.xyz, c19.w, c19, -r14
    mad r14.xyz, r15.y, r16, r14
    texld r16, v3, s5
    dp3 r1.x, r1, r6
    dp3 r1.y, r2, r6
    dp3 r0.x, r0, r6
    mul r1.yzw, r1.y, c13.xxyz
    mad r1.xyz, c12, r1.x, r1.yzww
    mad r0.xyz, c14, r0.x, r1
    dp3_sat r11.z, r10, r0
    lrp r0.x, r15.x, c29.x, c29.y
    lrp r1.x, r15.y, c29.z, r0.x
    add r0.x, r11.z, c3.x
    pow r0.y, r11.z, r1.x
    mul r0.y, r0.y, r16.y
    mad r1.xyz, r13, r14, -r13
    mul r1.xyz, r0.y, r1
    cmp r0.xyz, r0.x, r1, c2.w
    mad r0.xyz, r8, r12, r0
    texld r1, v3, s6
    mul r2.xyz, c20, c20.w
    mad r8.xyz, c21.w, c21, -r2
    mad r2.xyz, r15.x, r8, r2
    mad r8.xyz, c22.w, c22, -r2
    mad r2.xyz, r15.y, r8, r2
    texld r8, r11.zwzw, s7
    texld r10, r11.zwzw, s8
    lrp r12.xyz, r15.x, r10, r8
    texld r8, r11.zwzw, s9
    lrp r10.xyz, r15.y, r8, r12
    mul r2.xyz, r2, r10
    mad r0.xyz, r1.z, r2, r0
    mul r2.xyz, c23, c23.w
    mad r1.zw, r6.xyxy, c2.z, c2.z
    texld r6, r1.zwzw, s10
    mul r2.xyz, r2, r6
    mad r0.xyz, r1.x, r2, r0
    add r0.w, r0.w, -c15.z
    add r0.w, r0.w, -c29.w
    rcp r1.x, c30.y
    mul_sat r0.w, r0.w, r1.x
    mov r2.xyz, c24
    add r1.xzw, -r2.xyyz, c25.xyyz
    mad r1.xzw, r0.w, r1, c24.xyyz
    mul r2.xyz, c26, c26.w
    nrm r6.xyz, c27
    dp3_sat r0.w, r6, r9
    nrm r6.xyz, c28
    dp3_sat r2.w, r6, r9
    add_sat r0.w, r0.w, r2.w
    dp3_sat r2.w, r3, r5
    add r2.w, -r2.w, -c2.y
    mul r3.x, r0.w, r2.w
    mov r3.y, c2.w
    texld r3, r3, s11
    mul r2.xyz, r2, r3
    mul r2.xyz, r1.y, r2
    mad r0.xyz, r0, r1.xzww, r2
    max r1.xyz, r0, c2.w
    min r0.xyz, c30.z, r1
    dp3_pp r0.w, r5, r4
    mul r1.xyz, r0.w, c4
    cmp r1.xyz, r0.w, r1, c2.w
    mad r0.xyz, r0, c4.w, r1
    mul r0.xyz, r7, r0
    mul oC0.xyz, r0, c31
    mov oC0.w, c2.w

// approximately 157 instruction slots used (13 texture, 144 arithmetic)
 