//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 CameraPosition;
//   float4 CameraRight;
//   float4 CameraUp;
//   float4 CameraWorldPosition;
//   float4 FogDistanceScaleAndExtinction;
//   float4 FogHeight;
//   float3 FogInScattering[2];
//   float4 FogStartDistance;
//   float4x4 LocalToWorld;
//   float4 RollingFogVector0;
//   float4 RollingFogVector1;
//   float4 ScreenAlignment;
//   float4x4 ViewProjectionMatrix;
//   bool bFogEnabled;
//   bool bRollingFogEnabled;
//
//
// Registers:
//
//   Name                          Reg   Size
//   ----------------------------- ----- ----
//   bFogEnabled                   b0       1
//   bRollingFogEnabled            b1       1
//   ViewProjectionMatrix          c0       4
//   CameraPosition                c4       1
//   FogHeight                     c5       1
//   FogDistanceScaleAndExtinction c6       1
//   FogInScattering               c7       2
//   FogStartDistance              c9       1
//   RollingFogVector0             c10      1
//   RollingFogVector1             c11      1
//   LocalToWorld                  c12      4
//   CameraWorldPosition           c16      1
//   CameraRight                   c17      1
//   CameraUp                      c18      1
//   ScreenAlignment               c19      1
//

    vs_3_0
    def c20, 0, 0, 9.99999975e-005, 1.5
    def c22, 1, 1, 6.28318548, -3.14159274
    def c21, 0, 1, 0.159154937, 0.5
    def c23, 1, 0, 0.00100000005, 0
					  def c253, 0, 0, 0.0625, 1
	  dcl_2d s0
    dcl_position v0
    dcl_normal v1
    dcl_texcoord1 v2
    dcl_blendweight v3
    dcl_texcoord2 v4
    dcl_texcoord o0.xy
    dcl_texcoord1 o1
    dcl_texcoord6 o2
    dcl_texcoord7 o3
    dcl_color o4
    dcl_position o5
    frc r0.x, v4.x
    add r0.x, -r0.x, v4.x
    mova a0.x, r0.x
    mul r0, c13, v0.y
    mad r0, c12, v0.x, r0
    mad r0, c14, v0.z, r0
    add r0, r0, c15
    mul r1.xyz, c13, v1.y
    mad r1.xyz, c12, v1.x, r1
    mad r1.xyz, c14, v1.z, r1
    add r1.xyz, r1, c15
    add r2.xyz, -r0.zxyw, c16.zxyw
    dp3 r1.w, r2, r2
    rsq r1.w, r1.w
    rcp r1.w, r1.w
    max r1.w, r1.w, c20.z
    rcp r1.w, r1.w
    mul r2.xyz, r1.w, r2
    add r1.xyz, r0, -r1
    dp3 r1.w, r1, r1
    rsq r1.w, r1.w
    rcp r1.w, r1.w
    max r1.w, r1.w, c20.z
    rcp r1.w, r1.w
    mul r1.xyz, r1.w, r1
    mad r1.w, v3.x, c21.z, c21.w
    frc r1.w, r1.w
    mad r1.w, r1.w, c22.z, c22.w
    sincos r3.xy, r1.w
    mul r4, r3.y, c17
    mad r4, -r3.x, c18, r4
    mul r5, r3.x, c17
    mad r3, r3.y, c18, r5
    mul r5.xyz, r1.yzxw, r2
    mad r2.xyz, r2.zxyw, r1.zxyw, -r5
    dp3 r1.w, r2, r2
    rsq r1.w, r1.w
    rcp r1.w, r1.w
    max r1.w, r1.w, c20.z
    rcp r1.w, r1.w
    mul r2.xyz, r1.w, r2
    mov r1.xyz, -r1
    mov r5.w, c20.w
    slt r5.x, r5.w, c19.x
    mov r2.w, c20.x
    lrp r6, r5.x, r2, r4
    mov r1.w, c20.x
    lrp r2, r5.x, r1, r3
    mov r1.w, c21.w
    add r1.xy, -r1.w, c20[a0.x]
    mul r1.x, r1.x, v0.w
    mad r0, r1.x, r6, r0
    mul r1.x, r1.y, v1.w
    mad r0, r1.x, r2, r0
    mul r1, r0.y, c1
    mad r1, c0, r0.x, r1
    mad r1, c2, r0.z, r1
    mad r1, c3, r0.w, r1
    mul r3.xyz, r2.yzxw, r6.zxyw
    mad r3.xyz, r6.yzxw, r2.zxyw, -r3
    nrm r4.xyz, r3
    mad r3.xyz, r0, -c4.w, c4
    dp3 r5.x, r6, r3
    dp3 r5.y, r2, r3
    dp3 r5.z, r4, r3
    dp3 r0.w, r5, r5
    rsq r0.w, r0.w
    mul o2.xyz, r0.w, r5
    if b0
      if b1
        add r2.xyz, r0, -c4
        dp3 r0.w, r2, r2
        rsq r0.w, r0.w
        rcp r0.w, r0.w
        add r2.xy, r0.w, -c9
        mad r3.xy, c11, r0, c11.zwzw
        mad r3.xy, r3, c21.z, c21.w
        frc r3.xy, r3
        mad r3.xy, r3, c22.z, c22.w
        sincos r4.x, r3.x
        mul r0.w, r4.x, c10.x
        sincos r4.y, r3.y
        mad r0.w, r0.w, -r4.y, c4.z
        add r3, -r0.w, c5
        sge r0.w, c23.z, r2_abs.z
        lrp r4.x, r0.w, c23.z, r2.z
        rcp r0.w, r4.x
        mul_sat r3, r0.w, r3
        max r2.xy, r2, c20.x
        add r2.zw, -r3.xyxy, r3
        mul r2.xy, r2_abs.zwzw, r2
      else
        add r0.xyz, r0, -c4
        dp3 r0.x, r0, r0
        rsq r0.x, r0.x
        rcp r0.x, r0.x
        add r0.xy, r0.x, -c9
        max r2.xy, r0, c20.x
      endif
      slt r0.xy, r2, c6.zwzw
      mul r0.zw, r2.xyxy, c6.xyxy
      exp r2.x, r0.z
      exp r2.y, r0.w
      mul r0.zw, r0.xyxy, r2.xyxy
      mad r0.xy, r0, r2, -c21.y
      mul r2.xyz, r0.x, c7
      mov r2.w, r0.z
      mul r2, r0.w, r2
      mad o4.xyz, r0.y, c8, r2
      mov o4.w, r2.w
    else
      mov o4, c21.xxxy
    endif
    mov o0.xy, c20[a0.x]
    mov o1, v2
    mov o2.w, c21.y
    mov r12, r1
    mov o5, r1
							 texldl r11, c253.z, s0
 if_ne r12.w, c253.w
 add r11.y, r12.w, -r11.y
 mul r11.x, r11.x, r11.y
 add r12.x, r12.x, -r11.x
 endif
 mov o3, r12

// approximately 145 instruction slots used
 