// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.181 on Sat Nov 11 18:31:34 2023
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float   xy
// TEXCOORD                 0   xyzw        1     NONE   float   xy
// TEXCOORD                 1   xyzw        2     NONE   float   xyzw
//
//
// 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[310], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_input_ps linear v1.xy
dcl_input_ps linear v2.xyzw
dcl_output o0.xyzw
dcl_temps 31
dcl_resource_buffer (float,float,float,float) t125
ld_indexable(buffer)(float,float,float,float) r25.xyzw, l(0, 0, 0, 0), t125.xyzw
mov r11.xy, v1.xyxx
div r26.x, r25.y, v0.w
add r26.x, l(1.000000), -r26.x
mul r26.x, r26.x, l(0.500000)
mad r11.x, r25.x, r26.x, r11.x
sample_indexable(texture2d)(float,float,float,float) r0.xyzw, r11.xyxx, t0.xyzw, s0
mul r0.w, r0.w, v2.w
mov r1.xyz, v2.xyzx
mov r1.w, l(0.500000)
mul_sat r0.xyzw, r0.xyzw, r1.xyzw
mul r1.xyzw, r0.xyzw, l(1.000000, 1.000000, 1.000000, 2.000000)
if_nz cb0[304].x
  switch cb0[305].x
    case l(0)
    mov r0.x, l(-1)
    break
    case l(1)
    add r0.y, cb0[306].x, -cb0[307].x
    lt r0.y, r1.w, r0.y
    movc r0.x, r0.y, l(1), l(-1)
    break
    case l(2)
    mad r0.y, r0.w, l(2.000000), -cb0[306].x
    lt r0.y, |r0.y|, cb0[307].x
    movc r0.x, r0.y, l(1), l(-1)
    break
    case l(3)
    add r0.y, cb0[306].x, cb0[307].x
    lt r0.y, r1.w, r0.y
    movc r0.x, r0.y, l(1), l(-1)
    break
    case l(4)
    add r0.y, cb0[306].x, cb0[307].x
    lt r0.y, r1.w, r0.y
    movc r0.x, r0.y, l(-1), l(1)
    break
    case l(5)
    mad r0.y, r0.w, l(2.000000), -cb0[306].x
    lt r0.y, |r0.y|, cb0[307].x
    movc r0.x, r0.y, l(-1), l(1)
    break
    case l(6)
    add r0.y, cb0[306].x, -cb0[307].x
    lt r0.y, r1.w, r0.y
    movc r0.x, r0.y, l(-1), l(1)
    break
    case l(7)
    mov r0.x, l(1)
    break
    default
    mov r0.x, l(1)
    break
  endswitch
else
  mov r0.x, l(1)
endif
ilt r0.x, r0.x, l(0)
discard_nz r0.x
if_nz cb0[308].x
  ine r0.x, cb0[309].x, l(-1)
  ftoi r0.yz, v0.yyxy
  and r0.yz, r0.yyzy, l(0, 1, 1, 0)
  xor r0.w, r0.z, r0.y
  ine r2.x, r0.w, l(0)
  ieq r2.yz, cb0[309].xxxx, l(0, 4080, 0x0000f00f, 0)
  ieq r0.y, r0.y, r0.z
  movc r0.zw, r0.yyyw, l(0,0,-1,-1), l(0,0,1,1)
  movc r0.z, r2.z, r0.z, l(1)
  and r0.y, r0.y, r2.z
  movc r0.z, r2.y, r0.w, r0.z
  movc r0.y, r2.y, r2.x, r0.y
  movc r0.y, r0.y, r0.z, l(1)
  movc r0.x, r0.x, r0.y, l(1)
else
  mov r0.x, l(1)
endif
ilt r0.x, r0.x, l(0)
discard_nz r0.x
mov o0.xyzw, r1.xyzw
ret
// Approximately 0 instruction slots used
