// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.198 on Wed Sep  3 19:56:35 2025
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float
// INTERP                   0   xyzw        1     NONE   float   xyzw
// INTERP                   1   xyzw        2     NONE   float   xyzw
// INTERP                   2   xyzw        3     NONE   float   xyzw
// INTERP                   3   xyzw        4     NONE   float   xyzw
// INTERP                   4   xyz         5     NONE   float   xyz
// INTERP                   5   xyz         6     NONE   float
// INTERP                   6   xyz         7     NONE   float
// INTERP                   7   xyzw        8     NONE   float   xyzw
// INTERP                   8   xyzw        9     NONE   float   xyzw
// INTERP                   9   xyzw       10     NONE   float   xyzw
// INTERP                  10   xyzw       11     NONE   float   xyzw
// INTERP                  11   xyzw       12     NONE   float   xyzw
// INTERP                  12   xyzw       13     NONE   float   xyzw
// INTERP                  13   xyzw       14     NONE   float   xyzw
// INTERP                  14   xyzw       15     NONE   float   xyzw
// INTERP                  15   xyzw       16     NONE   float   xyzw
// INTERP                  16   xyzw       17     NONE   float    yzw
// INTERP                  17   xyzw       18     NONE   float   xyzw
// INTERP                  18   xyzw       19     NONE   float   xyzw
// INTERP                  19   xyzw       20     NONE   float   xyzw
// INTERP                  20   xyzw       21     NONE   float   xyzw
// INTERP                  21   xy         22     NONE   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[81], immediateIndexed
dcl_constantbuffer CB1[9], 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 v1.xyzw
dcl_input_ps linear v2.xyzw
dcl_input_ps linear v3.xyzw
dcl_input_ps linear v4.xyzw
dcl_input_ps linear v5.xyz
dcl_input_ps constant v8.xyzw
dcl_input_ps constant v9.xyzw
dcl_input_ps constant v10.xyzw
dcl_input_ps constant v11.xyzw
dcl_input_ps constant v12.xyzw
dcl_input_ps constant v13.xyzw
dcl_input_ps constant v14.xyzw
dcl_input_ps constant v15.xyzw
dcl_input_ps constant v16.xyzw
dcl_input_ps constant v17.yzw
dcl_input_ps constant v18.xyzw
dcl_input_ps constant v19.xyzw
dcl_input_ps constant v20.xyzw
dcl_input_ps constant v21.xyzw
dcl_input_ps constant v22.xy
dcl_output o0.xyzw
dcl_temps 24
dcl_indexableTemp x0[16], 4
dcl_indexableTemp x1[16], 4
dcl_resource_buffer (float,float,float,float) t125
dcl_resource_texture1d (float,float,float,float) t120
ld_indexable(texture1d)(float,float,float,float) r20.xyzw, l(10, 0, 0, 0), t120.xyzw
eq r10.y, r20.y, l(0.000000)
if_nz r10.y
  lt r10.x, v0.w, l(10.000000)
  discard_nz r10.x
