Program: 94119
Project: 94119
Buggy source:
@Override public void handleLoadPackage(final LoadPackageParam lpparam) throws Throwable {
  if (!lpparam.packageName.equals(Common.PACKAGE_SNAP))   return;
  try {
    Preferences.mSavePath=Environment.getExternalStorageDirectory().getAbsolutePath() + "String_Node_Str";
    Preferences.mCustomFilterLocation=Environment.getExternalStorageDirectory().getAbsolutePath() + "String_Node_Str";
    XposedUtils.log("String_Node_Str",false);
    Object activityThread=callStaticMethod(findClass("String_Node_Str",null),"String_Node_Str");
    context=(Context)callMethod(activityThread,"String_Node_Str");
    classLoader=lpparam.classLoader;
    PackageInfo piSnapChat=context.getPackageManager().getPackageInfo(lpparam.packageName,0);
    XposedUtils.log("String_Node_Str" + piSnapChat.versionName + "String_Node_Str"+ piSnapChat.versionCode+ "String_Node_Str",false);
    XposedUtils.log("String_Node_Str" + BuildConfig.VERSION_NAME + "String_Node_Str"+ BuildConfig.VERSION_CODE+ "String_Node_Str",false);
    if (!Obfuscator.isSupported(piSnapChat.versionCode)) {
      Logger.log("String_Node_Str",true,true);
      Toast.makeText(context,"String_Node_Str",Toast.LENGTH_SHORT).show();
      return;
    }
  }
 catch (  Exception e) {
    XposedUtils.log("String_Node_Str",e);
    return;
  }
  findAndHookMethod("String_Node_Str",lpparam.classLoader,"String_Node_Str",Context.class,new XC_MethodHook(){
    @Override protected void afterHookedMethod(    MethodHookParam param) throws Throwable {
      Preferences.refreshPreferences();
      Preferences.printSettings();
      if (Preferences.mLicense == 1 || Preferences.mLicense == 2) {
        if (Preferences.mReplay == true) {
        }
        if (Preferences.mTyping == true) {
          Premium.initTyping(lpparam,modRes,SnapContext);
        }
        if (Preferences.mStealth == true && Preferences.mLicense == 2) {
          Premium.initViewed(lpparam,modRes,SnapContext);
        }
      }
      Preferences.prefs.reload();
      Preferences.refreshPreferences();
      XC_MethodHook initHook=new XC_MethodHook(){
        @Override protected void afterHookedMethod(        MethodHookParam param) throws Throwable {
          Preferences.prefs.reload();
          Preferences.refreshPreferences();
          SnapContext=(Activity)param.thisObject;
          if (!Preferences.acceptedToU) {
            AlertDialog.Builder builder=new AlertDialog.Builder(SnapContext).setTitle("String_Node_Str").setMessage("String_Node_Str").setIcon(android.R.drawable.ic_dialog_alert);
            builder.setCancelable(false);
            final AlertDialog dialog=builder.create();
            dialog.setCanceledOnTouchOutside(false);
            dialog.show();
            return;
          }
          boolean isNull;
          isNull=SnapContext == null;
          Logger.log("String_Node_Str" + isNull,true);
          Preferences.prefs.reload();
          Preferences.refreshPreferences();
          Saving.initSaving(lpparam,mResources,SnapContext);
          Lens.initLens(lpparam,mResources,SnapContext);
          File vfilters=new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "String_Node_Str");
          if (vfilters.exists()) {
            VisualFilters.initVisualFilters(lpparam);
          }
 else {
            Toast.makeText(context,"String_Node_Str",Toast.LENGTH_SHORT).show();
          }
          if (Preferences.mHideLive || Preferences.mHidePeople || Preferences.mDiscoverUI) {
            Stories.initStories(lpparam);
          }
          Groups.initGroups(lpparam);
          if (Preferences.shouldAddGhost) {
            HookedLayouts.initVisiblity(lpparam);
          }
          if (Preferences.mMultiFilterBoolean) {
            MultiFilter.initMultiFilter(lpparam,mResources,SnapContext);
          }
          if (Preferences.mDiscoverSnap) {
            DataSaving.blockDsnap(lpparam);
          }
          if (Preferences.mStoryPreload) {
            DataSaving.blockStoryPreLoad(lpparam);
          }
          if (Preferences.mDiscoverUI) {
            DataSaving.blockFromUi(lpparam);
          }
          if (Preferences.mSpeed) {
            Spoofing.initSpeed(lpparam,SnapContext);
          }
          if (Preferences.mLocation) {
            Spoofing.initLocation(lpparam,SnapContext);
          }
          if (Preferences.mWeather) {
            Spoofing.initWeather(lpparam,SnapContext);
          }
          if (Preferences.mPaintTools) {
            PaintTools.initPaint(lpparam,mResources);
          }
          if (Preferences.mTimerCounter) {
            Misc.initTimer(lpparam,mResources);
          }
          if (Preferences.mChatAutoSave) {
            Chat.initTextSave(lpparam,mResources);
          }
          if (Preferences.mChatMediaSave) {
            Chat.initImageSave(lpparam,mResources);
          }
          if (Preferences.mIntegration) {
            HookedLayouts.initIntegration(lpparam,mResources);
          }
          Misc.forceNavBar(lpparam,Preferences.mForceNavbar);
          getEditText(lpparam);
          findAndHookMethod(Obfuscator.save.SCREENSHOTDETECTOR_CLASS,lpparam.classLoader,Obfuscator.save.SCREENSHOTDETECTOR_RUN,LinkedHashMap.class,XC_MethodReplacement.DO_NOTHING);
          findAndHookMethod(Obfuscator.save.SNAPSTATEMESSAGE_CLASS,lpparam.classLoader,Obfuscator.save.SNAPSTATEMESSAGE_SETSCREENSHOTCOUNT,Long.class,new XC_MethodHook(){
            @Override protected void beforeHookedMethod(            MethodHookParam param) throws Throwable {
              param.args[0]=0L;
              Logger.log("String_Node_Str",true);
            }
          }
);
          if (Preferences.mCustomSticker) {
            Stickers.initStickers(lpparam,modRes,SnapContext);
          }
        }
      }
;
      findAndHookMethod("String_Node_Str",lpparam.classLoader,"String_Node_Str",Bundle.class,initHook);
      findAndHookMethod("String_Node_Str",lpparam.classLoader,"String_Node_Str",initHook);
      findAndHookMethod(Obfuscator.icons.ICON_HANDLER_CLASS,lpparam.classLoader,Obfuscator.icons.SHOW_LENS,boolean.class,boolean.class,new XC_MethodHook(){
        @Override protected void afterHookedMethod(        MethodHookParam param) throws Throwable {
          if ((boolean)param.args[0]) {
            HookedLayouts.upload.setVisibility(View.INVISIBLE);
          }
 else {
            HookedLayouts.upload.setVisibility(View.VISIBLE);
          }
        }
      }
);
      findAndHookMethod(Obfuscator.icons.ICON_HANDLER_CLASS,lpparam.classLoader,Obfuscator.icons.RECORDING_VIDEO,boolean.class,new XC_MethodHook(){
        @Override protected void afterHookedMethod(        MethodHookParam param) throws Throwable {
          HookedLayouts.upload.setVisibility(View.VISIBLE);
        }
      }
);
      for (      String s : Obfuscator.ROOTDETECTOR_METHODS) {
        findAndHookMethod(Obfuscator.ROOTDETECTOR_CLASS,lpparam.classLoader,s,XC_MethodReplacement.returnConstant(false));
        Logger.log("String_Node_Str" + s,true);
      }
      findAndHookMethod("String_Node_Str",lpparam.classLoader,"String_Node_Str",int.class,new XC_MethodHook(){
        @Override protected void beforeHookedMethod(        MethodHookParam param) throws Throwable {
          param.args[0]=12000000;
        }
      }
);
      findAndHookMethod("String_Node_Str",lpparam.classLoader,"String_Node_Str",long.class,new XC_MethodHook(){
        @Override protected void beforeHookedMethod(        MethodHookParam param) throws Throwable {
          param.args[0]=5190453;
        }
      }
);
      final Class<?> receivedSnapClass=findClass(Obfuscator.save.RECEIVEDSNAP_CLASS,lpparam.classLoader);
      try {
        XposedHelpers.setStaticIntField(receivedSnapClass,"String_Node_Str",99999);
        final Class<?> snapMediaUtils=findClass("String_Node_Str",lpparam.classLoader);
        XposedHelpers.setStaticIntField(snapMediaUtils,"String_Node_Str",100);
        XposedHelpers.setStaticIntField(snapMediaUtils,"String_Node_Str",100);
        final Class<?> profileImageUtils=findClass("String_Node_Str",lpparam.classLoader);
        XposedHelpers.setStaticIntField(profileImageUtils,"String_Node_Str",100);
        final Class<?> snapImageBryo=findClass(Obfuscator.save.SNAPIMAGEBRYO_CLASS,lpparam.classLoader);
        XposedHelpers.setStaticIntField(snapImageBryo,"String_Node_Str",100);
        Logger.log("String_Node_Str",true);
      }
 catch (      Throwable t) {
        Logger.log("String_Node_Str",true);
        Logger.log(t.toString());
      }
      if (Common.CAPTION_UNLIMITED_VANILLA) {
        findAndHookMethod("String_Node_Str",lpparam.classLoader,"String_Node_Str",XC_MethodReplacement.DO_NOTHING);
      }
      String vanillaCaptionEditTextClassName="String_Node_Str";
      hookAllConstructors(findClass(vanillaCaptionEditTextClassName,lpparam.classLoader),new XC_MethodHook(){
        @Override protected void afterHookedMethod(        MethodHookParam param) throws Throwable {
          if (Common.CAPTION_UNLIMITED_VANILLA) {
            XposedUtils.log("String_Node_Str");
            EditText vanillaCaptionEditText=(EditText)param.thisObject;
            vanillaCaptionEditText.setSingleLine(false);
            vanillaCaptionEditText.setFilters(new InputFilter[0]);
            vanillaCaptionEditText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);
            vanillaCaptionEditText.setOnEditorActionListener(null);
            setObjectField(vanillaCaptionEditText,"String_Node_Str",null);
          }
        }
      }
);
      String fatCaptionEditTextClassName="String_Node_Str";
      hookAllConstructors(findClass(fatCaptionEditTextClassName,lpparam.classLoader),new XC_MethodHook(){
        @Override protected void afterHookedMethod(        MethodHookParam param) throws Throwable {
          if (Common.CAPTION_UNLIMITED_FAT) {
            XposedUtils.log("String_Node_Str");
            EditText fatCaptionEditText=(EditText)param.thisObject;
            fatCaptionEditText.setFilters(new InputFilter[0]);
            fatCaptionEditText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);
            fatCaptionEditText.setOnEditorActionListener(null);
            setObjectField(fatCaptionEditText,"String_Node_Str",null);
          }
        }
      }
);
      Sharing.initSharing(lpparam,mResources);
      if (Preferences.hideBf == true) {
        findAndHookMethod("String_Node_Str",lpparam.classLoader,Obfuscator.FRIENDS_BF,new XC_MethodReplacement(){
          @Override protected Object replaceHookedMethod(          MethodHookParam param) throws Throwable {
            return false;
          }
        }
);
      }
      if (Preferences.mCustomFilterBoolean == true) {
        addFilter(lpparam);
      }
      if (Preferences.selectAll == true) {
        HookSendList.initSelectAll(lpparam);
      }
    }
  }
);
}

