//water sea AWOFAI
Texture2D<float4> t9 : register(t9);
Texture2D<float4> t4 : register(t4);
Texture2D<float4> t3 : register(t3);
Texture2D<float4> t2 : register(t2);
Texture2D<float4> t0 : register(t0);
SamplerState s9_s : register(s9);
SamplerState s4_s : register(s4);
SamplerState s3_s : register(s3);
SamplerState s2_s : register(s2);
SamplerState s0_s : register(s0);
cbuffer cb4 : register(b4)
{
  float4 cb4[236];
}
cbuffer cb3 : register(b3)
{
  float4 cb3[77];
}

// 3Dmigoto declarations
#define cmp -
Texture1D<float4> IniParams : register(t120);
Texture2D<float4> StereoParams : register(t125);

void main(
  float4 v0 : SV_POSITION0,
  float4 v1 : TEXCOORD8,
  linear centroid float4 v2 : COLOR0,
  float4 v3 : COLOR1,
  float4 v4 : TEXCOORD9,
  float4 v5 : TEXCOORD0,
  float4 v6 : TEXCOORD1,
  float4 v7 : TEXCOORD2,
  float4 v8 : TEXCOORD3,
  float4 v9 : TEXCOORD4,
  float4 v10 : TEXCOORD5,
  float4 v11 : TEXCOORD6,
  float4 v12 : TEXCOORD7,
  out float4 o0 : SV_TARGET0)
{
  float4 r0,r1,r2,r3,r4,r5,r6,r7,r8;
  uint4 bitmask, uiDest;
  float4 fDest;
  uint u;

  float4 s = StereoParams.Load(0);
  float4 testeo = IniParams.Load(int2(90,0));

  r0.xy = float2(1.5,2);
  r1.y = v5.y * r0.x + cb4[11].x;
  r1.x = v5.x * 1.5;
  r1.xyzw = t2.Sample(s2_s, r1.xy).xyzw;
  r1.xyzw = asfloat(asuint(r1.xyzw) & asuint(cb3[48].xyzw));
  r1.xyzw = asfloat(asuint(r1.xyzw) | asuint(cb3[49].xyzw));
  r1.x = cb4[9].x;
  r0.z = r1.w * r1.x + cb4[10].x;
  r2.x = v5.x * r0.x + cb4[8].x;
  r2.y = v5.y * 1.5;
  r2.xyzw = t2.Sample(s2_s, r2.xy).xyzw;
  r2.xyzw = asfloat(asuint(r2.xyzw) & asuint(cb3[48].xyzw));
  r2.xyzw = asfloat(asuint(r2.xyzw) | asuint(cb3[49].xyzw));
  r0.x = r2.w * r1.x + cb4[10].x;
  r1.xy = v5.xy * float2(1.5,1.5);
  r0.w = dot(v8.xyz, v8.xyz);
  r3.y = rsqrt(abs(r0.w));
  u = asuint(r3.y);
  r3.x = (u == 0x7f800000u) ? 1.0 : 0.0;
  r0.w = r3.x ? 9.99999993e+36 : r3.y;
  r1.zw = v8.xy * r0.ww;
  r2.xyz = v8.xyz * r0.www;
  r0.xw = r0.xx * r1.zw + r1.xy;
  r3.yz = r0.zz * r1.zw + r0.xw;
  r3.w = cb4[11].x + r3.z;
  r4.xyzw = t3.Sample(s3_s, r3.yw).xyzw;
  r4.xyzw = asfloat(asuint(r4.xyzw) & asuint(cb3[50].xyzw));
  r4.xyzw = asfloat(asuint(r4.xyzw) | asuint(cb3[51].xyzw));
  r4.xy = r4.wy * float2(2,2) + float2(-1,-1);
  r5.x = dot(r4.xy, -r4.xy);
  r0.x = 1 + r5.x;
  r5.y = rsqrt(abs(r0.x));
  u = asuint(r5.y);
  r5.x = (u == 0x7f800000u) ? 1.0 : 0.0;
  r0.x = r5.x ? 9.99999993e+36 : r5.y;
  r5.y = (0 < abs(r0.x)) ? 1.0 : 0.0;
  r5.x = rcp(r0.x);
  r4.z = r5.y ? r5.x : 9.99999993e+36;
  r3.x = cb4[8].x + r3.y;
  r5.xyzw = t3.Sample(s3_s, r3.xz).xyzw;
  r5.xyzw = asfloat(asuint(r5.xyzw) & asuint(cb3[50].xyzw));
  r5.xyzw = asfloat(asuint(r5.xyzw) | asuint(cb3[51].xyzw));
  r6.xyzw = t2.Sample(s2_s, r3.xz).xyzw;
  r6.xyzw = asfloat(asuint(r6.xyzw) & asuint(cb3[48].xyzw));
  r6.xyzw = asfloat(asuint(r6.xyzw) | asuint(cb3[49].xyzw));
  r0.x = 1 + -r6.w;
  r6.xyz = float3(0.0137254903,0.0686274543,0.137254909);
  r0.xzw = r0.xxx * r6.xyz + float3(0.00980392192,0.0490196086,0.0980392173);
  r5.xy = r5.wy * float2(2,2) + float2(-1,-1);
  r7.x = dot(r5.xy, -r5.xy);
  r1.x = 1 + r7.x;
  r7.y = rsqrt(abs(r1.x));
  u = asuint(r7.y);
  r7.x = (u == 0x7f800000u) ? 1.0 : 0.0;
  r1.x = r7.x ? 9.99999993e+36 : r7.y;
  r7.y = (0 < abs(r1.x)) ? 1.0 : 0.0;
  r7.x = rcp(r1.x);
  r5.z = r7.y ? r7.x : 9.99999993e+36;
  r7.xyz = -r5.xyz + r4.xyz;
  r6.xyz = float3(0.5,0.5,0.5) * r7.xyz + r5.xyz;
  r1.x = saturate(dot(r2.xyz, r6.xyz));
  r1.x = 1 + -r1.x;
  r1.y = r1.x * r1.x;
  r1.y = r1.y * r1.y;
  r1.x = r1.y * r1.x;
  r1.x = r1.x * 0.979600012 + 0.0204000007;
  r7.y = (0 < abs(v9.w)) ? 1.0 : 0.0;
  r7.x = rcp(v9.w);
  r1.y = r7.y ? r7.x : 9.99999993e+36;
  r2.xy = v9.xy * r1.yy;
  r2.xy = float2(0.5,0.5) * r2.xy;
  r4.x = r6.x * 0.25 + r2.x;
  r4.y = r6.y * 0.25 + -r2.y;
  r2.xy = float2(0.5,0.5) + r4.xy;

  // STEREO FIX
  r2.x += s.x * (1.0 - s.y / v9.w) * 0.5;

  r2.xyzw = t0.Sample(s0_s, r2.xy).xyzw;
  r2.xyzw = asfloat(asuint(r2.xyzw) & asuint(cb3[44].xyzw));
  r2.xyzw = asfloat(asuint(r2.xyzw) | asuint(cb3[45].xyzw));
  r7.y = log2(abs(r2.x));
  u = asuint(r7.y);
  r7.x = (u == 0xff800000u) ? 1.0 : 0.0;
  r4.x = r7.x ? -9.99999993e+36 : r7.y;
  r7.y = log2(abs(r2.y));
  u = asuint(r7.y);
  r7.x = (u == 0xff800000u) ? 1.0 : 0.0;
  r4.y = r7.x ? -9.99999993e+36 : r7.y;
  r7.y = log2(abs(r2.z));
  u = asuint(r7.y);
  r7.x = (u == 0xff800000u) ? 1.0 : 0.0;
  r4.z = r7.x ? -9.99999993e+36 : r7.y;
  r2.xyz = cb4[18].xxx * r4.xyz;
  r4.x = exp2(r2.x);
  r4.y = exp2(r2.y);
  r4.z = exp2(r2.z);
  r2.xyz = saturate(r4.xyz * r1.xxx);
  r4.xyz = float3(5,5,5) * r2.xyz;
  r1.x = saturate(v11.y * 0.00749999983);
  r7.xyz = -r0.xzw + float3(0.0196078438,0.0980392173,0.196078435);
  r5.xyz = r1.xxx * r7.xyz + r0.xzw;
  r0.x = saturate(dot(v8.xyz, r6.xyz));
  r0.z = saturate(dot(r6.xyz, v6.xyz));
  r0.z = 0.00999999978 * r0.z;
  r0.x = 1 + -r0.x;
  r6.xyzw = max(v2.xxyz, float4(0.25,0.25,0.25,0.25));
  r0.x = r6.x * r0.x;
  r7.xyz = r5.xyz * r0.xxx;
  r2.xyz = r5.xyz * r0.xxx + r2.xyz;
  r4.xyz = r7.xyz * float3(12,12,12) + r4.xyz;
  r4.xyz = r4.xyz + -r2.xyz;
  r0.x = v8.z + -0.5;
  r4.xyz = r0.xxx * r4.xyz + r2.xyz;
  r2.xyz = r0.zzz * v7.xyz + r2.xyz;
  r0.xzw = r0.zzz * v7.xyz + r4.xyz;
  r1.y = -v8.z + 0.5;
  r8.xzw = (r1.yyy >= float3(0,0,0)) ? float3(1,1,1) : float3(0,0,0);
  r0.xzw = r8.xzw ? r2.xyz : r0.xzw;
  r1.y = v2.w + -0.361000001;
  r1.y = saturate(r1.y + r1.y);
  r2.x = r1.y * -0.5 + 1;
  r3.x = cb4[13].x;
  r2.x = r2.x * r3.x + cb4[14].x;
  r1.zw = r2.xx * r1.zw;
  r1.zw = r3.yz * float2(1,1.33299994) + -r1.zw;
  r2.xy = r1.zw + r1.zw;
  r2.xyzw = t4.Sample(s4_s, r2.xy).xyzw;
  r2.xyzw = asfloat(asuint(r2.xyzw) & asuint(cb3[52].xyzw));
  r2.xyzw = asfloat(asuint(r2.xyzw) | asuint(cb3[53].xyzw));
  r2.w = -0.0799999982 + r1.y;
  r1.y = 0.0799999982 + -r1.y;
  r3.xw = float2(0.5,0.170000002) * r2.ww;
  r4.xyz = r3.xxx * r2.xyz;
  r2.xyz = r3.www * r2.xyz;
  r2.xyz = r2.xyz * r6.yzw + r0.xzw;
  r4.xyz = r4.xyz * r6.yzw + r0.xzw;
  r3.xw = saturate(float2(1.79999995,1.5) * r1.xx);
  r1.x = saturate(r1.x + r1.x);
  r8.xyz = -r4.xyz + r2.xyz;
  r5.xyz = r3.xxx * r8.xyz + r4.xyz;
  r4.w = 0.800000012;
  r2.x = r1.z * r4.w + -cb4[16].x;
  r2.y = r1.z * r4.w + -cb4[17].x;
  r1.zw = r1.zw * r4.ww + cb4[15].xx;
  r4.xyzw = t4.Sample(s4_s, r1.zw).xyzw;
  r4.xyzw = asfloat(asuint(r4.xyzw) & asuint(cb3[52].xyzw));
  r4.xyzw = asfloat(asuint(r4.xyzw) | asuint(cb3[53].xyzw));
  r1.z = saturate(r4.w * r2.w);
  r4.xyzw = t4.Sample(s4_s, r2.xy).xyzw;
  r4.xyzw = asfloat(asuint(r4.xyzw) & asuint(cb3[52].xyzw));
  r4.xyzw = asfloat(asuint(r4.xyzw) | asuint(cb3[53].xyzw));
  r1.w = saturate(r4.w * r2.w);
  r1.w = 0.5 * r1.w;
  r1.z = r1.z * 0.5 + r1.w;
  r2.xy = r6.ww * float2(0,1) + float2(0.100000001,0);
  r4.zw = r2.xy * r1.zz;
  r4.xy = r4.zz * r6.yz;
  r2.xyz = r4.xyw * float3(0.949999988,0.949999988,0.474999994) + r5.xyz;
  r4.xyz = r4.xyw * float3(0.25,0.25,0.125) + r5.xyz;
  r8.xyz = -r2.xyz + r4.xyz;
  r5.xyz = r3.www * r8.xyz + r2.xyz;
  r2.x = r3.y + r3.y;
  r2.y = r3.z * r0.y + -cb4[12].x;
  r3.xyzw = t9.Sample(s9_s, r2.xy).xyzw;
  r3.xyzw = asfloat(asuint(r3.xyzw) & asuint(cb3[62].xyzw));
  r3.xyzw = asfloat(asuint(r3.xyzw) | asuint(cb3[63].xyzw));
  r0.y = r3.w * r3.w;
  r0.y = r2.w * r0.y;
  r0.y = saturate(0.400000006 * r0.y);
  r2.xyz = r0.yyy * r6.yzw;
  r3.xyz = r2.xyz * float3(0.949999988,0.949999988,0.949999988) + r5.xyz;
  r2.xyz = r2.xyz * float3(0.100000001,0.100000001,0.100000001) + r5.xyz;
  r8.xyz = -r3.xyz + r2.xyz;
  r4.xyz = r1.xxx * r8.xyz + r3.xyz;
  r8.xyz = (r1.yyy >= float3(0,0,0)) ? float3(1,1,1) : float3(0,0,0);
  r0.xyz = r8.xyz ? r0.xzw : r4.xyz;
  r8.y = log2(abs(r0.x));
  u = asuint(r8.y);
  r8.x = (u == 0xff800000u) ? 1.0 : 0.0;
  r1.x = r8.x ? -9.99999993e+36 : r8.y;
  r8.y = log2(abs(r0.y));
  u = asuint(r8.y);
  r8.x = (u == 0xff800000u) ? 1.0 : 0.0;
  r1.y = r8.x ? -9.99999993e+36 : r8.y;
  r8.y = log2(abs(r0.z));
  u = asuint(r8.y);
  r8.x = (u == 0xff800000u) ? 1.0 : 0.0;
  r1.z = r8.x ? -9.99999993e+36 : r8.y;
  r0.xyz = cb4[19].xxx * r1.xyz;
  r8.x = exp2(r0.x);
  r8.y = exp2(r0.y);
  r8.z = exp2(r0.z);
  r8.w = 1;
  r0.w = r8.w * 255 + 9.99999975e-05;
  r0.w = (uint)r0.w;
  r0.w = (asuint(cb3[8].z) >= (uint)r0.w) ? 1.0 : 0.0;
  if (r0.w != 0) discard;
  o0.xyzw = r8.xyzw;
  return;
}