endif
mul r0.xyz, v5.yyyy, cb0[74].xywx
mad r0.xyz, cb0[73].xywx, v5.xxxx, r0.xyzx
mad r0.xyz, cb0[75].xywx, v5.zzzz, r0.xyzx
add r0.xyz, r0.xyzx, cb0[76].xywx
ld_indexable(buffer)(float,float,float,float) r9.xyzw, l(0, 0, 0, 0), t125.xyzw
add r10.x, r0.z, -r9.y
mad r0.x, r9.x, r10.x, r0.x
mul r1.xz, r0.xxzx, l(0.500000, 0.000000, 0.500000, 0.000000)
mul r0.x, r0.y, cb0[17].x
mul r1.w, r0.x, l(0.500000)
add r0.xy, r1.zzzz, r1.xwxx
ne r1.xyz, l(0.000000, 0.000000, 0.000000, 0.000000), v19.wxyw
eq r2.xyz, v20.zwyz, l(0.000000, 0.000000, 0.000000, 0.000000)
ieq r0.w, r1.x, l(0)
or r0.w, r2.x, r0.w
mul r1.w, v16.z, l(0.0174532924)
add r2.xw, v1.xxxy, l(-0.500000, 0.000000, 0.000000, -0.500000)
sincos r3.x, r4.x, r1.w
mov r4.yz, r3.xxxx
mad r3.xyz, r4.xyzx, l(0.500000, -0.500000, 0.500000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000)
mad r3.xyz, r3.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
dp2 r4.x, r2.xwxx, r3.xzxx
dp2 r4.y, r2.wxww, r3.xyxx
add r3.xy, r4.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
dp2 r1.w, r2.xwxx, r2.xwxx
mul r1.w, r1.w, r1.w
mul r1.w, r1.w, v21.y
mad r3.zw, r2.wwwx, r1.wwww, v1.yyyx
add r3.zw, r3.zzzw, l(0.000000, 0.000000, -0.500000, -0.500000)
dp2 r1.w, r3.zwzz, r3.zwzz
sqrt r1.w, r1.w
mul r1.w, r1.w, v21.x
sincos r4.x, r5.x, r1.w
mul r4.xy, r3.zwzz, r4.xxxx
mad r1.w, r5.x, r3.w, -r4.x
mad r3.z, r5.x, r3.z, r4.y
add r4.x, r1.w, l(0.500000)
add r4.y, r3.z, l(0.500000)
eq r5.xyzw, v21.zzzz, l(1.000000, 2.000000, 3.000000, 4.000000)
eq r6.xyzw, v21.zzzz, l(5.000000, 6.000000, 7.000000, 8.000000)
eq r7.xyzw, v21.zzww, l(9.000000, 10.000000, 1.000000, 2.000000)
and r1.w, r7.y, v3.w
movc r1.w, r7.x, v3.z, r1.w
movc r1.w, r6.w, v3.y, r1.w
movc r1.w, r6.z, v3.x, r1.w
movc r1.w, r6.y, v2.w, r1.w
movc r1.w, r6.x, v2.z, r1.w
movc r1.w, r5.w, v2.y, r1.w
movc r1.w, r5.z, v2.x, r1.w
movc r1.w, r5.y, v1.w, r1.w
movc r5.x, r5.x, v1.z, r1.w
eq r6.xyzw, v21.wwww, l(3.000000, 4.000000, 5.000000, 6.000000)
eq r8.xyzw, v21.wwww, l(7.000000, 8.000000, 9.000000, 10.000000)
and r1.w, r8.w, v3.w
movc r1.w, r8.z, v3.z, r1.w
movc r1.w, r8.y, v3.y, r1.w
movc r1.w, r8.x, v3.x, r1.w
movc r1.w, r6.w, v2.w, r1.w
movc r1.w, r6.z, v2.z, r1.w
movc r1.w, r6.y, v2.y, r1.w
movc r1.w, r6.x, v2.x, r1.w
movc r1.w, r7.w, v1.w, r1.w
movc r5.y, r7.z, v1.z, r1.w
add r3.zw, r5.xxxy, v15.xxxy
mad r3.zw, cb0[15].xxxx, v15.zzzw, r3.zzzw
mad r3.zw, r4.xxxy, v14.zzzw, r3.zzzw
sample_b_indexable(texture2d)(float,float,float,float) r1.w, r3.zwzz, t2.yzwx, s2, cb0[19].x
add r3.z, r1.w, l(-0.500000)
mul r3.zw, r3.zzzz, v16.xxxy
and r3.zw, r1.xxxx, r3.zzzw
add r3.zw, r3.zzzw, v12.zzzw
mad r3.xy, r3.xyxx, v12.xyxx, r3.zwzz
sample_b_indexable(texture2d)(float,float,float,float) r3.xyzw, r3.xyxx, t1.xyzw, s1, cb0[19].x
dp3 r3.x, r3.xyzx, l(0.299000, 0.587000, 0.114000, 0.000000)
add r3.x, r3.x, -v13.x
add r3.yz, -v13.xxzx, v13.yywy
div_sat r3.x, r3.x, r3.y
add r4.xyzw, v8.xyzw, -v9.xyzw
mad r4.xyzw, r3.xxxx, r4.xyzw, v9.xyzw
mul r4.w, r3.w, r4.w
ne r3.xy, l(0.000000, 0.000000, 0.000000, 0.000000), v18.wzww
movc r5.xyzw, r3.xxxx, v4.xyzw, l(1.000000,1.000000,1.000000,1.000000)
mul r5.xyzw, r5.xyzw, v10.xyzw
mul r6.xyzw, r4.wxyz, r5.wxyz
mad r7.xyz, -r4.xyzx, r5.xyzx, v11.xyzx
mad r7.xyz, v11.wwww, r7.xyzx, r6.yzwy
add r3.x, v20.x, v20.z
ge r3.w, r1.w, r3.x
and r3.w, r3.w, l(0x3f800000)
add r4.w, -r3.x, l(1.000000)
mad_sat r5.w, -v20.w, l(0.500000), r4.w
mad_sat r7.w, v20.w, l(0.500000), r4.w
add r4.w, r1.w, r4.w
add_sat r3.x, -r3.x, r4.w
add r4.w, -r5.w, r7.w
add r3.x, -r5.w, r3.x
div r4.w, l(1.000000, 1.000000, 1.000000, 1.000000), r4.w
mul_sat r3.x, r3.x, r4.w
mad r4.w, r3.x, l(-2.000000), l(3.000000)
mul r3.x, r3.x, r3.x
mul r3.x, r3.x, r4.w
movc r2.y, r2.y, r3.w, r3.x
mad r4.xyz, r4.xyzx, r5.xyzx, -r7.xyzx
mad r4.xyz, r2.yyyy, r4.xyzx, r7.xyzx
movc o0.xyz, r0.wwww, r6.yzwy, r4.xyzx
mov_sat r6.x, r6.x
eq r0.w, v16.w, l(0.000000)
ge r2.y, r6.x, v16.w
and r2.y, r2.y, l(0x3f800000)
movc r0.w, r0.w, r6.x, r2.y
ge r2.y, r1.w, v20.x
and r2.y, r2.y, l(0x3f800000)
add r3.x, -v20.x, l(1.000000)
mad_sat r3.w, -v20.y, l(0.500000), r3.x
mad_sat r4.x, v20.y, l(0.500000), r3.x
add r1.w, r1.w, r3.x
add_sat r1.w, r1.w, -v20.x
add r3.x, -r3.w, r4.x
add r1.w, -r3.w, r1.w
div r3.x, l(1.000000, 1.000000, 1.000000, 1.000000), r3.x
mul_sat r1.w, r1.w, r3.x
mad r3.x, r1.w, l(-2.000000), l(3.000000)
mul r1.w, r1.w, r1.w
mul r1.w, r1.w, r3.x
movc r1.w, r2.z, r2.y, r1.w
movc r1.x, r1.x, r1.w, l(1.000000)
mul r0.w, r0.w, r1.x
ge r1.x, v18.y, l(1.000000)
eq r1.w, v18.x, l(0.000000)
or r1.x, r1.w, r1.x
mul r1.w, v18.x, cb0[15].x
mul r2.y, r1.w, l(3.141593)
sincos r2.y, null, r2.y
frc r1.w, r1.w
round_ne r1.w, r1.w
mad r1.w, -r1.w, l(2.000000), l(1.000000)
movc r1.w, r3.y, r2.y, r1.w
add r1.w, r1.w, l(1.000000)
mul r1.w, r1.w, l(0.500000)
add r2.y, -v18.y, l(1.000000)
mad r1.w, r1.w, r2.y, v18.y
movc r1.x, r1.x, l(1.000000), r1.w
ne r1.w, l(0.000000, 0.000000, 0.000000, 0.000000), v17.w
movc r1.x, r1.w, r1.x, l(1.000000)
mul r0.w, r0.w, r1.x
eq r4.xyzw, v22.xxxx, l(1.000000, 2.000000, 3.000000, 4.000000)
eq r5.xyzw, v22.xxxx, l(5.000000, 6.000000, 7.000000, 8.000000)
eq r6.xyzw, v22.xxyy, l(9.000000, 10.000000, 1.000000, 2.000000)
and r1.x, r6.y, v3.w
movc r1.x, r6.x, v3.z, r1.x
movc r1.x, r5.w, v3.y, r1.x
movc r1.x, r5.z, v3.x, r1.x
movc r1.x, r5.y, v2.w, r1.x
movc r1.x, r5.x, v2.z, r1.x
movc r1.x, r4.w, v2.y, r1.x
movc r1.x, r4.z, v2.x, r1.x
movc r1.x, r4.y, v1.w, r1.x
movc r3.x, r4.x, v1.z, r1.x
eq r4.xyzw, v22.yyyy, l(3.000000, 4.000000, 5.000000, 6.000000)
eq r5.xyzw, v22.yyyy, l(7.000000, 8.000000, 9.000000, 10.000000)
and r1.x, r5.w, v3.w
movc r1.x, r5.z, v3.z, r1.x
movc r1.x, r5.y, v3.y, r1.x
movc r1.x, r5.x, v3.x, r1.x
movc r1.x, r4.w, v2.w, r1.x
movc r1.x, r4.z, v2.z, r1.x
movc r1.x, r4.y, v2.y, r1.x
movc r1.x, r4.x, v2.x, r1.x
movc r1.x, r6.w, v1.w, r1.x
movc r3.y, r6.z, v1.z, r1.x
add r1.xw, r3.xxxy, v14.xxxy
mul r2.y, v19.z, l(0.0174532924)
sincos null, r3.y, r2.y
sincos r3.x, null, -r2.y
mad r2.yz, r3.xxyx, l(0.000000, 0.500000, 0.500000, 0.000000), l(0.000000, 0.500000, 0.500000, 0.000000)
mad r2.yz, r2.yyzy, l(0.000000, 2.000000, 2.000000, 0.000000), l(0.000000, -1.000000, -1.000000, 0.000000)
dp2 r2.x, r2.xwxx, r2.yzyy
add r2.x, r2.x, l(0.500000)
add r2.x, -r2.x, l(1.000000)
eq r2.yz, r1.xxwx, l(0.000000, 0.000000, 0.000000, 0.000000)
and r2.y, r2.z, r2.y
add r2.x, -r1.x, r2.x
add r1.x, -r1.x, r1.w
div_sat r1.x, r2.x, r1.x
movc r1.x, r2.y, l(1.000000), r1.x
mul r0.w, r0.w, r1.x
eq r1.xw, v13.zzzw, l(0.000000, 0.000000, 0.000000, 0.000000)
and r1.x, r1.w, r1.x
div r0.xy, r0.xyxx, r0.zzzz
eq r1.w, cb0[21].w, l(1.000000)
if_nz r1.w
  sample_b_indexable(texture2d)(float,float,float,float) r1.w, r0.xyxx, t0.yzwx, s0, cb0[19].x
  mad r2.xy, r0.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
  ld_indexable(buffer)(float,float,float,float) r11.xyzw, l(0, 0, 0, 0), t125.xyzw
  mul r12.xyzw, -r2.yyyy, cb0[78].xyzw
  mad r12.xyzw, cb0[77].xyzw, r2.xxxx, r12.xyzw
  mad r12.xyzw, cb0[79].xyzw, r1.wwww, r12.xyzw
  add r12.xyzw, r12.xyzw, cb0[80].xyzw
  mad r13.x, r11.y, r12.w, l(-1.000000)
  mad r2.x, r11.x, r13.x, r2.x
  mul r4.xyzw, -r2.yyyy, cb0[78].xyzw
  mad r2.xyzw, cb0[77].xyzw, r2.xxxx, r4.xyzw
  mad r2.xyzw, cb0[79].xyzw, r1.wwww, r2.xyzw
  add r2.xyzw, r2.xyzw, cb0[80].xyzw
  div r2.xyz, r2.xyzx, r2.wwww
  mul r1.w, r2.y, cb0[62].z
  mad r1.w, cb0[61].z, r2.x, r1.w
  mad r1.w, cb0[63].z, r2.z, r1.w
  add r1.w, r1.w, cb0[64].z
  mov r1.w, |r1.w|
