HalpInsertProfileSource

CHAR __fastcall HalpInsertProfileSource(INT64 a1, _QWORD **a2, INT64 a3, _QWORD *a4){
  int v4; 
  _QWORD *v5; 
  _QWORD **v9; 
  _DWORD *v10; 
  _QWORD *v11; 
  _QWORD *v12; 
  *a4 = 0i64;
  v4 = a3 + 1;
  v5 = *a2;
  v9 = a2;
  if( *a2 == a2 )
  {
LABEL_7:
    *(_DWORD *)a1 = v4;
    v11 = (_QWORD *)(a1 + 8);
    v12 = v9[1];
    if( (_QWORD **)*v12 != v9 )
      __fastfail(3u);
    *v11 = v9;
    *(_QWORD *)(a1 + 16) = v12;
    *v12 = v11;
    v9[1] = v11;
    return 1;
  }
  else
  {
    while( 1 )
    {
      v10 = v5 - 1;
      if( !(unsigned int)wcsncmp((const WCHAR *)v5[24], *(const WCHAR **)(a1 + 200), 0xFFui64) )
        break;
      if( v4 == *v10 )
      {
        v9 = (_QWORD **)*v5;
        ++v4;
      }
      if( !v4 )
        return 0;
      v5 = (_QWORD *)*v5;
      if( v5 == a2 )
        goto LABEL_7;
    }
    *a4 = v10;
    return 0;
  }
}

Referenced by:

Amd64AddProfileSource
EmonAddProfileSource