ProducerConsumerCopyToContextBuffer
VOID __stdcall ProducerConsumerCopyToContextBuffer(
UINT8 *Buffer,
UINT64 Size,
_PRODUCER_CONSUMER_CONTEXT *Context,
CHAR *ReservedBuffer){
__int64 v6;
CHAR *v7;
size_t v8;
int v9;
__int64 v10;
v6 = (unsigned int)Context[2];
v7 = &ReservedBuffer[-v6];
if( (unsigned __int64)ReservedBuffer < v6 + *(_QWORD *)Context )
v7 = ReservedBuffer;
v8 = 0;
v9 = (_DWORD)v7 - *Context;
if( v9 + (int)Size > (unsigned int)v6 )
{
v8 = Size + v9 - v6;
LODWORD(Size) = v6 - v9;
}
v10 = (unsigned int)Size;
memmove(v7, Buffer, Size);
if( v8 )
memmove(*(VOID **)Context, &Buffer[v10], v8);
}Referenced by:
PopCountDataAsProduced