Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int __usercall sub_404660<eax>(int a1<ebx>)
- {
- int result; // eax@1
- int v2; // edi@1
- int v3; // eax@2
- int v4; // ecx@3
- int v5; // eax@5
- int v6; // esi@5
- int v7; // eax@5
- int v8; // edx@5
- char v9; // al@6
- int v10; // ecx@8
- int v11; // eax@12
- int v12; // ecx@12
- int v13; // edx@12
- int v14; // ecx@17
- bool v15; // al@19
- int v16; // [sp-8h] [bp-44h]@12
- int v17; // [sp-4h] [bp-40h]@12
- int v18; // [sp+10h] [bp-2Ch]@5
- int v19; // [sp+14h] [bp-28h]@1
- int v20; // [sp+18h] [bp-24h]@5
- int v21; // [sp+1Ch] [bp-20h]@5
- int v22; // [sp+20h] [bp-1Ch]@5
- int v23; // [sp+28h] [bp-14h]@10
- int v24; // [sp+30h] [bp-Ch]@1
- int v25; // [sp+38h] [bp-4h]@5
- result = (int)&v24;
- v2 = 0;
- v19 = 0;
- if ( *(_DWORD *)(a1 + 632) )
- {
- do
- {
- v3 = *(_DWORD *)(a1 + 628);
- if ( !*(_BYTE *)(v3 + v2 + 40) )
- {
- v4 = v3 + v2 + 4;
- if ( *(_DWORD *)(v3 + v2 + 24) >= 0x10u )
- v4 = *(_DWORD *)v4;
- v5 = sub_536EA0(v4);
- v25 = 0;
- v6 = *(_DWORD *)(v5 + 4);
- v7 = *(_DWORD *)v5;
- v8 = v2 + *(_DWORD *)(a1 + 628) + 32;
- v18 = v2 + *(_DWORD *)(a1 + 628) + 32;
- v21 = 0;
- v22 = 0;
- v20 = v7;
- if ( v6 )
- {
- v9 = (*(int (__thiscall **)(int))(*(_DWORD *)v6 + 4))(v6);
- v8 = v18;
- if ( v9 )
- {
- v22 = v6;
- v21 = v20;
- }
- }
- v10 = *(_DWORD *)(v8 + 4);
- *(_DWORD *)(v8 + 4) = v22;
- *(_DWORD *)v8 = v21;
- if ( v10 )
- (*(void (**)(void))(*(_DWORD *)v10 + 12))();
- v25 = -1;
- if ( v23 )
- (*(void (**)(void))(*(_DWORD *)v23 + 12))();
- (*(void (__stdcall **)(char *))(**(_DWORD **)(v2 + *(_DWORD *)(a1 + 628) + 32) + 60))(off_5FE588[0]);
- v11 = v2 + *(_DWORD *)(a1 + 628) + 32;
- v16 = 0;
- v17 = 0;
- v12 = *(_DWORD *)(v11 + 4);
- v13 = *(_DWORD *)v11;
- v20 = v12;
- v18 = v13;
- if ( v12 && (unsigned __int8)(*(int (__cdecl **)(int))(*(_DWORD *)v12 + 4))(v16) )
- {
- if ( v17 )
- (*(void (**)(void))(*(_DWORD *)v17 + 12))();
- v17 = v20;
- v16 = v18;
- }
- sub_405F90(v16, v17);
- v14 = *(_DWORD *)(v2 + *(_DWORD *)(a1 + 628) + 32);
- v15 = v14 && (unsigned __int8)(**(int (***)(void))v14)();
- *(_BYTE *)(v2 + *(_DWORD *)(a1 + 628) + 40) = v15;
- *(_BYTE *)(v2 + *(_DWORD *)(a1 + 628) + 41) = 0;
- }
- result = v19 + 1;
- v2 += 116;
- v19 = result;
- }
- while ( (unsigned int)result < *(_DWORD *)(a1 + 632) );
- }
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement