// MANUALLY DUMPED [ShaderRegex\ShaderFixes\UE5_masterotaku.ini\DecalsPS4_1_nospec] VoM heatwave PS 1.
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.198 on Tue Jul  7 07:43:16 2026
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float   xy
// TEXCOORD                 0   xyzw        1     NONE   float
//
//
// 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[46], immediateIndexed
dcl_constantbuffer CB1[151], immediateIndexed
dcl_constantbuffer CB2[16], 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_siv linear noperspective v0.xy, position
dcl_output o0.xyzw
dcl_temps 29
dcl_resource_texture2d (float,float,float,float) t125
dcl_resource_texture1d (float,float,float,float) t120
ld_indexable(texture2d)(float,float,float,float) r25.xyzw, l(0, 0, 0, 0), t125.xyzw
utof r0.xy, cb0[44].xyxx
add r0.xy, -r0.xyxx, v0.xyxx

//Copied block.
mad r0.zw, r0.xxxy, cb0[45].zzzw, cb2[7].xxxy
mad r0.zw, r0.zzzw, cb1[138].xxxy, cb1[137].xxxy
mul r0.zw, r0.zzzw, cb1[140].zzzw
max r0.zw, r0.zzzw, cb1[141].xxxy
min r0.zw, r0.zzzw, cb1[141].zzzw
sample_l_indexable(texture2d)(float,float,float,float) r0.z, r0.zwzz, t0.yzxw, s0, l(0.000000)
mad r0.w, r0.z, cb1[69].z, -cb1[69].w
mad r0.z, r0.z, cb1[69].x, cb1[69].y
div r0.w, l(1.000000, 1.000000, 1.000000, 1.000000), r0.w
add r0.z, r0.w, r0.z

mov r20.z, r0.z

div r26.x, r25.y, r20.z
add r26.x, r26.x, l(-1.0)
div r26.x, r26.x, cb0[45].z
mul r26.x, r26.x, l(0.5)
mad r0.x, r25.x, r26.x, r0.x

