WbUpdateHeapExecutedCallArgumentList

INT64 __fastcall WbUpdateHeapExecutedCallArgumentList(INT64 a1, INT64 a2, INT64 *a3, INT64 a4, UINT8 *dst, UINT64 Size){
  unsigned int i; 
  INT64 v10; 
  INT64 v11; 
  _QWORD *v12; 
  if( *(_QWORD *)(a1 + 296) )
    *(_QWORD *)(a4 + 24) = *(_QWORD *)(a2 + 32);
  for( i = 0; i < (*(_DWORD *)(a1 + 324) >> 10) + 1; ++i )
    ProbeForWrite((VOID *)(*a3 - (i << 10)), 8ui64, 1ui64);
  v10 = *a3;
  v11 = *a3 - 32;
  *a3 = v11;
  if( (v11 & 0xF) != 0 )
    v12 = (_QWORD *)(v10 - 48);
  else
    v12 = (_QWORD *)(v10 - 40);
  *a3 = (INT64)v12;
  *v12 = dst + 16;
  memmove(dst, (UINT8 *)a4, (unsigned int)Size);
  return 0i64;
}

Referenced by:

WbHeapExecuteCall