// MANUALLY DUMPED [ShaderRegexDecals2] Rain PS 1.
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v1.3.16 on Sun Jun 13 11:07:06 2021
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                 0   xyzw        0     NONE   float   xy
// TEXCOORD                 4   xyz         1     NONE   float
// TEXCOORD                 8      w        1     NONE   float      w
// TEXCOORD                 5   xyzw        2     NONE   float   xyzw
// PARTICLE_LIGHTING_OFFSET     0   xyz         3     NONE   float
// TANGENTX                 0   xyzw        4     NONE   float
// TANGENTZ                 0   xyzw        5     NONE   float   xyz
// TEXCOORD                 7   xyzw        6     NONE   float      w
// TEXCOORD                12   xyzw        7     NONE   float   xyzw
// SV_POSITION              0   xyzw        8      POS   float   xyzw
// SV_IsFrontFace           0   x           9    FFACE    uint
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[1], immediateIndexed
dcl_constantbuffer cb1[53], immediateIndexed
dcl_constantbuffer cb2[44], immediateIndexed
dcl_constantbuffer cb3[12], immediateIndexed
dcl_constantbuffer cb4[6], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_resource_texture2d (float,float,float,float) t2
dcl_input_ps linear v0.xy
dcl_input_ps linear v1.w
dcl_input_ps linear v2.xyzw
dcl_input_ps linear v5.xyz
dcl_input_ps linear v6.w
dcl_input_ps linear v7.xyzw
dcl_input_ps_siv linear noperspective v8.xyzw, position
dcl_output o0.xyzw
dcl_temps 18
dcl_resource_texture2d (float,float,float,float) t125
dcl_resource_texture1d (float,float,float,float) t120
dcl_constantbuffer cb13[35], immediateIndexed
mul r0.xy, v8.xyxx, cb0[0].xyxx
ld_indexable(texture2d)(float,float,float,float) r5.xyzw, l(0, 0, 0, 0), t125.xyzw
ld_indexable(texture2d)(float,float,float,float) r4.xyzw, l(2, 0, 0, 0), t125.xyzw
ld_indexable(texture1d)(float,float,float,float) r3.xyzw, l(10, 0, 0, 0), t120.xyzw
mov r6.x, r0.x
mul r7.xyzw, r0.yyyy, cb1[37].xyzw
mad r7.xyzw, r6.xxxx, cb1[36].xyzw, r7.xyzw
mad r7.xyzw, v8.zzzz, cb1[38].xyzw, r7.xyzw
add r7.xyzw, r7.xyzw, cb1[39].xyzw
mul r5.w, cb13[2].x, l(0.5)
mul r5.w, r5.w, r3.x
mad r6.x, -r5.x, r5.w, r6.x
mul r5.w, cb13[2].x, l(0.5)
mul r5.w, r5.w, r3.x
mul r5.w, r5.w, r5.y
mul r5.w, r5.w, r7.w
mad r6.x, r5.x, r5.w, r6.x
mul r1.xyzw, r0.yyyy, cb1[37].xyzw
mad r0.xyzw, r6.xxxx, cb1[36].xyzw, r1.xyzw
mad r0.xyzw, v8.zzzz, cb1[38].xyzw, r0.xyzw
add r0.xyzw, r0.xyzw, cb1[39].xyzw
div r0.xyz, r0.xyzx, r0.wwww
dp3 r0.w, -r0.xyzx, -r0.xyzx
rsq r0.w, r0.w
mad r0.xyz, -r0.xyzx, r0.wwww, -cb2[32].xyzx
dp3 r0.w, r0.xyzx, r0.xyzx
rsq r0.w, r0.w
add r1.x, -cb3[7].w, l(1.000000)
mul r1.xyz, r1.xxxx, v5.xyzx
mad r1.xyz, cb3[7].wwww, l(0.000000, 0.000000, 1.000000, 0.000000), r1.xyzx
dp3 r1.w, r1.xyzx, r1.xyzx
rsq r1.w, r1.w
mul r1.xyz, r1.wwww, r1.xyzx
dp3 r0.x, r1.xyzx, r0.xyzx
dp3_sat r0.y, r1.xyzx, -cb2[32].xyzx
mul r0.y, r0.y, v7.w
mul_sat r0.x, r0.w, r0.x
mad r0.z, cb3[8].y, l(0.300000), cb3[8].x
max r0.z, r0.z, l(0.100000)
mul r0.z, r0.z, r0.z
mul r0.z, r0.z, r0.z
mad r0.w, r0.x, r0.z, -r0.x
mad r0.x, r0.w, r0.x, l(1.000000)
mul r0.x, r0.x, r0.x
mul r0.x, r0.x, l(3.14159274)
div r0.x, r0.z, r0.x
mul r0.x, r0.x, l(0.250000)
mad r1.xyz, cb3[6].wwww, l(0.064000, 0.064000, 0.064000, 0.000000), cb3[6].xyzx
mad r1.xyz, r1.xyzx, cb3[6].wwww, cb3[6].xyzx
mul r0.xzw, r0.xxxx, r1.xxyz
mul r1.xyz, v2.xyzx, cb4[3].xyzx
dp3_sat r2.x, l(0.627403915, 0.329283029, 0.0433130674, 0.000000), r1.xyzx
dp3_sat r2.y, l(0.0690972880, 0.919540405, 0.0113623161, 0.000000), r1.xyzx
dp3_sat r2.z, l(0.0163914394, 0.0880133063, 0.895595253, 0.000000), r1.xyzx
mad r1.xyz, r2.xyzx, cb3[5].wwww, cb3[5].xyzx
mad r2.xyz, r1.xyzx, cb3[5].wwww, cb3[5].xyzx
mad r0.xzw, r2.xxyz, l(0.318309873, 0.000000, 0.318309873, 0.318309873), r0.xxzw
mul r0.xyz, r0.xzwx, r0.yyyy
mul r0.xyz, r0.xyzx, cb2[33].xyzx
mul r0.xyz, r0.xyzx, cb2[43].yyyy
mad r0.xyz, r1.xyzx, v7.xyzx, r0.xyzx
dp3 r1.x, l(0.627403915, 0.329283029, 0.0433130674, 0.000000), cb4[2].xyzx
dp3 r1.y, l(0.0690972880, 0.919540405, 0.0113623161, 0.000000), cb4[2].xyzx
dp3 r1.z, l(0.0163914394, 0.0880133063, 0.895595253, 0.000000), cb4[2].xyzx
mad r0.xyz, r1.xyzx, cb2[43].yyyy, r0.xyzx
mad r1.xy, v8.xyxx, cb0[0].xyxx, -cb3[1].xyxx
mad r1.xy, r1.xyxx, cb3[2].zwzz, l(-0.500000, -0.500000, 0.000000, 0.000000)
mul r1.xy, r1.xyxx, v8.wwww
mov r1.z, v8.w
mul r1.xyw, r1.xyxz, l(2.000000, -2.000000, 0.000000, 1.000000)

