//
// Generated by Microsoft (R) HLSL Shader Compiler 9.27.952.3022
//
// Parameters:
//
//   float4 CubemapColor_21;
//   float CubemapFresnel_26;
//   float4 Layer0Color_9;
//   samplerCUBE Layer0Cubemap_0;
//   sampler2D Layer0Diffuse_1;
//   sampler2D Layer0Normal_0;
//   sampler2D Layer0SpecColor_2;
//   float3x3 Panner01_3_matrix;
//   float3x3 Panner02_6_matrix;
//   float4 SpecColor_16;
//   float SpecFactor_19;
//   float SpecFresnel_20;
//   float SpecPower_18;
//   float4 g_AmbientCube[6];
//   float4 g_EyeDirection;
//   float4 g_EyePosition;
//   float4 g_FogColor;
//   float4 g_FogParams;
//   float4 g_LayeredSkyUserColor3;
//   float4 g_NormalScale;
//   
//   struct
//   {
//       float4 m_PositionFar;
//       float4 m_ColorFade;
//
//   } g_OmniLights[4];
//   
//   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_EyeDirection                   c15      1
//   g_FogColor                       c16      1
//   g_FogParams                      c17      1
//   g_AmbientCube                    c24      6
//   g_OmniLights                     c32      2
//   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_NormalScale                    c94      1
//   g_LayeredSkyUserColor3           c103     1
//   g_ProjShadowParams               c119     1
//   Panner01_3_matrix                c128     2
//   Panner02_6_matrix                c131     2
//   Layer0Color_9                    c134     1
//   SpecColor_16                     c135     1
//   SpecPower_18                     c136     1
//   SpecFactor_19                    c137     1
//   SpecFresnel_20                   c138     1
//   CubemapColor_21                  c139     1
//   CubemapFresnel_26                c140     1
//   Layer0Normal_0                   s0       1
//   Layer0Diffuse_1                  s1       1
//   Layer0SpecColor_2                s2       1
//   Layer0Cubemap_0                  s3       1
//   g_ProjectorCookies               s9       1
//   g_ProjectorShadow                s11      1
//   g_WorldLightMapSampler           s12      1
//

    ps_3_0
    def c0, 0, 1, 2, 0.049999997
    def c1, 49.9999962, 0.5, -0.5, 0
    def c2, 1, -1, 0, 0.5
    def c3, 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 vFace
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2
    dcl_cube s3
    dcl_2d s9
    dcl_2d s11
    dcl_2d s12
    cmp r0.x, vFace, c2.x, c2.y
    mov r1, v3.w
    texkill r1
    mad r0.yzw, v0.xxyx, c2.xxxz, c2.xzzx
    dp3 r1.x, r0.yzww, c128
    dp3 r1.y, r0.yzww, c129
    texld r1, r1, s0
    dp3 r2.x, r0.yzww, c131
    dp3 r2.y, r0.yzww, c132
    texld r2, r2, s0
    lrp r3.yzw, c2.w, r2.xxyw, r1.xxyw
    mul r3.x, r3.w, r3.y
    add r0.yz, r3.xxzw, -c2.w
    add r0.yz, r0, r0
    dp2add r0.w, r0.yzzw, -r0.yzzw, c2.x
    rsq r0.w, r0.w
    rcp r0.w, r0.w
    nrm r1.xyz, v4
    nrm r2.xyz, v5
    nrm r3.xyz, v6
    mul r2.xyz, r0.z, r2
    mad r1.xyz, r0.y, r1, r2
    mad r0.yzw, r0.w, r3.xxyz, r1.xxyz
    nrm r1.xyz, r0.yzww
    mul r0.yzw, r1.xxyz, -c94.x
    mul r2.xyz, r3, -c94.x
    cmp r0.yzw, -r0.x, r1.xxyz, r0
    cmp r1.xyz, -r0.x, r3, r2
    add r2.xyz, c12, -v3
    texld r3, v0, s1
    mul r3, r3, c134
    mad r4, r3.xyzx, c2.xxxz, c2.zzzx
    mul r4, r4, v2
    mad r3, r3.w, c0.xxxy, c0.zzzx
    mul r3, r4, r3
    texld r4, v0, s2
    mul r5.xyz, r4, c135
    dp3 r0.x, c15, r0.yzww
    add r0.x, -r0.x, c140.x
    add_sat r0.x, r0.x, c2.x
    mul r6.xyz, r0.x, c139
    add r7.xyz, -c12.xzyw, v3.xzyw
    dp3 r0.x, r7, r7
    rsq r0.x, r0.x
    mul r7.xyz, r0.x, r7
    dp3 r0.x, r7.xzyw, r0.yzww
    add r0.x, r0.x, r0.x
    mad r7.xyz, r0.ywzw, -r0.x, r7
    texld r7, r7, s3
    mul r6.xyz, r6, r7
    mul r4.xyz, r4, r6
    add r6.xyz, c32, -v3
    dp3 r0.x, r6, r6
    rsq r1.w, r0.x
    mul r6.xyz, r1.w, r6
    add r0.x, -r0.x, c32.w
    mul_sat r0.x, r0.x, c33.w
    dp3_sat r1.w, r0.yzww, r6
    mul r7.xyz, r1.w, c33
    mul r8.xyz, r3, r0.x
    dp3 r1.w, r1, r6
    add r1.w, r1.w, c0.w
    mul_sat r1.w, r1.w, c1.x
    dp3 r2.w, -r6, r0.yzww
    add r2.w, r2.w, r2.w
    mad r6.xyz, r0.yzww, -r2.w, -r6
    dp3 r2.w, r2, r2
    rsq r2.w, r2.w
    mul r2.xyz, r2.w, r2
    dp3_sat r4.w, r6, r2
    pow r5.w, r4.w, c136.x
    mul r4.w, r5.w, c137.x
    mov r6.xw, c2
    dp3 r5.w, r2, r0.yzww
    add r5.w, -r5.w, c2.x
    mul r6.y, r5_abs.w, r5_abs.w
    mul r6.y, r6.y, r6.y
    mul r5.w, r5_abs.w, r6.y
    lrp r7.w, r5.w, r6.x, c138.x
    mul r4.w, r4.w, r7.w
    mul r9.xyz, r5, c33
    mul r9.xyz, r4.w, r9
    mul r9.xyz, r0.x, r9
    mul r9.xyz, r1.w, r9
    mad r7.xyz, r8, r7, r9
    cmp r7.xyz, -r0.x, c2.z, r7
    add r8.xyz, c44, -v3
    dp3 r0.x, r8, r8
    add r1.w, -r0.x, c44.w
    mul_sat r1.w, r1.w, c45.w
    rsq r0.x, r0.x
    mul r8.xyz, r0.x, r8
    dp3 r0.x, r8, c46
    add r0.x, -r0.x, c47.x
    mul_sat r0.x, r0.x, c47.y
    mul r0.x, r0.x, r1.w
    mad r9.xyz, r1, c119.w, v3
    mul r10, r9.y, c56
    mad r10, r9.x, c55, r10
    mad r9, r9.z, c57, r10
    add r9, r9, c58
    texldp r10, r9, s9
    rcp r1.w, r9.w
    mul_sat r9.xyz, r1.w, r9
    rcp r11.y, c86.w
    mul r1.w, r11.y, c86.z
    frc r4.w, r1.w
    add r5.w, r1.w, -r4.w
    cmp r4.w, -r4.w, c2.z, c2.x
    cmp r1.w, r1.w, c2.z, r4.w
    add r1.w, r1.w, r5.w
    rcp r1.w, r1.w
    mad r12.x, r9.x, r1.w, c119.x
    add r12.y, -r9.y, c2.x
    rcp r11.x, c86.z
    //if b15
    //  mad r13.xy, r11, c2.w, r12
    //  mul r13.zw, r9.z, c2.xyxz
    //  texldl r13, r13, s11
    //else
      mad r6.yz, r11.xxyw, c2.w, r12.xxyw
      mad r9.xy, r11, -c2.w, r6.yzzw
      texld r12, r9, s11
      add r1.w, -r9.z, r12.x
      mad r9.xy, r11, c1.yzzw, r6.yzzw
      texld r12, r9, s11
      add r4.w, -r9.z, r12.x
      cmp r4.w, r4.w, c2.x, c2.z
      mad r9.xy, r11, c1.zyzw, r6.yzzw
      texld r12, r9, s11
      add r5.w, -r9.z, r12.x
      mad r9.xy, r11, c2.w, r6.yzzw
      texld r11, r9, s11
      add r8.w, -r9.z, r11.x
      cmp r8.w, r8.w, c2.x, c2.z
      mul r6.yz, r6, c86.xzww
      frc r6.yz, r6
      cmp r9.xy, r1.w, c3, c3.zwzw
      add r1.w, r4.w, r9.y
      mad r1.w, r6.y, r1.w, r9.x
      cmp r9.xy, r5.w, c3, c3.zwzw
      add r4.w, r8.w, r9.y
      mad r4.w, r6.y, r4.w, r9.x
      lrp r13.x, r6.z, r4.w, r1.w
    //endif
    mul r9.xyz, r10, r13.x
    dp3_sat r1.w, r0.yzww, r8
    mul r10.xyz, r1.w, c45
    mul r10.xyz, r9, r10
    mul r11.xyz, r3, r0.x
    dp3 r1.x, r1, r8
    add r1.x, r1.x, c0.w
    mul_sat r1.x, r1.x, c1.x
    dp3 r1.y, -r8, r0.yzww
    add r1.y, r1.y, r1.y
    mad r1.yzw, r0, -r1.y, -r8.xxyz
    dp3_sat r1.y, r1.yzww, r2
    pow r2.x, r1.y, c136.x
    mul r1.y, r2.x, c137.x
    mul r1.y, r7.w, r1.y
    mul r2.xyz, r5, c45
    mul r1.yzw, r1.y, r2.xxyz
    mul r1.yzw, r0.x, r1
    mul r1.xyz, r1.x, r1.yzww
    mul r1.xyz, r9, r1
    mad r1.xyz, r11, r10, r1
    add r1.xyz, r1, r7
    cmp r1.xyz, -r0.x, r7, r1
    mul r2.xyz, r3, v1.x
    nrm r3.xyz, r0.yzww
    mul r5.xyz, r3, r3
    cmp r7.xyz, r3, c2.x, c2.z
    cmp r3.xyz, -r3, c2.x, c2.z
    mul r8, r5.x, c24
    mul r9, r5.x, c25
    mul r9, r3.x, r9
    mad r8, r8, r7.x, r9
    mul r9, r5.y, c26
    mad r8, r9, r7.y, r8
    mul r9, r5.y, c27
    mad r8, r9, r3.y, r8
    mul r9, r5.z, c28
    mad r7, r9, r7.z, r8
    mul r5, r5.z, c29
    mad r5, r5, r3.z, r7
    mul r3.xyz, r5.w, r5
    mul r3.xyz, r2, r3
    mad r0.xy, r0.yzzw, c87.x, v3
    mad r0.xy, r0, c88.zwzw, r6.w
    rcp r1.w, r2.w
    add r2.w, r1.w, -c89.x
    rcp r4.w, c89.y
    mul_sat r0.w, r2.w, r4.w
    mov r0.z, c2.z
    texldl r0, r0, s12
    mul r0.xyz, r0, c88.x
    mad r0.w, r0.w, c87.w, c87.y
    add r0.w, r0.w, -v3.z
    mad_sat r0.w, r0_abs.w, -c87.z, r6.x
    mul r0.xyz, r0.w, r0
    mul r5.xyz, r2, r0
    dp3_sat r0.w, r5, c88.y
    mad r0.xyz, r0, r2, -r3
    mad r0.xyz, r0.w, r0, r3
    add r0.xyz, r0, r1
    mad_sat r0.xyz, r4, c103, r0
    add r0.w, r1.w, -c17.x
    mul_sat r0.w, r0.w, c17.y
    mul r0.w, r0.w, c17.z
    add r1.xyz, -r0, c16
    mad oC0.xyz, r0.w, r1, r0
    rcp r0.x, v1.w
    mul oC1.xyz, r0.x, v1.z
    mov oC0.w, r3.w
    mov oC1.w, r3.w

// approximately 234 instruction slots used (14 texture, 220 arithmetic)
 