BgpGxCopyBitmapToRectangle

VOID __fastcall BgpGxCopyBitmapToRectangle(INT64 a1, INT64 a2){
  UINT8 *v2; 
  unsigned int v4; 
  int v5; 
  UINT8 *v6; 
  unsigned int v7; 
  UINT64 v8; 
  __int64 v9; 
  v2 = (UINT8 *)(a2 + 40);
  v4 = *(_DWORD *)(a1 + 4) * (*(_DWORD *)(a1 + 8) >> 3);
  v6 = (UINT8 *)(*(_QWORD *)(a1 + 24) + v4 * (*(_DWORD *)a1 - 1));
  v7 = 0;
  if( *(_DWORD *)a1 )
  {
    v8 = v4;
    v5 = (*(_BYTE *)(a1 + 4) * (unsigned __int8)(*(_DWORD *)(a1 + 8) >> 3)) & 3;
    v9 = (v5 != 0 ? 4 - v5 : 0) + v4;
    do
    {
      memmove(v6, v2, v8);
      v6 -= v8;
      v2 += v9;
      ++v7;
    }
    while( v7 < *(_DWORD *)a1 );
  }
  BgpGxMarkClean(a1);
}

Referenced by:

BgpGxParseBitmap