//
// 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 LocalToWorldRotDeterminantFlip;
//   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
//   LocalToWorldRotDeterminantFlip c232     1
//   MorphWeight                    c233     1
//   GoboLightDirection             c234     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 c235, -0.707106769, -0.408248305, 0.577350259, 0.707106769
    def c236, 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_color o0.xyz
    dcl_color1 o1
    dcl_texcoord o2
    dcl_texcoord3 o3.xyz
    dcl_texcoord4 o4.xyz
    dcl_texcoord5 o5.xyz
    dcl_texcoord6 o6
    dcl_texcoord7 o7
    dcl_position o8
    mov r0.xyz, v6
    mad r0.xyz, r0, c233.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
    mul r1.xy, r7.y, c223.xzzw
    mad r1.xy, c222.xzzw, r7.x, r1
    mad r1.xy, c224.xzzw, r7.z, r1
    mul r3.xy, r6.y, c223.xzzw
    mad r3.xy, c222.xzzw, r6.x, r3
    mad r3.xy, c224.xzzw, r6.z, r3
    mul r3.zw, r2.y, c223.xyxz
    mad r3.zw, c222.xyxz, r2.x, r3
    mad r3.zw, c224.xyxz, r2.z, r3
    mul o1.w, r5.w, c232.x
    mad r5.xyz, r0, -c4.w, c4
    mul r8.xyz, r5.y, c230
    mad r5.xyw, c229.xyzz, r5.x, r8.xyzz
    mad r5.xyz, c231, r5.z, r5.xyww
    dp3 r8.x, r7, r5
    dp3 r8.y, r6, r5
    dp3 r8.z, r2, r5
    dp3 r0.w, r8, r8
    rsq r0.w, r0.w
    mul o6.xyz, r0.w, r8
    mov r5.xyz, c230
    mul r5.xyz, r5, c234.y
    mov r8.xyz, c229
    mad r5.xyz, r8, c234.x, r5
    mov r8.xyz, c231
    mad r5.xyz, r8, c234.z, r5
    dp3 o3.x, r7, r5
    dp3 o3.y, r6, r5
    dp3 o3.z, r2, r5
    if b0
      mul r5.xyz, r2.y, c223.yzxw
      mad r5.xyz, c222.yzxw, r2.x, r5
      mad r5.xyz, c224.yzxw, r2.z, r5
      dp3 r0.w, r5, r5
      rsq r0.w, r0.w
      mul r5.xyz, r0.w, r5
      mov r8.w, c6.x
      mov r9, c6.z
      mov r10, c6.z
      mov r11, 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 r12.xyz, -r0, c180[a0.x]
        dp3 r6.w, r12, r12
        rsq r6.w, r6.w
        mul r13.xyz, r6.w, r12.yzxw
        dp3 r6.w, r5, r13
        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, r13.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 r12.xyz, r2.w, r12
        dp3 r2.w, r12, r12
        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 r12.xyz, r2.w, c181[a0.x]
        mul r8.xyz, r13, c7.zwzw
        mad r9, r8, r12.x, r9
        mad r10, r8, r12.y, r10
        mad r11, r8, r12.z, r11
        add r0.w, r0.w, c5.y
      endrep
      if b1
        dp3 r0.x, r7, c229
        dp3 r8.x, r7, c230
        dp3 r12.x, r7, c231
        dp3 r0.y, r6, c229
        dp3 r8.y, r6, c230
        dp3 r12.y, r6, c231
        dp3 r0.z, r2, c229
        dp3 r8.z, r2, c230
        dp3 r12.z, r2, c231
        dp3 r13.z, r0, c11
        dp3 r13.x, r8, c11
        dp3 r13.y, r12, c11
        dp3 r0.w, r13, r13
        rsq r0.w, r0.w
        mul r13.xyz, r0.w, r13
        dp3 r14.z, r0, c235
        dp3 r14.x, r8, c235
        dp3 r14.y, r12, c235
        dp3 r0.w, r14, r14
        rsq r0.w, r0.w
        mul r14.xyz, r0.w, r14
        dp3 r0.z, r0.yzxw, c235.yzww
        dp3 r0.x, r8.yzxw, c235.yzww
        dp3 r0.y, r12.yzxw, c235.yzww
        dp3 r0.w, r0, r0
        rsq r0.w, r0.w
        mul r0.xyz, r0.w, r0
        mov r8.xy, c8
        mul r12.xyz, r8.xyxw, c226.yzww
        mul r15.xyz, r8.xyxw, c227.yzww
        mul r8.xyz, r8.xyxw, c228.yzww
        dp3 r0.w, r5, r12
        mov r2.w, c11.w
        mad r0.w, c226.x, r2.w, r0.w
        dp3 r6.w, r5, r15
        mad r6.w, c227.x, r2.w, r6.w
        max r6.w, r6.w, c6.z
        dp3 r7.w, r5, r8
        mad r7.w, c228.x, r2.w, r7.w
        max r7.w, r7.w, c6.z
        mov r5.w, c5.y
        mad r13.xyz, r13, c8.z, r5
        dp3 r8.w, r13, r13
        rsq r8.w, r8.w
        mul r13.xyz, r8.w, r13
        mad r14.xyz, r14, c8.z, r5
        dp3 r8.w, r14, r14
        rsq r8.w, r8.w
        mul r14.xyz, r8.w, r14
        mad r0.xyz, r0, c8.z, r5
        dp3 r8.w, r0, r0
        rsq r8.w, r8.w
        mul r16.xyz, r0, r8.w
        dp3 r0.x, r13, r12
        mad r0.x, c226.x, r2.w, r0.x
        dp3 r0.y, r13, r15
        mad r0.y, c227.x, r2.w, r0.y
        dp3 r0.z, r13, r8
        mad r0.z, c228.x, r2.w, r0.z
        max r0, r0, c6.z
        dp3 r8.w, r14, r12
        mad r8.w, c226.x, r2.w, r8.w
        max r8.w, r8.w, c6.z
        dp3 r12.w, r14, r15
        mad r12.w, c227.x, r2.w, r12.w
        dp3 r15.w, r14, r8
        mad r15.w, c228.x, r2.w, r15.w
        max r15.w, r15.w, c6.z
        dp3 r12.x, r16, r12
        mad r12.x, c226.x, r2.w, r12.x
        dp3 r12.y, r16, r15
        mad r12.y, c227.x, r2.w, r12.y
        max r12.xyw, r12, c6.z
        dp3 r8.x, r16, r8
        mad r2.w, c228.x, r2.w, r8.x
        max r2.w, r2.w, c6.z
        mov r13.w, c5.y
        mul r17, r0.x, r13
        mad r17, r5, r0.w, r17
        mul r18, r0.y, r13
        mad r18, r5, r6.w, r18
        mul r0, r0.z, r13
        mad r0, r5, r7.w, r0
        mov r14.w, c5.y
        mad r5, r14, r8.w, r17
        mad r8, r14, r12.w, r18
        mad r0, r14, r15.w, r0
        mov r16.w, c5.y
        mad r5, r16, r12.x, r5
        mad r8, r16, r12.y, r8
        mad r0, r16, r2.w, r0
        mad r9, r5, c9.xyxz, r9
        mad r10, r8, c9.xyxz, r10
        mad r11, r0, c9.xyxz, r11
      endif
      mul r0, r9, c8.xyxw
      mul r5, r10, c8.xyxw
      mul r8, r11, c8.xyxw
      mul r10, r10, c10.xyxz
      mad r9, r9, c10.xyxz, r10
      mad r9, r11, c10.xyxz, r9
      mul r10.xyz, r9.x, c230
      mad r10.xyz, c229, r9.z, r10
      mad r10.xyz, c231, r9.y, r10
      dp3 r7.x, r7, r10
      dp3 r7.y, r6, r10
      dp3 r7.z, r2, r10
      dp3 r2.x, r7, r7
      rsq r2.x, r2.x
      mul o4.xyz, r2.x, r7
      dp4 r0.x, r9, r0
      dp4 r0.y, r9, r5
      dp4 r0.z, r9, r8
      max o5.xyz, r0, c6.z
    else
      mov o4.xyz, c6.z
      mov o5.xyz, c6.z
    endif
    mov r1.zw, r3.xyxz
    mov o0.xyz, r1.xzww
    mov o1.x, r1.y
    mov o1.yz, r3.xyww
    mul o2, c236.xxyy, v5.xyxx
    mov o6.w, c5.y
    mov o7, r4
    mov o8, r4

// approximately 261 instruction slots used
 