>>93
This is ugly shitty code
/* This file has been generated by the Hex-Rays decompiler.
Copyright (c) 2007 Hex-Rays sprl <
info@hex-rays.com>;
Detected compiler: GNU C++
*/
#include <windows.h>
#include <defs.h>
//-------------------------------------------------------------------------
// Data declarations
extern int dword_401900[]; // idb
extern int (*off_401904)(); // weak
extern int (*off_402020)[60]; // weak
extern char aHalp[8]; // weak
extern int dword_404020; // weak
//-------------------------------------------------------------------------
// Function declarations
// int __cdecl atexit(void (__cdecl *)()); idb
int __cdecl main(int argc, const char **argv, const char *envp); // idb
int (*__cdecl sub_401360())[60];
int __cdecl sub_4013F0();
// int printf(const char *, ...); idb
//----- (004012E0) --------------------------------------------------------
int __cdecl main(int argc, const char **argv, const char *envp)
{
sub_4013F0();
return printf("HALP!!!", 16);
}
//----- (00401360) --------------------------------------------------------
int (*__cdecl sub_401360())[60]
{
int (*result)[60]; // eax@1
int v1; // edx@2
result = off_402020;
if ( (*off_402020)[0] )
{
do
{
((int (*)(void))(*result)[0])();
v1 = (*off_402020)[1];
result = (int (*)[60])&(*off_402020)[1];
off_402020 = (int (*)[60])((char *)off_402020 + 4);
}
while ( v1 );
}
return result;
}
//----- (004013F0) --------------------------------------------------------
int __cdecl sub_4013F0()
{
int ST00_4_0; // ST00_4@0
int v1; // eax@2
int i; // ebx@3
char v4; // zf@7
if ( !dword_404020 )
{
v1 = dword_401900[0];
dword_404020 = 1;
if ( dword_401900[0] == -1 )
{
v1 = 0;
v4 = off_401904 == 0;
while ( !v4 )
{
++v1;
v4 = *(&off_401904 + v1) == 0;
}
}
for ( i = v1; i; --i )
((int (*)(void))dword_401900
[i])();
atexit((void (__cdecl *)())sub_401360);
}
return ST00_4_0;
}
// ALL OK, 3 function(s) have been successfully decompiled