mov r11.xyzw, r1.xyzw
add r5.w, r1.z, -r5.y
mad r11.x, -r5.x, r5.w, r11.x
div r11.xy, r11.xyxx, r11.wwww
mad r11.xy, r11.xyxx, cb1[52].xyxx, cb1[52].wzww

div r1.xy, r1.xyxx, r1.wwww
ge r0.w, r1.w, cb4[5].x
and r0.w, r0.w, l(0x3f800000)
mad r1.xy, r1.xyxx, cb1[52].xyxx, cb1[52].wzww
sample_l_indexable(texture2d)(float,float,float,float) r1.w, r1.xyxx, t0.yzwx, s0, l(0.000000)
mul r1.xy, r11.xyxx, l(0.400000, 0.400000, 0.000000, 0.000000)
mad r1.xy, cb3[11].zzzz, l(0.220000, 0.140000, 0.000000, 0.000000), r1.xyxx
sample_indexable(texture2d)(float,float,float,float) r1.x, r1.xyxx, t2.xyzw, s2
add r1.x, r1.x, l(0.300000)
mul r1.x, r1.x, l(1.500000)
max r1.x, |r1.x|, l(0.000001)
log r1.x, r1.x
mul r1.x, r1.x, l(1.300000)
exp r1.x, r1.x
mul r1.y, r1.w, r1.w
mad r1.y, r1.y, cb1[51].z, -cb1[51].w
div r1.y, l(1.000000, 1.000000, 1.000000, 1.000000), r1.y
mad r1.y, -r1.z, l(1.000000), r1.y
mad_sat r1.z, r1.z, l(0.030000), l(-0.500000)
mul_sat r1.y, r1.y, l(0.400000)
mul r1.y, r1.z, r1.y
sample_indexable(texture2d)(float,float,float,float) r1.z, v0.xyxx, t1.yzxw, s1
mul r1.z, r1.z, v2.w
mul r1.y, r1.y, r1.z
mul r1.x, r1.y, r1.x
mul r1.x, r1.x, l(1.500000)
mul_sat r0.w, r0.w, r1.x
mul r0.w, r0.w, v6.w
mul r1.xyz, r0.wwww, r0.xyzx
dp3 r1.x, r1.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
mad r0.xyz, r0.xyzx, r0.wwww, -r1.xxxx
mad r2.xyzw, cb2[17].xyzw, v1.wwww, cb2[16].xyzw
mad r0.xyz, r2.wwww, r0.xyzx, r1.xxxx
mul o0.xyz, r2.xyzx, r0.xyzx
mov o0.w, l(0)
ret
// Approximately 0 instruction slots used
