// MANUALLY DUMPED [ShaderRegexDecals2] Temporal AO fixed manually. Some NPC clothes.
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v1.3.16 on Tue Jun 08 20:27:02 2021
//
//
// Note: shader requires additional functionality:
//       Early depth-stencil
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                10   xyzw        0     NONE   float   xyz
// TEXCOORD                11   xyzw        1     NONE   float   xyzw
// COLOR                    0   xyzw        2     NONE   float   xy
// TEXCOORD                 0   xy          3     NONE   float   xy
// TEXCOORD                 1   xy          4     NONE   float   xy
// TEXCOORD                 2   xy          5     NONE   float
// TEXCOORD                 3   xy          6     NONE   float
// TEXCOORD                 4   xy          7     NONE   float   xy
// TEXCOORD                 5   xy          8     NONE   float   x
// TEXCOORD                12   x           9     NONE    uint
// SV_IsFrontFace           0    y          9    FFACE    uint
// VELOCITY_PREV_POS        0   xyzw       10     NONE   float   xy w
// TEXCOORD                 9   xyz        11     NONE   float   xyz
// SV_POSITION              0   xyzw       12      POS   float   xyzw
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xy          0   TARGET    uint   xy
// SV_Target                1   x           1   TARGET    uint   x
// SV_Target                2   xy          2   TARGET   float   xy
//
ps_5_0
dcl_globalFlags refactoringAllowed | forceEarlyDepthStencil
dcl_constantbuffer cb0[60], immediateIndexed
dcl_constantbuffer cb1[9], immediateIndexed
dcl_constantbuffer cb2[15], immediateIndexed
dcl_constantbuffer cb3[51], dynamicIndexed
dcl_constantbuffer cb4[3], immediateIndexed
dcl_constantbuffer cb5[82], immediateIndexed
dcl_constantbuffer cb13[35], 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_sampler s6, mode_default
dcl_sampler s7, mode_default
dcl_sampler s8, mode_default
dcl_sampler s9, mode_default
dcl_sampler s10, mode_default
dcl_sampler s11, mode_default
dcl_sampler s12, mode_default
dcl_sampler s13, mode_default
dcl_sampler s14, 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_texture2d (float,float,float,float) t6
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) t10
dcl_resource_texture2d (float,float,float,float) t11
dcl_resource_texture2d (float,float,float,float) t12
dcl_resource_texture2d (float,float,float,float) t13
dcl_resource_texture2d (float,float,float,float) t14
dcl_resource_texture2d (float,float,float,float) t15
dcl_resource_texture2d (float,float,float,float) t16
dcl_resource_texture2d (float,float,float,float) t17
dcl_resource_texture2d (float,float,float,float) t18
dcl_resource_texture2d (float,float,float,float) t19
dcl_input_ps linear centroid v0.xyz
dcl_input_ps linear centroid v1.xyzw
dcl_input_ps linear v2.xy
dcl_input_ps linear v3.xy
dcl_input_ps linear v4.xy
dcl_input_ps linear v7.xy
dcl_input_ps linear v8.x
dcl_input_ps linear v10.xyw
dcl_input_ps linear v11.xyz
dcl_input_ps_siv linear noperspective v12.xyzw, position
dcl_output o0.xy
dcl_output o1.x
dcl_output o2.xy
dcl_temps 31
dcl_resource_texture2d (float,float,float,float) t125
dcl_resource_texture1d (float,float,float,float) t120
mul r0.xyz, v0.yzxy, v1.zxyz
mad r0.xyz, v1.yzxy, v0.zxyz, -r0.xyzx
mul r0.xyz, r0.xyzx, v1.wwww
add r1.xy, v12.xyxx, -cb1[1].xyxx

ld_indexable(texture2d)(float,float,float,float) r18.xyzw, l(0, 0, 0, 0), t125.xyzw
ld_indexable(texture2d)(float,float,float,float) r17.xyzw, l(2, 0, 0, 0), t125.xyzw
ld_indexable(texture1d)(float,float,float,float) r16.xyzw, l(10, 0, 0, 0), t120.xyzw

mul r20.xyzw, v12.yyyy, cb0[37].xyzw
mad r20.xyzw, v12.xxxx, cb0[36].xyzw, r20.xyzw
mad r20.xyzw, v12.zzzz, cb0[38].xyzw, r20.xyzw
add r20.xyzw, r20.xyzw, cb0[39].xyzw

mul r18.w, cb13[2].x, l(0.5)
mul r18.w, r18.w, r16.x
//mad r1.x, -r18.x, r18.w, r1.x
//mul r18.w, cb13[2].x, l(0.5)
//mul r18.w, r18.w, r16.x
//mul r18.w, r18.w, r18.y
//mul r18.w, r18.w, r20.w
//mad r1.x, r18.x, r18.w, r1.x

mad r1.xy, r1.xyxx, cb1[2].zwzz, l(-0.500000, -0.500000, 0.000000, 0.000000)
mul r1.xy, r1.xyxx, v12.wwww

mov r1.z, v12.w

mov r19.x, v12.x
mul r20.xyzw, v12.yyyy, cb0[37].xyzw
mad r20.xyzw, r19.xxxx, cb0[36].xyzw, r20.xyzw
mad r20.xyzw, v12.zzzz, cb0[38].xyzw, r20.xyzw
add r20.xyzw, r20.xyzw, cb0[39].xyzw
mul r18.w, cb13[2].x, l(0.5)
mul r18.w, r18.w, r16.x
mad r19.x, -r18.x, r18.w, r19.x

mul r30.xyzw, v12.yyyy, cb0[37].xyzw
mad r30.xyzw, r19.xxxx, cb0[36].xyzw, r30.xyzw
mad r30.xyzw, v12.zzzz, cb0[38].xyzw, r30.xyzw
add r30.xyzw, r30.xyzw, cb0[39].xyzw
div r30.xyz, r30.zxyz, r30.wwww

