Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int __fastcall nameFunction(_DWORD *a1, int a2, _DWORD *a3, _WORD *a4)
- {
- _DWORD *v4; // r10
- _DWORD *v5; // r6
- __int64 v6; // r0
- int v7; // r9
- signed int v8; // r0
- __int64 v9; // r0
- int v10; // r0
- int v11; // r1
- _BYTE *v12; // r5
- int v13; // r12
- int result; // r0
- unsigned int v15; // r2
- int v16; // r1
- unsigned int v17; // r2
- _DWORD *v18; // r5
- int v19; // r5
- _DWORD *v20; // r4
- _WORD *v21; // [sp+Ch] [bp-34h]
- int v22; // [sp+10h] [bp-30h]
- int v23; // [sp+14h] [bp-2Ch]
- int v24; // [sp+18h] [bp-28h]
- __int16 v25; // [sp+1Ch] [bp-24h]
- __int16 v26; // [sp+1Eh] [bp-22h]
- unsigned __int16 v27; // [sp+22h] [bp-1Eh]
- int v28; // [sp+28h] [bp-18h]
- int v29; // [sp+30h] [bp-10h]
- v4 = a1;
- v21 = a4;
- v5 = a3;
- v22 = a2;
- (*(void (**)(void))(*(_DWORD *)*a3 + 12))();
- LODWORD(v6) = (*(int (__cdecl **)(_DWORD, int *))(*(_DWORD *)*v5 + 8))(*v5, &v24);
- v7 = 0;
- if ( v6 != 1 )
- goto LABEL_14;
- v7 = 0;
- v8 = 0;
- if ( v24 != 1145128770 )
- v8 = 1;
- if ( v8 )
- goto LABEL_14;
- if ( (unsigned __int16)(v25 - 1) > 1u )
- {
- v7 = 0;
- LABEL_14:
- v23 = v7;
- (*(void (**)(void))(**(_DWORD **)(v22 + 40) + 24))();
- *v4 = 0;
- v4[1] = 0;
- goto LABEL_15;
- }
- v23 = (v27 + 4) & 0x1FFFC;
- v7 = (*(int (**)(void))(**(_DWORD **)(v22 + 16) + 24))();
- if ( !v7 )
- goto LABEL_14;
- (*(void (__cdecl **)(_DWORD))(*(_DWORD *)*v5 + 16))(*v5);
- LODWORD(v9) = (*(int (__cdecl **)(_DWORD, int))(*(_DWORD *)*v5 + 8))(*v5, v7);
- if ( v9 != 1 )
- goto LABEL_14;
- if ( v25 != 1 )
- goto LABEL_16;
- v10 = v27;
- if ( v27 )
- {
- v11 = v28;
- v12 = (_BYTE *)v7;
- do
- {
- v11 = 1664525 * v11 + 1013904223;
- --v10;
- *v12++ ^= v11;
- }
- while ( v10 );
- v13 = v27;
- }
- else
- {
- v13 = 0;
- }
- while ( 1 )
- {
- *(_BYTE *)(v7 + v13) = 0;
- if ( v21 )
- *v21 = v26;
- (*(void (__cdecl **)(_DWORD))(*(_DWORD *)*v5 + 16))(*v5);
- v19 = v27;
- v20 = (_DWORD *)operator new(0x38u);
- v20[1] = 0;
- v20[2] = 0;
- *v20 = &ref_sub_2324C0;
- v20[4] = &off_EB16AC;
- v5 = v20 + 4;
- v20[5] = v7;
- v20[6] = v19 + 1;
- sub_231E80((int)(v20 + 8), v22 + 24);
- *v4 = v20 + 4;
- v4[1] = v20;
- LABEL_15:
- result = _stack_chk_guard - v29;
- if ( _stack_chk_guard == v29 )
- break;
- LABEL_16:
- v13 = v27;
- v15 = v27 + 3;
- if ( v15 >> 2 )
- {
- v16 = v28;
- v17 = v15 >> 2;
- v18 = (_DWORD *)v7;
- do
- {
- v16 = 0x19660D * v16 + 0x3C6EF35F;
- --v17;
- *v18 ^= v16;
- ++v18;
- }
- while ( v17 );
- }
- }
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement