//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4x4 Model;
//   float4x4 ModelViewProj;
//   float4x3 boneMatrices[60];
//
//
// Registers:
//
//   Name          Reg   Size
//   ------------- ----- ----
//   boneMatrices  c0     180
//   Model         c180     4
//   ModelViewProj c184     4
//

    vs_3_0
    def c188, 1, 3, 0, 0
def c220, 1, 0, 0.0625, 0.5
dcl_2d s0
    dcl_position v0  // IN<0,1,2,3>
    dcl_texcoord v1  // IN<4,5>
    dcl_texcoord1 v2  // IN<8,9>
    dcl_normal v3  // IN<16,17,18>
    dcl_tangent v4  // IN<19,20,21>
    dcl_binormal v5  // IN<22,23,24>
    dcl_blendweight v6  // IN<25,26,27,28>
    dcl_blendindices v7  // IN<29,30,31,32>
    dcl_position o0
    dcl_texcoord o1
    dcl_texcoord1 o2.xyz
    dcl_texcoord2 o3.xyz
    dcl_texcoord3 o4.xyz
    dcl_texcoord4 o5
    dcl_texcoord5 o6

#line 948 "incDeferred.cgfx"
    dp4 r0.x, v6, c188.x
    rcp r0.x, r0.x
    mul r0, r0.x, v6  // applySkinning::weights<0,1,2,3>

#line 956
    mul r1, c188.y, v7
    mova a0, r1.yxzw
    dp4 r2.x, v0, c0[a0.x]
    dp4 r2.y, v0, c1[a0.x]
    dp4 r2.z, v0, c2[a0.x]
    mul r2.xyz, r0.y, r2
    dp4 r3.x, v0, c0[a0.y]
    dp4 r3.y, v0, c1[a0.y]
    dp4 r3.z, v0, c2[a0.y]
    mad r2.xyz, r0.x, r3, r2  // applySkinning::outPosition<0,1,2>
    dp4 r1.x, v0, c0[a0.z]
    dp4 r1.y, v0, c1[a0.z]
    dp4 r1.z, v0, c2[a0.z]
    mad r1.xyz, r0.z, r1, r2  // applySkinning::outPosition<0,1,2>
    dp4 r2.x, v0, c0[a0.w]
    dp4 r2.y, v0, c1[a0.w]
    dp4 r2.z, v0, c2[a0.w]
    mad r1.xyz, r0.w, r2, r1  // applySkinning::outPosition<0,1,2>

#line 1008
    mul r2, r1.y, c181
    mad r2, c180, r1.x, r2
    mad r2, c182, r1.z, r2
    add o6, r2, c183  // ::mainVPSkinningCloak<21,22,23,24>

#line 965
    add r0.z, r0.y, r0.x
    rcp r0.z, r0.z
    mul r0.xy, r0.z, r0  // ::weights2<0,1>

#line 970
    dp3 r2.z, v5, c0[a0.x]
    dp3 r2.x, v5, c1[a0.x]
    dp3 r2.y, v5, c2[a0.x]
    mul r2.xyz, r0.y, r2
    dp3 r3.z, v5, c0[a0.y]
    dp3 r3.x, v5, c1[a0.y]
    dp3 r3.y, v5, c2[a0.y]
    mad r2.xyz, r0.x, r3, r2  // applySkinning::outBinormal<1,2,0>
    dp3 r3.y, v4, c0[a0.x]
    dp3 r3.z, v4, c1[a0.x]
    dp3 r3.x, v4, c2[a0.x]
    mul r0.yzw, r0.y, r3.xxyz
    dp3 r3.y, v4, c0[a0.y]
    dp3 r3.z, v4, c1[a0.y]
    dp3 r3.x, v4, c2[a0.y]
    mad r0.xyz, r0.x, r3, r0.yzww  // applySkinning::outTangent<2,0,1>

#line 973
    dp3 r0.w, r0, r0
    rsq r0.w, r0.w
    mul r0.xyz, r0.w, r0  // applySkinning::outTangent<2,0,1>
    dp3 r0.w, r2.yzxw, r0
    mad r2.xyz, r0.w, -r0.zxyw, r2
    dp3 r0.w, r2, r2
    rsq r0.w, r0.w
    mul r2.xyz, r0.w, r2  // applySkinning::outBinormal<1,2,0>
    mul r3.xyz, r0, r2
    mad r3.xyz, r0.zxyw, r2.yzxw, -r3
    nrm r4.xyz, r3  // applySkinning::outNormal<0,1,2>
    dp3 r3.x, v3, c0[a0.y]  // ::tentativeNormal<0>
    dp3 r3.y, v3, c1[a0.y]  // ::tentativeNormal<1>
    dp3 r3.z, v3, c2[a0.y]  // ::tentativeNormal<2>
    dp3 r0.w, r4, r3
    slt r1.w, -r0.w, r0.w
    slt r0.w, r0.w, -r0.w
    add r0.w, -r0.w, r1.w  // ::normalDirection<0>
    mul r3.xyz, r4, r0.w  // applySkinning::outNormal<0,1,2>

#line 1026
    mul r4.xyz, r3.y, c181
    mad r3.xyw, c180.xyzz, r3.x, r4.xyzz
    mad r3.xyz, c182, r3.z, r3.xyww
    dp3 r0.w, r3, r3
    rsq r0.w, r0.w
    mul o2.xyz, r0.w, r3  // ::mainVPSkinningCloak<8,9,10>
    mul r3.xyz, r0.z, c181
    mad r0.yzw, c180.xxyz, r0.y, r3.xxyz
    mad r0.xyz, c182, r0.x, r0.yzww
    dp3 r0.w, r0, r0
    rsq r0.w, r0.w
    mul o3.xyz, r0.w, r0  // ::mainVPSkinningCloak<11,12,13>
    mul r0.xyz, r2.x, c181
    mad r0.xyz, c180, r2.z, r0
    mad r0.xyz, c182, r2.y, r0
    dp3 r0.w, r0, r0
    rsq r0.w, r0.w
    mul o4.xyz, r0.w, r0  // ::mainVPSkinningCloak<14,15,16>

#line 1010
    mul r0, r1.y, c185
    mad r0, c184, r1.x, r0
    mad r0, c186, r1.z, r0
    add r0, r0, c187  // ::OUT<0,1,2,3>
	
mov r10, r0
texldl r24, c220.z, s0
add r24.y, r0.w, -r24.y
mul r24.x, r24.x, r24.y
add r0.x, r0.x, r24.x

    mov o0, r10 //r0  // ::mainVPSkinningCloak<0,1,2,3>
    mov o5, r0  // ::mainVPSkinningCloak<17,18,19,20>

#line 1123
    mov o1.xy, v1  // ::mainVPSkinningCloak<4,5>
    mov o1.zw, v2.xyxy  // ::mainVPSkinningCloak<6,7>

// approximately 91 instruction slots used
 