// MANUALLY DUMPED [ShaderRegex\ShaderFixes\ShaderRegEx_UE4_UNIVERSAL2_C44.ini\_32_Objects01SSR][ShaderRegex\ShaderFixes\ShaderRegEx_UE4_UNIVERSAL2_C44.ini\_32_PSDecals7] TS blood specular reflection.
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v1.3.16 on Sun Nov 27 17:49:47 2022
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float   xy
// SV_IsFrontFace           0   x           1    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_constantbuffer cb0[14], immediateIndexed
dcl_constantbuffer cb1[144], immediateIndexed
dcl_constantbuffer cb2[18], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, mode_default
dcl_sampler s3, mode_default
dcl_sampler s4, mode_default
dcl_sampler s5, 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_resource_texture2d (float,float,float,float) t3
dcl_resource_texture2d (float,float,float,float) t4
dcl_resource_texture2d (float,float,float,float) t5
dcl_resource_texturecube (float,float,float,float) t6

dcl_input_ps_siv linear noperspective v0.xy, position

dcl_output o0.xyzw
dcl_temps 37
dcl_resource_texture2d (float,float,float,float) t125
mul r1.xy, v0.xyxx, cb1[132].zwzz

sample_l_indexable(texture2d)(float,float,float,float) r1.x, r1.xyxx, t0.xyzw, s1, l(0.000000)

mul r11.xyzw, v0.yyyy, cb0[1].xyzw
mad r12.xyzw, v0.xxxx, cb0[0].xyzw, r11.xyzw
//PS
mad r13.xyzw, r1.xxxx, cb0[2].xyzw, r12.xyzw
add r14.xyzw, r13.xyzw, cb0[3].xyzw
mov r15.xyzw, v0.xyzw
ld_indexable(texture2d)(float,float,float,float) r10.xyzw, l(0, 0, 0, 0), t125.xyzw
mul r10.w, r10.y, r14.w
add r10.w, r10.w, l(-1.0)
mov r16.x, l(132)
iadd r16.x, r16.x, l(-1)
lt r16.y, cb1[r16.x + 0].x, l(800.0)
if_nz r16.y
iadd r16.x, r16.x, l(-1)
endif
mul r10.w, r10.w, cb1[r16.x + 0].x
mul r10.w, r10.w, l(0.500000)
mad r15.x, r10.x, r10.w, r15.x
mul r0.xyzw, v0.yyyy, cb0[1].xyzw

mad r0.xyzw, r15.xxxx, cb0[0].xyzw, r0.xyzw
mad r0.xyzw, r1.xxxx, cb0[2].xyzw, r0.xyzw

add r0.xyzw, r0.xyzw, cb0[3].xyzw

div r0.xyz, r0.xyzx, r0.wwww
add r1.yzw, r0.xxyz, l(0.000000, 1.000000, 1.000000, 1.000000)
lt r1.yzw, r1.yyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
or r0.w, r1.z, r1.y
or r0.w, r1.w, r0.w
discard_nz r0.w
add r1.yzw, -r0.xxyz, l(0.000000, 1.000000, 1.000000, 1.000000)
mad r0.xyz, r0.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000)
lt r1.yzw, r1.yyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
or r0.w, r1.z, r1.y
or r0.w, r1.w, r0.w
discard_nz r0.w
mad r0.w, cb1[142].w, cb2[13].z, l(-0.500000)
frc r0.w, r0.w

mul r2.xyzw, v0.yyyy, cb1[45].xyzw
mad r2.xyzw, v0.xxxx, cb1[44].xyzw, r2.xyzw
//PS
mad r1.xyzw, r1.xxxx, cb1[46].xyzw, r2.xyzw
add r1.xyzw, r1.xyzw, cb1[47].xyzw

//PS
div r1.xyz, r1.xyzx, r1.wwww

