sub_1403E9010

INT64 __fastcall sub_1403E9010(INT64 a1){
  unsigned int *v2; 
  INT64 result; 
  KeExitRetpoline();
  KxAcquireSpinLock(&KiHardwareTriggerLock);
  KxReleaseSpinLock(&KiHardwareTriggerLock);
  v2 = *(unsigned int **)(a1 + 32);
  result = *v2;
  if( (_DWORD)result )
  {
    result = (unsigned int)(result - 1);
    *v2 = result;
    if( !(_DWORD)result )
    {
      memset((INT64)(v2 + 2), 0i64);
      result = (*(__int64(__fastcall **)(_QWORD, _QWORD, _QWORD, _QWORD))(*((_QWORD *)v2 + 9) + 24i64))(
                 *((_QWORD *)v2 + 9),
                 *(_QWORD *)(*((_QWORD *)v2 + 9) + 32i64),
                 *(_QWORD *)(*((_QWORD *)v2 + 9) + 40i64),
                 *(_QWORD *)(*((_QWORD *)v2 + 9) + 48i64));
    }
  }
  if( *((_QWORD *)v2 + 4) )
    return(*((__int64(__fastcall **)(unsigned int *, _QWORD, _QWORD, _QWORD))v2 + 4))(
             v2 + 2,
             *((_QWORD *)v2 + 5),
             *((_QWORD *)v2 + 6),
             *((_QWORD *)v2 + 7));
  return result;
}

Referenced by:

No references.