//++++++++++++++++++++++++++++++++++++
// QuantV 3.0.0 shader
// Original code by Rockstar Games
//++++++++++++++++++++++++++++++++++++
ps_4_0
dcl_constantbuffer cb2[20], immediateIndexed
dcl_constantbuffer cb5[2], immediateIndexed
dcl_constantbuffer cb9[6], immediateIndexed
dcl_constantbuffer cb8[5], immediateIndexed
dcl_sampler s4, mode_default
dcl_sampler s5, mode_default
dcl_sampler s12, mode_default
dcl_resource_texture2d (float,float,float,float) t4
dcl_resource_texture2d (float,float,float,float) t5
dcl_resource_texture2d (float,float,float,float) t12
dcl_input_ps linear v0.xyzw
dcl_input_ps linear v1.xyzw
dcl_input_ps constant v3.xy
dcl_input_ps linear v4.xyzw
dcl_input_ps constant v5.xyzw
dcl_input_ps linear v7.xzw
dcl_input_ps linear v9.xyz
dcl_input_ps_siv linear noperspective v11.xy, position
dcl_input_ps_siv linear v12.x, clip_distance
dcl_output o0.xyzw
dcl_output o1.x
dcl_output o2.x
dcl_temps 4
sample r0.xyzw, v1.xyxx, t5.xyzw, s5
sample r1.xyzw, v1.zwzz, t5.xyzw, s5
add r2.x, r0.w, r1.w
lt r2.x, r2.x, l(5.000000e-003)
discard_nz r2.x
mul r0.xyz, r0.xyzx, r0.xyzx
mul r1.xyz, r1.xyzx, r1.xyzx
add r1.xyzw, -r0.xyzw, r1.xyzw
mad r0.xyzw, v3.xxxx, r1.xyzw, r0.xyzw
mad r1.xyz, v9.xyzx, v7.zzzz, v0.xyzx
mul r2.xy, v11.xyxx, cb5[1].xyxx
sample r3.xyzw, r2.xyxx, t12.xyzw, s12
add r1.w, -r3.x, l(1.000000e+000)
ne r2.zw, l(0.000000e+000, 0.000000e+000, 0.000000e+000, 0.000000e+000), cb9[5].zzzw
add r3.x, -r1.w, l(1.000000e+000)
movc r1.w, r2.z, r3.x, r1.w
add r1.w, -r1.w, l(1.000000e+000)
mad r1.w, r1.w, cb5[0].z, cb5[0].w
div r1.w, l(1.000000e+000, 1.000000e+000, 1.000000e+000, 1.000000e+000), r1.w
add r1.w, r1.w, -v7.w
mad r1.w, r1.w, r1.w, -v7.x
mul_sat r2.z, r1.w, v5.x
mul r2.z, r2.z, v0.w
add r1.w, r1.w, -cb8[4].w
mul_sat r1.w, r1.w, v5.x
add r3.x, -r1.w, l(1.000000e+000)
add r3.y, -cb8[4].z, l(1.000000e+000)
mad r1.w, r3.x, r3.y, r1.w
mul r1.xyz, r1.wwww, r1.xyzx
mul_sat r3.x, v12.x, l(2.000000e+001)
movc r2.w, r2.w, r3.x, l(1.000000)
mul r1.w, r2.w, r2.z
mul r1.xyzw, r0.xyzw, r1.xyzw
mul r0.xyz, r0.xyzx, v5.yzwy
dp3 r0.w, r0.xyzx, l(2.126000e-001, 7.152000e-001, 7.220000e-002, 0.000000e+000)
add_sat r0.w, r0.w, l(-5.000000e-002)
mul r0.w, r0.w, v3.y
mad r0.xyz, r0.xyzx, r0.wwww, r1.xyzx
lt r0.w, l(0.000000e+000), cb2[19].y
if_nz r0.w
  sample r2.xyzw, r2.xyxx, t4.xyzw, s4
  add r0.w, r2.x, l(-1.000000e+000)
  mad_sat r0.w, cb2[19].y, r0.w, l(1.000000e+000)
  mul r0.w, r0.w, v4.w
else 
  mov r0.w, v4.w
endif 
mov_sat r1.w, r1.w
add r1.xyz, -r0.xyzx, v4.xyzx
mad r0.xyz, r0.wwww, r1.xyzx, r0.xyzx
mul o0.xyz, r0.xyzx, cb2[14].zzzz
mul r0.x, r1.w, cb2[19].x
mov o0.w, r1.w
mov r0.y, v7.w
mov o1.x, r0.y
mov o2.x, r0.x
ret