//++++++++++++++++++++++++++++++++++++
// QuantV 3.0.0 shader
// Original code by Rockstar Games
//++++++++++++++++++++++++++++++++++++
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb12[18], immediateIndexed
dcl_constantbuffer cb2[15], immediateIndexed
dcl_constantbuffer cb1[16], immediateIndexed
dcl_sampler s7, mode_default
dcl_sampler s8, mode_default
dcl_sampler s9, mode_default
dcl_sampler s12, mode_default
dcl_resource_texture2d (float,float,float,float) t7
dcl_resource_texture2d (float,float,float,float) t8
dcl_resource_texture2d (float,float,float,float) t9
dcl_resource_texture2d (float,float,float,float) t12
dcl_input_ps linear v1.xyw
dcl_input_ps linear v2.xyzw
dcl_output o0.xyzw
dcl_temps 10
div r0.xy, v1.xyxx, v1.wwww
sample_indexable(texture2d)(float,float,float,float) r0.z, r0.xyxx, t12.yzxw, s12
add r0.z, -r0.z, cb12[17].w
add r0.z, r0.z, l(1.000000e+000)
div r0.z, cb12[17].z, r0.z
div r1.xyz, v2.xyzx, v2.wwww
mad r2.xyz, r1.xyzx, r0.zzzz, cb1[15].xyzx
add r3.xyz, -r2.xyzx, cb12[9].xyzx
dp3 r0.z, r3.xyzx, r3.xyzx
rsq r0.w, r0.z
mul r4.xyz, r0.wwww, r3.xyzx
add r5.xyz, -r2.xyzx, cb12[10].xyzx
dp3 r1.w, r5.xyzx, r5.xyzx
rsq r3.w, r1.w
mul r6.xyz, r3.wwww, r5.xyzx
mad_sat r0.z, -r0.z, cb12[4].z, l(1.000000e+000)
add r4.w, -cb12[7].x, l(1.000000e+000)
mad r5.w, r4.w, r0.z, cb12[7].x
div r0.z, r0.z, r5.w
dp3 r5.w, r4.xyzx, -cb12[12].xyzx
mad_sat r5.w, r5.w, cb12[5].w, cb12[5].z
mul r0.z, r0.z, r5.w
mov r2.w, l(1.000000)
dp4 r2.x, r2.xyzw, cb12[6].xyzw
ge r2.x, r2.x, l(0.000000e+000)
and r2.x, r2.x, l(0x3f800000)
mul r0.z, r0.z, r2.x
mad_sat r1.w, -r1.w, cb12[4].z, l(1.000000e+000)
mad r2.y, r4.w, r1.w, cb12[7].x
div r1.w, r1.w, r2.y
dp3 r2.y, r6.xyzx, -cb12[13].xyzx
mad_sat r2.y, r2.y, cb12[5].w, cb12[5].z
mul r1.w, r1.w, r2.y
mul r1.w, r2.x, r1.w
max r2.x, r0.z, r1.w
lt r2.x, r2.x, l(1.000000e-006)
discard_nz r2.x
sample_indexable(texture2d)(float,float,float,float) r2.xyz, r0.xyxx, t7.xyzw, s7
mul r2.xyz, r2.xyzx, r2.xyzx
sample_indexable(texture2d)(float,float,float,float) r7.xyz, r0.xyxx, t9.xyzw, s9
mul r7.xy, r7.xyxx, r7.xyxx
sample_indexable(texture2d)(float,float,float,float) r8.xyzw, r0.xyxx, t8.xyzw, s8
mul r9.xyz, r8.wwww, l(9.980469e-001, 7.984375e+000, 6.387500e+001, 0.000000e+000)
frc r9.xyz, r9.xyzx
mad r9.xy, r9.yzyy, l(-1.250000e-001, -1.250000e-001, 0.000000e+000, 0.000000e+000), r9.xyxx
mad r8.xyz, r8.xyzx, l(2.560000e+002, 2.560000e+002, 2.560000e+002, 0.000000e+000), r9.xyzx
add r8.xyz, r8.xyzx, l(-1.280000e+002, -1.280000e+002, -1.280000e+002, 0.000000e+000)
dp3 r0.x, r8.xyzx, r8.xyzx
rsq r0.x, r0.x
mul r8.xyz, r0.xxxx, r8.xyzx
min r0.x, r7.x, l(1.000000e+000)
mad r0.y, r7.y, l(5.120000e+002), l(-5.000000e+002)
max r0.y, r0.y, l(0.000000e+000)
mad r2.w, r7.y, l(5.120000e+002), -r0.y
mul r0.y, r0.y, l(5.580000e+002)
mad r0.y, r2.w, l(3.000000e+000), r0.y
dp3 r2.w, r1.xyzx, r1.xyzx
rsq r2.w, r2.w
mul r1.xyz, r1.xyzx, r2.wwww
mad r3.xyz, r3.xyzx, r0.wwww, -r1.xyzx
dp3 r0.w, r3.xyzx, r3.xyzx
rsq r0.w, r0.w
mul r3.xyz, r0.wwww, r3.xyzx
mad r5.xyz, r5.xyzx, r3.wwww, -r1.xyzx
dp3 r0.w, r5.xyzx, r5.xyzx
rsq r0.w, r0.w
mul r5.xyz, r0.wwww, r5.xyzx
mul r7.xyw, cb12[3].wwww, cb12[3].xyxz
mul r7.xyw, r7.xyww, l(3.800000e-001, 3.800000e-001, 3.800000e-001, 3.800000e-001)
dp3_sat r0.w, r8.xyzx, r4.xyzx
dp3_sat r1.x, -r1.xyzx, r8.xyzx
dp3_sat r1.y, r3.xyzx, r4.xyzx
add r4.xy, -r1.xyxx, l(1.000000e+000, 1.000000e+000, 0.000000e+000, 0.000000e+000)
mul r4.zw, r4.xxxy, r4.xxxy
mul r4.zw, r4.zzzw, r4.zzzw
mul r4.xy, r4.xyxx, r4.zwzz
add r1.y, -r7.z, l(1.000000e+000)
mad r4.xy, r7.zzzz, r4.xyxx, r1.yyyy
add r4.zw, r0.yyyy, l(0.000000e+000, 0.000000e+000, 2.000000e+000, 1.000000e-008)
mul r0.y, r4.z, l(1.250000e-001)
mad r2.w, -r0.x, r4.x, l(1.000000e+000)
dp3 r3.x, r8.xyzx, r3.xyzx
add_sat r3.x, r3.x, l(1.000000e-008)
log r3.x, r3.x
mul r3.x, r3.x, r4.w
exp r3.x, r3.x
mul r3.x, r4.y, r3.x
mul r3.x, r0.y, r3.x
mul r3.x, r0.x, r3.x
mul r3.x, r0.w, r3.x
mul r0.w, r0.w, r2.w
dp3_sat r2.w, r8.xyzx, r6.xyzx
dp3_sat r1.z, r5.xyzx, r6.xyzx
add r1.xz, -r1.xxzx, l(1.000000e+000, 0.000000e+000, 1.000000e+000, 0.000000e+000)
mul r3.yz, r1.xxzx, r1.xxzx
mul r3.yz, r3.yyzy, r3.yyzy
mul r1.xz, r1.xxzx, r3.yyzy
mad r1.xy, r7.zzzz, r1.xzxx, r1.yyyy
mad r1.x, -r0.x, r1.x, l(1.000000e+000)
dp3 r1.z, r8.xyzx, r5.xyzx
add_sat r1.z, r1.z, l(1.000000e-008)
log r1.z, r1.z
mul r1.z, r1.z, r4.w
exp r1.z, r1.z
mul r1.y, r1.y, r1.z
mul r0.y, r0.y, r1.y
mul r0.x, r0.x, r0.y
mul r0.x, r2.w, r0.x
mul r0.y, r1.x, r2.w
mul r1.x, r3.x, cb12[8].z
mul r0.x, r0.x, cb12[8].z
mad r1.xyz, r2.xyzx, r0.wwww, r1.xxxx
mul r1.xyz, r7.xywx, r1.xyzx
mad r0.xyw, r2.xyxz, r0.yyyy, r0.xxxx
mul r0.xyw, r7.xyxw, r0.xyxw
mul r0.xyw, r1.wwww, r0.xyxw
mad r0.xyz, r1.xyzx, r0.zzzz, r0.xywx
mul o0.xyz, r0.xyzx, cb2[14].zzzz
mov o0.w, l(1.000000)
ret