//
// Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378
//
// Parameters:
//
//   samplerCUBE cubeMap;
//   sampler2D lightMap;
//   float4 mCubeMultiplier;
//   float4 mDiffuseMultiplier;
//   float4 mEnableParallaxSelfIllum;
//   float4 mEyePos;
//   float4 mFinalAdd;
//   float4 mFinalTint;
//   float4 mFogColour;
//   float2 mFogConstants;
//   float4 mLightColor_BorderScale[10];
//   float4 mLightData;
//   float4 mLightDir_IsSunlight[10];
//   float4 mLightInfo[10];
//   float4 mLightInfo2PowFilterScale[10];
//   float4 mLightPos_DPMin[10];
//   float2 mNormalAndParallaxScale;
//   float4 mSpecularMultiplier;
//   float mSpecularPower;
//   sampler2D normalMap;
//   sampler2D specularMap;
//   sampler2D texture0;
//
//
// Registers:
//
//   Name                      Reg   Size
//   ------------------------- ----- ----
//   mEyePos                   c0       1
//   mFinalTint                c2       1
//   mFinalAdd                 c3       1
//   mLightData                c4       1
//   mLightColor_BorderScale   c5      10
//   mLightPos_DPMin           c15     10
//   mLightDir_IsSunlight      c25     10
//   mLightInfo                c35     10
//   mLightInfo2PowFilterScale c45     10
//   mFogConstants             c93      1
//   mFogColour                c94      1
//   mEnableParallaxSelfIllum  c99      1
//   mDiffuseMultiplier        c104     1
//   mSpecularMultiplier       c105     1
//   mCubeMultiplier           c106     1
//   mNormalAndParallaxScale   c107     1
//   mSpecularPower            c108     1
//   texture0                  s0       1
//   specularMap               s1       1
//   normalMap                 s2       1
//   cubeMap                   s3       1
//   lightMap                  s9       1
//

    ps_3_0
    def c1, 1.00000001e-010, -9.99999975e-005, 1, 0
    def c5, 0.577350259, 0.816496551, 0.5, 0
    def c6, 0.298999995, 0.587000012, 0.114, 0.00999999978
    def c7, -3, -4, -5, 0
    def c8, 2, -1, -0.408248276, -0.707106769
    dcl_texcoord4 v0.xyz
    dcl_color_pp v1
    dcl_texcoord v2
    dcl_texcoord1_pp v3.xyz
    dcl_texcoord2_pp v4
    dcl_texcoord3_pp v5.xyz
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2
    dcl_cube s3
    dcl_2d s9
    add r0.xyz, c0, -v0
    dp3 r0.w, r0, r0
    rsq r0.w, r0.w
    mul_pp r1.xyz, r0, r0.w
    texld_pp r2, v2, s2
    mad_pp r2.xy, r2.ywzw, c8.x, c8.y
    mul_pp r2.xy, r2, c107.x
    mul_pp r2.xzw, r2.x, v4.xyyz
    mad_pp r2.xyz, r2.y, v5, r2.xzww
    add_pp r2.xyz, r2, v3
    nrm_pp r3.xyz, r2
    texld_pp r2, v2, s0
    texld_pp r4, v2, s1
    abs r1.w, c99.x
    cmp_pp r4.xyw, -r1.w, r4.xyzz, r4.x
    mul_pp r1.w, r4.z, c99.x
    dp3_pp r3.w, -r1, r3
    add_pp r3.w, r3.w, r3.w
    mad_pp r5.xyz, r3, -r3.w, -r1
    texld_pp r5, r5, s3
    mul_pp r6.xyz, c8.z, v5
    mad_pp r7.xyz, v4, c8.w, r6
    mul_pp r8.xyz, c5.x, v3
    mad_pp r7.xyz, v3, c5.x, r7
    mad_pp r6.xyz, v4, -c8.w, r6
    mad_pp r6.xyz, v3, c5.x, r6
    mad_pp r8.xyz, v5, c5.y, r8
    texld r9, v2.zwzw, s9
    add_pp r10.xyz, r9, r9
    add r11.xy, c5.zwzw, v2.zwzw
    texld r11, r11, s9
    add_pp r11.xyz, r11, r11
    add r12.xy, c5.wzzw, v2.zwzw
    texld r12, r12, s9
    add_pp r13.xyz, r12, r12
    add r14.xy, c5.z, v2.zwzw
    texld_pp r14, r14, s9
    dp3_pp r3.w, r7, r3
    max r4.z, r3.w, c5.w
    dp3_pp r3.w, r6, r3
    max r5.w, r3.w, c5.w
    mul r14.yzw, r11.xxyz, r5.w
    mad_pp r14.yzw, r4.z, r10.xxyz, r14
    dp3_pp r3.w, r8, r3
    max r4.z, r3.w, c5.w
    mad_pp r14.yzw, r4.z, r13.xxyz, r14
    dp3_pp r3.w, r10, c6
    add_pp r3.w, r3.w, c6.w
    dp3_pp r4.z, r11, c6
    add_pp r4.z, r4.z, c6.w
    dp3_pp r5.w, r13, c6
    add_pp r5.w, r5.w, c6.w
    mul_pp r6.xyz, r6, r4.z
    mad_pp r6.xyz, r7, r3.w, r6
    mad_pp r6.xyz, r8, r5.w, r6
    dp3_pp r3.w, r6, r6
    rsq_pp r3.w, r3.w
    mad_pp r1.xyz, r6, r3.w, r1
    dp3 r3.w, r1, r1
    add r3.w, r3.w, c1.x
    rsq r3.w, r3.w
    mul_pp r1.xyz, r1, r3.w
    mad_pp r6.xyz, r9, c8.x, r11
    mad_pp r6.xyz, r12, c8.x, r6
    dp3 r1.x, r1, v3
    add r1.y, r1.x, c1.y
    cmp_pp r1.y, r1.y, c1.z, c1.w
    max r3.w, r1.x, -c1.y
    pow r1.x, r3.w, c108.x
    mul_pp r1.x, r1.y, r1.x
    mul_pp r1.xyz, r6, r1.x
    mov r6.xy, c8
    add r3.w, r6.y, c4.z
    cmp r3.w, r3.w, c1.z, c1.w
    if_ne r3.w, -r3.w
      add r7.xyz, c20, -v0
      dp3 r3.w, r7, r7
      rsq r3.w, r3.w
      rcp r4.z, r3.w
      mul r7.xyz, r7, r3.w
      dp3_pp r3.w, r7, -c30
      mad_sat_pp r3.w, r3.w, c40.x, c40.y
      add r5.w, r4.z, -c40.z
      cmp_pp r5.w, r5.w, c1.w, c1.z
      mad_sat r4.z, r4.z, c40.w, -r6.y
      mul r6.z, r5.w, r4.z
      mad r4.z, r5.w, r4.z, c1.y
      cmp_pp r4.z, r4.z, c1.z, c1.w
      max r5.w, r6.z, -c1.y
      pow r6.z, r5.w, c50.y
      mul_pp r4.z, r4.z, r6.z
      mul_pp r8.xyz, r3.w, c10
      mul_pp r8.xyz, r4.z, r8
      mad r9.xyz, r0, r0.w, r7
      dp3 r3.w, r9, r9
      add r3.w, r3.w, c1.x
      rsq r3.w, r3.w
      mul_pp r9.xyz, r9, r3.w
      dp3 r3.w, r9, r3
      dp3 r4.z, r7, r3
      max_pp r5.w, r4.z, c5.w
      mad_pp r14.yzw, r8.xxyz, r5.w, r14
      add r4.z, r3.w, c1.y
      cmp_pp r4.z, r4.z, c1.z, c1.w
      max r5.w, r3.w, -c1.y
      pow r3.w, r5.w, c108.x
      mul_pp r3.w, r4.z, r3.w
      mad_pp r1.xyz, r8, r3.w, r1
      if_ge c4.z, r6.x
        add r6.xzw, c21.xyyz, -v0.xyyz
        dp3 r3.w, r6.xzww, r6.xzww
        rsq r3.w, r3.w
        rcp r4.z, r3.w
        mul r6.xzw, r6, r3.w
        dp3_pp r3.w, r6.xzww, -c31
        mad_sat_pp r3.w, r3.w, c41.x, c41.y
        add r5.w, r4.z, -c41.z
        cmp_pp r5.w, r5.w, c1.w, c1.z
        mad_sat r4.z, r4.z, c41.w, -r6.y
        mul r7.x, r5.w, r4.z
        mad r4.z, r5.w, r4.z, c1.y
        cmp_pp r4.z, r4.z, c1.z, c1.w
        max r5.w, r7.x, -c1.y
        pow r7.x, r5.w, c51.y
        mul_pp r4.z, r4.z, r7.x
        mul_pp r7.xyz, r3.w, c11
        mul_pp r7.xyz, r4.z, r7
        mad r8.xyz, r0, r0.w, r6.xzww
        dp3 r3.w, r8, r8
        add r3.w, r3.w, c1.x
        rsq r3.w, r3.w
        mul_pp r8.xyz, r8, r3.w
        dp3 r3.w, r8, r3
        dp3 r4.z, r6.xzww, r3
        max_pp r5.w, r4.z, c5.w
        mad_pp r14.yzw, r7.xxyz, r5.w, r14
        add r4.z, r3.w, c1.y
        cmp_pp r4.z, r4.z, c1.z, c1.w
        max r5.w, r3.w, -c1.y
        pow r3.w, r5.w, c108.x
        mul_pp r3.w, r4.z, r3.w
        mad_pp r1.xyz, r7, r3.w, r1
        mov r4.z, c4.z
        add r3.w, r4.z, c7.x
        cmp r3.w, r3.w, c1.z, c1.w
        if_ne r3.w, -r3.w
          add r6.xzw, c22.xyyz, -v0.xyyz
          dp3 r3.w, r6.xzww, r6.xzww
          rsq r3.w, r3.w
          rcp r5.w, r3.w
          mul r6.xzw, r6, r3.w
          dp3_pp r3.w, r6.xzww, -c32
          mad_sat_pp r3.w, r3.w, c42.x, c42.y
          add r7.x, r5.w, -c42.z
          cmp_pp r7.x, r7.x, c1.w, c1.z
          mad_sat r5.w, r5.w, c42.w, -r6.y
          mul r7.y, r7.x, r5.w
          mad r5.w, r7.x, r5.w, c1.y
          cmp_pp r5.w, r5.w, c1.z, c1.w
          max r8.x, r7.y, -c1.y
          pow r7.x, r8.x, c52.y
          mul_pp r5.w, r5.w, r7.x
          mul_pp r7.xyz, r3.w, c12
          mul_pp r7.xyz, r5.w, r7
          mad r8.xyz, r0, r0.w, r6.xzww
          dp3 r3.w, r8, r8
          add r3.w, r3.w, c1.x
          rsq r3.w, r3.w
          mul_pp r8.xyz, r8, r3.w
          dp3 r3.w, r8, r3
          dp3 r5.w, r6.xzww, r3
          max_pp r6.x, r5.w, c5.w
          mad_pp r14.yzw, r7.xxyz, r6.x, r14
          add r5.w, r3.w, c1.y
          cmp_pp r5.w, r5.w, c1.z, c1.w
          max r6.x, r3.w, -c1.y
          pow r3.w, r6.x, c108.x
          mul_pp r3.w, r5.w, r3.w
          mad_pp r1.xyz, r7, r3.w, r1
          add r3.w, r4.z, c7.y
          cmp r3.w, r3.w, c1.z, c1.w
          if_ne r3.w, -r3.w
            add r6.xzw, c23.xyyz, -v0.xyyz
            dp3 r3.w, r6.xzww, r6.xzww
            rsq r3.w, r3.w
            rcp r5.w, r3.w
            mul r6.xzw, r6, r3.w
            dp3_pp r3.w, r6.xzww, -c33
            mad_sat_pp r3.w, r3.w, c43.x, c43.y
            add r7.x, r5.w, -c43.z
            cmp_pp r7.x, r7.x, c1.w, c1.z
            mad_sat r5.w, r5.w, c43.w, -r6.y
            mul r7.y, r7.x, r5.w
            mad r5.w, r7.x, r5.w, c1.y
            cmp_pp r5.w, r5.w, c1.z, c1.w
            max r8.x, r7.y, -c1.y
            pow r7.x, r8.x, c53.y
            mul_pp r5.w, r5.w, r7.x
            mul_pp r7.xyz, r3.w, c13
            mul_pp r7.xyz, r5.w, r7
            mad r8.xyz, r0, r0.w, r6.xzww
            dp3 r3.w, r8, r8
            add r3.w, r3.w, c1.x
            rsq r3.w, r3.w
            mul_pp r8.xyz, r8, r3.w
            dp3 r3.w, r8, r3
            dp3 r5.w, r6.xzww, r3
            max_pp r6.x, r5.w, c5.w
            mad_pp r14.yzw, r7.xxyz, r6.x, r14
            add r5.w, r3.w, c1.y
            cmp_pp r5.w, r5.w, c1.z, c1.w
            max r6.x, r3.w, -c1.y
            pow r3.w, r6.x, c108.x
            mul_pp r3.w, r5.w, r3.w
            mad_pp r1.xyz, r7, r3.w, r1
            add r3.w, r4.z, c7.z
            cmp r3.w, r3.w, c1.z, c1.w
            if_ne r3.w, -r3.w
              add r6.xzw, c24.xyyz, -v0.xyyz
              dp3 r3.w, r6.xzww, r6.xzww
              rsq r3.w, r3.w
              rcp r4.z, r3.w
              mul r6.xzw, r6, r3.w
              dp3_pp r3.w, r6.xzww, -c34
              mad_sat_pp r3.w, r3.w, c44.x, c44.y
              add r5.w, r4.z, -c44.z
              cmp_pp r5.w, r5.w, c1.w, c1.z
              mad_sat r4.z, r4.z, c44.w, -r6.y
              mul r6.y, r5.w, r4.z
              mad r4.z, r5.w, r4.z, c1.y
              cmp_pp r4.z, r4.z, c1.z, c1.w
              max r5.w, r6.y, -c1.y
              pow r6.y, r5.w, c54.y
              mul_pp r4.z, r4.z, r6.y
              mul_pp r7.xyz, r3.w, c14
              mul_pp r7.xyz, r4.z, r7
              mad r0.xyz, r0, r0.w, r6.xzww
              dp3 r0.w, r0, r0
              add r0.w, r0.w, c1.x
              rsq r0.w, r0.w
              mul_pp r0.xyz, r0, r0.w
              dp3 r0.x, r0, r3
              dp3 r0.y, r6.xzww, r3
              max_pp r3.x, r0.y, c5.w
              mad_pp r14.yzw, r7.xxyz, r3.x, r14
              add r0.y, r0.x, c1.y
              cmp_pp r0.y, r0.y, c1.z, c1.w
              max r3.x, r0.x, -c1.y
              pow r0.x, r3.x, c108.x
              mul_pp r0.x, r0.y, r0.x
              mad_pp r1.xyz, r7, r0.x, r1
            endif
          endif
        endif
      endif
    endif
    max_pp r0.xyz, r14.yzww, c5.w
    max_pp r3.xyz, r1, c5.w
    mad_pp r0.xyz, r0, r14.x, v1
    mul_pp r1.xyz, r14.x, r3
    mul_pp r3, r2, c104
    mul_pp r6.xyz, r4.xyww, c105
    mul_pp r1.xyz, r1, r6
    mad_pp r1.xyz, r3, r0, r1
    mul_pp r3.xyz, r5, c106
    mul_pp r3.xyz, r4.xyww, r3
    mad_pp r0.xyz, r3, r0, r1
    mad_pp r1.xyz, c104, r2, -r0
    mad_pp r0.xyz, r1.w, r1, r0
    mul_pp r0.w, r3.w, v1.w
    mov r1, c2
    mad_pp r0, r0, r1, c3
    max r1.x, v4.w, c93.x
    min r2.x, c93.y, r1.x
    add r1.xyz, -r0, c94
    mad_pp oC0.xyz, r2.x, r1, r0
    mov_pp oC0.w, r0.w

// approximately 301 instruction slots used (8 texture, 293 arithmetic)
