// river halo
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.164 on Tue Apr 14 15:54:33 2026
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION                 0   xyzw        0     NONE   float   xyzw
// NORMAL                   0   xyzw        1     NONE   float   xyz
// COLOR                    0   xyzw        2     NONE   float   xyzw
// TEXCOORD                 0   xyzw        3     NONE   float   xy
// TANGENT                  0   xyzw        4     NONE   float   xyz
// BINORMAL                 0   xyzw        5     NONE   float   xyz
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float   xyzw
// TEXCOORD                 8   xyzw        1     NONE   float   xyzw
// COLOR                    0   xyzw        2     NONE   float   xyzw
// COLOR                    1   xyzw        3     NONE   float   xyzw
// TEXCOORD                 9   xyzw        4     NONE   float   xyzw
// TEXCOORD                 0   xyzw        5     NONE   float   xyzw
// TEXCOORD                 1   xyzw        6     NONE   float   xyzw
// TEXCOORD                 2   xyzw        7     NONE   float   xyzw
// TEXCOORD                 3   xyzw        8     NONE   float   xyzw
// TEXCOORD                 4   xyzw        9     NONE   float   xyzw
// TEXCOORD                 5   xyzw       10     NONE   float   xyzw
// TEXCOORD                 6   xyzw       11     NONE   float   xyzw
// TEXCOORD                 7   xyzw       12     NONE   float   xyzw
//
vs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB4[276], immediateIndexed
dcl_input v0.xyzw
dcl_input v1.xyz
dcl_input v2.xyzw
dcl_input v3.xy
dcl_input v4.xyz
dcl_input v5.xyz
dcl_output_siv o0.xyzw, position
dcl_output o1.xyzw
dcl_output o2.xyzw
dcl_output o3.xyzw
dcl_output o4.xyzw
dcl_output o5.xyzw
dcl_output o6.xyzw
dcl_output o7.xyzw
dcl_output o8.xyzw
dcl_output o9.xyzw
dcl_output o10.xyzw
dcl_output o11.xyzw
dcl_output o12.xyzw

dcl_resource_texture2d (float,float,float,float) t125
ld_indexable(texture2d)(float,float,float,float) r9.xyzw, l(0, 0, 0, 0), t125.xyzw

