sub_1405D27A4

INT64 __fastcall sub_1405D27A4(INT64 a1, UINT64 *a2){
  int v2; 
  int v4; 
  int v5; 
  void *v7; 
  int v8; 
  __int64 v9; 
  int v10; 
  UINT64 v11; 
  UINT64 a6; 
  INT64 v14; 
  INT64 a9; 
  UINT64 a5; 
  PMDL Mdl; 
  v2 = *((_DWORD *)a2 + 1);
  v4 = *(_DWORD *)a2;
  v5 = *((_DWORD *)a2 + 2);
  a5 = 0i64;
  v7 = (void *)(*(_QWORD *)(a1 + 32) + (v2 & 0xFFFFFFF));
  Mdl = 0i64;
  v8 = sub_14065E218(v7, v5 & 0xFFFFFFF, (v4 & 2) == 0);
  if( v8 >= 0 )
  {
    v8 = sub_1405D28BC(v7, a2[1] & 0xFFFFFFF, (*(_DWORD *)a2 & 2) == 0, &Mdl, &a5);
    if( v8 >= 0 )
    {
      v9 = *(_QWORD *)(a1 + 56);
      v10 = *((_DWORD *)a2 + 1) & 0xFFFFFFF;
      v11 = a2[1] & 0xFFFFFFF;
      LOBYTE(a9) = 0;
      LODWORD(a6) = v10;
      v8 = sub_14065F78C(1i64, (UINT8 *)v7, (UINT8 *)a5, v11, v9 + 72, a6, v9 + 80, v14, (INT64)&a9);
      if( v8 >= 0 )
        *(_DWORD *)a2 = *(_DWORD *)a2 & 0xFFFFFC03 | (4 * (unsigned __int8)a9);
    }
  }
  sub_14064F46C(Mdl);
  return(unsigned int)v8;
}

Referenced by:

WbReEncryptWarbirdEncryptionSegment