Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int __thiscall sub_567430(int this, int a2)
- {
- unsigned int v2; // ecx@1
- int v3; // ebx@1
- int v4; // ebp@1
- int v5; // edi@1
- int v6; // esi@1
- int v7; // eax@3
- int v8; // eax@3
- char v9; // zf@3
- int v10; // eax@4
- int v11; // eax@7
- int v12; // eax@9
- int v13; // edx@9
- char v14; // zf@9
- signed int v15; // eax@10
- signed int v16; // edx@10
- unsigned int v17; // ecx@10
- int v18; // edi@10
- int v19; // eax@16
- int v20; // edi@16
- int v21; // eax@17
- int v22; // eax@21
- int v23; // eax@22
- int v24; // ecx@22
- unsigned __int8 v25; // al@25
- void *v26; // ecx@25
- unsigned int v27; // ecx@27
- int v29; // [sp+10h] [bp-30h]@7
- int v30; // [sp+14h] [bp-2Ch]@25
- int *v31; // [sp+18h] [bp-28h]@7
- int *v32; // [sp+1Ch] [bp-24h]@7
- int v33; // [sp+20h] [bp-20h]@7
- int v34; // [sp+24h] [bp-1Ch]@7
- unsigned int v35; // [sp+28h] [bp-18h]@7
- int v36; // [sp+2Ch] [bp-14h]@7
- int v37; // [sp+30h] [bp-10h]@25
- int v38; // [sp+34h] [bp-Ch]@25
- int v39; // [sp+38h] [bp-8h]@25
- unsigned int v40; // [sp+3Ch] [bp-4h]@25
- v3 = a2;
- v6 = this;
- v5 = *(_BYTE *)(this + 0x150);
- v4 = 0;
- v2 = 0;
- do
- {
- if ( v2 >= v5 )
- break;
- v8 = *(_DWORD *)(v6 + 0x14C);
- v9 = *(_DWORD *)(v8 + 4 * v2) == 0;
- v7 = v8 + 4 * v2;
- if ( !v9 )
- {
- v10 = *(_DWORD *)v7;
- if ( *(_DWORD *)(a2 + 60) == *(_DWORD *)(v10 + 60) )
- v4 = v10;
- }
- ++v2;
- }
- while ( !v4 );
- v33 = 0;
- v34 = 0;
- v35 = 0;
- unknown_libname_10(&v36);
- v31 = (int *)&BSTArrayAllocatorFunctor_BSScrapArrayAllocator____vftable_;
- v32 = &v33;
- sub_A491D0((int)&v31, v5, 4);
- v11 = 0;
- v29 = 0;
- if ( *(_BYTE *)(v6 + 336) )
- {
- while ( 1 )
- {
- if ( !v4 )
- goto LABEL_16;
- v13 = *(_DWORD *)(v6 + 332);
- v14 = v4 == *(_DWORD *)(v13 + 4 * v11);
- v12 = v13 + 4 * v11;
- if ( !v14 )
- {
- v18 = *(_DWORD *)v12;
- v17 = *(_DWORD *)(v4 + 72);
- v16 = -1;
- v15 = 0;
- if ( v17 )
- {
- while ( v16 == -1 )
- {
- if ( *(_DWORD *)(*(_DWORD *)(v4 + 64) + 4 * v15) == v18 )
- v16 = v15;
- ++v15;
- if ( v15 >= v17 )
- {
- if ( v16 != -1 )
- goto LABEL_19;
- goto LABEL_16;
- }
- }
- goto LABEL_19;
- }
- LABEL_16:
- v20 = *(_DWORD *)(v6 + 332) + 4 * v29;
- v31 = (int *)&BSTArrayAllocatorFunctor_BSScrapArrayAllocator____vftable_;
- v32 = &v33;
- v19 = sub_A491F0(&v36, (int)&v31, v35, 4);
- v31 = (int *)BSTArrayBase__IAllocatorFunctor___vftable_;
- if ( v19 != -1 )
- {
- v21 = v34 + 4 * v19;
- if ( v21 )
- *(_DWORD *)v21 = *(_DWORD *)v20;
- }
- }
- LABEL_19:
- v11 = v29 + 1;
- v29 = v11;
- if ( v11 >= (unsigned int)*(_BYTE *)(v6 + 336) )
- {
- v3 = a2;
- break;
- }
- }
- }
- v31 = (int *)&BSTArrayAllocatorFunctor_BSScrapArrayAllocator____vftable_;
- v32 = &v33;
- v22 = sub_A491F0(&v36, (int)&v31, v35, 4);
- if ( v22 == -1 )
- {
- v24 = 0;
- }
- else
- {
- v23 = v34 + 4 * v22;
- v24 = 0;
- if ( v23 )
- *(_DWORD *)v23 = v3;
- }
- v30 = v24;
- v37 = v24;
- v38 = v24;
- v39 = v24;
- unknown_libname_10(&v40);
- v31 = &v37;
- v32 = &v30;
- sub_5666C0(&v31);
- v26 = *(void **)(v6 + 332);
- v25 = *(_BYTE *)(v6 + 336);
- if ( v26 )
- {
- Heap__Free(v26, 0);
- *(_DWORD *)(v6 + 332) = 0;
- v25 = 0;
- }
- v27 = v40;
- *(_BYTE *)(v6 + 336) = v25;
- if ( v27 )
- {
- a2 = v25;
- sub_55FA20(v38, v27, (void **)(v6 + 332), (int)&a2);
- *(_BYTE *)(v6 + 336) = a2;
- }
- if ( v38 )
- {
- sub_A49160((int)&v37);
- v40 = 0;
- }
- nullsub_8(&v40);
- if ( v34 )
- {
- sub_A49160((int)&v33);
- v36 = 0;
- }
- return nullsub_8(&v36);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement