//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   sampler2D Texture2DParameter_ab6a532b16d94859851f2b402145c763;
//   float4 Vector4Parameter_DeformationScale;
//   row_major float4x4 WorldMatrix;
//   float4 global_Data;
//   float4x3 global_FogPropertyMatrix;
//   row_major float4x4 global_View;
//   float4 global_ViewInfo;
//   float4 global_ViewPos;
//   row_major float4x4 global_ViewProjection;
//
//
// Registers:
//
//   Name                                                Reg   Size
//   --------------------------------------------------- ----- ----
//   WorldMatrix                                         c0       4
//   Vector4Parameter_DeformationScale                   c4       1
//   global_FogPropertyMatrix                            c234     3
//   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, 2, 0, 2.29999995, 1.70000005
    def c6, 0.5, 1, 0, 0
    def c7, -0.170000002, -0.1875, 0.300000012, 0.25
    dcl_normal v0  // In<0,1,2>
    dcl_position v1  // In<3,4,5>
    dcl_binormal v2  // In<6,7,8>
    dcl_tangent v3  // In<9,10,11>
    dcl_texcoord v4  // In<12,13>
    dcl_2d s0
    dcl_position o0
    dcl_texcoord o1.xyz
    dcl_texcoord1 o2.xyz
    dcl_texcoord2 o3.xyz
    dcl_texcoord3 o4.xyz
    dcl_texcoord4 o5.xy
    dcl_texcoord5 o6.x
    dcl_texcoord6 o7.x
    dcl_texcoord7 o8.x

#line 36 "C:\Program Files (x86)\EoC Tools\memory"
    mov r0.zw, c5.y

#line 41
    mov r1.x, c238.x  // ::global_Data<0>
    mul r1, r1.x, c7

#line 36
    mad r0.xy, v1.x, c5.x, r1

#line 41
    mad r1.xy, v1.xzzw, c5.zwzw, r1.zwzw

#line 36
    texldl r0, r0, s0  // ::Local3<2>

#line 41
    mov r1.zw, c5.y
    texldl r1, r1, s0  // ::Local7<1>

#line 44
    add r0.x, r0.z, r1.y  // ::Local9<0>
    mul r0.x, r0.x, c6.x  // ::Local10<0>
    mul r0.xyz, r0.x, c4  // ::Local12<0,1,2>

#line 58
    nrm r1.xyz, v0  // ::localNormalNormalized<0,1,2>

#line 48
    mul r0.xyz, r0, r1  // ::Local13<0,1,2>

#line 64
    mov r0.w, c5.y
    mad r2, v1.xyzx, c6.yyyz, c6.zzzy
    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 r0, r0, r3  // ::worldPosition<0,1,2,3>

#line 67
    dp4 o0.x, c247, r0  // ::main<0>
    dp4 o0.y, c248, r0  // ::main<1>
    dp4 o0.z, c249, r0  // ::main<2>
    dp4 o0.w, c250, r0  // ::main<3>

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

#line 76
    dp3 r1.x, r2, r2
    rsq r1.x, r1.x
    mul o1.xyz, r1.x, r2  // ::main<4,5,6>

#line 81
    nrm r1.xyz, v2  // ::localBinormalNormalized<0,1,2>

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

#line 87
    dp3 r1.x, r2, r2
    rsq r1.x, r1.x
    mul o2.xyz, r1.x, r2  // ::main<7,8,9>

#line 92
    nrm r1.xyz, v3  // ::localTangentNormalized<0,1,2>

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

#line 98
    dp3 r1.x, r2, r2
    rsq r1.x, r1.x
    mul o3.xyz, r1.x, r2  // ::main<10,11,12>

#line 110
    add r1.x, r0.y, -c236.z
    rcp r1.y, c236.w
    mul r1.x, r1.y, r1.x  // ::heightDensity<0>

#line 103
    add r1.yzw, -r0.xxyz, c251.xxyz  // ::worldView<0,1,2>

#line 121
    dp4 r0.x, c241, r0  // ::viewPosition<2>

#line 109
    dp3 r0.y, r1.yzww, r1.yzww

#line 103
    mov o4.xyz, r1.yzww  // ::main<13,14,15>

#line 109
    rsq r0.y, r0.y
    rcp r0.y, r0.y

#line 116
    add r0.yz, -r0.y, c235.xwzw
    mov r1.zw, c235  // ::global_FogPropertyMatrix<7,10>
    add r1.yz, r1.xwzw, -c234.xwzw

#line 109
    rcp r0.w, r1.y

#line 116
    rcp r1.y, r1.z
    mul_sat o7.x, r0.z, r1.y  // ::main<19>

#line 109
    mul_sat r0.y, r0.w, r0.y  // ::depthValue<0>
    max r0.y, r1.x, r0.y
    min o6.x, r0.y, c6.y  // ::main<18>

#line 127
    rcp r0.y, c237.x
    mul o8.x, r0.y, r0.x  // ::main<20>

#line 107
    mov o5.xy, v4  // ::main<16,17>

// approximately 73 instruction slots used (4 texture, 69 arithmetic)
 