// MANUALLY DUMPED [ShaderRegex\ShaderFixes\regex.ini\_Player_Adjustment]
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v1.3.16 on Wed Dec 18 01:07:03 2019
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// ATTRIBUTE                0   xyzw        0     NONE   float   xyz
// ATTRIBUTE                1   xyz         1     NONE   float   xyz
// ATTRIBUTE                2   xyzw        2     NONE   float   xyzw
// ATTRIBUTE                3   xyzw        3     NONE    uint   xyzw
// ATTRIBUTE               14   xyzw        4     NONE    uint   xyzw
// ATTRIBUTE                4   xyzw        5     NONE   float   xyzw
// ATTRIBUTE               15   xyzw        6     NONE   float   xyzw
// ATTRIBUTE                5   xy          7     NONE   float   xy
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                10   xyzw        0     NONE   float   xyzw
// TEXCOORD                11   xyzw        1     NONE   float   xyzw
// COLOR                    0   xyzw        2     NONE   float   xyzw
// COLOR                    1   xyzw        3     NONE   float   xyzw
// TEXCOORD                 0   xy          4     NONE   float   xy
// TEXCOORD                 9   xyz         5     NONE   float   xyz
// SV_POSITION              0   xyzw        6      POS   float   xyzw
//
vs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[7], immediateIndexed
dcl_constantbuffer cb1[72], dynamicIndexed
dcl_constantbuffer cb2[20], immediateIndexed
dcl_resource_buffer (float,float,float,float) t0
dcl_input v0.xyz
dcl_input v1.xyz
dcl_input v2.xyzw
dcl_input v3.xyzw
dcl_input v4.xyzw
dcl_input v5.xyzw
dcl_input v6.xyzw
dcl_input v7.xy
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_output o2.xyzw
dcl_output o3.xyzw
dcl_output o4.xy
dcl_output o5.xyz
dcl_output_siv o6.xyzw, position
dcl_temps 16
dcl_resource_texture2d (float,float,float,float) t125
dcl_resource_texture1d (float,float,float,float) t120
imul null, r0.xyzw, v3.xyzw, l(3, 3, 3, 3)
ld_indexable(buffer)(float,float,float,float) r1.xyzw, r0.xxxx, t0.xyzw
imad r2.xyzw, v3.xxyy, l(3, 3, 3, 3), l(1, 2, 1, 2)
ld_indexable(buffer)(float,float,float,float) r3.xyzw, r2.xxxx, t0.xyzw
ld_indexable(buffer)(float,float,float,float) r4.xyzw, r2.yyyy, t0.xyzw
ld_indexable(buffer)(float,float,float,float) r5.xyzw, r0.yyyy, t0.xyzw
ld_indexable(buffer)(float,float,float,float) r6.xyzw, r2.zzzz, t0.xyzw
ld_indexable(buffer)(float,float,float,float) r2.xyzw, r2.wwww, t0.xyzw
mul r5.xyzw, r5.xyzw, v5.yyyy
mul r6.xyzw, r6.xyzw, v5.yyyy
mul r2.xyzw, r2.xyzw, v5.yyyy
mad r1.xyzw, v5.xxxx, r1.xyzw, r5.xyzw
mad r3.xyzw, v5.xxxx, r3.xyzw, r6.xyzw
mad r2.xyzw, v5.xxxx, r4.xyzw, r2.xyzw
ld_indexable(buffer)(float,float,float,float) r4.xyzw, r0.zzzz, t0.xyzw
imad r5.xyzw, v3.zzww, l(3, 3, 3, 3), l(1, 2, 1, 2)
ld_indexable(buffer)(float,float,float,float) r6.xyzw, r5.xxxx, t0.xyzw
ld_indexable(buffer)(float,float,float,float) r7.xyzw, r5.yyyy, t0.xyzw
mad r1.xyzw, v5.zzzz, r4.xyzw, r1.xyzw
mad r3.xyzw, v5.zzzz, r6.xyzw, r3.xyzw
mad r2.xyzw, v5.zzzz, r7.xyzw, r2.xyzw
ld_indexable(buffer)(float,float,float,float) r0.xyzw, r0.wwww, t0.xyzw
ld_indexable(buffer)(float,float,float,float) r4.xyzw, r5.zzzz, t0.xyzw
ld_indexable(buffer)(float,float,float,float) r5.xyzw, r5.wwww, t0.xyzw
mad r0.xyzw, v5.wwww, r0.xyzw, r1.xyzw
mad r1.xyzw, v5.wwww, r4.xyzw, r3.xyzw
mad r2.xyzw, v5.wwww, r5.xyzw, r2.xyzw
if_nz cb0[6].x
  imul null, r3.xyzw, v4.xyzw, l(3, 3, 3, 3)
  ld_indexable(buffer)(float,float,float,float) r4.xyzw, r3.xxxx, t0.xyzw
  imad r5.xyzw, v4.xxyy, l(3, 3, 3, 3), l(1, 2, 1, 2)
  ld_indexable(buffer)(float,float,float,float) r6.xyzw, r5.xxxx, t0.xyzw
  ld_indexable(buffer)(float,float,float,float) r7.xyzw, r5.yyyy, t0.xyzw
  mad r4.xyzw, v6.xxxx, r4.xyzw, r0.xyzw
  mad r6.xyzw, v6.xxxx, r6.xyzw, r1.xyzw
  mad r7.xyzw, v6.xxxx, r7.xyzw, r2.xyzw
  ld_indexable(buffer)(float,float,float,float) r8.xyzw, r3.yyyy, t0.xyzw
  ld_indexable(buffer)(float,float,float,float) r9.xyzw, r5.zzzz, t0.xyzw
  ld_indexable(buffer)(float,float,float,float) r5.xyzw, r5.wwww, t0.xyzw
  mad r4.xyzw, v6.yyyy, r8.xyzw, r4.xyzw
  mad r6.xyzw, v6.yyyy, r9.xyzw, r6.xyzw
  mad r5.xyzw, v6.yyyy, r5.xyzw, r7.xyzw
  ld_indexable(buffer)(float,float,float,float) r7.xyzw, r3.zzzz, t0.xyzw
  imad r8.xyzw, v4.zzww, l(3, 3, 3, 3), l(1, 2, 1, 2)
  ld_indexable(buffer)(float,float,float,float) r9.xyzw, r8.xxxx, t0.xyzw
  ld_indexable(buffer)(float,float,float,float) r10.xyzw, r8.yyyy, t0.xyzw
  mad r4.xyzw, v6.zzzz, r7.xyzw, r4.xyzw
  mad r6.xyzw, v6.zzzz, r9.xyzw, r6.xyzw
  mad r5.xyzw, v6.zzzz, r10.xyzw, r5.xyzw
  ld_indexable(buffer)(float,float,float,float) r3.xyzw, r3.wwww, t0.xyzw
  ld_indexable(buffer)(float,float,float,float) r7.xyzw, r8.zzzz, t0.xyzw
  ld_indexable(buffer)(float,float,float,float) r8.xyzw, r8.wwww, t0.xyzw
  mad r0.xyzw, v6.wwww, r3.xyzw, r4.xyzw
  mad r1.xyzw, v6.wwww, r7.xyzw, r6.xyzw
  mad r2.xyzw, v6.wwww, r8.xyzw, r5.xyzw
