//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 AmbientColorAndSkyFactor;
//   float4 DiffuseOverrideParameter;
//   float4 LightColorAndFalloffExponent;
//   float4 MinZ_MaxZRatio;
//   sampler2D PixelTexture2D_0;
//   sampler2D SceneColorTexture;
//   float4 ScreenPositionScaleBias;
//   float4 SpecularOverrideParameter;
//   float4 UniformPixelScalars_2;
//   float4 UniformPixelVector_0;
//   float4 UniformPixelVector_1;
//   float4 UniformPixelVector_2;
//   float4 UniformPixelVector_3;
//   float4 WorldIncidentLighting[7];
//
//
// Registers:
//
//   Name                         Reg   Size
//   ---------------------------- ----- ----
//   UniformPixelVector_0         c0       1
//   ScreenPositionScaleBias      c1       1
//   MinZ_MaxZRatio               c2       1
//   DiffuseOverrideParameter     c4       1
//   SpecularOverrideParameter    c5       1
//   WorldIncidentLighting        c8       7
//   UniformPixelVector_1         c15      1
//   UniformPixelVector_2         c16      1
//   UniformPixelVector_3         c17      1
//   UniformPixelScalars_2        c18      1
//   LightColorAndFalloffExponent c19      1
//   AmbientColorAndSkyFactor     c20      1
//   SceneColorTexture            s0       1
//   PixelTexture2D_0             s1       1
//

    ps_3_0
    def c3, 1.5, 3, 0.75, 2
    def c6, 3, -1, -1.02332771, 1.02332771
    def c7, 0.886227608, -9.99999997e-007, 15, 1.20000005
    def c21, 0, 2, 1, 1.5
    def c22, 0.858085215, -0.858085215, 0.247708291, 0.429042608
    dcl_texcoord3 v0.xyz
    dcl_texcoord4 v1
    dcl_texcoord6 v2.xyz
    dcl_texcoord5 v3.xyw
    dcl_color v4.xyz
    dcl_color1 v5
    dcl_texcoord v6.xy
    dcl_2d s0
    dcl_2d s1

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

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

    rcp r0.x, r30.w
    mul r0.xy, r0.x, r30
    mad r0.xy, r0, c1, c1.wzzw
    mov r0.zw, c21.x
    texldl r0, r0, s0
    mov r1.zw, c21
    add r0.x, r1.z, -c2.y
    add r0.x, -r0.x, r0.w
    rcp r0.x, r0.x
    mad r0.x, -c2.x, r0.x, -r30.w
    rcp r0.y, c18.z
    mul_sat r0.x, r0.y, r0.x
    mad r0.yz, v6.xxyw, r1.w, c16.xxyw
    texld r2, r0.yzzw, s1
    mul r0.y, r2_abs.w, r2_abs.w
    mul r0.y, r0.y, r0.y
    mul r0.y, r0.y, r2_abs.w
    add r0.z, r2_abs.w, c7.y
    cmp r0.y, r0.z, r0.y, c21.x
    mov r3, c3
    mad r0.zw, v6.xyxy, r3, c17.xyxy
    texld r4, r0.zwzw, s1
    mul r0.z, r4_abs.w, r4_abs.w
    mul r0.z, r0.z, r0.z
    mul r0.z, r0.z, r4_abs.w
    add r0.w, r4_abs.w, c7.y
    add r1.xyw, r2.xyzz, r4.xyzz
    cmp r0.z, r0.w, r0.z, c21.x
    lrp r2.x, r0.y, r0.z, r0.y
    dp3 r0.y, v2, v2
    rsq r0.y, r0.y
    mad r0.z, v2.z, -r0.y, c21.z
    mul r2.yzw, r0.y, v2.xxyz
    cmp r0.y, r2.w, r0_abs.z, c21.z
    mad r2.yzw, r2.w, c21.xxxy, -r2
    add r0.z, r0.y, c7.y
    pow r3.z, r0.y, c7.w
    cmp r0.y, r0.z, r3.z, c21.x
    add r0.y, r0.y, c18.y
    mad r0.x, r0.y, r0.x, r2.x
    add r0.y, -r2_abs.y, c21.z
    mul_pp oC0.w, r0.y, r0.x
    nrm_pp r0.xyz, v0
    dp3_sat_pp r0.x, r2.yzww, r0
    mov_sat_pp r0.y, r0.z
    pow_pp r2.x, r0.x, c7.z
    add r0.x, r0.x, c7.y
    mul_pp r2.xyz, r2.x, c5
    cmp_pp r0.xzw, r0.x, r2.xyyz, c21.x
    mad r2.xy, v6, r3, c15
    texld r2, r2, s1
    add r1.xyw, r1, r2.xyzz
    add r2.xyz, r1.z, -c0
    mul_pp r1.xyz, r1.xyww, r2
    mad_pp r1.xyz, r1, c4.w, c4
    mul r2.xyz, r0.y, r1
    add r0.y, r0.y, c7.y
    cmp r2.xyz, r0.y, r2, c21.x
    add_pp r0.xyz, r0.xzww, r2
    dp3_pp r0.w, v4, v4
    rsq_pp r0.w, r0.w
    mul_pp r2.xyz, r0.w, v4.yxzw
    nrm_pp r3.xyz, v5
    mul r4.yz, r2, r3
    mad_pp r0.w, r3.x, r2.x, -r4.y
    mul_pp r2.x, r0.w, v5.w
    mul r4.x, r2.x, r3.z
    mov_pp r2.y, r3.z
    mul r3.xyz, r2, r2.xyxw
    mul r5.xyz, r2, c6.zwzw
    mad_pp r4.w, r2.z, r2.z, -r3.x
    mad r4.y, r3.y, c6.x, c6.y
    mul r5.w, r3.z, c22.x
    mul r2, r4, c22.yzyw
    dp4 r0.w, c10, r2
    dp4 r1.w, c9, r5
    mov r3.x, c7.x
    mad_pp r1.w, c8.x, r3.x, r1.w
    add_pp r4.x, r0.w, r1.w
    dp4 r0.w, c12, r2
    dp4 r1.w, c14, r2
    dp4 r2.x, c11, r5
    dp4 r2.y, c13, r5
    mad_pp r2.y, c8.z, r3.x, r2.y
    add_pp r4.z, r1.w, r2.y
    mad_pp r1.w, c8.y, r3.x, r2.x
    add_pp r4.y, r0.w, r1.w
    mul_pp r2.xyz, r1, r4
    cmp_pp r2.xyz, r4, r2, c21.x
    add_pp r2.xyz, r2, c0
    mad_pp r0.xyz, r0, c19, r2
    mad_pp r0.xyz, r1, c20, r0
    mad_pp oC0.xyz, r0, v1.w, v1

// approximately 102 instruction slots used (5 texture, 97 arithmetic)
