//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float ShadowPointLight;
//   sampler2D Texture2DParameter_ab6a532b16d94859851f2b402145c763;
//   row_major float4x4 WorldMatrix;
//   float4 global_Data;
//   row_major float4x4 global_View;
//   float4 global_ViewInfo;
//   float4 global_ViewPos;
//   row_major float4x4 global_ViewProjection;
//
//
// Registers:
//
//   Name                                                Reg   Size
//   --------------------------------------------------- ----- ----
//   WorldMatrix                                         c0       4
//   ShadowPointLight                                    c4       1
//   global_ViewInfo                                     c237     1
//   global_Data                                         c238     1
//   global_View                                         c239     3
//   global_ViewProjection                               c247     4
//   global_ViewPos                                      c251     1
//   Texture2DParameter_ab6a532b16d94859851f2b402145c763 s0       1
//

    vs_3_0
    def c5, 0.400000006, 0.867999971, 0, 0.0399999991
    def c6, 1, 1.10000002, 0, 15
    dcl_texcoord v0  // In<0,1>
    dcl_position v1  // In<2,3,4>
    dcl_normal v2  // In<5,6,7>
    dcl_binormal v3  // In<8,9,10>
    dcl_tangent v4  // In<11,12,13>
    dcl_2d s0
    dcl_texcoord o0.xy
    dcl_position o1
    dcl_texcoord1 o2.xyz
    dcl_texcoord2 o3.xyz
    dcl_texcoord3 o4.xyz
    dcl_texcoord4 o5.xyz
    dcl_texcoord5 o6.x

#line 35 "C:\Program Files (x86)\EoC Tools\memory"
    mov r0.xyz, c5
    mul r0.yw, r0.xxzy, c238.x
    mad r1.xy, v0, c6, r0.ywzw
    mov r1.zw, c5.z
    texldl r1, r1, s0  // ::Local3<2>

#line 32
    mad r2.xy, c238.x, r0.x, v0
    mov r2.zw, c5.z
    texldl r2, r2, s0  // ::Local1<2>

#line 38
    add r0.x, r1.z, r2.z  // ::Local5<0>
    mul r0.xyw, r0.x, c5.zwzz  // ::Local6<0,1,0>
    mul r1, c6.xxzz, v0.xyxx
    texldl r1, r1, s0  // ::Local7<0>

#line 43
    mul_sat r1.x, r1.x, c6.w  // ::Local10<0>
    mul r1.xyz, r0.xyww, r1.x  // ::Local11<0,1,0>

#line 59
    mov r1.w, c5.z
    mad r2, v1.xyzx, c6.xxxz, c6.zzzx
    dp4 r3.x, c0, r2  // ::worldPosition<0>
    dp4 r3.y, c1, r2  // ::worldPosition<1>
    dp4 r3.z, c2, r2  // ::worldPosition<2>
    dp4 r3.w, c3, r2  // ::worldPosition<3>
    add r1, r1, r3  // ::worldPosition<0,1,2,3>

#line 62
    dp4 o1.x, c247, r1  // ::main<2>
    dp4 o1.y, c248, r1  // ::main<3>
    dp4 o1.z, c249, r1  // ::main<4>
    dp4 o1.w, c250, r1  // ::main<5>

#line 68
    nrm r2.xyz, v2  // ::localNormalNormalized<0,1,2>

#line 71
    dp3 r3.x, c0, r2  // ::worldNormal<0>
    dp3 r3.y, c1, r2  // ::worldNormal<1>
    dp3 r3.z, c2, r2  // ::worldNormal<2>

#line 74
    dp3 r0.x, r3, r3
    rsq r0.x, r0.x
    mul o2.xyz, r0.x, r3  // ::main<6,7,8>

#line 79
    nrm r2.xyz, v3  // ::localBinormalNormalized<0,1,2>

#line 82
    dp3 r3.x, c0, r2  // ::worldBinormal<0>
    dp3 r3.y, c1, r2  // ::worldBinormal<1>
    dp3 r3.z, c2, r2  // ::worldBinormal<2>

#line 85
    dp3 r0.x, r3, r3
    rsq r0.x, r0.x
    mul o3.xyz, r0.x, r3  // ::main<9,10,11>

#line 90
    nrm r2.xyz, v4  // ::localTangentNormalized<0,1,2>

#line 93
    dp3 r3.x, c0, r2  // ::worldTangent<0>
    dp3 r3.y, c1, r2  // ::worldTangent<1>
    dp3 r3.z, c2, r2  // ::worldTangent<2>

#line 96
    dp3 r0.x, r3, r3
    rsq r0.x, r0.x
    mul o4.xyz, r0.x, r3  // ::main<12,13,14>

#line 101
    add o5.xyz, -r1, c251  // ::main<15,16,17>

#line 108
    add r0.xyw, r1.xyzz, -c251.xyzz

#line 113
    dp4 r1.x, c241, r1  // ::viewPosition<2>

#line 108
    dp3 r0.x, r0.xyww, r0.xyww
    rsq r0.x, r0.x
    rcp r0.x, r0.x  // ::vertexDepth<0>

#line 119
    rcp r0.y, c237.x

#line 106
    mad r0.x, r1.x, -r0.y, r0.x

#line 119
    mul r0.y, r0.y, r1.x  // ::depthNormalized<0>

#line 106
    slt r0.z, r0.z, c4.x
    mad o6.x, r0.z, r0.x, r0.y  // ::main<18>

#line 54
    mov o0.xy, v0  // ::main<0,1>

// approximately 67 instruction slots used (6 texture, 61 arithmetic)
 