RaspCreatePointList

__int64 __fastcall RaspCreatePointList(__int64 a1, _QWORD *a2, _BG_RASTERIZER_WORKSPACE *a3){
  char *Memory; 
  unsigned int i; 
  __int64 v7; 
  __int64 v8; 

  Memory = (char *)RaspAllocateMemory(17i64 * *(unsigned __int16 *)(a1 + 24), a3);
  if( !Memory )
    return 3221225626i64;
  memset(Memory, 0i64, 17 * *(unsigned __int16 *)(a1 + 24));
  for( i = 0; i < *(unsigned __int16 *)(a1 + 24); ++i )
  {
    v7 = 17i64 * i;
    *(_DWORD *)&Memory[v7] = *(_DWORD *)(*(_QWORD *)(a1 + 50) + 4i64 * i);
    *(_DWORD *)&Memory[v7 + 4] = *(_DWORD *)(*(_QWORD *)(a1 + 58) + 4i64 * i);
    v8 = *(_QWORD *)(a1 + 42);
    if( v8 )
    {
      if( (*(_BYTE *)(v8 + i) & 1) != 0 )
        Memory[v7 + 16] = 1;
    }
  }
  *a2 = Memory;
  return 0i64;
}

Referenced by:

RaspRasterize