//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 DiffuseOverrideParameter;
//   float4 LightColorAndFalloffExponent;
//   sampler2D PixelTexture2D_0;
//   sampler2D PixelTexture2D_1;
//   sampler2D PixelTexture2D_2;
//   sampler2D PixelTexture2D_3;
//   sampler2D PixelTexture2D_4;
//   sampler2D PixelTexture2D_5;
//   sampler2D PixelTexture2D_6;
//   sampler2D PixelTexture2D_7;
//   sampler2D PixelTexture2D_8;
//   sampler2D PixelTexture2D_9;
//   float4 ScreenPositionScaleBias;
//   float4 SpecularOverrideParameter;
//   float4 UniformPixelScalars_0;
//   float4 UniformPixelScalars_10;
//   float4 UniformPixelScalars_3;
//   float4 UniformPixelScalars_5;
//   float4 UniformPixelScalars_6;
//   float4 UniformPixelVector_0;
//   float4 UniformPixelVector_1;
//   float4 UniformPixelVector_2;
//   float4 UniformPixelVector_3;
//   float4 UniformPixelVector_4;
//   float4 UniformPixelVector_5;
//   float4 UniformPixelVector_8;
//   float4x4 ViewProjectionMatrix;
//
//
// Registers:
//
//   Name                         Reg   Size
//   ---------------------------- ----- ----
//   UniformPixelVector_0         c0       1
//   ScreenPositionScaleBias      c1       1
//   DiffuseOverrideParameter     c4       1
//   SpecularOverrideParameter    c5       1
//   ViewProjectionMatrix         c8       4
//   UniformPixelVector_1         c12      1
//   UniformPixelVector_2         c13      1
//   UniformPixelVector_3         c14      1
//   UniformPixelVector_4         c15      1
//   UniformPixelVector_5         c16      1
//   UniformPixelVector_8         c17      1
//   UniformPixelScalars_0        c18      1
//   UniformPixelScalars_3        c19      1
//   UniformPixelScalars_5        c20      1
//   UniformPixelScalars_6        c21      1
//   UniformPixelScalars_10       c22      1
//   LightColorAndFalloffExponent c23      1
//   PixelTexture2D_0             s0       1
//   PixelTexture2D_1             s1       1
//   PixelTexture2D_2             s2       1
//   PixelTexture2D_3             s3       1
//   PixelTexture2D_4             s4       1
//   PixelTexture2D_5             s5       1
//   PixelTexture2D_6             s6       1
//   PixelTexture2D_7             s7       1
//   PixelTexture2D_8             s8       1
//   PixelTexture2D_9             s9       1
//

    ps_3_0
    def c2, 0, 2, 1, -1
    def c3, 0.5, -9.99999997e-007, 1.10000002, 1.54999995
    def c6, -0.0500000007, 0, 0, 0
    dcl_color v0.xyz
    dcl_color1 v1
    dcl_texcoord v2
    dcl_texcoord1 v3.xy
    dcl_texcoord4_pp v4.xyz
    dcl_texcoord6 v5.xyz
    dcl_texcoord7 v6
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2
    dcl_2d s3
    dcl_2d s4
    dcl_2d s5
    dcl_2d s6
    dcl_2d s7
    dcl_2d s8
    dcl_2d s9