dcl_temps 15
mul r1.xyzw, v0.yyyy, cb4[33].xyzw
mad r1.xyzw, cb4[32].xyzw, v0.xxxx, r1.xyzw
mad r1.xyzw, cb4[34].xyzw, v0.zzzz, r1.xyzw
mad o9.xyzw, cb4[35].xyzw, v0.wwww, r1.xyzw
mul r1.xyz, v4.yyyy, cb4[29].xyzw
mad r1.xyz, cb4[28].xyzw, v4.xxxx, r1.xyzw
mad r1.xyz, cb4[30].xyzw, v4.zzzz, r1.xyzw
dp3 r3.x, r1.xyzz, r1.xyzz
rsq r3.x, r3.xxxx
ine r3.y, r3.xxxx, l(0x7f800000)
and r3.x, r3.xxxx, r3.yyyy
mul r2.xyz, r3.xxxx, r1.xyzw
mul r1.xyz, v0.yyyy, cb4[29].xyzw
mad r1.xyz, cb4[28].xyzw, v0.xxxx, r1.xyzw
mad r1.xyz, cb4[30].xyzw, v0.zzzz, r1.xyzw
mad r1.xyz, cb4[31].xyzw, v0.wwww, r1.xyzw
add r1.xyz, -r1.xyzw, cb4[40].xyzw
dp3 r4.x, r1.xyzz, r1.xyzz
rsq r4.x, r4.xxxx
ine r4.y, r4.xxxx, l(0x7f800000)
and r4.x, r4.xxxx, r4.yyyy
mul r3.xyz, r4.xxxx, r1.xyzw
dp3 o8.x, r2.xyzz, r3.xyzz
dp3 o6.x, r2.xyzz, -cb4[38].xyzz
mul r1.xyz, v5.yyyy, cb4[29].xyzw
mad r1.xyz, cb4[28].xyzw, v5.xxxx, r1.xyzw
mad r1.xyz, cb4[30].xyzw, v5.zzzz, r1.xyzw
dp3 r4.x, r1.xyzz, r1.xyzz
rsq r4.x, r4.xxxx
ine r4.y, r4.xxxx, l(0x7f800000)
and r4.x, r4.xxxx, r4.yyyy
mul r2.xyz, r4.xxxx, r1.xyzw
dp3 o8.y, r2.xyzz, r3.xyzz
dp3 o6.y, r2.xyzz, -cb4[38].xyzz
mul r1.xyz, v1.yyyy, cb4[29].xyzw
mad r1.xyz, cb4[28].xyzw, v1.xxxx, r1.xyzw
mad r1.xyz, cb4[30].xyzw, v1.zzzz, r1.xyzw
dp3 r4.x, r1.xyzz, r1.xyzz
rsq r4.x, r4.xxxx
ine r4.y, r4.xxxx, l(0x7f800000)
and r4.x, r4.xxxx, r4.yyyy
mul r2.xyz, r4.xxxx, r1.xyzw
dp3 o8.z, r2.xyzz, r3.xyzz
dp3 o6.z, r2.xyzz, -cb4[38].xyzz
add o5.xy, v3.xyzw, cb4[36].xyzw
mul o7.xyzw, v2.xyzw, cb4[39].xyzw
mul r1.xyz, v0.yyyy, cb4[25].xyzw
mad r1.xyz, cb4[24].xyzw, v0.xxxx, r1.xyzw
mad r1.xyz, cb4[26].xyzw, v0.zzzz, r1.xyzw
mad r1.xyz, cb4[27].xyzw, v0.wwww, r1.xyzw
dp3 r1.x, r1.xyzz, r1.xyzz
rsq r4.y, |r1.xxxx|
ieq r4.x, r4.yyyy, l(0x7f800000)
movc r1.x, r4.xxxx, l(9999999933815812510711506376257961984.000000,9999999933815812510711506376257961984.000000,9999999933815812510711506376257961984.000000,9999999933815812510711506376257961984.000000), r4.yyyy
rcp r4.y, r1.xxxx
and r4.x, r4.yyyy, l(0x7fffffff)
ieq r4.x, r4.xxxx, l(0x7f800000)
movc r1.x, r4.xxxx, l(9999999933815812510711506376257961984.000000,9999999933815812510711506376257961984.000000,9999999933815812510711506376257961984.000000,9999999933815812510711506376257961984.000000), r4.yyyy
mul r1.x, r1.xxxx, cb4[37].xxxx
exp r1.x, r1.xxxx
rcp r4.y, r1.xxxx
and r4.x, r4.yyyy, l(0x7fffffff)
ieq r4.x, r4.xxxx, l(0x7f800000)
movc o4.x, r4.xxxx, l(9999999933815812510711506376257961984.000000,9999999933815812510711506376257961984.000000,9999999933815812510711506376257961984.000000,9999999933815812510711506376257961984.000000), r4.yyyy
mul r1.xyzw, v0.yyyy, cb4[21].xyzw
mad r1.xyzw, cb4[20].xyzw, v0.xxxx, r1.xyzw
mad r1.xyzw, cb4[22].xyzw, v0.zzzz, r1.xyzw
mad r1.xyzw, cb4[23].xyzw, v0.wwww, r1.xyzw

mov o0.xyzw, r1.xyzw
add r9.w, r1.w, -r9.y
mad r1.x, r9.x, r9.w, r1.x


