// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.198 on Mon Oct 21 23:46:29 2024
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                10   xyzw        0     NONE   float   xyz
// TEXCOORD                11   xyzw        1     NONE   float   xyzw
// TEXCOORD                 0   xyzw        2     NONE   float   xy
// PRIMITIVE_ID             0   x           3     NONE    uint   x
// SV_Position              0   xyzw        4      POS   float   xyzw
// 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_constantbuffer CB0[246], immediateIndexed
dcl_constantbuffer CB1[199], dynamicIndexed
dcl_constantbuffer CB2[3069], dynamicIndexed
dcl_constantbuffer CB3[8], immediateIndexed
dcl_constantbuffer CB4[10], 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_resource_structured t0, 16
dcl_resource_structured t1, 16
dcl_resource_texture2d (float,float,float,float) t2
dcl_resource_texture2d (float,float,float,float) t3
dcl_resource_texture3d (float,float,float,float) t4
dcl_resource_texture2d (float,float,float,float) t5
dcl_resource_buffer (float,float,float,float) t6
dcl_resource_buffer (uint,uint,uint,uint) t7
dcl_resource_buffer (uint,uint,uint,uint) t8
dcl_resource_texturecube (float,float,float,float) t9
dcl_resource_texturecubearray (float,float,float,float) t10
dcl_resource_texture2d (float,float,float,float) t11
dcl_resource_texturecube (float,float,float,float) t12
dcl_resource_texture3d (float,float,float,float) t13
dcl_resource_texture3d (uint,uint,uint,uint) t14
dcl_resource_texture2d (float,float,float,float) t15
dcl_resource_structured t16, 16
dcl_resource_texture2d (float,float,float,float) t17
dcl_resource_texture2d (float,float,float,float) t18
dcl_resource_texture3d (float,float,float,float) t19
dcl_resource_texture3d (float,float,float,float) t20
dcl_resource_texture2d (float,float,float,float) t21
dcl_resource_texture2d (float,float,float,float) t22
dcl_resource_raw t23
dcl_resource_structured t24, 4
dcl_resource_texture2darray (uint,uint,uint,uint) t25
dcl_resource_texture2d (float,float,float,float) t26
dcl_resource_texture2d (float,float,float,float) t27
dcl_resource_texture2d (float,float,float,float) t28
dcl_input_ps linear centroid v0.xyz
dcl_input_ps linear centroid v1.xyzw
dcl_input_ps linear v2.xy
dcl_input_ps constant v3.x
dcl_input_ps_siv linear noperspective v4.xyzw, position
dcl_output o0.xyzw
dcl_temps 55
dcl_resource_buffer (float,float,float,float) t125
ld_indexable(buffer)(float,float,float,float) r26.xyzw, l(0, 0, 0, 0), t125.xyzw
ld_indexable(buffer)(float,float,float,float) r46.xyzw, l(2, 0, 0, 0), t125.xyzw
mov r27.x, v4.x
mov r27.y, v4.x
mov r37.xy, v4.xyxx
mul r28.xyzw, v4.yyyy, cb0[49].xyzw
mad r28.xyzw, r27.xxxx, cb0[48].xyzw, r28.xyzw
mad r28.xyzw, v4.zzzz, cb0[50].xyzw, r28.xyzw
add r28.xyzw, r28.xyzw, cb0[51].xyzw
ge r30.w, cb0[129].x, l(20.000000)
if_nz r30.w
  mul r30.x, l(0.500000), cb0[129].x
else
  mul r30.x, l(0.500000), cb1[129].x
endif
mad r30.y, r28.w, r26.y, l(-1.000000)
mul r30.y, r30.y, r30.x
mad r27.x, r26.x, r30.y, r27.x
mad r37.x, r26.x, r30.y, r37.x
mad r27.y, -r26.x, r30.x, r27.y
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, v4.xyxx, -cb0[128].xyxx
mad r1.zw, r1.xxxy, cb0[129].zzzw, l(0.000000, 0.000000, -0.500000, -0.500000)
mul r2.xy, r1.zwzz, v4.wwww
mov r2.z, v4.w
mul r2.xyw, r2.xyxz, l(2.000000, -2.000000, 0.000000, 1.000000)
mul r29.xyzw, v4.yyyy, cb0[49].xyzw
mad r29.xyzw, r27.yyyy, cb0[48].xyzw, r29.xyzw
mad r29.xyzw, v4.zzzz, cb0[50].xyzw, r29.xyzw
add r29.xyzw, r29.xyzw, cb0[51].xyzw
div r29.xyz, r29.xyzx, r29.wwww
mul r3.xyzw, v4.yyyy, cb0[49].xyzw
mad r3.xyzw, r27.xxxx, cb0[48].xyzw, r3.xyzw
mad r3.xyzw, v4.zzzz, cb0[50].xyzw, r3.xyzw
add r3.xyzw, r3.xyzw, cb0[51].xyzw
div r3.xyz, r3.xyzx, r3.wwww
add r4.xyz, r3.xyzx, -cb0[76].xyzx
div r1.zw, r2.xxxy, r2.wwww
mad r1.zw, r1.zzzw, cb0[72].xxxy, cb0[72].wwwz
ge r0.w, cb0[35].w, l(1.000000)
dp3 r2.x, -r29.xyzx, -r29.xyzx
rsq r2.x, r2.x
mul r5.xyz, r2.xxxx, -r29.xyzx
movc r5.xyz, r0.wwww, -cb0[66].xyzx, r5.xyzx
mul r2.xy, v2.xyxx, cb4[1].zwzz
sample_indexable(texture2d)(float,float,float,float) r6.xyzw, r2.xyxx, t26.xyzw, s0
mad r6.xyz, r6.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
mul r6.xy, r6.xyxx, cb4[2].xxxx
dp3 r4.w, r6.xyzx, r6.xyzx
rsq r4.w, r4.w
mul r7.xyz, r4.wwww, r6.xyzx
mad r5.w, r6.z, r4.w, l(1.000000)
imul null, r8.x, v3.x, l(42)
imad r8.y, v3.x, l(42), l(33)
ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r8.z, r8.y, l(0), t0.xxxx
mad r9.xyz, cb0[64].xyzx, l(2097152.000000, 2097152.000000, 2097152.000000, 0.000000), r4.xyzx
ge r8.w, r8.z, l(1.000000)
if_nz r8.w
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r10.xyz, r8.y, l(4), t0.xyzx
  imad r11.xyzw, v3.xxxx, l(42, 42, 42, 42), l(34, 35, 36, 37)
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r12.xyzw, r11.x, l(0), t0.wxzy
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r13.xyzw, r11.y, l(0), t0.yxzw
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r14.xyzw, r11.z, l(0), t0.zxwy
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r11.xyzw, r11.w, l(0), t0.xyzw
  imad r15.xyzw, v3.xxxx, l(42, 42, 42, 42), l(38, 39, 40, 41)
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r16.xyzw, r15.x, l(0), t0.xyzw
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r17.xyzw, r15.y, l(0), t0.wxzy
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r18.xyzw, r15.z, l(0), t0.yxzw
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r15.xyzw, r15.w, l(0), t0.zxwy
  add r19.xyz, r9.xyzx, -r10.xyzx
  dp3 r8.y, r19.xyzx, r19.xyzx
  sqrt r8.y, r8.y
  div_sat r8.y, r8.y, r12.y
  add r8.y, -r8.y, l(1.000000)
  round_ni r8.w, r12.w
  mul r8.y, r8.y, r8.w
  mul r19.y, r8.y, l(0.010000)
  lt r8.yw, l(0.000000, 1.000000, 0.000000, 0.000000), r8.yyyy
  and r8.y, r8.w, r8.y
  and r10.xyzw, r10.yzxz, r8.yyyy
  mov r19.xz, r12.yywy
  and r19.xyz, r8.yyyy, r19.xyzx
  ge r20.xyzw, r8.zzzz, l(2.000000, 3.000000, 4.000000, 5.000000)
  mov r12.yw, r13.yyyy
  add r21.xyz, r9.xyzx, -r12.zxwz
  dp3 r8.y, r21.xyzx, r21.xyzx
  sqrt r8.y, r8.y
  div_sat r8.y, r8.y, r13.x
  add r8.y, -r8.y, l(1.000000)
  round_ni r8.w, r13.z
  mul r8.y, r8.y, r8.w
  mul r8.y, r8.y, l(0.010000)
  and r13.y, r8.y, r20.x
  lt r8.y, l(0.010000), r13.y
  lt r8.w, r19.y, r13.y
  and r8.y, r8.w, r8.y
  movc r10.xyzw, r8.yyyy, r12.xyzw, r10.xyzw
  movc r12.xyz, r8.yyyy, r13.xyzx, r19.xyzx
  mov r13.xyz, r14.wyww
  add r19.xyz, r9.xyzx, -r13.wyzw
  dp3 r8.y, r19.xyzx, r19.xyzx
  sqrt r8.y, r8.y
  div_sat r8.y, r8.y, r14.x
  add r8.y, -r8.y, l(1.000000)
  round_ni r8.w, r14.z
  mul r8.y, r8.y, r8.w
  mul r8.y, r8.y, l(0.010000)
  and r14.y, r8.y, r20.y
  lt r8.y, l(0.010000), r14.y
  lt r8.w, r12.y, r14.y
  and r8.y, r8.w, r8.y
  movc r10.xyzw, r8.yyyy, r13.yxwz, r10.xyzw
  movc r12.xyz, r8.yyyy, r14.xyzx, r12.xyzx
  add r13.xyz, r9.xyzx, -r11.xyzx
  dp3 r8.y, r13.xyzx, r13.xyzx
  sqrt r8.y, r8.y
  div_sat r8.y, r8.y, r11.w
  add r8.y, -r8.y, l(1.000000)
  round_ni r8.w, r16.x
  mul r8.y, r8.y, r8.w
  mul r8.y, r8.y, l(0.010000)
  and r13.y, r8.y, r20.z
  lt r8.y, l(0.010000), r13.y
  lt r8.w, r12.y, r13.y
  and r8.y, r8.w, r8.y
  movc r10.xyzw, r8.yyyy, r11.yzxz, r10.xyzw
  mov r13.x, r11.w
  mov r13.z, r16.x
  movc r11.xyz, r8.yyyy, r13.xyzx, r12.xyzx
  add r12.xyz, r9.xyzx, -r16.yzwy
  dp3 r8.y, r12.xyzx, r12.xyzx
  sqrt r8.y, r8.y
  div_sat r8.y, r8.y, r17.y
  add r8.y, -r8.y, l(1.000000)
  round_ni r8.w, r17.w
  mul r8.y, r8.y, r8.w
  mul r8.y, r8.y, l(0.010000)
  and r12.y, r8.y, r20.w
  lt r8.y, l(0.010000), r12.y
  lt r8.w, r11.y, r12.y
  and r8.y, r8.w, r8.y
  movc r10.xyzw, r8.yyyy, r16.zwyw, r10.xyzw
  mov r12.xz, r17.yywy
  movc r11.xyz, r8.yyyy, r12.xyzx, r11.xyzx
  ge r8.yz, r8.zzzz, l(0.000000, 6.000000, 7.000000, 0.000000)
  mov r17.yw, r18.yyyy
  add r12.xyz, r9.xyzx, -r17.zxwz
  dp3 r8.w, r12.xyzx, r12.xyzx
  sqrt r8.w, r8.w
  div_sat r8.w, r8.w, r18.x
  add r8.w, -r8.w, l(1.000000)
  round_ni r9.w, r18.z
  mul r8.w, r8.w, r9.w
  mul r8.w, r8.w, l(0.010000)
  and r18.y, r8.w, r8.y
  lt r8.y, l(0.010000), r18.y
  lt r8.w, r11.y, r18.y
  and r8.y, r8.w, r8.y
  movc r10.xyzw, r8.yyyy, r17.xyzw, r10.xyzw
  movc r11.xyz, r8.yyyy, r18.xyzx, r11.xyzx
  mov r18.xyz, r15.wyww
  add r12.xyz, r9.xyzx, -r18.wyzw
  dp3 r8.y, r12.xyzx, r12.xyzx
  sqrt r8.y, r8.y
  div_sat r8.y, r8.y, r15.x
  add r8.y, -r8.y, l(1.000000)
  round_ni r8.w, r15.z
  mul r8.y, r8.y, r8.w
  mul r8.y, r8.y, l(0.010000)
  and r15.y, r8.y, r8.z
  lt r8.y, l(0.010000), r15.y
  lt r8.z, r11.y, r15.y
  and r8.y, r8.z, r8.y
  movc r10.xyzw, r8.yyyy, r18.yxwz, r10.xyzw
  movc r8.yzw, r8.yyyy, r15.yyxz, r11.yyxz
  lt r9.w, l(0.000000), r8.y
  max r11.x, |v1.z|, |v1.y|
  max r11.x, r11.x, |v1.x|
  eq r11.xy, r11.xxxx, |v1.xyxx|
  add r12.xyzw, r9.yzxz, -r10.xyzw
  add r10.xy, r9.xyxx, -r10.zxzz
  movc r10.xy, r11.yyyy, r12.zwzz, r10.xyxx
  movc r10.xy, r11.xxxx, r12.xyxx, r10.xyxx
  div r10.xy, r10.xyxx, r8.zzzz
  mad r10.xy, r10.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
  frc r10.xy, r10.xyxx
  div r10.xy, r10.xyxx, cb4[2].yzyy
  frc r8.z, r8.w
  mul r8.w, cb4[2].z, cb4[2].y
  mad r8.z, r8.z, r8.w, l(0.010000)
  ftou r8.z, r8.z
  ftou r8.w, cb4[2].y
  udiv r11.x, r12.x, r8.z, r8.w
  utof r8.z, r12.x
  div r8.z, r8.z, cb4[2].y
  add r12.x, r8.z, r10.x
  utof r8.z, r11.x
  div r8.z, r8.z, cb4[2].z
  add r12.y, r8.z, r10.y
  and r8.zw, r9.wwww, r12.xxxy
else
  mov r8.yzw, l(0,0,0,0)