def c220, 0, 1, 0.0625, 0.5
dcl_2d s15

    dp3 r0.x, v5, v5
    rsq r0.x, r0.x
    mul r0.yzw, r0.x, v5.xxyz
    texld r1, v2, s1
    mad_sat r1.xyz, r1, c2.y, c2.w
    dp3 r2.y, r0.yzww, r1
    mad r0.yzw, r0.w, c2.xxxy, -r0
    add r1.w, -r2.y, c2.z
    add r2.z, r1_abs.w, c3.y
    pow r2.w, r1_abs.w, c3.z
    add r3.xy, c16, v3
    texld r3, r3, s5
    mul r1.w, r2.w, r3.w
    cmp r1.w, r2.z, r1.w, c2.x
    add_sat r1.w, r1.w, r3.w
    mul r1.w, r1.w, c20.w
    mul r1.w, r3.w, r1.w
    nrm_pp r4.xyz, v1
    nrm_pp r5.xyz, v0
    mul_pp r6.xyz, r4.zxyw, r5.yzxw
    mad_pp r6.xyz, r4.yzxw, r5.zxyw, -r6
    mul r6.xyz, r6, v1.w
    nrm r7.xyz, c14
    mul r6.xyz, r6, r7.y
    mad r5.xyz, r7.x, r5, r6
    mad_sat r4.xyz, r7.z, r4, r5
    dp3 r2.x, r4, r1
    mad r4.xyz, v5, r0.x, r4
    nrm r5.xyz, r4
    dp3 r0.x, r1, r5
    texld r4, r2, s6
    mul r1.x, r4.w, c3.x
    mad r1.xyz, r3, r4, r1.x
    add r2.zw, c15.xyxy, v2.xywz
    texld r3, r2.zwzw, s3
    mul r2.z, r3.w, c19.x
    mad r1.xyz, c20.w, r1, -r2.z
    mad r1.xyz, r1.w, r1, r2.z
    texld r4, r2, s4
    texld r5, r2, s2
    texld r6, v2, s0
    mul r2.xyw, r5.xyzz, r6.xyzz
    mad r3.xyz, r3, r4, -r2.xyww
    mad r2.xyz, r2.z, r3, r2.xyww
    lrp r3.xyz, r1.w, r1, r2
    mul r1.x, r0_abs.x, r0_abs.x
    mul r1.x, r1.x, r1.x
    mul r1.x, r0_abs.x, r1.x
    add r0.x, r0_abs.x, c3.y
    texld r2, v2, s7
    mul r1.xyz, r1.x, r2
    mul r1.xyz, r1, c21.x
    cmp r1.xyz, r0.x, r1, c2.x
    add r1.xyz, r1, r3
    mov r2.xy, c18
    mad r2.xyz, r2.x, c13, r2.y
    mul r1.xyz, r1, r2
    mul r1.xyz, r1, c12
    mov r2.z, c2.z
    add r2.xyw, r2.z, -c0.xyzz
    mul_pp r1.xyz, r1, r2.xyww
    mad_pp r1.xyz, r1, c4.w, c4
    nrm_pp r3.xyz, v4
    dp3_sat_pp r0.x, r0.yzww, r3
    mov_sat_pp r0.y, r3.z
    pow_pp r1.w, r0.x, c21.y
    add r0.x, r0.x, c3.y
    mul_pp r2.xyw, r1.w, c5.xyzz
    cmp_pp r0.xzw, r0.x, r2.xyyw, c2.x
    add r1.w, r0.y, c3.y
    cmp_pp r0.y, r1.w, r0.y, c2.x
    mad_pp r0.xyz, r1, r0.y, r0.xzww
    mul r0.xyz, r0, c23
    mul r1.xyz, c9.xyww, v6.y
    mad r1.xyz, c8.xyww, v6.x, r1
    mad r1.xyz, c10.xyww, v6.z, r1
    mad r1.xyz, c11.xyww, v6.w, r1

// Unreal Engine halo fix inserted with DarkStarSword's shadertool.py:
// shadertool.py -i --fix-unreal-ps-halo --stereo-sampler-ps=s15 --only-autofixed CRC32_33B002CF_0.txt
texldl r31, c220.z, s15
add r31.w, r1.z, -r31.y
mad r1.x, r31.w, r31.x, r1.x

    rcp r0.w, r1.z
    mul r1.xy, r0.w, r1
    mad r1.xy, r1, c1, c1.wzzw
    rcp r0.w, c21.z
    mad r1.xy, r1, r0.w, c17
    mad r1.zw, r1.xyxy, c3.w, c3.x
    mul r1.xy, r1, c3.w
    texld r3, r1, s9
    texld r1, r1.zwzw, s8
    mul r0.w, r3.x, r1.x
    mad r0.w, c22.y, -r0.w, r2.z
    mov r1.z, c21.z
    add r1.x, r1.z, c6.x
    cmp r1.x, r1.x, c2.x, c2.z
    add_sat r0.w, r0.w, r1.x
    mad_sat_pp r0.w, c22.z, r0.w, c22.w
    mul oC0.xyz, r0.w, r0
    mov oC0.w, c2.x

// approximately 109 instruction slots used (10 texture, 99 arithmetic)
