// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.163 on Fri Oct 31 20:25:24 2025
//
//
// 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_immediateConstantBuffer { { 1.000000, 0, 0, 0},
                              { 0, 1.000000, 0, 0},
                              { 0, 0, 1.000000, 0},
                              { 0, 0, 0, 1.000000} }
dcl_constantbuffer CB0[16], immediateIndexed
dcl_constantbuffer CB2[2], immediateIndexed
dcl_resource_structured t1, 64
dcl_resource_texture2d (float,float,float,float) t2
dcl_resource_structured t11, 112
dcl_resource_structured t13, 176
dcl_uav_structured u0, 576
dcl_input vThreadID.x
dcl_temps 35
dcl_constantbuffer CB13[2], immediateIndexed
dcl_thread_group 64, 1, 1
ult r0.x, l(4607), vThreadID.x
if_nz r0.x
  ret
endif
and r0.x, vThreadID.x, l(31)
utof r0.x, r0.x
ushr r1.x, vThreadID.x, l(5)
udiv null, r1.x, r1.x, l(18)
utof r0.y, r1.x
add r0.zw, r0.xxxy, l(0.000000, 0.000000, 1.000000, 1.000000)
mul r0.xyzw, r0.xyzw, l(0.031250, 0.0555555560, 0.031250, 0.0555555560)
itof r1.x, cb2[1].x
mul r1.y, r0.x, r1.x
mad r1.x, r0.z, r1.x, -r1.y
mul r1.x, r1.x, l(0.500000)
max r1.x, r1.x, l(1.000000)
log r1.x, r1.x
round_pi r1.x, r1.x
ftoi r1.x, r1.x
imin r1.zw, r1.xxxx, cb2[0].wwww
ishr r2.xyzw, cb2[1].xyxy, r1.wwww
itof r3.xyzw, r2.zwzw
mul r0.xyzw, r0.xyzw, r3.xyzw
round_ni r0.xyzw, r0.xyzw
iadd r2.xyzw, r2.xyzw, l(-1, -1, -1, -1)
itof r2.xyzw, r2.xyzw
max r0.xyzw, r0.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
min r0.xyzw, r2.xyzw, r0.xyzw
ftoi r0.xy, r0.xyxx
mov r2.x, l(1.000000)
mov r1.x, r0.x
loop
  itof r2.z, r1.x
  lt r2.z, r0.z, r2.z
  breakc_nz r2.z
  mov r2.z, r2.x
  mov r1.y, r0.y
  loop
    itof r2.w, r1.y
    lt r2.w, r0.w, r2.w
    breakc_nz r2.w
    ld_indexable(texture2d)(float,float,float,float) r2.w, r1.xyzw, t2.yzwx
    min r2.z, r2.w, r2.z
    iadd r1.y, r1.y, l(1)
  endloop
  mov r2.x, r2.z
  iadd r1.x, r1.x, l(1)
