public void splitVariables(RootStatement root, StructMethod mt) {
    CancellationManager cancellationManager = DecompilerContext.getCancellationManager();

    FlattenStatementsHelper flatthelper = new FlattenStatementsHelper();
    DirectGraph dgraph = flatthelper.buildDirectGraph(root);

    // try {
    // DotExporter.toDotFile(dgraph, new File("c:\\Temp\\gr12_my.dot"));
    // } catch(Exception ex) {ex.printStackTrace();}

    HashSet<Integer> setInit = new HashSet<>();
    for (int i = 0; i < 64; i++) {
      setInit.add(i);
    }
    factory = new FastSparseSetFactory<>(setInit);

    SFormsFastMapDirect firstmap = createFirstMap(mt);
    extraVarVersions.put(dgraph.first.id, firstmap);

    setCatchMaps(root, dgraph, flatthelper);

    HashSet<String> updated = new HashSet<>();
    do {
      // System.out.println("~~~~~~~~~~~~~ \r\n"+root.toJava());
      cancellationManager.checkCanceled();
      ssaStatements(dgraph, updated);
      // System.out.println("~~~~~~~~~~~~~ \r\n"+root.toJava());
    }
    while (!updated.isEmpty());
  }
public void splitVariables(RootStatement root, StructMethod mt)