int _cdecl doexit(uint uExitcode(uExitcode), int(arg_4), int(arg_8))
{
// var var_4
var_4=ecx;
if (dword_427cb8==1) //
40129b
{
tmp=getcurrentprocess(uExitcode);
TerminateProcess(tmp);
}//
loc_4012ae
dword_427cb4=1;
byte_427cb0=0;
if (arg_4!=0) //
4012c1
{
if ( dword_429618!=0) //
4012ce
{
var_4=dword_429614;
while((var_4=var_4-4)<dword_4012fc)
{ //
loc_4012d9
if(*var_4!=0) //
4012f0
{
call *var_4;
}//
loc_4012fa
} //
loc_4012fa
}//
loc_4012fc
initterm(&unk_424724,&unk_42451c);
}//
loc_40130e
_initterm(&unk_42492c,&424828);
if (dword_427cbc==0)
{
if (!(crtsetdbgflag(0ffffffffh)&20h))
{
dword_427cbc=1;
crtdumpmemoryleaks();
}
}//
loc_401349
if (arg_8=0)
{
dword_427cb8=1;
exitprocess(uexitcode);
}
}