endloop
mov r2.y, l(1.000000)
dp2 r0.x, cb0[14].zwzz, r2.xyxx
dp2 r0.y, cb0[15].zwzz, r2.xyxx
div r0.x, r0.x, r0.y
mov r27.x, r2.w
udiv r0.y, null, vThreadID.x, l(576)
min r0.z, -r0.x, l(200.000000)
mul r0.z, r0.z, l(0.125000)
utof r0.w, r0.y
mul r1.x, r0.w, r0.z
movc r1.x, r0.y, r1.x, cb2[1].z
ieq r0.y, r0.y, l(7)
mad r0.w, r0.z, r0.w, r0.z
movc r0.y, r0.y, -r0.x, r0.w
div r0.z, l(1.000000, 1.000000, 1.000000, 1.000000), r0.z
store_structured u0.x, vThreadID.x, l(572), r0.z
ld_structured_indexable(structured_buffer, stride=64)(mixed,mixed,mixed,mixed) r2.xyzw, vThreadID.x, l(0), t1.xyzw
ld_structured_indexable(structured_buffer, stride=64)(mixed,mixed,mixed,mixed) r3.xyzw, vThreadID.x, l(16), t1.xyzw
ld_structured_indexable(structured_buffer, stride=64)(mixed,mixed,mixed,mixed) r4.xyzw, vThreadID.x, l(32), t1.xyzw
ld_structured_indexable(structured_buffer, stride=64)(mixed,mixed,mixed,mixed) r5.xyzw, vThreadID.x, l(48), t1.xyzw
mov r6.w, l(1.000000)
mov r0.zw, l(0,0,0,0)
loop
  uge r1.y, r0.w, cb2[0].x
  breakc_nz r1.y
  ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r7.xyzw, r0.w, l(0), t11.xyzw
  mov r6.xyz, r7.xyzx
  dp4 r7.z, r6.xyzw, cb0[2].xyzw
  add r1.y, r7.w, r7.z
  lt r1.y, r1.y, r0.x
  ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r1.z, r0.w, l(12), t11.xxxx
  add r1.w, r1.z, -r7.z
  lt r1.w, r1.w, r1.x
  or r1.y, r1.w, r1.y
  add r1.w, -r1.z, -r7.z
  lt r1.w, r0.y, r1.w
  or r1.y, r1.w, r1.y
  if_nz r1.y
    iadd r8.y, r0.w, l(1)
    mov r8.x, r0.z
    mov r0.zw, r8.xxxy
    continue
  endif
  dp4 r7.x, r6.xyzw, cb0[0].xyzw
  dp4 r7.y, r6.xyzw, cb0[1].xyzw
  div r26.x, cb13[0].y, r27.x
  add r26.x, r7.z, -r26.x
  mad r7.x, -cb13[0].x, r26.x, r7.x
  mov r1.yw, l(0,0,0,0)
  loop
    uge r6.x, r1.y, l(4)
    mov r1.w, l(0)
    breakc_nz r6.x
    mul r8.xyzw, r2.xyzw, icb[r1.y + 0].xxxx
    mad r8.xyzw, icb[r1.y + 0].yyyy, r3.xyzw, r8.xyzw
    mad r8.xyzw, icb[r1.y + 0].zzzz, r4.xyzw, r8.xyzw
    mad r8.xyzw, icb[r1.y + 0].wwww, r5.xyzw, r8.xyzw
    dp3 r6.x, r7.xyzx, r8.xyzx
    add r6.x, r8.w, r6.x
    lt r6.x, r6.x, -r1.z
    if_nz r6.x
      mov r1.w, l(-1)
      break
    endif
    iadd r1.y, r1.y, l(1)
    mov r1.w, r6.x
  endloop
  if_z r1.w
    ishl r1.y, r0.z, l(2)
    store_structured u0.x, vThreadID.x, r1.y, r0.w
    iadd r1.y, r0.z, l(1)
    uge r1.z, r1.y, l(63)
    if_nz r1.z
      mov r0.z, r1.y
      break
    endif
    mov r0.z, r1.y
  endif
  iadd r0.w, r0.w, l(1)
