Code with Finding: |
/*
* Decompiled with CFR 0_128.
*
* Could not load the following classes:
* android.content.Context
* android.content.SharedPreferences
* android.net.Uri
* com.whatsapp.App
* com.whatsapp.mf
* com.whatsapp.util.Log
* com.whatsapp.util.ce
* com.whatsapp.wt
* org.apache.http.HttpEntity
* org.apache.http.HttpResponse
* org.apache.http.client.methods.HttpGet
* org.apache.http.client.methods.HttpUriRequest
* org.apache.http.impl.client.DefaultHttpClient
* org.apache.http.params.BasicHttpParams
* org.apache.http.params.HttpConnectionParams
* org.apache.http.params.HttpParams
* org.apache.http.params.HttpProtocolParams
*/
package com.whatsapp;
import android.content.Context;
import android.content.SharedPreferences;
import android.net.Uri;
import com.whatsapp.App;
import com.whatsapp.mf;
import com.whatsapp.util.Log;
import com.whatsapp.util.ce;
import com.whatsapp.wt;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.zip.CRC32;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.params.HttpProtocolParams;
public class jr {
private static String a;
private static String b;
private static String c;
private static String d;
private static volatile boolean e;
private static final String[] z;
/*
* Enabled aggressive block sorting
*/
static {
String[] arrstring = new String[28];
String string = "kg\b\u0013?}\u0019I(Sx\u0007\u000b#]k";
int n = -1;
String[] arrstring2 = arrstring;
int n2 = 0;
block35 : do {
char[] arrc = string.toCharArray();
int n3 = arrc.length;
int n4 = 0;
do {
int n5;
if (n3 <= n4) {
String string2 = new String(arrc).intern();
switch (n) {
default: {
arrstring2[n2] = string2;
string = "kg\b\u0013?}\u0019I-Ld";
n2 = 1;
arrstring2 = arrstring;
n = 0;
continue block35;
}
case 0: {
arrstring2[n2] = string2;
string = "kg\b\u0013?}\u0019I9Lh\u001b\u0006(Y";
n2 = 2;
arrstring2 = arrstring;
n = 1;
continue block35;
}
case 1: {
arrstring2[n2] = string2;
string = "_`\u0004I;Tn\u001d\u0014-L6\u0017>Yi\f\u0015)Rl\f\u0014";
n2 = 3;
arrstring2 = arrstring;
n = 2;
continue block35;
}
case 2: {
arrstring2[n2] = string2;
n2 = 4;
arrstring2 = arrstring;
string = "Pn\u001a\u0013\u0013I\u000e\u0015-Xj6\u0004$Yl\u0002";
n = 3;
continue block35;
}
case 3: {
arrstring2[n2] = string2;
n2 = 5;
string = "I\u000e\u0015-XjF\u0014)R{\u0000\t)P \u000f\u0006%P";
n = 4;
arrstring2 = arrstring;
continue block35;
}
case 4: {
arrstring2[n2] = string2;
n2 = 6;
string = "kg\b\u0013?}\u0019I9Lh\u001b\u0006(Y";
n = 5;
arrstring2 = arrstring;
continue block35;
}
case 5: {
arrstring2[n2] = string2;
n2 = 7;
string = "kg\b\u0013?}\u0019I9Lh\u001b\u0006(Y";
n = 6;
arrstring2 = arrstring;
continue block35;
}
case 6: {
arrstring2[n2] = string2;
n2 = 8;
string = "kg\b\u0013?}\u0019I(Sx\u0007\u000b#]k";
n = 7;
arrstring2 = arrstring;
continue block35;
}
case 7: {
arrstring2[n2] = string2;
n2 = 9;
string = "\u0016%C\u0012<[}\b\u0003)\u0013k\u0006\u0010\"P`\b\u0003cX`\u001e\t Sn\rG/Sz\u0005\u0003\"\u001b{I\u0003)Pj\u001d\u0002lX`\u001e\t Sn\rF";
n = 8;
arrstring2 = arrstring;
continue block35;
}
case 8: {
arrstring2[n2] = string2;
n2 = 10;
string = "\u0016%C\u0012<[}\b\u0003)\u0013k\u0006\u0010\"P`\b\u0003l_`\u001c\u000b(R(\u001dG(Yc\f\u0013)\u001ck\u0006\u0010\"P`\b\u0003m";
n = 9;
arrstring2 = arrstring;
continue block35;
}
case 9: {
arrstring2[n2] = string2;
n2 = 11;
string = "\u0016%C\u0012<[}\b\u0003)\u0013f\u0007\u00148]c\u0005G/Sz\u0005\u0003\"\u001b{I\u0003)Pj\u001d\u0002lX`\u001e\t Sn\rF";
n = 10;
arrstring2 = arrstring;
continue block35;
}
case 10: {
arrstring2[n2] = string2;
n2 = 12;
string = "\u0016%C\u0012<[}\b\u0003)\u0013k\u0006\u0010\"P`\b\u0003l_`\u001c\u000b(R(\u001dG>Ya\b\n)\u001ck\u0006\u0010\"P`\b\u0003m";
n = 11;
arrstring2 = arrstring;
continue block35;
}
case 11: {
arrstring2[n2] = string2;
n2 = 13;
string = "\u0016%C\u0012<[}\b\u0003)\u0013f\u0007\u00148]c\u0005G/Sz\u0005\u0003\"\u001b{I\u0003)Pj\u001d\u0002lUa\u001a\u0013-PcH";
n = 12;
arrstring2 = arrstring;
continue block35;
}
case 12: {
arrstring2[n2] = string2;
n2 = 14;
string = "\u0016%C\u0012<[}\b\u0003)\u0013k\u0006\u0010\"P`\b\u0003cX`\u001e\t Sn\rG/Sz\u0005\u0003\"\u001b{I\u0015)Rn\u0004\u0002lX`\u001e\t Sn\rF";
n = 13;
arrstring2 = arrstring;
continue block35;
}
case 13: {
arrstring2[n2] = string2;
string = "kg\b\u0013?}\u0019I-Ld";
n = 14;
n2 = 15;
arrstring2 = arrstring;
continue block35;
}
case 14: {
arrstring2[n2] = string2;
n2 = 16;
arrstring2 = arrstring;
string = "I\u000e\u0015-XjF\u0003#Ka\u0005\b-X\"\u000f\u000e Y/";
n = 15;
continue block35;
}
case 15: {
arrstring2[n2] = string2;
n2 = 17;
string = "kg\b\u0013?}\u0019I-Ld";
n = 16;
arrstring2 = arrstring;
continue block35;
}
case 16: {
arrstring2[n2] = string2;
n2 = 18;
string = "kg\b\u0013?}\u0019I9Lh\u001b\u0006(Y";
n = 17;
arrstring2 = arrstring;
continue block35;
}
case 17: {
arrstring2[n2] = string2;
n2 = 19;
string = "T{\u001d\u0017?\u0006 F\u0010;K!\u001e\u000f-H|\b\u0017<\u0012l\u0006\nc]a\r\u0015#UkF\u00049N}\f\t8\u0013X\u0001\u00068ON\u0019\u0017b]\u0002";
n = 18;
arrstring2 = arrstring;
continue block35;
}
case 18: {
arrstring2[n2] = string2;
n2 = 20;
string = "]b\u0013\tv\u0013 \b\u0017<O \b\t(N`\u0000\u0003sL2\n\b!\u0012x\u0001\u00068On\u0019\u0017";
n = 19;
arrstring2 = arrstring;
continue block35;
}
case 19: {
arrstring2[n2] = string2;
n2 = 21;
string = "Qn\u001b\f)H5FH(Y{\b\u000e O0\u0000\u0003q_`\u0004I;Tn\u001d\u0014-L";
n = 20;
arrstring2 = arrstring;
continue block35;
}
case 20: {
arrstring2[n2] = string2;
n2 = 22;
string = "I\u000e\u0015-XjF\u0014#I}\n\u0002l";
n = 21;
arrstring2 = arrstring;
continue block35;
}
case 21: {
arrstring2[n2] = string2;
n2 = 23;
string = "kg\b\u0013?}\u0019I:Y}\u001a\u000e#R";
n = 22;
arrstring2 = arrstring;
continue block35;
}
case 22: {
arrstring2[n2] = string2;
n2 = 24;
string = "kg\b\u0013?}\u0019I/W|\u001c\n";
n = 23;
arrstring2 = arrstring;
continue block35;
}
case 23: {
arrstring2[n2] = string2;
n2 = 25;
string = "kg\b\u0013?}\u0019I-Ld";
n = 24;
arrstring2 = arrstring;
continue block35;
}
case 24: {
arrstring2[n2] = string2;
n2 = 26;
string = "kg\b\u0013?}\u0019I$Hb\u0005";
n = 25;
arrstring2 = arrstring;
continue block35;
}
case 25: {
arrstring2[n2] = string2;
n2 = 27;
string = "T{\u001d\u0017?\u0006 F\u0010;K!\u001e\u000f-H|\b\u0017<\u0012l\u0006\nc]a\r\u0015#UkF";
n = 26;
arrstring2 = arrstring;
continue block35;
}
case 26:
}
arrstring2[n2] = string2;
z = arrstring;
e = false;
return;
}
char c = arrc[n4];
switch (n4 % 5) {
default: {
n5 = 76;
break;
}
case 0: {
n5 = 60;
break;
}
case 1: {
n5 = 15;
break;
}
case 2: {
n5 = 105;
break;
}
case 3: {
n5 = 103;
}
}
arrc[n4] = (char)(n5 ^ c);
++n4;
} while (true);
break;
} while (true);
}
/*
* Unable to fully structure code
* Enabled aggressive exception aggregation
*/
private static long a(File var0) {
var1_1 = App.U;
var11_2 = new byte[4096];
var12_3 = new CRC32();
var3_4 = new FileInputStream(var0);
while ((var13_5 = var3_4.read(var11_2, 0, var11_2.length)) >= 0) {
var12_3.update(var11_2, 0, var13_5);
if (!var1_1) continue;
}
var7_7 = var14_6 = var12_3.getValue();
if (var3_4 == null) ** GOTO lbl15
try {
var3_4.close();
lbl15: // 3 sources:
do {
return var7_7;
break;
} while (true);
}
catch (IOException var16_9) {
return var7_7;
}
catch (IOException var6_10) {
var3_4 = null;
lbl24: // 3 sources:
Log.c((Throwable)var6_11);
var7_7 = 0L;
if (var3_4 == null) ** continue;
try {
var3_4.close();
return var7_7;
}
catch (IOException var9_14) {
return var7_7;
}
}
catch (Throwable var2_15) {
var3_4 = null;
lbl37: // 2 sources:
do {
if (var3_4 != null) {
var3_4.close();
}
lbl41: // 4 sources:
do {
throw var2_16;
break;
} while (true);
catch (NumberFormatException var5_18) {
try {
throw var5_18;
}
catch (IOException var4_19) {
** continue;
}
}
break;
} while (true);
}
{
catch (Throwable var2_17) {
** continue;
}
}
catch (IOException var6_12) {
** GOTO lbl24
}
}
public static Uri a() {
boolean bl = e;
if (!bl) {
return null;
}
return Uri.parse((String)b);
}
/*
* Loose catch block
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
* Lifted jumps to return sites
*/
private static String a(String string) {
String string2;
int n;
InputStream inputStream;
boolean bl = App.U;
BasicHttpParams basicHttpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout((HttpParams)basicHttpParams, (int)15000);
HttpConnectionParams.setSoTimeout((HttpParams)basicHttpParams, (int)30000);
HttpProtocolParams.setUserAgent((HttpParams)basicHttpParams, (String)mf.a());
InputStream inputStream2 = inputStream = new DefaultHttpClient((HttpParams)basicHttpParams).execute((HttpUriRequest)new HttpGet(string)).getEntity().getContent();
StringBuilder stringBuilder = new StringBuilder();
while ((n = inputStream2.read()) >= 0) {
stringBuilder.append((char)n);
if (!bl) continue;
}
inputStream2.close();
String string3 = string2 = stringBuilder.toString();
if (inputStream2 == null) return string3;
try {
inputStream2.close();
return string3;
}
catch (IOException iOException) {
return string3;
}
catch (IOException iOException) {
block19 : {
inputStream2 = null;
break block19;
catch (Throwable throwable) {
Throwable throwable2;
block20 : {
inputStream2 = null;
throwable2 = throwable;
break block20;
catch (Throwable throwable3) {}
}
if (inputStream2 == null) throw throwable2;
try {
inputStream2.close();
}
catch (NumberFormatException numberFormatException) {
try {
throw numberFormatException;
}
catch (IOException iOException2) {
throw throwable2;
}
}
throw throwable2;
}
catch (IOException iOException3) {}
}
string3 = "";
if (inputStream2 == null) return string3;
try {
inputStream2.close();
return string3;
}
catch (IOException iOException4) {
return string3;
}
}
}
/*
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
*/
public static void a(Context context, String string) {
block7 : {
block6 : {
boolean bl = e;
if (bl) break block6;
return;
}
boolean bl = jr.d();
if (!bl) return;
long l = 21600000L + context.getSharedPreferences(z[3], 0).getLong(z[4], 0L);
long l2 = System.currentTimeMillis();
if (l <= l2) break block7;
return;
}
ce.a((Runnable)new wt(string, context));
}
/*
* Unable to fully structure code
* Enabled aggressive exception aggregation
*/
private static void a(String var0, File var1_1) {
block42 : {
var2_2 = null;
var3_3 = App.U;
var14_4 = new byte[4096];
var15_5 = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout((HttpParams)var15_5, (int)15000);
HttpConnectionParams.setSoTimeout((HttpParams)var15_5, (int)30000);
HttpProtocolParams.setUserAgent((HttpParams)var15_5, (String)mf.a());
var5_7 = var16_6 = new DefaultHttpClient((HttpParams)var15_5).execute((HttpUriRequest)new HttpGet(var0)).getEntity().getContent();
var17_8 = new FileOutputStream(var1_1);
while ((var18_9 = var5_7.read(var14_4, 0, var14_4.length)) >= 0) {
var17_8.write(var14_4, 0, var18_9);
if (!var3_3) continue;
}
var17_8.flush();
if (!false) break block42;
try {
null.close();
}
catch (NumberFormatException var22_10) {
try {
throw var22_10;
}
catch (IOException var21_11) {
** continue;
}
}
}
lbl21: // 2 sources:
do {
if (var5_7 == null) ** GOTO lbl25
var5_7.close();
lbl25: // 3 sources:
do {
return;
break;
} while (true);
break;
} while (true);
catch (NumberFormatException var20_12) {
try {
throw var20_12;
}
catch (IOException var19_13) {
return;
}
}
catch (IOException var10_14) {
block43 : {
var5_7 = null;
lbl40: // 4 sources:
Log.e((String)(jr.z[16] + var10_15));
if (var2_2 == null) break block43;
var2_2.close();
}
lbl45: // 2 sources:
do {
if (var5_7 == null) ** continue;
try {
var5_7.close();
return;
}
catch (IOException var11_19) {
return;
}
break;
} while (true);
}
catch (Throwable var4_20) {
var5_7 = null;
lbl57: // 3 sources:
do {
if (var2_2 != null) {
var2_2.close();
}
lbl61: // 4 sources:
do {
if (var5_7 != null) {
var5_7.close();
}
lbl65: // 4 sources:
do {
throw var4_21;
break;
} while (true);
break;
} while (true);
catch (NumberFormatException var9_24) {
try {
throw var9_24;
}
catch (IOException var8_25) {
** continue;
}
}
catch (NumberFormatException var7_26) {
try {
throw var7_26;
}
catch (IOException var6_27) {
** continue;
}
}
break;
} while (true);
}
{
catch (IOException var13_28) {
** continue;
}
catch (Throwable var4_22) {
** GOTO lbl57
}
}
catch (Throwable var4_23) {
var2_2 = var17_8;
** continue;
}
catch (IOException var10_16) {
var2_2 = null;
** GOTO lbl40
}
catch (IOException var10_17) {
var2_2 = var17_8;
** GOTO lbl40
}
}
static String b() {
return jr.e();
}
/*
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
* Lifted jumps to return sites
*/
public static boolean b(String string) {
if (string == null) {
return false;
}
int n = string.length();
if (n < 1) return false;
boolean bl = e;
if (bl) {
return true;
}
String string2 = z[27] + string.substring(-1 + string.length()) + "/";
Log.i((String)(z[22] + string2));
c = string2 + z[25];
a = string2 + z[24];
d = string2 + z[23];
b = string2 + z[26];
e = true;
return true;
}
/*
* Loose catch block
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
* Lifted jumps to return sites
*/
private static void c() {
File file;
block27 : {
File file2;
long l;
block24 : {
block26 : {
block22 : {
File file3 = App.aN;
file = new File(file3, z[8]);
file2 = new File(file3, z[15]);
new File(file3, z[7]);
l = jr.i();
if (file2.exists()) {
if (l == jr.a(file2)) {
block21 : {
boolean bl = file.exists();
if (!bl) break block21;
if (file.delete()) break block21;
Log.w((String)z[11]);
{
catch (NumberFormatException numberFormatException) {
throw numberFormatException;
}
}
}
jr.k();
return;
catch (NumberFormatException numberFormatException) {
throw numberFormatException;
}
}
if (file2.delete()) break block22;
Log.w((String)z[13]);
}
}
if (!file.exists()) break block24;
if (l == jr.a(file)) {
block23 : {
if (file.renameTo(file2)) break block23;
Log.w((String)z[12]);
}
jr.k();
return;
}
break block26;
catch (NumberFormatException numberFormatException) {
throw numberFormatException;
}
catch (NumberFormatException numberFormatException) {
throw numberFormatException;
}
}
if (file.delete()) break block24;
Log.w((String)z[10]);
}
if (!jr.d()) return;
jr.a(c, file);
boolean bl = file.exists();
if (!bl) return;
if (l == jr.a(file)) {
block25 : {
if (file.renameTo(file2)) break block25;
Log.w((String)z[14]);
}
jr.k();
return;
}
break block27;
catch (NumberFormatException numberFormatException) {
throw numberFormatException;
}
}
if (file.delete()) return;
Log.w((String)z[9]);
return;
}
/*
* Enabled force condition propagation
* Lifted jumps to return sites
*/
public static boolean d() {
int n = App.V();
if (n == 1) return true;
int n2 = App.c((int)n);
if ((n2 & 4) == 0) return false;
return true;
}
private static String e() {
return jr.a(d).trim();
}
static void f() {
jr.c();
}
/*
* Loose catch block
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
* Lifted jumps to return sites
*/
public static void g() {
boolean bl;
block15 : {
block14 : {
File file2;
block13 : {
bl = true;
file2 = App.aN;
File file3 = new File(file2, z[0]);
boolean bl2 = file3.exists();
if (!bl2) break block13;
boolean bl3 = file3.delete();
boolean bl4 = bl3 == bl ? bl : false;
{
catch (NumberFormatException numberFormatException) {
throw numberFormatException;
}
}
Log.b((boolean)bl4);
}
File file4 = new File(file2, z[2]);
boolean bl5 = file4.exists();
if (bl5) {
return;
}
catch (NumberFormatException numberFormatException) {
throw numberFormatException;
}
File file = new File(file2, z[bl]);
boolean bl6 = file.exists();
if (!bl6) return;
boolean bl7 = file.delete();
if (bl7 != bl) break block14;
break block15;
{
catch (NumberFormatException numberFormatException) {
throw numberFormatException;
}
}
catch (NumberFormatException numberFormatException) {
throw numberFormatException;
}
}
bl = false;
}
Log.b((boolean)bl);
}
/*
* Unable to fully structure code
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
* Lifted jumps to return sites
*/
public static Uri h() {
block7 : {
n = App.a2;
** if (n != 1) goto lbl-1000
lbl-1000: // 1 sources:
{
if (jr.c == null) return Uri.parse((String)jr.z[19]);
return Uri.parse((String)jr.c);
}
lbl-1000: // 1 sources:
{
break block7;
}
{
catch (NumberFormatException numberFormatException) {
throw numberFormatException;
}
}
catch (NumberFormatException numberFormatException) {
throw numberFormatException;
}
}
if (App.aH() == false) return Uri.parse((String)jr.z[21]);
return Uri.parse((String)jr.z[20]);
}
private static long i() {
String string = jr.a(a).trim();
try {
long l = Long.parseLong(string);
return l;
}
catch (NumberFormatException numberFormatException) {
Log.c((String)string, (Throwable)numberFormatException);
return -1L;
}
}
/*
* Loose catch block
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
* Lifted jumps to return sites
*/
public static Uri j() {
File file = App.aN;
File file2 = new File(file, z[17]);
File file3 = new File(file, z[18]);
boolean bl = file3.delete();
if (!bl) return null;
{
catch (NumberFormatException numberFormatException) {
throw numberFormatException;
}
}
if (!file2.exists()) return null;
return Uri.fromFile((File)file2);
}
public static void k() {
File file = new File(App.aN, z[6]);
try {
file.createNewFile();
return;
}
catch (IOException iOException) {
Log.e((String)z[5]);
return;
}
}
}
|