编辑代码

 id __cdecl -[SmAntiFraud wrap:](SmAntiFraud *self, SEL a2, id a3)
  {
     void *v3; // x0
     __int64 v4; // x0
     __int64 v5; // STD0_8
     void *v6; // x0
     void *v7; // STC8_8
     void *v8; // x0
     __int64 v9; // x0
     __int64 v10; // STC0_8
     void *v11; // x0
     id v12; // x0
     void *v13; // x0
     void *v14; // STB8_8
     void *v15; // x0
     id v16; // x0
     __int64 v17; // x0
     __int64 v18; // x8
     NSMutableDictionary *v19; // x0
     void *v20; // x0
     void *v21; // STA8_8
     char v22; // STA4_1
     void *v23; // x0
     __int64 v24; // ST90_8
     void *v25; // x0
     __int64 v26; // ST78_8
     id v27; // x0
     __int64 v28; // x0
     __int64 v29; // ST58_8
     void *v30; // x0
     void *v31; // x0
     __int64 v32; // x0
     const __CFString *v33; // x9
     __int64 v34; // ST48_8
     void *v35; // x0
     id v36; // x0
     struct objc_object *v37; // x0
     id v38; // x0
     __int64 v39; // x0
     __int64 v40; // x8
     __int64 v41; // ST30_8
     __int64 v43; // [xsp+D8h] [xbp-68h]
     struct objc_object *v44; // [xsp+E0h] [xbp-60h]
     __int64 v45; // [xsp+E8h] [xbp-58h]
     void *v46; // [xsp+F0h] [xbp-50h]
     struct objc_object *v47; // [xsp+F8h] [xbp-48h]
     struct objc_object *v48; // [xsp+100h] [xbp-40h]
     __int64 v49; // [xsp+108h] [xbp-38h]
     char v50; // [xsp+117h] [xbp-29h]
     struct objc_object *v51; // [xsp+118h] [xbp-28h]
     SEL v52; // [xsp+120h] [xbp-20h]
     SmAntiFraud *v53; // [xsp+128h] [xbp-18h]
  
     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);
 }