endif
sample_indexable(texture2d)(float,float,float,float) r10.xyzw, r8.zwzz, t27.xyzw, s0
mad r10.xyz, r10.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
mad r7.w, r6.z, r4.w, l(1.000000)
mul r10.xyz, r10.xyzx, l(-1.000000, -1.000000, 1.000000, 0.000000)
dp3 r8.z, r7.xywx, r10.xyzx
mul r10.xyz, r5.wwww, r10.xyzx
mad r10.xyz, r7.xywx, r8.zzzz, -r10.xyzx
mul r5.w, r8.y, r10.w
mad_sat r5.w, r5.w, cb4[2].w, -cb4[3].x
mad r6.xyz, -r6.xyzx, r4.wwww, r10.xyzx
mad r6.xyz, r5.wwww, r6.xyzx, r7.xyzx
mad r6.xyz, r6.xyzx, cb0[139].wwww, cb0[139].xyzx
dp3 r4.w, r6.xyzx, r6.xyzx
rsq r4.w, r4.w
mul r6.xyz, r4.wwww, r6.xyzx
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 r4.w, r0.xyzx, r0.xyzx
rsq r4.w, r4.w
mul r7.xyz, r0.xyzx, r4.wwww
mul r0.xyz, cb4[3].yyyy, cb4[4].xyzx
add r6.xyz, cb4[6].xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000)
mad r6.xyz, r5.wwww, r6.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
sample_indexable(texture2d)(float,float,float,float) r10.xyzw, r2.xyxx, t28.xyzw, s0
mul_sat r6.xyz, r6.xyzx, r10.xyzx
add r2.x, -r10.w, cb4[7].x
add r2.x, r2.x, l(1.000000)
mul r2.x, r2.x, cb4[7].y
max r2.x, r2.x, cb4[7].z
min_sat r2.x, r2.x, cb4[7].w
add r2.y, r6.w, cb4[8].x
mad r2.y, r2.y, cb4[8].y, cb3[5].x
mul_sat r2.y, r2.y, cb3[5].y
add r4.w, r10.w, cb4[8].z
mul r4.w, r4.w, cb4[8].w
dp3 r5.w, r7.xyzx, r5.xyzx
max r6.w, r5.w, l(0.000000)
add r8.y, -r6.w, l(1.000000)
max r8.y, |r8.y|, l(0.000100)
log r8.y, r8.y
mul r8.y, r8.y, cb4[9].x
exp r8.y, r8.y
mad r8.y, r8.y, cb4[9].z, cb4[9].y
mul_sat r4.w, r4.w, r8.y
mul r8.y, cb3[7].y, cb4[9].w
mad r8.zw, cb3[7].yyyy, cb4[9].wwww, l(0.000000, 0.000000, -0.567890, 0.033300)
lt r8.z, |r8.z|, l(0.012500)
movc_sat r8.y, r8.z, r8.w, r8.y
mov_sat r8.z, cb4[6].w
mad r2.y, r2.y, cb0[140].y, cb0[140].x
mul r8.w, r2.x, l(0.080000)
mad r10.xyz, -r2.xxxx, l(0.080000, 0.080000, 0.080000, 0.000000), r6.xyzx
mad r10.xyz, r8.zzzz, r10.xyzx, r8.wwww
mad r11.xyz, -r6.xyzx, r8.zzzz, r6.xyzx
mad r11.xyz, r11.xyzx, cb0[137].wwww, cb0[137].xyzx
mad r10.xyz, r10.xyzx, cb0[138].wwww, cb0[138].xyzx
ne r2.x, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[183].w
mad r12.xyz, r10.xyzx, l(0.450000, 0.450000, 0.450000, 0.000000), r11.xyzx
mov r12.w, l(0)
mov r11.w, r10.x
movc r11.xyzw, r2.xxxx, r12.xyzw, r11.xyzw
movc r10.yz, r2.xxxx, l(0,0,0,0), r10.yyzy
ilt r2.x, l(0), cb1[198].z
if_nz r2.x
  add r12.xyz, cb0[64].xyzx, -cb0[65].xyzx
  mad r12.xyz, r12.xyzx, l(2097152.000000, 2097152.000000, 2097152.000000, 0.000000), r4.xyzx
  mul r13.xyz, r12.yyyy, cb0[9].xywx
  mad r12.xyw, r12.xxxx, cb0[8].xyxw, r13.xyxz
  mad r12.xyz, r12.zzzz, cb0[10].xywx, r12.xywx
  add r12.xyz, r12.xyzx, cb0[11].xywx
  ld_indexable(buffer)(float,float,float,float) r35.xyzw, l(2, 0, 0, 0), t125.xyzw
  add r36.x, r12.z, -r35.y
  mad r12.x, r35.x, r36.x, r12.x
  div r8.zw, r12.xxxy, r12.zzzz
  mad r2.x, r12.z, cb1[197].x, cb1[197].y
  log r2.x, r2.x
  mul r2.x, r2.x, cb1[197].z
  itof r9.w, cb1[198].z
  div r12.z, r2.x, r9.w
  mad r12.xy, r8.zwzz, l(0.500000, -0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
  sample_l_indexable(texture3d)(float,float,float,float) r13.xyz, r12.xyzx, t19.xyzw, s10, l(0.000000)
  sample_l_indexable(texture3d)(float,float,float,float) r12.xyz, r12.xyzx, t20.xyzw, s10, l(0.000000)
  dp3 r2.x, r13.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
  add r2.x, r2.x, l(0.000010)
  div r14.xyz, r13.xyzx, r2.xxxx
  mul r15.yzw, r12.xxyz, r14.xxxx
  mul r16.yzw, r12.xxyz, r14.yyyy
  mul r12.yzw, r12.xxyz, r14.zzzz
  mul r14.yzw, r7.yyzx, l(0.000000, -1.02332771, 1.02332771, -1.02332771)
  mov r15.x, r13.x
  mov r14.x, l(0.886227548)
  dp4 r15.x, r15.xyzw, r14.xyzw
  mov r16.x, r13.y
  dp4 r15.y, r16.xyzw, r14.xyzw
  mov r12.x, r13.z
  dp4 r15.z, r12.xyzw, r14.xyzw
  max r12.xyz, r15.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  mul r12.xyz, r12.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
else
  if_nz cb1[134].x
    ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r13.xyzw, l(0), l(0), t1.xyzw
    mov r7.w, l(1.000000)
    dp4 r13.x, r13.xyzw, r7.xyzw
    ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r14.xyzw, l(1), l(0), t1.xyzw
    dp4 r13.y, r14.xyzw, r7.xyzw
    ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r14.xyzw, l(2), l(0), t1.xyzw
    dp4 r13.z, r14.xyzw, r7.xyzw
    mul r14.xyzw, r7.yzzx, r7.xyzz
    ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r15.xyzw, l(3), l(0), t1.xyzw
    dp4 r15.x, r15.xyzw, r14.xyzw
    ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r16.xyzw, l(4), l(0), t1.xyzw
    dp4 r15.y, r16.xyzw, r14.xyzw
    ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r16.xyzw, l(5), l(0), t1.xyzw
    dp4 r15.z, r16.xyzw, r14.xyzw
    mul r2.x, r7.y, r7.y
    mad r2.x, r7.x, r7.x, -r2.x
    ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r14.xyz, l(6), l(0), t1.xyzx
    add r13.xyz, r13.xyzx, r15.xyzx
    mad r13.xyz, r14.xyzx, r2.xxxx, r13.xyzx
    max r13.xyz, r13.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    mul r12.xyz, r13.xyzx, cb0[187].xyzx
  else
    mov r12.xyz, l(0,0,0,0)
  endif
endif
mul r12.xyz, r11.xyzx, r12.xyzx
mad r13.xyz, r6.xyzx, l(2.040400, 2.040400, 2.040400, 0.000000), l(-0.332400, -0.332400, -0.332400, 0.000000)
mad r14.xyz, r6.xyzx, l(-4.795100, -4.795100, -4.795100, 0.000000), l(0.641700, 0.641700, 0.641700, 0.000000)
mad r6.xyz, r6.xyzx, l(2.755200, 2.755200, 2.755200, 0.000000), l(0.690300, 0.690300, 0.690300, 0.000000)
mad r13.xyz, r8.yyyy, r13.xyzx, r14.xyzx
mad r6.xyz, r13.xyzx, r8.yyyy, r6.xyzx
mul r6.xyz, r8.yyyy, r6.xyzx
max r6.xyz, r6.xyzx, r8.yyyy
mul r1.xy, r1.xyxx, cb0[131].zwzz
ftou r1.xy, r1.xyxx
mad r2.x, v4.w, cb1[3].x, cb1[3].y
log r2.x, r2.x
mul r2.x, r2.x, cb1[3].z
max r2.x, r2.x, l(0.000000)
ftou r2.x, r2.x
iadd r7.w, cb1[1].z, l(-1)
umin r2.x, r2.x, r7.w
ushr r1.xy, r1.xyxx, cb1[2].xxxx
imad r1.y, r2.x, cb1[1].y, r1.y
imad r1.x, r1.y, cb1[1].x, r1.x
lt r1.y, l(0.000000), cb0[169].y
if_nz r1.y
  add r13.xyz, r3.xyzx, -cb0[173].xyzx
  mul r13.xyz, r13.xyzx, l(0.000010, 0.000010, 0.000010, 0.000000)
  dp3 r1.y, r13.xyzx, r13.xyzx
  dp3 r2.x, cb0[161].xyzx, cb0[161].xyzx
  dp3 r7.w, cb0[161].xyzx, r13.xyzx
  add r7.w, r7.w, r7.w
  mul r8.z, cb0[179].z, cb0[179].z
  mad r8.w, -cb0[179].z, cb0[179].z, r1.y
  mul r9.w, r2.x, r8.w
  mul r9.w, r9.w, l(4.000000)
  mad r9.w, r7.w, r7.w, -r9.w
  ge r12.w, r9.w, l(0.000000)
  sqrt r9.w, r9.w
  mad r14.xy, r9.wwww, l(-1.000000, 1.000000, 0.000000, 0.000000), -r7.wwww
  add r2.x, r2.x, r2.x
  div r14.xy, r14.xyxx, r2.xxxx
  movc r14.xy, r12.wwww, r14.xyxx, l(-1.000000,-1.000000,0,0)
  lt r14.xy, l(0.000000, 0.000000, 0.000000, 0.000000), r14.xyxx
  or r2.x, r14.y, r14.x
  if_z r2.x
    sqrt r2.x, r1.y
    div r13.xyz, r13.xyzx, r2.xxxx
    dp3 r7.w, cb0[161].xyzx, r13.xyzx
    mul r9.w, cb0[179].w, cb0[179].w
    mad r8.z, cb0[179].w, cb0[179].w, -r8.z
    max r8.z, r8.z, l(0.000000)
    max r8.w, r8.w, l(0.000000)
    sqrt r8.zw, r8.zzzw
    mad r12.w, r7.w, r7.w, l(-1.000000)
    mad r1.y, r1.y, r12.w, r9.w
    sqrt r1.y, r1.y
    mad r1.y, -r2.x, r7.w, r1.y
    max r1.y, r1.y, l(0.000000)
    add r2.x, -r2.x, cb0[179].w
    add r7.w, r8.z, r8.w
    add r1.y, r1.y, -r2.x
    add r2.x, -r2.x, r7.w
    div r13.x, r1.y, r2.x
    div r13.y, r8.w, r8.z
    sample_l_indexable(texture2d)(float,float,float,float) r13.xyz, r13.xyxx, t2.xyzw, s3, l(0.000000)
  else
    mov r13.xyz, l(0,0,0,0)
  endif
else
  mov r13.xyz, l(1.000000,1.000000,1.000000,0)
endif
ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r1.y, r8.x, l(0), t0.xxxx
and r8.xzw, r1.yyyy, l(1024, 0, 2048, 4096)
movc r8.xzw, r8.xxzw, l(1,0,1,1), l(0,0,0,0)
imad r1.y, r8.z, l(2), r8.x
imad r1.y, r8.w, l(4), r1.y
if_nz cb1[0].z
  if_nz cb1[7].x
    ge r14.xyzw, r2.wwww, cb1[8].xyzw
    and r14.xyzw, r14.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000)
    add r2.x, r14.y, r14.x
    add r2.x, r14.z, r2.x
    add r2.x, r14.w, r2.x
    ftou r2.x, r2.x
    ult r7.w, r2.x, cb1[7].x
    if_nz r7.w
      ishl r7.w, r2.x, l(2)
      mul r14.xyzw, r3.yyyy, cb1[r7.w + 10].xyzw
      mad r14.xyzw, r3.xxxx, cb1[r7.w + 9].xyzw, r14.xyzw
      mad r14.xyzw, r3.zzzz, cb1[r7.w + 11].xyzw, r14.xyzw
      add r14.xyzw, r14.xyzw, cb1[r7.w + 12].xyzw
      div r8.xz, r14.xxyx, r14.wwww
      ge r14.xy, r8.xzxx, cb1[r2.x + 25].xyxx
      ge r15.xy, cb1[r2.x + 25].zwzz, r8.xzxx
      and r14.xy, r14.xyxx, r15.xyxx
      and r2.x, r14.y, r14.x
      if_nz r2.x
        add r2.x, -r14.z, l(1.000000)
        mad r8.xz, r8.xxzx, cb1[29].xxyx, l(-0.500000, 0.000000, -0.500000, 0.000000)
        frc r14.xy, r8.xzxx
        round_ni r8.xz, r8.xxzx
        add r8.xz, r8.xxzx, l(1.000000, 0.000000, 1.000000, 0.000000)
        mul r8.xz, r8.xxzx, cb1[29].zzwz
        gather4_indexable(texture2d)(float,float,float,float) r15.xyzw, r8.xzxx, t5.xyzw, s6.x
        mad r2.x, r2.x, l(4000.000000), l(-1.000000)
        mad_sat r15.xyzw, r15.xyzw, l(4000.000000, 4000.000000, 4000.000000, 4000.000000), -r2.xxxx
        add r8.xz, -r15.wwxw, r15.zzyz
        mad r8.xz, r14.xxxx, r8.xxzx, r15.wwxw
        add r2.x, -r8.x, r8.z
        mad r2.x, r14.y, r2.x, r8.x
      else
        mov r2.x, l(1.000000)
      endif
    else
      mov r2.x, l(1.000000)
    endif
  else
    mov r2.x, l(1.000000)
  endif
  ine r7.w, cb1[7].y, l(-1)
  if_nz r7.w
    imad r14.xyzw, cb1[7].yyyy, l(336, 336, 336, 336), l(128, 144, 160, 176)
    ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r15.xyzw, r14.x, t23.xyzw
    ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r16.xyzw, r14.y, t23.xyzw
    ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r17.xyzw, r14.z, t23.xyzw
    ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r14.xyzw, r14.w, t23.xyzw
    imad r18.xyzw, cb1[7].yyyy, l(336, 336, 336, 336), l(256, 272, 288, 316)
    ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r19.xyzw, r18.x, t23.xyzw
    ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r8.xzw, r18.y, t23.xxyz
    ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r20.xyzw, r18.z, t23.xyzw
    ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r18.xy, r18.w, t23.xyxx
    if_z r19.w
      add r21.xyz, r19.xyzx, cb0[64].xyzx
      add r20.xyz, r4.xyzx, r20.xyzx
      mad r20.xyz, r21.xyzx, l(2097152.000000, 2097152.000000, 2097152.000000, 0.000000), r20.xyzx
      dp3 r7.w, r20.xyzx, r20.xyzx
      sqrt r7.w, r7.w
      log r7.w, r7.w
      add r7.w, r20.w, r7.w
      round_ni r7.w, r7.w
      ftoi r7.w, r7.w
      iadd r7.w, -r18.x, r7.w
      imax r7.w, r7.w, l(0)
      ilt r9.w, r7.w, r18.y
      if_nz r9.w
        iadd r7.w, r7.w, cb1[7].y
        imad r18.xyzw, r7.wwww, l(336, 336, 336, 336), l(128, 144, 160, 176)
        ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r20.xyz, r18.x, t23.xyzx
        ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r21.xyz, r18.y, t23.xyzx
        ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r18.xyz, r18.z, t23.xyzx
        ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r22.xyz, r18.w, t23.xyzx
        imad r23.xyz, r7.wwww, l(336, 336, 0x00005555, 0), l(256, 272, 0xf5558000, 0)
        ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r24.xyz, r23.x, t23.xyzx
        ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r23.xyw, r23.y, t23.xyxz
        add r24.xyz, r24.xyzx, cb0[64].xyzx
        add r23.xyw, r4.xyxz, r23.xyxw
        mad r23.xyw, r24.xyxz, l(2097152.000000, 2097152.000000, 0.000000, 2097152.000000), r23.xyxw
        mul r21.xyz, r21.xyzx, r23.yyyy
        mad r20.xyz, r23.xxxx, r20.xyzx, r21.xyzx
        mad r18.xyz, r23.wwww, r18.xyzx, r20.xyzx
        add r18.xyz, r22.xyzx, r18.xyzx
        mul r20.xy, r18.xyxx, l(128.000000, 128.000000, 0.000000, 0.000000)
        ftou r20.xy, r20.xyxx
        uge r9.w, r7.w, l(8192)
        ishl r12.w, r20.y, l(7)
        iadd r12.w, r12.w, r20.x
        iadd r12.w, r12.w, r23.z
        movc r9.w, r9.w, r12.w, r7.w
        ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r9.w, r9.w, l(0), t24.xxxx
        and r12.w, r9.w, l(0x08000000)
        if_nz r12.w
          ubfe r13.w, l(6), l(20), r9.w
          if_nz r13.w
            ushr r18.w, r9.w, l(20)
            iadd r13.w, r7.w, r13.w
            imad r20.zw, r7.wwww, l(0, 0, 336, 336), l(0, 0, 304, 112)
            ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r21.xy, r20.z, t23.xyxx
            imad r22.xyz, r13.wwww, l(336, 336, 0x00005555, 0), l(304, 112, 0xf5558000, 0)
            ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r21.zw, r22.x, t23.xxxy
            ishl r22.xw, r21.zzzw, l(5, 0, 0, 5)
            imad r20.xy, l(-32, -32, 0, 0), r21.xyxx, r20.xyxx
            ishl r22.xw, r22.xxxw, r18.wwww
            iadd r20.xy, r20.xyxx, r22.xwxx
            ushr r20.xy, r20.xyxx, r18.wwww
            ishl r22.xw, r20.xxxy, l(7, 0, 0, 7)
            bfi r20.yz, l(0, 25, 25, 0), l(0, 7, 7, 0), r20.xxyx, l(0, 127, 127, 0)
            iadd r7.w, r20.w, l(8)
            ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r7.w, r7.w, t23.xxxx
            iadd r20.w, r22.y, l(8)
            ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r20.w, r20.w, t23.xxxx
            itof r21.xyzw, r21.xyzw
            ishl r18.w, l(1), r18.w
            utof r18.w, r18.w
            rcp r18.w, r18.w
            mad r21.xy, -r18.wwww, r21.xyxx, r21.zwzz
            mul r21.xy, r21.xyxx, l(0.250000, 0.250000, 0.000000, 0.000000)
            mad r7.w, -r18.w, r7.w, r20.w
            mad r21.xy, r18.xyxx, r18.wwww, r21.xyxx
            mul r21.xy, r21.xyxx, l(16384.000000, 16384.000000, 0.000000, 0.000000)
            ftou r21.xy, r21.xyxx
            umax r21.xy, r22.xwxx, r21.xyxx
            umin r20.yz, r20.yyzy, r21.xxyx
            uge r20.w, r13.w, l(8192)
            iadd r20.x, r20.x, r22.w
            iadd r20.x, r20.x, r22.z
            movc r13.w, r20.w, r20.x, r13.w
            ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r13.w, r13.w, l(0), t24.xxxx
            ubfe r21.yw, l(0, 10, 0, 6), l(0, 10, 0, 20), r13.wwww
            and r21.xz, r13.wwww, l(1023, 0, 0x08000000, 0)
            ine r13.w, r21.z, l(0)
            ieq r20.x, r21.w, l(0)
            and r20.x, r13.w, r20.x
          else
            and r21.x, r9.w, l(1023)
            ubfe r21.y, l(10), l(10), r9.w
            ine r20.x, r12.w, l(0)
            mul r18.xy, r18.xyxx, l(16384.000000, 16384.000000, 0.000000, 0.000000)
            ftou r20.yz, r18.xxyx
            mov r18.w, l(1.000000)
            mov r7.w, l(0)
          endif
          if_nz r20.x
            bfi r21.xy, l(25, 25, 0, 0), l(7, 7, 0, 0), r21.xyxx, r20.yzyy
            mov r21.zw, l(0,0,0,0)
            ld_indexable(texture2darray)(uint,uint,uint,uint) r9.w, r21.xyzw, t25.yzwx
            add r7.w, -r7.w, r9.w
            div r7.w, r7.w, r18.w
          else
            mov r7.w, l(0)
          endif
        else
          mov r7.w, l(0)
          mov r20.x, l(0)
        endif
        if_nz r20.x
          lt r7.w, r18.z, r7.w
          movc r7.w, r7.w, l(0), l(1.000000)
        endif
      else
        mov r20.x, l(0)
      endif
    else
      add r18.xyz, r19.xyzx, cb0[64].xyzx
      add r8.xzw, r4.xxyz, r8.xxzw
      mad r18.xyz, r18.xyzx, l(2097152.000000, 2097152.000000, 2097152.000000, 0.000000), r8.xzwx
      ine r8.x, r19.w, l(2)
      if_nz r8.x
        ge r8.xz, |r18.xxxx|, |r18.yyzy|
        and r8.x, r8.z, r8.x
        lt r19.xyz, l(0.000000, 0.000000, 0.000000, 0.000000), r18.xyzx
        lt r8.z, |r18.z|, |r18.y|
        movc r19.xyz, r19.xyzx, l(0,2,4,0), l(1,3,5,0)
        movc r8.z, r8.z, r19.y, r19.z
        movc r8.x, r8.x, r19.x, r8.z
        iadd r8.x, r8.x, cb1[7].y
        imad r19.xyzw, r8.xxxx, l(336, 336, 336, 336), l(128, 144, 160, 176)
        ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r21.xyzw, r19.x, t23.xyzw
        ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r22.xyzw, r19.y, t23.xyzw
        ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r23.xyzw, r19.z, t23.xyzw
        ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r14.xyzw, r19.w, t23.xyzw
        mov r19.x, r21.x
        mov r19.y, r22.x
        mov r19.z, r23.x
        mov r19.w, r14.x
        mov r24.x, r21.y
        mov r24.y, r22.y
        mov r24.z, r23.y
        mov r24.w, r14.y
        mov r25.x, r21.z
        mov r25.y, r22.z
        mov r25.z, r23.z
        mov r25.w, r14.z
        mov r14.x, r21.w
        mov r14.y, r22.w
        mov r14.z, r23.w
      else
        mov r19.x, r15.x
        mov r19.y, r16.x
        mov r19.z, r17.x
        mov r19.w, r14.x
        mov r24.x, r15.y
        mov r24.y, r16.y
        mov r24.z, r17.y
        mov r24.w, r14.y
        mov r25.x, r15.z
        mov r25.y, r16.z
        mov r25.z, r17.z
        mov r25.w, r14.z
        mov r14.x, r15.w
        mov r14.y, r16.w
        mov r14.z, r17.w
        mov r8.x, cb1[7].y
      endif
      mov r18.w, l(1.000000)
      dp4 r15.x, r18.xyzw, r19.xyzw
      dp4 r15.y, r18.xyzw, r24.xyzw
      dp4 r15.z, r18.xyzw, r25.xyzw
      dp4 r8.z, r18.xyzw, r14.xyzw
      div r14.xyz, r15.xyzx, r8.zzzz
      mul r8.zw, r14.xxxy, l(0.000000, 0.000000, 128.000000, 128.000000)
      ftou r8.zw, r8.zzzw
      uge r9.w, r8.x, l(8192)
      imad r12.w, r8.x, l(0x00005555), l(0xf5558000)
      ishl r8.w, r8.w, l(7)
      iadd r8.z, r8.w, r8.z
      iadd r8.z, r8.z, r12.w
      movc r8.z, r9.w, r8.z, r8.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r8.z, r8.z, l(0), t24.xxxx
      and r8.w, r8.z, l(0x08000000)
      if_nz r8.w
        and r15.x, r8.z, l(1023)
        ubfe r15.yz, l(0, 10, 6, 0), l(0, 10, 20, 0), r8.zzzz
        ult r8.x, r8.x, l(8192)
        ushr r8.z, l(0x00004000), r15.z
        utof r8.z, r8.z
        movc r8.x, r8.x, l(128.000000), r8.z
        mul r8.xz, r8.xxxx, r14.xxyx
        ftou r8.xz, r8.xxzx
        bfi r15.xy, l(25, 25, 0, 0), l(7, 7, 0, 0), r15.xyxx, r8.xzxx
        mov r15.zw, l(0,0,0,0)
        ld_indexable(texture2darray)(uint,uint,uint,uint) r8.x, r15.xyzw, t25.xzyw
        mov r8.z, l(-1)
      endif
      movc r20.xw, r8.wwww, r8.zzzx, l(0,0,0,0)
      if_nz r20.x
        lt r8.x, r14.z, r20.w
        movc r7.w, r8.x, l(0), l(1.000000)
      endif
    endif
    movc r7.w, r20.x, r7.w, l(1.000000)
    mul r2.x, r2.x, r7.w
  endif
  mad_sat r7.w, r2.w, cb1[6].z, cb1[6].w
  mul r7.w, r7.w, r7.w
  add r8.x, -r2.x, l(1.000000)
  mad r2.x, r7.w, r8.x, r2.x
  min r7.w, r2.x, l(1.000000)
  add r7.w, r2.x, r7.w
  lt r7.w, l(0.000000), r7.w
  if_nz r7.w
    max r7.w, r2.y, cb0[245].z
    dp3 r8.x, cb1[4].xyzx, cb1[4].xyzx
    rsq r8.x, r8.x
    mul r8.xzw, r8.xxxx, cb1[4].xxyz
    dp3 r9.w, r7.xyzx, r8.xzwx
    mov_sat r12.w, r9.w
    dp3 r8.x, r5.xyzx, r8.xzwx
    mad r8.z, r8.x, l(2.000000), l(2.000000)
    rsq r8.z, r8.z
    add r8.w, r5.w, r9.w
    mul_sat r8.w, r8.z, r8.w
    mad_sat r8.x, r8.z, r8.x, r8.z
    add r8.z, |r5.w|, l(0.000010)
    min r8.z, r8.z, l(1.000000)
    mul r14.xyz, r11.xyzx, r12.wwww
    mul r14.xyz, r14.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
    mul r9.w, r7.w, r7.w
    mul r13.w, r9.w, r9.w
    mad r14.w, r8.w, r13.w, -r8.w
    mad r8.w, r14.w, r8.w, l(1.000000)
    mul r8.w, r8.w, r8.w
    mul r8.w, r8.w, l(3.14159274)
    div r8.w, r13.w, r8.w
    mad r7.w, -r7.w, r7.w, l(1.000000)
    mad r13.w, r8.z, r7.w, r9.w
    mad r7.w, r12.w, r7.w, r9.w
    mul r7.w, r7.w, r8.z
    mad r7.w, r12.w, r13.w, r7.w
    rcp r7.w, r7.w
    mul r7.w, r7.w, r8.w
    add r8.x, -r8.x, l(1.000000)
    mul r8.z, r8.x, r8.x
    mul r8.z, r8.z, r8.z
    mul r8.w, r8.x, r8.z
    mul_sat r9.w, r10.y, l(50.000000)
    mad r8.x, -r8.z, r8.x, l(1.000000)
    mov r10.x, r11.w
    mul r15.xyz, r10.xyzx, r8.xxxx
    mad r8.xzw, r9.wwww, r8.wwww, r15.xxyz
    mul r7.w, r7.w, l(0.500000)
    mul r8.xzw, r8.xxzw, r7.wwww
    mul r8.xzw, r8.xxzw, r12.wwww
    mul r15.xyz, r2.xxxx, cb1[5].xyzx
    mul r14.xyz, r14.xyzx, r15.xyzx
    mul r8.xzw, r8.xxzw, r15.xxyz
  else
    mov r14.xyz, l(0,0,0,0)
    mov r8.xzw, l(0,0,0,0)
  endif
  ushr r2.x, cb1[6].x, l(8)
  and r2.x, r1.y, r2.x
  mul r14.xyz, r13.xyzx, r14.xyzx
  mul r8.xzw, r13.xxyz, r8.xxzw
  mov r14.w, r8.x
  movc r13.xyzw, r2.xxxx, r14.xyzw, l(0,0,0,0)
  movc r8.xz, r2.xxxx, r8.zzwz, l(0,0,0,0)