mul r18.w, cb13[2].x, l(0.5)
mul r18.w, r18.w, r16.x
mul r18.w, r18.w, r18.y
mul r18.w, r18.w, r20.w
mad r19.x, r18.x, r18.w, r19.x
mul r2.xyzw, v12.yyyy, cb0[37].xyzw
mad r2.xyzw, r19.xxxx, cb0[36].xyzw, r2.xyzw
mad r2.xyzw, v12.zzzz, cb0[38].xyzw, r2.xyzw
add r2.xyzw, r2.xyzw, cb0[39].xyzw
div r2.xyz, r2.zxyz, r2.wwww
add r3.xyz, v11.xyzx, -cb0[56].xyzx
dp3 r0.w, -r30.xyzx, -r30.xyzx
rsq r0.w, r0.w
mul r4.xyz, r0.wwww, -r30.yzxy
mul r5.xy, v3.xyxx, cb5[2].xyxx
sample_indexable(texture2d)(float,float,float,float) r5.zw, r5.xyxx, t0.zwxy, s2
add r5.zw, r5.zzzw, l(0.000000, 0.000000, -0.500000, -0.500000)
add r6.xy, r5.zwzz, r5.zwzz
dp2 r0.w, r6.xyxx, r6.xyxx
add r0.w, -r0.w, l(1.000000)
max r0.w, r0.w, l(0.000000)
sqrt r6.z, r0.w
add r7.xyz, r6.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000)
mul r5.zw, v3.xxxy, cb5[4].xxxy
sample_indexable(texture2d)(float,float,float,float) r8.xyz, r5.zwzz, t1.xyzw, s3
add r8.xyw, r8.xyxz, l(-0.500000, -0.500000, 0.000000, -0.500000)
mul r5.zw, r8.xxxy, cb5[64].xxxx
add r9.xy, r5.zwzz, r5.zwzz
dp2 r0.w, r9.xyxx, r9.xyxx
add r0.w, -r0.w, l(1.000000)
max r0.w, r0.w, l(0.000000)
sqrt r9.z, r0.w
add r9.xyz, r9.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
mad r9.xyz, r9.xyzx, l(-1.000000, -1.000000, 1.000000, 0.000000), l(1.000000, 1.000000, -1.000000, 0.000000)
dp3 r0.w, r7.xyzx, r9.xyzx
mul r9.xyz, r7.zzzz, r9.xyzx
mad r7.xyz, r7.xyzx, r0.wwww, -r9.xyzx
sample_indexable(texture2d)(float,float,float,float) r9.xyz, r5.xyxx, t2.xywz, s0
add r5.zw, r9.xxxy, l(0.000000, 0.000000, -0.500000, -0.500000)
mul_sat r5.zw, r5.zzzw, l(0.000000, 0.000000, 5.000000, 5.000000)
add r9.xyw, r6.xyxz, -r7.xyxz
mad r7.xyz, r5.zzzz, r9.xywx, r7.xyzx
add r9.xyw, r6.xyxz, -r7.xyxz
mad r7.xyz, r5.wwww, r9.xywx, r7.xyzx
add r7.xyz, r7.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000)
mul r8.xy, v4.xyxx, cb5[6].xyxx
deriv_rtx_coarse r9.xyw, r2.yzyx
deriv_rty_coarse r2.xyz, r2.xyzx
resinfo_indexable(texture2d)(float,float,float,float)_uint r10.xy, l(0), t3.xyzw
utof r10.xy, r10.xyxx
div r11.xy, l(1.000000, 1.000000, 1.000000, 1.000000), r10.xyxx
sample_indexable(texture2d)(float,float,float,float) r0.w, r8.xyxx, t3.yzwx, s1
mov r11.z, l(0)
mad r11.xyzw, v4.xyxy, cb5[6].xyxy, r11.xzzy
sample_indexable(texture2d)(float,float,float,float) r10.z, r11.xyxx, t3.zwxy, s1
sample_indexable(texture2d)(float,float,float,float) r10.w, r11.zwzz, t3.zwyx, s1
add r10.zw, r0.wwww, -r10.zzzw
mul r10.xy, r10.xyxx, -cb5[64].yyyy
mul r10.xy, r10.xyxx, r10.zwzz
deriv_rtx_coarse r10.zw, r8.xxxy
mul r10.zw, r10.zzzw, r10.xxxy
add r0.w, r10.w, r10.z
deriv_rty_coarse r10.zw, r8.xxxy
mul r10.xy, r10.zwzz, r10.xyxx
add r1.w, r10.y, r10.x
mul r10.xyz, r2.xyzx, v1.yzxy
mad r2.xyz, r2.zxyz, v1.zxyz, -r10.xyzx
mul r10.xyz, r9.ywxy, v1.zxyz
mad r10.xyz, v1.yzxy, r9.wxyw, -r10.xyzx
mul r10.xyz, r1.wwww, r10.xyzx
mad r10.xyz, r2.xyzx, r0.wwww, r10.xyzx
dp3 r0.w, r9.xywx, r2.xyzx
div r2.xyz, r10.xyzx, r0.wwww
add r2.xyz, -r2.xyzx, v1.xyzx
dp3 r0.w, r2.xyzx, r2.xyzx
rsq r0.w, r0.w
mul r2.xyz, r0.wwww, r2.xyzx
dp3 r10.x, v0.xyzx, r2.xyzx
dp3 r10.y, r0.xyzx, r2.xyzx
dp3 r10.z, v1.xyzx, r2.xyzx
add r2.xyz, r10.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
mad r2.xyz, r2.xyzx, l(-1.000000, -1.000000, 1.000000, 0.000000), l(1.000000, 1.000000, -1.000000, 0.000000)
dp3 r0.w, r7.xyzx, r2.xyzx
mul r2.xyz, r7.zzzz, r2.xyzx
mad r2.xyz, r7.xyzx, r0.wwww, -r2.xyzx
sample_indexable(texture2d)(float,float,float,float) r7.xy, r8.xyxx, t3.xwyz, s4
mad_sat r0.w, v4.y, l(999.000000), l(1.000000)
mul r1.w, r0.w, r7.y
add r9.xyw, -r2.xyxz, r10.xyxz
mad r2.xyz, r1.wwww, r9.xywx, r2.xyzx
add r9.xyw, r2.xyxz, l(0.000000, 0.000000, 0.000000, 1.000000)
mad r7.zw, v3.xxxy, cb5[8].xxxy, cb5[9].xxxy
sample_indexable(texture2d)(float,float,float,float) r10.xyz, r7.zwzz, t4.xyzw, s2
mad r10.xyz, r10.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
mad r10.xyz, r10.xyzx, l(0.500000, 0.500000, 1.000000, 0.000000), l(1.000000, 1.000000, 1.000000, 0.000000)
mad r10.xyz, r10.xyzx, l(-1.000000, -1.000000, 1.000000, 0.000000), l(1.000000, 1.000000, -1.000000, 0.000000)
dp3 r2.w, r9.xywx, r10.xyzx
mul r10.xyz, r9.wwww, r10.xyzx
mad r9.xyw, r9.xyxw, r2.wwww, -r10.xyxz
add r2.w, cb5[65].z, cb5[65].z
div r2.w, l(1.000000, 1.000000, 1.000000, 1.000000), r2.w
mul r3.w, v2.x, cb5[65].w
max r3.w, |r3.w|, l(0.000001)
log r3.w, r3.w
mul r3.w, r3.w, cb5[66].x
exp r3.w, r3.w
add r4.w, r3.w, l(-1.000000)
dp2 r6.w, r4.wwww, cb5[65].zzzz
add r6.w, r3.w, r6.w
mul r6.w, r2.w, r6.w
mad r7.zw, v3.xxxy, cb5[12].xxxy, cb5[13].xxxy
sample_indexable(texture2d)(float,float,float,float) r10.xyz, r7.zwzz, t5.xyzw, s0
mad_sat r2.w, r2.w, r10.x, -r6.w
add r2.w, -r2.w, l(1.000000)
add r6.w, cb5[66].w, cb5[66].w
div r6.w, l(1.000000, 1.000000, 1.000000, 1.000000), r6.w
dp2 r4.w, r4.wwww, cb5[66].wwww
add r3.w, r3.w, r4.w
mul r3.w, r3.w, r6.w
add r4.w, r10.x, l(0.200000)
mad_sat r3.w, r6.w, r4.w, -r3.w
add r3.w, -r3.w, l(1.000000)
mul r3.w, r3.w, cb5[67].x
mul_sat r2.w, r2.w, r3.w
add r9.xyw, -r2.xyxz, r9.xyxw
mad r2.xyz, r2.wwww, r9.xywx, r2.xyzx
add r9.xyw, r2.xyxz, l(0.000000, 0.000000, 0.000000, 1.000000)
sample_indexable(texture2d)(float,float,float,float) r11.xyz, v3.xyxx, t6.xyzw, s5
add r11.xyzw, r11.xyzz, l(-0.500000, -0.500000, -0.250000, -0.500000)
add r12.xy, r11.xyxx, r11.xyxx
dp2 r4.w, r12.xyxx, r12.xyxx
add r4.w, -r4.w, l(1.000000)
max r4.w, r4.w, l(0.000000)
sqrt r12.z, r4.w
add r12.xyz, r12.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
mad r12.xyz, r12.xyzx, l(-1.000000, -1.000000, 1.000000, 0.000000), l(1.000000, 1.000000, -1.000000, 0.000000)
dp3 r4.w, r9.xywx, r12.xyzx
mul r12.xyz, r9.wwww, r12.xyzx
mad r9.xyw, r9.xyxw, r4.wwww, -r12.xyxz
mul r4.w, r11.z, v8.x
mul_sat r4.w, r4.w, l(6.000000)
add r9.xyw, -r2.xyxz, r9.xyxw
mad r2.xyz, r4.wwww, r9.xywx, r2.xyzx
mul r7.zw, v3.xxxy, cb5[15].xxxy
sample_b_indexable(texture2d)(float,float,float,float) r9.xyw, r7.zwzz, t7.xywz, s6, l(-1.000000)
add r11.xyz, r9.xywx, l(-0.500000, -0.500000, -0.500000, 0.000000)
add r12.xy, r11.xyxx, r11.xyxx
dp2 r6.w, r12.xyxx, r12.xyxx
add r6.w, -r6.w, l(1.000000)
max r6.w, r6.w, l(0.000000)
sqrt r12.z, r6.w
max r13.xyz, |v7.yxyy|, l(0.000001, 0.000001, 0.000001, 0.000000)
log r13.xyz, r13.xyzx
mul r13.xyz, r13.xyzx, l(0.250000, 0.250000, 0.250000, 0.000000)
exp r13.xyz, r13.xyzx
mul r7.zw, r13.xxxy, l(0.000000, 0.000000, 0.765000, 1.110000)
add r12.xyz, -r2.xyzx, r12.xyzx
mad r2.xyz, r7.zzzz, r12.xyzx, r2.xyzx
mad r8.xy, v3.xyxx, cb5[17].xyxx, -cb5[19].xyxx
add r8.xy, r8.xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
frc r6.w, cb5[67].y
mul r6.w, r6.w, l(6.28318548)
sincos r9.x, r10.x, r6.w
mov r12.x, -r9.x
mov r12.y, r10.x
dp2 r11.x, r8.yxyy, r12.xyxx
mov r12.z, r9.x
dp2 r11.y, r8.yxyy, r12.yzyy
add r8.xy, r11.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
sample_indexable(texture2d)(float,float,float,float) r12.xyzw, r8.xyxx, t8.xyzw, s7
mad r12.xyz, r12.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
mul r6.w, r10.z, cb5[67].z
mul_sat r6.w, r6.w, cb5[67].w
mul r9.x, r12.w, cb5[68].x
add r9.y, -cb5[68].z, cb5[68].y
mad r9.x, r9.x, r9.y, cb5[68].z
mul r6.w, r6.w, r9.x
add r9.x, -v2.y, l(1.000000)
mad r9.x, cb5[68].w, r9.x, v2.y
mul r6.w, r6.w, r9.x
add r12.xyz, -r2.xyzx, r12.xyzx
mad r2.xyz, r6.wwww, r12.xyzx, r2.xyzx
mad r2.xyz, r2.xyzx, cb1[7].wwww, cb1[7].xyzx
dp3 r9.x, r2.xyzx, r2.xyzx
rsq r9.x, r9.x
mul r2.xyz, r2.xyzx, r9.xxxx
mul r12.xyz, r0.xyzx, r2.yyyy
mad r12.xyz, r2.xxxx, v0.xyzx, r12.xyzx
mad r2.xyz, r2.zzzz, v1.xyzx, r12.xyzx
dp3 r9.x, r2.xyzx, r2.xyzx
rsq r9.x, r9.x
mul r2.xyz, r2.xyzx, r9.xxxx
dp3 r9.x, r4.xyzx, r2.xyzx
mul_sat r9.y, r9.x, l(0.500000)
add r9.y, -r9.y, l(1.000000)
ftou r10.x, cb5[69].z
iadd r10.x, l(2), r10.x
add r10.w, cb3[0].x, cb3[r10.x + 0].x
mad r9.y, r9.y, r9.y, l(-1.000000)
mad r9.y, r10.w, r9.y, l(1.000000)
mul r0.xyz, r0.xyzx, r6.yyyy
mad r0.xyz, r6.xxxx, v0.xyzx, r0.xyzx
mad r0.xyz, r6.zzzz, v1.xyzx, r0.xyzx
dp3_sat r0.x, r4.xyzx, r0.xyzx
add r0.y, -r0.x, l(1.000000)
max r0.y, r0.y, l(0.000001)
mul r0.y, r0.y, r0.y
mul r0.z, r0.y, r0.y
mul r0.y, r0.z, r0.y
mul r0.x, r0.x, l(0.800000)
mad r0.x, r0.y, l(0.800000), -r0.x
add r0.x, r0.x, l(1.000000)
sample_indexable(texture2d)(float,float,float,float) r4.xyz, r5.xyxx, t9.xyzw, s1
add r0.y, cb5[71].x, l(-1.000000)
div r0.y, r0.y, cb5[70].w
ge r0.z, r0.y, -r0.y
frc r0.y, |r0.y|
movc r0.y, r0.z, r0.y, -r0.y
mul r0.y, r0.y, cb5[70].w
eq r0.z, r0.y, l(0.000000)
if_nz r0.z
  mad r6.xy, v3.xyxx, cb5[25].xyxx, -cb5[27].xyxx
  add r6.xy, r6.xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
  frc r0.z, cb5[69].w
  mul r0.z, r0.z, l(6.28318548)
  sincos r11.x, r12.x, r0.z
  mov r14.x, -r11.x
  mov r14.y, r12.x
  dp2 r12.x, r6.yxyy, r14.xyxx
  mov r14.z, r11.x
  dp2 r12.y, r6.yxyy, r14.yzyy
  add r6.xy, r12.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
  sample_indexable(texture2d)(float,float,float,float) r6.xyz, r6.xyxx, t10.xyzw, s8
