sub_140963E88

__int64 __fastcall sub_140963E88(__int64 a1, unsigned int *a2){
  unsigned int v2; 
  unsigned int v4; 
  unsigned int v5; 
  _BYTE *v7; 
  INT64 v8; 
  int v9; 
  INT64 v10; 
  __int64 v11; 
  char *v12; 
  unsigned int v13; 
  unsigned int v14; 
  unsigned int v16; 
  int v17; 
  unsigned __int8 v18; 
  char *v19; 
  PMDL Mdl; 

  v2 = a2[1];
  v4 = *a2;
  v5 = a2[2];
  v19 = 0i64;
  v7 = (_BYTE *)(*(_QWORD *)(a1 + 32) + (v2 & 0xFFFFFFF));
  Mdl = 0i64;
  v9 = sub_14065E218(v7, v5 & 0xFFFFFFF, (v4 & 2) == 0);
  if( v9 >= 0 )
  {
    v9 = sub_1405D28BC(v7, a2[2] & 0xFFFFFFF, (*a2 & 2) == 0, &Mdl, (UINT64 *)&v19);
    if( v9 >= 0 )
    {
      v11 = *(_QWORD *)(a1 + 56);
      v12 = v19;
      v13 = a2[2] & 0xFFFFFFF;
      v16 = a2[1] & 0xFFFFFFF;
      v18 = 0;
      v9 = sub_14065F78C(1, v7, v19, v13, (__int64 *)(v11 + 72), v16, (__int128 *)(v11 + 80), v17, &v18);
      if( v9 >= 0 )
      {
        v14 = *a2 & 0xFFFFFC03 | (4 * v18);
        *a2 = v14;
        if( (v14 & 2) == 0 )
        {
          if( (a2[2] & 0xFFFFFFF) >= 4 )
            *(_DWORD *)v12 = *(_DWORD *)(*(_QWORD *)(a1 + 56) + 244i64);
          else
            v9 = -1073741811;
        }
      }
    }
  }
  sub_14064F46C(Mdl, v8, v10);
  return(unsigned int)v9;
}

Referenced by:

WbReEncryptWarbirdEncryptionSegment