else
  mov r13.xyzw, l(0,0,0,0)
  mov r8.xz, l(0,0,0,0)
endif
ishl r2.x, r1.x, l(1)
ld_indexable(buffer)(uint,uint,uint,uint) r2.x, r2.xxxx, t7.xyzw
umin r2.x, r2.x, cb1[0].x
bfi r7.w, l(31), l(1), r1.x, l(1)
ld_indexable(buffer)(uint,uint,uint,uint) r7.w, r7.wwww, t7.yzwx
umin r2.x, r2.x, cb1[0].x
max r8.w, r2.y, cb0[245].z
dp3 r9.w, -r5.xyzx, r7.xyzx
add r9.w, r9.w, r9.w
mad r14.xyz, r7.xyzx, -r9.wwww, -r5.xyzx
max r9.w, r8.w, cb0[245].z
mad r9.w, -r9.w, r9.w, l(1.000000)
add r12.w, r5.w, r5.w
mad r14.w, r12.w, r5.w, l(-1.000000)
add r15.x, |r5.w|, l(0.000010)
min r15.x, r15.x, l(1.000000)
mul r15.yzw, r11.xxyz, l(0.000000, 0.318309873, 0.318309873, 0.318309873)
mul r8.w, r8.w, r8.w
mul r16.x, r8.w, r8.w
mul_sat r16.y, r10.y, l(50.000000)
mov r17.y, l(1.000000)
mov r10.w, r11.w
mov r18.xyz, r13.xyzx
mov r19.x, r13.w
mov r19.yz, r8.xxzx
mov r11.w, l(0)
loop
  uge r16.z, r11.w, r2.x
  breakc_nz r16.z
  iadd r16.z, r7.w, r11.w
  ld_indexable(buffer)(uint,uint,uint,uint) r16.z, r16.zzzz, t8.yzxw
  imul null, r16.w, r16.z, l(6)
  ld_indexable(buffer)(float,float,float,float) r20.xyzw, r16.wwww, t6.xyzw
  imad r16.w, r16.z, l(6), l(1)
  ld_indexable(buffer)(float,float,float,float) r21.xyzw, r16.wwww, t6.xyzw
  imad r17.zw, r16.zzzz, l(0, 0, 6, 6), l(0, 0, 2, 3)
  ld_indexable(buffer)(float,float,float,float) r22.xyzw, r17.zzzz, t6.xyzw
  ld_indexable(buffer)(float,float,float,float) r23.xyzw, r17.wwww, t6.xyzw
  eq r16.w, r21.w, l(0.000000)
  lt r17.z, l(-2.000000), r23.x
  add r20.xyz, -r3.xyzx, r20.xyzx
  dp3 r17.w, r20.xyzx, r20.xyzx
  rsq r18.w, r17.w
  mul r24.xyz, r18.wwww, r20.xyzx
  mul r18.w, r20.w, r20.w
  mul r17.w, r17.w, r18.w
  mad r17.w, -r17.w, r17.w, l(1.000000)
  max r17.w, r17.w, l(0.000000)
  mul r17.w, r17.w, r17.w
  mul r25.xyz, r20.wwww, r20.xyzx
  dp3 r18.w, r25.xyzx, r25.xyzx
  min r18.w, r18.w, l(1.000000)
  add r18.w, -r18.w, l(1.000000)
  log r18.w, r18.w
  mul r18.w, r18.w, r21.w
  exp r18.w, r18.w
  movc r17.w, r16.w, r17.w, r18.w
  dp3 r18.w, r24.xyzx, r22.xyzx
  add r18.w, -r23.x, r18.w
  mul_sat r18.w, r23.y, r18.w
  mul r18.w, r18.w, r18.w
  mul r18.w, r17.w, r18.w
  movc r17.z, r17.z, r18.w, r17.w
  lt r17.w, l(0.000000), r17.z
  if_nz r17.w
    and r17.w, r22.w, l(255)
    movc r17.w, r17.w, l(1), l(0)
    if_nz r17.w
      ushr r17.w, r22.w, l(4)
      ubfe r18.w, l(1), l(4), r22.w
      movc r24.x, r18.w, l(1.000000), l(0)
      and r22.xyz, r17.wwww, l(2, 4, 8, 0)
      movc r24.yzw, r22.xxyz, l(0,1.000000,1.000000,1.000000), l(0,0,0,0)
      dp4 r22.xy, r24.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
    else
      mov r22.xy, l(1.000000,1.000000,0,0)
    endif
    add r17.w, r22.y, r22.x
    lt r17.w, l(0.000000), r17.w
    if_nz r17.w
      imad r22.yz, r16.zzzz, l(0, 6, 6, 0), l(0, 4, 5, 0)
      ld_indexable(buffer)(float,float,float,float) r24.xyzw, r22.yyyy, t6.xyzw
      ld_indexable(buffer)(float,float,float,float) r16.z, r22.zzzz, t6.xywz
      f16tof32 r17.w, r23.w
      mul r21.xyz, r17.zzzz, r21.xyzx
      mul r17.z, r17.w, l(0.500000)
      mad r23.xyw, -r17.zzzz, r24.xyxz, r20.xyxz
      mad r20.xyz, r17.zzzz, r24.xyzx, r20.xyzx
      lt r17.z, l(0.000000), r17.w
      if_nz r17.z
        dp3 r18.w, r23.xywx, r23.xywx
        dp3 r19.w, r20.xyzx, r20.xyzx
        rsq r18.w, r18.w
        rsq r19.w, r19.w
        mul r20.w, r18.w, r19.w
        dp3 r21.w, r23.xywx, r20.xyzx
        mul r21.w, r20.w, r21.w
        mad r22.y, r21.w, l(0.500000), r20.w
        add r22.y, r22.y, l(0.500000)
        div r24.y, r20.w, r22.y
        dp3 r20.w, r7.xyzx, r23.xywx
        dp3 r22.y, r7.xyzx, r20.xyzx
        mul r19.w, r19.w, r22.y
        mad r18.w, r20.w, r18.w, r19.w
        mul r24.x, r18.w, l(0.500000)
      else
        dp3 r18.w, r23.xywx, r23.xywx
        add r19.w, r18.w, l(1.000000)
        rcp r24.y, r19.w
        rsq r18.w, r18.w
        mul r25.xyz, r18.wwww, r23.xywx
        dp3 r24.x, r7.xyzx, r25.xyzx
        mov r21.w, l(1.000000)
      endif
      lt r18.w, l(0.000000), r23.z
      mul r19.w, r23.z, r23.z
      mul_sat r19.w, r24.y, r19.w
      sqrt r19.w, r19.w
      lt r20.w, r24.x, r19.w
      max r22.y, -r19.w, r24.x
      add r22.y, r19.w, r22.y
      mul r22.y, r22.y, r22.y
      mul r19.w, r19.w, l(4.000000)
      div r19.w, r22.y, r19.w
      movc r19.w, r20.w, r19.w, r24.x
      movc_sat r18.w, r18.w, r19.w, r24.x
      movc r16.w, r16.w, r24.y, l(1.000000)
      add r20.xyz, -r23.xywx, r20.xyzx
      dp3 r19.w, r14.xyzx, r20.xyzx
      mad r24.xyz, r19.wwww, r14.xyzx, -r20.xyzx
      dp3 r20.w, r23.xywx, r24.xyzx
      mul r19.w, r19.w, r19.w
      mad r17.w, r17.w, r17.w, -r19.w
      div_sat r17.w, r20.w, r17.w
      mad r20.xyz, r17.wwww, r20.xyzx, r23.xywx
      movc r20.xyz, r17.zzzz, r20.xyzx, r23.xywx
      dp3 r17.z, r20.xyzx, r20.xyzx
      rsq r17.z, r17.z
      mul r20.xyz, r17.zzzz, r20.xyzx
      mul r17.w, r17.z, r23.z
      mul_sat r17.w, r9.w, r17.w
      mul_sat r17.z, r17.z, r24.w
      dp3 r19.w, r7.xyzx, r20.xyzx
      dp3 r20.x, r5.xyzx, r20.xyzx
      mad r20.y, r20.x, l(2.000000), l(2.000000)
      rsq r20.y, r20.y
      add r20.z, r5.w, r19.w
      mul_sat r20.z, r20.y, r20.z
      mad_sat r20.y, r20.y, r20.x, r20.y
      lt r20.w, l(0.000000), r17.w
      if_nz r20.w
        mad r22.y, -r17.w, r17.w, l(1.000000)
        sqrt r22.y, r22.y
        dp2 r22.z, r5.wwww, r19.wwww
        add r23.x, -r20.x, r22.z
        ge r23.y, r23.x, r22.y
        if_nz r23.y
          mov r20.z, l(1.000000)
          mov r20.y, |r5.w|
        else
          mad r23.y, -r23.x, r23.x, l(1.000000)
          rsq r23.y, r23.y
          mul r23.y, r17.w, r23.y
          mad r23.z, -r23.x, r19.w, r5.w
          mad r23.x, -r23.x, r20.x, r14.w
          mul r23.xw, r23.xxxz, r23.yyyy
          mul r24.x, r19.w, r19.w
          mad r24.x, -r5.w, r5.w, -r24.x
          add r24.x, r24.x, l(1.000000)
          mad r24.x, -r20.x, r20.x, r24.x
          mad_sat r22.z, r22.z, r20.x, r24.x
          sqrt r22.z, r22.z
          mul r22.z, r22.z, r23.y
          mul r24.x, r5.w, r22.z
          add r24.y, r24.x, r24.x
          mad r24.z, r19.w, r22.y, r5.w
          mad r23.y, r23.y, r23.z, r24.z
          mad r23.z, r20.x, r22.y, r23.x
          add r23.z, r23.z, l(1.000000)
          mul r24.w, r22.z, r23.z
          mul r25.x, r23.z, r23.y
          mul r25.y, r23.y, r24.y
          mul r24.x, r24.x, r23.y
          mul r24.x, r24.x, l(0.500000)
          mad r24.x, r24.w, l(-0.500000), r24.x
          mul r24.x, r24.x, r25.x
          mad r25.z, -r24.w, l(2.000000), r25.y
          mul r25.y, r25.z, r25.y
          mad r24.w, r24.w, r24.w, r25.y
          mul r25.y, r23.z, r23.z
          mad r23.z, r20.x, r22.y, r23.z
          mad r23.z, r23.z, l(-0.500000), l(-0.500000)
          mul r23.z, r23.z, r25.x
          mad r23.z, r24.z, r25.y, r23.z
          mad r23.y, r23.y, r23.z, r24.w
          add r23.z, r24.x, r24.x
          mul r24.z, r24.x, r24.x
          mad r24.z, r23.y, r23.y, r24.z
          div r23.z, r23.z, r24.z
          mul r23.y, r23.y, r23.z
          mad r23.z, -r23.z, r24.x, l(1.000000)
          mul r22.z, r22.z, r23.y
          mad r22.z, r23.z, r23.w, r22.z
          mul r23.y, r24.y, r23.y
          mad r23.x, r23.z, r23.x, r23.y
          mad r19.w, r19.w, r22.y, r22.z
          mad r20.x, r20.x, r22.y, r23.x
          mad r22.y, r20.x, l(2.000000), l(2.000000)
          rsq r22.y, r22.y
          add r19.w, r5.w, r19.w
          mul_sat r20.z, r22.y, r19.w
          mad_sat r20.y, r22.y, r20.x, r22.y
        endif
      endif
      mul r16.w, r18.w, r16.w
      mul r23.xyz, r15.yzwy, r16.wwww
      lt r19.w, l(0.000000), r17.z
      mul r17.z, r17.z, r17.z
      mad r20.x, r20.y, l(3.600000), l(0.400000)
      div r17.z, r17.z, r20.x
      mad r17.z, r8.w, r8.w, r17.z
      min r17.z, r17.z, l(1.000000)
      movc r17.x, r19.w, r17.z, r16.x
      mul r17.z, r17.w, l(0.250000)
      ishr r19.w, r17.x, l(1)
      iadd r19.w, r19.w, l(0x1fbd1df5)
      mad r17.w, r19.w, l(3.000000), r17.w
      mul r17.z, r17.w, r17.z
      add r17.w, r20.y, l(0.001000)
      div r17.z, r17.z, r17.w
      add r24.x, r17.z, r17.x
      div r24.y, r17.x, r24.x
      movc r20.xw, r20.wwww, r24.xxxy, r17.xxxy
      lt r17.z, r21.w, l(1.000000)
      add r19.w, -r21.w, l(1.000100)
      add r21.w, r21.w, l(1.000000)
      div r19.w, r19.w, r21.w
      sqrt r19.w, r19.w
      mul r21.w, r19.w, l(0.250000)
      ishr r22.y, r20.x, l(1)
      iadd r22.y, r22.y, l(0x1fbd1df5)
      mad r19.w, r22.y, l(3.000000), r19.w
      mul r19.w, r19.w, r21.w
      div r17.w, r19.w, r17.w
      add r17.w, r17.w, r20.x
      div r17.w, r20.x, r17.w
      sqrt r17.w, r17.w
      mul r17.w, r17.w, r20.w
      movc r17.z, r17.z, r17.w, r20.w
      mad r17.w, r20.z, r17.x, -r20.z
      mad r17.w, r17.w, r20.z, l(1.000000)
      mul r17.w, r17.w, r17.w
      mul r17.w, r17.w, l(3.14159274)
      div r17.w, r17.x, r17.w
      mul r17.z, r17.z, r17.w
      sqrt r17.x, r17.x
      add r17.w, -r17.x, l(1.000000)
      mad r19.w, r15.x, r17.w, r17.x
      mad r17.x, r18.w, r17.w, r17.x
      mul r17.x, r15.x, r17.x
      mad r17.x, r18.w, r19.w, r17.x
      rcp r17.x, r17.x
      mul r17.x, r17.x, r17.z
      add r17.z, -r20.y, l(1.000000)
      mul r17.w, r17.z, r17.z
      mul r17.w, r17.w, r17.w
      mul r18.w, r17.z, r17.w
      mad r17.z, -r17.w, r17.z, l(1.000000)
      mul r20.xyz, r10.wyzw, r17.zzzz
      mad r20.xyz, r16.yyyy, r18.wwww, r20.xyzx
      mul r17.x, r17.x, l(0.500000)
      mul r17.xzw, r20.xxyz, r17.xxxx
      mul r17.xzw, r16.wwww, r17.xxzw
      mul r17.xzw, r16.zzzz, r17.xxzw
      mul r20.xyz, r22.xxxx, r21.xyzx
      mul r21.xyz, r20.xyzx, r23.xyzx
      mul r17.xzw, r17.xxzw, r20.xxyz
    else
      mov r21.xyz, l(0,0,0,0)
      mov r17.xzw, l(0,0,0,0)
    endif
  else
    mov r21.xyz, l(0,0,0,0)
    mov r17.xzw, l(0,0,0,0)
  endif
  ushr r16.z, r22.w, l(8)
  and r16.z, r1.y, r16.z
  add r20.xyz, r18.xyzx, r21.xyzx
  add r17.xzw, r17.xxzw, r19.xxyz
  movc r18.xyz, r16.zzzz, r20.xyzx, r18.xyzx
  movc r19.xyz, r16.zzzz, r17.xzwx, r19.xyzx
  iadd r11.w, r11.w, l(1)