else
  eq r0.z, r0.y, l(1.000000)
  if_nz r0.z
    mad r11.xy, v3.xyxx, cb5[29].xyxx, -cb5[31].xyxx
    add r11.xy, r11.xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
    frc r0.z, cb5[70].x
    mul r0.z, r0.z, l(6.28318548)
    sincos r12.x, r13.x, r0.z
    mov r14.x, -r12.x
    mov r14.y, r13.x
    dp2 r13.x, r11.yxyy, r14.xyxx
    mov r14.z, r12.x
    dp2 r13.y, r11.yxyy, r14.yzyy
    add r11.xy, r13.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
    sample_indexable(texture2d)(float,float,float,float) r6.xyz, r11.xyxx, t11.xyzw, s9
  else
    eq r0.z, r0.y, l(2.000000)
    if_nz r0.z
      mad r11.xy, v3.xyxx, cb5[33].xyxx, -cb5[35].xyxx
      add r11.xy, r11.xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
      frc r0.z, cb5[70].y
      mul r0.z, r0.z, l(6.28318548)
      sincos r12.x, r13.x, r0.z
      mov r14.x, -r12.x
      mov r14.y, r13.x
      dp2 r13.x, r11.yxyy, r14.xyxx
      mov r14.z, r12.x
      dp2 r13.y, r11.yxyy, r14.yzyy
      add r11.xy, r13.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
      sample_indexable(texture2d)(float,float,float,float) r6.xyz, r11.xyxx, t12.xyzw, s10
    else
      eq r0.y, r0.y, l(3.000000)
      if_nz r0.y
        mad r0.yz, v3.xxyx, cb5[37].xxyx, -cb5[39].xxyx
        add r0.yz, r0.yyzy, l(0.000000, -0.500000, -0.500000, 0.000000)
        frc r11.x, cb5[70].z
        mul r11.x, r11.x, l(6.28318548)
        sincos r11.x, r12.x, r11.x
        mov r14.x, -r11.x
        mov r14.y, r12.x
        dp2 r12.x, r0.zyzz, r14.xyxx
        mov r14.z, r11.x
        dp2 r12.y, r0.zyzz, r14.yzyy
        add r0.yz, r12.xxyx, l(0.000000, 0.500000, 0.500000, 0.000000)
        sample_indexable(texture2d)(float,float,float,float) r6.xyz, r0.yzyy, t13.xyzw, s11
      else
        mov r6.xyz, l(0,0,0,0)
      endif
    endif
  endif
