func: int CVE_2015_0833_VULN_NS_main(int argc, NS_tchar **argv) if ( argc < 4 )  __int64 pid = 0 ; if ( argc > 4 )  pid = _wtoi64 ( argv [ 4 ] ); if ( ! WriteStatusFile ( "applying" ) )  if ( pid > 0 )  HANDLE parent = OpenProcess ( SYNCHRONIZE , false , ( DWORD ) pid ) ; if ( parent )  updateFromMetro = IsUpdateFromMetro ( argc , argv ); DWORD waitTime = updateFromMetro ? IMMERSIVE_PARENT_WAIT : PARENT_WAIT ; DWORD result = WaitForSingleObject ( parent , waitTime ) ; if ( result != WAIT_OBJECT_0 && ! updateFromMetro )  sUsingService = getenv ( "MOZ_USING_SERVICE" ) != nullptr; if ( ! sUsingService && ( argc > callbackIndex || sStagedUpdate || sReplaceRequest ) )  LaunchCallbackApp ( argv [ 5 ] , argc - callbackIndex , argv + callbackIndex , sUsingService ); LaunchCallbackApp ( argv [ 5 ] , argc - callbackIndex , argv + callbackIndex , sUsingService ); LaunchCallbackApp ( argv [ 5 ] , argc - callbackIndex , argv + callbackIndex , sUsingService ); LaunchCallbackApp ( argv [ 5 ] , argc - callbackIndex , argv + callbackIndex , sUsingService ); if ( ! sUsingService )  LaunchCallbackApp ( argv [ 5 ] , argc - callbackIndex , argv + callbackIndex , sUsingService ); 