// MANUALLY DUMPED [ShaderRegexSpecularVS1] Fountain water VS.
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.181 on Mon Dec 25 14:25:33 2023
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION                 0   xyzw        0     NONE   float   xyzw
// TEXCOORD                 4   xyzw        1     NONE   float   xyzw
// TEXCOORD                 5   xyzw        2     NONE   float   xyzw
// TEXCOORD                 6   xyzw        3     NONE   float   xyzw
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float   xyzw
// TEXCOORD                 0   xyzw        1     NONE   float   xyzw
// TEXCOORD                 1   xyz         2     NONE   float   xyz
// TEXCOORD                 2   xyz         3     NONE   float   xyz
// TEXCOORD                 3   xyzw        4     NONE   float   xyzw
// TEXCOORD                 4   xy          5     NONE   float   xy
//
vs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[2], immediateIndexed
dcl_constantbuffer CB2[17], immediateIndexed
dcl_constantbuffer CB12[3], immediateIndexed
dcl_input v0.xyzw
dcl_input v1.xyzw
dcl_input v2.xyzw
dcl_input v3.xyzw
dcl_output_siv o0.xyzw, position
dcl_output o1.xyzw
dcl_output o2.xyz
dcl_output o3.xyz
dcl_output o4.xyzw
dcl_output o5.xy
dcl_temps 15
dcl_resource_texture2d (float,float,float,float) t125
ld_indexable(texture2d)(float,float,float,float) r2.xyzw, l(0, 0, 0, 0), t125.xyzw
mad r0.xyzw, v0.xyzw, l(8.000000, 8.000000, 8.000000, 8.000000), l(0.500000, 0.500000, 0.500000, 0.500000)
round_ni r0.xyzw, r0.xyzw
mul r0.xyzw, r0.xyzw, l(0.125000, 0.125000, 0.125000, 0.125000)
dp4 r1.y, r0.xyzw, v2.xyzw
dp4 r1.x, r0.xyzw, v1.xyzw
dp4 r1.z, r0.xyzw, v3.xyzw
mov r1.w, l(1.000000)
dp4 r10.x, r1.xyzw, cb2[0].xyzw
dp4 r10.y, r1.xyzw, cb2[1].xyzw
dp4 r10.z, r1.xyzw, cb2[2].xyzw
dp4 r10.w, r1.xyzw, cb2[3].xyzw

ne r11.y, r10.w, l(1.0)
if_nz r11.y
add r11.x, r10.w, -r2.y
mad r10.x, r2.x, r11.x, r10.x
endif

mov o0.xyzw, r10.xyzw
mov o1.w, l(1.000000)
dp4 o1.x, r1.xyzw, cb2[4].xyzw
dp4 o1.y, r1.xyzw, cb2[5].xyzw
dp4 o1.z, r1.xyzw, cb2[6].xyzw


mov r4.xyz, cb2[13].xyzx
mul r3.xyz, r2.yyyy, cb2[4].xyzx
div r3.xyz, r3.xyzx, cb2[30].xxxx
mad r4.xyz, r2.xxxx, r3.xyzx, r4.xyzx
add o2.xyz, r1.xyzx, -r4.xyzx
mov o3.xyz, r1.xyzx
mov o4.xy, r1.xzxx
mul r0.xyzw, cb0[1].zwzw, cb2[16].xxxx
mul r0.xyzw, r0.xyzw, l(0.021700, 0.021700, 0.041300, 0.041300)
mad o4.zw, r1.xxxz, cb0[0].wwww, -r0.zzzw
mul r0.zw, r1.xxxz, cb0[0].wwww
mad o5.xy, r0.zwzz, l(0.430000, 0.430000, 0.000000, 0.000000), -r0.xyxx
ret
// Approximately 0 instruction slots used
