//map pins, various hud & ui
// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
//
//   using 3Dmigoto v1.3.16 on Sat Aug 15 19:27:22 2020
//
//
// Buffer Definitions:
//
// cbuffer MenuShaderDynamic
// {
//
//   row_major float4x4 g_LocalRootTransform;// Offset:    0 Size:    64 [unused]
//   float4 vParentClip;                // Offset:   64 Size:    16
//   float4 g_HighlightColor;           // Offset:   80 Size:    16
//   float4 g_HighlightRange;           // Offset:   96 Size:    16
//   float4 g_mTexMatrix;               // Offset:  112 Size:    16 [unused]
//   float4 g_mPosMatrix;               // Offset:  128 Size:    16 [unused]
//   float4 vColor0;                    // Offset:  144 Size:    16
//   float4 vColor1;                    // Offset:  160 Size:    16
//   float2 vOffset;                    // Offset:  176 Size:     8 [unused]
//   uint nShaderFlags;                 // Offset:  184 Size:     4
//   bool bRenderMask;                  // Offset:  188 Size:     4
//   uint4 BaseCompressionInfo;         // Offset:  192 Size:    16
//   uint4 BaseTextureInfo;             // Offset:  208 Size:    16
//   float4 vBaseScaleOffset;           // Offset:  224 Size:    16
//   uint4 MaskCompressionInfo;         // Offset:  240 Size:    16
//   uint4 MaskTextureInfo;             // Offset:  256 Size:    16
//   float4 vMaskSizePos;               // Offset:  272 Size:    16 [unused]
//   float4 vMaskScaleOffset;           // Offset:  288 Size:    16
//   uint4 RenderMaskCompressionInfo;   // Offset:  304 Size:    16
//   uint4 RenderMaskTextureInfo;       // Offset:  320 Size:    16
//   float4 vRenderMaskSizePos;         // Offset:  336 Size:    16
//   float4 aVertexData[18];            // Offset:  352 Size:   288 [unused]
//
// }
//
// cbuffer ForgeUIGlobals
// {
//
//   row_major float4x4 g_ViewProj;     // Offset:    0 Size:    64 [unused]
//   bool g_bLinearOutput;              // Offset:   64 Size:     4
//
// }
//
// Resource bind info for CompressedMaskTexture
// {
//
//   uint $Element;                     // Offset:    0 Size:     4
//
// }
//
// Resource bind info for CompressedBaseTexture
// {
//
//   uint $Element;                     // Offset:    0 Size:     4
//
// }
//
// Resource bind info for CompressedRenderMask
// {
//
//   uint $Element;                     // Offset:    0 Size:     4
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// SS_DEFAULT_CLAMP                  sampler      NA          NA    2        1
// SS_ANISO_CLAMP                    sampler      NA          NA    5        1
// SS_POINT_CLAMP                    sampler      NA          NA    7        1
// CompressedMaskTexture             texture  struct         r/o    0        1
// FontTexture                       texture   float          2d    1        1
// CompressedBaseTexture             texture  struct         r/o    2        1
// MaskTexture                       texture  float4          2d    3        1
// RenderMask                        texture  float4          2d    4        1
// CompressedRenderMask              texture  struct         r/o    5        1
// BaseTexture                       texture  float4          2d    7        1
// MenuShaderDynamic                 cbuffer      NA          NA    0        1
// ForgeUIGlobals                    cbuffer      NA          NA    1        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float   xy
// TEXCOORD                 0   xy          1     NONE   float   xy
// TEXCOORD                 1     zw        1     NONE   float     zw
// TEXCOORD                 2   x           2     NONE   float   x
//
//
// 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[22], immediateIndexed
dcl_constantbuffer cb1[5], immediateIndexed
dcl_sampler s2, mode_default
dcl_sampler s5, mode_default
dcl_sampler s7, mode_default
dcl_resource_structured t0, 4
dcl_resource_texture2d (float,float,float,float) t1
dcl_resource_structured t2, 4
dcl_resource_texture2d (float,float,float,float) t3
dcl_resource_texture2d (float,float,float,float) t4
dcl_resource_structured t5, 4
dcl_resource_texture2d (float,float,float,float) t7
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_input_ps linear v1.xy
dcl_input_ps linear v1.zw
dcl_input_ps linear v2.x
dcl_output o0.xyzw

dcl_resource_texture2d (float,float,float,float) t125
dcl_resource_texture1d (float,float,float,float) t120
dcl_temps 33

mov r29.xy, v0.xy
ld_indexable(texture2d)(float,float,float,float) r30.xyzw, l(0, 0, 0, 0), t125.xyzw
ld_indexable(texture1d)(float,float,float,float) r31.xyzw, l(0, 0, 0, 0), t120.xyzw
ld_indexable(texture1d)(float,float,float,float) r32.xyzw, l(2, 0, 0, 0), t120.xyzw

mul r30.w, r31.w, r32.w
mul r30.w, r32.y, r30.w
mad r29.x, r30.x, -r30.w, r29.x

and r0.x, l(4), cb0[11].z
if_nz r0.x
  add r0.x, r29.x, -cb0[4].x
  lt r0.x, r0.x, l(0.000000)
  discard_nz r0.x
  add r0.x, -r29.x, cb0[4].y
  lt r0.x, r0.x, l(0.000000)
  discard_nz r0.x
  add r0.x, v0.y, -cb0[4].z
  lt r0.x, r0.x, l(0.000000)
  discard_nz r0.x
  add r0.x, -v0.y, cb0[4].w
  lt r0.x, r0.x, l(0.000000)
  discard_nz r0.x
endif
mov_sat r0.x, v2.x
add r1.xyzw, -cb0[9].xyzw, cb0[10].xyzw
mad r0.xyzw, r0.xxxx, r1.xyzw, cb0[9].xyzw
and r1.xyzw, l(320, 128, 2048, 512), cb0[11].zzzz
if_nz r1.x
  and r2.xyzw, l(8, 16, 2, 256), cb0[11].zzzz
  frc r3.xy, v1.xyxx
  movc r3.xy, r2.xyxx, r3.xyxx, v1.xyxx
  lt r3.zw, r3.xxxy, l(0.000000, 0.000000, 0.000000, 0.000000)
  lt r4.xy, l(1.000000, 1.000000, 0.000000, 0.000000), r3.xyxx
  or r3.zw, r3.zzzw, r4.xxxy
  or r1.x, r3.w, r3.z
  movc r1.x, r1.x, l(0), l(1.000000)
  mad r3.xy, r3.xyxx, cb0[14].xyxx, cb0[14].zwzz
  if_nz cb0[12].w
    and r3.z, l(1), cb0[11].z
    if_nz r3.z
      utof r3.zw, cb0[13].xxxy
      mul r3.zw, r3.zzzw, r3.xxxy
      ftoi r3.zw, r3.zzzw
      ige r4.xy, r3.zwzz, l(0, 0, 0, 0)
      ilt r4.zw, r3.zzzw, cb0[13].xxxy
      and r4.x, r4.z, r4.x
      and r4.x, r4.y, r4.x
      and r4.x, r4.w, r4.x
      ushr r4.yz, r3.zzwz, cb0[12].xxxx
      imad r4.y, r4.z, cb0[13].w, r4.y
      ushr r4.z, r4.y, cb0[12].y
      iadd r4.z, r4.z, cb0[13].z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r4.z, r4.z, l(0), t2.xxxx
      bfi r4.y, cb0[12].y, cb0[12].z, r4.y, l(0)
      ushr r4.y, r4.z, r4.y
      and r4.y, r4.y, cb0[12].w
      ishl r4.z, cb0[12].x, l(1)
      ishl r4.y, r4.y, r4.z
      ubfe r3.z, cb0[12].x, l(0), r3.z
      bfi r3.w, cb0[12].x, cb0[12].x, r3.w, l(0)
      iadd r3.z, r3.w, r3.z
      iadd r3.z, r3.z, r4.y
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.z, r3.z, l(0), t2.xxxx
      and r3.z, r3.z, r4.x
      and r3.w, r3.z, l(255)
      ubfe r5.xy, l(8, 8, 0, 0), l(8, 16, 0, 0), r3.zzzz
      utof r4.yz, r5.xxyx
      ushr r3.z, r3.z, l(24)
      utof r4.xw, r3.wwwz
      mul r4.xyzw, r4.xyzw, l(0.00392156886, 0.00392156886, 0.00392156886, 0.00392156886)
    else
      utof r3.zw, cb0[13].xxxy
      mad r3.zw, r3.xxxy, r3.zzzw, l(0.000000, 0.000000, -0.500000, -0.500000)
      round_ni r5.xy, r3.zwzz
      ftoi r5.zw, r5.xxxy
      add r3.zw, r3.zzzw, -r5.xxxy
      iadd r5.xy, r5.zwzz, l(1, 1, 0, 0)
      ilt r6.xy, r5.zwzz, l(0, 0, 0, 0)
      iadd r6.zw, l(0, 0, -1, -1), cb0[13].xxxy
      movc r7.xy, r6.xyxx, r6.zwzz, r5.zwzz
      ige r6.xy, r5.xyxx, cb0[13].xyxx
      movc r7.zw, r6.xxxy, l(0,0,0,0), r5.xxxy
      imax r5.xyzw, r5.xyzw, l(0, 0, 0, 0)
      imin r8.xyzw, r6.zwzw, r5.zwxy
      movc r5.xyzw, r2.xxxx, r7.xzxz, r8.xzxz
      movc r6.xyzw, r2.yyyy, r7.yyww, r8.yyww
      ushr r7.xyzw, r5.zwzw, cb0[12].xxxx
      ushr r8.xyzw, r6.yyww, cb0[12].xxxx
      imad r7.xyzw, r8.xyzw, cb0[13].wwww, r7.xyzw
      ige r8.xyzw, r5.zwzw, l(0, 0, 0, 0)
      ilt r9.xyzw, r5.zwzw, cb0[13].xxxx
      and r8.xyzw, r8.xyzw, r9.xyzw
      ige r9.xyzw, r6.yyww, l(0, 0, 0, 0)
      and r8.xyzw, r8.xyzw, r9.xyzw
      ilt r9.xyzw, r6.yyww, cb0[13].yyyy
      and r8.xyzw, r8.xyzw, r9.xyzw
      ushr r9.xyzw, r7.xyzw, cb0[12].yyyy
      iadd r9.xyzw, r9.xyzw, cb0[13].zzzz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r9.x, l(0), t2.xxxx
      and r10.x, r2.x, r8.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r9.y, l(0), t2.xxxx
      and r10.y, r2.x, r8.y
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r9.z, l(0), t2.xxxx
      and r10.z, r2.x, r8.z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r9.w, l(0), t2.xxxx
      and r10.w, r2.x, r8.w
      bfi r7.xyzw, cb0[12].yyyy, cb0[12].zzzz, r7.xyzw, l(0, 0, 0, 0)
      ushr r7.xyzw, r10.xyzw, r7.xyzw
      and r7.xyzw, r7.xyzw, cb0[12].wwww
      ishl r2.x, cb0[12].x, l(1)
      ishl r7.xyzw, r7.xyzw, r2.xxxx
      ubfe r5.xyzw, cb0[12].xxxx, l(0, 0, 0, 0), r5.xyzw
      iadd r5.xyzw, r5.xyzw, r7.xyzw
      bfi r6.xyzw, cb0[12].xxxx, cb0[12].xxxx, r6.xyzw, l(0, 0, 0, 0)
      iadd r5.xyzw, r5.xyzw, r6.xyzw
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r5.x, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.y, r5.y, l(0), t2.xxxx
      and r2.xy, r2.xyxx, r8.xyxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r5.x, r5.z, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r5.y, r5.w, l(0), t2.xxxx
      and r5.xy, r5.xyxx, r8.zwzz
      and r5.z, r2.x, l(255)
      utof r6.x, r5.z
      ubfe r5.zw, l(0, 0, 8, 8), l(0, 0, 8, 16), r2.xxxx
      utof r6.yz, r5.zzwz
      ushr r2.x, r2.x, l(24)
      utof r6.w, r2.x
      mul r6.xyzw, r6.xyzw, l(0.00392156886, 0.00392156886, 0.00392156886, 0.00392156886)
      and r2.x, r2.y, l(255)
      utof r7.x, r2.x
      ubfe r5.zw, l(0, 0, 8, 8), l(0, 0, 8, 16), r2.yyyy
      utof r7.yz, r5.zzwz
      ushr r2.x, r2.y, l(24)
      utof r7.w, r2.x
      and r2.x, r5.x, l(255)
      utof r8.x, r2.x
      ubfe r2.xy, l(8, 8, 0, 0), l(8, 16, 0, 0), r5.xxxx
      utof r8.yz, r2.xxyx
      ushr r2.x, r5.x, l(24)
      utof r8.w, r2.x
      mul r8.xyzw, r8.xyzw, l(0.00392156886, 0.00392156886, 0.00392156886, 0.00392156886)
      and r2.x, r5.y, l(255)
      utof r9.x, r2.x
      ubfe r2.xy, l(8, 8, 0, 0), l(8, 16, 0, 0), r5.yyyy
      utof r9.yz, r2.xxyx
      ushr r2.x, r5.y, l(24)
      utof r9.w, r2.x
      mad r5.xyzw, r7.xyzw, l(0.00392156886, 0.00392156886, 0.00392156886, 0.00392156886), -r6.xyzw
      mad r5.xyzw, r3.zzzz, r5.xyzw, r6.xyzw
      mad r6.xyzw, r9.xyzw, l(0.00392156886, 0.00392156886, 0.00392156886, 0.00392156886), -r8.xyzw
      mad r6.xyzw, r3.zzzz, r6.xyzw, r8.xyzw
      add r6.xyzw, -r5.xyzw, r6.xyzw
      mad r4.xyzw, r3.wwww, r6.xyzw, r5.xyzw
    endif
  else
    sample_indexable(texture2d)(float,float,float,float) r4.xyzw, r3.xyxx, t7.xyzw, s5
  endif
  mul r3.xyz, r4.wwww, r4.xyzx
  movc r4.xyz, r2.zzzz, r4.xyzx, r3.xyzx
  mul r3.xyzw, r1.xxxx, r4.xyzw
  mul r4.xyzw, r0.xyzw, r3.wwww
  mul r3.xyzw, r0.xyzw, r3.xyzw
  movc r0.xyzw, r2.wwww, r4.xyzw, r3.xyzw
