// MANUALLY DUMPED [ShaderRegex\ShaderFixes\UE5_masterotaku.ini\LightingPS3_1_nospec] SH2. Exception. General fog.
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.198 on Sun Oct 13 22:43:20 2024
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// no Input
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// no Output
cs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[8], immediateIndexed
dcl_constantbuffer CB1[72], immediateIndexed
dcl_constantbuffer CB2[3], immediateIndexed
dcl_resource_texture3d (float,float,float,float) t0
dcl_uav_typed_texture3d (float,float,float,float) u0
dcl_input vThreadID.xy
dcl_temps 21
dcl_thread_group 8, 8, 1
dcl_resource_texture2d (float,float,float,float) t125
utof r0.xy, vThreadID.xyxx
add r0.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
div r0.xy, r0.xyxx, cb2[1].xyxx
mad r0.xy, r0.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
mul r0.xy, r0.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000)
add r0.z, -cb2[2].y, l(1.000000)
div r0.z, r0.z, cb2[2].x
ge r0.w, cb1[35].w, l(1.000000)
mad r1.x, r0.z, cb1[34].z, cb1[35].z
add r0.z, r0.z, cb1[71].w
mul r0.z, r0.z, cb1[71].z
div r0.z, l(1.000000, 1.000000, 1.000000, 1.000000), r0.z
movc r0.z, r0.w, r1.x, r0.z

ld_indexable(texture2d)(float,float,float,float) r8.xyzw, l(0, 0, 0, 0), t125.xyzw
mul r10.xyzw, r0.yyyy, cb0[5].xyzw
mad r10.xyzw, r0.xxxx, cb0[4].xyzw, r10.xyzw
//Pattern break.
mad r10.xyzw, r0.zzzz, cb0[6].xyzw, r10.xyzw
add r10.xyzw, r10.xyzw, cb0[7].xyzw
mad r9.x, r8.y, l(0.0), l(-1.0)
mad r0.x, r8.x, r9.x, r0.x
mul r1.xyzw, r0.yyyy, cb0[5].xyzw
mad r1.xyzw, r0.xxxx, cb0[4].xyzw, r1.xyzw
mad r2.xyzw, r0.zzzz, cb0[6].xyzw, r1.xyzw
add r2.xyzw, r2.xyzw, cb0[7].xyzw
div r0.xyz, r2.xyzx, r2.wwww
mov r2.xy, vThreadID.xyxx
mov r2.w, l(0)
mov r4.xyz, r0.xyzx
mov r3.xyzw, l(0,0,0,1.000000)
mov r4.w, l(0)
mov r2.z, l(0)
loop
  ige r5.x, r2.z, cb2[0].z
  breakc_nz r5.x
  ld_indexable(texture3d)(float,float,float,float) r5.xyzw, r2.xyzw, t0.xyzw
  utof r6.x, r2.z
  add r6.x, r6.x, l(0.500000)
  div r6.x, r6.x, cb2[2].z
  exp r6.x, r6.x
  add r6.x, r6.x, -cb2[2].y
  div r6.x, r6.x, cb2[2].x
  mad r6.y, r6.x, cb1[34].z, cb1[35].z
  add r6.x, r6.x, cb1[71].w
  mul r6.x, r6.x, cb1[71].z
  div r6.x, l(1.000000, 1.000000, 1.000000, 1.000000), r6.x
  movc r6.x, r0.w, r6.y, r6.x
  mad r6.xyzw, r6.xxxx, cb0[6].xyzw, r1.xyzw
  add r6.xyzw, r6.xyzw, cb0[7].xyzw
  
  //add r18.x, r6.w, -r8.y
  //mad r6.x, r8.x, r18.x, r6.x
  
  div r6.xyz, r6.xyzx, r6.wwww
  
  mad r16.x, r8.y, l(0.0), l(-1.0)
  mul r15.w, cb1[32].x, cb1[32].x
  div r15.x, cb1[0].x, r15.w
  div r15.y, cb1[1].x, r15.w
  div r15.z, cb1[2].x, r15.w
  mul r15.xyz, r15.xyzx, r16.xxxx
  mad r6.xyz, r8.xxxx, r15.xyzx, r6.xyzx
  
  add r7.xyz, -r4.xyzx, r6.xyzx
  dp3 r6.w, r7.xyzx, r7.xyzx
  sqrt r6.w, r6.w
  mul r7.x, -r5.w, r6.w
  mul r7.x, r7.x, l(1.442695)
  exp r7.x, r7.x
  add r4.w, r4.w, r6.w
  mul_sat r6.w, r4.w, cb0[2].x
  mad r5.xyz, -r5.xyzx, r7.xxxx, r5.xyzx
  mul r5.xyz, r5.xyzx, r6.wwww
  max r5.w, r5.w, l(0.000010)
  div r5.xyz, r5.xyzx, r5.wwww
  mad r3.xyz, r5.xyzx, r3.wwww, r3.xyzx
  add r5.x, r7.x, l(-1.000000)
  mad r5.x, r6.w, r5.x, l(1.000000)
  mul r3.w, r3.w, r5.x
  store_uav_typed u0.xyzw, r2.xyzz, r3.xyzw
  iadd r2.z, r2.z, l(1)
  mov r4.xyz, r6.xyzx
endloop
ret
// Approximately 0 instruction slots used