endloop
movc r8.xzw, cb1[37].xxxx, r18.xxyz, l(0,0,0,0)
movc r13.xyz, cb1[37].xxxx, r19.xyzx, l(0,0,0,0)
add r8.xzw, r8.xxzw, r13.xxyz
mad r5.yzw, r12.wwww, r7.xxyz, -r5.xxyz
min r1.y, r6.w, l(1.000000)
if_nz cb1[193].z
  sample_l_indexable(texture2d)(float,float,float,float) r2.x, r1.zwzz, t18.xyzw, s1, l(0.000000)
  mad r6.w, r2.w, cb0[34].z, cb0[35].z
  mad r7.w, r2.z, l(1.000000), cb0[71].w
  mul r7.w, r7.w, cb0[71].z
  div r7.w, l(1.000000, 1.000000, 1.000000, 1.000000), r7.w
  movc r0.w, r0.w, r6.w, r7.w
  add r0.w, -r0.w, r2.x
  lt r0.w, |r0.w|, cb1[193].w
else
  mov r0.w, l(0)
endif
ult r2.x, l(0), cb1[166].y
not r6.w, r0.w
and r2.x, r2.x, r6.w
if_nz r2.x
  utof r2.x, cb0[145].x
  mad r13.xy, r2.xxxx, l(32.665001, 11.815000, 0.000000, 0.000000), v4.xyxx
  dp2 r2.x, r13.xyxx, l(0.0671105608, 0.00583714992, 0.000000, 0.000000)
  frc r2.x, r2.x
  mul r2.x, r2.x, l(52.982918)
  frc r2.x, r2.x
  utof r7.w, cb1[165].z
  add r7.w, r7.w, l(-0.500000)
  mov r13.y, l(0)
  mov r13.zw, l(0,0,0,0)
  mov r9.w, l(0)
  loop
    uge r11.w, r13.w, cb1[165].w
    mov r9.w, l(0)
    breakc_nz r11.w
    mad r14.xyz, r9.xyzx, cb1[r13.w + 171].yyyy, cb1[r13.w + 177].xyzx
    add r15.xyz, r14.xyzx, l(-0.500000, -0.500000, -0.500000, 0.000000)
    mul_sat r15.xyz, r15.xyzx, cb1[164].wwww
    add r14.xyz, r7.wwww, -r14.xyzx
    mul_sat r14.xyz, r14.xyzx, cb1[164].wwww
    min r11.w, r15.z, r15.y
    min r11.w, r11.w, r15.x
    min r12.w, r14.z, r14.y
    min r12.w, r12.w, r14.x
    min r11.w, r11.w, r12.w
    lt r11.w, r2.x, r11.w
    if_nz r11.w
      mov r13.z, r13.w
      mov r9.w, l(-1)
      break
    endif
    iadd r13.x, r13.w, l(1)
    mov r13.zw, r13.yyyx
    mov r9.w, r11.w
  endloop
  movc r2.x, r9.w, r13.z, cb1[165].w
  ult r7.w, r2.x, cb1[165].w
else
  mov r7.w, l(0)
endif
if_nz r0.w
  sample_l_indexable(texture2d)(float,float,float,float) r13.xyz, r1.zwzz, t17.xyzw, s1, l(0.000000)
  mul r13.xyz, r13.xyzx, cb0[136].wwww
