DbgkpTriageDumpWrite

NTSTATUS __stdcall DbgkpTriageDumpWrite(VOID *DumpObject, UINT64 *BytesUsed){
  __int64 v2; 
  __int64 v5; 
  size_t v6; 
  int v7; 
  size_t v8; 
  __int64 v9; 
  NTSTATUS result; 

  v2 = *(_QWORD *)DumpObject;
  *(_DWORD *)BytesUsed = 0;
  *(_DWORD *)(v2 + 4152) |= 0xFFu;
  v5 = *((unsigned int *)DumpObject + 6);
  v6 = 16 * *(_DWORD *)(v2 + 8316) + 4;
  if( (unsigned int)v5 + v6 < (unsigned int)v5 || (unsigned int)v5 + v6 > *((_DWORD *)DumpObject + 2) )
    return -1073741670;
  memmove((VOID *)(v2 + v5), (const VOID *)(v2 + *(unsigned int *)(v2 + 8312)), v6);
  v7 = *((_DWORD *)DumpObject + 6);
  *(_DWORD *)(v2 + 8312) = v7;
  v8 = v7 + v6;
  *(_DWORD *)(v2 + 8196) = v7 + v6;
  *(_QWORD *)(v2 + 4000) = v7 + v6;
  v9 = v7 + v6 - 4;
  *(_DWORD *)(v2 + 8200) = v9;
  *(_DWORD *)(v9 + v2) = 1145524820;
  result = 0;
  *(_DWORD *)BytesUsed = v8;
  return result;
}

Referenced by:

No references.