Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int __fastcall sub_398898(int a1, int a2, int a3)
- {
- int v3; // r4
- int v4; // r5
- int v5; // r6
- int v6; // r0
- int v7; // r7
- int v8; // r3
- unsigned int v9; // r2
- char *v10; // r12
- int v11; // r3
- char *v12; // r10
- int v13; // r0
- signed __int64 v14; // r0
- int v15; // r0
- __int16 v16; // r0
- int v17; // r6
- int v18; // r1
- int v19; // r6
- int v20; // r0
- int v21; // r0
- int v22; // r0
- int v23; // r0
- int v24; // r0
- int v25; // r0
- int v26; // r0
- int v27; // r6
- int v28; // r1
- int v29; // r10
- int v30; // r9
- int v31; // r0
- int v32; // r0
- bool v33; // zf
- int v34; // r0
- int v35; // r4
- int v36; // r0
- int v37; // r5
- int v38; // r4
- int v39; // r0
- int v41; // [sp+0h] [bp-78h]
- int v42; // [sp+8h] [bp-70h]
- int v43; // [sp+Ch] [bp-6Ch]
- __int64 v44; // [sp+10h] [bp-68h]
- __int64 v45; // [sp+18h] [bp-60h]
- unsigned __int16 v46; // [sp+20h] [bp-58h]
- unsigned __int8 v47; // [sp+22h] [bp-56h]
- __int16 v48; // [sp+24h] [bp-54h]
- __int16 v49; // [sp+26h] [bp-52h]
- __int16 v50; // [sp+28h] [bp-50h]
- char v51; // [sp+2Ah] [bp-4Eh]
- char v52; // [sp+2Bh] [bp-4Dh]
- __int16 v53; // [sp+2Ch] [bp-4Ch]
- __int16 v54; // [sp+2Eh] [bp-4Ah]
- __int16 v55; // [sp+30h] [bp-48h]
- __int16 v56; // [sp+32h] [bp-46h]
- __int16 v57; // [sp+34h] [bp-44h]
- __int16 v58; // [sp+36h] [bp-42h]
- int v59; // [sp+38h] [bp-40h]
- char v60; // [sp+3Ch] [bp-3Ch]
- char v61; // [sp+40h] [bp-38h]
- v3 = a3;
- v4 = a1;
- v5 = *(_DWORD *)(a2 + 36);
- v6 = *(_DWORD *)(v5 + 4);
- v42 = -1;
- v43 = -1;
- v41 = v6 + 3816;
- v44 = 0x3FFFFFFFFLL;
- v45 = -1LL;
- v7 = a2;
- v50 = -1;
- v46 = 808;
- v48 = 1;
- v51 = -1;
- v49 = 255;
- v8 = 0;
- v52 = 1;
- v9 = 0;
- v47 = 0;
- v59 = 0xFFFF;
- v60 = 0;
- do
- {
- v10 = (char *)&v42 + 2 * v8;
- v11 = v8 + 1;
- v9 += 2;
- v12 = (char *)&v42 + 2 * v11;
- *((_WORD *)v10 + 18) = -1;
- v8 = v11 + 1;
- *((_WORD *)v12 + 18) = -1;
- }
- while ( v9 < 6 );
- v46 = *(_WORD *)v3;
- v47 = *(_BYTE *)(v3 + 2);
- v48 = *(unsigned __int8 *)(v3 + 3);
- v45 = *(unsigned int *)(v6 + 3824);
- sub_31E0F0(v46, v47);
- v13 = *(unsigned __int8 *)(v3 + 4);
- if ( v13 == 1 )
- {
- v14 = 12884901887LL;
- LABEL_8:
- v44 = v14;
- goto LABEL_9;
- }
- if ( v13 == 2 )
- {
- v14 = 0x1FFFFFFFFLL;
- goto LABEL_8;
- }
- LABEL_9:
- v15 = *(unsigned __int8 *)(v3 + 6);
- if ( *(_BYTE *)(v3 + 6) )
- {
- if ( v15 == 1 )
- {
- v51 = 1;
- }
- else if ( v15 == 2 )
- {
- v51 = 2;
- }
- }
- else
- {
- v51 = 0;
- }
- if ( *(char *)(v3 + 7) >= 0 )
- {
- v16 = *(unsigned __int8 *)(v3 + 7);
- LABEL_21:
- v50 = v16;
- goto LABEL_22;
- }
- if ( !*(_WORD *)(v3 + 10) )
- {
- v17 = *(_DWORD *)(v5 + 12);
- v18 = sub_4B19FC(v17, 1);
- if ( v18 != 6 )
- {
- v19 = sub_32784C(v17, v18);
- if ( sub_4AEBBC() == 28 )
- {
- v16 = sub_4AFC90(v19);
- goto LABEL_21;
- }
- }
- }
- LABEL_22:
- v20 = *(unsigned __int8 *)(v3 + 5);
- if ( *(_BYTE *)(v3 + 5) )
- {
- if ( v20 == 1 )
- {
- v49 = 0;
- }
- else if ( v20 == 2 )
- {
- v49 = 1;
- }
- }
- v21 = *(char *)(v3 + 14);
- if ( (v21 + 1 < 0) ^ __OFADD__(v21, 1) )
- {
- v60 = ~(_BYTE)v21;
- }
- else
- {
- if ( v21 >= 0 )
- v53 = *(char *)(v3 + 14);
- v22 = *(char *)(v3 + 15);
- if ( v22 >= 0 )
- v54 = *(char *)(v3 + 15);
- v23 = *(char *)(v3 + 16);
- if ( v23 >= 0 )
- v55 = *(char *)(v3 + 16);
- v24 = *(char *)(v3 + 17);
- if ( v24 >= 0 )
- v56 = *(char *)(v3 + 17);
- v25 = *(char *)(v3 + 18);
- if ( v25 >= 0 )
- v57 = *(char *)(v3 + 18);
- v26 = *(char *)(v3 + 19);
- if ( v26 >= 0 )
- v58 = *(char *)(v3 + 19);
- }
- if ( sub_105500(16, *(_DWORD *)(v4 + 104)) )
- {
- v28 = *(_DWORD *)(v4 + 104);
- v27 = sub_3207A8();
- }
- else
- {
- v27 = 0;
- }
- if ( (unsigned int)*(unsigned __int16 *)(v3 + 8) - 1 <= 0x3BE )
- sub_32629C(v27);
- v29 = sub_4B0180(v27);
- v30 = *(unsigned __int8 *)(v41 + 13);
- v31 = (*(int (**)(void))(**(_DWORD **)(v4 + 104) + 52))();
- sub_35DBB4(&v61, 32, v31);
- sub_4C6F6C(v41, &v61);
- sub_3218F4(v27, &v61);
- sub_323830(v27, v30);
- sub_32276C(v27, 33);
- if ( *(_WORD *)(v3 + 10) )
- sub_326504(v27, *(_DWORD *)(v4 + 104));
- if ( *(_WORD *)(v3 + 12) )
- {
- sub_3263AC(v27);
- sub_3223B0(v27, 0, *(unsigned __int16 *)(v3 + 12));
- }
- sub_35DC8C(&v61);
- sub_3218BC(v27, 4);
- v32 = *(_DWORD *)(v4 + 32);
- v33 = v32 == 1;
- if ( v32 != 1 )
- v33 = v32 == 0;
- if ( v33 || v32 == 2 )
- {
- v34 = *(_DWORD *)(v7 + 36);
- if ( *(_DWORD *)(v34 + 292) )
- v35 = v34 + 4936;
- else
- v35 = *(_DWORD *)(v34 + 4) + 14560;
- *(_DWORD *)(v35 + 332) = sub_4AEDC4(v27);
- }
- if ( *(_DWORD *)(v4 + 32) == 17 )
- {
- sub_322800(v27, 1);
- sub_323878(v27, 32);
- sub_3218BC(v27, 16);
- sub_3262C0(v27, 0, 705);
- sub_3223B0(v27, 0, 705);
- sub_3262C0(v27, 1, 430);
- sub_3223B0(v27, 1, 430);
- sub_3262C0(v27, 2, 381);
- sub_3223B0(v27, 2, 381);
- sub_3262C0(v27, 3, 270);
- sub_3223B0(v27, 3, 270);
- v36 = sub_323FE4(v27);
- sub_3242A0(v27, 9, v36);
- }
- if ( *(_DWORD *)(v4 + 32) == 34 )
- {
- v37 = (*(int (**)(void))(**(_DWORD **)(v4 + 104) + 52))();
- v38 = sub_105500(48, v37);
- if ( v38 )
- {
- v39 = sub_3D248C(10);
- v38 = sub_35F8F8(v38, v39, 63, v37, 0, 0, v42, v43, v44, HIDWORD(v44));
- }
- sub_35DBB4(&v61, 13, v37);
- sub_35F5D4(*(float *)&v38);
- sub_3218F4(v27, &v61);
- sub_323830(v27, 0);
- sub_322DAC(v27, 2039170715);
- if ( v38 )
- (*(void (__fastcall **)(int))(*(_DWORD *)v38 + 4))(v38);
- sub_35DC8C(&v61);
- sub_322800(v27, 1);
- sub_323878(v27, 32);
- sub_3262C0(v27, 0, 85);
- sub_3223B0(v27, 0, 85);
- sub_3262C0(v27, 1, 98);
- sub_3223B0(v27, 1, 98);
- sub_3262C0(v27, 2, 87);
- sub_3223B0(v27, 2, 87);
- sub_3262C0(v27, 3, 231);
- sub_3223B0(v27, 3, 231);
- sub_3242A0(v27, 9, 21);
- }
- sub_4AFCE8(v27, v29);
- return v27;
- }
Advertisement
Add Comment
Please, Sign In to add comment