PnprMmConstruct
__int64 __fastcall PnprMmConstruct(__int64 a1, unsigned int *a2){
int v2;
unsigned int v3;
unsigned int *v6;
unsigned __int64 v7;
__int64 v8;
int v9;
int v10;
__int64 v11;
unsigned __int64 v12;
int v13;
v2 = 0;
v3 = 0;
if( *(_DWORD *)(a1 + 4) )
{
while( 1 )
{
v2 = PnprMmAddRange(a2, *(_QWORD *)(a1 + 16i64 * v3 + 16), *(_QWORD *)(a1 + 16i64 * v3 + 24));
if( v2 < 0 )
break;
if( ++v3 >= *(_DWORD *)(a1 + 4) )
goto LABEL_4;
}
v8 = PnprContext;
v9 = *(_DWORD *)(PnprContext + 20984);
if( !v9 )
v9 = 4496;
*(_DWORD *)(PnprContext + 20984) = v9;
v10 = *(_DWORD *)(v8 + 20988);
if( !v10 )
v10 = 1;
LABEL_19:
*(_DWORD *)(v8 + 20988) = v10;
}
else
{
LABEL_4:
v6 = *(unsigned int **)a2;
v7 = 0i64;
while( v6 != a2 )
{
v11 = *((_QWORD *)v6 + 3);
if( !v11 || (v12 = *((_QWORD *)v6 + 2), v12 < v7) )
{
v8 = PnprContext;
v2 = -1073741811;
v13 = *(_DWORD *)(PnprContext + 20984);
if( !v13 )
v13 = 4517;
*(_DWORD *)(PnprContext + 20984) = v13;
v10 = *(_DWORD *)(v8 + 20988);
if( !v10 )
v10 = 6;
goto LABEL_19;
}
v6 = *(unsigned int **)v6;
v7 = v12 + v11;
}
}
if( v2 < 0 )
PnprMmFree((_QWORD **)a2);
return(unsigned int)v2;
}Referenced by:
No references.