else
  sample_b_indexable(texture2d)(float,float,float,float) r2.x, r0.xyxx, t0.xyzw, s0, cb0[19].x
  mad r2.x, cb0[20].z, r2.x, cb0[20].w
  div r1.w, l(1.000000, 1.000000, 1.000000, 1.000000), r2.x
endif
add r0.z, -r0.z, r1.w
add r0.z, r0.z, -v13.z
div r1.w, l(1.000000, 1.000000, 1.000000, 1.000000), r3.z
mul_sat r0.z, r0.z, r1.w
mad r1.w, r0.z, l(-2.000000), l(3.000000)
mul r0.z, r0.z, r0.z
mul r0.z, r0.z, r1.w
min r0.z, r0.z, l(1.000000)
movc r0.z, r1.x, l(1.000000), r0.z
mul r0.z, r0.z, r0.w
lt r0.w, l(0.000000), cb1[8].x
lt r1.x, cb1[8].x, l(0.000000)
add r1.w, cb1[8].x, l(1.000000)
movc r1.x, r1.x, r1.w, l(1.000000)
movc_sat r0.w, r0.w, cb1[8].x, r1.x
ne r1.x, r0.w, l(1.000000)
and r1.x, r1.y, r1.x
mul r0.xy, r0.xyxx, cb0[18].xyxx
mov x0[0].x, l(0.0588235296)
mov x0[1].x, l(0.529411793)
mov x0[2].x, l(0.176470593)
mov x0[3].x, l(0.647058845)
mov x0[4].x, l(0.764705896)
mov x0[5].x, l(0.294117659)
mov x0[6].x, l(0.882352948)
mov x0[7].x, l(0.411764711)
mov x0[8].x, l(0.235294119)
mov x0[9].x, l(0.705882370)
mov x0[10].x, l(0.117647059)
mov x0[11].x, l(0.588235319)
mov x0[12].x, l(0.941176474)
mov x0[13].x, l(0.470588237)
mov x0[14].x, l(0.823529422)
mov x0[15].x, l(0.352941185)
ftou r0.xy, r0.xyxx
bfi r0.x, l(2), l(2), r0.x, l(0)
bfi r0.x, l(2), l(0), r0.y, r0.x
mov r0.y, x0[r0.x + 0].x
mad r0.y, r0.w, l(2.000000), -r0.y
movc r0.y, r1.z, r0.y, r0.w
movc r0.y, r1.x, r0.y, l(1.000000)
mul r0.y, r0.y, r0.z
eq r0.z, v17.z, l(0.000000)
add r0.w, -v17.z, l(1.000000)
mov x1[0].x, l(0.0588235296)
mov x1[1].x, l(0.529411793)
mov x1[2].x, l(0.176470593)
mov x1[3].x, l(0.647058845)
mov x1[4].x, l(0.764705896)
mov x1[5].x, l(0.294117659)
mov x1[6].x, l(0.882352948)
mov x1[7].x, l(0.411764711)
mov x1[8].x, l(0.235294119)
mov x1[9].x, l(0.705882370)
mov x1[10].x, l(0.117647059)
mov x1[11].x, l(0.588235319)
mov x1[12].x, l(0.941176474)
mov x1[13].x, l(0.470588237)
mov x1[14].x, l(0.823529422)
mov x1[15].x, l(0.352941185)
mov r0.x, x1[r0.x + 0].x
mad_sat r0.x, r0.w, l(2.000000), -r0.x
movc r0.x, r0.z, l(1.000000), r0.x
mul r0.z, r0.x, r0.y
mad r0.x, r0.y, r0.x, -v17.y
lt r0.x, r0.x, l(0.000000)
discard_nz r0.x
mov o0.w, r0.z
ret
// Approximately 0 instruction slots used
