RtlpImageDirectoryEntryToData32

__int64 __fastcall RtlpImageDirectoryEntryToData32(
        unsigned __int64 a1,
        char a2,
        unsigned __int16 a3,
        _DWORD *a4,
        unsigned __int64 a5,
        unsigned __int64 *a6){
  __int64 v6; 
  __int64 v7; 
  unsigned __int64 v8; 

  if( (unsigned int)a3 >= *(_DWORD *)(a5 + 116) )
    return 3221225485i64;
  v6 = a3;
  v7 = *(unsigned int *)(a5 + 8i64 * a3 + 120);
  if( (_DWORD)v7 )
  {
    if( a1 < 0x7FFFFFFEFFFFi64 && a1 + v7 >= 0x7FFFFFFEFFFFi64 )
      return 3221225485i64;
    *a4 = *(_DWORD *)(a5 + 8 * v6 + 124);
    if( a2 || (unsigned int)v7 < *(_DWORD *)(a5 + 84) )
    {
      *a6 = a1 + v7;
    }
    else
    {
      v8 = RtlAddressInSectionTable(a5, a1, v7);
      *a6 = v8;
      if( !v8 )
        return 3221225485i64;
    }
    return 0i64;
  }
  return 3221225474i64;
}

Referenced by:

RtlpImageDirectoryEntryToDataEx