endloop
store_structured u0.x, vThreadID.x, l(252), r0.z
mov r6.w, l(1.000000)
mov r0.zw, l(0,0,0,0)
loop
  uge r1.y, r0.w, cb2[0].y
  breakc_nz r1.y
  iadd r1.y, r0.w, cb2[0].x
  ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r7.xyzw, r1.y, l(0), t11.xyzw
  mov r6.xyz, r7.xyzx
  div r26.x, cb13[0].y, r27.x
  add r26.x, r7.z, -r26.x
  mad r7.x, -cb13[0].x, r26.x, r7.x
  dp4 r7.z, r6.xyzw, cb0[2].xyzw
  add r1.z, r7.w, r7.z
  lt r1.z, r1.z, r0.x
  ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r1.w, r1.y, l(12), t11.xxxx
  add r7.w, r1.w, -r7.z
  lt r7.w, r7.w, r1.x
  or r1.z, r1.z, r7.w
  add r7.w, -r1.w, -r7.z
  lt r7.w, r0.y, r7.w
  or r1.z, r1.z, r7.w
  if_nz r1.z
    iadd r8.y, r0.w, l(1)
    mov r8.x, r0.z
    mov r0.zw, r8.xxxy
    continue
  endif
  dp4 r7.x, r6.xyzw, cb0[0].xyzw
  dp4 r7.y, r6.xyzw, cb0[1].xyzw
  mov r1.z, l(0)
  mov r6.x, l(0)
  loop
    uge r6.y, r1.z, l(4)
    mov r6.x, l(0)
    breakc_nz r6.y
    mul r8.xyzw, r2.xyzw, icb[r1.z + 0].xxxx
    mad r8.xyzw, icb[r1.z + 0].yyyy, r3.xyzw, r8.xyzw
    mad r8.xyzw, icb[r1.z + 0].zzzz, r4.xyzw, r8.xyzw
    mad r8.xyzw, icb[r1.z + 0].wwww, r5.xyzw, r8.xyzw
    dp3 r6.y, r7.xyzx, r8.xyzx
    add r6.y, r8.w, r6.y
    lt r6.y, r6.y, -r1.w
    if_nz r6.y
      mov r6.x, l(-1)
      break
    endif
    iadd r1.z, r1.z, l(1)
    mov r6.x, r6.y
  endloop
  if_z r6.x
    ishl r1.z, r0.z, l(2)
    iadd r1.z, r1.z, l(256)
    store_structured u0.x, vThreadID.x, r1.z, r1.y
    iadd r1.y, r0.z, l(1)
    uge r1.z, r1.y, l(63)
    if_nz r1.z
      mov r0.z, r1.y
      break
    endif
    mov r0.z, r1.y
  endif
  iadd r0.w, r0.w, l(1)
endloop
store_structured u0.x, vThreadID.x, l(508), r0.z
mov r6.w, l(1.000000)
mov r0.zw, l(0,0,0,0)
loop
  uge r1.y, r0.w, cb2[0].z
  breakc_nz r1.y
  ld_structured_indexable(structured_buffer, stride=176)(mixed,mixed,mixed,mixed) r6.xyz, r0.w, l(0), t13.xyzx
  dp4 r7.z, r6.xyzw, cb0[2].xyzw
  ld_structured_indexable(structured_buffer, stride=176)(mixed,mixed,mixed,mixed) r1.y, r0.w, l(16), t13.xxxx
  add r1.z, r1.y, r7.z
  lt r1.z, r1.z, r0.x
  add r1.w, r1.y, -r7.z
  lt r1.w, r1.w, r1.x
  or r1.z, r1.w, r1.z
  add r1.w, -r1.y, -r7.z
  lt r1.w, r0.y, r1.w
  or r1.z, r1.w, r1.z
  if_nz r1.z
    iadd r8.y, r0.w, l(1)
    mov r8.x, r0.z
    mov r0.zw, r8.xxxy
    continue
  endif
  dp4 r7.x, r6.xyzw, cb0[0].xyzw
  dp4 r7.y, r6.xyzw, cb0[1].xyzw
  mov r1.zw, l(0,0,0,0)
  loop
    uge r6.x, r1.z, l(4)
    mov r1.w, l(0)
    breakc_nz r6.x
    mul r8.xyzw, r2.xyzw, icb[r1.z + 0].xxxx
    mad r8.xyzw, icb[r1.z + 0].yyyy, r3.xyzw, r8.xyzw
    mad r8.xyzw, icb[r1.z + 0].zzzz, r4.xyzw, r8.xyzw
    mad r8.xyzw, icb[r1.z + 0].wwww, r5.xyzw, r8.xyzw
    dp3 r6.x, r7.xyzx, r8.xyzx
    add r6.x, r8.w, r6.x
    lt r6.x, r6.x, -r1.y
    if_nz r6.x
      mov r1.w, l(-1)
      break
    endif
    iadd r1.z, r1.z, l(1)
    mov r1.w, r6.x
  endloop
  if_z r1.w
    ishl r1.y, r0.z, l(2)
    iadd r1.y, r1.y, l(512)
    store_structured u0.x, vThreadID.x, r1.y, r0.w
    iadd r1.y, r0.z, l(1)
    uge r1.z, r1.y, l(14)
    if_nz r1.z
      mov r0.z, r1.y
      break
    endif
    mov r0.z, r1.y
  endif
  iadd r0.w, r0.w, l(1)
endloop
store_structured u0.x, vThreadID.x, l(568), r0.z
ret
// Approximately 0 instruction slots used