endif
add r6.xyz, r6.xyzx, l(-0.500000, -0.500000, -0.500000, 0.000000)
mul r6.xyz, r4.xyzx, r6.xyzx
mad_sat r6.xyz, r6.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), r4.xyzx
mad r0.y, -r9.z, cb5[71].y, l(1.000000)
add r6.xyz, -r4.xyzx, r6.xyzx
mad r6.xyz, r0.yyyy, r6.xyzx, r4.xyzx
mul r0.xyz, r0.xxxx, r6.xyzx
mad r0.xyz, cb3[r10.x + 0].yyyy, r0.xyzx, r9.yyyy
mul r12.xyz, r6.xyzx, cb5[71].zzzz
mul r13.xyw, r0.xyxz, r12.xyxz
sample_indexable(texture2d)(float,float,float,float) r14.xyzw, r5.xyxx, t14.xyzw, s0
mad r0.xyz, -r0.xyzx, r12.xyzx, r6.xyzx
mad r0.xyz, r14.zzzz, r0.xyzx, r13.xywx
mad r5.xy, v3.xyxx, cb5[41].xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
frc r6.x, cb5[71].w
mul r6.x, r6.x, l(6.28318548)
sincos r6.x, r11.x, r6.x
mov r12.x, -r6.x
mov r12.y, r11.x
dp2 r11.x, r5.yxyy, r12.xyxx
mov r12.z, r6.x
dp2 r11.y, r5.yxyy, r12.yzyy
add r5.xy, r11.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
sample_indexable(texture2d)(float,float,float,float) r12.xyzw, r5.xyxx, t15.xyzw, s12
mad r6.xyz, r0.xyzx, r12.xyzx, -r0.xyzx
mul r6.xyz, r6.xyzx, r12.wwww
mul r6.xyz, r6.xyzx, cb5[72].xxxx
mul r5.xy, v3.xyxx, l(1.200000, 1.200000, 0.000000, 0.000000)
mad_sat r9.y, v3.y, l(999.000000), l(1.000000)
mul r9.y, r9.y, r14.w
mad r0.xyz, r9.yyyy, r6.xyzx, r0.xyzx
mul r6.x, cb5[72].y, l(6.28318548)
dp3 r6.y, l(0.577350259, 0.577350259, 0.577350259, 0.000000), cb5[43].xyzx
mad r12.xyz, -r6.yyyy, l(0.577350259, 0.577350259, 0.577350259, 0.000000), cb5[43].xyzx
mul r13.xyw, r12.zxzy, l(0.577350259, 0.577350259, 0.000000, 0.577350259)
mad r13.xyw, r12.zxzy, l(0.577350259, 0.577350259, 0.000000, 0.577350259), -r13.wxwy
sincos r6.x, r11.x, r6.x
mul r13.xyw, r6.xxxx, r13.xyxw
mad r12.xyz, r12.xyzx, r11.xxxx, r13.xywx
mad r12.xyz, r6.yyyy, l(0.577350259, 0.577350259, 0.577350259, 0.000000), r12.xyzx
mul r0.xyz, r0.xyzx, r12.xyzx
dp3 r6.y, l(0.577350259, 0.577350259, 0.577350259, 0.000000), cb5[45].xyzx
mad r12.xyz, -r6.yyyy, l(0.577350259, 0.577350259, 0.577350259, 0.000000), cb5[45].xyzx
mul r13.xyw, r12.zxzy, l(0.577350259, 0.577350259, 0.000000, 0.577350259)
mad r13.xyw, r12.zxzy, l(0.577350259, 0.577350259, 0.000000, 0.577350259), -r13.wxwy
mul r13.xyw, r6.xxxx, r13.xyxw
mad r12.xyz, r12.xyzx, r11.xxxx, r13.xywx
mad r12.xyz, r6.yyyy, l(0.577350259, 0.577350259, 0.577350259, 0.000000), r12.xyzx
mad r12.xyz, r4.xyzx, r12.xyzx, -r0.xyzx
mad r0.xyz, r5.zzzz, r12.xyzx, r0.xyzx
dp3 r6.y, l(0.577350259, 0.577350259, 0.577350259, 0.000000), cb5[47].xyzx
mad r12.xyz, -r6.yyyy, l(0.577350259, 0.577350259, 0.577350259, 0.000000), cb5[47].xyzx
mul r13.xyw, r12.zxzy, l(0.577350259, 0.577350259, 0.000000, 0.577350259)
mad r13.xyw, r12.zxzy, l(0.577350259, 0.577350259, 0.000000, 0.577350259), -r13.wxwy
mul r13.xyw, r6.xxxx, r13.xyxw
mad r12.xyz, r12.xyzx, r11.xxxx, r13.xywx
mad r6.xyz, r6.yyyy, l(0.577350259, 0.577350259, 0.577350259, 0.000000), r12.xyzx
mad r4.xyz, r4.xyzx, r6.xyzx, -r0.xyzx
mad r0.xyz, r5.wwww, r4.xyzx, r0.xyzx
add r4.xyz, r7.xxyx, l(-0.500000, -0.250000, -0.010000, 0.000000)
mul r4.x, r4.x, cb5[64].y
mad_sat r0.xyz, r0.xyzx, r4.xxxx, r0.xyzx
add r6.xyz, cb5[50].xyzx, -cb5[51].xyzx
mad r6.xyz, r5.zzzz, r6.xyzx, cb5[51].xyzx
add r12.xyz, -r6.xyzx, cb5[53].xyzx
mad r6.xyz, r5.wwww, r12.xyzx, r6.xyzx
mad r6.xyz, r7.xxxx, r6.xyzx, -r0.xyzx
mad r0.xyz, r1.wwww, r6.xyzx, r0.xyzx
mad r6.xy, v3.xyxx, cb5[72].zzzz, l(-0.500000, -0.500000, 0.000000, 0.000000)
frc r1.w, cb5[72].w
mul r1.xyzw, r1.xyzw, l(2.000000, -2.000000, 1.000000, 6.28318548)
sincos r4.x, r7.x, r1.w
mov r12.x, -r4.x
mov r12.y, r7.x
dp2 r11.y, r6.yxyy, r12.xyxx
mov r12.z, r4.x
dp2 r11.x, r6.yxyy, r12.yzyy
add r6.xy, r11.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
add r6.xy, r6.xyxx, -cb5[57].xyxx
sample_indexable(texture2d)(float,float,float,float) r1.w, r6.xyxx, t16.xywz, s1
add r4.x, r14.x, l(-1.000000)
mad r6.x, cb5[73].z, r4.x, l(1.000000)
mul r1.w, r1.w, r6.x
mul r6.x, r1.w, cb5[73].w
add r12.xyz, -r0.xyzx, cb5[55].xyzx
mad r0.xyz, r6.xxxx, r12.xyzx, r0.xyzx
mad r6.xy, v3.xyxx, cb5[74].xxxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
frc r6.z, cb5[74].y
mul r6.z, r6.z, l(6.28318548)
sincos r7.x, r11.x, r6.z
mov r12.x, -r7.x
mov r12.y, r11.x
dp2 r11.y, r6.yxyy, r12.xyxx
mov r12.z, r7.x
dp2 r11.x, r6.yxyy, r12.yzyy
add r6.xy, r11.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
add r6.xy, r6.xyxx, -cb5[61].xyxx
sample_indexable(texture2d)(float,float,float,float) r6.xy, r6.xyxx, t16.xyzw, s1
mad r9.yz, cb5[75].xxzx, r4.xxxx, l(0.000000, 1.000000, 1.000000, 0.000000)
mul r6.xy, r6.yxyy, r9.yzyy
mul r9.yz, r6.xxyx, cb5[75].yywy
add r12.xyz, -r0.xyzx, cb5[59].xyzx
mad r0.xyz, r9.yyyy, r12.xyzx, r0.xyzx
add r12.xyz, -r0.xyzx, cb5[63].xyzx
mad r0.xyz, r9.zzzz, r12.xyzx, r0.xyzx
add r4.x, cb3[0].x, cb3[34].x
mov r12.x, |r4.x|
mov r12.yz, |cb3[34].yyzy|
max r12.xyz, r12.xyzx, l(0.000001, 0.000001, 0.000001, 0.000000)
log r12.xyz, r12.xyzx
mul r12.xyz, r12.xyzx, l(2.200000, 2.200000, 2.200000, 0.000000)
exp r12.xyz, r12.xyzx
add r4.x, cb3[0].x, cb3[35].x
mov r15.x, |r4.x|
mov r15.yz, |cb3[35].yyzy|
max r13.xyw, r15.xyxz, l(0.000001, 0.000001, 0.000000, 0.000001)
log r13.xyw, r13.xyxw
mul r13.xyw, r13.xyxw, l(2.200000, 2.200000, 0.000000, 2.200000)
exp r13.xyw, r13.xyxw
mul_sat r3.w, r10.y, r3.w
add r13.xyw, -r12.xyxz, r13.xyxw
mad r12.xyz, r3.wwww, r13.xywx, r12.xyzx
sample_indexable(texture2d)(float,float,float,float) r13.xyw, r5.xyxx, t17.xywz, s13
mul r13.xyw, r13.xyxw, l(0.850000, 0.850000, 0.000000, 0.850000)
max r13.xyw, |r13.xyxw|, l(0.000001, 0.000001, 0.000000, 0.000001)
log r13.xyw, r13.xyxw
mul r13.xyw, r13.xyxw, l(1.900000, 1.900000, 0.000000, 1.900000)
exp r13.xyw, r13.xyxw
mad r12.xyz, r12.xyzx, r13.xywx, -r0.xyzx
mad r0.xyz, r2.wwww, r12.xyzx, r0.xyzx
add r12.xyz, -r0.xyzx, l(0.100000, 0.078000, 0.050000, 0.000000)
mad r0.xyz, r4.wwww, r12.xyzx, r0.xyzx
mul r12.xyz, r0.xyzx, cb5[69].xxxx
mul r5.xy, v3.xyxx, l(3.670000, 3.670000, 0.000000, 0.000000)
sample_b_indexable(texture2d)(float,float,float,float) r4.x, r5.xyxx, t18.xyzw, s14, l(1.000000)
add r4.x, r4.x, l(0.500000)
mad r4.x, r4.x, l(0.350000), r7.w
mul_sat r4.z, r4.z, l(999.000000)
mad r4.y, r4.y, l(2.000000), -r4.z
add_sat r4.y, r4.y, l(1.000000)
add r4.y, -r4.y, l(1.000000)
max r4.y, r4.y, l(0.000001)
mul r4.y, r4.y, r4.y
mul r4.y, r4.y, l(0.500000)
mad r0.w, r0.w, -r4.y, l(1.000000)
add r4.y, -r8.z, l(1.000000)
max r4.y, |r4.y|, l(0.000001)
mul r4.y, r4.y, r4.y
mad r4.y, -r4.y, l(0.250000), l(1.000000)
add r4.z, -r4.y, l(1.000000)
mad r4.y, r5.z, r4.z, r4.y
add r4.z, -r4.y, l(1.000000)
mad r4.y, r5.w, r4.z, r4.y
mul r0.w, r0.w, r4.y
mad r0.w, -r0.w, r0.w, l(1.000000)
mad r4.x, r0.w, cb5[76].x, r4.x
max r4.x, r4.x, l(0.900000)
mul r4.y, r4.x, r4.x
mad r4.x, -r4.x, r4.x, l(1.000000)
mad r0.xyz, -cb5[69].xxxx, r0.xyzx, r0.xyzx
mad r0.xyz, r4.xxxx, r0.xyzx, r12.xyzx
mul r4.x, r11.z, l(0.500000)
mad r4.z, cb5[76].y, cb5[76].z, -cb5[76].y
mad r4.x, r4.x, r4.z, cb5[76].y
mad r4.z, -r13.z, l(0.255000), l(1.000000)
sample_b_indexable(texture2d)(float,float,float,float) r5.x, r5.xyxx, t7.xyzw, s6, l(1.000000)
add r5.x, r5.x, l(0.500000)
mad r4.z, r5.x, l(0.350000), r4.z
mad r0.w, r0.w, cb5[77].y, r4.z
max r0.w, r0.w, l(0.900000)
add r0.w, r0.w, r9.w
max r0.w, |r0.w|, l(0.000001)
mul r0.w, r0.w, r0.w
mul r4.z, r0.w, cb5[77].x
mad r5.x, cb5[76].w, r7.z, -cb5[76].w
mad_sat r4.z, r4.z, r5.x, cb5[76].w
add r11.xyz, -r0.xyzx, r4.xxxx
mad_sat r0.xyz, r4.zzzz, r11.xyzx, r0.xyzx
mad r0.xyz, r6.wwww, -r0.xyzx, r0.xyzx
sqrt r11.xyz, r0.xyzx
mov_sat r4.x, r9.x
mul r4.x, r4.x, -cb4[1].w
exp r4.x, r4.x
add r4.x, r4.x, r4.x
min r4.x, r4.x, l(1.000000)
mov_sat r4.z, v1.z
add r4.z, -r4.z, l(1.000000)
mad r4.z, -r4.z, l(0.500000), l(1.000000)
mul r4.x, r4.z, r4.x
mul r3.y, r3.y, cb2[5].z
mad r3.x, r3.x, cb2[4].z, r3.y
mad r3.x, r3.z, cb2[6].z, r3.x
add r3.x, r3.x, cb2[7].z
add r3.x, r3.x, -cb2[13].z
add r3.y, -cb2[13].z, cb2[14].z
div_sat r3.x, r3.x, r3.y
mul r3.x, r3.x, r4.x
add r12.xyz, cb0[53].xyzx, -cb2[8].xyzx
dp3 r3.y, r12.xyzx, r12.xyzx
sqrt r3.y, r3.y
mul r3.z, cb4[2].x, l(100.000000)
mad r3.y, -cb4[2].y, l(100.000000), r3.y
div_sat r3.y, r3.y, r3.z
mul r3.x, r3.y, r3.x
add r3.y, -cb4[2].z, l(1.000000)
mul r3.y, r3.y, cb4[1].z
mul r3.z, r3.y, r3.x
add r11.xyz, -r0.xyzx, r11.xyzx
mad r0.xyz, r3.zzzz, r11.xyzx, r0.xyzx
mul r0.xyz, r0.xyzx, cb5[22].xyzx
add r3.z, r14.z, -cb3[r10.x + 0].z
mad r3.z, r14.z, r3.z, cb3[r10.x + 0].z
add r4.x, -r3.z, r14.z
mad r3.z, r5.z, r4.x, r3.z
add r4.x, -r3.z, r14.z
mad r3.z, r5.w, r4.x, r3.z
add r4.x, r9.z, r9.y
mad_sat r4.x, r1.w, cb5[73].w, r4.x
add r4.x, -r4.x, l(1.000000)
mul r3.z, r3.z, r4.x
mad r3.z, r2.w, -r3.z, r3.z
mad r3.z, r4.w, -r3.z, r3.z
sample_indexable(texture2d)(float,float,float,float) r8.xyz, r8.xyxx, t19.xyzw, s2
add r4.x, -r3.z, r8.z
mad_sat r11.x, r6.w, r4.x, r3.z
add r3.z, -r9.x, l(1.000000)
mul r4.x, r3.z, r3.z
mul r4.x, r4.x, r4.x
mad r3.z, r3.z, l(0.400000), -r4.x
mad r3.z, r10.w, r3.z, r4.x
add r3.z, r3.z, l(0.250000)
add r4.x, -r3.z, l(0.250000)
mad r3.z, r5.z, r4.x, r3.z
add r4.x, -r3.z, l(0.250000)
mad r3.z, r5.w, r4.x, r3.z
add r4.x, -r3.z, cb5[77].z
mad r3.z, r1.w, r4.x, r3.z
add r4.x, -r3.z, cb5[77].w
mad r3.z, r6.x, r4.x, r3.z
add r4.x, -r3.z, cb5[78].x
mad r3.z, r6.y, r4.x, r3.z
add r4.x, -r10.z, l(1.300000)
mad r3.w, r3.w, r4.x, r10.z
add r4.x, -r3.w, l(1.000000)
mul r4.x, r4.x, l(0.750000)
max r4.x, r4.x, l(0.350000)
min r4.x, r4.x, l(1.000000)
mad r4.x, r4.x, l(0.200000), -r3.z
mad r3.z, r2.w, r4.x, r3.z
add r4.x, -r3.z, l(0.300000)
mad r3.z, r4.w, r4.x, r3.z
add r4.x, -r3.z, cb5[78].y
mul r4.x, r4.x, r4.y
mad r3.z, r7.w, r4.x, r3.z
add r4.x, -r3.z, cb5[78].z
mul r4.x, r0.w, r4.x
mad r3.z, r7.z, r4.x, r3.z
add r4.x, -r3.z, r8.x
mad r3.z, r6.w, r4.x, r3.z
mad_sat r3.z, r3.x, r3.y, r3.z
mul r4.x, r14.y, cb5[78].w
mul r4.z, r4.x, cb3[r10.x + 0].w
mad r4.x, -cb3[r10.x + 0].w, r4.x, r14.y
mad r4.x, r14.z, r4.x, r4.z
add r4.z, -r4.x, r14.y
mad r4.x, r5.z, r4.z, r4.x
add r4.z, -r4.x, r14.y
mad r4.x, r5.w, r4.z, r4.x
add r4.z, -r4.x, cb5[79].x
mad r1.w, r1.w, r4.z, r4.x
add r4.x, -r1.w, cb5[79].y
mad r1.w, r6.x, r4.x, r1.w
add r4.x, -r1.w, cb5[79].z
mad r1.w, r6.y, r4.x, r1.w
mad r3.w, r3.w, l(0.600000), -r1.w
mad r1.w, r2.w, r3.w, r1.w
add r2.w, -r1.w, l(0.900000)
mad r1.w, r4.w, r2.w, r1.w
add r2.w, -r1.w, cb5[79].w
mul r2.w, r2.w, r4.y
mad r1.w, r7.w, r2.w, r1.w
add r2.w, -r1.w, cb5[80].x
mul r0.w, r0.w, r2.w
mad r0.w, r7.z, r0.w, r1.w
add r1.w, -r0.w, r8.y
mad r0.w, r6.w, r1.w, r0.w
mad_sat r0.w, r3.x, r3.y, r0.w
mul r1.w, r8.w, cb5[81].y
mul r1.w, r1.w, l(0.500000)
mad r1.w, r5.z, -r1.w, r1.w
mad r1.w, r5.w, -r1.w, r1.w
mad r1.w, r7.y, -r1.w, r1.w
mad r1.w, r11.w, l(0.500000), r1.w
add r2.w, -r1.w, cb5[81].z
mad r1.w, r6.w, r2.w, r1.w
mul r1.w, r1.w, cb5[81].w
mad_sat r11.y, r0.w, cb1[8].y, cb1[8].x
dp3_sat r4.x, l(0.627403915, 0.329283029, 0.0433130674, 0.000000), r0.xyzx
dp3_sat r4.y, l(0.0690972880, 0.919540405, 0.0113623161, 0.000000), r0.xyzx
dp3_sat r4.z, l(0.0163914394, 0.0880133063, 0.895595253, 0.000000), r0.xyzx
add r0.xy, v1.zzzz, l(1.000000, -0.920000, 0.000000, 0.000000)
add_sat r0.x, r0.x, r0.x
mad r0.x, r0.x, l(-0.100000), l(1.000000)
lt r0.z, l(0.920000), v1.z
mul_sat r0.y, r0.y, l(10.000000)
mad r0.y, r0.y, l(-0.780000), l(0.900000)
movc r0.x, r0.z, r0.y, r0.x
and r0.yz, cb2[14].wwww, l(0, 1, 8, 0)
movc r0.x, r0.y, l(1.000000), r0.x
ieq r0.y, r0.z, l(8)
movc_sat r11.z, r0.y, l(1.000000), r0.x
sqrt r0.xyz, r4.xyzx
mul r0.xyz, r0.xyzx, l(255.000000, 255.000000, 255.000000, 0.000000)
ftou r0.xyz, r0.xyzx
imad r0.x, r0.y, l(256), r0.x
imad r0.x, r0.z, l(0x00010000), r0.x
mul r0.y, r3.z, l(255.000000)
ftou r0.y, r0.y
imad o0.x, r0.y, l(0x01000000), r0.x
mul r0.xyz, r11.xyzx, l(255.000000, 255.000000, 255.000000, 0.000000)
ftou r0.xyz, r0.xyzx
imad r0.x, r0.y, l(256), r0.x
iadd r0.x, r0.x, l(0x00ff0000)
imad o0.y, r0.z, l(0x01000000), r0.x
dp3 r0.x, l(1.000000, 1.000000, 1.000000, 0.000000), |r2.xyzx|
div r0.xy, r2.xyxx, r0.xxxx
add r0.zw, -|r0.yyyx|, l(0.000000, 0.000000, 1.000000, 1.000000)
ge r2.xy, r0.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
movc r0.zw, r2.xxxy, r0.zzzw, -r0.zzzw
ge r2.x, l(0.000000), r2.z
movc r0.xy, r2.xxxx, r0.zwzz, r0.xyxx
mad r0.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
mad r0.xy, r0.xyxx, l(1023.000000, 1023.000000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
ftou r0.xy, r0.xyxx
ishl r0.y, r0.y, l(10)
or r0.x, r0.y, r0.x
mad_sat r0.y, r1.w, l(0.062500), l(0.500000)
mad r0.y, r0.y, l(2046.000000), l(0.500000)
ftou r0.y, r0.y
ishl r0.y, r0.y, l(20)
or o1.x, r0.y, r0.x

ld_indexable(texture2d)(float,float,float,float) r10.xyzw, l(0, 0, 0, 0), t125.xyzw
ge r30.x, r17.x, l(5.0)

//add r28.x, r1.z, -r10.y
//mad r1.x, -r10.x, r28.x, r1.x

div r0.xy, r1.xyxx, r1.zzzz
add r0.xy, r0.xyxx, -cb0[26].xyxx

mov r15.xyw, v10.xyxw
if_nz r30.x
add r28.x, v10.w, -r10.y
mad r15.x, r10.x, r28.x, r15.x
else
add r28.x, v10.w, -r17.y
mad r15.x, r17.x, r28.x, r15.x
endif

div r0.zw, r15.xxxy, v10.wwww
add r0.zw, r0.zzzw, -cb0[59].xxxy
add r0.xy, -r0.zwzz, r0.xyxx
mad r0.xy, r0.xyxx, l(0.249500, 0.249500, 0.000000, 0.000000), l(0.499992371, 0.499992371, 0.000000, 0.000000)
mul r0.y, r0.y, l(32767.500000)
round_ne r0.y, r0.y
add r0.y, r0.y, l(0.500000)
mul r0.z, r0.y, l(0.0000305180438)
mov o2.xy, r0.xzxx
ret
// Approximately 0 instruction slots used