mov r8.w, r1.w
ld_indexable(texture2d)(float,float,float,float) r6.xyzw, l(0, 0, 0, 0), t125.xyzw
mov r9.x, l(44)
iadd r9.x, r9.x, l(-4)
mul r7.xyzw, r1.yyyy, cb1[1].xyzw
mad r7.xyzw, r1.xxxx, cb1[0].xyzw, r7.xyzw
mad r7.xyzw, r1.zzzz, cb1[2].xyzw, r7.xyzw
add r7.xyzw, r7.xyzw, cb1[3].xyzw

mad r7.x, -r6.x, r7.w, r7.x

mul r21.xyzw, r7.yyyy, cb1[r9.x + 1].xyzw
mad r21.xyzw, r7.xxxx, cb1[r9.x + 0].xyzw, r21.xyzw
mad r21.xyzw, r7.zzzz, cb1[r9.x + 2].xyzw, r21.xyzw
mad r21.xyzw, r7.wwww, cb1[r9.x + 3].xyzw, r21.xyzw
mov r21.w, r28.w
add r21.xyz, r21.xyzx, -cb1[70].xyzx

mad r7.x, r6.x, r6.y, r7.x

mul r1.xyzw, r7.yyyy, cb1[r9.x + 1].xyzw
mad r1.xyzw, r7.xxxx, cb1[r9.x + 0].xyzw, r1.xyzw
mad r1.xyzw, r7.zzzz, cb1[r9.x + 2].xyzw, r1.xyzw
mad r1.xyzw, r7.wwww, cb1[r9.x + 3].xyzw, r1.xyzw
mov r1.w, r8.w
//ObjectFixHere - cb1
add r1.xyz, r1.xyzx, -cb1[70].xyzx
div r2.xyzw, r1.xyxy, cb2[13].yyww
sample_indexable(texture2d)(float,float,float,float) r2.zw, r2.zwzz, t3.zwxy, s0
add r2.zw, r2.zzzw, l(0.000000, 0.000000, -0.500000, -0.500000)
mul r2.zw, r2.zzzw, cb2[14].yyyy
mul r2.zw, r2.zzzw, l(0.000000, 0.000000, -1.000000, 1.000000)
mad r3.xy, r0.wwww, r2.zwzz, r2.xyxx
add r3.xy, r3.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
sample_b_indexable(texture2d)(float,float,float,float) r0.w, r3.xyxx, t4.yzwx, s3, cb1[143].y
mul r1.w, cb1[142].w, cb2[13].z
frc r1.w, r1.w
mad r2.xy, r2.zwzz, r1.wwww, r2.xyxx
frc r1.w, r1.w
sample_b_indexable(texture2d)(float,float,float,float) r2.x, r2.xyxx, t4.xyzw, s3, cb1[143].y
add r2.x, -r0.w, r2.x
add r2.y, -r1.w, l(1.000000)
add r1.w, r1.w, r1.w
mad r2.y, r2.y, l(2.000000), -r1.w
round_ni r2.z, r1.w
mad r1.w, r2.z, r2.y, r1.w
mad r0.w, r1.w, r2.x, r0.w
div r2.xyzw, r1.xyxy, cb2[8].yyyy
add r1.xyz, -r21.xyzx, cb1[67].xyzx
mul r1.w, cb1[142].w, cb2[8].x
mul r3.xyzw, r1.wwww, l(-0.100000, 0.100000, 0.100000, -0.100000)
frc r3.xyzw, r3.xyzw
add r4.xyzw, r2.zwzw, r3.zzww
add r2.xyzw, r2.xyzw, r3.xyzw
add r2.xyzw, r2.xyzw, l(0.864861, 0.148384, 0.651340, 0.751638)
add r3.xy, r4.zwzz, l(0.418100, 0.354800, 0.000000, 0.000000)
sample_indexable(texture2d)(float,float,float,float) r3.zw, r4.xyxx, t1.zwxy, s0
mad r4.xy, r3.zwzz, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
sample_indexable(texture2d)(float,float,float,float) r3.xy, r3.xyxx, t1.xyzw, s0
mad r3.xy, r3.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
dp2 r1.w, r3.xyxx, r3.xyxx
add r1.w, -r1.w, l(1.000000)
max r1.w, r1.w, l(0.000000)
sqrt r3.z, r1.w
dp2 r1.w, r4.xyxx, r4.xyxx
add r1.w, -r1.w, l(1.000000)
max r1.w, r1.w, l(0.000000)
sqrt r4.z, r1.w
add r3.xyz, r3.xyzx, r4.xyzx
sample_indexable(texture2d)(float,float,float,float) r2.xy, r2.xyxx, t1.xyzw, s0
sample_indexable(texture2d)(float,float,float,float) r2.zw, r2.zwzz, t1.zwxy, s0
mad r4.xy, r2.zwzz, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
mad r2.xy, r2.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
dp2 r1.w, r2.xyxx, r2.xyxx
add r1.w, -r1.w, l(1.000000)
max r1.w, r1.w, l(0.000000)
sqrt r2.z, r1.w
dp2 r1.w, r4.xyxx, r4.xyxx
add r1.w, -r1.w, l(1.000000)
max r1.w, r1.w, l(0.000000)
sqrt r4.z, r1.w
add r2.xyz, r2.xyzx, r4.xyzx
add r2.xyz, r2.xyzx, r3.xyzx
mul r3.xyz, r2.xyzx, l(0.250000, 0.250000, 0.250000, 0.000000)
mad r2.xyz, -r2.xyzx, l(0.250000, 0.250000, 0.250000, 0.000000), l(0.000000, 0.000000, 1.000000, 0.000000)
mad r2.xyz, cb2[8].wwww, r2.xyzx, r3.xyzx
dp3 r1.w, r1.xyzx, r1.xyzx
rsq r1.w, r1.w
mul r4.xyz, r1.wwww, r1.xyzx
dp3 r1.y, r3.xyzx, r4.xyzx
dp2 r1.y, r3.xxxx, r1.yyyy
mad r1.x, -r1.x, r1.w, r1.y
mul r1.x, r1.x, cb2[14].w
mad r0.w, r0.w, cb2[14].z, r1.x
mul r0.w, r0.w, l(6.28318548)
sincos r1.x, r3.x, r0.w
dp3 r0.w, l(0.577350259, 0.577350259, 0.577350259, 0.000000), cb2[6].xyzx
mad r1.yzw, -r0.wwww, l(0.000000, 0.577350259, 0.577350259, 0.577350259), cb2[6].xxyz
mul r3.yzw, r1.wwyz, l(0.000000, 0.577350259, 0.577350259, 0.577350259)
mad r3.yzw, r1.wwyz, l(0.000000, 0.577350259, 0.577350259, 0.577350259), -r3.wwyz
mul r3.yzw, r1.xxxx, r3.yyzw
mad r1.xyz, r1.yzwy, r3.xxxx, r3.yzwy
mad r1.xyz, r0.wwww, l(0.577350259, 0.577350259, 0.577350259, 0.000000), r1.xyzx
add r1.xyz, r1.xyzx, -cb2[6].xyzx
mad r1.xyz, cb2[15].xxxx, r1.xyzx, cb2[6].xyzx
add r1.xyz, r1.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000)
mad r1.xyz, cb2[15].yyyy, r1.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
sample_b_indexable(texture2d)(float,float,float,float) r3.xy, r0.zyzz, t2.xyzw, s2, cb1[143].y
mad r3.xy, r3.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
dp2 r0.w, r3.xyxx, r3.xyxx
add r0.w, -r0.w, l(1.000000)
max r0.w, r0.w, l(0.000000)
sqrt r3.z, r0.w
add r5.xyz, -r3.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000)
mad r3.xyz, cb2[9].yyyy, r5.xyzx, r3.xyzx
add r2.xyz, r2.xyzx, r3.xyzx
mad r2.xyz, r2.xyzx, cb1[138].wwww, cb1[138].xyzx
dp3 r0.w, r2.xyzx, r2.xyzx
rsq r0.w, r0.w
mul r2.xyz, r0.wwww, r2.xyzx
dp3 r0.w, cb0[4].xyzx, cb0[4].xyzx
rsq r0.w, r0.w
mul r0.w, r0.w, -r2.z
dp3 r1.w, cb0[5].xyzx, cb0[5].xyzx
rsq r3.y, r1.w
dp3 r1.w, cb0[6].xyzx, cb0[6].xyzx
rsq r3.z, r1.w
mul r2.xy, r2.yxyy, r3.yzyy
mul r2.xzw, r2.xxxx, cb0[5].xxyz
mad r2.xzw, r0.wwww, cb0[4].xxyz, r2.xxzw
mad r2.xyz, r2.yyyy, cb0[6].xyzx, r2.xzwx
dp3 r0.w, r2.xyzx, r2.xyzx
rsq r0.w, r0.w
mul r2.xyz, r0.wwww, r2.xyzx
dp3 r0.w, r2.xyzx, r4.xyzx
mul r2.xyz, r0.wwww, r2.xyzx
mad r2.xyz, r2.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), -r4.xyzx
mul r3.xyz, r2.yyyy, cb1[21].xyzx
mad r3.xyz, r2.xxxx, cb1[20].xyzx, r3.xyzx
mad r3.xyz, r2.zzzz, cb1[22].xyzx, r3.xyzx
add r3.xyz, -r2.xyzx, r3.xyzx
mad r2.yzw, cb2[9].zzzz, r3.xxyz, r2.xxyz
dp2 r2.x, r2.yzyy, cb2[2].xyxx
dp2 r3.y, r2.xwxx, cb2[3].xyxx
dp2 r3.z, r2.xwxx, cb2[4].xyxx
dp2 r3.x, r2.yzyy, cb2[1].xyxx
sample_indexable(texturecube)(float,float,float,float) r2.xyz, r3.xyzx, t6.xyzw, s5
ge r3.xyz, l(0.000000, 0.000000, 0.000000, 0.000000), r2.xyzx
log r2.xyz, r2.xyzx
mul r2.xyz, r2.xyzx, cb2[12].wwww
exp r2.xyz, r2.xyzx
movc r2.xyz, r3.xyzx, l(0,0,0,0), r2.xyzx
mul r2.xyz, r2.xyzx, cb2[13].xxxx
mul r3.xyz, r1.xyzx, r2.xyzx
mad r1.xyz, -r2.xyzx, r1.xyzx, cb2[7].xyzx
mad r1.xyz, cb2[15].zzzz, r1.xyzx, r3.xyzx
max r1.xyz, r1.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
mul o0.xyz, r1.xyzx, cb1[135].yyyy
sample_b_indexable(texture2d)(float,float,float,float) r0.yz, r0.zyzz, t5.zxyw, s4, cb1[143].y
mad r0.x, r0.x, l(2.000000), l(-1.000000)
mad_sat r0.x, -|r0.x|, l(4.000000), l(4.000000)
mul r0.x, r0.x, cb0[13].x
add r0.z, r0.z, cb2[16].z
mul r0.z, r0.z, l(0.333333343)
frc r0.z, r0.z
mul r0.z, r0.z, l(3.000000)
round_pi r0.z, r0.z
add r0.z, r0.z, l(-2.000000)
lt r0.z, l(0.000010), |r0.z|
movc r0.z, r0.z, l(0), l(1.000000)
mul_sat r0.y, r0.y, r0.z
mul r0.y, r0.y, cb2[16].w
mul_sat r0.y, r0.y, cb2[17].x
mul o0.w, r0.x, r0.y
ret
// Approximately 0 instruction slots used