else
  if_nz r7.w
    mad r14.xyz, r9.xyzx, cb1[r2.x + 171].yyyy, cb1[r2.x + 177].xyzx
    add r14.xyz, r14.xyzx, l(-0.500000, -0.500000, -0.500000, 0.000000)
    round_ni r15.xyz, r14.xyzx
    ftoi r15.xyz, r15.xyzx
    frc r14.xyz, r14.xyzx
    imad r17.x, r2.x, cb1[165].z, r15.x
    mov r17.yz, r15.yyzy
    mov r17.w, l(0)
    ld_indexable(texture3d)(uint,uint,uint,uint) r0.w, r17.xyzw, t14.yzwx
    utof r16.xzw, r15.xxyz
    mad r16.xzw, r16.xxzw, cb1[r2.x + 171].zzzz, cb1[r2.x + 183].xxyz
    ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r17.xyz, r0.w, l(0), t16.xyzx
    add r16.xzw, r16.xxzw, r17.xxyz
    mul r1.z, cb1[164].x, cb1[r2.x + 171].x
    add r17.xyz, r9.xyzx, -r16.xzwx
    dp3 r1.w, r17.xyzx, r17.xyzx
    dp3 r7.w, r5.yzwy, r5.yzwy
    dp3 r9.w, r5.yzwy, r17.xyzx
    add r11.w, r9.w, r9.w
    mad r1.w, -r1.z, r1.z, r1.w
    mul r12.w, r7.w, l(4.000000)
    mul r1.w, r1.w, r12.w
    mad r1.w, r11.w, r11.w, -r1.w
    ge r11.w, r1.w, l(0.000000)
    sqrt r1.w, r1.w
    mad r1.w, -r9.w, l(2.000000), r1.w
    add r7.w, r7.w, r7.w
    div r1.w, r1.w, r7.w
    movc r1.w, r11.w, r1.w, l(-1.000000)
    mad r17.xyz, r5.yzwy, r1.wwww, r9.xyzx
    add r16.xzw, -r16.xxzw, r17.xxyz
    dp3 r1.w, l(1.000000, 1.000000, 1.000000, 0.000000), |r16.xzwx|
    div r16.xz, r16.xxzx, r1.wwww
    ge r1.w, l(0.000000), r16.w
    add r17.xy, -|r16.zxzz|, l(1.000000, 1.000000, 0.000000, 0.000000)
    ge r17.zw, r16.xxxz, l(0.000000, 0.000000, 0.000000, 0.000000)
    movc r17.zw, r17.zzzw, l(0,0,1.000000,1.000000), l(0,0,-1.000000,-1.000000)
    mul r17.xy, r17.zwzz, r17.xyxx
    movc r16.xz, r1.wwww, r17.xxyx, r16.xxzx
    mad r16.xz, r16.xxzx, l(0.500000, 0.000000, 0.500000, 0.000000), l(0.500000, 0.000000, 0.500000, 0.000000)
    and r17.x, r0.w, cb1[191].x
    ushr r17.y, r0.w, cb1[191].y
    imul null, r17.xy, r17.xyxx, cb1[166].yyyy
    utof r1.w, cb1[166].x
    ishl r9.w, l(1), cb1[166].z
    utof r9.w, r9.w
    mad r16.xz, r16.xxzx, r1.wwww, r9.wwww
    utof r17.xy, r17.xyxx
    add r16.xz, r16.xxzx, r17.xxyx
    mul r16.xz, r16.xxzx, cb1[189].xxyx
    ieq r0.w, r0.w, l(-1)
    sample_l_indexable(texture2d)(float,float,float,float) r16.xzw, r16.xzxx, t15.xwyz, s2, l(0.000000)
    movc r16.xzw, r0.wwww, l(0,0,0,0), r16.xxzw
    iadd r17.xyz, r15.xyzx, l(0, 0, 1, 0)
    imad r18.x, r2.x, cb1[165].z, r17.x
    mov r18.yz, r17.yyzy
    mov r18.w, l(0)
    ld_indexable(texture3d)(uint,uint,uint,uint) r0.w, r18.xyzw, t14.yzwx
    utof r17.xyz, r17.xyzx
    mad r17.xyz, r17.xyzx, cb1[r2.x + 171].zzzz, cb1[r2.x + 183].xyzx
    ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r18.xyz, r0.w, l(0), t16.xyzx
    add r17.xyz, r17.xyzx, r18.xyzx
    add r18.xyz, r9.xyzx, -r17.xyzx
    dp3 r11.w, r18.xyzx, r18.xyzx
    dp3 r13.w, r5.yzwy, r18.xyzx
    add r14.w, r13.w, r13.w
    mad r11.w, -r1.z, r1.z, r11.w
    mul r11.w, r11.w, r12.w
    mad r11.w, r14.w, r14.w, -r11.w
    ge r14.w, r11.w, l(0.000000)
    sqrt r11.w, r11.w
    mad r11.w, -r13.w, l(2.000000), r11.w
    div r11.w, r11.w, r7.w
    movc r11.w, r14.w, r11.w, l(-1.000000)
    mad r18.xyz, r5.yzwy, r11.wwww, r9.xyzx
    add r17.xyz, -r17.xyzx, r18.xyzx
    dp3 r11.w, l(1.000000, 1.000000, 1.000000, 0.000000), |r17.xyzx|
    div r17.xy, r17.xyxx, r11.wwww
    ge r11.w, l(0.000000), r17.z
    add r17.zw, -|r17.yyyx|, l(0.000000, 0.000000, 1.000000, 1.000000)
    ge r18.xy, r17.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
    movc r18.xy, r18.xyxx, l(1.000000,1.000000,0,0), l(-1.000000,-1.000000,0,0)
    mul r17.zw, r17.zzzw, r18.xxxy
    movc r17.xy, r11.wwww, r17.zwzz, r17.xyxx
    mad r17.xy, r17.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
    and r18.x, r0.w, cb1[191].x
    ushr r18.y, r0.w, cb1[191].y
    imul null, r17.zw, r18.xxxy, cb1[166].yyyy
    mad r17.xy, r17.xyxx, r1.wwww, r9.wwww
    utof r17.zw, r17.zzzw
    add r17.xy, r17.xyxx, r17.zwzz
    mul r17.xy, r17.xyxx, cb1[189].xyxx
    ieq r0.w, r0.w, l(-1)
    sample_l_indexable(texture2d)(float,float,float,float) r17.xyz, r17.xyxx, t15.xyzw, s2, l(0.000000)
    movc r17.xyz, r0.wwww, l(0,0,0,0), r17.xyzx
    iadd r18.xyz, r15.xyzx, l(0, 1, 0, 0)
    imad r19.x, r2.x, cb1[165].z, r18.x
    mov r19.yz, r18.yyzy
    mov r19.w, l(0)
    ld_indexable(texture3d)(uint,uint,uint,uint) r0.w, r19.xyzw, t14.yzwx
    utof r18.xyz, r18.xyzx
    mad r18.xyz, r18.xyzx, cb1[r2.x + 171].zzzz, cb1[r2.x + 183].xyzx
    ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r19.xyz, r0.w, l(0), t16.xyzx
    add r18.xyz, r18.xyzx, r19.xyzx
    add r19.xyz, r9.xyzx, -r18.xyzx
    dp3 r11.w, r19.xyzx, r19.xyzx
    dp3 r13.w, r5.yzwy, r19.xyzx
    add r14.w, r13.w, r13.w
    mad r11.w, -r1.z, r1.z, r11.w
    mul r11.w, r11.w, r12.w
    mad r11.w, r14.w, r14.w, -r11.w
    ge r14.w, r11.w, l(0.000000)
    sqrt r11.w, r11.w
    mad r11.w, -r13.w, l(2.000000), r11.w
    div r11.w, r11.w, r7.w
    movc r11.w, r14.w, r11.w, l(-1.000000)
    mad r19.xyz, r5.yzwy, r11.wwww, r9.xyzx
    add r18.xyz, -r18.xyzx, r19.xyzx
    dp3 r11.w, l(1.000000, 1.000000, 1.000000, 0.000000), |r18.xyzx|
    div r18.xy, r18.xyxx, r11.wwww
    ge r11.w, l(0.000000), r18.z
    add r18.zw, -|r18.yyyx|, l(0.000000, 0.000000, 1.000000, 1.000000)
    ge r19.xy, r18.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
    movc r19.xy, r19.xyxx, l(1.000000,1.000000,0,0), l(-1.000000,-1.000000,0,0)
    mul r18.zw, r18.zzzw, r19.xxxy
    movc r18.xy, r11.wwww, r18.zwzz, r18.xyxx
    mad r18.xy, r18.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
    and r19.x, r0.w, cb1[191].x
    ushr r19.y, r0.w, cb1[191].y
    imul null, r18.zw, r19.xxxy, cb1[166].yyyy
    mad r18.xy, r18.xyxx, r1.wwww, r9.wwww
    utof r18.zw, r18.zzzw
    add r18.xy, r18.xyxx, r18.zwzz
    mul r18.xy, r18.xyxx, cb1[189].xyxx
    ieq r0.w, r0.w, l(-1)
    sample_l_indexable(texture2d)(float,float,float,float) r18.xyz, r18.xyxx, t15.xyzw, s2, l(0.000000)
    movc r18.xyz, r0.wwww, l(0,0,0,0), r18.xyzx
    iadd r19.xyz, r15.xyzx, l(0, 1, 1, 0)
    imad r20.x, r2.x, cb1[165].z, r19.x
    mov r20.yz, r19.yyzy
    mov r20.w, l(0)
    ld_indexable(texture3d)(uint,uint,uint,uint) r0.w, r20.xyzw, t14.yzwx
    utof r19.xyz, r19.xyzx
    mad r19.xyz, r19.xyzx, cb1[r2.x + 171].zzzz, cb1[r2.x + 183].xyzx
    ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r20.xyz, r0.w, l(0), t16.xyzx
    add r19.xyz, r19.xyzx, r20.xyzx
    add r20.xyz, r9.xyzx, -r19.xyzx
    dp3 r11.w, r20.xyzx, r20.xyzx
    dp3 r13.w, r5.yzwy, r20.xyzx
    add r14.w, r13.w, r13.w
    mad r11.w, -r1.z, r1.z, r11.w
    mul r11.w, r11.w, r12.w
    mad r11.w, r14.w, r14.w, -r11.w
    ge r14.w, r11.w, l(0.000000)
    sqrt r11.w, r11.w
    mad r11.w, -r13.w, l(2.000000), r11.w
    div r11.w, r11.w, r7.w
    movc r11.w, r14.w, r11.w, l(-1.000000)
    mad r20.xyz, r5.yzwy, r11.wwww, r9.xyzx
    add r19.xyz, -r19.xyzx, r20.xyzx
    dp3 r11.w, l(1.000000, 1.000000, 1.000000, 0.000000), |r19.xyzx|
    div r19.xy, r19.xyxx, r11.wwww
    ge r11.w, l(0.000000), r19.z
    add r19.zw, -|r19.yyyx|, l(0.000000, 0.000000, 1.000000, 1.000000)
    ge r20.xy, r19.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
    movc r20.xy, r20.xyxx, l(1.000000,1.000000,0,0), l(-1.000000,-1.000000,0,0)
    mul r19.zw, r19.zzzw, r20.xxxy
    movc r19.xy, r11.wwww, r19.zwzz, r19.xyxx
    mad r19.xy, r19.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
    and r20.x, r0.w, cb1[191].x
    ushr r20.y, r0.w, cb1[191].y
    imul null, r19.zw, r20.xxxy, cb1[166].yyyy
    mad r19.xy, r19.xyxx, r1.wwww, r9.wwww
    utof r19.zw, r19.zzzw
    add r19.xy, r19.xyxx, r19.zwzz
    mul r19.xy, r19.xyxx, cb1[189].xyxx
    ieq r0.w, r0.w, l(-1)
    sample_l_indexable(texture2d)(float,float,float,float) r19.xyz, r19.xyxx, t15.xyzw, s2, l(0.000000)
    movc r19.xyz, r0.wwww, l(0,0,0,0), r19.xyzx
    iadd r20.xyz, r15.xyzx, l(1, 0, 0, 0)
    imad r21.x, r2.x, cb1[165].z, r20.x
    mov r21.yz, r20.yyzy
    mov r21.w, l(0)
    ld_indexable(texture3d)(uint,uint,uint,uint) r0.w, r21.xyzw, t14.yzwx
    utof r20.xyz, r20.xyzx
    mad r20.xyz, r20.xyzx, cb1[r2.x + 171].zzzz, cb1[r2.x + 183].xyzx
    ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r21.xyz, r0.w, l(0), t16.xyzx
    add r20.xyz, r20.xyzx, r21.xyzx
    add r21.xyz, r9.xyzx, -r20.xyzx
    dp3 r11.w, r21.xyzx, r21.xyzx
    dp3 r13.w, r5.yzwy, r21.xyzx
    add r14.w, r13.w, r13.w
    mad r11.w, -r1.z, r1.z, r11.w
    mul r11.w, r11.w, r12.w
    mad r11.w, r14.w, r14.w, -r11.w
    ge r14.w, r11.w, l(0.000000)
    sqrt r11.w, r11.w
    mad r11.w, -r13.w, l(2.000000), r11.w
    div r11.w, r11.w, r7.w
    movc r11.w, r14.w, r11.w, l(-1.000000)
    mad r21.xyz, r5.yzwy, r11.wwww, r9.xyzx
    add r20.xyz, -r20.xyzx, r21.xyzx
    dp3 r11.w, l(1.000000, 1.000000, 1.000000, 0.000000), |r20.xyzx|
    div r20.xy, r20.xyxx, r11.wwww
    ge r11.w, l(0.000000), r20.z
    add r20.zw, -|r20.yyyx|, l(0.000000, 0.000000, 1.000000, 1.000000)
    ge r21.xy, r20.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
    movc r21.xy, r21.xyxx, l(1.000000,1.000000,0,0), l(-1.000000,-1.000000,0,0)
    mul r20.zw, r20.zzzw, r21.xxxy
    movc r20.xy, r11.wwww, r20.zwzz, r20.xyxx
    mad r20.xy, r20.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
    and r21.x, r0.w, cb1[191].x
    ushr r21.y, r0.w, cb1[191].y
    imul null, r20.zw, r21.xxxy, cb1[166].yyyy
    mad r20.xy, r20.xyxx, r1.wwww, r9.wwww
    utof r20.zw, r20.zzzw
    add r20.xy, r20.xyxx, r20.zwzz
    mul r20.xy, r20.xyxx, cb1[189].xyxx
    ieq r0.w, r0.w, l(-1)
    sample_l_indexable(texture2d)(float,float,float,float) r20.xyz, r20.xyxx, t15.xyzw, s2, l(0.000000)
    movc r20.xyz, r0.wwww, l(0,0,0,0), r20.xyzx
    iadd r21.xyz, r15.xyzx, l(1, 0, 1, 0)
    imad r22.x, r2.x, cb1[165].z, r21.x
    mov r22.yz, r21.yyzy
    mov r22.w, l(0)
    ld_indexable(texture3d)(uint,uint,uint,uint) r0.w, r22.xyzw, t14.yzwx
    utof r21.xyz, r21.xyzx
    mad r21.xyz, r21.xyzx, cb1[r2.x + 171].zzzz, cb1[r2.x + 183].xyzx
    ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r22.xyz, r0.w, l(0), t16.xyzx
    add r21.xyz, r21.xyzx, r22.xyzx
    add r22.xyz, r9.xyzx, -r21.xyzx
    dp3 r11.w, r22.xyzx, r22.xyzx
    dp3 r13.w, r5.yzwy, r22.xyzx
    add r14.w, r13.w, r13.w
    mad r11.w, -r1.z, r1.z, r11.w
    mul r11.w, r11.w, r12.w
    mad r11.w, r14.w, r14.w, -r11.w
    ge r14.w, r11.w, l(0.000000)
    sqrt r11.w, r11.w
    mad r11.w, -r13.w, l(2.000000), r11.w
    div r11.w, r11.w, r7.w
    movc r11.w, r14.w, r11.w, l(-1.000000)
    mad r22.xyz, r5.yzwy, r11.wwww, r9.xyzx
    add r21.xyz, -r21.xyzx, r22.xyzx
    dp3 r11.w, l(1.000000, 1.000000, 1.000000, 0.000000), |r21.xyzx|
    div r21.xy, r21.xyxx, r11.wwww
    ge r11.w, l(0.000000), r21.z
    add r21.zw, -|r21.yyyx|, l(0.000000, 0.000000, 1.000000, 1.000000)
    ge r22.xy, r21.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
    movc r22.xy, r22.xyxx, l(1.000000,1.000000,0,0), l(-1.000000,-1.000000,0,0)
    mul r21.zw, r21.zzzw, r22.xxxy
    movc r21.xy, r11.wwww, r21.zwzz, r21.xyxx
    mad r21.xy, r21.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
    and r22.x, r0.w, cb1[191].x
    ushr r22.y, r0.w, cb1[191].y
    imul null, r21.zw, r22.xxxy, cb1[166].yyyy
    mad r21.xy, r21.xyxx, r1.wwww, r9.wwww
    utof r21.zw, r21.zzzw
    add r21.xy, r21.xyxx, r21.zwzz
    mul r21.xy, r21.xyxx, cb1[189].xyxx
    ieq r0.w, r0.w, l(-1)
    sample_l_indexable(texture2d)(float,float,float,float) r21.xyz, r21.xyxx, t15.xyzw, s2, l(0.000000)
    movc r21.xyz, r0.wwww, l(0,0,0,0), r21.xyzx
    iadd r22.xyz, r15.xyzx, l(1, 1, 0, 0)
    imad r23.x, r2.x, cb1[165].z, r22.x
    mov r23.yz, r22.yyzy
    mov r23.w, l(0)
    ld_indexable(texture3d)(uint,uint,uint,uint) r0.w, r23.xyzw, t14.yzwx
    utof r22.xyz, r22.xyzx
    mad r22.xyz, r22.xyzx, cb1[r2.x + 171].zzzz, cb1[r2.x + 183].xyzx
    ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r23.xyz, r0.w, l(0), t16.xyzx
    add r22.xyz, r22.xyzx, r23.xyzx
    add r23.xyz, r9.xyzx, -r22.xyzx
    dp3 r11.w, r23.xyzx, r23.xyzx
    dp3 r13.w, r5.yzwy, r23.xyzx
    add r14.w, r13.w, r13.w
    mad r11.w, -r1.z, r1.z, r11.w
    mul r11.w, r11.w, r12.w
    mad r11.w, r14.w, r14.w, -r11.w
    ge r14.w, r11.w, l(0.000000)
    sqrt r11.w, r11.w
    mad r11.w, -r13.w, l(2.000000), r11.w
    div r11.w, r11.w, r7.w
    movc r11.w, r14.w, r11.w, l(-1.000000)
    mad r23.xyz, r5.yzwy, r11.wwww, r9.xyzx
    add r22.xyz, -r22.xyzx, r23.xyzx
    dp3 r11.w, l(1.000000, 1.000000, 1.000000, 0.000000), |r22.xyzx|
    div r22.xy, r22.xyxx, r11.wwww
    ge r11.w, l(0.000000), r22.z
    add r22.zw, -|r22.yyyx|, l(0.000000, 0.000000, 1.000000, 1.000000)
    ge r23.xy, r22.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
    movc r23.xy, r23.xyxx, l(1.000000,1.000000,0,0), l(-1.000000,-1.000000,0,0)
    mul r22.zw, r22.zzzw, r23.xxxy
    movc r22.xy, r11.wwww, r22.zwzz, r22.xyxx
    mad r22.xy, r22.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
    and r23.x, r0.w, cb1[191].x
    ushr r23.y, r0.w, cb1[191].y
    imul null, r22.zw, r23.xxxy, cb1[166].yyyy
    mad r22.xy, r22.xyxx, r1.wwww, r9.wwww
    utof r22.zw, r22.zzzw
    add r22.xy, r22.xyxx, r22.zwzz
    mul r22.xy, r22.xyxx, cb1[189].xyxx
    ieq r0.w, r0.w, l(-1)
    sample_l_indexable(texture2d)(float,float,float,float) r22.xyz, r22.xyxx, t15.xyzw, s2, l(0.000000)
    movc r22.xyz, r0.wwww, l(0,0,0,0), r22.xyzx
    iadd r15.xyz, r15.xyzx, l(1, 1, 1, 0)
    imad r23.x, r2.x, cb1[165].z, r15.x
    mov r23.yz, r15.yyzy
    mov r23.w, l(0)
    ld_indexable(texture3d)(uint,uint,uint,uint) r0.w, r23.xyzw, t14.yzwx
    utof r15.xyz, r15.xyzx
    mad r15.xyz, r15.xyzx, cb1[r2.x + 171].zzzz, cb1[r2.x + 183].xyzx
    ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r23.xyz, r0.w, l(0), t16.xyzx
    add r15.xyz, r15.xyzx, r23.xyzx
    add r23.xyz, r9.xyzx, -r15.xyzx
    dp3 r2.x, r23.xyzx, r23.xyzx
    dp3 r11.w, r5.yzwy, r23.xyzx
    add r13.w, r11.w, r11.w
    mad r1.z, -r1.z, r1.z, r2.x
    mul r1.z, r1.z, r12.w
    mad r1.z, r13.w, r13.w, -r1.z
    ge r2.x, r1.z, l(0.000000)
    sqrt r1.z, r1.z
    mad r1.z, -r11.w, l(2.000000), r1.z
    div r1.z, r1.z, r7.w
    movc r1.z, r2.x, r1.z, l(-1.000000)
    mad r9.xyz, r5.yzwy, r1.zzzz, r9.xyzx
    add r9.xyz, -r15.xyzx, r9.xyzx
    dp3 r1.z, l(1.000000, 1.000000, 1.000000, 0.000000), |r9.xyzx|
    div r9.xy, r9.xyxx, r1.zzzz
    ge r1.z, l(0.000000), r9.z
    add r15.xy, -|r9.yxyy|, l(1.000000, 1.000000, 0.000000, 0.000000)
    ge r15.zw, r9.xxxy, l(0.000000, 0.000000, 0.000000, 0.000000)
    movc r15.zw, r15.zzzw, l(0,0,1.000000,1.000000), l(0,0,-1.000000,-1.000000)
    mul r15.xy, r15.zwzz, r15.xyxx
    movc r9.xy, r1.zzzz, r15.xyxx, r9.xyxx
    mad r9.xy, r9.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
    and r15.x, r0.w, cb1[191].x
    ushr r15.y, r0.w, cb1[191].y
    imul null, r15.xy, r15.xyxx, cb1[166].yyyy
    mad r1.zw, r9.xxxy, r1.wwww, r9.wwww
    utof r9.xy, r15.xyxx
    add r1.zw, r1.zzzw, r9.xxxy
    mul r1.zw, r1.zzzw, cb1[189].xxxy
    ieq r0.w, r0.w, l(-1)
    sample_l_indexable(texture2d)(float,float,float,float) r9.xyz, r1.zwzz, t15.xyzw, s2, l(0.000000)
    movc r9.xyz, r0.wwww, l(0,0,0,0), r9.xyzx
    add r15.xyz, -r16.xzwx, r17.xyzx
    mad r15.xyz, r14.zzzz, r15.xyzx, r16.xzwx
    add r16.xzw, -r18.xxyz, r19.xxyz
    mad r16.xzw, r14.zzzz, r16.xxzw, r18.xxyz
    add r17.xyz, -r20.xyzx, r21.xyzx
    mad r17.xyz, r14.zzzz, r17.xyzx, r20.xyzx
    add r9.xyz, -r22.xyzx, r9.xyzx
    mad r9.xyz, r14.zzzz, r9.xyzx, r22.xyzx
    add r16.xzw, -r15.xxyz, r16.xxzw
    mad r15.xyz, r14.yyyy, r16.xzwx, r15.xyzx
    add r9.xyz, -r17.xyzx, r9.xyzx
    mad r9.xyz, r14.yyyy, r9.xyzx, r17.xyzx
    add r9.xyz, -r15.xyzx, r9.xyzx
    mad r13.xyz, r14.xxxx, r9.xyzx, r15.xyzx
  else
    iadd r0.w, r1.x, cb1[0].w
    ishl r1.x, r0.w, l(1)
    ld_indexable(buffer)(uint,uint,uint,uint) r1.x, r1.xxxx, t7.xyzw
    umin r1.x, r1.x, cb1[0].y
    bfi r0.w, l(31), l(1), r0.w, l(1)
    ld_indexable(buffer)(uint,uint,uint,uint) r0.w, r0.wwww, t7.yzwx
    max r1.z, r2.y, l(0.001000)
    log r1.z, r1.z
    mad r1.z, -r1.z, l(1.200000), l(1.000000)
    add r1.w, cb0[196].z, l(-1.000000)
    add r1.w, -r1.z, r1.w
    mov r5.x, l(0)
    mov r9.xyz, l(0,0,0,0)
    mov r2.x, l(1.000000)
    mov r7.w, l(0)
    loop
      uge r9.w, r7.w, r1.x
      breakc_nz r9.w
      lt r9.w, r2.x, l(0.001000)
      if_nz r9.w
        break
      endif
      iadd r9.w, r0.w, r7.w
      ld_indexable(buffer)(uint,uint,uint,uint) r9.w, r9.wwww, t8.yzwx
      add r14.xyz, -cb0[64].xyzx, cb2[r9.w + 341].xyzx
      add r15.xyz, cb0[76].xyzx, cb2[r9.w + 0].xyzx
      mad r14.xyz, r14.xyzx, l(2097152.000000, 2097152.000000, 2097152.000000, 0.000000), r15.xyzx
      add r15.xyz, r3.xyzx, -r14.xyzx
      dp3 r11.w, r15.xyzx, r15.xyzx
      sqrt r12.w, r11.w
      lt r13.w, r12.w, cb2[r9.w + 0].w
      if_nz r13.w
        lt r13.w, l(0.000000), cb2[r9.w + 682].z
        if_nz r13.w
          ishl r13.w, r9.w, l(2)
          mul r16.xzw, r15.yyyy, cb2[r13.w + 1365].xxyz
          mad r16.xzw, r15.xxxx, cb2[r13.w + 1364].xxyz, r16.xxzw
          mad r16.xzw, r15.zzzz, cb2[r13.w + 1366].xxyz, r16.xxzw
          add r16.xzw, r16.xxzw, cb2[r13.w + 1367].xxyz
          mul r17.xyz, r5.zzzz, cb2[r13.w + 1365].xyzx
          mad r17.xyz, r5.yyyy, cb2[r13.w + 1364].xyzx, r17.xyzx
          mad r17.xyz, r5.wwww, cb2[r13.w + 1366].xyzx, r17.xyzx
          rcp r17.xyz, r17.xyzx
          mad r18.xyz, -r16.xzwx, r17.xyzx, -r17.xyzx
          mad r17.xyz, -r16.xzwx, r17.xyzx, r17.xyzx
          max r17.xyz, r17.xyzx, r18.xyzx
          min r13.w, r17.z, r17.y
          min r13.w, r13.w, r17.x
          mad r17.xyz, r13.wwww, r5.yzwy, r3.xyzx
          add r14.xyz, r14.xyzx, cb2[r9.w + 1023].xyzx
          add r14.xyz, -r14.xyzx, r17.xyzx
          mul r13.w, l(0.700000), cb2[r9.w + 2728].w
          mad r17.xyz, -cb2[r9.w + 2728].wwww, l(0.500000, 0.500000, 0.500000, 0.000000), cb2[r9.w + 2728].xyzx
          mul r18.xyz, r16.xzwx, cb2[r9.w + 2728].xyzx
          lt r19.xyz, r18.xyzx, -r17.xyzx
          mad r20.xyz, r16.xzwx, cb2[r9.w + 2728].xyzx, r17.xyzx
          mov r20.xyz, |r20.xyzx|
          and r19.xyz, r19.xyzx, r20.xyzx
          lt r18.xyz, r17.xyzx, r18.xyzx
          mad r16.xzw, r16.xxzw, cb2[r9.w + 2728].xxyz, -r17.xxyz
          mov r16.xzw, |r16.xxzw|
          and r16.xzw, r16.xxzw, r18.xxyz
          dp3 r15.w, r19.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
          dp3 r16.x, r16.xzwx, l(1.000000, 1.000000, 1.000000, 0.000000)
          add r15.w, r15.w, r16.x
          div r13.w, l(1.000000, 1.000000, 1.000000, 1.000000), r13.w
          mul_sat r13.w, r13.w, r15.w
          mad r15.w, r13.w, l(-2.000000), l(3.000000)
          mul r13.w, r13.w, r13.w
          mad r17.x, -r15.w, r13.w, l(1.000000)
        else
          div_sat r12.w, r12.w, cb2[r9.w + 0].w
          dp3 r13.w, r5.yzwy, r15.xyzx
          mad r11.w, -cb2[r9.w + 0].w, cb2[r9.w + 0].w, r11.w
          mad r11.w, r13.w, r13.w, -r11.w
          ge r15.w, r11.w, l(0.000000)
          sqrt r11.w, r11.w
          add r11.w, -r13.w, r11.w
          mad r15.xyz, r11.wwww, r5.yzwy, r15.xyzx
          add r18.yzw, r15.xxyz, -cb2[r9.w + 1023].xxyz
          mad r11.w, r12.w, l(2.500000), l(-1.500000)
          max r11.w, r11.w, l(0.000000)
          mul r12.w, r11.w, r11.w
          mad r11.w, -r11.w, l(2.000000), l(3.000000)
          mad r18.x, -r12.w, r11.w, l(1.000000)
          movc r17.xyzw, r15.wwww, r18.xyzw, r5.xyzw
          mov r14.xyz, r17.yzwy
        endif
        mov r14.w, cb2[r9.w + 682].y
        sample_l_indexable(texturecubearray)(float,float,float,float) r14.xyzw, r14.xyzw, t10.xyzw, s8, r1.w
        mul r14.xyz, r14.xyzx, cb2[r9.w + 682].xxxx
        mul r14.xyz, r17.xxxx, r14.xyzx
        mad r9.xyz, r14.xyzx, r2.xxxx, r9.xyzx
        mad r9.w, -r14.w, r17.x, l(1.000000)
        mul r2.x, r2.x, r9.w
      endif
      iadd r7.w, r7.w, l(1)
    endloop
    lt r0.w, l(0.000000), cb1[84].y
    if_nz r0.w
      add r0.w, -r1.z, cb1[84].x
      add r0.w, r0.w, l(-1.000000)
      sample_l_indexable(texturecube)(float,float,float,float) r1.xzw, r5.yzwy, t9.xwyz, s7, r0.w
      mul r1.xzw, r1.xxzw, cb0[187].xxyz
    else
      mov r1.xzw, l(0,0,0,0)
    endif
    mul r1.xzw, r1.xxzw, r2.xxxx
    mad r13.xyz, r9.xyzx, cb0[160].xyzx, r1.xzwx
  endif
