-
-
[求助]这是一种什么算法呢。看不懂伪代码求指教
-
发表于:
2017-6-1 16:31
4112
-
int __stdcall sub_404624(char *a1)
{
int v1; // ecx@1
int v2; // ecx@5
int v3; // ecx@9
int v4; // ecx@13
int v5; // ecx@17
int result; // eax@21
int v7; // [sp+0h] [bp-10h]@1
int v8; // [sp+0h] [bp-10h]@5
int v9; // [sp+0h] [bp-10h]@9
int v10; // [sp+0h] [bp-10h]@13
int v11; // [sp+0h] [bp-10h]@17
LPVOID *v12; // [sp+Ch] [bp-4h]@1
LPVOID *v13; // [sp+Ch] [bp-4h]@5
LPVOID *v14; // [sp+Ch] [bp-4h]@9
LPVOID *v15; // [sp+Ch] [bp-4h]@13
LPVOID *v16; // [sp+Ch] [bp-4h]@17
v12 = (LPVOID *)*((_DWORD *)dword_845BE4 + 13);
v7 = sub_43CB21(2, *(_DWORD *)a1);
if ( v1 != -2147483644 )
sub_43CB03((LPCSTR)5);
if ( *v12 )
sub_43CAFD(*v12);
*v12 = (LPVOID)v7;
v13 = (LPVOID *)(*((_DWORD *)dword_845BE4 + 13) + 4);
v8 = sub_43CB21(2, *(_DWORD *)a1);
if ( v2 != -2147483644 )
sub_43CB03((LPCSTR)5);
if ( *v13 )
sub_43CAFD(*v13);
*v13 = (LPVOID)v8;
v14 = (LPVOID *)(*((_DWORD *)dword_845BE4 + 13) + 8);
v9 = sub_43CB21(2, *(_DWORD *)a1);
if ( v3 != -2147483644 )
sub_43CB03((LPCSTR)5);
if ( *v14 )
sub_43CAFD(*v14);
*v14 = (LPVOID)v9;
v15 = (LPVOID *)(*((_DWORD *)dword_845BE4 + 13) + 12);
v10 = sub_43CB21(2, *(_DWORD *)a1);
if ( v4 != -2147483644 )
sub_43CB03((LPCSTR)5);
if ( *v15 )
sub_43CAFD(*v15);
*v15 = (LPVOID)v10;
v16 = (LPVOID *)(*((_DWORD *)dword_845BE4 + 13) + 16);
v11 = sub_43CB21(2, *(_DWORD *)a1);
if ( v5 != -2147483644 )
sub_43CB03((LPCSTR)5);
if ( *v16 )
sub_43CAFD(*v16);
result = v11;
*v16 = (LPVOID)v11;
return result;
}
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)