endif
if_nz r1.y
  and r1.xy, l(8, 16, 0, 0), cb0[11].zzzz
  frc r2.xy, v1.zwzz
  movc r2.xy, r1.xyxx, r2.xyxx, v1.zwzz
  lt r2.zw, r2.xxxy, l(0.000000, 0.000000, 0.000000, 0.000000)
  lt r3.xy, l(1.000000, 1.000000, 0.000000, 0.000000), r2.xyxx
  or r2.zw, r2.zzzw, r3.xxxy
  or r2.z, r2.w, r2.z
  movc r2.z, r2.z, l(0), l(1.000000)
  mad r2.xy, r2.xyxx, cb0[18].xyxx, cb0[18].zwzz
  if_nz cb0[15].w
    and r2.w, l(1), cb0[11].z
    if_nz r2.w
      utof r3.xy, cb0[16].xyxx
      mul r3.xy, r2.xyxx, r3.xyxx
      ftoi r3.xy, r3.xyxx
      ige r3.zw, r3.xxxy, l(0, 0, 0, 0)
      ilt r4.xy, r3.xyxx, cb0[16].xyxx
      and r2.w, r3.z, r4.x
      and r2.w, r3.w, r2.w
      and r2.w, r4.y, r2.w
      ushr r3.zw, r3.xxxy, cb0[15].xxxx
      imad r3.z, r3.w, cb0[16].w, r3.z
      ushr r3.w, r3.z, cb0[15].y
      iadd r3.w, r3.w, cb0[16].z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.w, r3.w, l(0), t0.xxxx
      bfi r3.yz, cb0[15].xxyx, cb0[15].xxzx, r3.yyzy, l(0, 0, 0, 0)
      ushr r3.z, r3.w, r3.z
      and r3.z, r3.z, cb0[15].w
      ishl r3.w, cb0[15].x, l(1)
      ishl r3.z, r3.z, r3.w
      ubfe r3.x, cb0[15].x, l(0), r3.x
      iadd r3.x, r3.y, r3.x
      iadd r3.x, r3.x, r3.z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.x, r3.x, l(0), t0.xxxx
      and r2.w, r2.w, r3.x
      and r2.w, r2.w, l(255)
      utof r2.w, r2.w
      mul r2.w, r2.w, l(0.00392156886)
    else
      utof r3.xy, cb0[16].xyxx
      mad r3.xy, r2.xyxx, r3.xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
      round_ni r3.zw, r3.xxxy
      ftoi r4.xy, r3.zwzz
      add r3.xy, -r3.zwzz, r3.xyxx
      iadd r3.zw, r4.xxxy, l(0, 0, 1, 1)
      ilt r4.zw, r4.xxxy, l(0, 0, 0, 0)
      iadd r5.xy, l(-1, -1, 0, 0), cb0[16].xyxx
      movc r6.xy, r4.zwzz, r5.xyxx, r4.xyxx
      ige r4.zw, r3.zzzw, cb0[16].xxxy
      movc r6.zw, r4.zzzw, l(0,0,0,0), r3.zzzw
      imax r4.xy, r4.xyxx, l(0, 0, 0, 0)
      imin r4.xy, r5.xyxx, r4.xyxx
      imax r3.zw, r3.zzzw, l(0, 0, 0, 0)
      imin r4.zw, r5.xxxy, r3.zzzw
      movc r5.xyzw, r1.xxxx, r6.xzxz, r4.xzxz
      movc r4.xyzw, r1.yyyy, r6.yyww, r4.yyww
      ushr r6.xyzw, r5.zwzw, cb0[15].xxxx
      ushr r7.xyzw, r4.yyww, cb0[15].xxxx
      imad r6.xyzw, r7.xyzw, cb0[16].wwww, r6.xyzw
      ige r7.xyzw, r5.zwzw, l(0, 0, 0, 0)
      ilt r8.xyzw, r5.zwzw, cb0[16].xxxx
      and r7.xyzw, r7.xyzw, r8.xyzw
      ige r8.xyzw, r4.yyww, l(0, 0, 0, 0)
      and r7.xyzw, r7.xyzw, r8.xyzw
      ilt r8.xyzw, r4.yyww, cb0[16].yyyy
      and r7.xyzw, r7.xyzw, r8.xyzw
      ushr r8.xyzw, r6.xyzw, cb0[15].yyyy
      iadd r8.xyzw, r8.xyzw, cb0[16].zzzz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.x, r8.x, l(0), t0.xxxx
      and r9.x, r1.x, r7.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.x, r8.y, l(0), t0.xxxx
      and r9.y, r1.x, r7.y
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.x, r8.z, l(0), t0.xxxx
      and r9.z, r1.x, r7.z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.x, r8.w, l(0), t0.xxxx
      and r9.w, r1.x, r7.w
      bfi r6.xyzw, cb0[15].yyyy, cb0[15].zzzz, r6.xyzw, l(0, 0, 0, 0)
      ushr r6.xyzw, r9.xyzw, r6.xyzw
      and r6.xyzw, r6.xyzw, cb0[15].wwww
      ishl r1.x, cb0[15].x, l(1)
      ishl r6.xyzw, r6.xyzw, r1.xxxx
      ubfe r5.xyzw, cb0[15].xxxx, l(0, 0, 0, 0), r5.xyzw
      iadd r5.xyzw, r5.xyzw, r6.xyzw
      bfi r4.xyzw, cb0[15].xxxx, cb0[15].xxxx, r4.xyzw, l(0, 0, 0, 0)
      iadd r4.xyzw, r4.xyzw, r5.xyzw
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.x, r4.x, l(0), t0.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.y, r4.y, l(0), t0.xxxx
      and r1.xy, r1.xyxx, r7.xyxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.z, r4.z, l(0), t0.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.w, r4.w, l(0), t0.xxxx
      and r3.zw, r3.zzzw, r7.zzzw
      and r1.xy, r1.xyxx, l(255, 255, 0, 0)
      utof r1.xy, r1.xyxx
      mul r1.x, r1.x, l(0.00392156886)
      and r3.zw, r3.zzzw, l(0, 0, 255, 255)
      utof r3.zw, r3.zzzw
      mul r3.z, r3.z, l(0.00392156886)
      mad r1.y, r1.y, l(0.00392156886), -r1.x
      mad r1.x, r3.x, r1.y, r1.x
      mad r1.y, r3.w, l(0.00392156886), -r3.z
      mad r1.y, r3.x, r1.y, r3.z
      add r1.y, -r1.x, r1.y
      mad r2.w, r3.y, r1.y, r1.x
    endif
  else
    sample_indexable(texture2d)(float,float,float,float) r2.w, r2.xyxx, t3.yzwx, s5
  endif
  mul r1.x, r2.z, r2.w
  mul r0.xyzw, r0.xyzw, r1.xxxx
endif
if_nz r1.z
  resinfo_indexable(texture2d)(float,float,float,float)_uint r1.xy, l(0), t1.xyzw
  utof r2.xyzw, r1.xxyy
  mad r3.xyzw, v1.xxyy, r2.yyww, l(-0.500000, -0.500000, -0.500000, -0.500000)
  round_ni r3.xyzw, r3.xyzw
  add r3.xyzw, r3.xyzw, l(0.500000, 0.500000, 0.500000, 0.500000)
  gather4_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r4.xyzw, v1.xyxx, t1.xyzw, s2.x
  gather4_aoffimmi_indexable(1,-1,0)(texture2d)(float,float,float,float) r5.xyzw, v1.xyxx, t1.zwxy, s2.x
  gather4_aoffimmi_indexable(-1,1,0)(texture2d)(float,float,float,float) r6.xyzw, v1.xyxx, t1.xyzw, s2.x
  gather4_aoffimmi_indexable(1,1,0)(texture2d)(float,float,float,float) r7.xyzw, v1.xyxx, t1.zwxy, s2.x
  mad r2.xyzw, v1.xxyy, r2.xyzw, -r3.xyzw
  add r3.xyzw, r2.yyyw, l(1.000000, -1.000000, -2.000000, 1.000000)
  mul r8.xyzw, |r3.xxyy|, l(3.141593, 1.04719770, 3.141593, 1.04719770)
  sincos r9.xyzw, null, r8.xyzw
  div r8.xyzw, r9.xyzw, r8.xyzw
  lt r9.xyzw, |r3.xxyy|, l(0.00318309851, 0.00954929553, 0.00318309851, 0.00954929553)
  movc r8.xyzw, r9.xyzw, l(1.000000,1.000000,1.000000,1.000000), r8.xyzw
  mul r9.xyzw, |r2.yyww|, l(3.141593, 1.04719770, 3.141593, 1.04719770)
  sincos r10.xyzw, null, r9.xyzw
  div r9.xyzw, r10.xyzw, r9.xyzw
  lt r10.xyzw, |r2.xyzw|, l(0.00318309851, 0.00954929553, 0.00318309851, 0.00954929553)
  movc r9.xyzw, r10.xyzw, l(1.000000,1.000000,1.000000,1.000000), r9.xyzw
  mul r9.xy, r9.ywyy, r9.xzxx
  mul r8.xz, r8.yywy, r8.xxzx
  mul r10.xyzw, |r3.zzww|, l(3.141593, 1.04719770, 3.141593, 1.04719770)
  sincos r11.xyzw, null, r10.xyzw
  div r10.xyzw, r11.xyzw, r10.xyzw
  lt r3.xyzw, |r3.zzww|, l(0.00318309851, 0.00954929553, 0.00318309851, 0.00954929553)
  movc r3.xyzw, r3.xyzw, l(1.000000,1.000000,1.000000,1.000000), r10.xyzw
  mul r1.xy, r3.ywyy, r3.xzxx
  mov r8.y, r9.x
  mov r8.w, r1.x
  dp4 r1.x, r8.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
  div r3.xyzw, r8.xyzw, r1.xxxx
  add r2.xyzw, r2.wwww, l(-1.000000, -1.000000, -2.000000, -2.000000)
  mul r8.xyzw, |r2.yyww|, l(3.141593, 1.04719770, 3.141593, 1.04719770)
  sincos r10.xyzw, null, r8.xyzw
  div r8.xyzw, r10.xyzw, r8.xyzw
  lt r2.xyzw, |r2.xyzw|, l(0.00318309851, 0.00954929553, 0.00318309851, 0.00954929553)
  movc r2.xyzw, r2.xyzw, l(1.000000,1.000000,1.000000,1.000000), r8.xyzw
  mul r9.zw, r2.yyyw, r2.xxxz
  mov r9.x, r1.y
  dp4 r1.x, r9.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
  div r2.xyzw, r9.xyzw, r1.xxxx
  mov r8.xy, r4.wzww
  mov r8.zw, r5.yyyx
  dp4 r8.x, r8.xyzw, r3.xyzw
  mov r5.xy, r4.xyxx
  dp4 r8.y, r5.xyzw, r3.xyzw
  mov r4.xy, r6.wzww
  mov r4.zw, r7.yyyx
  dp4 r8.z, r4.xyzw, r3.xyzw
  mov r7.xy, r6.xyxx
  dp4 r8.w, r7.xyzw, r3.xyzw
  dp4 r1.x, r8.xyzw, r2.xyzw
  mul r0.xyzw, r0.xyzw, r1.xxxx
