do_exit Flow

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);
    }
}

你可能感兴趣的:(do_exit Flow)