//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 CameraPosition;
//   float4 FogDistanceScaleAndExtinction;
//   float4 FogHeight;
//   float3 FogInScattering[2];
//   float4 FogStartDistance;
//   float4x4 LocalToWorld;
//   float4 RollingFogVector0;
//   float4 RollingFogVector1;
//   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
//

    vs_3_0
    def c16, 0.159154937, 0.5, 6.28318548, -3.14159274
    def c17, 0.00100000005, 0, -1, 1
					  def c253, 0, 0, 0.0625, 1
	  dcl_2d s0
    dcl_position v0
    dcl_texcoord v1
    dcl_texcoord1 v2
    dcl_texcoord o0.xy
    dcl_texcoord1 o1
    dcl_texcoord7 o2
    dcl_color o3
    dcl_position o4
    mul r0, c13, v0.y
    mad r0, c12, v0.x, r0
    mad r0, c14, v0.z, r0
    mad r0, c15, v0.w, r0
    mul r1, r0.y, c1
    mad r1, c0, r0.x, r1
    mad r1, c2, r0.z, r1
    mad r1, c3, r0.w, r1
    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, c16.x, c16.y
        frc r3.xy, r3
        mad r3.xy, r3, c16.z, c16.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, c17.x, r2_abs.z
        lrp r4.x, r0.w, c17.x, r2.z
        rcp r0.w, r4.x
        mul_sat r3, r0.w, r3
        max r2.xy, r2, c17.y
        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, c17.y
      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, c17.z
      mul r2.xyz, r0.x, c7
      mov r2.w, r0.z
      mul r2, r0.w, r2
      mad o3.xyz, r0.y, c8, r2
      mov o3.w, r2.w
    else
      mov o3, c17.yyyw
    endif
    mov o0.xy, v1
    mov o1, v2
    mov r12, r1
    mov o4, r1
				 texldl r11, c253.z, s0
			 if_ne r12.w, c253.w
			 if_lt r12.z, c253.x
 add r11.y, r12.w, -r11.y
 mul r11.x, r11.x, r11.y
 add r12.x, r12.x, -r11.x
 endif
 endif
 mov o2, r12

// approximately 75 instruction slots used
 