// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.198 on Mon Sep 22 19:54:28 2025
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float   xy
//
//
// 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[25], immediateIndexed
dcl_constantbuffer CB1[146], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, 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_resource_texture2d (float,float,float,float) t3
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_output o0.xyzw
dcl_temps 38
dcl_resource_buffer (float,float,float,float) t125
dcl_resource_texture1d (float,float,float,float) t120
mul r0.xy, v0.xyxx, cb1[132].zwzz
add r0.zw, v0.xxxy, -cb1[128].xxxy
ftou r1.xy, v0.xyxx
mov r1.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r1.x, r1.xyzw, t0.xyzw
ld_indexable(buffer)(float,float,float,float) r14.xyzw, l(0, 0, 0, 0), t125.xyzw
ld_indexable(texture1d)(float,float,float,float) r12.xyzw, l(15, 0, 0, 0), t120.xyzw
ftou r13.xyzw, r12.xyzw
mov r15.xy, v0.xyxx
mul r16.xyzw, v0.yyyy, cb1[49].xyzw
mad r16.xyzw, r15.xxxx, cb1[48].xyzw, r16.xyzw
mad r16.xyzw, r1.xxxx, cb1[50].xyzw, r16.xyzw
add r16.xyzw, r16.xyzw, cb1[51].xyzw
ge r17.w, cb0[r13.x + 0].x, l(20.000000)
if_nz r17.w
  mul r17.x, l(0.500000), cb0[r13.x + 0].x
else
  mul r17.x, l(0.500000), cb1[r13.x + 0].x
