// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.182 on Sun Jun 11 12:51:46 2023
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                10   xyzw        0     NONE   float   xyz
// TEXCOORD                11   xyzw        1     NONE   float   xyzw
// PACKED_EYE_INDEX         0   x           2     NONE    uint   x
// PRIMITIVE_ID             0    y          2     NONE    uint
// TEXCOORD                 6   xyzw        3     NONE   float
// SV_Position              0   xyzw        4      POS   float   xy w
// SV_IsFrontFace           0   x           5    FFACE    uint
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
//
ps_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[147], immediateIndexed
dcl_constantbuffer CB1[142], immediateIndexed
dcl_constantbuffer CB2[21], immediateIndexed
dcl_constantbuffer CB3[24], 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 centroid v0.xyz
dcl_input_ps linear centroid v1.xyzw
dcl_input_ps constant v2.x
dcl_input_ps_siv linear noperspective v4.xyw, position
dcl_output o0.xyzw
dcl_temps 31
dcl_temps 21
dcl_resource_buffer (float,float,float,float) t125
ld_indexable(buffer)(float,float,float,float) r25.xyzw, l(0, 0, 0, 0), t125.xyzw
if_z v2.x
  mov r0.xy, cb0[134].xyxx
  mov r0.zw, cb0[135].zzzw
  mov r1.x, cb0[12].x
  mov r1.y, cb0[13].x
  mov r1.z, cb0[14].x
  mov r2.x, cb0[12].y
  mov r2.y, cb0[13].y
  mov r2.z, cb0[14].y
  mov r3.x, cb0[12].z
  mov r3.y, cb0[13].z
  mov r3.z, cb0[14].z
  mov r4.xyz, cb0[18].xyzx
  mov r5.xy, cb0[134].zwzz
  mov r1.w, cb0[141].w
  mov r6.xyz, cb0[141].xyzx
  mov r5.zw, cb0[66].xxxy
  mov r7.xy, cb0[66].zwzz
  mov r7.zw, cb0[133].xxxy
else
  mov r0.xy, cb1[134].xyxx
  mov r0.zw, cb1[135].zzzw
  mov r1.x, cb1[12].x
  mov r1.y, cb1[13].x
  mov r1.z, cb1[14].x
  mov r2.x, cb1[12].y
  mov r2.y, cb1[13].y
  mov r2.z, cb1[14].y
  mov r3.x, cb1[12].z
  mov r3.y, cb1[13].z
  mov r3.z, cb1[14].z
  mov r4.xyz, cb1[18].xyzx
  mov r5.xy, cb1[134].zwzz
  mov r1.w, cb1[141].w
  mov r6.xyz, cb1[141].xyzx
  mov r5.zw, cb1[66].xxxy
  mov r7.xy, cb1[66].zwzz
  mov r7.zw, cb1[133].xxxy
