WbProcessModuleUnload

INT64 __fastcall WbProcessModuleUnload(INT64 a1, _QWORD *a2, UINT64 a3){
  int v5; 
  _OWORD *v6; 
  if( (unsigned int)a3 >= 0x10 && *a2 == 9i64 )
  {
    v5 = WbAlloc(0x10ui64);
    if( v5 >= 0 )
    {
      v6 = (_OWORD *)a2[1];
      if( (unsigned __int64)(v6 + 1) > 0x7FFFFFFF0000i64 || v6 + 1 < v6 )
      {
        MEMORY[0x7FFFFFFF0000] = 0;
        v6 = (_OWORD *)a2[1];
      }
      MEMORY[0] = *v6;
      if( MEMORY[0] )
      {
        return(unsigned int)-1073741811;
      }
      else
      {
        WbHeapExecutionUnloadModule(a1, MEMORY[8]);
        WbInPlaceEncryptionUnloadModule(a1, MEMORY[8]);
      }
    }
  }
  else
  {
    return(unsigned int)-1073741811;
  }
  return(unsigned int)v5;
}

Referenced by:

WbDispatchOperation