//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4x2 c_mBumpMapping;
//   float4x2 c_mBumpMapping2;
//   float4x2 c_mBumpMapping3;
//   float4x2 c_mBumpMapping4;
//   float4x3 c_mObjToAbs;
//   float4x4 c_mObjToClip;
//   float2 c_vFogCalc;
//   float4 c_vFogParams;
//   float4 c_vFogPosY;
//   float4 c_vHazeCalc;
//   float4 c_vNorTanMask;
//   float4 c_vViewPosAbsVex;
//   float2 c_vWeightsMask;
//
//
// Registers:
//
//   Name             Reg   Size
//   ---------------- ----- ----
//   c_mObjToClip     c0       4
//   c_mObjToAbs      c4       3
//   c_vWeightsMask   c7       1
//   c_vViewPosAbsVex c8       1
//   c_vFogCalc       c10      1
//   c_vFogParams     c11      1
//   c_vFogPosY       c12      1
//   c_vHazeCalc      c13      1
//   c_mBumpMapping   c14      2
//   c_mBumpMapping2  c16      2
//   c_mBumpMapping3  c18      2
//   c_mBumpMapping4  c20      2
//   c_vNorTanMask    c22      1
//

    vs_3_0
    def c9, 0.5, -0.5, 0.00100000005, 0
    def c23, 1, 0.00011235955, 1.44269502, 0
	  def c253, 0, 0, 0.0625, 1
  dcl_2d s0
    dcl_texcoord v0
    dcl_texcoord1 v1
    dcl_texcoord2 v2
    dcl_texcoord3 v3
    dcl_texcoord4 v4
    dcl_texcoord5 v5
    dcl_texcoord6 v6
    dcl_texcoord7 v7
    dcl_texcoord8 v8
    dcl_texcoord o0
    dcl_texcoord1 o1
    dcl_texcoord2 o2
    dcl_texcoord3 o3
    dcl_texcoord4 o4
    dcl_texcoord5 o5.xyz
    dcl_texcoord6 o6.xyz
    dcl_texcoord7 o7.xyz
    dcl_position o8
    dp4 o8.z, v0, c2
    dp4 r0.x, v0, c0
    dp4 r0.y, v0, c1
    dp4 r0.z, v0, c3
    mul r0.w, r0.z, c9.x
    mad r12.xy, r0, c9, r0.w
    mov o8.xyw, r0.xyzz
    dp4 o2.x, v4, c14
    dp4 o2.y, v4, c15
    dp4 o2.z, v5, c16
    dp4 o2.w, v5, c17
    dp4 o3.x, v6, c18
    dp4 o3.y, v6, c19
    dp4 o3.z, v7, c20
    dp4 o3.w, v7, c21
    mad o4.zw, v3.xyxy, c7.x, c7.y
    mov r1, c12
    dp4 r0.y, c8, r1
    mov r1.w, c23.x
    dp4 r1.x, v0, c4
    dp4 r1.y, v0, c5
    dp4 r1.z, v0, c6
    dp4 r0.x, r1, c12
    add r0.w, -r0.y, r0.x
    sge r1.w, r0.w, c9.w
    add r0.w, r0_abs.w, c9.z
    rcp r0.w, r0.w
    lrp r2.xy, r1.w, r0.yxzw, r0
    add r0.xy, r2, -c11.x
    add r2.xy, -r0.x, c11.zwzw
    mov r3.x, c23.x
    mad_sat r0.xy, r0, -c10.y, r3.x
    add r0.x, r0.y, r0.x
    mul_sat r0.x, r0.x, c11.y
    mul_sat r0.yw, r0.w, r2.xxzy
    add r0.y, -r0.w, r0.y
    max r0.y, r0.y, c9.w
    mul r0.x, r0.x, r0.y
    add r2.xyz, r1, -c8
    mov o1.xyz, r1
    dp3 r0.y, r2, r2
    rsq r0.y, r0.y
    rcp r0.y, r0.y
    mul r0.w, r0.y, c10.x
    mul r0.x, r0.x, r0.w
    min r0.x, r0.x, c23.x
    mov r0.w, c9.w
    slt r1.x, r0.w, c10.x
    mul r12.z, r0.x, r1.x
    mul r0.x, r0.y, c23.y
    add r0.y, r0.y, -c13.z
    mul r0.y, r0.y, -c13.x
    mul r0.y, r0.y, c23.z
    exp r0.y, r0.y
    add r0.y, -r0.y, c23.x
    max r0.y, r0.y, c9.w
    min r0.x, r0.x, c23.x
    mad r0.x, c13.w, -r0.x, r3.x
    mul r0.x, r0.x, r2.y
    mad_sat r0.x, r0.x, -c13.y, r3.x
    mul r0.x, r0.x, r0.x
    mul r0.x, r0.x, r0.y
    slt r0.y, r0.w, c13.x
    mul r12.w, r0.x, r0.y
	mov o0, r12
    mov o1.w, r0.z
    mov o4.xy, v8
    mov r0.x, c4.z
    mov r0.y, c5.z
    mov r0.z, c6.z
    dp3 r0.w, r0, r0
    rcp r0.w, r0.w
    mul r0.xyz, r0.w, r0
    mov r1.x, c4.x
    mov r1.y, c5.x
    mov r1.z, c6.x
    dp3 r0.w, r1, r1
    rcp r0.w, r0.w
    mul r1.xyz, r0.w, r1
    mov r2.x, c4.y
    mov r2.y, c5.y
    mov r2.z, c6.y
    dp3 r0.w, r2, r2
    rcp r0.w, r0.w
    mul r2.xyz, r0.w, r2
    mad r3, v2, c22.z, c22.w
    mul r4.xyz, r2, r3.y
    add r5, r3.xyzx, c9.zwwz
    mad r4.xyz, r5.x, r1, r4
    mad r3.xyz, r3.z, r0, r4
    nrm r4.xyz, r3
    mov o5.x, r4.x
    mad r6.xyz, v1, c22.x, c22.y
    add r6.w, r6.y, c9.z
    mul r3.xyz, r3.w, r6.zxww
    mul r7.xyz, r5.yzww, r3
    mad r3.xyz, r3.zxyw, r5.zwyw, -r7
    mul r5.xyz, r2, r3.y
    mad r3.xyw, r3.x, r1.xyzz, r5.xyzz
    mad r3.xyz, r3.z, r0, r3.xyww
    nrm r5.xyz, r3
    mov o5.y, r5.x
    add r0.w, r6.y, c9.z
    mul r2.xyz, r2, r0.w
    mad r1.xyz, r6.x, r1, r2
    mad r0.xyz, r6.z, r0, r1
    nrm r1.xyz, r0
    mov o5.z, r1.x
    mov o6.x, r4.y
    mov o7.x, r4.z
    mov o6.y, r5.y
    mov o7.y, r5.z
    mov o6.z, r1.y
    mov o7.z, r1.z

// approximately 119 instruction slots used
 