BgfxGrowDirtyRect

VOID __fastcall BgfxGrowDirtyRect(UINT64 *a1, INT64 *a2, UINT64 a3){
  unsigned int v4; 
  int v6; 
  unsigned int v7; 
  unsigned int v8; 
  unsigned int v9; 
  unsigned int v10; 
  unsigned int v11; 
  v4 = a3;
  KxAcquireSpinLock(*((UINT64 **)&xmmword_140C13480 + 1));
  v6 = *(_DWORD *)xmmword_140C13480;
  if( *(_DWORD *)xmmword_140C13480 > *(_DWORD *)a2 )
    v6 = *(_DWORD *)a2;
  v7 = *(_DWORD *)a1;
  *(_DWORD *)xmmword_140C13480 = v6;
  v8 = v7 / v4 + *(_DWORD *)a2;
  v9 = *(_DWORD *)(xmmword_140C13480 + 4);
  if( v9 < v8 )
    v9 = v8;
  *(_DWORD *)(xmmword_140C13480 + 4) = v9;
  v10 = *(_DWORD *)(xmmword_140C13480 + 8);
  if( v10 > *((_DWORD *)a2 + 1) )
    v10 = *((_DWORD *)a2 + 1);
  *(_DWORD *)(xmmword_140C13480 + 8) = v10;
  v11 = *(_DWORD *)(xmmword_140C13480 + 12);
  if( v11 < *((_DWORD *)a2 + 1) + *((_DWORD *)a1 + 1) )
    v11 = *((_DWORD *)a2 + 1) + *((_DWORD *)a1 + 1);
  *(_DWORD *)(xmmword_140C13480 + 12) = v11;
  ++*(_DWORD *)qword_140C13470;
  KxReleaseSpinLock(*((UINT64 **)&xmmword_140C13480 + 1));
}

Referenced by:

GxpWriteFrameBufferPixels