mad r0.zw, r0.xxxy, cb0[45].zzzw, cb2[7].xxxy
mad r0.zw, r0.zzzw, cb1[138].xxxy, cb1[137].xxxy
mul r0.zw, r0.zzzw, cb1[140].zzzw
max r0.zw, r0.zzzw, cb1[141].xxxy
min r0.zw, r0.zzzw, cb1[141].zzzw
sample_l_indexable(texture2d)(float,float,float,float) r0.z, r0.zwzz, t0.yzxw, s0, l(0.000000)
mad r0.w, r0.z, cb1[69].z, -cb1[69].w
mad r0.z, r0.z, cb1[69].x, cb1[69].y
div r0.w, l(1.000000, 1.000000, 1.000000, 1.000000), r0.w
add r0.z, r0.w, r0.z
mad r1.xy, r0.xyxx, cb0[45].zwzz, cb2[8].xyxx
mad r1.xy, r1.xyxx, cb1[138].xyxx, cb1[137].xyxx
mul r1.xy, r1.xyxx, cb1[140].zwzz
max r1.xy, r1.xyxx, cb1[141].xyxx
min r1.xy, r1.xyxx, cb1[141].zwzz
sample_l_indexable(texture2d)(float,float,float,float) r0.w, r1.xyxx, t0.yzwx, s0, l(0.000000)
mad r1.x, r0.w, cb1[69].z, -cb1[69].w
mad r0.w, r0.w, cb1[69].x, cb1[69].y
div r1.x, l(1.000000, 1.000000, 1.000000, 1.000000), r1.x
add r0.w, r0.w, r1.x
add r0.z, r0.w, r0.z
mad r1.xy, r0.xyxx, cb0[45].zwzz, cb2[9].xyxx
mad r1.xy, r1.xyxx, cb1[138].xyxx, cb1[137].xyxx
mul r1.xy, r1.xyxx, cb1[140].zwzz
max r1.xy, r1.xyxx, cb1[141].xyxx
min r1.xy, r1.xyxx, cb1[141].zwzz
sample_l_indexable(texture2d)(float,float,float,float) r0.w, r1.xyxx, t0.yzwx, s0, l(0.000000)
mad r1.x, r0.w, cb1[69].z, -cb1[69].w
mad r0.w, r0.w, cb1[69].x, cb1[69].y
div r1.x, l(1.000000, 1.000000, 1.000000, 1.000000), r1.x
add r0.w, r0.w, r1.x
mad r1.xy, r0.xyxx, cb0[45].zwzz, cb2[10].xyxx
mad r1.xy, r1.xyxx, cb1[138].xyxx, cb1[137].xyxx
mul r1.xy, r1.xyxx, cb1[140].zwzz
max r1.xy, r1.xyxx, cb1[141].xyxx
min r1.xy, r1.xyxx, cb1[141].zwzz
sample_l_indexable(texture2d)(float,float,float,float) r1.x, r1.xyxx, t0.xyzw, s0, l(0.000000)
mad r1.y, r1.x, cb1[69].z, -cb1[69].w
mad r1.x, r1.x, cb1[69].x, cb1[69].y
div r1.y, l(1.000000, 1.000000, 1.000000, 1.000000), r1.y
add r1.x, r1.y, r1.x
add r0.w, r0.w, r1.x
add r0.z, r0.w, r0.z
mad r1.xy, r0.xyxx, cb0[45].zwzz, cb2[4].xyxx
mad r1.xy, r1.xyxx, cb1[138].xyxx, cb1[137].xyxx
mul r1.xy, r1.xyxx, cb1[140].zwzz
max r1.xy, r1.xyxx, cb1[141].xyxx
min r1.xy, r1.xyxx, cb1[141].zwzz
sample_l_indexable(texture2d)(float,float,float,float) r0.w, r1.xyxx, t0.yzwx, s0, l(0.000000)
mad r1.x, r0.w, cb1[69].z, -cb1[69].w
mad r0.w, r0.w, cb1[69].x, cb1[69].y
div r1.x, l(1.000000, 1.000000, 1.000000, 1.000000), r1.x
add r0.w, r0.w, r1.x
mad r1.xy, r0.xyxx, cb0[45].zwzz, cb2[5].xyxx
mad r1.xy, r1.xyxx, cb1[138].xyxx, cb1[137].xyxx
mul r1.xy, r1.xyxx, cb1[140].zwzz
max r1.xy, r1.xyxx, cb1[141].xyxx
min r1.xy, r1.xyxx, cb1[141].zwzz
sample_l_indexable(texture2d)(float,float,float,float) r1.x, r1.xyxx, t0.xyzw, s0, l(0.000000)
mad r1.y, r1.x, cb1[69].z, -cb1[69].w
mad r1.x, r1.x, cb1[69].x, cb1[69].y
div r1.y, l(1.000000, 1.000000, 1.000000, 1.000000), r1.y
add r1.x, r1.y, r1.x
add r0.w, r0.w, r1.x
mad r1.xy, r0.xyxx, cb0[45].zwzz, cb2[6].xyxx
mad r1.xy, r1.xyxx, cb1[138].xyxx, cb1[137].xyxx
mul r1.xy, r1.xyxx, cb1[140].zwzz
max r1.xy, r1.xyxx, cb1[141].xyxx
min r1.xy, r1.xyxx, cb1[141].zwzz
sample_l_indexable(texture2d)(float,float,float,float) r1.x, r1.xyxx, t0.xyzw, s0, l(0.000000)
mad r1.y, r1.x, cb1[69].z, -cb1[69].w
mad r1.x, r1.x, cb1[69].x, cb1[69].y
div r1.y, l(1.000000, 1.000000, 1.000000, 1.000000), r1.y
add r1.x, r1.y, r1.x
add r0.w, r0.w, r1.x
mad r1.xy, r0.xyxx, cb0[45].zwzz, cb2[3].xyxx
mul r0.xy, r0.xyxx, cb0[45].zwzz
mad r1.xy, r1.xyxx, cb1[138].xyxx, cb1[137].xyxx
mul r1.xy, r1.xyxx, cb1[140].zwzz
max r1.xy, r1.xyxx, cb1[141].xyxx
min r1.xy, r1.xyxx, cb1[141].zwzz
sample_l_indexable(texture2d)(float,float,float,float) r1.x, r1.xyxx, t0.xyzw, s0, l(0.000000)
mad r1.y, r1.x, cb1[69].z, -cb1[69].w
mad r1.x, r1.x, cb1[69].x, cb1[69].y
div r1.y, l(1.000000, 1.000000, 1.000000, 1.000000), r1.y
add r1.x, r1.y, r1.x
mad r1.yz, r0.xxyx, cb1[138].xxyx, cb1[137].xxyx
mul r1.yz, r1.yyzy, cb1[140].zzwz
max r2.xy, r1.yzyy, cb1[141].xyxx
sample_l_indexable(texture2d)(float,float,float,float) r1.y, r1.yzyy, t0.yxzw, s0, l(0.000000)
max r1.y, r1.y, l(1.000000046E-18)
min r1.zw, r2.xxxy, cb1[141].zzzw
sample_l_indexable(texture2d)(float,float,float,float) r1.z, r1.zwzz, t0.yzxw, s0, l(0.000000)
mad r1.w, r1.z, cb1[69].z, -cb1[69].w
mad r1.z, r1.z, cb1[69].x, cb1[69].y
div r1.w, l(1.000000, 1.000000, 1.000000, 1.000000), r1.w
add r1.z, r1.w, r1.z
add r1.x, r1.x, r1.z
add r0.w, r0.w, r1.x
add r0.z, r0.z, r0.w
mul r0.z, r0.z, cb2[13].w
mul r0.z, r0.z, l(0.111111112)
max r0.z, r0.z, l(0.000000)
min r0.z, r0.z, cb2[14].x
mul r1.xz, cb1[150].zzzz, cb2[1].xxyx
mad r1.xz, r0.xxyx, cb2[12].yyyy, r1.xxzx
sample_indexable(texture2d)(float,float,float,float) r1.xz, r1.xzxx, t1.xzyw, s1
mul r2.xy, r0.xyxx, cb2[13].yyyy
mad r2.xy, cb1[150].zzzz, cb2[2].xyxx, r2.xyxx
sample_indexable(texture2d)(float,float,float,float) r2.xy, r2.xyxx, t1.xzyw, s1
add r1.xz, r1.xxzx, r2.xxyx
mul r0.zw, r0.zzzz, r1.xxxz