endif
mad r17.y, r16.w, r14.y, l(-1.000000)
mul r17.y, r17.y, r17.x
mad r15.x, r14.x, r17.y, r15.x
mul r2.xyzw, v0.yyyy, cb1[49].xyzw
mad r2.xyzw, r15.xxxx, cb1[48].xyzw, r2.xyzw
mad r1.xyzw, r1.xxxx, cb1[50].xyzw, r2.xyzw
add r1.xyzw, r1.xyzw, cb1[51].xyzw
div r1.xyz, r1.xyzx, r1.wwww
add r1.xyz, -r1.xyzx, cb1[74].xyzx
dp3 r1.x, r1.xyzx, r1.xyzx
sqrt r1.x, r1.x
mul r1.x, r1.x, l(0.000010)
ftoi r31.yz, r0.zzwz
ftoi r31.w, cb0[21].y
xor r32.xy, r31.wwww, r31.yzyy
imax r32.zw, r31.yyyz, -r31.yyyz
imax r33.x, r31.w, -r31.w
udiv r32.zw, null, r32.zzzw, r33.xxxx
ineg r33.xy, r32.zwzz
and r32.xy, r32.xyxx, l(0x80000000, 0x80000000, 0, 0)
movc r32.xy, r32.xyxx, r33.xyxx, r32.zwzz
imul null, r32.zw, r31.wwww, r32.xxxy
ieq r31.yz, r31.yyzy, r32.zzwz
movc r33.xy, r31.yzyy, l(-1,-1,0,0), l(1,1,0,0)
sample_l_indexable(texture2d)(float,float,float,float) r30.x, r0.xyxx, t1.wxyz, s0, l(0.000000)
mad r30.x, r30.x, l(255.000000), l(0.500000)
ftou r30.x, r30.x
and r30.x, r30.x, l(15)
ieq r30.x, r30.x, l(10)
imax r31.yz, r32.xxyx, l(0, 0, 0, 0)
mov r33.z, l(0)
iadd r34.xyzw, r32.xyxy, r33.xzxy
imax r34.xyzw, r34.xyzw, l(0, 0, 0, 0)
iadd r32.xy, r32.xyxx, r33.zyzz
imax r32.xy, r32.xyxx, l(0, 0, 0, 0)
umax r32.zw, r31.yyyz, cb0[23].xxxy
umin r35.xy, r32.zwzz, cb0[23].zwzz
mov r35.zw, l(0,0,0,0)
ftoi r1.yz, r0.zzwz
ftoi r1.w, cb0[21].y
xor r2.xy, r1.wwww, r1.yzyy
imax r2.zw, r1.yyyz, -r1.yyyz
imax r3.x, r1.w, -r1.w
udiv r2.zw, null, r2.zzzw, r3.xxxx
ineg r3.xy, r2.zwzz
and r2.xy, r2.xyxx, l(0x80000000, 0x80000000, 0, 0)
movc r2.xy, r2.xyxx, r3.xyxx, r2.zwzz
imul null, r2.zw, r1.wwww, r2.xxxy
ieq r1.yz, r1.yyzy, r2.zzwz
movc r3.xy, r1.yzyy, l(-1,-1,0,0), l(1,1,0,0)
sample_l_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t1.wxyz, s0, l(0.000000)
mad r0.x, r0.x, l(255.000000), l(0.500000)
ftou r0.x, r0.x
and r0.x, r0.x, l(15)
ieq r0.x, r0.x, l(10)
imax r1.yz, r2.xxyx, l(0, 0, 0, 0)
mov r3.z, l(0)
iadd r4.xyzw, r2.xyxy, r3.xzxy
imax r4.xyzw, r4.xyzw, l(0, 0, 0, 0)
iadd r2.xy, r2.xyxx, r3.zyzz
imax r2.xy, r2.xyxx, l(0, 0, 0, 0)
umax r2.zw, r1.yyyz, cb0[23].xxxy
umin r5.xy, r2.zwzz, cb0[23].zwzz
mov r5.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r2.zw, r5.xyww, t3.zwxy
umax r4.xyzw, r4.xyzw, cb0[23].xyxy
umin r6.xy, r4.xyxx, cb0[23].zwzz
mov r6.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r7.xy, r6.xyww, t3.yxzw
umin r4.xy, r4.zwzz, cb0[23].zwzz
mov r4.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r3.zw, r4.xyww, t3.zwxy
umax r2.xy, r2.xyxx, cb0[23].xyxx
umin r8.xy, r2.xyxx, cb0[23].zwzz
mov r8.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r2.xy, r8.xyww, t3.xyzw
max r0.y, r2.w, r7.x
max r1.w, r2.y, r3.w
max r0.y, r0.y, r1.w
min r0.y, r0.y, r1.x
mov r9.y, r7.x
mov r9.z, r3.w
mov r9.xw, r2.wwwy
add r10.xyzw, r0.yyyy, -r9.xyzw
max r11.xy, |r10.ywyy|, |r10.xzxx|
max r1.w, r11.y, r11.x
mul r11.x, r0.y, l(0.100000)
lt r1.w, r11.x, r1.w
if_nz r1.w
  mov r7.z, r3.z
  mov r7.xw, r2.zzzx
  lt r7.xyzw, r7.xyzw, r1.xxxx
  or r1.xw, r7.zzzw, r7.xxxy
  or r1.x, r1.w, r1.x
  ld_indexable(texture2d)(float,float,float,float) r5.xyzw, r5.xyzw, t2.xyzw
  ld_indexable(texture2d)(float,float,float,float) r6.xyzw, r6.xyzw, t2.xyzw
  ld_indexable(texture2d)(float,float,float,float) r4.xyzw, r4.xyzw, t2.xyzw
  ld_indexable(texture2d)(float,float,float,float) r7.xyzw, r8.xyzw, t2.xyzw
  lt r8.xyzw, l(500.000000, 500.000000, 500.000000, 500.000000), r9.xyzw
  or r2.xz, r8.zzwz, r8.xxyx
  or r1.w, r2.z, r2.x
  and r2.xz, r8.zzwz, r8.xxyx
  and r2.x, r2.z, r2.x
  not r2.x, r2.x
  and r1.w, r1.w, r2.x
  lt r2.x, l(1.000000), r0.y
  and r1.w, r1.w, r2.x
  add r0.y, r0.y, l(-0.001000)
  lt r2.x, r0.y, r2.w
  and r8.xyzw, r5.xyzw, r2.xxxx
  and r2.z, r2.x, l(0x3f800000)
  lt r2.w, r0.y, r9.y
  add r9.xyzw, r6.xyzw, r8.xyzw
  movc r2.x, r2.x, l(2.000000), l(1.000000)
  movc r8.xyzw, r2.wwww, r9.xyzw, r8.xyzw
  movc r2.x, r2.w, r2.x, r2.z
  lt r2.z, r0.y, r3.w
  add r9.xyzw, r4.xyzw, r8.xyzw
  add r2.w, r2.x, l(1.000000)
  movc r8.xyzw, r2.zzzz, r9.xyzw, r8.xyzw
  movc r9.x, r2.z, r2.w, r2.x
  lt r0.y, r0.y, r2.y
  add r2.xyzw, r7.xyzw, r8.xyzw
  add r11.x, r9.x, l(1.000000)
  movc r2.xyz, r0.yyyy, r2.xyzx, r8.xyzx
  mov r11.y, r2.w
  mov r9.y, r8.w
  movc r3.zw, r0.yyyy, r11.xxxy, r9.xxxy
  and r2.xyz, r1.wwww, r2.xyzx
  and r3.zw, r1.wwww, r3.zzzw
  and r2.xyz, r0.xxxx, r2.xyzx
  and r3.zw, r0.xxxx, r3.zzzw
  not r0.y, r0.x
  eq r1.w, r3.z, l(0.000000)
  and r1.w, r0.x, r1.w
  and r1.x, r1.x, r1.w
  or r0.y, r0.y, r1.x
  mad r8.xyzw, |r10.xyzw|, l(10000.000000, 10000.000000, 10000.000000, 10000.000000), l(1.000000, 1.000000, 1.000000, 1.000000)
  div r8.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000), r8.xyzw
  dp4 r1.x, r8.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
  div r8.xyzw, r8.xyzw, r1.xxxx
  lt r1.x, l(0.000000), r1.x
  and r9.x, r1.x, l(0x3f800000)
  mul r6.xyzw, r6.xyzw, r8.yyyy
  mad r5.xyzw, r8.xxxx, r5.xyzw, r6.xyzw
  mad r4.xyzw, r8.zzzz, r4.xyzw, r5.xyzw
  mad r4.xyzw, r8.wwww, r7.xyzw, r4.xyzw
  movc r2.xyz, r0.yyyy, r4.xyzx, r2.xyzx
  mov r9.y, r4.w
  movc r1.xw, r0.yyyy, r9.xxxy, r3.zzzw
  mov r2.w, r1.w