endif
eq r0.w, cb0[145].w, l(0.000000)
ilt r1.x, l(0), cb1[157].y
and r0.w, r0.w, r1.x
and r0.w, r6.w, r0.w
if_nz r0.w
  utof r0.w, cb0[145].x
  mad r1.xz, r0.wwww, l(32.665001, 0.000000, 11.815000, 0.000000), v4.xxyx
  dp2 r0.w, r1.xzxx, l(0.0671105608, 0.00583714992, 0.000000, 0.000000)
  frc r0.w, r0.w
  mul r0.w, r0.w, l(52.982918)
  frc r0.w, r0.w
  add r0.w, r0.w, l(-0.500000)
  min r1.x, r2.w, l(1000000.000000)
  mul r1.z, r5.z, cb0[17].z
  mad r1.z, r5.y, cb0[16].z, r1.z
  mad r1.z, r5.w, cb0[18].z, r1.z
  lt r1.w, r1.z, l(0.000000)
  mul r2.x, v4.w, l(-0.950000)
  div r1.z, r2.x, r1.z
  min r1.z, r1.x, r1.z
  movc r1.x, r1.w, r1.z, r1.x
  mad r5.xyz, r5.yzwy, r1.xxxx, r3.xyzx
  mul r9.xyzw, r3.yyyy, cb0[1].xyzw
  mad r9.xyzw, r3.xxxx, cb0[0].xyzw, r9.xyzw
  mad r9.xyzw, r3.zzzz, cb0[2].xyzw, r9.xyzw
  add r9.xyzw, r9.xyzw, cb0[3].xyzw
  ld_indexable(buffer)(float,float,float,float) r31.xyzw, l(0, 0, 0, 0), t125.xyzw
  add r32.x, r9.w, -r31.y
  mad r9.x, r31.x, r32.x, r9.x
  mul r14.xyzw, r5.yyyy, cb0[1].xyzw
  mad r14.xyzw, r5.xxxx, cb0[0].xyzw, r14.xyzw
  mad r5.xyzw, r5.zzzz, cb0[2].xyzw, r14.xyzw
  add r5.xyzw, r5.xyzw, cb0[3].xyzw
  ld_indexable(buffer)(float,float,float,float) r33.xyzw, l(0, 0, 0, 0), t125.xyzw
  add r34.x, r5.w, -r33.y
  mad r5.x, r33.x, r34.x, r5.x
  rcp r1.z, r9.w
  mul r14.xyz, r1.zzzz, r9.xyzx
  rcp r1.z, r5.w
  mad r1.xw, r1.xxxx, cb0[34].zzzw, r9.zzzw
  rcp r1.w, r1.w
  mad r5.xyz, r5.xyzx, r1.zzzz, -r14.xyzx
  dp2 r1.z, r5.xyxx, r5.xyxx
  sqrt r1.z, r1.z
  mul r2.x, r1.z, l(0.500000)
  mad r9.xy, r14.xyxx, r2.xxxx, r5.xyxx
  mad r9.xy, -r1.zzzz, l(0.500000, 0.500000, 0.000000, 0.000000), |r9.xyxx|
  max r9.xy, r9.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
  div r9.xy, r9.xyxx, |r5.xyxx|
  add r9.xy, -r9.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
  min r1.z, r9.y, r9.x
  div r1.z, r1.z, r2.x
  mul r5.xyz, r1.zzzz, r5.xyzx
  mad r1.x, -r1.x, r1.w, r14.z
  mul r1.x, r1.x, l(4.000000)
  max r1.x, r1.x, |r5.z|
  mad r1.zw, r14.xxxy, l(0.000000, 0.000000, 0.500000, -0.500000), l(0.000000, 0.000000, 0.500000, 0.500000)
  mul r14.xy, r1.zwzz, cb1[154].xyxx
  mul r5.xy, r5.xyxx, cb1[154].xyxx
  mul r1.z, r1.x, l(0.0833333358)
  mul r5.xyz, r5.xyzx, l(0.0416666679, -0.0416666679, 0.0833333358, 0.000000)
  mad r9.xyz, r5.xyzx, r0.wwww, r14.xyzx
  mov r0.w, l(1.000000)
  mov r1.w, l(0)
  mov r15.x, l(0)
  mov r17.x, l(0)
  mov r14.xyz, l(0,0,0,0)
  mov r2.xw, l(0,0,0,0)
  mov r5.w, l(0)
  mov r6.w, l(0)
  loop
    uge r7.w, r6.w, l(12)
    breakc_nz r7.w
    utof r7.w, r6.w
    add r18.xyzw, r7.wwww, l(1.000000, 2.000000, 3.000000, 4.000000)
    mad r19.xyzw, r18.xxxy, r5.xyzz, r9.xyzz
    mad r20.xyzw, r18.yyzz, r5.xyxy, r9.xyxy
    mad r18.xyzw, r18.wwzw, r5.xyzz, r9.xyzz
    mad r7.w, r2.y, l(0.666666687), r0.w
    mad r9.w, r2.y, l(0.666666687), r7.w
    sample_l_indexable(texture2d)(float,float,float,float) r21.x, r19.xyxx, t21.xyzw, s11, r0.w
    sample_l_indexable(texture2d)(float,float,float,float) r21.y, r20.xyxx, t21.yxzw, s11, r0.w
    sample_l_indexable(texture2d)(float,float,float,float) r21.z, r20.zwzz, t21.yzxw, s11, r7.w
    sample_l_indexable(texture2d)(float,float,float,float) r21.w, r18.xyxx, t21.yzwx, s11, r7.w
    mov r18.xy, r19.zwzz
    add r18.xyzw, -r21.xyzw, r18.xyzw
    mad r19.xyzw, r1.xxxx, l(0.0833333358, 0.0833333358, 0.0833333358, 0.0833333358), r18.xyzw
    lt r19.xyzw, |r19.xyzw|, r1.zzzz
    or r7.w, r1.w, r19.x
    or r7.w, r19.y, r7.w
    or r7.w, r19.z, r7.w
    or r7.w, r19.w, r7.w
    if_nz r7.w
      mov r1.w, l(-1)
      mov r17.x, r18.x
      mov r14.xyz, r18.yzwy
      mov r2.xw, r19.xxxy
      mov r5.w, r19.z
      break
    endif
    mov r15.x, r18.w
    iadd r6.w, r6.w, l(4)
    mov r0.w, r9.w
    mov r1.w, r7.w
    mov r17.x, r18.x
    mov r14.xyz, r18.yzwy
    mov r2.xw, r19.xxxy
    mov r5.w, r19.z
  endloop
  if_nz r1.w
    mov r14.w, l(2.000000)
    mov r18.xy, r14.yzyy
    mov r18.z, l(3.000000)
    movc r1.xzw, r5.wwww, r14.xxyw, r18.xxyz
    mov r17.y, r14.x
    mov r17.z, l(1.000000)
    movc r1.xzw, r2.wwww, r17.xxyz, r1.xxzw
    mov r15.y, r17.x
    mov r15.z, l(0)
    movc r1.xzw, r2.xxxx, r15.xxyz, r1.xxzw
    utof r0.w, r6.w
    add r0.w, r0.w, r1.w
    add r1.z, -r1.z, r1.x
    div_sat r1.x, r1.x, r1.z
    add r0.w, r0.w, r1.x
    mad r1.xzw, r5.xxyz, r0.wwww, r9.xxyz
    mul r1.xz, r1.xxzx, cb1[154].zzwz
    mad r1.xz, r1.xxzx, l(2.000000, 0.000000, -2.000000, 0.000000), l(-1.000000, 0.000000, 1.000000, 0.000000)
    mul r1.xz, r1.xxzx, cb0[72].xxyx
    div r1.xz, r1.xxzx, cb0[72].xxyx
    ld_indexable(buffer)(float,float,float,float) r41.xyzw, l(0, 0, 0, 0), t125.xyzw
    ld_indexable(buffer)(float,float,float,float) r40.xyzw, l(2, 0, 0, 0), t125.xyzw
    mov r42.x, r1.x
    mov r43.y, r1.w
    mul r43.x, r41.y, r1.w
    mul r43.x, r43.x, -cb0[42].w
    add r43.x, r43.x, l(1.000000)
    mad r42.x, -r41.x, r43.x, r42.x
    mul r5.xyz, r1.zzzz, cb0[118].xywx
    mad r5.xyz, r42.xxxx, cb0[117].xywx, r5.xyzx
    mad r5.xyz, r1.wwww, cb0[119].xywx, r5.xyzx
    add r5.xyz, r5.xyzx, cb0[120].xywx
    mul r43.x, r40.y, r43.y
    mul r43.x, r43.x, -cb0[42].w
    add r43.x, r5.z, r43.x
    mad r5.x, r40.x, r43.x, r5.x
    div r2.xw, r5.xxxy, r5.zzzz
    mad r5.xy, r2.xwxx, cb1[155].xyxx, cb1[155].zwzz
    ld_indexable(buffer)(float,float,float,float) r39.xyzw, l(0, 0, 0, 0), t125.xyzw
    mad r1.x, r39.x, l(-2.000000), r1.x
    mad_sat r1.xz, |r1.xxzx|, l(5.000000, 0.000000, 5.000000, 0.000000), l(-4.000000, 0.000000, -4.000000, 0.000000)
    dp2 r0.w, r1.xzxx, r1.xzxx
    add r0.w, -r0.w, l(1.000000)
    max r0.w, r0.w, l(0.000000)
    mad_sat r1.xz, |r2.xxwx|, l(5.000000, 0.000000, 5.000000, 0.000000), l(-4.000000, 0.000000, -4.000000, 0.000000)
    dp2 r1.x, r1.xzxx, r1.xzxx
    add r1.x, -r1.x, l(1.000000)
    max r1.x, r1.x, l(0.000000)
    min r0.w, r0.w, r1.x
    max r1.xz, r5.xxyx, cb1[156].xxyx
    min r1.xz, r1.xxzx, cb1[156].zzwz
    sample_l_indexable(texture2d)(float,float,float,float) r1.xzw, r1.xzxx, t22.xwyz, s12, l(0.000000)
    min r1.xzw, -r1.xxzw, l(0.000000, 0.000000, 0.000000, 0.000000)
    mad_sat r2.x, -r2.y, l(6.600000), l(2.000000)
    mul r0.w, r0.w, r2.x
    mov r2.x, l(1.000000)
    mul r1.xzw, r0.wwww, -r1.xxzw
    mul r1.xzw, r1.xxzw, cb1[157].xxxx
    mad r0.w, -r2.x, r0.w, l(1.000000)
    mad r13.xyz, r13.xyzx, r0.wwww, r1.xzwx
  endif
