//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   row_major float4x4 WorldMatrix;
//   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
//   global_FogPropertyMatrix c234     3
//   global_ViewInfo          c237     1
//   global_View              c239     3
//   global_ViewProjection    c247     4
//   global_ViewPos           c251     1
//

    vs_3_0
    def c4, 1, 0, 0, 0
    dcl_position v0  // In<0,1,2>
    dcl_texcoord v1  // In<3,4>
    dcl_normal v2  // In<5,6,7>
    dcl_binormal v3  // In<8,9,10>
    dcl_tangent v4  // In<11,12,13>
    dcl_position o0
    dcl_texcoord o1.xy
    dcl_texcoord1 o2.xyz
    dcl_texcoord2 o3.xyz
    dcl_texcoord3 o4.xyz
    dcl_texcoord4 o5.xyz
    dcl_texcoord5 o6.x
    dcl_texcoord6 o7.x
    dcl_texcoord7 o8.x

#line 32 "F:\EoC Tools\EoC Tools\memory"
    mad r0, v0.xyzx, c4.xxxy, c4.yyyx
    dp4 r1.w, c3, r0  // ::worldPosition<3>
    dp4 r1.x, c0, r0  // ::worldPosition<0>
    dp4 r1.z, c2, r0  // ::worldPosition<2>
    dp4 r1.y, c1, r0  // ::worldPosition<1>

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

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

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

#line 81
    add r1.x, r1.y, -c236.z

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

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

#line 48
    dp3 r1.y, r3, r3
    rsq r1.y, r1.y
    mul o2.xyz, r1.y, r3  // ::main<6,7,8>

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

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

#line 59
    dp3 r1.y, r3, r3
    rsq r1.y, r1.y
    mul o3.xyz, r1.y, r3  // ::main<9,10,11>

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

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

#line 70
    dp3 r1.y, r3, r3
    rsq r1.y, r1.y
    mul o4.xyz, r1.y, r3  // ::main<12,13,14>

#line 81
    rcp r1.y, c236.w
    mul r1.x, r1.y, r1.x  // ::heightDensity<0>
    dp3 r1.y, r0.yzww, r0.yzww

#line 75
    mov o5.xyz, r0.yzww  // ::main<15,16,17>

#line 80
    rsq r0.y, r1.y
    rcp r0.y, r0.y

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

#line 80
    rcp r0.w, r1.y

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

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

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

#line 40
    mov o1.xy, v1  // ::main<4,5>

// approximately 57 instruction slots used
 