id __cdecl -[SmAntiFraud wrap:](SmAntiFraud *self, SEL a2, id a3)
{
void *v3;
__int64 v4;
__int64 v5;
void *v6;
void *v7;
void *v8;
__int64 v9;
__int64 v10;
void *v11;
id v12;
void *v13;
void *v14;
void *v15;
id v16;
__int64 v17;
__int64 v18;
NSMutableDictionary *v19;
void *v20;
void *v21;
char v22;
void *v23;
__int64 v24;
void *v25;
__int64 v26;
id v27;
__int64 v28;
__int64 v29;
void *v30;
void *v31;
__int64 v32;
const __CFString *v33;
__int64 v34;
void *v35;
id v36;
struct objc_object *v37;
id v38;
__int64 v39;
__int64 v40;
__int64 v41;
__int64 v43;
struct objc_object *v44;
__int64 v45;
void *v46;
struct objc_object *v47;
struct objc_object *v48;
__int64 v49;
char v50;
struct objc_object *v51;
SEL v52;
SmAntiFraud *v53;
v53 = self;
v52 = a2;
v51 = 0LL;
objc_storeStrong(&v51, a3);
if ( (unsigned __int64)+[SmStrUtils empty:](&OBJC_CLASS___SmStrUtils, "empty:", v51) & 1 )
objc_storeStrong(&v51, &stru_1027FA700);
v50 = 0;
v49 = 0LL;
if ( (unsigned __int64)objc_msgSend(v53->_option, (const char *)&unk_1A7804C37) & 1 )
{
v3 = objc_msgSend(v53->_option, (const char *)&unk_192B2C190);
v4 = objc_retainAutoreleasedReturnValue(v3);
v5 = v4;
v6 = objc_msgSend(CFSTR("smsdk"), (const char *)&unk_195EF0B91, v4);
v7 = (void *)objc_retainAutoreleasedReturnValue(v6);
v8 = -[SmOption privKey](v53->_option, "privKey");
v9 = objc_retainAutoreleasedReturnValue(v8);
v10 = v9;
v11 = objc_msgSend(v7, (const char *)&unk_195EF0B91, v9);
v48 = (struct objc_object *)objc_retainAutoreleasedReturnValue(v11);
objc_release(v10);
objc_release(v7);
objc_release(v5);
v12 = ((id (__cdecl *)(SmUtils_meta *, SEL, id))objc_msgSend)(
(SmUtils_meta *)&OBJC_CLASS___SmUtils,
"md5EncodeStr:",
v48);
v13 = (void *)objc_retainAutoreleasedReturnValue(v12);
v14 = v13;
v15 = objc_msgSend(v13, (const char *)&unk_195F390C0);
v47 = (struct objc_object *)objc_retainAutoreleasedReturnValue(v15);
objc_release(v14);
v16 = ((id (__cdecl *)(SmUtils_meta *, SEL, id, id))objc_msgSend)(
(SmUtils_meta *)&OBJC_CLASS___SmUtils,
"aes256EncryptStr:key:",
v51,
v47);
v17 = objc_retainAutoreleasedReturnValue(v16);
v18 = v49;
v49 = v17;
objc_release(v18);
v50 = 1;
objc_storeStrong(&v47, 0LL);
objc_storeStrong(&v48, 0LL);
}
else
{
objc_storeStrong(&v49, v51);
}
if ( (unsigned __int64)+[SmStrUtils empty:](&OBJC_CLASS___SmStrUtils, "empty:", v49) & 1 )
objc_storeStrong(&v49, &stru_1027FA700);
v19 = sub_18DFAAFC4(&OBJC_CLASS___NSMutableDictionary, "alloc");
v46 = objc_msgSend(v19, (const char *)&unk_195EEC7EA, 5LL);
objc_msgSend(v46, "setObject:forKey:", v49, CFSTR("fingerprint"));
if ( v50 & 1 )
{
v20 = -[SmOption privKey](v53->_option, "privKey");
v21 = (void *)objc_retainAutoreleasedReturnValue(v20);
v22 = (unsigned __int64)objc_msgSend(v21, (const char *)&unk_195EDE27E, &stru_1027FA700);
objc_release(v21);
if ( v22 & 1 )
{
v23 = objc_msgSend(&OBJC_CLASS___NSNumber, (const char *)&unk_195EE35B1, 4LL);
v24 = objc_retainAutoreleasedReturnValue(v23);
objc_msgSend(v46, "setObject:forKey:", v24, CFSTR("fpEncode"));
objc_release(v24);
}
else
{
v25 = objc_msgSend(&OBJC_CLASS___NSNumber, (const char *)&unk_195EE35B1, 6LL);
v26 = objc_retainAutoreleasedReturnValue(v25);
objc_msgSend(v46, "setObject:forKey:", v26, CFSTR("fpEncode"));
objc_release(v26);
}
}
v27 = ((id (__cdecl *)(SmUtils_meta *, SEL))objc_msgSend)((SmUtils_meta *)&OBJC_CLASS___SmUtils, "currentTimeMillis");
v28 = objc_retainAutoreleasedReturnValue(v27);
v29 = v28;
v30 = objc_msgSend(&OBJC_CLASS___NSString, (const char *)&unk_195EDDC2A, CFSTR("%@"), v28);
v45 = objc_retainAutoreleasedReturnValue(v30);
objc_release(v29);
objc_msgSend(v46, "setObject:forKey:", v45, CFSTR("sessionId"));
v31 = objc_msgSend(v53->_option, (const char *)&unk_192B2C190);
v32 = objc_retainAutoreleasedReturnValue(v31);
v33 = CFSTR("0");
if ( v50 & 1 )
v33 = CFSTR("1");
v34 = v32;
v35 = objc_msgSend(
&OBJC_CLASS___NSMutableDictionary,
(const char *)&unk_195EE678B,
v32,
CFSTR("organization"),
v46,
CFSTR("data"),
v33,
CFSTR("encrypt"),
0LL);
v44 = (struct objc_object *)objc_retainAutoreleasedReturnValue(v35);
objc_release(v34);
v36 = ((id (__cdecl *)(SmUtils_meta *, SEL, id))objc_msgSend)(
(SmUtils_meta *)&OBJC_CLASS___SmUtils,
"jsonEncode:",
v44);
v37 = (struct objc_object *)objc_retainAutoreleasedReturnValue(v36);
v43 = (__int64)v37;
v38 = ((id (__cdecl *)(SmStrUtils_meta *, SEL, id))objc_msgSend)(
(SmStrUtils_meta *)&OBJC_CLASS___SmStrUtils,
"safe:",
v37);
v39 = objc_retainAutoreleasedReturnValue(v38);
v40 = v43;
v43 = v39;
objc_release(v40);
v41 = objc_retain(v43);
objc_storeStrong(&v43, 0LL);
objc_storeStrong(&v44, 0LL);
objc_storeStrong(&v45, 0LL);
objc_storeStrong(&v46, 0LL);
objc_storeStrong(&v49, 0LL);
objc_storeStrong(&v51, 0LL);
return (id)objc_autoreleaseReturnValue(v41);
}