endif
dp3 r0.w, cb1[89].xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
lt r0.w, l(0.000100), |r0.w|
if_nz r0.w
  mov r3.w, l(-1.000000)
  dp4 r0.w, cb1[89].xyzw, r3.xyzw
  mad_sat r0.w, |r0.w|, cb1[96].x, cb1[96].y
  add r0.w, -r0.w, l(1.000000)
  add r1.xzw, r3.xxyz, -cb1[90].xxyz
  dp3 r2.x, r1.xzwx, cb1[91].xyzx
  add r2.x, -|r2.x|, cb1[91].w
  mul_sat r2.x, r2.x, cb1[96].x
  dp3 r1.x, r1.xzwx, cb1[92].xyzx
  add r1.x, -|r1.x|, cb1[92].w
  mul_sat r1.x, r1.x, cb1[96].x
  mul r1.x, r1.x, r2.x
  mul r0.w, r0.w, r1.x
  dp3 r1.x, cb1[89].xyzx, r7.xyzx
  mad_sat r1.x, r1.x, cb1[97].x, cb1[97].y
  add r1.z, r2.y, l(-0.200000)
  mul_sat r1.z, r1.z, l(10.000000)
  add r1.z, -r1.z, l(1.000000)
  mul r0.w, r0.w, r1.x
  mul r0.w, r1.z, r0.w
  lt r1.x, l(0.000000), r0.w
  if_nz r1.x
    add r5.xyz, r3.xyzx, -cb0[74].xyzx
    dp3 r1.x, r5.xyzx, r5.xyzx
    rsq r1.x, r1.x
    mul r5.xyz, r1.xxxx, r5.xyzx
    dp3 r1.x, r5.xyzx, -cb1[89].xyzx
    add r1.x, r1.x, r1.x
    mad r5.xyz, cb1[89].xyzx, r1.xxxx, r5.xyzx
    mul r9.xyz, r7.yyyy, cb1[94].xyzx
    mad r7.xyw, r7.xxxx, cb1[93].xyxz, r9.xyxz
    mad r7.xyz, r7.zzzz, cb1[95].xyzx, r7.xywx
    dp3 r1.x, r5.xyzx, r7.xyzx
    add r1.x, r1.x, r1.x
    mad r5.xyz, r7.xyzx, -r1.xxxx, r5.xyzx
    mad r5.xyz, r5.xyzx, cb1[96].zzzz, r3.xyzx
    mul r7.xyz, r5.yyyy, cb0[17].xyzx
    mad r5.xyw, r5.xxxx, cb0[16].xyxz, r7.xyxz
    mad r5.xyz, r5.zzzz, cb0[18].xyzx, r5.xywx
    add r5.xyz, r5.xyzx, cb0[19].xyzx
    ishl r1.x, cb0[198].w, l(2)
    mul r7.xyz, r5.yyyy, cb1[r1.x + 99].xywx
    mad r5.xyw, r5.xxxx, cb1[r1.x + 98].xyxw, r7.xyxz
    mad r5.xyz, r5.zzzz, cb1[r1.x + 100].xywx, r5.xywx
    add r5.xyz, r5.xyzx, cb1[r1.x + 101].xywx
    add r47.x, r5.z, -r46.y
    mad r5.x, r46.x, r5.z, r5.x
    div r1.xw, r5.xxxy, r5.zzzz
    max r1.xw, r1.xxxw, -cb1[108].xxxy
    min r1.xw, r1.xxxw, cb1[108].xxxy
    mad r1.xw, r1.xxxw, cb1[106].xxxy, cb1[106].zzzw
    sample_l_indexable(texture2d)(float,float,float,float) r5.xyzw, r1.xwxx, t11.xyzw, s8, l(0.000000)
    mul r0.w, r0.w, r5.w
    mul r1.xzw, r1.zzzz, r5.xxyz
  else
    mov r1.xzw, l(0,0,0,0)
    mov r0.w, l(0)
  endif
  add r0.w, -r0.w, l(1.000000)
  mad r13.xyz, r0.wwww, r13.xyzx, r1.xzwx
