IopBootAllocation

__int64 __fastcall IopBootAllocation(__int64 a1){
  unsigned int v1; 
  __int64 *v2; 
  __int64 *v3; 
  __int64 *v4; 
  int v5; 
  __int64 *v6; 
  __int64 *v7; 
  __int64 v9[2]; 
  __int128 v10[2]; 
  v9[1] = (__int64)v9;
  v10[0] = 0i64;
  v1 = 0;
  v9[0] = (__int64)v9;
  *(_QWORD *)(a1 + 16) = a1 + 40;
  v10[1] = 0i64;
  IopAddRemoveReqDescs(*(_QWORD *)(a1 + 40) + 24i64, *(_DWORD *)(*(_QWORD *)(a1 + 40) + 20i64), v9, 1);
  v2 = (__int64 *)v9[0];
  while( v2 != v9 )
  {
    v3 = v2;
    v2 = (__int64 *)*v2;
    if( *((_BYTE *)v3 + 17) )
    {
      v4 = v3 - 6;
      *(_QWORD *)&v10[0] = v3 - 6;
      v5 = (*(__int64(__fastcall **)(_QWORD, __int64, __int128 *))(*(v3 - 8) + 32))(
             *(_QWORD *)(*(v3 - 8) + 8),
             9i64,
             v10);
      v6 = v3 - 2;
      v3[1] = (__int64)v3;
      v6[1] = (__int64)v6;
      *v6 = (__int64)v6;
      v7 = v3 - 4;
      if( v5 < 0 )
        v1 = v5;
      v7[1] = (__int64)v7;
      *((_WORD *)v3 + 8) = 0;
      *v7 = (__int64)v7;
      *v3 = (__int64)v3;
      v4[1] = (__int64)v4;
      *v4 = (__int64)v4;
    }
  }
  return v1;
}

Referenced by:

IopAllocateBootResourcesInternal