PopEtGetProcessAppId
INT64 __stdcall PopEtGetProcessAppId(INT64 rcx0, INT64 *rdx0){
WCHAR v4;
struct _UNICODE_STRING *p_DestinationString;
int v6;
INT64 v7;
unsigned __int64 i;
WCHAR v10;
INT64 v11;
INT64 v12;
struct _UNICODE_STRING DestinationString;
INT64 v14[2];
__int128 v15;
INT64 *v16;
wchar_t *Buffer;
INT64 *p_result_4;
char *v19;
INT64 *v20;
__int16 v21;
int v22;
__int16 v23;
INT64 v24[10];
int result;
INT64 result_4;
char v27;
WCHAR SourceString[16];
v12 = 0i64;
v11 = 0i64;
DestinationString = 0i64;
memset((INT64)&result, 0i64);
memset((INT64)v24, 0i64);
p_DestinationString = *(struct _UNICODE_STRING **)(rcx0 + 1472);
if( !p_DestinationString || !p_DestinationString->Length )
{
for( i = 0i64; i < 0xF; ++i )
{
v10 = *(unsigned __int8 *)(rcx0 + i + 1448);
SourceString[i] = v10;
if( !(_BYTE)v10 )
break;
}
SourceString[14] = 0;
RtlInitUnicodeString(&DestinationString, SourceString, v4);
p_DestinationString = &DestinationString;
}
PopEtGetProcessImageInfo(rcx0, (INT64)&v12);
PopEtGetProcessSidAndPackageIdentity((INT64 *)rcx0, v24, (INT64)&result);
v14[0] = 0i64;
v16 = &v12;
v14[1] = 0i64;
v20 = v24;
v15 = 0i64;
v23 = 4 * (BYTE1(v24[0]) + 2);
Buffer = p_DestinationString->Buffer;
v21 = p_DestinationString->Length >> 1;
p_result_4 = &result_4;
v22 = result;
v19 = &v27;
v6 = PopEtAppIdIntern((INT64)v14, &v11);
if( v6 < 0 )
{
v7 = v11;
}
else
{
v7 = 0i64;
*rdx0 = v11;
v6 = 0;
}
if( v7 )
PopEtAppIdDereference(v7);
return(unsigned int)v6;
}Referenced by:
PoEnergyContextStart