else
  utof r1.yz, r1.yyzy
  add r1.yz, r1.yyzy, l(0.000000, 0.250000, 0.250000, 0.000000)
  itof r3.xy, r3.xyxx
  mad r3.xy, r3.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
  mad r1.yz, r3.xxyx, l(0.000000, 0.500000, 0.500000, 0.000000), r1.yyzy
  mul r1.yz, r1.yyzy, cb0[20].zzwz
  max r1.yz, r1.yyzy, cb0[24].xxyx
  min r1.yz, r1.yyzy, cb0[24].zzwz
  sample_l_indexable(texture2d)(float,float,float,float) r2.xyzw, r1.yzyy, t2.xyzw, s1, l(0.000000)
  mov r1.x, l(1.000000)
endif
lt r0.y, l(0.000000), cb0[19].x
not r0.x, r0.x
and r0.x, r0.x, r0.y
if_nz r0.x
  mul r0.xy, r0.zwzz, cb1[132].zwzz
  mul r0.xy, r0.xyxx, cb1[132].xyxx
  mul r0.xy, r0.xyxx, cb0[20].zwzz
  mul r3.y, cb1[132].w, cb1[132].w
  mov r3.x, l(1.000000)
  mul r0.zw, r3.xxxy, cb1[132].zzzx
  mul r0.zw, r0.zzzw, cb0[21].yyyy
  ftoi r1.yz, v0.xxyx
  imul null, r3.xy, r1.yzyy, l(0x0019660d, 0x0019660d, 0, 0)
  imul null, r3.z, cb1[145].x, l(0x0019660d)
  iadd r1.yzw, r3.xxyz, l(0, 0x3c6ef35f, 0x3c6ef35f, 0x3c6ef35f)
  imad r1.y, r1.z, r1.w, r1.y
  imad r1.z, r1.w, r1.y, r1.z
  imad r1.w, r1.y, r1.z, r1.w
  imad r3.x, r1.z, r1.w, r1.y
  imad r3.y, r1.w, r3.x, r1.z
  ushr r1.yz, r3.xxyx, l(0, 16, 16, 0)
  utof r1.yz, r1.yyzy
  mad r1.yz, r1.yyzy, l(0.000000, 0.0000305175781, 0.0000305175781, 0.000000), l(0.000000, -1.000000, -1.000000, 0.000000)
  dp2 r1.w, r1.yzyy, r1.yzyy
  rsq r1.w, r1.w
  mul r1.yz, r1.wwww, r1.yyzy
  mul r0.zw, r0.zzzw, r1.yyyz
  mul r3.xy, r0.zwzz, cb0[19].xxxx
  mad r0.zw, cb0[21].xxxx, r0.xxxy, r3.xxxy
  max r0.zw, r0.zzzw, cb0[24].xxxy
  min r0.zw, r0.zzzw, cb0[24].zzzw
  sample_l_indexable(texture2d)(float,float,float,float) r4.xyzw, r0.zwzz, t2.xyzw, s1, l(0.000000)
  mad r0.zw, cb0[21].xxxx, r0.xxxy, -r3.xxxy
  max r0.zw, r0.zzzw, cb0[24].xxxy
  min r0.zw, r0.zzzw, cb0[24].zzzw
  sample_l_indexable(texture2d)(float,float,float,float) r5.xyzw, r0.zwzz, t2.xyzw, s1, l(0.000000)
  mov r3.z, -r3.x
  mad r0.zw, cb0[21].xxxx, r0.xxxy, r3.yyyz
  max r0.zw, r0.zzzw, cb0[24].xxxy
  min r0.zw, r0.zzzw, cb0[24].zzzw
  sample_l_indexable(texture2d)(float,float,float,float) r6.xyzw, r0.zwzz, t2.xyzw, s1, l(0.000000)
  mad r0.xy, cb0[21].xxxx, r0.xyxx, -r3.yzyy
  max r0.xy, r0.xyxx, cb0[24].xyxx
  min r0.xy, r0.xyxx, cb0[24].zwzz
  sample_l_indexable(texture2d)(float,float,float,float) r0.xyzw, r0.xyxx, t2.xyzw, s1, l(0.000000)
  lt r1.y, l(0.000000), r1.x
  div r1.z, r2.w, r1.x
  movc r1.y, r1.y, -r1.z, l(-1.000000)
  add r1.z, r1.y, r4.w
  mul r1.z, |r1.z|, -cb0[19].y
  exp r1.z, r1.z
  add r1.w, r1.z, r1.x
  mad r3.xyzw, r4.xyzw, r1.zzzz, r2.xyzw
  add r1.z, r1.y, r5.w
  mul r1.z, |r1.z|, -cb0[19].y
  exp r1.z, r1.z
  add r1.w, r1.z, r1.w
  mad r3.xyzw, r5.xyzw, r1.zzzz, r3.xyzw
  add r1.z, r1.y, r6.w
  mul r1.z, |r1.z|, -cb0[19].y
  exp r1.z, r1.z
  add r1.w, r1.z, r1.w
  mad r3.xyzw, r6.xyzw, r1.zzzz, r3.xyzw
  add r1.y, r0.w, r1.y
  mul r1.y, |r1.y|, -cb0[19].y
  exp r1.y, r1.y
  add r1.x, r1.y, r1.w
  mad r2.xyzw, r0.xyzw, r1.yyyy, r3.xyzw
endif
lt r0.x, l(0.000000), r1.x
not r0.y, r0.x
div r1.xyzw, r2.xyzw, r1.xxxx
discard_nz r0.y
movc o0.xyzw, r0.xxxx, r1.xyzw, l(0,0,0,1.000000)
ret
// Approximately 0 instruction slots used