ld_indexable(texture2d)(float,float,float,float) r5.xyzw, l(0, 0, 0, 0), t125.xyzw
ld_indexable(texture1d)(float,float,float,float) r3.xyzw, l(15, 0, 0, 0), t120.xyzw
ftou r4.xyzw, r3.xyzw
mov r6.x, v0.x
mul r7.xyzw, v0.yyyy, cb1[49].xyzw
mad r7.xyzw, r6.xxxx, cb1[48].xyzw, r7.xyzw
//Pattern break.
mad r7.xyzw, r1.yyyy, cb1[50].xyzw, r7.xyzw
add r7.xyzw, r7.xyzw, cb1[51].xyzw
ge r8.w, cb0[r4.x + 0].x, l(20.0)
if_nz r8.w
mul r8.x, l(0.5), cb0[r4.x + 0].x
else
mul r8.x, l(0.5), cb1[r4.x + 0].x
endif
mad r8.y, r7.w, r5.y, l(-1.0)
mul r8.y, r8.y, r8.x
mad r6.x, r5.x, r8.y, r6.x
mul r2.xyzw, v0.yyyy, cb1[49].xyzw
mad r2.xyzw, r6.xxxx, cb1[48].xyzw, r2.xyzw
//Pattern break.
mad r1.xyzw, r1.yyyy, cb1[50].xyzw, r2.xyzw
add r1.xyzw, r1.xyzw, cb1[51].xyzw
div r1.xyz, r1.xyzx, r1.wwww
dp3 r1.x, -r1.xyzx, -r1.xyzx
rsq r1.x, r1.x
mul r1.x, r1.x, -r1.z
add r1.x, -|r1.x|, l(1.000000)
log r1.y, r1.x
ge r1.x, l(0.000000), r1.x
mul r1.y, r1.y, cb2[15].x
exp r1.y, r1.y
min r1.y, r1.y, l(1.000000)
add r1.z, cb1[71].z, -cb2[14].y
add r1.z, r1.z, -cb2[14].z
div_sat r1.z, r1.z, cb2[14].w
add r1.z, -r1.z, l(1.000000)
mul r1.y, r1.y, r1.z
movc r1.x, r1.x, l(0), r1.y
mul r0.zw, r0.zzzw, r1.xxxx

div r26.x, r25.y, r20.z
add r26.x, r26.x, l(-1.0)
mul r26.x, r26.x, l(-0.5)
mad r0.x, r25.x, r26.x, r0.x

mad r0.xy, r0.zwzz, cb2[15].zzzz, r0.xyxx
mad r0.xy, r0.xyxx, cb0[5].xyxx, cb0[4].xyxx
max r0.xy, r0.xyxx, cb0[6].xyxx
min r0.xy, r0.xyxx, cb0[6].zwzz
sample_indexable(texture2d)(float,float,float,float) r0.xyz, r0.xyxx, t2.xyzw, s2
add r1.xyz, -r0.xyzx, cb2[11].xyzx
mad r0.xyz, cb2[15].wwww, r1.xyzx, r0.xyzx
max o0.xyz, r0.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
mov o0.w, l(1.000000)
ret
// Approximately 0 instruction slots used