endif
dp3 r3.x, r0.xyzx, v1.xyzx
dp3 r3.y, r1.xyzx, v1.xyzx
dp3 r3.z, r2.xyzx, v1.xyzx
dp3 r3.w, r0.xyzx, v2.xyzx
dp3 r4.x, r1.xyzx, v2.xyzx
dp3 r4.y, r2.xyzx, v2.xyzx
mov r5.xyz, v0.xyzx
mov r5.w, l(1.000000)
dp4 r0.x, r0.xyzw, r5.xyzw
dp4 r0.y, r1.xyzw, r5.xyzw
dp4 r0.z, r2.xyzw, r5.xyzw
mul r1.xyz, r0.yyyy, cb2[1].xyzx
mad r0.xyw, cb2[0].xyxz, r0.xxxx, r1.xyxz
mad r0.xyz, cb2[2].xyzx, r0.zzzz, r0.xywx
add r1.xyz, cb1[71].xyzx, cb2[3].xyzx
add r0.xyz, r0.xyzx, r1.xyzx
ishl r0.w, cb2[19].y, l(2)
mul r1.xyzw, r0.yyyy, cb1[r0.w + 1].xyzw
mad r1.xyzw, r0.xxxx, cb1[r0.w + 0].xyzw, r1.xyzw
mad r1.xyzw, r0.zzzz, cb1[r0.w + 2].xyzw, r1.xyzw
// add o6.xyzw, r1.xyzw, cb1[r0.w + 3].xyzw


//ShaderRegex_Player_Adjustment - Begin/Load Params
ld_indexable(texture2d)(float,float,float,float) r13.xyzw, l(0, 0, 0, 0), t125.xyzw
ld_indexable(texture1d)(float,float,float,float) r11.xyzw, l(0, 0, 0, 0), t120.xyzw
ld_indexable(texture1d)(float,float,float,float) r12.xyzw, l(5, 0, 0, 0), t120.xyzw

add r14.xyzw, r1.xyzw, cb1[r0.w + 3].xyzw

// First check to make sure is during gameplay, not cutscenes
eq r15.z, r12.z, l(1.0)
if_nz r15.z
// Next check if depth < 150, ie. is player character
lt r15.w, r14.w, l(100.0)
if_nz r15.w
// Check for user choice to lower PC position
eq r15.x, r12.x, l(1.0)
if_nz r15.x
add r14.y, r14.y, l(-15.0)
add r14.x, r14.x, l(5.0)
endif
// Check for user choice to adjust convergence amount
ge r15.y, r12.y, l(0.1)
if_nz r15.y
mul r13.y, r13.y, r12.y
add r13.w, r14.w, -r13.y
mad r14.x, r13.w, -r13.x, r14.x
endif
endif
endif
mov o6.xyzw, r14.xyzw
mul r1.xyz, cb2[0].xyzx, cb2[16].xxxx
mul r2.xyz, cb2[1].xyzx, cb2[16].yyyy
mul r5.xyz, cb2[2].xyzx, cb2[16].zzzz
mul r6.xyz, r2.xyzx, r3.yyyy
mad r6.xyz, r3.xxxx, r1.xyzx, r6.xyzx
mad o0.xyz, r3.zzzz, r5.xyzx, r6.xyzx
mul r2.xyz, r2.xyzx, r4.xxxx
mad r1.xyz, r3.wwww, r1.xyzx, r2.xyzx
mad o1.xyz, r4.yyyy, r5.xyzx, r1.xyzx
mul o1.w, v2.w, cb2[9].w
mov o0.w, l(0)
mov o2.xyz, v2.xyzx
mov o2.w, l(0)
mov o3.xyz, v0.xyzx
mov o3.w, l(0)
mov o5.xyz, r0.xyzx
mov o4.xy, v7.xyxx
ret
// Approximately 0 instruction slots used