endif
add r1.x, -v1.z, l(1.000000)
add r1.x, r1.x, r1.x
ftou r1.x, r1.x
utof r1.x, r1.x
mul r2.xyzw, r0.xyzw, r1.xxxx
movc r0.xyzw, r1.wwww, r2.xyzw, r0.xyzw
and r1.x, l(4096), cb0[11].z
if_nz r1.x
  mad r1.xy, v1.xyxx, cb0[14].xyxx, cb0[14].zwzz
  lt r1.z, l(0.150000), r0.w
  if_nz r1.z
    if_z cb0[12].w
      utof r2.xyzw, cb0[13].xyxy
      div r2.xyzw, cb0[14].xyxy, r2.xyzw
      mad r3.xyzw, r2.zwzw, l(-3.000000, -3.000000, -3.000000, -3.000000), r1.xyxy
      div r4.xyzw, r3.xyxy, r2.zwzw
      ftoi r4.xyzw, r4.xyzw
      iadd r4.xyzw, r4.xyzw, l(-1, 0, 0, -1)
      itof r4.xyzw, r4.xyzw
      lt r5.xyzw, r4.xyzw, cb0[6].xyxy
      or r5.xyzw, r5.yyww, r5.xzzx
      ge r4.xyzw, r4.xyzw, cb0[6].zwzw
      or r4.xyzw, r4.yyww, r4.xzzx
      or r4.xyzw, r4.xyzw, r5.xyzw
      sample_aoffimmi_indexable(-1,0,0)(texture2d)(float,float,float,float) r1.z, r3.zwzz, t7.xywz, s7
      ge r1.z, l(0.150000), r1.z
      or r1.z, r1.z, r4.x
      and r1.z, r1.z, l(1)
      sample_aoffimmi_indexable(0,0,0)(texture2d)(float,float,float,float) r1.w, r3.zwzz, t7.xyzw, s7
      ge r1.w, l(0.150000), r1.w
      or r1.w, r1.w, r4.y
      and r1.w, r1.w, l(1)
      iadd r1.z, r1.w, r1.z
      sample_aoffimmi_indexable(0,-1,0)(texture2d)(float,float,float,float) r1.w, r3.zwzz, t7.xyzw, s7
      ge r1.w, l(0.150000), r1.w
      or r1.w, r1.w, r4.z
      and r1.w, r1.w, l(1)
      iadd r1.z, r1.w, r1.z
      sample_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r1.w, r3.zwzz, t7.xyzw, s7
      ge r1.w, l(0.150000), r1.w
      or r1.w, r1.w, r4.w
      and r1.w, r1.w, l(1)
      iadd r1.z, r1.w, r1.z
      mad r3.xyzw, r2.zwzw, l(-1.000000, -3.000000, -1.000000, -3.000000), r1.xyxy
      div r4.xyzw, r3.xyxy, r2.zwzw
      ftoi r4.xyzw, r4.xyzw
      iadd r4.xyzw, r4.xyzw, l(-1, 0, 0, -1)
      itof r4.xyzw, r4.xyzw
      lt r5.xyzw, r4.xyzw, cb0[6].xyxy
      or r5.xyzw, r5.yyww, r5.xzzx
      ge r4.xyzw, r4.xyzw, cb0[6].zwzw
      or r4.xyzw, r4.yyww, r4.xzzx
      or r4.xyzw, r4.xyzw, r5.xyzw
      sample_aoffimmi_indexable(-1,0,0)(texture2d)(float,float,float,float) r1.w, r3.zwzz, t7.xyzw, s7
      ge r1.w, l(0.150000), r1.w
      or r1.w, r1.w, r4.x
      and r1.w, r1.w, l(1)
      sample_aoffimmi_indexable(0,0,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.y
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(0,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.z
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.w
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      iadd r1.z, r1.w, r1.z
      mad r3.xyzw, r2.zwzw, l(1.000000, -3.000000, 1.000000, -3.000000), r1.xyxy
      div r4.xyzw, r3.xyxy, r2.zwzw
      ftoi r4.xyzw, r4.xyzw
      iadd r4.xyzw, r4.xyzw, l(-1, 0, 0, -1)
      itof r4.xyzw, r4.xyzw
      lt r5.xyzw, r4.xyzw, cb0[6].xyxy
      or r5.xyzw, r5.yyww, r5.xzzx
      ge r4.xyzw, r4.xyzw, cb0[6].zwzw
      or r4.xyzw, r4.yyww, r4.xzzx
      or r4.xyzw, r4.xyzw, r5.xyzw
      sample_aoffimmi_indexable(-1,0,0)(texture2d)(float,float,float,float) r1.w, r3.zwzz, t7.xyzw, s7
      ge r1.w, l(0.150000), r1.w
      or r1.w, r1.w, r4.x
      and r1.w, r1.w, l(1)
      sample_aoffimmi_indexable(0,0,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.y
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(0,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.z
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.w
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      iadd r1.z, r1.w, r1.z
      mad r3.xyzw, r2.zwzw, l(3.000000, -3.000000, 3.000000, -3.000000), r1.xyxy
      div r4.xyzw, r3.xyxy, r2.zwzw
      ftoi r4.xyzw, r4.xyzw
      iadd r4.xyzw, r4.xyzw, l(-1, 0, 0, -1)
      itof r4.xyzw, r4.xyzw
      lt r5.xyzw, r4.xyzw, cb0[6].xyxy
      or r5.xyzw, r5.yyww, r5.xzzx
      ge r4.xyzw, r4.xyzw, cb0[6].zwzw
      or r4.xyzw, r4.yyww, r4.xzzx
      or r4.xyzw, r4.xyzw, r5.xyzw
      sample_aoffimmi_indexable(-1,0,0)(texture2d)(float,float,float,float) r1.w, r3.zwzz, t7.xyzw, s7
      ge r1.w, l(0.150000), r1.w
      or r1.w, r1.w, r4.x
      and r1.w, r1.w, l(1)
      sample_aoffimmi_indexable(0,0,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.y
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(0,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.z
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.w
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      iadd r1.z, r1.w, r1.z
      mad r3.xyzw, r2.zwzw, l(-3.000000, -1.000000, -3.000000, -1.000000), r1.xyxy
      div r4.xyzw, r3.xyxy, r2.zwzw
      ftoi r4.xyzw, r4.xyzw
      iadd r4.xyzw, r4.xyzw, l(-1, 0, 0, -1)
      itof r4.xyzw, r4.xyzw
      lt r5.xyzw, r4.xyzw, cb0[6].xyxy
      or r5.xyzw, r5.yyww, r5.xzzx
      ge r4.xyzw, r4.xyzw, cb0[6].zwzw
      or r4.xyzw, r4.yyww, r4.xzzx
      or r4.xyzw, r4.xyzw, r5.xyzw
      sample_aoffimmi_indexable(-1,0,0)(texture2d)(float,float,float,float) r1.w, r3.zwzz, t7.xyzw, s7
      ge r1.w, l(0.150000), r1.w
      or r1.w, r1.w, r4.x
      and r1.w, r1.w, l(1)
      sample_aoffimmi_indexable(0,0,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.y
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(0,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.z
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.w
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      iadd r1.z, r1.w, r1.z
      add r3.xyzw, r1.xyxy, -r2.zwzw
      div r4.xyzw, r3.xyxy, r2.zwzw
      ftoi r4.xyzw, r4.xyzw
      iadd r4.xyzw, r4.xyzw, l(-1, 0, 0, -1)
      itof r4.xyzw, r4.xyzw
      lt r5.xyzw, r4.xyzw, cb0[6].xyxy
      or r5.xyzw, r5.yyww, r5.xzzx
      ge r4.xyzw, r4.xyzw, cb0[6].zwzw
      or r4.xyzw, r4.yyww, r4.xzzx
      or r4.xyzw, r4.xyzw, r5.xyzw
      sample_aoffimmi_indexable(-1,0,0)(texture2d)(float,float,float,float) r1.w, r3.zwzz, t7.xyzw, s7
      ge r1.w, l(0.150000), r1.w
      or r1.w, r1.w, r4.x
      and r1.w, r1.w, l(1)
      sample_aoffimmi_indexable(0,0,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.y
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(0,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.z
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.w
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      iadd r1.z, r1.w, r1.z
      mad r3.xyzw, r2.zwzw, l(1.000000, -1.000000, 1.000000, -1.000000), r1.xyxy
      div r4.xyzw, r3.xyxy, r2.zwzw
      ftoi r4.xyzw, r4.xyzw
      iadd r4.xyzw, r4.xyzw, l(-1, 0, 0, -1)
      itof r4.xyzw, r4.xyzw
      lt r5.xyzw, r4.xyzw, cb0[6].xyxy
      or r5.xyzw, r5.yyww, r5.xzzx
      ge r4.xyzw, r4.xyzw, cb0[6].zwzw
      or r4.xyzw, r4.yyww, r4.xzzx
      or r4.xyzw, r4.xyzw, r5.xyzw
      sample_aoffimmi_indexable(-1,0,0)(texture2d)(float,float,float,float) r1.w, r3.zwzz, t7.xyzw, s7
      ge r1.w, l(0.150000), r1.w
      or r1.w, r1.w, r4.x
      and r1.w, r1.w, l(1)
      sample_aoffimmi_indexable(0,0,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.y
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(0,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.z
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.w
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      iadd r1.z, r1.w, r1.z
      mad r3.xyzw, r2.zwzw, l(3.000000, -1.000000, 3.000000, -1.000000), r1.xyxy
      div r4.xyzw, r3.xyxy, r2.zwzw
      ftoi r4.xyzw, r4.xyzw
      iadd r4.xyzw, r4.xyzw, l(-1, 0, 0, -1)
      itof r4.xyzw, r4.xyzw
      lt r5.xyzw, r4.xyzw, cb0[6].xyxy
      or r5.xyzw, r5.yyww, r5.xzzx
      ge r4.xyzw, r4.xyzw, cb0[6].zwzw
      or r4.xyzw, r4.yyww, r4.xzzx
      or r4.xyzw, r4.xyzw, r5.xyzw
      sample_aoffimmi_indexable(-1,0,0)(texture2d)(float,float,float,float) r1.w, r3.zwzz, t7.xyzw, s7
      ge r1.w, l(0.150000), r1.w
      or r1.w, r1.w, r4.x
      and r1.w, r1.w, l(1)
      sample_aoffimmi_indexable(0,0,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.y
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(0,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.z
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.w
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      iadd r1.z, r1.w, r1.z
      mad r3.xyzw, r2.zwzw, l(-3.000000, 1.000000, -3.000000, 1.000000), r1.xyxy
      div r4.xyzw, r3.xyxy, r2.zwzw
      ftoi r4.xyzw, r4.xyzw
      iadd r4.xyzw, r4.xyzw, l(-1, 0, 0, -1)
      itof r4.xyzw, r4.xyzw
      lt r5.xyzw, r4.xyzw, cb0[6].xyxy
      or r5.xyzw, r5.yyww, r5.xzzx
      ge r4.xyzw, r4.xyzw, cb0[6].zwzw
      or r4.xyzw, r4.yyww, r4.xzzx
      or r4.xyzw, r4.xyzw, r5.xyzw
      sample_aoffimmi_indexable(-1,0,0)(texture2d)(float,float,float,float) r1.w, r3.zwzz, t7.xyzw, s7
      ge r1.w, l(0.150000), r1.w
      or r1.w, r1.w, r4.x
      and r1.w, r1.w, l(1)
      sample_aoffimmi_indexable(0,0,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.y
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(0,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.z
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.w
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      iadd r1.z, r1.w, r1.z
      mad r3.xyzw, r2.zwzw, l(-1.000000, 1.000000, -1.000000, 1.000000), r1.xyxy
      div r4.xyzw, r3.xyxy, r2.zwzw
      ftoi r4.xyzw, r4.xyzw
      iadd r4.xyzw, r4.xyzw, l(-1, 0, 0, -1)
      itof r4.xyzw, r4.xyzw
      lt r5.xyzw, r4.xyzw, cb0[6].xyxy
      or r5.xyzw, r5.yyww, r5.xzzx
      ge r4.xyzw, r4.xyzw, cb0[6].zwzw
      or r4.xyzw, r4.yyww, r4.xzzx
      or r4.xyzw, r4.xyzw, r5.xyzw
      sample_aoffimmi_indexable(-1,0,0)(texture2d)(float,float,float,float) r1.w, r3.zwzz, t7.xyzw, s7
      ge r1.w, l(0.150000), r1.w
      or r1.w, r1.w, r4.x
      and r1.w, r1.w, l(1)
      sample_aoffimmi_indexable(0,0,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.y
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(0,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.z
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.w
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      iadd r1.z, r1.w, r1.z
      add r3.xyzw, r1.xyxy, r2.zwzw
      div r4.xyzw, r3.xyxy, r2.zwzw
      ftoi r4.xyzw, r4.xyzw
      iadd r4.xyzw, r4.xyzw, l(-1, 0, 0, -1)
      itof r4.xyzw, r4.xyzw
      lt r5.xyzw, r4.xyzw, cb0[6].xyxy
      or r5.xyzw, r5.yyww, r5.xzzx
      ge r4.xyzw, r4.xyzw, cb0[6].zwzw
      or r4.xyzw, r4.yyww, r4.xzzx
      or r4.xyzw, r4.xyzw, r5.xyzw
      sample_aoffimmi_indexable(-1,0,0)(texture2d)(float,float,float,float) r1.w, r3.zwzz, t7.xyzw, s7
      ge r1.w, l(0.150000), r1.w
      or r1.w, r1.w, r4.x
      and r1.w, r1.w, l(1)
      sample_aoffimmi_indexable(0,0,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.y
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(0,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.z
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.w
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      iadd r1.z, r1.w, r1.z
      mad r3.xyzw, r2.zwzw, l(3.000000, 1.000000, 3.000000, 1.000000), r1.xyxy
      div r4.xyzw, r3.xyxy, r2.zwzw
      ftoi r4.xyzw, r4.xyzw
      iadd r4.xyzw, r4.xyzw, l(-1, 0, 0, -1)
      itof r4.xyzw, r4.xyzw
      lt r5.xyzw, r4.xyzw, cb0[6].xyxy
      or r5.xyzw, r5.yyww, r5.xzzx
      ge r4.xyzw, r4.xyzw, cb0[6].zwzw
      or r4.xyzw, r4.yyww, r4.xzzx
      or r4.xyzw, r4.xyzw, r5.xyzw
      sample_aoffimmi_indexable(-1,0,0)(texture2d)(float,float,float,float) r1.w, r3.zwzz, t7.xyzw, s7
      ge r1.w, l(0.150000), r1.w
      or r1.w, r1.w, r4.x
      and r1.w, r1.w, l(1)
      sample_aoffimmi_indexable(0,0,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.y
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(0,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.z
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.w
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      iadd r1.z, r1.w, r1.z
      mad r3.xyzw, r2.zwzw, l(-3.000000, 3.000000, -3.000000, 3.000000), r1.xyxy
      div r4.xyzw, r3.xyxy, r2.zwzw
      ftoi r4.xyzw, r4.xyzw
      iadd r4.xyzw, r4.xyzw, l(-1, 0, 0, -1)
      itof r4.xyzw, r4.xyzw
      lt r5.xyzw, r4.xyzw, cb0[6].xyxy
      or r5.xyzw, r5.yyww, r5.xzzx
      ge r4.xyzw, r4.xyzw, cb0[6].zwzw
      or r4.xyzw, r4.yyww, r4.xzzx
      or r4.xyzw, r4.xyzw, r5.xyzw
      sample_aoffimmi_indexable(-1,0,0)(texture2d)(float,float,float,float) r1.w, r3.zwzz, t7.xyzw, s7
      ge r1.w, l(0.150000), r1.w
      or r1.w, r1.w, r4.x
      and r1.w, r1.w, l(1)
      sample_aoffimmi_indexable(0,0,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.y
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(0,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.z
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.w
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      iadd r1.z, r1.w, r1.z
      mad r3.xyzw, r2.zwzw, l(-1.000000, 3.000000, -1.000000, 3.000000), r1.xyxy
      div r4.xyzw, r3.xyxy, r2.zwzw
      ftoi r4.xyzw, r4.xyzw
      iadd r4.xyzw, r4.xyzw, l(-1, 0, 0, -1)
      itof r4.xyzw, r4.xyzw
      lt r5.xyzw, r4.xyzw, cb0[6].xyxy
      or r5.xyzw, r5.yyww, r5.xzzx
      ge r4.xyzw, r4.xyzw, cb0[6].zwzw
      or r4.xyzw, r4.yyww, r4.xzzx
      or r4.xyzw, r4.xyzw, r5.xyzw
      sample_aoffimmi_indexable(-1,0,0)(texture2d)(float,float,float,float) r1.w, r3.zwzz, t7.xyzw, s7
      ge r1.w, l(0.150000), r1.w
      or r1.w, r1.w, r4.x
      and r1.w, r1.w, l(1)
      sample_aoffimmi_indexable(0,0,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.y
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(0,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.z
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.w
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      iadd r1.z, r1.w, r1.z
      mad r3.xyzw, r2.zwzw, l(1.000000, 3.000000, 1.000000, 3.000000), r1.xyxy
      div r4.xyzw, r3.xyxy, r2.zwzw
      ftoi r4.xyzw, r4.xyzw
      iadd r4.xyzw, r4.xyzw, l(-1, 0, 0, -1)
      itof r4.xyzw, r4.xyzw
      lt r5.xyzw, r4.xyzw, cb0[6].xyxy
      or r5.xyzw, r5.yyww, r5.xzzx
      ge r4.xyzw, r4.xyzw, cb0[6].zwzw
      or r4.xyzw, r4.yyww, r4.xzzx
      or r4.xyzw, r4.xyzw, r5.xyzw
      sample_aoffimmi_indexable(-1,0,0)(texture2d)(float,float,float,float) r1.w, r3.zwzz, t7.xyzw, s7
      ge r1.w, l(0.150000), r1.w
      or r1.w, r1.w, r4.x
      and r1.w, r1.w, l(1)
      sample_aoffimmi_indexable(0,0,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.y
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(0,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.z
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      sample_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r3.x, r3.zwzz, t7.wxyz, s7
      ge r3.x, l(0.150000), r3.x
      or r3.x, r3.x, r4.w
      and r3.x, r3.x, l(1)
      iadd r1.w, r1.w, r3.x
      iadd r1.z, r1.w, r1.z
      mad r3.xyzw, r2.zwzw, l(3.000000, 3.000000, 3.000000, 3.000000), r1.xyxy
      div r2.xyzw, r3.xyxy, r2.xyzw
      ftoi r2.xyzw, r2.xyzw
      iadd r2.xyzw, r2.xyzw, l(-1, 0, 0, -1)
      itof r2.xyzw, r2.xyzw
      lt r4.xyzw, r2.xyzw, cb0[6].xyxy
      or r4.xyzw, r4.yyww, r4.xzzx
      ge r2.xyzw, r2.xyzw, cb0[6].zwzw
      or r2.xyzw, r2.yyww, r2.xzzx
      or r2.xyzw, r2.xyzw, r4.xyzw
      sample_aoffimmi_indexable(-1,0,0)(texture2d)(float,float,float,float) r1.w, r3.zwzz, t7.xyzw, s7
      ge r1.w, l(0.150000), r1.w
      or r1.w, r1.w, r2.x
      and r1.w, r1.w, l(1)
      sample_aoffimmi_indexable(0,0,0)(texture2d)(float,float,float,float) r2.x, r3.zwzz, t7.wxyz, s7
      ge r2.x, l(0.150000), r2.x
      or r2.x, r2.x, r2.y
      and r2.x, r2.x, l(1)
      iadd r1.w, r1.w, r2.x
      sample_aoffimmi_indexable(0,-1,0)(texture2d)(float,float,float,float) r2.x, r3.zwzz, t7.wxyz, s7
      ge r2.x, l(0.150000), r2.x
      or r2.x, r2.x, r2.z
      and r2.x, r2.x, l(1)
      iadd r1.w, r1.w, r2.x
      sample_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r2.x, r3.zwzz, t7.wxyz, s7
      ge r2.x, l(0.150000), r2.x
      or r2.x, r2.x, r2.w
      and r2.x, r2.x, l(1)
      iadd r1.w, r1.w, r2.x
      iadd r1.z, r1.w, r1.z
      mov r1.w, l(64)
    else
      utof r2.xy, cb0[13].xyxx
      mad r1.xy, r1.xyxx, r2.xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
      round_ni r1.xy, r1.xyxx
      ftoi r2.xy, r1.xyxx
      iadd r3.xyzw, r2.xyyx, l(-4, -4, -3, -3)
      ushr r4.xyzw, r3.xwyz, cb0[12].xxxx
      imad r5.xyzw, r4.zwzw, cb0[13].wwww, r4.xxyy
      ige r6.xyzw, r3.xwyz, l(0, 0, 0, 0)
      ilt r7.xyzw, r3.xwyz, cb0[13].xxyy
      and r8.xyzw, r6.xxyy, r7.xxyy
      and r9.xyzw, r6.zwzw, r8.yyww
      and r9.xyzw, r7.zwzw, r9.xyzw
      ushr r10.xyzw, r5.xyzw, cb0[12].yyyy
      iadd r10.xyzw, r10.xyzw, cb0[13].zzzz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.z, r10.x, l(0), t2.xxxx
      and r11.x, r2.z, r9.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.z, r10.y, l(0), t2.xxxx
      and r11.y, r2.z, r9.y
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.z, r10.z, l(0), t2.xxxx
      and r11.z, r2.z, r9.z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.z, r10.w, l(0), t2.xxxx
      and r11.w, r2.z, r9.w
      bfi r5.xyzw, cb0[12].yyyy, cb0[12].zzzz, r5.xyzw, l(0, 0, 0, 0)
      ushr r5.xyzw, r11.xyzw, r5.xyzw
      and r5.xyzw, r5.xyzw, cb0[12].wwww
      ishl r2.z, cb0[12].x, l(1)
      ishl r5.xyzw, r5.xyzw, r2.zzzz
      ubfe r10.xyzw, cb0[12].xxxx, l(0, 0, 0, 0), r3.xxww
      iadd r5.xyzw, r5.xyzw, r10.xyzw
      bfi r11.xyzw, cb0[12].xxxx, cb0[12].xxxx, r3.yzyz, l(0, 0, 0, 0)
      iadd r5.xyzw, r5.xyzw, r11.xyzw
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.w, r5.x, l(0), t2.xxxx
      and r2.w, r2.w, r9.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r5.x, r5.y, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r5.y, r5.z, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r5.z, r5.w, l(0), t2.xxxx
      and r5.xyz, r5.xyzx, r9.yzwy
      itof r3.xyzw, r3.xyzw
      lt r9.xyzw, r3.xyzw, cb0[6].xyyx
      or r12.xyzw, r9.yzyz, r9.xxww
      ge r3.xyzw, r3.xyzw, cb0[6].zwwz
      or r13.xyzw, r3.yzyz, r3.xxww
      or r12.xyzw, r12.xyzw, r13.xyzw
      ushr r2.w, r2.w, l(24)
      uge r2.w, l(38), r2.w
      or r2.w, r2.w, r12.x
      and r2.w, r2.w, l(1)
      ushr r5.x, r5.x, l(24)
      uge r5.x, l(38), r5.x
      or r5.x, r5.x, r12.y
      and r5.x, r5.x, l(1)
      iadd r2.w, r2.w, r5.x
      ushr r5.x, r5.y, l(24)
      uge r5.x, l(38), r5.x
      or r5.x, r5.x, r12.z
      and r5.x, r5.x, l(1)
      iadd r2.w, r2.w, r5.x
      ushr r5.x, r5.z, l(24)
      uge r5.x, l(38), r5.x
      or r5.x, r5.x, r12.w
      and r5.x, r5.x, l(1)
      iadd r2.w, r2.w, r5.x
      iadd r5.xyzw, r2.xxxx, l(-2, -1, 1, 2)
      ushr r12.xyzw, r5.xyzw, cb0[12].xxxx
      imad r13.xyzw, r4.zwzw, cb0[13].wwww, r12.xxyy
      ige r14.xyzw, r5.xyzw, l(0, 0, 0, 0)
      ilt r15.xyzw, r5.xyzw, cb0[13].xxxx
      and r14.xyzw, r14.xyzw, r15.xyzw
      and r15.xyzw, r6.zwzw, r14.xxyy
      and r15.xyzw, r7.zwzw, r15.xyzw
      ushr r16.xyzw, r13.xyzw, cb0[12].yyyy
      iadd r16.xyzw, r16.xyzw, cb0[13].zzzz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r6.x, r16.x, l(0), t2.xxxx
      and r17.x, r6.x, r15.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r6.x, r16.y, l(0), t2.xxxx
      and r17.y, r6.x, r15.y
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r6.x, r16.z, l(0), t2.xxxx
      and r17.z, r6.x, r15.z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r6.x, r16.w, l(0), t2.xxxx
      and r17.w, r6.x, r15.w
      bfi r13.xyzw, cb0[12].yyyy, cb0[12].zzzz, r13.xyzw, l(0, 0, 0, 0)
      ushr r13.xyzw, r17.xyzw, r13.xyzw
      and r13.xyzw, r13.xyzw, cb0[12].wwww
      ishl r13.xyzw, r13.xyzw, r2.zzzz
      ubfe r16.xyzw, cb0[12].xxxx, l(0, 0, 0, 0), r5.xyzw
      iadd r13.xyzw, r13.xyzw, r16.xxyy
      iadd r13.xyzw, r11.xyzw, r13.xyzw
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r6.x, r13.x, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r6.y, r13.y, l(0), t2.xxxx
      and r6.xy, r6.xyxx, r15.xyxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r7.x, r13.z, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r7.y, r13.w, l(0), t2.xxxx
      and r7.xy, r7.xyxx, r15.zwzz
      itof r5.xyzw, r5.xyzw
      lt r13.xyzw, r5.xyzw, cb0[6].xxxx
      or r15.xyzw, r9.yzyz, r13.xxyy
      ge r5.xyzw, r5.xyzw, cb0[6].zzzz
      or r17.xyzw, r3.yzyz, r5.xxyy
      or r15.xyzw, r15.xyzw, r17.xyzw
      ushr r6.xy, r6.xyxx, l(24, 24, 0, 0)
      uge r6.xy, l(38, 38, 0, 0), r6.xyxx
      or r6.xy, r6.xyxx, r15.xyxx
      and r6.xy, r6.xyxx, l(1, 1, 0, 0)
      iadd r6.x, r6.y, r6.x
      ushr r6.y, r7.x, l(24)
      uge r6.y, l(38), r6.y
      or r6.y, r6.y, r15.z
      and r6.y, r6.y, l(1)
      iadd r6.x, r6.y, r6.x
      ushr r6.y, r7.y, l(24)
      uge r6.y, l(38), r6.y
      or r6.y, r6.y, r15.w
      and r6.y, r6.y, l(1)
      iadd r6.x, r6.y, r6.x
      iadd r2.w, r2.w, r6.x
      imad r15.xyzw, r4.zwzw, cb0[13].wwww, r12.zzww
      and r17.xyzw, r6.zwzw, r14.zzww
      and r17.xyzw, r7.zwzw, r17.xyzw
      ushr r18.xyzw, r15.xyzw, cb0[12].yyyy
      iadd r18.xyzw, r18.xyzw, cb0[13].zzzz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r6.x, r18.x, l(0), t2.xxxx
      and r19.x, r6.x, r17.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r6.x, r18.y, l(0), t2.xxxx
      and r19.y, r6.x, r17.y
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r6.x, r18.z, l(0), t2.xxxx
      and r19.z, r6.x, r17.z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r6.x, r18.w, l(0), t2.xxxx
      and r19.w, r6.x, r17.w
      bfi r15.xyzw, cb0[12].yyyy, cb0[12].zzzz, r15.xyzw, l(0, 0, 0, 0)
      ushr r15.xyzw, r19.xyzw, r15.xyzw
      and r15.xyzw, r15.xyzw, cb0[12].wwww
      ishl r15.xyzw, r15.xyzw, r2.zzzz
      iadd r15.xyzw, r16.zzww, r15.xyzw
      iadd r15.xyzw, r11.xyzw, r15.xyzw
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r6.x, r15.x, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r6.y, r15.y, l(0), t2.xxxx
      and r6.xy, r6.xyxx, r17.xyxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r7.x, r15.z, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r7.y, r15.w, l(0), t2.xxxx
      and r7.xy, r7.xyxx, r17.zwzz
      or r15.xyzw, r9.yzyz, r13.zzww
      or r17.xyzw, r3.yzyz, r5.zzww
      or r15.xyzw, r15.xyzw, r17.xyzw
      ushr r6.xy, r6.xyxx, l(24, 24, 0, 0)
      uge r6.xy, l(38, 38, 0, 0), r6.xyxx
      or r6.xy, r6.xyxx, r15.xyxx
      and r6.xy, r6.xyxx, l(1, 1, 0, 0)
      iadd r6.x, r6.y, r6.x
      ushr r6.y, r7.x, l(24)
      uge r6.y, l(38), r6.y
      or r6.y, r6.y, r15.z
      and r6.y, r6.y, l(1)
      iadd r6.x, r6.y, r6.x
      ushr r6.y, r7.y, l(24)
      uge r6.y, l(38), r6.y
      or r6.y, r6.y, r15.w
      and r6.y, r6.y, l(1)
      iadd r6.x, r6.y, r6.x
      iadd r2.w, r2.w, r6.x
      iadd r15.xyzw, r2.xxyy, l(3, 4, -2, -1)
      ushr r17.xyzw, r15.xyzw, cb0[12].xxxx
      imad r18.xyzw, r4.zwzw, cb0[13].wwww, r17.xxyy
      ige r19.xyzw, r15.xyzw, l(0, 0, 0, 0)
      ilt r20.xyzw, r15.xyzw, cb0[13].xxyy
      and r21.xyzw, r19.xxyy, r20.xxyy
      and r6.xyzw, r6.zwzw, r21.yyww
      and r6.xyzw, r7.zwzw, r6.xyzw
      ushr r7.xyzw, r18.xyzw, cb0[12].yyyy
      iadd r7.xyzw, r7.xyzw, cb0[13].zzzz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r4.z, r7.x, l(0), t2.xxxx
      and r22.x, r4.z, r6.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r4.z, r7.y, l(0), t2.xxxx
      and r22.y, r4.z, r6.y
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r4.z, r7.z, l(0), t2.xxxx
      and r22.z, r4.z, r6.z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r4.z, r7.w, l(0), t2.xxxx
      and r22.w, r4.z, r6.w
      bfi r7.xyzw, cb0[12].yyyy, cb0[12].zzzz, r18.xyzw, l(0, 0, 0, 0)
      ushr r7.xyzw, r22.xyzw, r7.xyzw
      and r7.xyzw, r7.xyzw, cb0[12].wwww
      ishl r7.xyzw, r7.xyzw, r2.zzzz
      ubfe r18.xyzw, cb0[12].xxxx, l(0, 0, 0, 0), r15.xxyy
      iadd r7.xyzw, r7.xyzw, r18.xyzw
      iadd r7.xyzw, r11.xyzw, r7.xyzw
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r4.z, r7.x, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r4.w, r7.y, l(0), t2.xxxx
      and r4.zw, r4.zzzw, r6.xxxy
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r6.x, r7.z, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r6.y, r7.w, l(0), t2.xxxx
      and r6.xy, r6.xyxx, r6.zwzz
      itof r7.xyzw, r15.xyzw
      lt r11.xyzw, r7.xyzw, cb0[6].xxyy
      or r22.xyzw, r9.yzyz, r11.xxyy
      ge r7.xyzw, r7.xyzw, cb0[6].zzww
      or r23.xyzw, r3.yzyz, r7.xxyy
      or r22.xyzw, r22.xyzw, r23.xyzw
      ushr r3.yz, r4.zzwz, l(0, 24, 24, 0)
      uge r3.yz, l(0, 38, 38, 0), r3.yyzy
      or r3.yz, r3.yyzy, r22.xxyx
      and r3.yz, r3.yyzy, l(0, 1, 1, 0)
      iadd r3.y, r3.z, r3.y
      ushr r3.z, r6.x, l(24)
      uge r3.z, l(38), r3.z
      or r3.z, r3.z, r22.z
      and r3.z, r3.z, l(1)
      iadd r3.y, r3.z, r3.y
      ushr r3.z, r6.y, l(24)
      uge r3.z, l(38), r3.z
      or r3.z, r3.z, r22.w
      and r3.z, r3.z, l(1)
      iadd r3.y, r3.z, r3.y
      iadd r2.w, r2.w, r3.y
      imad r6.xyzw, r17.zwzw, cb0[13].wwww, r4.xxyy
      and r22.xyzw, r8.yyww, r19.zwzw
      and r22.xyzw, r20.zwzw, r22.xyzw
      ushr r23.xyzw, r6.xyzw, cb0[12].yyyy
      iadd r23.xyzw, r23.xyzw, cb0[13].zzzz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.y, r23.x, l(0), t2.xxxx
      and r24.x, r3.y, r22.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.y, r23.y, l(0), t2.xxxx
      and r24.y, r3.y, r22.y
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.y, r23.z, l(0), t2.xxxx
      and r24.z, r3.y, r22.z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.y, r23.w, l(0), t2.xxxx
      and r24.w, r3.y, r22.w
      bfi r6.xyzw, cb0[12].yyyy, cb0[12].zzzz, r6.xyzw, l(0, 0, 0, 0)
      ushr r6.xyzw, r24.xyzw, r6.xyzw
      and r6.xyzw, r6.xyzw, cb0[12].wwww
      ishl r6.xyzw, r6.xyzw, r2.zzzz
      iadd r6.xyzw, r10.xyzw, r6.xyzw
      bfi r15.xyzw, cb0[12].xxxx, cb0[12].xxxx, r15.zwzw, l(0, 0, 0, 0)
      iadd r6.xyzw, r6.xyzw, r15.xyzw
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.y, r6.x, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.z, r6.y, l(0), t2.xxxx
      and r3.yz, r3.yyzy, r22.xxyx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r4.z, r6.z, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r4.w, r6.w, l(0), t2.xxxx
      and r4.zw, r4.zzzw, r22.zzzw
      or r6.xyzw, r9.xxww, r11.zwzw
      or r22.xyzw, r3.xxww, r7.zwzw
      or r6.xyzw, r6.xyzw, r22.xyzw
      ushr r3.yz, r3.yyzy, l(0, 24, 24, 0)
      uge r3.yz, l(0, 38, 38, 0), r3.yyzy
      or r3.yz, r3.yyzy, r6.xxyx
      and r3.yz, r3.yyzy, l(0, 1, 1, 0)
      iadd r3.y, r3.z, r3.y
      ushr r3.z, r4.z, l(24)
      uge r3.z, l(38), r3.z
      or r3.z, r3.z, r6.z
      and r3.z, r3.z, l(1)
      iadd r3.y, r3.z, r3.y
      ushr r3.z, r4.w, l(24)
      uge r3.z, l(38), r3.z
      or r3.z, r3.z, r6.w
      and r3.z, r3.z, l(1)
      iadd r3.y, r3.z, r3.y
      iadd r2.w, r2.w, r3.y
      imad r6.xyzw, r17.zwzw, cb0[13].wwww, r12.xxyy
      and r22.xyzw, r14.xxyy, r19.zwzw
      and r22.xyzw, r20.zwzw, r22.xyzw
      ushr r23.xyzw, r6.xyzw, cb0[12].yyyy
      iadd r23.xyzw, r23.xyzw, cb0[13].zzzz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.y, r23.x, l(0), t2.xxxx
      and r24.x, r3.y, r22.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.y, r23.y, l(0), t2.xxxx
      and r24.y, r3.y, r22.y
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.y, r23.z, l(0), t2.xxxx
      and r24.z, r3.y, r22.z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.y, r23.w, l(0), t2.xxxx
      and r24.w, r3.y, r22.w
      bfi r6.xyzw, cb0[12].yyyy, cb0[12].zzzz, r6.xyzw, l(0, 0, 0, 0)
      ushr r6.xyzw, r24.xyzw, r6.xyzw
      and r6.xyzw, r6.xyzw, cb0[12].wwww
      ishl r6.xyzw, r6.xyzw, r2.zzzz
      iadd r6.xyzw, r16.xxyy, r6.xyzw
      iadd r6.xyzw, r15.xyzw, r6.xyzw
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.y, r6.x, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.z, r6.y, l(0), t2.xxxx
      and r3.yz, r3.yyzy, r22.xxyx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r4.z, r6.z, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r4.w, r6.w, l(0), t2.xxxx
      and r4.zw, r4.zzzw, r22.zzzw
      or r6.xyzw, r11.zwzw, r13.xxyy
      or r22.xyzw, r5.xxyy, r7.zwzw
      or r6.xyzw, r6.xyzw, r22.xyzw
      ushr r3.yz, r3.yyzy, l(0, 24, 24, 0)
      uge r3.yz, l(0, 38, 38, 0), r3.yyzy
      or r3.yz, r3.yyzy, r6.xxyx
      and r3.yz, r3.yyzy, l(0, 1, 1, 0)
      iadd r3.y, r3.z, r3.y
      ushr r3.z, r4.z, l(24)
      uge r3.z, l(38), r3.z
      or r3.z, r3.z, r6.z
      and r3.z, r3.z, l(1)
      iadd r3.y, r3.z, r3.y
      ushr r3.z, r4.w, l(24)
      uge r3.z, l(38), r3.z
      or r3.z, r3.z, r6.w
      and r3.z, r3.z, l(1)
      iadd r3.y, r3.z, r3.y
      iadd r2.w, r2.w, r3.y
      imad r6.xyzw, r17.zwzw, cb0[13].wwww, r12.zzww
      and r22.xyzw, r14.zzww, r19.zwzw
      and r22.xyzw, r20.zwzw, r22.xyzw
      ushr r23.xyzw, r6.xyzw, cb0[12].yyyy
      iadd r23.xyzw, r23.xyzw, cb0[13].zzzz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.y, r23.x, l(0), t2.xxxx
      and r24.x, r3.y, r22.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.y, r23.y, l(0), t2.xxxx
      and r24.y, r3.y, r22.y
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.y, r23.z, l(0), t2.xxxx
      and r24.z, r3.y, r22.z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.y, r23.w, l(0), t2.xxxx
      and r24.w, r3.y, r22.w
      bfi r6.xyzw, cb0[12].yyyy, cb0[12].zzzz, r6.xyzw, l(0, 0, 0, 0)
      ushr r6.xyzw, r24.xyzw, r6.xyzw
      and r6.xyzw, r6.xyzw, cb0[12].wwww
      ishl r6.xyzw, r6.xyzw, r2.zzzz
      iadd r6.xyzw, r16.zzww, r6.xyzw
      iadd r6.xyzw, r15.xyzw, r6.xyzw
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.y, r6.x, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.z, r6.y, l(0), t2.xxxx
      and r3.yz, r3.yyzy, r22.xxyx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r4.z, r6.z, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r4.w, r6.w, l(0), t2.xxxx
      and r4.zw, r4.zzzw, r22.zzzw
      or r6.xyzw, r11.zwzw, r13.zzww
      or r22.xyzw, r5.zzww, r7.zwzw
      or r6.xyzw, r6.xyzw, r22.xyzw
      ushr r3.yz, r3.yyzy, l(0, 24, 24, 0)
      uge r3.yz, l(0, 38, 38, 0), r3.yyzy
      or r3.yz, r3.yyzy, r6.xxyx
      and r3.yz, r3.yyzy, l(0, 1, 1, 0)
      iadd r3.y, r3.z, r3.y
      ushr r3.z, r4.z, l(24)
      uge r3.z, l(38), r3.z
      or r3.z, r3.z, r6.z
      and r3.z, r3.z, l(1)
      iadd r3.y, r3.z, r3.y
      ushr r3.z, r4.w, l(24)
      uge r3.z, l(38), r3.z
      or r3.z, r3.z, r6.w
      and r3.z, r3.z, l(1)
      iadd r3.y, r3.z, r3.y
      iadd r2.w, r2.w, r3.y
      imad r6.xyzw, r17.zwzw, cb0[13].wwww, r17.xxyy
      and r19.xyzw, r19.zwzw, r21.yyww
      and r19.xyzw, r20.zwzw, r19.xyzw
      ushr r20.xyzw, r6.xyzw, cb0[12].yyyy
      iadd r20.xyzw, r20.xyzw, cb0[13].zzzz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.y, r20.x, l(0), t2.xxxx
      and r22.x, r3.y, r19.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.y, r20.y, l(0), t2.xxxx
      and r22.y, r3.y, r19.y
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.y, r20.z, l(0), t2.xxxx
      and r22.z, r3.y, r19.z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.y, r20.w, l(0), t2.xxxx
      and r22.w, r3.y, r19.w
      bfi r6.xyzw, cb0[12].yyyy, cb0[12].zzzz, r6.xyzw, l(0, 0, 0, 0)
      ushr r6.xyzw, r22.xyzw, r6.xyzw
      and r6.xyzw, r6.xyzw, cb0[12].wwww
      ishl r6.xyzw, r6.xyzw, r2.zzzz
      iadd r6.xyzw, r18.xyzw, r6.xyzw
      iadd r6.xyzw, r15.xyzw, r6.xyzw
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.y, r6.x, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.z, r6.y, l(0), t2.xxxx
      and r3.yz, r3.yyzy, r19.xxyx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r4.z, r6.z, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r4.w, r6.w, l(0), t2.xxxx
      and r4.zw, r4.zzzw, r19.zzzw
      or r6.xyzw, r11.zwzw, r11.xxyy
      or r15.xyzw, r7.zwzw, r7.xxyy
      or r6.xyzw, r6.xyzw, r15.xyzw
      ushr r3.yz, r3.yyzy, l(0, 24, 24, 0)
      uge r3.yz, l(0, 38, 38, 0), r3.yyzy
      or r3.yz, r3.yyzy, r6.xxyx
      and r3.yz, r3.yyzy, l(0, 1, 1, 0)
      iadd r3.y, r3.z, r3.y
      ushr r3.z, r4.z, l(24)
      uge r3.z, l(38), r3.z
      or r3.z, r3.z, r6.z
      and r3.z, r3.z, l(1)
      iadd r3.y, r3.z, r3.y
      ushr r3.z, r4.w, l(24)
      uge r3.z, l(38), r3.z
      or r3.z, r3.z, r6.w
      and r3.z, r3.z, l(1)
      iadd r3.y, r3.z, r3.y
      iadd r2.w, r2.w, r3.y
      iadd r6.xyzw, r2.yyyy, l(-4, -3, -2, -1)
      ushr r3.yz, r2.xxyx, cb0[12].xxxx
      ushr r15.xyzw, r6.xyzw, cb0[12].xxxx
      imad r15.xyzw, r15.xyzw, cb0[13].wwww, r3.yyyy
      ige r4.zw, r2.xxxy, l(0, 0, 0, 0)
      ilt r7.zw, r2.xxxy, cb0[13].xxxy
      and r4.z, r4.z, r7.z
      ige r19.xyzw, r6.xyzw, l(0, 0, 0, 0)
      and r19.xyzw, r4.zzzz, r19.xyzw
      ilt r20.xyzw, r6.xyzw, cb0[13].yyyy
      and r19.xyzw, r19.xyzw, r20.xyzw
      ushr r20.xyzw, r15.xyzw, cb0[12].yyyy
      iadd r20.xyzw, r20.xyzw, cb0[13].zzzz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r7.z, r20.x, l(0), t2.xxxx
      and r22.x, r7.z, r19.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r7.z, r20.y, l(0), t2.xxxx
      and r22.y, r7.z, r19.y
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r7.z, r20.z, l(0), t2.xxxx
      and r22.z, r7.z, r19.z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r7.z, r20.w, l(0), t2.xxxx
      and r22.w, r7.z, r19.w
      bfi r15.xyzw, cb0[12].yyyy, cb0[12].zzzz, r15.xyzw, l(0, 0, 0, 0)
      ushr r15.xyzw, r22.xyzw, r15.xyzw
      and r15.xyzw, r15.xyzw, cb0[12].wwww
      ishl r15.xyzw, r15.xyzw, r2.zzzz
      ubfe r7.z, cb0[12].x, l(0), r2.x
      iadd r15.xyzw, r7.zzzz, r15.xyzw
      bfi r20.xyzw, cb0[12].xxxx, cb0[12].xxxx, r6.xyzw, l(0, 0, 0, 0)
      iadd r15.xyzw, r15.xyzw, r20.xyzw
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r9.y, r15.x, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r9.z, r15.y, l(0), t2.xxxx
      and r9.yz, r9.yyzy, r19.xxyx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r11.z, r15.z, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r11.w, r15.w, l(0), t2.xxxx
      and r11.zw, r11.zzzw, r19.zzzw
      lt r15.xy, r1.xyxx, cb0[6].xyxx
      itof r6.xyzw, r6.xyzw
      lt r19.xyzw, r6.xyzw, cb0[6].yyyy
      or r19.xyzw, r15.xxxx, r19.xyzw
      ge r1.xy, r1.xyxx, cb0[6].zwzz
      ge r6.xyzw, r6.xyzw, cb0[6].wwww
      or r6.xyzw, r1.xxxx, r6.xyzw
      or r6.xyzw, r6.xyzw, r19.xyzw
      ushr r9.y, r9.y, l(24)
      uge r9.y, l(38), r9.y
      or r6.x, r6.x, r9.y
      ushr r9.y, r9.z, l(24)
      uge r9.y, l(38), r9.y
      or r6.y, r6.y, r9.y
      and r6.xy, r6.xyxx, l(1, 1, 0, 0)
      iadd r6.x, r6.y, r6.x
      ushr r6.y, r11.z, l(24)
      uge r6.y, l(38), r6.y
      or r6.y, r6.y, r6.z
      and r6.y, r6.y, l(1)
      iadd r6.x, r6.y, r6.x
      ushr r6.y, r11.w, l(24)
      uge r6.y, l(38), r6.y
      or r6.y, r6.y, r6.w
      and r6.y, r6.y, l(1)
      iadd r6.x, r6.y, r6.x
      iadd r2.w, r2.w, r6.x
      iadd r6.xyzw, r2.xxxx, l(-4, -3, -2, -1)
      ushr r19.xyzw, r6.xyzw, cb0[12].xxxx
      imad r19.xyzw, r3.zzzz, cb0[13].wwww, r19.xyzw
      ige r20.xyzw, r6.xyzw, l(0, 0, 0, 0)
      ilt r22.xyzw, r6.xyzw, cb0[13].xxxx
      and r20.xyzw, r20.xyzw, r22.xyzw
      and r20.xyzw, r4.wwww, r20.xyzw
      and r20.xyzw, r7.wwww, r20.xyzw
      ushr r22.xyzw, r19.xyzw, cb0[12].yyyy
      iadd r22.xyzw, r22.xyzw, cb0[13].zzzz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r9.y, r22.x, l(0), t2.xxxx
      and r23.x, r9.y, r20.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r9.y, r22.y, l(0), t2.xxxx
      and r23.y, r9.y, r20.y
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r9.y, r22.z, l(0), t2.xxxx
      and r23.z, r9.y, r20.z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r9.y, r22.w, l(0), t2.xxxx
      and r23.w, r9.y, r20.w
      bfi r19.xyzw, cb0[12].yyyy, cb0[12].zzzz, r19.xyzw, l(0, 0, 0, 0)
      ushr r19.xyzw, r23.xyzw, r19.xyzw
      and r19.xyzw, r19.xyzw, cb0[12].wwww
      ishl r19.xyzw, r19.xyzw, r2.zzzz
      ubfe r22.xyzw, cb0[12].xxxx, l(0, 0, 0, 0), r6.xyzw
      iadd r19.xyzw, r19.xyzw, r22.xyzw
      bfi r9.y, cb0[12].x, cb0[12].x, r2.y, l(0)
      iadd r19.xyzw, r9.yyyy, r19.xyzw
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r9.z, r19.x, l(0), t2.xxxx
      and r9.z, r9.z, r20.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r11.z, r19.y, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r11.w, r19.z, l(0), t2.xxxx
      and r11.zw, r11.zzzw, r20.yyyz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r15.z, r19.w, l(0), t2.xxxx
      and r15.z, r15.z, r20.w
      itof r6.xyzw, r6.xyzw
      lt r19.xyzw, r6.xyzw, cb0[6].xxxx
      or r19.xyzw, r15.yyyy, r19.xyzw
      ge r6.xyzw, r6.xyzw, cb0[6].zzzz
      or r6.xyzw, r1.yyyy, r6.xyzw
      or r6.xyzw, r6.xyzw, r19.xyzw
      ushr r9.z, r9.z, l(24)
      uge r9.z, l(38), r9.z
      or r6.x, r6.x, r9.z
      ushr r9.z, r11.z, l(24)
      uge r9.z, l(38), r9.z
      or r6.y, r6.y, r9.z
      and r6.xy, r6.xyxx, l(1, 1, 0, 0)
      iadd r6.x, r6.y, r6.x
      ushr r6.y, r11.w, l(24)
      uge r6.y, l(38), r6.y
      or r6.y, r6.y, r6.z
      and r6.y, r6.y, l(1)
      iadd r6.x, r6.y, r6.x
      ushr r6.y, r15.z, l(24)
      uge r6.y, l(38), r6.y
      or r6.y, r6.y, r6.w
      and r6.y, r6.y, l(1)
      iadd r6.x, r6.y, r6.x
      iadd r2.w, r2.w, r6.x
      iadd r6.xyzw, r2.xxxx, l(1, 2, 3, 4)
      ushr r19.xyzw, r6.xyzw, cb0[12].xxxx
      imad r19.xyzw, r3.zzzz, cb0[13].wwww, r19.xyzw
      ige r20.xyzw, r6.xyzw, l(0, 0, 0, 0)
      ilt r22.xyzw, r6.xyzw, cb0[13].xxxx
      and r20.xyzw, r20.xyzw, r22.xyzw
      and r20.xyzw, r4.wwww, r20.xyzw
      and r20.xyzw, r7.wwww, r20.xyzw
      ushr r22.xyzw, r19.xyzw, cb0[12].yyyy
      iadd r22.xyzw, r22.xyzw, cb0[13].zzzz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r22.x, l(0), t2.xxxx
      and r23.x, r2.x, r20.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r22.y, l(0), t2.xxxx
      and r23.y, r2.x, r20.y
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r22.z, l(0), t2.xxxx
      and r23.z, r2.x, r20.z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r22.w, l(0), t2.xxxx
      and r23.w, r2.x, r20.w
      bfi r19.xyzw, cb0[12].yyyy, cb0[12].zzzz, r19.xyzw, l(0, 0, 0, 0)
      ushr r19.xyzw, r23.xyzw, r19.xyzw
      and r19.xyzw, r19.xyzw, cb0[12].wwww
      ishl r19.xyzw, r19.xyzw, r2.zzzz
      ubfe r22.xyzw, cb0[12].xxxx, l(0, 0, 0, 0), r6.xyzw
      iadd r19.xyzw, r19.xyzw, r22.xyzw
      iadd r19.xyzw, r9.yyyy, r19.xyzw
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r19.x, l(0), t2.xxxx
      and r2.x, r2.x, r20.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.z, r19.y, l(0), t2.xxxx
      and r3.z, r3.z, r20.y
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r4.w, r19.z, l(0), t2.xxxx
      and r4.w, r4.w, r20.z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r7.w, r19.w, l(0), t2.xxxx
      and r7.w, r7.w, r20.w
      itof r6.xyzw, r6.xyzw
      lt r19.xyzw, r6.xyzw, cb0[6].xxxx
      or r19.xyzw, r15.yyyy, r19.xyzw
      ge r6.xyzw, r6.xyzw, cb0[6].zzzz
      or r6.xyzw, r1.yyyy, r6.xyzw
      or r6.xyzw, r6.xyzw, r19.xyzw
      ushr r1.y, r2.x, l(24)
      uge r1.y, l(38), r1.y
      or r1.y, r1.y, r6.x
      and r1.y, r1.y, l(1)
      ushr r2.x, r3.z, l(24)
      uge r2.x, l(38), r2.x
      or r2.x, r2.x, r6.y
      and r2.x, r2.x, l(1)
      iadd r1.y, r1.y, r2.x
      ushr r2.x, r4.w, l(24)
      uge r2.x, l(38), r2.x
      or r2.x, r2.x, r6.z
      and r2.x, r2.x, l(1)
      iadd r1.y, r1.y, r2.x
      ushr r2.x, r7.w, l(24)
      uge r2.x, l(38), r2.x
      or r2.x, r2.x, r6.w
      and r2.x, r2.x, l(1)
      iadd r1.y, r1.y, r2.x
      iadd r1.y, r1.y, r2.w
      iadd r6.xyzw, r2.yyyy, l(1, 2, 3, 4)
      ushr r19.xyzw, r6.xyzw, cb0[12].xxxx
      imad r20.xyzw, r19.xyxy, cb0[13].wwww, r4.xxyy
      ige r22.xyzw, r6.xyzw, l(0, 0, 0, 0)
      and r23.xyzw, r8.yyww, r22.xyxy
      ilt r24.xyzw, r6.xyzw, cb0[13].yyyy
      and r23.xyzw, r23.xyzw, r24.xyxy
      ushr r25.xyzw, r20.xyzw, cb0[12].yyyy
      iadd r25.xyzw, r25.xyzw, cb0[13].zzzz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r25.x, l(0), t2.xxxx
      and r26.x, r2.x, r23.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r25.y, l(0), t2.xxxx
      and r26.y, r2.x, r23.y
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r25.z, l(0), t2.xxxx
      and r26.z, r2.x, r23.z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r25.w, l(0), t2.xxxx
      and r26.w, r2.x, r23.w
      bfi r20.xyzw, cb0[12].yyyy, cb0[12].zzzz, r20.xyzw, l(0, 0, 0, 0)
      ushr r20.xyzw, r26.xyzw, r20.xyzw
      and r20.xyzw, r20.xyzw, cb0[12].wwww
      ishl r20.xyzw, r20.xyzw, r2.zzzz
      iadd r20.xyzw, r10.xyzw, r20.xyzw
      bfi r25.xyzw, cb0[12].xxxx, cb0[12].xxxx, r6.xyzw, l(0, 0, 0, 0)
      iadd r20.xyzw, r20.xyzw, r25.xyxy
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r20.x, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.y, r20.y, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.w, r20.z, l(0), t2.xxxx
      and r2.xyw, r2.xyxw, r23.xyxz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.z, r20.w, l(0), t2.xxxx
      and r3.z, r3.z, r23.w
      itof r6.xyzw, r6.xyzw
      lt r20.xyzw, r6.xyzw, cb0[6].yyyy
      or r23.xyzw, r9.xxww, r20.xyxy
      ge r6.xyzw, r6.xyzw, cb0[6].wwww
      or r26.xyzw, r3.xxww, r6.xyxy
      or r23.xyzw, r23.xyzw, r26.xyzw
      ushr r2.xy, r2.xyxx, l(24, 24, 0, 0)
      uge r2.xy, l(38, 38, 0, 0), r2.xyxx
      or r2.xy, r2.xyxx, r23.xyxx
      and r2.xy, r2.xyxx, l(1, 1, 0, 0)
      iadd r2.x, r2.y, r2.x
      ushr r2.y, r2.w, l(24)
      uge r2.y, l(38), r2.y
      or r2.y, r2.y, r23.z
      and r2.y, r2.y, l(1)
      iadd r2.x, r2.y, r2.x
      ushr r2.y, r3.z, l(24)
      uge r2.y, l(38), r2.y
      or r2.y, r2.y, r23.w
      and r2.y, r2.y, l(1)
      iadd r2.x, r2.y, r2.x
      iadd r1.y, r1.y, r2.x
      imad r23.xyzw, r19.xyxy, cb0[13].wwww, r12.xxyy
      and r26.xyzw, r14.xxyy, r22.xyxy
      and r26.xyzw, r24.xyxy, r26.xyzw
      ushr r27.xyzw, r23.xyzw, cb0[12].yyyy
      iadd r27.xyzw, r27.xyzw, cb0[13].zzzz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r27.x, l(0), t2.xxxx
      and r28.x, r2.x, r26.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r27.y, l(0), t2.xxxx
      and r28.y, r2.x, r26.y
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r27.z, l(0), t2.xxxx
      and r28.z, r2.x, r26.z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r27.w, l(0), t2.xxxx
      and r28.w, r2.x, r26.w
      bfi r23.xyzw, cb0[12].yyyy, cb0[12].zzzz, r23.xyzw, l(0, 0, 0, 0)
      ushr r23.xyzw, r28.xyzw, r23.xyzw
      and r23.xyzw, r23.xyzw, cb0[12].wwww
      ishl r23.xyzw, r23.xyzw, r2.zzzz
      iadd r23.xyzw, r16.xxyy, r23.xyzw
      iadd r23.xyzw, r25.xyxy, r23.xyzw
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r23.x, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.y, r23.y, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.w, r23.z, l(0), t2.xxxx
      and r2.xyw, r2.xyxw, r26.xyxz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.z, r23.w, l(0), t2.xxxx
      and r3.z, r3.z, r26.w
      or r23.xyzw, r13.xxyy, r20.xyxy
      or r26.xyzw, r5.xxyy, r6.xyxy
      or r23.xyzw, r23.xyzw, r26.xyzw
      ushr r2.xy, r2.xyxx, l(24, 24, 0, 0)
      uge r2.xy, l(38, 38, 0, 0), r2.xyxx
      or r2.xy, r2.xyxx, r23.xyxx
      and r2.xy, r2.xyxx, l(1, 1, 0, 0)
      iadd r2.x, r2.y, r2.x
      ushr r2.y, r2.w, l(24)
      uge r2.y, l(38), r2.y
      or r2.y, r2.y, r23.z
      and r2.y, r2.y, l(1)
      iadd r2.x, r2.y, r2.x
      ushr r2.y, r3.z, l(24)
      uge r2.y, l(38), r2.y
      or r2.y, r2.y, r23.w
      and r2.y, r2.y, l(1)
      iadd r2.x, r2.y, r2.x
      iadd r1.y, r1.y, r2.x
      imad r23.xyzw, r19.xyxy, cb0[13].wwww, r12.zzww
      and r26.xyzw, r14.zzww, r22.xyxy
      and r26.xyzw, r24.xyxy, r26.xyzw
      ushr r27.xyzw, r23.xyzw, cb0[12].yyyy
      iadd r27.xyzw, r27.xyzw, cb0[13].zzzz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r27.x, l(0), t2.xxxx
      and r28.x, r2.x, r26.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r27.y, l(0), t2.xxxx
      and r28.y, r2.x, r26.y
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r27.z, l(0), t2.xxxx
      and r28.z, r2.x, r26.z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r27.w, l(0), t2.xxxx
      and r28.w, r2.x, r26.w
      bfi r23.xyzw, cb0[12].yyyy, cb0[12].zzzz, r23.xyzw, l(0, 0, 0, 0)
      ushr r23.xyzw, r28.xyzw, r23.xyzw
      and r23.xyzw, r23.xyzw, cb0[12].wwww
      ishl r23.xyzw, r23.xyzw, r2.zzzz
      iadd r23.xyzw, r16.zzww, r23.xyzw
      iadd r23.xyzw, r25.xyxy, r23.xyzw
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r23.x, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.y, r23.y, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.w, r23.z, l(0), t2.xxxx
      and r2.xyw, r2.xyxw, r26.xyxz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.z, r23.w, l(0), t2.xxxx
      and r3.z, r3.z, r26.w
      or r23.xyzw, r13.zzww, r20.xyxy
      or r26.xyzw, r5.zzww, r6.xyxy
      or r23.xyzw, r23.xyzw, r26.xyzw
      ushr r2.xy, r2.xyxx, l(24, 24, 0, 0)
      uge r2.xy, l(38, 38, 0, 0), r2.xyxx
      or r2.xy, r2.xyxx, r23.xyxx
      and r2.xy, r2.xyxx, l(1, 1, 0, 0)
      iadd r2.x, r2.y, r2.x
      ushr r2.y, r2.w, l(24)
      uge r2.y, l(38), r2.y
      or r2.y, r2.y, r23.z
      and r2.y, r2.y, l(1)
      iadd r2.x, r2.y, r2.x
      ushr r2.y, r3.z, l(24)
      uge r2.y, l(38), r2.y
      or r2.y, r2.y, r23.w
      and r2.y, r2.y, l(1)
      iadd r2.x, r2.y, r2.x
      iadd r1.y, r1.y, r2.x
      imad r23.xyzw, r19.xyxy, cb0[13].wwww, r17.xxyy
      and r26.xyzw, r21.yyww, r22.xyxy
      and r26.xyzw, r24.xyxy, r26.xyzw
      ushr r27.xyzw, r23.xyzw, cb0[12].yyyy
      iadd r27.xyzw, r27.xyzw, cb0[13].zzzz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r27.x, l(0), t2.xxxx
      and r28.x, r2.x, r26.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r27.y, l(0), t2.xxxx
      and r28.y, r2.x, r26.y
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r27.z, l(0), t2.xxxx
      and r28.z, r2.x, r26.z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r27.w, l(0), t2.xxxx
      and r28.w, r2.x, r26.w
      bfi r23.xyzw, cb0[12].yyyy, cb0[12].zzzz, r23.xyzw, l(0, 0, 0, 0)
      ushr r23.xyzw, r28.xyzw, r23.xyzw
      and r23.xyzw, r23.xyzw, cb0[12].wwww
      ishl r23.xyzw, r23.xyzw, r2.zzzz
      iadd r23.xyzw, r18.xyzw, r23.xyzw
      iadd r23.xyzw, r25.xyxy, r23.xyzw
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r23.x, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.y, r23.y, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.w, r23.z, l(0), t2.xxxx
      and r2.xyw, r2.xyxw, r26.xyxz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.z, r23.w, l(0), t2.xxxx
      and r3.z, r3.z, r26.w
      or r23.xyzw, r11.xxyy, r20.xyxy
      or r26.xyzw, r6.xyxy, r7.xxyy
      or r23.xyzw, r23.xyzw, r26.xyzw
      ushr r2.xy, r2.xyxx, l(24, 24, 0, 0)
      uge r2.xy, l(38, 38, 0, 0), r2.xyxx
      or r2.xy, r2.xyxx, r23.xyxx
      and r2.xy, r2.xyxx, l(1, 1, 0, 0)
      iadd r2.x, r2.y, r2.x
      ushr r2.y, r2.w, l(24)
      uge r2.y, l(38), r2.y
      or r2.y, r2.y, r23.z
      and r2.y, r2.y, l(1)
      iadd r2.x, r2.y, r2.x
      ushr r2.y, r3.z, l(24)
      uge r2.y, l(38), r2.y
      or r2.y, r2.y, r23.w
      and r2.y, r2.y, l(1)
      iadd r2.x, r2.y, r2.x
      iadd r1.y, r1.y, r2.x
      imad r23.xyzw, r19.zwzw, cb0[13].wwww, r4.xxyy
      and r8.xyzw, r8.xyzw, r22.zwzw
      and r8.xyzw, r24.zwzw, r8.xyzw
      ushr r26.xyzw, r23.xyzw, cb0[12].yyyy
      iadd r26.xyzw, r26.xyzw, cb0[13].zzzz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r26.x, l(0), t2.xxxx
      and r27.x, r2.x, r8.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r26.y, l(0), t2.xxxx
      and r27.y, r2.x, r8.y
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r26.z, l(0), t2.xxxx
      and r27.z, r2.x, r8.z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r26.w, l(0), t2.xxxx
      and r27.w, r2.x, r8.w
      bfi r23.xyzw, cb0[12].yyyy, cb0[12].zzzz, r23.xyzw, l(0, 0, 0, 0)
      ushr r23.xyzw, r27.xyzw, r23.xyzw
      and r23.xyzw, r23.xyzw, cb0[12].wwww
      ishl r23.xyzw, r23.xyzw, r2.zzzz
      iadd r10.xyzw, r10.xyzw, r23.xyzw
      iadd r10.xyzw, r25.zwzw, r10.xyzw
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r10.x, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.y, r10.y, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.w, r10.z, l(0), t2.xxxx
      and r2.xyw, r2.xyxw, r8.xyxz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.z, r10.w, l(0), t2.xxxx
      and r3.z, r3.z, r8.w
      or r8.xyzw, r9.xxww, r20.zwzw
      or r9.xyzw, r3.xxww, r6.zwzw
      or r8.xyzw, r8.xyzw, r9.xyzw
      ushr r2.xy, r2.xyxx, l(24, 24, 0, 0)
      uge r2.xy, l(38, 38, 0, 0), r2.xyxx
      or r2.xy, r2.xyxx, r8.xyxx
      and r2.xy, r2.xyxx, l(1, 1, 0, 0)
      iadd r2.x, r2.y, r2.x
      ushr r2.y, r2.w, l(24)
      uge r2.y, l(38), r2.y
      or r2.y, r2.y, r8.z
      and r2.y, r2.y, l(1)
      iadd r2.x, r2.y, r2.x
      ushr r2.y, r3.z, l(24)
      uge r2.y, l(38), r2.y
      or r2.y, r2.y, r8.w
      and r2.y, r2.y, l(1)
      iadd r2.x, r2.y, r2.x
      iadd r1.y, r1.y, r2.x
      imad r8.xyzw, r19.zwzw, cb0[13].wwww, r12.xxyy
      and r9.xyzw, r14.xxyy, r22.zwzw
      and r9.xyzw, r24.zwzw, r9.xyzw
      ushr r10.xyzw, r8.xyzw, cb0[12].yyyy
      iadd r10.xyzw, r10.xyzw, cb0[13].zzzz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r10.x, l(0), t2.xxxx
      and r23.x, r2.x, r9.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r10.y, l(0), t2.xxxx
      and r23.y, r2.x, r9.y
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r10.z, l(0), t2.xxxx
      and r23.z, r2.x, r9.z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r10.w, l(0), t2.xxxx
      and r23.w, r2.x, r9.w
      bfi r8.xyzw, cb0[12].yyyy, cb0[12].zzzz, r8.xyzw, l(0, 0, 0, 0)
      ushr r8.xyzw, r23.xyzw, r8.xyzw
      and r8.xyzw, r8.xyzw, cb0[12].wwww
      ishl r8.xyzw, r8.xyzw, r2.zzzz
      iadd r8.xyzw, r16.xxyy, r8.xyzw
      iadd r8.xyzw, r25.zwzw, r8.xyzw
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r8.x, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.y, r8.y, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.w, r8.z, l(0), t2.xxxx
      and r2.xyw, r2.xyxw, r9.xyxz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.x, r8.w, l(0), t2.xxxx
      and r3.x, r3.x, r9.w
      or r8.xyzw, r13.xxyy, r20.zwzw
      or r9.xyzw, r5.xxyy, r6.zwzw
      or r8.xyzw, r8.xyzw, r9.xyzw
      ushr r2.xy, r2.xyxx, l(24, 24, 0, 0)
      uge r2.xy, l(38, 38, 0, 0), r2.xyxx
      or r2.xy, r2.xyxx, r8.xyxx
      and r2.xy, r2.xyxx, l(1, 1, 0, 0)
      iadd r2.x, r2.y, r2.x
      ushr r2.y, r2.w, l(24)
      uge r2.y, l(38), r2.y
      or r2.y, r2.y, r8.z
      and r2.y, r2.y, l(1)
      iadd r2.x, r2.y, r2.x
      ushr r2.y, r3.x, l(24)
      uge r2.y, l(38), r2.y
      or r2.y, r2.y, r8.w
      and r2.y, r2.y, l(1)
      iadd r2.x, r2.y, r2.x
      iadd r1.y, r1.y, r2.x
      imad r8.xyzw, r19.zwzw, cb0[13].wwww, r12.zzww
      and r9.xyzw, r14.zzww, r22.zwzw
      and r9.xyzw, r24.zwzw, r9.xyzw
      ushr r10.xyzw, r8.xyzw, cb0[12].yyyy
      iadd r10.xyzw, r10.xyzw, cb0[13].zzzz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r10.x, l(0), t2.xxxx
      and r12.x, r2.x, r9.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r10.y, l(0), t2.xxxx
      and r12.y, r2.x, r9.y
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r10.z, l(0), t2.xxxx
      and r12.z, r2.x, r9.z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r10.w, l(0), t2.xxxx
      and r12.w, r2.x, r9.w
      bfi r8.xyzw, cb0[12].yyyy, cb0[12].zzzz, r8.xyzw, l(0, 0, 0, 0)
      ushr r8.xyzw, r12.xyzw, r8.xyzw
      and r8.xyzw, r8.xyzw, cb0[12].wwww
      ishl r8.xyzw, r8.xyzw, r2.zzzz
      iadd r8.xyzw, r16.zzww, r8.xyzw
      iadd r8.xyzw, r25.zwzw, r8.xyzw
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r8.x, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.y, r8.y, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.w, r8.z, l(0), t2.xxxx
      and r2.xyw, r2.xyxw, r9.xyxz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.x, r8.w, l(0), t2.xxxx
      and r3.x, r3.x, r9.w
      or r8.xyzw, r13.zzww, r20.zwzw
      or r5.xyzw, r5.zzww, r6.zwzw
      or r5.xyzw, r5.xyzw, r8.xyzw
      ushr r2.xy, r2.xyxx, l(24, 24, 0, 0)
      uge r2.xy, l(38, 38, 0, 0), r2.xyxx
      or r2.xy, r2.xyxx, r5.xyxx
      and r2.xy, r2.xyxx, l(1, 1, 0, 0)
      iadd r2.x, r2.y, r2.x
      ushr r2.y, r2.w, l(24)
      uge r2.y, l(38), r2.y
      or r2.y, r2.y, r5.z
      and r2.y, r2.y, l(1)
      iadd r2.x, r2.y, r2.x
      ushr r2.y, r3.x, l(24)
      uge r2.y, l(38), r2.y
      or r2.y, r2.y, r5.w
      and r2.y, r2.y, l(1)
      iadd r2.x, r2.y, r2.x
      iadd r1.y, r1.y, r2.x
      imad r5.xyzw, r19.zwzw, cb0[13].wwww, r17.xxyy
      and r8.xyzw, r21.xyzw, r22.zwzw
      and r8.xyzw, r24.zwzw, r8.xyzw
      ushr r9.xyzw, r5.xyzw, cb0[12].yyyy
      iadd r9.xyzw, r9.xyzw, cb0[13].zzzz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r9.x, l(0), t2.xxxx
      and r10.x, r2.x, r8.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r9.y, l(0), t2.xxxx
      and r10.y, r2.x, r8.y
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r9.z, l(0), t2.xxxx
      and r10.z, r2.x, r8.z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r9.w, l(0), t2.xxxx
      and r10.w, r2.x, r8.w
      bfi r5.xyzw, cb0[12].yyyy, cb0[12].zzzz, r5.xyzw, l(0, 0, 0, 0)
      ushr r5.xyzw, r10.xyzw, r5.xyzw
      and r5.xyzw, r5.xyzw, cb0[12].wwww
      ishl r5.xyzw, r5.xyzw, r2.zzzz
      iadd r5.xyzw, r18.xyzw, r5.xyzw
      iadd r5.xyzw, r25.zwzw, r5.xyzw
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r5.x, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.y, r5.y, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.w, r5.z, l(0), t2.xxxx
      and r2.xyw, r2.xyxw, r8.xyxz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r3.x, r5.w, l(0), t2.xxxx
      and r3.x, r3.x, r8.w
      or r5.xyzw, r11.xxyy, r20.zwzw
      or r8.xyzw, r6.zwzw, r7.xxyy
      or r5.xyzw, r5.xyzw, r8.xyzw
      ushr r2.xy, r2.xyxx, l(24, 24, 0, 0)
      uge r2.xy, l(38, 38, 0, 0), r2.xyxx
      or r2.xy, r2.xyxx, r5.xyxx
      and r2.xy, r2.xyxx, l(1, 1, 0, 0)
      iadd r2.x, r2.y, r2.x
      ushr r2.y, r2.w, l(24)
      uge r2.y, l(38), r2.y
      or r2.y, r2.y, r5.z
      and r2.y, r2.y, l(1)
      iadd r2.x, r2.y, r2.x
      ushr r2.y, r3.x, l(24)
      uge r2.y, l(38), r2.y
      or r2.y, r2.y, r5.w
      and r2.y, r2.y, l(1)
      iadd r2.x, r2.y, r2.x
      iadd r1.y, r1.y, r2.x
      imad r3.xyzw, r19.xyzw, cb0[13].wwww, r3.yyyy
      and r4.xyzw, r4.zzzz, r22.xyzw
      and r4.xyzw, r24.xyzw, r4.xyzw
      ushr r5.xyzw, r3.xyzw, cb0[12].yyyy
      iadd r5.xyzw, r5.xyzw, cb0[13].zzzz
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r5.x, l(0), t2.xxxx
      and r8.x, r2.x, r4.x
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r5.y, l(0), t2.xxxx
      and r8.y, r2.x, r4.y
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r5.z, l(0), t2.xxxx
      and r8.z, r2.x, r4.z
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r5.w, l(0), t2.xxxx
      and r8.w, r2.x, r4.w
      bfi r3.xyzw, cb0[12].yyyy, cb0[12].zzzz, r3.xyzw, l(0, 0, 0, 0)
      ushr r3.xyzw, r8.xyzw, r3.xyzw
      and r3.xyzw, r3.xyzw, cb0[12].wwww
      ishl r2.xyzw, r3.xyzw, r2.zzzz
      iadd r2.xyzw, r7.zzzz, r2.xyzw
      iadd r2.xyzw, r25.xyzw, r2.xyzw
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.x, r2.x, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.y, r2.y, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.z, r2.z, l(0), t2.xxxx
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.w, r2.w, l(0), t2.xxxx
      and r2.xyzw, r2.xyzw, r4.xyzw
      or r3.xyzw, r15.xxxx, r20.xyzw
      or r4.xyzw, r1.xxxx, r6.xyzw
      or r3.xyzw, r3.xyzw, r4.xyzw
      ushr r1.x, r2.x, l(24)
      uge r1.x, l(38), r1.x
      or r1.x, r1.x, r3.x
      and r1.x, r1.x, l(1)
      ushr r2.x, r2.y, l(24)
      uge r2.x, l(38), r2.x
      or r2.x, r2.x, r3.y
      and r2.x, r2.x, l(1)
      iadd r1.x, r1.x, r2.x
      ushr r2.x, r2.z, l(24)
      uge r2.x, l(38), r2.x
      or r2.x, r2.x, r3.z
      and r2.x, r2.x, l(1)
      iadd r1.x, r1.x, r2.x
      ushr r2.x, r2.w, l(24)
      uge r2.x, l(38), r2.x
      or r2.x, r2.x, r3.w
      and r2.x, r2.x, l(1)
      iadd r1.x, r1.x, r2.x
      iadd r1.z, r1.x, r1.y
      mov r1.w, l(80)
    endif
    ult r1.x, l(0), r1.z
    mul r1.y, l(4.712389), cb0[5].w
    sincos r1.y, null, r1.y
    mad r1.y, r1.y, l(0.375000), l(0.625000)
    utof r1.zw, r1.zzzw
    div r1.z, r1.z, r1.w
    min r1.z, r1.z, l(0.500000)
    mul r1.z, r1.z, l(6.283185)
    sincos r1.z, null, r1.z
    mul r1.y, r1.y, r1.z
    add r2.xyz, -r0.xyzx, cb0[5].xyzx
    add r2.w, -r0.w, l(1.000000)
    mad r2.xyzw, r1.yyyy, r2.xyzw, r0.xyzw
    movc r0.xyzw, r1.xxxx, r2.xyzw, r0.xyzw
  endif
endif
if_nz cb0[11].w
  add r1.xy, r29.xyxx, -cb0[21].zwzz
  div r1.xy, r1.xyxx, cb0[21].xyxx
  if_nz cb0[19].w
    utof r1.zw, cb0[20].xxxy
    mul r1.zw, r1.zzzw, r1.xxxy
    ftoi r1.zw, r1.zzzw
    ige r2.xy, r1.zwzz, l(0, 0, 0, 0)
    ilt r2.zw, r1.zzzw, cb0[20].xxxy
    and r2.x, r2.z, r2.x
    and r2.x, r2.y, r2.x
    and r2.x, r2.w, r2.x
    ushr r2.yz, r1.zzwz, cb0[19].xxxx
    imad r2.y, r2.z, cb0[20].w, r2.y
    ushr r2.z, r2.y, cb0[19].y
    iadd r2.z, r2.z, cb0[20].z
    ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r2.z, r2.z, l(0), t5.xxxx
    bfi r2.y, cb0[19].y, cb0[19].z, r2.y, l(0)
    ushr r2.y, r2.z, r2.y
    and r2.y, r2.y, cb0[19].w
    ishl r2.z, cb0[19].x, l(1)
    ishl r2.y, r2.y, r2.z
    ubfe r1.z, cb0[19].x, l(0), r1.z
    bfi r1.w, cb0[19].x, cb0[19].x, r1.w, l(0)
    iadd r1.z, r1.w, r1.z
    iadd r1.z, r1.z, r2.y
    ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r1.z, r1.z, l(0), t5.xxxx
    and r1.z, r1.z, r2.x
    and r1.z, r1.z, l(255)
    utof r1.z, r1.z
    mul r1.z, r1.z, l(0.00392156886)
  else
    sample_indexable(texture2d)(float,float,float,float) r1.z, r1.xyxx, t4.yzxw, s7
  endif
  mul r0.xyzw, r0.xyzw, r1.zzzz
  mov o0.w, r0.w
else
  mov o0.w, r0.w
endif
if_nz cb1[4].x
  mul r1.xyz, r0.xyzx, l(0.0773993805, 0.0773993805, 0.0773993805, 0.000000)
  add r2.xyz, r0.xyzx, l(0.055000, 0.055000, 0.055000, 0.000000)
  mul r2.xyz, r2.xyzx, l(0.947867334, 0.947867334, 0.947867334, 0.000000)
  log r2.xyz, r2.xyzx
  mul r2.xyz, r2.xyzx, l(2.400000, 2.400000, 2.400000, 0.000000)
  exp r2.xyz, r2.xyzx
  ge r3.xyz, l(0.040450, 0.040450, 0.040450, 0.000000), r0.xyzx
  movc o0.xyz, r3.xyzx, r1.xyzx, r2.xyzx
else
  mov o0.xyz, r0.xyzx
endif
ret
// Approximately 1864 instruction slots used

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
