// SetupBufferOps - decompiled from Platform.efi
__int64 __fastcall SetupBufferOps(const void *SourceBuffer, unsigned __int64 n209, UINTN Length)
{
__int64 v5; // rbx
const void **p_DestinationBuffer; // rax
if ( !SourceBuffer ) /*0x826e*/
return -1; /*0x8270*/
v5 = 0; /*0x8276*/
if ( off_FD00 ) /*0x8286*/
{
p_DestinationBuffer = (const void **)&off_FD00; /*0x8288*/
do /*0x82a5*/
{
if ( (unsigned __int8)CompareMem(*p_DestinationBuffer, SourceBuffer, Length) ) /*0x8291*/
break; /*0x8298*/
++v5; /*0x829a*/
p_DestinationBuffer = (const void **)(&off_FD00 + 3 * v5); /*0x82a1*/
}
while ( *p_DestinationBuffer ); /*0x82a5*/
}
if ( !*(&off_FD00 + 3 * v5) ) /*0x82b3*/
return -1; /*0x82b8*/
return v5; /*0x82c9*/
}