WbProcessStartup

INT64 __fastcall WbProcessStartup(INT64 a1, _QWORD *a2, UINT64 a3){
  int v5; 
  unsigned __int64 v6; 
  int v7; 
  if( (unsigned int)a3 >= 0x10 && *a2 == 8i64 )
  {
    v5 = WbAlloc(0x18ui64);
    if( v5 >= 0 )
    {
      v6 = a2[1];
      if( v6 + 24 > 0x7FFFFFFF0000i64 || v6 + 24 < v6 )
      {
        MEMORY[0x7FFFFFFF0000] = 0;
        v6 = a2[1];
      }
      MEMORY[0] = *(_OWORD *)v6;
      MEMORY[0x10] = *(_QWORD *)(v6 + 16);
      if( MEMORY[0] )
      {
        return(unsigned int)-1073741811;
      }
      else if( *(_DWORD *)(a1 + 56) )
      {
        v7 = 60;
        if( MEMORY[4] < 0x3Cu )
          v7 = MEMORY[4];
        *(_DWORD *)(a1 + 56) = v7;
      }
    }
  }
  else
  {
    return(unsigned int)-1073741811;
  }
  return(unsigned int)v5;
}

Referenced by:

WbDispatchOperation