// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.198 on Sat Oct 19 12:16:57 2024
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// no Input
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// no Output
cs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[24], dynamicIndexed
dcl_constantbuffer CB1[130], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_uav_typed_texture3d (uint,uint,uint,uint) u0
dcl_input vThreadID.xyz
dcl_temps 35
dcl_constantbuffer CB14[2], immediateIndexed
dcl_thread_group 4, 4, 4
ult r0.xyz, vThreadID.xyzx, cb0[16].xyzx
and r0.x, r0.y, r0.x
and r0.x, r0.z, r0.x
if_nz r0.x
  utof r0.xyz, vThreadID.xyzx
  add r1.xyz, r0.xyzx, cb0[17].xyzx
  utof r2.xy, cb0[16].xyxx
  div r1.xy, r1.xyxx, r2.xyxx
  mad r1.xy, r1.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
  mul r1.xy, r1.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000)
  div r0.w, r1.z, cb0[15].z
  exp r0.w, r0.w
  add r0.w, r0.w, -cb0[15].y
  div r0.w, r0.w, cb0[15].x
  ge r1.z, cb1[35].w, l(1.000000)
  mad r1.w, r0.w, cb1[34].z, cb1[35].z
  add r0.w, r0.w, cb1[71].w
  mul r0.w, r0.w, cb1[71].z
  div r0.w, l(1.000000, 1.000000, 1.000000, 1.000000), r0.w
  movc r0.w, r1.z, r1.w, r0.w
  mul r22.xyzw, r1.yyyy, cb0[19].xyzw
  mad r21.xyzw, r1.xxxx, cb0[18].xyzw, r22.xyzw
  mad r21.xyzw, r0.wwww, cb0[20].xyzw, r21.xyzw
  add r21.xyzw, r21.xyzw, cb0[21].xyzw
  mad r26.x, cb14[0].y, r21.w, l(-1.000000)
  mad r1.x, cb14[0].x, r26.x, r1.x
  mul r2.xyzw, r1.yyyy, cb0[19].xyzw
  mad r1.xyzw, r1.xxxx, cb0[18].xyzw, r2.xyzw
  mad r1.xyzw, r0.wwww, cb0[20].xyzw, r1.xyzw
  add r1.xyzw, r1.xyzw, cb0[21].xyzw
  div r1.xyz, r1.xyzx, r1.wwww
  mad r2.xyz, cb1[64].xyzx, l(-2097152.000000, -2097152.000000, -2097152.000000, 0.000000), cb1[76].xyzx
  add r1.xyz, r1.xyzx, -r2.xyzx
  utof r0.w, cb0[14].x
  add r0.xyzw, r0.xyzw, l(0.500000, 0.500000, -1.000000, -0.500000)
  mov r2.xz, l(0,0,0,0)
  mov r2.y, cb0[14].y
  mov r1.w, l(0)
  loop
    uge r2.w, r2.z, cb0[14].y
    mov r1.w, l(0)
    breakc_nz r2.w
    mad r3.xyz, r1.xyzx, cb0[r2.z + 2].wwww, cb0[r2.z + 2].xyzx
    add r4.xyz, r3.xyzx, l(-0.500000, -0.500000, -0.500000, 0.000000)
    mul_sat r4.xyz, r4.xyzx, cb0[14].zzzz
    add r3.xyz, r0.wwww, -r3.xyzx
    mul_sat r3.xyz, r3.xyzx, cb0[14].zzzz
    min r2.w, r4.z, r4.y
    min r2.w, r2.w, r4.x
    min r3.y, r3.z, r3.y
    min r3.x, r3.y, r3.x
    min r2.w, r2.w, r3.x
    lt r2.w, l(0.010000), r2.w
    if_nz r2.w
      mov r2.xy, r2.zzzz
      mov r1.w, l(-1)
      break
    endif
    iadd r2.z, r2.z, l(1)
    mov r1.w, r2.w
  endloop
  movc r0.w, r1.w, r2.x, r2.y
  ult r1.w, r0.w, cb0[14].y
  ishl r2.x, l(1), cb0[15].w
  utof r2.x, r2.x
  mul r0.xy, r0.xyxx, r2.xxxx
  mul r0.xy, r0.xyxx, cb1[129].zwzz
  mul r0.xy, r0.xyxx, cb0[23].zwzz
  add r2.x, l(1.000000), cb0[23].x
  sample_l_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t0.xyzw, s0, r2.x
  mad r0.y, r0.x, cb1[71].x, cb1[71].y
  mad r0.x, r0.x, cb1[71].z, -cb1[71].w
  div r0.x, l(1.000000, 1.000000, 1.000000, 1.000000), r0.x
  add r0.x, r0.x, r0.y
  max r0.y, r0.z, l(0.000000)
  div r0.y, r0.y, cb0[15].z
  exp r0.y, r0.y
  add r0.y, r0.y, -cb0[15].y
  div r0.y, r0.y, cb0[15].x
  lt r0.x, r0.y, r0.x
  and r0.x, r0.x, r1.w
  if_nz r0.x
    mad r0.xyz, r1.xyzx, cb0[r0.w + 2].wwww, cb0[r0.w + 2].xyzx
    add r0.xyz, r0.xyzx, l(-0.500000, -0.500000, -0.500000, 0.000000)
    round_ni r0.xyz, r0.xyzx
    ftoi r1.xyz, r0.xyzx
    ige r0.xyz, r1.xyzx, l(0, 0, 0, 0)
    and r0.x, r0.y, r0.x
    and r0.x, r0.z, r0.x
    ilt r2.xyz, r1.xyzx, cb0[14].xxxx
    and r0.y, r2.y, r2.x
    and r0.y, r2.z, r0.y
    and r0.x, r0.y, r0.x
    if_nz r0.x
      imul null, r2.x, r0.w, cb0[14].x
      mov r2.yzw, l(0,0,0,0)
      iadd r2.xyzw, r1.xyzz, r2.xyzw
      store_uav_typed u0.xyzw, r2.xyzw, l(-2,-2,-2,-2)
    endif
    iadd r0.xyz, r1.xyzx, l(0, 0, 1, 0)
    ige r2.xyz, r0.xyzx, l(0, 0, 0, 0)
    and r2.x, r2.y, r2.x
    and r2.x, r2.z, r2.x
    ilt r2.yzw, r0.xxyz, cb0[14].xxxx
    and r0.y, r2.z, r2.y
    and r0.y, r2.w, r0.y
    and r0.y, r0.y, r2.x
    if_nz r0.y
      imul null, r2.x, r0.w, cb0[14].x
      mov r1.w, r0.x
      mov r2.yzw, l(0,0,1,1)
      iadd r2.xyzw, r1.wyzz, r2.xyzw
      store_uav_typed u0.xyzw, r2.xyzw, l(-2,-2,-2,-2)
    endif
    iadd r2.xyz, r1.xyzx, l(0, 1, 0, 0)
    ige r0.xyz, r2.xyzx, l(0, 0, 0, 0)
    and r0.x, r0.y, r0.x
    and r0.x, r0.z, r0.x
    ilt r3.xyz, r2.xyzx, cb0[14].xxxx
    and r0.y, r3.y, r3.x
    and r0.y, r3.z, r0.y
    and r0.x, r0.y, r0.x
    if_nz r0.x
      imul null, r3.x, r0.w, cb0[14].x
      mov r2.yzw, r1.yyzz
      mov r3.yzw, l(0,1,0,0)
      iadd r2.xyzw, r2.xyzw, r3.xyzw
      store_uav_typed u0.xyzw, r2.xyzw, l(-2,-2,-2,-2)
    endif
    iadd r2.xyz, r1.xyzx, l(0, 1, 1, 0)
    ige r0.xyz, r2.xyzx, l(0, 0, 0, 0)
    and r0.x, r0.y, r0.x
    and r0.x, r0.z, r0.x
    ilt r3.xyz, r2.xyzx, cb0[14].xxxx
    and r0.y, r3.y, r3.x
    and r0.y, r3.z, r0.y
    and r0.x, r0.y, r0.x
    if_nz r0.x
      imul null, r3.x, r0.w, cb0[14].x
      mov r2.yzw, r1.yyzz
      mov r3.yzw, l(0,1,1,1)
      iadd r2.xyzw, r2.xyzw, r3.xyzw
      store_uav_typed u0.xyzw, r2.xyzw, l(-2,-2,-2,-2)
    endif
    iadd r2.xyz, r1.xyzx, l(1, 0, 0, 0)
    ige r0.xyz, r2.xyzx, l(0, 0, 0, 0)
    and r0.x, r0.y, r0.x
    and r0.x, r0.z, r0.x
    ilt r3.xyz, r2.xyzx, cb0[14].xxxx
    and r0.y, r3.y, r3.x
    and r0.y, r3.z, r0.y
    and r0.x, r0.y, r0.x
    if_nz r0.x
      imul null, r3.x, r0.w, cb0[14].x
      mov r2.yzw, r1.yyzz
      mov r3.yzw, l(0,0,0,0)
      iadd r2.xyzw, r2.xyzw, r3.xyzw
      store_uav_typed u0.xyzw, r2.xyzw, l(-2,-2,-2,-2)
    endif
    iadd r2.xyz, r1.xyzx, l(1, 0, 1, 0)
    ige r0.xyz, r2.xyzx, l(0, 0, 0, 0)
    and r0.x, r0.y, r0.x
    and r0.x, r0.z, r0.x
    ilt r3.xyz, r2.xyzx, cb0[14].xxxx
    and r0.y, r3.y, r3.x
    and r0.y, r3.z, r0.y
    and r0.x, r0.y, r0.x
    if_nz r0.x
      imul null, r3.x, r0.w, cb0[14].x
      mov r2.yzw, r1.yyzz
      mov r3.yzw, l(0,0,1,1)
      iadd r2.xyzw, r2.xyzw, r3.xyzw
      store_uav_typed u0.xyzw, r2.xyzw, l(-2,-2,-2,-2)
    endif
    iadd r2.xyz, r1.xyzx, l(1, 1, 0, 0)
    ige r0.xyz, r2.xyzx, l(0, 0, 0, 0)
    and r0.x, r0.y, r0.x
    and r0.x, r0.z, r0.x
    ilt r3.xyz, r2.xyzx, cb0[14].xxxx
    and r0.y, r3.y, r3.x
    and r0.y, r3.z, r0.y
    and r0.x, r0.y, r0.x
    if_nz r0.x
      imul null, r3.x, r0.w, cb0[14].x
      mov r2.yzw, r1.yyzz
      mov r3.yzw, l(0,1,0,0)
      iadd r2.xyzw, r2.xyzw, r3.xyzw
      store_uav_typed u0.xyzw, r2.xyzw, l(-2,-2,-2,-2)
    endif
    iadd r2.xyz, r1.xyzx, l(1, 1, 1, 0)
    ige r0.xyz, r2.xyzx, l(0, 0, 0, 0)
    and r0.x, r0.y, r0.x
    and r0.x, r0.z, r0.x
    ilt r3.xyz, r2.xyzx, cb0[14].xxxx
    and r0.y, r3.y, r3.x
    and r0.y, r3.z, r0.y
    and r0.x, r0.y, r0.x
    if_nz r0.x
      imul null, r0.x, r0.w, cb0[14].x
      mov r2.yzw, r1.yyzz
      mov r0.yzw, l(0,1,1,1)
      iadd r0.xyzw, r0.xyzw, r2.xyzw
      store_uav_typed u0.xyzw, r0.xyzw, l(-2,-2,-2,-2)
    endif
  endif
endif
ret
// Approximately 0 instruction slots used
