//
// Generated by Microsoft (R) D3DX9 Shader Compiler 5.04.00.3900
//
// Parameters:
//
//   float4 cBaseTexCoordTransform[2];
//   float4 cDetailTexCoordTransform[2];
//   float4 cEyePosWaterZ;
//   float4 cFlexScale;
//   float4 cFogParams;
//   
//   struct
//   {
//       float4 color;
//       float4 dir;
//       float4 pos;
//       float4 spotParams;
//       float4 atten;
//
//   } cLightInfo[4];
//   
//   float4x3 cModel[53];
//   float4x4 cViewProj;
//   bool g_bLightEnabled[4];
//
//
// Registers:
//
//   Name                     Reg   Size
//   ------------------------ ----- ----
//   g_bLightEnabled          b0       4
//   cEyePosWaterZ            c2       1
//   cViewProj                c8       4
//   cFlexScale               c13      1
//   cFogParams               c16      1
//   cLightInfo               c27     20
//   cBaseTexCoordTransform   c48      2
//   cDetailTexCoordTransform c52      2
//   cModel                   c58    159
//

    vs_3_0
    def c1, 765.005859, 9.99999975e-005, 0, 0
	def c252, 1, 0, 0.0625, 0
	def c254, 0, 100, 0.0625, 0
    dcl_position v0
    dcl_blendweight v1
    dcl_blendindices v2
    dcl_normal v3
    dcl_texcoord v4
    dcl_tangent v6
    dcl_position1 v7
    dcl_normal1 v8
	dcl_2d s0
		dcl_texcoord o0
	dcl_texcoord1 o1.xyz
	dcl_texcoord2 o2.xyz
	dcl_texcoord3 o3.xyz
	dcl_texcoord4 o4.xyz
	dcl_texcoord5 o5.xyz
	dcl_texcoord6 o6
	dcl_texcoord7 o7
	dcl_position o8
	dcl_fog o9.x
    mul r0.xyz, v2.zyxw, c1.x
    mova a0.xyz, r0
    add r1.w, v1.y, v1.x
    mul r0, v1.y, c60[a0.y]
    add r1.w, -r1.w, c0.y
    mad r0, c60[a0.x], v1.x, r0
    mul o7.w, v7.w, c13.y
    mad r4, c60[a0.z], r1.w, r0
    mov r0.w, v0.w
    mov r0.xyz, v7
    mad r0.xyz, r0, c13.x, v0
    dp4 r1.z, r0, r4
    mul r2, v1.y, c59[a0.y]
    mov r5.xyz, v8
    mad r7.xyz, r5, c13.x, v6
    mad r2, c59[a0.x], v1.x, r2
    mad r2, c59[a0.z], r1.w, r2
    mul r3, v1.y, c58[a0.y]
    mad r5.xyz, r5, c13.x, v3
    mad r3, c58[a0.x], v1.x, r3
    dp3 r6.z, r5, r4
    mad r3, c58[a0.z], r1.w, r3
    dp3 r6.x, r5, r3
    dp3 r6.y, r5, r2
    dp3 r5.z, r7, r4
    dp3 r5.y, r7, r2
    dp3 r5.x, r7, r3
    nrm r7.xyz, r6
    mov o5.xyz, r7
    mul r4.xyz, r6.zxyw, r5.yzxw
    mad r4.xyz, r6.yzxw, r5.zxyw, -r4
    nrm r7.xyz, r5
    mov o3.xyz, r7
    mul r4.xyz, r4, v6.w
    dp4 r1.x, r0, r3
    dp4 r1.y, r0, r2
    nrm r7.xyz, r4
    mov o4.xyz, r7
    add o2.xyz, -r1, c2
    if b0
      add r2.xyz, -r1, c29
      dp3 r3.x, r2, r2
      rsq r0.y, r3.x
      mul r2.xyz, r2, r0.y
      dp3 r0.x, c28, -r2
      mov r3.y, c0.y
      add r0.w, r0.x, -c30.z
      mov r0.xz, c0.y
      mul r0.w, r0.w, c30.w
      mul r0.xyz, r3.yxxw, r0
      max r1.w, r0.w, c1.y
      dp3 r0.x, c31, r0
      pow r0.w, r1.w, c30.x
      rcp r1.w, r0.x
      min r0.w, r0.w, c0.y
      mad r0.w, r1.w, r0.w, -r1.w
      mad r1.w, c28.w, r0.w, r1.w
      add r0.w, -r1.w, c0.y
      mad o1.x, c27.w, r0.w, r1.w
    else
      mov o1.x, c0.x
    endif
    if b1
      add r2.xyz, -r1, c34
      dp3 r3.x, r2, r2
      rsq r0.y, r3.x
      mul r2.xyz, r2, r0.y
      dp3 r0.x, c33, -r2
      mov r3.y, c0.y
      add r0.w, r0.x, -c35.z
      mov r0.xz, c0.y
      mul r0.w, r0.w, c35.w
      mul r0.xyz, r3.yxxw, r0
      max r1.w, r0.w, c1.y
      dp3 r0.x, c36, r0
      pow r0.w, r1.w, c35.x
      rcp r1.w, r0.x
      min r0.w, r0.w, c0.y
      mad r0.w, r1.w, r0.w, -r1.w
      mad r1.w, c33.w, r0.w, r1.w
      add r0.w, -r1.w, c0.y
      mad o1.y, c32.w, r0.w, r1.w
    else
      mov o1.y, c0.x
    endif
    if b2
      add r2.xyz, -r1, c39
      dp3 r3.x, r2, r2
      rsq r0.y, r3.x
      mul r2.xyz, r2, r0.y
      dp3 r0.x, c38, -r2
      mov r3.y, c0.y
      add r0.w, r0.x, -c40.z
      mov r0.xz, c0.y
      mul r0.w, r0.w, c40.w
      mul r0.xyz, r3.yxxw, r0
      max r1.w, r0.w, c1.y
      dp3 r0.x, c41, r0
      pow r0.w, r1.w, c40.x
      rcp r1.w, r0.x
      min r0.w, r0.w, c0.y
      mad r0.w, r1.w, r0.w, -r1.w
      mad r1.w, c38.w, r0.w, r1.w
      add r0.w, -r1.w, c0.y
      mad o1.z, c37.w, r0.w, r1.w
    else
      mov o1.z, c0.x
    endif
    if b3
      add r2.xyz, -r1, c44
      dp3 r3.x, r2, r2
      rsq r0.y, r3.x
      mul r2.xyz, r2, r0.y
      dp3 r0.x, c43, -r2
      mov r3.y, c0.y
      add r0.w, r0.x, -c45.z
      mov r0.xz, c0.y
      mul r0.w, r0.w, c45.w
      mul r0.xyz, r3.yxxw, r0
      max r1.w, r0.w, c1.y
      dp3 r0.x, c46, r0
      pow r0.w, r1.w, c45.x
      rcp r1.w, r0.x
      min r0.w, r0.w, c0.y
      mad r0.w, r1.w, r0.w, -r1.w
      mad r1.w, c43.w, r0.w, r1.w
      add r0.w, -r1.w, c0.y
      mad r2.x, c42.w, r0.w, r1.w
    else
      mov r2.x, c0.x
    endif
    mov r1.w, c0.y
    mov r2.yzw, r1.xxyz
    dp4 r0.x, r1, c8
    dp4 r0.y, r1, c9
    dp4 r0.z, r1, c10
    mov o6, r2.yzwx
    mov o7.xyz, r0
    dp4 r0.w, r1, c11
    mad r1.w, -r0.z, c16.w, c16.x
    mov r10, r0
				mov r14.x, c251.x
  	if_eq r14.x, c252.w
    texldl r3, c254.z, s0
	add r3.y, c254.y, -r3.y
	mul r3.x, r3.x, r3.y
	add r10.x, r10.x, -r3.x
   endif
   mov r13.x, c250.x
   if_eq r13.x, c252.x
   mov r0, r10
   endif
	 mov o8, r0
	 mov o0, r5
    max o9.x, r1.w, c16.z
    dp4 o0.x, v4, c48
    dp4 o0.y, v4, c49
    dp4 o0.z, v4, c52
    dp4 o0.w, v4, c53

// approximately 168 instruction slots used
 