mad r2.xy, r1.xyzw, l(1.000000, -1.000000, 0.500000, 0.000000), r1.wwww
mul r2.zw, r1.wwww, cb4[43].xyxy
mad r2.xy, r2.xyzw, l(0.500000, 0.500000, 0.500000, 0.500000), r2.zwzw
mov r2.zw, r1.xyzw
mul o10.xyzw, r2.xyzw, cb4[41].xxxx
mul r2.x, r2.zzzz, cb4[42].xxxx
mov r0.xyzw, r1.xyzw
mul o11.x, r2.xxxx, cb4[41].xxxx
mov o6.w, v2.wwww
//mov o0.xyzw, r0.xyzw
mov o1.xyzw, r0.xyzw
mov o2.xyzw, l(1.000000,1.000000,1.000000,1.000000)
mov o3.xyzw, l(0,0,0,1.000000)
mov o4.yzw, l(1.000000,0,0,0)
mov o5.zw, l(0,0,0,1.000000)
mov o8.w, l(0,0,0,1.000000)
mov o11.yzw, l(0,0,0,1.000000)
mov o12.xyzw, l(0,0,0,1.000000)
ret
// Approximately 0 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with 3Dmigoto v0.6.164 on Tue Apr 14 15:54:33 2026
// cbuffer cb4 : register(b4)
// {
//   float4 cb4[276];
// }
//
//
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Texture2D<float4> StereoParams : register(t125);
//
//
// void main(
//   float4 v0 : POSITION0,
//   float4 v1 : NORMAL0,
//   float4 v2 : COLOR0,
//   float4 v3 : TEXCOORD0,
//   float4 v4 : TANGENT0,
//   float4 v5 : BINORMAL0,
//   out float4 o0 : SV_POSITION0,
//   out float4 o1 : TEXCOORD8,
//   out float4 o2 : COLOR0,
//   out float4 o3 : COLOR1,
//   out float4 o4 : TEXCOORD9,
//   out float4 o5 : TEXCOORD0,
//   out float4 o6 : TEXCOORD1,
//   out float4 o7 : TEXCOORD2,
//   out float4 o8 : TEXCOORD3,
//   out float4 o9 : TEXCOORD4,
//   out float4 o10 : TEXCOORD5,
//   out float4 o11 : TEXCOORD6,
//   out float4 o12 : TEXCOORD7)
// {
//   float4 r0,r1,r2,r3,r4;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r1.xyzw = cb4[33].xyzw * v0.yyyy;
//   r1.xyzw = cb4[32].xyzw * v0.xxxx + r1.xyzw;
//   r1.xyzw = cb4[34].xyzw * v0.zzzz + r1.xyzw;
//   o9.xyzw = cb4[35].xyzw * v0.wwww + r1.xyzw;
//   r1.xyz = cb4[29].xyz * v4.yyy;
//   r1.xyz = cb4[28].xyz * v4.xxx + r1.xyz;
//   r1.xyz = cb4[30].xyz * v4.zzz + r1.xyz;
//   r3.x = dot(r1.xyz, r1.xyz);
//   r3.x = rsqrt(r3.x);
//   r3.y = cmp((int)r3.x != 0x7f800000);
//   r3.x = r3.y ? r3.x : 0;
//   r2.xyz = r1.xyz * r3.xxx;
//   r1.xyz = cb4[29].xyz * v0.yyy;
//   r1.xyz = cb4[28].xyz * v0.xxx + r1.xyz;
//   r1.xyz = cb4[30].xyz * v0.zzz + r1.xyz;
//   r1.xyz = cb4[31].xyz * v0.www + r1.xyz;
//   r1.xyz = cb4[40].xyz + -r1.xyz;
//   r4.x = dot(r1.xyz, r1.xyz);
//   r4.x = rsqrt(r4.x);
//   r4.y = cmp((int)r4.x != 0x7f800000);
//   r4.x = r4.y ? r4.x : 0;
//   r3.xyz = r1.xyz * r4.xxx;
//   o8.x = dot(r2.xyz, r3.xyz);
//   o6.x = dot(r2.xyz, -cb4[38].xyz);
//   r1.xyz = cb4[29].xyz * v5.yyy;
//   r1.xyz = cb4[28].xyz * v5.xxx + r1.xyz;
//   r1.xyz = cb4[30].xyz * v5.zzz + r1.xyz;
//   r4.x = dot(r1.xyz, r1.xyz);
//   r4.x = rsqrt(r4.x);
//   r4.y = cmp((int)r4.x != 0x7f800000);
//   r4.x = r4.y ? r4.x : 0;
//   r2.xyz = r1.xyz * r4.xxx;
//   o8.y = dot(r2.xyz, r3.xyz);
//   o6.y = dot(r2.xyz, -cb4[38].xyz);
//   r1.xyz = cb4[29].xyz * v1.yyy;
//   r1.xyz = cb4[28].xyz * v1.xxx + r1.xyz;
//   r1.xyz = cb4[30].xyz * v1.zzz + r1.xyz;
//   r4.x = dot(r1.xyz, r1.xyz);
//   r4.x = rsqrt(r4.x);
//   r4.y = cmp((int)r4.x != 0x7f800000);
//   r4.x = r4.y ? r4.x : 0;
//   r2.xyz = r1.xyz * r4.xxx;
//   o8.z = dot(r2.xyz, r3.xyz);
//   o6.z = dot(r2.xyz, -cb4[38].xyz);
//   o5.xy = cb4[36].xy + v3.xy;
//   o7.xyzw = cb4[39].xyzw * v2.xyzw;
//   r1.xyz = cb4[25].xyz * v0.yyy;
//   r1.xyz = cb4[24].xyz * v0.xxx + r1.xyz;
//   r1.xyz = cb4[26].xyz * v0.zzz + r1.xyz;
//   r1.xyz = cb4[27].xyz * v0.www + r1.xyz;
//   r1.x = dot(r1.xyz, r1.xyz);
//   r4.y = rsqrt(abs(r1.x));
//   r4.x = cmp((int)r4.y == 0x7f800000);
//   r1.x = r4.x ?  : ;
//   r4.y = rcp(r1.x);
//   r4.x = (int)r4.y & 0x7fffffff;
//   r4.x = cmp((int)r4.x == 0x7f800000);
//   r1.x = r4.x ?  : ;
//   r1.x = cb4[37].x * r1.x;
//   r1.x = exp2(r1.x);
//   r4.y = rcp(r1.x);
//   r4.x = (int)r4.y & 0x7fffffff;
//   r4.x = cmp((int)r4.x == 0x7f800000);
//   o4.x = r4.x ?  : ;
//   r1.xyzw = cb4[21].xyzw * v0.yyyy;
//   r1.xyzw = cb4[20].xyzw * v0.xxxx + r1.xyzw;
//   r1.xyzw = cb4[22].xyzw * v0.zzzz + r1.xyzw;
//   r1.xyzw = cb4[23].xyzw * v0.wwww + r1.xyzw;
//   r2.xy = r1.xy * float2(1,-1) + r1.ww;
//   r2.zw = cb4[43].xy * r1.ww;
//   r2.xy = r2.xy * float2(0.5,0.5) + r2.zw;
//   r2.zw = r1.zw;
//   o10.xyzw = cb4[41].xxxx * r2.xyzw;
//   r2.x = cb4[42].x * r2.z;
//   r0.xyzw = r1.xyzw;
//   o11.x = cb4[41].x * r2.x;
//   o6.w = v2.w;
//   o0.xyzw = r0.xyzw;
//   o1.xyzw = r0.xyzw;
//   o2.xyzw = float4(1,1,1,1);
//   o3.xyzw = float4(0,0,0,1);
//   o4.yzw = float3(0,0,0);
//   o5.zw = float2(0,1);
//   o8.w = 1;
//   o11.yzw = float3(0,0,1);
//   o12.xyzw = float4(0,0,0,1);
//   return;
// }
//////////////////////////////// HLSL Errors ////////////////////////////////
// C:\Program Files (x86)\Steam\steamapps\common\MountBlade Warband\ShaderFixes\2d861a8f07240c99-vs_replace.txt(50,14-36): warning X3203: signed/unsigned mismatch, unsigned assumed
// C:\Program Files (x86)\Steam\steamapps\common\MountBlade Warband\ShaderFixes\2d861a8f07240c99-vs_replace.txt(60,14-36): warning X3203: signed/unsigned mismatch, unsigned assumed
// C:\Program Files (x86)\Steam\steamapps\common\MountBlade Warband\ShaderFixes\2d861a8f07240c99-vs_replace.txt(70,14-36): warning X3203: signed/unsigned mismatch, unsigned assumed
// C:\Program Files (x86)\Steam\steamapps\common\MountBlade Warband\ShaderFixes\2d861a8f07240c99-vs_replace.txt(80,14-36): warning X3203: signed/unsigned mismatch, unsigned assumed
// C:\Program Files (x86)\Steam\steamapps\common\MountBlade Warband\ShaderFixes\2d861a8f07240c99-vs_replace.txt(93,14-36): warning X3203: signed/unsigned mismatch, unsigned assumed
// C:\Program Files (x86)\Steam\steamapps\common\MountBlade Warband\ShaderFixes\2d861a8f07240c99-vs_replace.txt(94,18): error X3000: syntax error: unexpected token ':'
// C:\Program Files (x86)\Steam\steamapps\common\MountBlade Warband\ShaderFixes\2d861a8f07240c99-vs_replace.txt(97,14-36): warning X3203: signed/unsigned mismatch, unsigned assumed
// C:\Program Files (x86)\Steam\steamapps\common\MountBlade Warband\ShaderFixes\2d861a8f07240c99-vs_replace.txt(98,18): error X3000: syntax error: unexpected token ':'
// C:\Program Files (x86)\Steam\steamapps\common\MountBlade Warband\ShaderFixes\2d861a8f07240c99-vs_replace.txt(103,14-36): warning X3203: signed/unsigned mismatch, unsigned assumed
// C:\Program Files (x86)\Steam\steamapps\common\MountBlade Warband\ShaderFixes\2d861a8f07240c99-vs_replace.txt(104,18): error X3000: syntax error: unexpected token ':'
/////////////////////////////////////////////////////////////////////////////