endif
mad r5.xyzw, r2.yyyy, l(-1.000000, -0.027500, -0.572000, 0.022000), l(1.000000, 0.042500, 1.040000, -0.040000)
mul r0.w, r5.x, r5.x
mul r1.x, r1.y, l(-9.280000)
exp r1.x, r1.x
min r0.w, r0.w, r1.x
mad r0.w, r0.w, r5.x, r5.y
mad r1.xy, r0.wwww, l(-1.040000, 1.040000, 0.000000, 0.000000), r5.zwzz
mov r10.xyz, r10.wyzw
mul r0.w, r1.y, r16.y
mad r1.xyz, r10.xyzx, r1.xxxx, r0.wwww
mul r1.xyz, r1.xyzx, r13.xyzx
mad r2.xyw, r10.xyxz, l(2.040400, 2.040400, 0.000000, 2.040400), l(-0.332400, -0.332400, 0.000000, -0.332400)
mad r5.xyz, r10.xyzx, l(-4.795100, -4.795100, -4.795100, 0.000000), l(0.641700, 0.641700, 0.641700, 0.000000)
mad r7.xyz, r10.xyzx, l(2.755200, 2.755200, 2.755200, 0.000000), l(0.690300, 0.690300, 0.690300, 0.000000)
mad r2.xyw, r8.yyyy, r2.xyxw, r5.xyxz
mad r2.xyw, r2.xyxw, r8.yyyy, r7.xyxz
mul r2.xyw, r8.yyyy, r2.xyxw
max r2.xyw, r2.xyxw, r8.yyyy
mad r1.xyz, r1.xyzx, r2.xywx, r8.xzwx
dp3 r0.w, r3.xyzx, r3.xyzx
rsq r0.w, r0.w
mul r2.xyw, r0.wwww, r3.xyxz
dp3 r0.w, r2.xywx, cb0[66].xyzx
lt r1.w, l(0.001000), r0.w
rcp r0.w, r0.w
and r0.w, r0.w, r1.w
mul r0.w, r0.w, cb0[232].x
mad r1.w, cb0[64].z, l(2097152.000000), cb0[73].z
min r5.z, r1.w, cb1[110].z
add r1.w, r1.w, -r5.z
add r7.z, r1.w, r3.z
mov r7.xy, r3.xyxx
dp3 r1.w, r7.xyzx, r7.xyzx
max r2.x, r1.w, l(9.999999939E-09)
rsq r2.x, r2.x
mul r1.w, r1.w, r2.x
dp3 r2.y, cb0[126].xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
lt r2.y, l(0.000000), r2.y
if_nz r2.y
  mad r5.xy, cb0[64].xyxx, l(2097152.000000, 2097152.000000, 0.000000, 0.000000), cb0[73].xyxx
  mad r8.xyz, cb0[64].xyzx, l(-2097152.000000, -2097152.000000, -2097152.000000, 0.000000), cb0[76].xyzx
  add r8.xyz, r5.xyzx, r8.xyzx
  mov r8.w, l(1.000000)
  dp4 r2.y, cb0[126].xyzw, r8.xyzw
  dp3 r2.w, r7.xyzx, cb0[126].xyzx
  div r2.y, -r2.y, r2.w
  lt r2.w, l(0.000000), r2.y
  lt r3.w, r2.y, l(1.000000)
  and r2.w, r2.w, r3.w
  mul r2.y, r1.w, r2.y
  max r2.y, r0.w, r2.y
  movc r0.w, r2.w, r2.y, r0.w
endif
max r0.w, r0.w, cb1[110].w
lt r2.y, l(0.000000), r0.w
mul r2.w, r2.x, r0.w
mad r3.w, r2.w, r7.z, r5.z
mad r2.w, -r2.w, r7.z, r7.z
mad r0.w, -r0.w, r2.x, l(1.000000)
mul r0.w, r1.w, r0.w
add r5.x, r3.w, -cb1[113].y
mul r5.x, r5.x, cb1[110].y
max r5.x, r5.x, l(-127.000000)
exp r5.x, -r5.x
mul r5.x, r5.x, cb1[113].x
add r3.w, r3.w, -cb1[111].w
mul r3.w, r3.w, cb1[111].y
max r3.w, r3.w, l(-127.000000)
exp r3.w, -r3.w
mul r3.w, r3.w, cb1[111].z
movc r5.x, r2.y, r5.x, cb1[110].x
movc r3.w, r2.y, r3.w, cb1[111].x
movc r0.w, r2.y, r0.w, r1.w
movc r2.y, r2.y, r2.w, r7.z
mul r2.w, r2.y, cb1[110].y
max r2.w, r2.w, l(-127.000000)
exp r5.y, -r2.w
add r5.y, -r5.y, l(1.000000)
div r5.y, r5.y, r2.w
mad r5.z, -r2.w, l(0.240226507), l(0.693147182)
lt r2.w, l(0.010000), |r2.w|
movc r2.w, r2.w, r5.y, r5.z
mul r2.y, r2.y, cb1[111].y
max r2.y, r2.y, l(-127.000000)
exp r5.y, -r2.y
add r5.y, -r5.y, l(1.000000)
div r5.y, r5.y, r2.y
mad r5.z, -r2.y, l(0.240226507), l(0.693147182)
lt r2.y, l(0.010000), |r2.y|
movc r2.y, r2.y, r5.y, r5.z
mul r2.y, r2.y, r3.w
mad r2.y, r5.x, r2.w, r2.y
mul r2.w, r0.w, r2.y
lt r5.xy, l(0.000000, 0.000000, 0.000000, 0.000000), cb1[113].zwzz
if_nz r5.x
  mad_sat r3.w, r1.w, cb1[118].x, cb1[118].y
  mul r5.xz, cb1[117].yyxy, l(1.000000, 0.000000, -1.000000, 0.000000)
  dp2 r8.x, r7.xyxx, r5.xzxx
  dp2 r8.y, r7.xyxx, cb1[117].xyxx
  mov r8.z, r7.z
  sample_l_indexable(texturecube)(float,float,float,float) r5.xzw, r8.xyzx, t12.xwyz, s9, l(0.000000)
  sample_l_indexable(texturecube)(float,float,float,float) r8.xyz, r8.xyzx, t12.xyzw, s9, cb1[118].z
  add r5.xzw, r5.xxzw, -r8.xxyz
  mad r5.xzw, r3.wwww, r5.xxzw, r8.xxyz
  mul r5.xzw, r5.xxzw, cb1[112].xxyz
else
  mov r5.xzw, cb1[112].xxyz
endif
mul r8.xyz, cb0[179].yyyy, cb1[114].xyzx
sample_l_indexable(texture2d)(float,float,float,float) r9.xyz, l(0.500000, 0.500000, 0.000000, 0.000000), t3.xyzw, s4, l(0.000000)
mad r5.xzw, r8.xxyz, r9.xxyz, r5.xxzw
ge r3.w, cb1[115].w, l(0.000000)
eq r6.w, cb1[113].z, l(0.000000)
and r3.w, r3.w, r6.w
if_nz r3.w
  mul r8.xyz, r2.xxxx, r7.xyzx
  mul r9.xyz, cb0[163].xyzx, cb0[179].yyyy
  mad r9.xyz, r9.xyzx, l(0.0795774683, 0.0795774683, 0.0795774683, 0.000000), cb1[116].xyzx
  dp3_sat r2.x, r8.xyzx, cb0[161].xyzx
  log r2.x, r2.x
  mul r2.x, r2.x, cb1[116].w
  exp r2.x, r2.x
  mul r9.xyz, r2.xxxx, r9.xyzx
  lt r2.x, l(0.000000), cb0[164].w
  mul r13.xyz, cb0[164].xyzx, cb0[179].yyyy
  mad r13.xyz, r13.xyzx, l(0.0795774683, 0.0795774683, 0.0795774683, 0.000000), cb1[116].xyzx
  dp3_sat r3.w, r8.xyzx, cb0[162].xyzx
  log r3.w, r3.w
  mul r3.w, r3.w, cb1[116].w
  exp r3.w, r3.w
  mad r8.xyz, r13.xyzx, r3.wwww, r9.xyzx
  movc r8.xyz, r2.xxxx, r8.xyzx, r9.xyzx
  add r0.w, r0.w, -cb1[115].w
  max r0.w, r0.w, l(0.000000)
  mul r0.w, r0.w, r2.y
  exp r0.w, -r0.w
  min r0.w, r0.w, l(1.000000)
  add r0.w, -r0.w, l(1.000000)
  mul r8.xyz, r0.wwww, r8.xyzx
else
  mov r8.xyz, l(0,0,0,0)
endif
exp r0.w, -r2.w
min r0.w, r0.w, l(1.000000)
max r8.w, r0.w, cb1[112].w
lt r0.w, cb1[113].w, r1.w
and r0.w, r0.w, r5.y
movc r8.xyzw, r0.wwww, l(1.000000,0,0,0), r8.wxyz
add r0.w, -r8.x, l(1.000000)
mad r2.xyw, r5.xzxw, r0.wwww, r8.yzyw
lt r0.w, l(0.000000), cb1[118].w
if_nz r0.w
  add r5.xyz, cb0[64].xyzx, -cb0[65].xyzx
  mad r5.xyz, r5.xyzx, l(2097152.000000, 2097152.000000, 2097152.000000, 0.000000), r4.xyzx
  mul r8.yzw, r5.yyyy, cb0[9].xxyw
  mad r5.xyw, r5.xxxx, cb0[8].xyxw, r8.yzyw
  mad r5.xyz, r5.zzzz, cb0[10].xywx, r5.xywx
  add r5.xyz, r5.xyzx, cb0[11].xywx
  ld_indexable(buffer)(float,float,float,float) r37.xyzw, l(2, 0, 0, 0), t125.xyzw
  add r38.x, r5.z, -r37.y
  mad r5.x, r37.x, r38.x, r5.x
  div r5.xy, r5.xyxx, r5.zzzz
  mad r9.xy, r5.xyxx, l(0.500000, -0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
  mad r0.w, r5.z, cb0[230].x, cb0[230].y
  log r0.w, r0.w
  mul r0.w, r0.w, cb0[230].z
  mul r9.z, r0.w, cb0[229].z
  sample_l_indexable(texture3d)(float,float,float,float) r5.xyzw, r9.xyzx, t13.xyzw, s2, l(0.000000)
  mul r5.xyz, r5.xyzx, cb0[136].wwww
  mov r0.w, cb1[119].x
  mad r0.w, r2.z, l(1.000000), -r0.w
  mul_sat r0.w, r0.w, l(100000000.000000)
  add r5.xyzw, r5.xyzw, l(-0.000000, -0.000000, -0.000000, -1.000000)
  mad r5.xyzw, r0.wwww, r5.xyzw, l(0.000000, 0.000000, 0.000000, 1.000000)
  mad r2.xyw, r2.xyxw, r5.wwww, r5.xyxz
  mul r8.x, r8.x, r5.w
endif
lt r0.w, l(0.000000), cb0[182].y
if_nz r0.w
  mul r5.xyz, r7.yyyy, cb0[1].xywx
  mad r5.xyz, r7.xxxx, cb0[0].xywx, r5.xyzx
  mad r5.xyz, r3.zzzz, cb0[2].xywx, r5.xyzx
  add r5.xyz, r5.xyzx, cb0[3].xywx
  ne r0.w, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[184].x
  mul r3.xyz, r3.xyzx, l(0.000010, 0.000010, 0.000010, 0.000000)
  add r47.x, r5.z, -r46.y
  mad r5.x, r46.x, r5.z, r5.x
  div r5.xy, r5.xyxx, r5.zzzz
  mad r5.xy, r5.xyxx, l(0.500000, -0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
  dp3 r1.w, r3.xyzx, r3.xyzx
  sqrt r2.z, r1.w
  add r2.z, r2.z, -cb0[181].x
  max r2.z, r2.z, l(0.000000)
  mul r2.z, r2.z, cb0[182].x
  mul r2.z, r2.z, cb0[181].z
  sqrt r7.z, r2.z
  mul r2.z, r7.z, cb0[181].y
  lt r3.w, r2.z, l(0.707106769)
  dp2 r2.z, r2.zzzz, r2.zzzz
  min r2.z, r2.z, l(1.000000)
  movc r2.z, r3.w, r2.z, l(1.000000)
  rsq r1.w, r1.w
  mul r3.xyz, r1.wwww, r3.xyzx
  mad r1.w, -r3.z, r3.z, l(1.000000)
  sqrt r1.w, r1.w
  mad r9.y, r3.z, l(0.500000), l(0.500000)
  div r3.xy, r3.xyxx, r1.wwww
  add r1.w, -|r3.x|, l(1.000000)
  sqrt r1.w, r1.w
  mad r3.z, |r3.x|, l(-0.0187292993), l(0.074261)
  mad r3.z, r3.z, |r3.x|, l(-0.212114394)
  mad r3.z, r3.z, |r3.x|, l(1.57072878)
  mul r3.w, r1.w, r3.z
  mad r3.w, r3.w, l(-2.000000), l(3.14159274)
  lt r3.x, r3.x, -r3.x
  and r3.x, r3.x, r3.w
  mad r1.w, r3.z, r1.w, r3.x
  lt r3.x, r3.y, l(0.000000)
  add r3.y, -r1.w, l(6.28318548)
  movc r1.w, r3.x, r3.y, r1.w
  mul r9.x, r1.w, l(0.159154937)
  mad r3.xy, cb0[180].zwzz, l(0.500000, 0.500000, 0.000000, 0.000000), r9.xyxx
  add r3.zw, cb0[180].xxxy, l(0.000000, 0.000000, 1.000000, 1.000000)
  div r3.zw, cb0[180].xxxy, r3.zzzw
  mul r3.xy, r3.zwzz, r3.xyxx
  movc r7.xy, r0.wwww, r3.xyxx, r5.xyxx
  sample_l_indexable(texture3d)(float,float,float,float) r3.xyzw, r7.xyzx, t4.xyzw, s5, l(0.000000)
  mul r3.xyz, r2.zzzz, r3.xyzx
  add r0.w, -r3.w, l(1.000000)
  mad r0.w, -r2.z, r0.w, l(1.000000)
  mul r3.xyz, r3.xyzx, cb0[136].wwww
  mad r2.xyw, r3.xyxz, r8.xxxx, r2.xyxw
  mul r8.x, r0.w, r8.x
endif
mad r3.xyz, r10.xyzx, l(0.450000, 0.450000, 0.450000, 0.000000), r11.xyzx
add r3.xyz, -r1.xyzx, r3.xyzx
mad r1.xyz, cb0[146].xxxx, r3.xyzx, r1.xyzx
max r0.xyz, r0.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
lt r0.w, l(0.000000), cb0[141].x
if_nz r0.w
  imad r0.w, v3.x, l(42), l(1)
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r3.xyz, r0.w, l(0), t0.xyzx
  imad r5.xyzw, v3.xxxx, l(42, 42, 42, 42), l(19, 18, 25, 26)
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r7.xyz, r5.x, l(0), t0.xyzx
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r9.x, r5.y, l(12), t0.xxxx
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r9.y, r5.z, l(12), t0.xxxx
  ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r9.z, r5.w, l(12), t0.xxxx
  add r3.xyz, -r3.xyzx, cb0[64].xyzx
  add r5.xyz, r4.xyzx, -r7.xyzx
  mad r3.xyz, r3.xyzx, l(2097152.000000, 2097152.000000, 2097152.000000, 0.000000), r5.xyzx
  add r5.xyz, r9.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
  lt r3.xyz, r5.xyzx, |r3.xyzx|
  or r0.w, r3.y, r3.x
  or r0.w, r3.z, r0.w
  if_nz r0.w
    mul r3.xy, cb0[64].xyxx, l(0.577000, 0.577000, 0.000000, 0.000000)
    mul r3.zw, r4.xxxy, l(0.000000, 0.000000, 0.577000, 0.577000)
    add r0.w, r3.y, r3.x
    add r1.w, r3.w, r3.z
    mad r0.w, cb0[64].z, l(0.577000), r0.w
    mad r1.w, r4.z, l(0.577000), r1.w
    mul r0.w, r0.w, l(4194.304199)
    frc r0.w, r0.w
    mad r0.w, r1.w, l(0.002000), r0.w
    frc r0.w, r0.w
    lt r0.w, l(0.500000), r0.w
    movc r0.xyz, r0.wwww, l(0,1.000000,1.000000,0), l(1.000000,1.000000,0,0)
    mov o0.w, l(1.000000)
  else
    mov o0.w, r4.w
  endif
else
  mov o0.w, r4.w
endif
mad r1.xyz, r12.xyzx, r6.xyzx, r1.xyzx
add r0.xyz, r0.xyzx, r1.xyzx
mad r0.xyz, r0.xyzx, r8.xxxx, r2.xywx
mul o0.xyz, r0.xyzx, cb0[136].zzzz
ret
// Approximately 0 instruction slots used
