//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 AmbientSHCoeffs[3];
//   float4x3 BoneMatrices[56];
//   float4 CameraPosition;
//   
//   struct
//   {
//       float4 WorldPosXYZ_SpotAngleAW;
//       float4 ColorXYZ_SpotAngleBW;
//       float4 DirectionXYZ_InvRadiusW;
//
//   } DynamicLights[14];
//   
//   float3 GoboLightDirection;
//   float4x4 LocalToWorld;
//   float MorphWeight;
//   float4x4 ViewProjectionMatrix;
//   float3x3 WorldToLocal;
//   bool bIncludeCoallescedLighting;
//   bool bUseDynamicLighting;
//
//
// Registers:
//
//   Name                       Reg   Size
//   -------------------------- ----- ----
//   bUseDynamicLighting        b0       1
//   bIncludeCoallescedLighting b1       1
//   ViewProjectionMatrix       c0       4
//   CameraPosition             c4       1
//   BoneMatrices               c12    168
//   DynamicLights              c180    42
//   LocalToWorld               c222     4
//   AmbientSHCoeffs            c226     3
//   WorldToLocal               c229     3
//   MorphWeight                c232     1
//   GoboLightDirection         c233     1
//

    vs_3_0
    def c5, 3, 1, 0.00784313772, -1
    def c6, 0.443171233, 0, 0, 0.5
    def c7, 0.666666687, 1.14300001, -0.767595291, 0.767595291
    def c8, -1.02332795, 1.02332795, 0.25, 0.886227012
    def c9, -0.167592451, 0.167592451, 0.0967595279, 0
    def c10, -0.341109335, 0.341109335, 0.295408994, 0
    def c11, 0, 0.816496611, 0.577350259, 0.886227012
    def c234, -0.707106769, -0.408248305, 0.577350259, 0.707106769
    def c235, 1, 0, 0, 0
    defi i0, 14, 0, 0, 0
    dcl_position v0
    dcl_tangent v1
    dcl_normal v2
    dcl_blendindices v3
    dcl_blendweight v4
    dcl_texcoord v5
    dcl_texcoord7 v6
    dcl_texcoord o0
    dcl_texcoord3 o1.xyz
    dcl_texcoord4 o2.xyz
    dcl_texcoord5 o3.xyz
    dcl_texcoord6 o4
    dcl_texcoord7 o5
    dcl_position o6
    mov r0.xyz, v6
    mad r0.xyz, r0, c232.x, v0
    mul r1, c5.x, v3
    mova a0.xy, r1
    mul r2, v4.y, c12[a0.y]
    mul r3, v4.y, c13[a0.y]
    mul r4, v4.y, c14[a0.y]
    mad r2, v4.x, c12[a0.x], r2
    mad r3, v4.x, c13[a0.x], r3
    mad r4, v4.x, c14[a0.x], r4
    mova a0.x, r1.z
    mad r2, v4.z, c12[a0.x], r2
    mad r3, v4.z, c13[a0.x], r3
    mad r4, v4.z, c14[a0.x], r4
    mova a0.x, r1.w
    mad r1, v4.w, c12[a0.x], r2
    mad r2, v4.w, c13[a0.x], r3
    mad r3, v4.w, c14[a0.x], r4
    mov r0.w, c5.y
    dp4 r1.w, r0, r1
    dp4 r2.w, r0, r2
    dp4 r0.x, r0, r3
    mul r4, r2.w, c223
    mad r4, c222, r1.w, r4
    mad r0, c224, r0.x, r4
    add r0, r0, c225
    mul r4, r0.y, c1
    mad r4, c0, r0.x, r4
    mad r4, c2, r0.z, r4
    mad r4, c3, r0.w, r4
    mad r5, v2, c5.z, c5.w
    mad r6.xyz, v1.yzxw, c5.z, c5.w
    mul r7.xyz, r5.zxyw, r6
    mad r6.xyz, r5.yzxw, r6.yzxw, -r7
    mul r6.xyz, r5.w, r6
    mul r7.xyz, r5.yzxw, r6.zxyw
    mad r7.xyz, r6.yzxw, r5.zxyw, -r7
    mul r7.xyz, r5.w, r7
    dp3 r8.x, r7, r1
    dp3 r8.y, r7, r2
    dp3 r8.z, r7, r3
    nrm r7.xyz, r8
    dp3 r8.x, r6, r1
    dp3 r8.y, r6, r2
    dp3 r8.z, r6, r3
    nrm r6.xyz, r8
    dp3 r1.x, r5, r1
    dp3 r1.y, r5, r2
    dp3 r1.z, r5, r3
    nrm r2.xyz, r1
    mad r1.xyz, r0, -c4.w, c4
    mul r3.xyz, r1.y, c230
    mad r1.xyw, c229.xyzz, r1.x, r3.xyzz
    mad r1.xyz, c231, r1.z, r1.xyww
    dp3 r3.x, r7, r1
    dp3 r3.y, r6, r1
    dp3 r3.z, r2, r1
    dp3 r0.w, r3, r3
    rsq r0.w, r0.w
    mul o4.xyz, r0.w, r3
    mov r1.xyz, c230
    mul r1.xyz, r1, c233.y
    mov r3.xyz, c229
    mad r1.xyz, r3, c233.x, r1
    mov r3.xyz, c231
    mad r1.xyz, r3, c233.z, r1
    dp3 o1.x, r7, r1
    dp3 o1.y, r6, r1
    dp3 o1.z, r2, r1
    if b0
      mul r1.xyz, r2.y, c223.yzxw
      mad r1.xyz, c222.yzxw, r2.x, r1
      mad r1.xyz, c224.yzxw, r2.z, r1
      dp3 r0.w, r1, r1
      rsq r0.w, r0.w
      mul r1.xyz, r0.w, r1
      mov r3.w, c6.x
      mov r5, c6.z
      mov r8, c6.z
      mov r9, c6.z
      mov r0.w, c6.z
      rep i0
        mul r2.w, r0.w, c5.x
        mova a0.x, r2.w
        abs r2.w, c182[a0.x].w
        add r10.xyz, -r0, c180[a0.x]
        dp3 r6.w, r10, r10
        rsq r6.w, r6.w
        mul r11.xyz, r6.w, r10.yzxw
        dp3 r6.w, r1, r11
        add r6.w, r6.w, c6.w
        mul_sat r6.w, r6.w, c7.x
        mul r6.w, r6.w, c7.y
        dp3 r7.w, r11.zxyw, c182[a0.x]
        add r7.w, r7.w, -c180[a0.x].w
        mul_sat r7.w, r7.w, c181[a0.x].w
        mul r7.w, r7.w, r7.w
        mul r6.w, r6.w, r7.w
        mul r10.xyz, r2.w, r10
        dp3 r2.w, r10, r10
        add r2.w, -r2.w, c5.y
        max r2.w, r2.w, c6.z
        mul r2.w, r2.w, r2.w
        mul r2.w, r2.w, r6.w
        mul r10.xyz, r2.w, c181[a0.x]
        mul r3.xyz, r11, c7.zwzw
        mad r5, r3, r10.x, r5
        mad r8, r3, r10.y, r8
        mad r9, r3, r10.z, r9
        add r0.w, r0.w, c5.y
      endrep
      if b1
        dp3 r0.x, r7, c229
        dp3 r3.x, r7, c230
        dp3 r10.x, r7, c231
        dp3 r0.y, r6, c229
        dp3 r3.y, r6, c230
        dp3 r10.y, r6, c231
        dp3 r0.z, r2, c229
        dp3 r3.z, r2, c230
        dp3 r10.z, r2, c231
        dp3 r11.z, r0, c11
        dp3 r11.x, r3, c11
        dp3 r11.y, r10, c11
        dp3 r0.w, r11, r11
        rsq r0.w, r0.w
        mul r11.xyz, r0.w, r11
        dp3 r12.z, r0, c234
        dp3 r12.x, r3, c234
        dp3 r12.y, r10, c234
        dp3 r0.w, r12, r12
        rsq r0.w, r0.w
        mul r12.xyz, r0.w, r12
        dp3 r0.z, r0.yzxw, c234.yzww
        dp3 r0.x, r3.yzxw, c234.yzww
        dp3 r0.y, r10.yzxw, c234.yzww
        dp3 r0.w, r0, r0
        rsq r0.w, r0.w
        mul r0.xyz, r0.w, r0
        mov r3.xy, c8
        mul r10.xyz, r3.xyxw, c226.yzww
        mul r13.xyz, r3.xyxw, c227.yzww
        mul r3.xyz, r3.xyxw, c228.yzww
        dp3 r0.w, r1, r10
        mov r2.w, c11.w
        mad r0.w, c226.x, r2.w, r0.w
        dp3 r3.w, r1, r13
        mad r3.w, c227.x, r2.w, r3.w
        max r3.w, r3.w, c6.z
        dp3 r6.w, r1, r3
        mad r6.w, c228.x, r2.w, r6.w
        max r6.w, r6.w, c6.z
        mov r1.w, c5.y
        mad r11.xyz, r11, c8.z, r1
        dp3 r7.w, r11, r11
        rsq r7.w, r7.w
        mul r11.xyz, r7.w, r11
        mad r12.xyz, r12, c8.z, r1
        dp3 r7.w, r12, r12
        rsq r7.w, r7.w
        mul r12.xyz, r7.w, r12
        mad r0.xyz, r0, c8.z, r1
        dp3 r7.w, r0, r0
        rsq r7.w, r7.w
        mul r14.xyz, r0, r7.w
        dp3 r0.x, r11, r10
        mad r0.x, c226.x, r2.w, r0.x
        dp3 r0.y, r11, r13
        mad r0.y, c227.x, r2.w, r0.y
        dp3 r0.z, r11, r3
        mad r0.z, c228.x, r2.w, r0.z
        max r0, r0, c6.z
        dp3 r7.w, r12, r10
        mad r7.w, c226.x, r2.w, r7.w
        max r7.w, r7.w, c6.z
        dp3 r10.w, r12, r13
        mad r10.w, c227.x, r2.w, r10.w
        dp3 r13.w, r12, r3
        mad r13.w, c228.x, r2.w, r13.w
        max r13.w, r13.w, c6.z
        dp3 r10.x, r14, r10
        mad r10.x, c226.x, r2.w, r10.x
        dp3 r10.y, r14, r13
        mad r10.y, c227.x, r2.w, r10.y
        max r10.xyw, r10, c6.z
        dp3 r3.x, r14, r3
        mad r2.w, c228.x, r2.w, r3.x
        max r2.w, r2.w, c6.z
        mov r11.w, c5.y
        mul r15, r0.x, r11
        mad r15, r1, r0.w, r15
        mul r16, r0.y, r11
        mad r3, r1, r3.w, r16
        mul r0, r0.z, r11
        mad r0, r1, r6.w, r0
        mov r12.w, c5.y
        mad r1, r12, r7.w, r15
        mad r3, r12, r10.w, r3
        mad r0, r12, r13.w, r0
        mov r14.w, c5.y
        mad r1, r14, r10.x, r1
        mad r3, r14, r10.y, r3
        mad r0, r14, r2.w, r0
        mad r5, r1, c9.xyxz, r5
        mad r8, r3, c9.xyxz, r8
        mad r9, r0, c9.xyxz, r9
      endif
      mul r0, r5, c8.xyxw
      mul r1, r8, c8.xyxw
      mul r3, r9, c8.xyxw
      mul r8, r8, c10.xyxz
      mad r5, r5, c10.xyxz, r8
      mad r5, r9, c10.xyxz, r5
      mul r8.xyz, r5.x, c230
      mad r8.xyz, c229, r5.z, r8
      mad r8.xyz, c231, r5.y, r8
      dp3 r7.x, r7, r8
      dp3 r7.y, r6, r8
      dp3 r7.z, r2, r8
      dp3 r2.x, r7, r7
      rsq r2.x, r2.x
      mul o2.xyz, r2.x, r7
      dp4 r0.x, r5, r0
      dp4 r0.y, r5, r1
      dp4 r0.z, r5, r3
      max o3.xyz, r0, c6.z
    else
      mov o2.xyz, c6.z
      mov o3.xyz, c6.z
    endif
    mul o0, c235.xxyy, v5.xyxx
    mov o4.w, c5.y
        mov o5, r4
    mov o6, r4
// approximately 247 instruction slots used
 