:int argc=-1;
:int argv[20];
:parsecmdline(){
  static char cmdlinebuffer[MAX_PATH];
  ESI=GetCommandLine();
  EDI=#cmdlinebuffer;
  do{
    argc++;
    EAX=argc;
    argv[EAX*sizeof(int)]=EDI;
    EAX=0;
RPTGETCMDL:
    $lodsb;
    IF(AL=='"'){AH^=AL;GOTO RPTGETCMDL;}
    IF(!AL)BREAK;
    IF(AX!=' '){$stosb;GOTO RPTGETCMDL;}
    AL=0;$stosb;
    WHILE(DSBYTE[ESI]==' ')ESI++;
  }while(DSBYTE[ESI]);
  $stosb;
}

:dword RAND32()
{
  static dword randseed;
  EAX=GetTickCount()-randseed;
  $rcr EAX,8
  EAX^=0xE9621936;
  randseed+=EAX;
}