Fixed version (ground truth):
@Override public void handleLoadPackage(final LoadPackageParam lpparam){
  try {
    if (!lpparam.packageName.equals(Common.PACKAGE_SNAP))     return;
    try {
      Preferences.mSavePath=Environment.getExternalStorageDirectory().getAbsolutePath() + "String_Node_Str";
      Preferences.mCustomFilterLocation=Environment.getExternalStorageDirectory().getAbsolutePath() + "String_Node_Str";
      XposedUtils.log("String_Node_Str",false);
      Object activityThread=callStaticMethod(findClass("String_Node_Str",null),"String_Node_Str");
      context=(Context)callMethod(activityThread,"String_Node_Str");
      classLoader=lpparam.classLoader;
      PackageInfo piSnapChat=context.getPackageManager().getPackageInfo(lpparam.packageName,0);
      XposedUtils.log("String_Node_Str" + piSnapChat.versionName + "String_Node_Str"+ piSnapChat.versionCode+ "String_Node_Str",false);
      XposedUtils.log("String_Node_Str" + BuildConfig.VERSION_NAME + "String_Node_Str"+ BuildConfig.VERSION_CODE+ "String_Node_Str",false);
      if (!Obfuscator.isSupported(piSnapChat.versionCode)) {
        Logger.log("String_Node_Str",true,true);
        Toast.makeText(context,"String_Node_Str",Toast.LENGTH_SHORT).show();
        return;
      }
    }
 catch (    Exception e) {
      XposedUtils.log("String_Node_Str",e);
      return;
    }
    findAndHookMethod("String_Node_Str",lpparam.classLoader,"String_Node_Str",Context.class,new XC_MethodHook(){
      @Override protected void afterHookedMethod(      MethodHookParam param) throws Throwable {
        Preferences.refreshPreferences();
        Preferences.printSettings();
        if (Preferences.mLicense == 1 || Preferences.mLicense == 2) {
          if (Preferences.mReplay) {
          }
          if (Preferences.mTyping) {
            Premium.initTyping(lpparam,modRes,SnapContext);
          }
          if (Preferences.mStealth && Preferences.mLicense == 2) {
            Premium.initViewed(lpparam,modRes,SnapContext);
          }
        }
        Preferences.prefs.reload();
        Preferences.refreshPreferences();
        XC_MethodHook initHook=new XC_MethodHook(){
          @Override protected void afterHookedMethod(          MethodHookParam param) throws Throwable {
            Preferences.prefs.reload();
            Preferences.refreshPreferences();
            SnapContext=(Activity)param.thisObject;
            if (!Preferences.acceptedToU) {
              AlertDialog.Builder builder=new AlertDialog.Builder(SnapContext).setTitle("String_Node_Str").setMessage("String_Node_Str").setIcon(android.R.drawable.ic_dialog_alert);
              builder.setCancelable(false);
              final AlertDialog dialog=builder.create();
              dialog.setCanceledOnTouchOutside(false);
              dialog.show();
              return;
            }
            boolean isNull;
            isNull=SnapContext == null;
            Logger.log("String_Node_Str" + isNull,true);
            Preferences.prefs.reload();
            Preferences.refreshPreferences();
            Saving.initSaving(lpparam,mResources,SnapContext);
            Lens.initLens(lpparam,mResources,SnapContext);
            File vfilters=new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "String_Node_Str");
            if (vfilters.exists()) {
              VisualFilters.initVisualFilters(lpparam);
            }
 else {
              Toast.makeText(context,"String_Node_Str",Toast.LENGTH_SHORT).show();
            }
            if (Preferences.mHideLive || Preferences.mHidePeople || Preferences.mDiscoverUI) {
              Stories.initStories(lpparam);
            }
            Groups.initGroups(lpparam);
            if (Preferences.shouldAddGhost) {
              HookedLayouts.initVisiblity(lpparam);
            }
            if (Preferences.mMultiFilterBoolean) {
              MultiFilter.initMultiFilter(lpparam,mResources,SnapContext);
            }
            if (Preferences.mDiscoverSnap) {
              DataSaving.blockDsnap(lpparam);
            }
            if (Preferences.mStoryPreload) {
              DataSaving.blockStoryPreLoad(lpparam);
            }
            if (Preferences.mDiscoverUI) {
              DataSaving.blockFromUi(lpparam);
            }
            if (Preferences.mSpeed) {
              Spoofing.initSpeed(lpparam,SnapContext);
            }
            if (Preferences.mLocation) {
              Spoofing.initLocation(lpparam,SnapContext);
            }
            if (Preferences.mWeather) {
              Spoofing.initWeather(lpparam,SnapContext);
            }
            if (Preferences.mPaintTools) {
              PaintTools.initPaint(lpparam,mResources);
            }
            if (Preferences.mTimerCounter) {
              Misc.initTimer(lpparam,mResources);
            }
            if (Preferences.mChatAutoSave) {
              Chat.initTextSave(lpparam,mResources);
            }
            if (Preferences.mChatMediaSave) {
              Chat.initImageSave(lpparam,mResources);
            }
            if (Preferences.mIntegration) {
              HookedLayouts.initIntegration(lpparam,mResources);
            }
            Misc.forceNavBar(lpparam,Preferences.mForceNavbar);
            getEditText(lpparam);
            findAndHookMethod(Obfuscator.save.SCREENSHOTDETECTOR_CLASS,lpparam.classLoader,Obfuscator.save.SCREENSHOTDETECTOR_RUN,LinkedHashMap.class,XC_MethodReplacement.DO_NOTHING);
            findAndHookMethod(Obfuscator.save.SNAPSTATEMESSAGE_CLASS,lpparam.classLoader,Obfuscator.save.SNAPSTATEMESSAGE_SETSCREENSHOTCOUNT,Long.class,new XC_MethodHook(){
              @Override protected void beforeHookedMethod(              MethodHookParam param){
                param.args[0]=0L;
                Logger.log("String_Node_Str",true);
              }
            }
);
            if (Preferences.mCustomSticker) {
              Stickers.initStickers(lpparam,modRes,SnapContext);
            }
          }
        }
;
        findAndHookMethod("String_Node_Str",lpparam.classLoader,"String_Node_Str",Bundle.class,initHook);
        findAndHookMethod("String_Node_Str",lpparam.classLoader,"String_Node_Str",initHook);
        findAndHookMethod(Obfuscator.icons.ICON_HANDLER_CLASS,lpparam.classLoader,Obfuscator.icons.SHOW_LENS,boolean.class,boolean.class,new XC_MethodHook(){
          @Override protected void afterHookedMethod(          MethodHookParam param){
            if ((boolean)param.args[0]) {
              HookedLayouts.upload.setVisibility(View.INVISIBLE);
            }
 else {
              HookedLayouts.upload.setVisibility(View.VISIBLE);
            }
          }
        }
);
        findAndHookMethod(Obfuscator.icons.ICON_HANDLER_CLASS,lpparam.classLoader,Obfuscator.icons.RECORDING_VIDEO,boolean.class,new XC_MethodHook(){
          @Override protected void afterHookedMethod(          MethodHookParam param){
            HookedLayouts.upload.setVisibility(View.VISIBLE);
          }
        }
);
        for (        String s : Obfuscator.ROOTDETECTOR_METHODS) {
          findAndHookMethod(Obfuscator.ROOTDETECTOR_CLASS,lpparam.classLoader,s,XC_MethodReplacement.returnConstant(false));
          Logger.log("String_Node_Str" + s,true);
        }
        findAndHookMethod("String_Node_Str",lpparam.classLoader,"String_Node_Str",int.class,new XC_MethodHook(){
          @Override protected void beforeHookedMethod(          MethodHookParam param){
            param.args[0]=12000000;
          }
        }
);
        findAndHookMethod("String_Node_Str",lpparam.classLoader,"String_Node_Str",long.class,new XC_MethodHook(){
          @Override protected void beforeHookedMethod(          MethodHookParam param){
            param.args[0]=5190453;
          }
        }
);
        final Class<?> receivedSnapClass=findClass(Obfuscator.save.RECEIVEDSNAP_CLASS,lpparam.classLoader);
        try {
          XposedHelpers.setStaticIntField(receivedSnapClass,"String_Node_Str",99999);
          final Class<?> snapMediaUtils=findClass("String_Node_Str",lpparam.classLoader);
          XposedHelpers.setStaticIntField(snapMediaUtils,"String_Node_Str",100);
          XposedHelpers.setStaticIntField(snapMediaUtils,"String_Node_Str",100);
          final Class<?> profileImageUtils=findClass("String_Node_Str",lpparam.classLoader);
          XposedHelpers.setStaticIntField(profileImageUtils,"String_Node_Str",100);
          final Class<?> snapImageBryo=findClass(Obfuscator.save.SNAPIMAGEBRYO_CLASS,lpparam.classLoader);
          XposedHelpers.setStaticIntField(snapImageBryo,"String_Node_Str",100);
          Logger.log("String_Node_Str",true);
        }
 catch (        Throwable t) {
          Logger.log("String_Node_Str",true);
          Logger.log(t.toString());
        }
        if (Common.CAPTION_UNLIMITED_VANILLA) {
          findAndHookMethod("String_Node_Str",lpparam.classLoader,"String_Node_Str",XC_MethodReplacement.DO_NOTHING);
        }
        String vanillaCaptionEditTextClassName="String_Node_Str";
        hookAllConstructors(findClass(vanillaCaptionEditTextClassName,lpparam.classLoader),new XC_MethodHook(){
          @Override protected void afterHookedMethod(          MethodHookParam param){
            if (Common.CAPTION_UNLIMITED_VANILLA) {
              XposedUtils.log("String_Node_Str");
              EditText vanillaCaptionEditText=(EditText)param.thisObject;
              vanillaCaptionEditText.setSingleLine(false);
              vanillaCaptionEditText.setFilters(new InputFilter[0]);
              vanillaCaptionEditText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);
              vanillaCaptionEditText.setOnEditorActionListener(null);
              setObjectField(vanillaCaptionEditText,"String_Node_Str",null);
            }
          }
        }
);
        String fatCaptionEditTextClassName="String_Node_Str";
        hookAllConstructors(findClass(fatCaptionEditTextClassName,lpparam.classLoader),new XC_MethodHook(){
          @Override protected void afterHookedMethod(          MethodHookParam param){
            if (Common.CAPTION_UNLIMITED_FAT) {
              XposedUtils.log("String_Node_Str");
              EditText fatCaptionEditText=(EditText)param.thisObject;
              fatCaptionEditText.setFilters(new InputFilter[0]);
              fatCaptionEditText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);
              fatCaptionEditText.setOnEditorActionListener(null);
              setObjectField(fatCaptionEditText,"String_Node_Str",null);
            }
          }
        }
);
        Sharing.initSharing(lpparam,mResources);
        if (Preferences.hideBf) {
          findAndHookMethod("String_Node_Str",lpparam.classLoader,Obfuscator.FRIENDS_BF,new XC_MethodReplacement(){
            @Override protected Object replaceHookedMethod(            MethodHookParam param){
              return false;
            }
          }
);
        }
        if (Preferences.mCustomFilterBoolean) {
          addFilter(lpparam);
        }
        if (Preferences.selectAll) {
          HookSendList.initSelectAll(lpparam);
        }
      }
    }
);
  }
 catch (  Exception e) {
    Logger.log("String_Node_Str",e);
  }
}