endif
mul r8.xyz, v0.yzxy, v1.zxyz
mad r8.xyz, v1.yzxy, v0.zxyz, -r8.xyzx
mul r8.xyz, r8.xyzx, v1.wwww
mov r14.xyw, v4.xyxw
mul r15.x, cb0[135].x, l(0.500000)
div r15.y, r25.y, v4.w
add r15.y, r15.y, l(-1.000000)
mul r15.x, r15.x, r15.y
mad r14.x, r25.x, r15.x, r14.x
add r7.zw, -r7.zzzw, v4.xxxy
mad r5.xy, r7.zwzz, r5.xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
mul r9.xy, r5.xyxx, v4.wwww
mov r9.z, v4.w
mul r9.xyw, r9.xyxz, l(2.000000, -2.000000, 0.000000, 1.000000)
add r5.xy, r14.xyxx, -cb0[133].xyxx
mul r5.xy, r5.xyxx, cb0[134].zwzz
mul r7.zw, cb0[135].zzzw, cb0[135].xxxy
div r5.xy, r5.xyxx, r7.zwzz
sample_b_indexable(texture2d)(float,float,float,float) r7.zw, r5.xyxx, t1.zwxy, s1, cb0[146].y
mad r10.xy, r7.zwzz, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
dp2 r2.w, r10.xyxx, r10.xyxx
add r2.w, -r2.w, l(1.000000)
max r2.w, r2.w, l(0.000000)
sqrt r10.z, r2.w
dp3 r2.w, cb3[11].xyzx, r4.xyzx
mul r2.w, r2.w, cb3[20].y
max r2.w, r2.w, cb3[20].z
min r2.w, r2.w, l(1.000000)
add r2.w, -r2.w, l(1.000000)
mul r4.x, cb0[145].z, cb3[21].w
mul r4.yzw, cb0[145].zzzz, cb3[22].xxzw
mad r4.xy, r5.xyxx, cb3[22].yyyy, r4.xyxx
sample_b_indexable(texture2d)(float,float,float,float) r3.w, r4.xyxx, t2.yzwx, s2, cb0[146].y
mad r4.xy, r5.xyxx, cb3[23].xxxx, r4.zwzz
sample_b_indexable(texture2d)(float,float,float,float) r4.x, r4.xyxx, t2.xyzw, s2, cb0[146].y
mul r3.w, r3.w, r4.x
mul r2.w, r2.w, r3.w
add r3.w, cb3[23].y, l(-1.000000)
mul r2.w, r2.w, r3.w
mad r4.xyz, r10.xyzx, r1.wwww, r6.xyzx
div r5.xy, r9.xyxx, r9.wwww
mad r5.xy, r5.xyxx, r5.zwzz, r7.yxyy
mul r6.xyz, r8.xyzx, r4.yyyy
mad r4.xyw, r4.xxxx, v0.xyxz, r6.xyxz
mad r4.xyz, r4.zzzz, v1.xyzx, r4.xywx
dp3 r1.x, r4.xyzx, r1.xyzx
dp3 r1.y, r4.xyzx, r2.xyzx
dp3 r1.z, r4.xyzx, r3.xyzx
dp3 r1.z, r1.xyzx, r1.xyzx
rsq r1.z, r1.z
mul r1.xy, r1.zzzz, r1.xyxx
mul r1.xy, r2.wwww, r1.xyxx
mul r0.xy, r0.xyxx, r1.xyxx
mul r0.xy, r0.zwzz, r0.xyxx
dp2 r0.z, r0.xyxx, r0.xyxx
add r0.z, r0.z, l(-0.000010)
lt r0.z, r0.z, l(0.000000)
discard_nz r0.z
mov r0.z, v2.x
dp4 r0.z, cb2[20].xyzw, icb[r0.z + 0].xyzw
div r1.x, cb2[20].z, cb2[20].w
mul r0.w, r0.z, r1.x
mul r0.zw, r0.zzzw, cb2[20].zzzw
mul r0.xy, r0.xyxx, r0.zwzz
mul r0.zw, r0.xxxy, l(0.000000, 0.000000, 0.000230, -0.000230)
mad r0.xy, r0.xyxx, l(0.000230, -0.000230, 0.000000, 0.000000), r5.xyxx
sample_l_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t0.xyzw, s0, l(0.000000)
mad r0.y, r0.x, cb0[65].x, cb0[65].y
mad r0.x, r0.x, cb0[65].z, -cb0[65].w
div r0.x, l(1.000000, 1.000000, 1.000000, 1.000000), r0.x
add r0.x, r0.x, r0.y
mul r0.y, cb3[23].z, l(-0.500000)
min r0.y, |r0.y|, l(50.000000)
max r0.y, r0.y, l(1.000000)
div r0.y, l(1.000000, 1.000000, 1.000000, 1.000000), r0.y
mad r0.x, -r9.z, l(1.000000), r0.x
mad_sat r0.x, r0.x, r0.y, -cb3[23].z
mul r0.xy, r0.xxxx, r0.zwzz
mul r0.xy, r0.xyxx, l(4.000000, 4.000000, 0.000000, 0.000000)
max o0.xy, r0.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
min r0.xy, r0.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
mov o0.zw, -r0.xxxy
ret
// Approximately 0 instruction slots used
