//
// Generated by Microsoft (R) HLSL Shader Compiler 9.27.952.3022
//
// Parameters:
//
//   samplerCUBE CubeMap_0;
//   float DiffuseSaturationFX_17;
//   float4 Layer0Color_8;
//   sampler2D Layer0DiffuseTileMap_1;
//   sampler2D Layer0Diffuse_2;
//   sampler2D Layer0Normal_0;
//   float4 MaskVertexB_11;
//   float4 MaskVertexG_10;
//   float4 MaskVertexR_9;
//   float4 SpecColor_26;
//   float SpecFactor_27;
//   float4 UVscale_1;
//   float4 g_AmbientCube[6];
//   float4 g_EyePosition;
//   float4 g_FogColor;
//   float4 g_FogParams;
//   float4 g_LODBlendFactor;
//   float4 g_LayeredSkyUserColor4;
//   float4 g_ProjShadowParams[2];
//   float4 g_ProjWorldToLight[8];
//   sampler2D g_ProjectorCookies[2];
//   sampler2D g_ProjectorShadow;
//   float4 g_ShadowMapSize;
//   
//   struct
//   {
//       float4 m_PositionFar;
//       float4 m_ColorFade;
//       float3 m_Direction;
//       float4 m_ConeAngles;
//
//   } g_SpotLights[2];
//   
//   bool g_UseDepthTextureShadows;
//   sampler2D g_WorldLightMapSampler;
//   float4 g_WorldLightmapParameters;
//   float4 g_WorldLightmapUVParameters;
//   float4 g_WorldLightmapZOffsetParameters;
//
//
// Registers:
//
//   Name                             Reg   Size
//   -------------------------------- ----- ----
//   g_UseDepthTextureShadows         b15      1
//   g_EyePosition                    c12      1
//   g_FogColor                       c16      1
//   g_FogParams                      c17      1
//   g_AmbientCube                    c24      6
//   g_LODBlendFactor                 c30      1
//   g_SpotLights                     c44      4
//   g_ProjWorldToLight               c55      4
//   g_ShadowMapSize                  c86      1
//   g_WorldLightmapParameters        c87      1
//   g_WorldLightmapUVParameters      c88      1
//   g_WorldLightmapZOffsetParameters c89      1
//   g_LayeredSkyUserColor4           c104     1
//   g_ProjShadowParams               c119     1
//   UVscale_1                        c128     1
//   Layer0Color_8                    c129     1
//   MaskVertexR_9                    c130     1
//   MaskVertexG_10                   c131     1
//   MaskVertexB_11                   c132     1
//   DiffuseSaturationFX_17           c133     1
//   SpecColor_26                     c134     1
//   SpecFactor_27                    c135     1
//   Layer0Normal_0                   s0       1
//   Layer0DiffuseTileMap_1           s1       1
//   Layer0Diffuse_2                  s2       1
//   CubeMap_0                        s3       1
//   g_ProjectorCookies               s9       1
//   g_ProjectorShadow                s11      1
//   g_WorldLightMapSampler           s12      1
//

    ps_3_0
    def c0, -0.5, 1, 0, 0.5
    def c1, 0.298999995, 0.586999953, 0.113999993, 0
    def c2, 1, -1, 0, -0
    dcl_texcoord v0.xy
    dcl_color v1.xzw
    dcl_color1 v2
    dcl_texcoord1 v3
    dcl_texcoord2 v4.xyz
    dcl_texcoord3 v5.xyz
    dcl_texcoord4 v6.xyz
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2
    dcl_cube s3
    dcl_2d s9
    dcl_2d s11
    dcl_2d s12
    mov r0, v3.w
    texkill r0
    texld r0, v0, s0
    mul r0.x, r0.w, r0.x
    add r0.xy, r0, c0.x
    add r0.xy, r0, r0
    dp2add r0.z, r0, -r0, c0.y
    rsq r0.z, r0.z
    rcp r0.z, r0.z
    nrm r1.xyz, v4
    nrm r2.xyz, v5
    nrm r3.xyz, v6
    mul r2.xyz, r0.y, r2
    mad r0.xyw, r0.x, r1.xyzz, r2.xyzz
    mad r0.xyz, r0.z, r3, r0.xyww
    nrm r1.xyz, r0
    add r0.xyz, c12, -v3
    mul r2.xy, c128, v0
    mul r2.xy, r2, v2.w
    texld r2, r2, s1
    mov r4.xyz, c129
    add r4.xyz, -r4, c130
    mad r4.xyz, v2.x, r4, c129
    lrp r5.xyz, v2.y, c131, r4
    lrp r4.xyz, v2.z, c132, r5
    texld r5, v0, s2
    mul r6.xyz, r4, r5
    dp3 r0.w, c1, r6
    mad r4.xyz, r4, r5, -r0.w
    mad r4.xyz, c133.x, r4, r0.w
    add r2.xyz, r2, r4
    add r2.xyz, r2, c0.x
    add r2.xyz, r2, r2
    add r4.xyz, -c12.xzyw, v3.xzyw
    dp3 r0.w, r4, r4
    rsq r0.w, r0.w
    mul r4.xyz, r0.w, r4
    dp3 r0.w, r4.xzyw, r1
    add r0.w, r0.w, r0.w
    mad r4.xyz, r1.xzyw, -r0.w, r4
    texld r4, r4, s3
    mul r0.w, r4.y, r4.y
    mul r0.w, r0.w, c104.w
    mul r0.w, r0.w, c135.x
    mul r4.xyz, r0.w, c134
    mul r4.xyz, r4, c104
    mul r4.xyz, r4, c30.x
    add r5.xyz, c44, -v3
    dp3 r0.w, r5, r5
    add r1.w, -r0.w, c44.w
    mul_sat r1.w, r1.w, c45.w
    rsq r0.w, r0.w
    mul r5.xyz, r0.w, r5
    dp3 r0.w, r5, c46
    add r0.w, -r0.w, c47.x
    mul_sat r0.w, r0.w, c47.y
    mul r0.w, r0.w, r1.w
    mad r3.xyz, r3, c119.y, v3
    mul r6, r3.y, c56
    mad r6, r3.x, c55, r6
    mad r3, r3.z, c57, r6
    add r3, r3, c58
    texldp r6, r3, s9
    rcp r1.w, r3.w
    mul_sat r3.xyz, r1.w, r3
    rcp r7.y, c86.w
    mul r1.w, r7.y, c86.z
    frc r2.w, r1.w
    add r3.w, r1.w, -r2.w
    cmp r2.w, -r2.w, c0.z, c0.y
    cmp r1.w, r1.w, c0.z, r2.w
    add r1.w, r1.w, r3.w
    rcp r1.w, r1.w
    mad r8.x, r3.x, r1.w, c119.x
    add r8.y, -r3.y, c0.y
    add_sat r3.z, r3.z, c119.z
    rcp r7.x, c86.z
    //if b15
    //  mad r3.xy, r7, c0.w, r8
    //  mov r3.w, c0.z
    ///  texldl r9, r3, s11
    //else
      mad r3.xy, r7, c0.w, r8
      mad r7.zw, r7.xyxy, c0.x, r3.xyxy
      texld r8, r7.zwzw, s11
      add r1.w, -r3.z, r8.x
      mad r7.zw, r7.xyxy, c0.xywx, r3.xyxy
      texld r8, r7.zwzw, s11
      add r2.w, -r3.z, r8.x
      cmp r2.w, r2.w, c0.y, c0.z
      mad r7.zw, r7.xyxy, c0.xyxw, r3.xyxy
      texld r8, r7.zwzw, s11
      add r3.w, -r3.z, r8.x
      mad r7.xy, r7, c0.w, r3
      texld r7, r7, s11
      add r3.z, -r3.z, r7.x
      cmp r3.z, r3.z, c0.y, c0.z
      mul r3.xy, r3, c86.zwzw
      frc r3.xy, r3
      cmp r7.xy, r1.w, c2, c2.zwzw
      add r1.w, r2.w, r7.y
      mad r1.w, r3.x, r1.w, r7.x
      cmp r7.xy, r3.w, c2, c2.zwzw
      add r2.w, r3.z, r7.y
      mad r2.w, r3.x, r2.w, r7.x
      lrp r9.x, r3.y, r2.w, r1.w
    //endif
    mul r3.xyz, r6, r9.x
    dp3_sat r1.w, r1, r5
    mul r5.xyz, r1.w, c45
    mul r3.xyz, r3, r5
    mul r5.xyz, r2, r0.w
    mul r3.xyz, r3, r5
    cmp r3.xyz, -r0.w, c0.z, r3
    mul r2.xyz, r2, v1.x
    mul r5.xyz, r1, r1
    cmp r6.xyz, r1, c0.y, c0.z
    cmp r7.xyz, -r1, c0.y, c0.z
    mul r8, r5.x, c24
    mul r9, r5.x, c25
    mul r9, r7.x, r9
    mad r8, r8, r6.x, r9
    mul r9, r5.y, c26
    mad r8, r9, r6.y, r8
    mul r9, r5.y, c27
    mad r8, r9, r7.y, r8
    mul r9, r5.z, c28
    mad r6, r9, r6.z, r8
    mul r8, r5.z, c29
    mad r6, r8, r7.z, r6
    mul r5.xyz, r6.w, r6
    mul r5.xyz, r2, r5
    mad r1.xy, r1, c87.x, v3
    mov r6.yw, c0
    mad r1.xy, r1, c88.zwzw, r6.w
    dp3 r0.x, r0, r0
    rsq r0.x, r0.x
    rcp r0.x, r0.x
    add r0.y, r0.x, -c89.x
    rcp r0.z, c89.y
    mul_sat r1.w, r0.z, r0.y
    mov r1.z, c0.z
    texldl r1, r1, s12
    mul r0.yzw, r1.xxyz, c88.x
    mad r1.x, r1.w, c87.w, c87.y
    add r1.x, r1.x, -v3.z
    mad_sat r1.x, r1_abs.x, -c87.z, r6.y
    mul r0.yzw, r0, r1.x
    mul r1.xyz, r2, r0.yzww
    dp3_sat r1.x, r1, c88.y
    mad r0.yzw, r0, r2.xxyz, -r5.xxyz
    mad r0.yzw, r1.x, r0, r5.xxyz
    add r0.yzw, r0, r3.xxyz
    mad_sat r0.yzw, r4.xxyz, r0, r0
    add r0.x, r0.x, -c17.x
    mul_sat r0.x, r0.x, c17.y
    mul r0.x, r0.x, c17.z
    add r1.xyz, -r0.yzww, c16
    mad oC0.xyz, r0.x, r1, r0.yzww
    rcp r0.x, v1.w
    mul oC1.xyz, r0.x, v1.z
    mov oC0.w, r5.w
    mov oC1.w, r5.w

// approximately 176 instruction slots used (13 texture, 163 arithmetic)
 