<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">

<channel>
	<title>dailyinfosec.org</title>
	<link>http://www.dailyinfosec.org/</link>
	<language>en</language>
	<description>dailyinfosec.org - http://www.dailyinfosec.org/</description>

<item>
	<title>Blogs - Schneier On Security: A Security Assessment of the Internet Protocol</title>
	<guid>http://www.schneier.com/blog/archives/2008/08/a_security_asse.html</guid>
	<link>http://www.schneier.com/blog/archives/2008/08/a_security_asse.html</link>
	<description>Interesting: Preface The TCP/IP protocols were conceived during a time that was quite different from the hostile environment they operate in now. Yet a direct result of their effectiveness and widespread early adoption is that much of today's global economy remains dependent upon them. While many textbooks and articles have created the myth that the Internet Protocols (IP) were designed...&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?a=ziRbMK&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?i=ziRbMK&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Wed, 20 Aug 2008 13:30:03 +0000</pubDate>
</item>
<item>
	<title>Blogs - The Dark Visitor: Google hacking the Olympics</title>
	<guid>http://www.thedarkvisitor.com/?p=422</guid>
	<link>http://feeds.feedburner.com/~r/TheDarkVisitor/~3/369886367/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://johnny.ihackstuff.com/&quot;&gt;Johny Long&lt;/a&gt;, the well-known Google search hacker linked to a very interesting &lt;a href=&quot;http://strydehax.blogspot.com/&quot;&gt;blog post&lt;/a&gt; about the controversy over Chinese gymnast He Kexin.  In it, he uses some Google hacks on Baidu (the most popular Chinese search portal) to come up with two cached spreadsheets that show He&amp;#8217;s birth year as 1994 which would make her ineligible for the Olympics.&lt;br /&gt;
&lt;a href=&quot;http://www.thedarkvisitor.com/wp-content/uploads/2008/08/picture-9.png&quot;&gt;&lt;img src=&quot;http://www.thedarkvisitor.com/wp-content/uploads/2008/08/picture-9.png&quot; alt=&quot;&quot; title=&quot;Secret Spreadsheet&quot; class=&quot;alignnone size-medium wp-image-425&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
The documents were apparently removed from the government website where they were originally found.  Then again - it could have been that the original government documents were wrong and her birth year has been 1992 all along.  I can&amp;#8217;t say for certain.  &lt;/p&gt;
&lt;p&gt;If you are interested in Google hacking, take a look at this &lt;a href=&quot;http://www.thedarkvisitor.com/2008/04/chinese-gov-sites-pwn3d/&quot;&gt;TDV article&lt;/a&gt;.&lt;/p&gt;
&lt;p class=&quot;addtoany_share_save_container&quot;&gt;
    &lt;a class=&quot;a2a_dd addtoany_share_save&quot; href=&quot;http://www.addtoany.com/share_save?sitename=The%20Dark%20Visitor&amp;amp;siteurl=http%3A%2F%2Fwww.thedarkvisitor.com%2F&amp;amp;linkname=Google%20hacking%20the%20Olympics&amp;amp;linkurl=http%3A%2F%2Fwww.thedarkvisitor.com%2F2008%2F08%2Fgoogle-hacking-the-olympics%2F&quot;&gt;&lt;img src=&quot;http://www.thedarkvisitor.com/wp-content/plugins/add-to-any/share_save_120_16.gif&quot; width=&quot;120&quot; height=&quot;16&quot; alt=&quot;Share/Save/Bookmark&quot; /&gt;&lt;/a&gt;
    
    

	&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://feeds.feedburner.com/~a/TheDarkVisitor?a=A0A7M1&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~a/TheDarkVisitor?i=A0A7M1&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/TheDarkVisitor?a=ZnukYK&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/TheDarkVisitor?i=ZnukYK&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/TheDarkVisitor/~4/369886367&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Wed, 20 Aug 2008 11:08:23 +0000</pubDate>
	<dc:creator>jumper</dc:creator>
</item>
<item>
	<title>Research - DVLabs: ThreatLinQ: Spotlight on Filter 1401 (MS-SQL: Login Failure)</title>
	<guid>http://dvlabs.tippingpoint.com/blog/2008/08/19/threatlinq-spotlight-on-filter-1401-ms-sql-login-failure</guid>
	<link>http://dvlabs.tippingpoint.com/blog/2008/08/19/threatlinq-spotlight-on-filter-1401-ms-sql-login-failure</link>
	<description>Posted by Mike Dausin&lt;br /&gt;One of the cool things about the new ThreatLinQ tool, is we get to see TippingPoint Filters which have been shipping for years, still protecting customers.&lt;br /&gt;&lt;br /&gt;Today, I'd like to point out one of those filters in particular.&lt;br /&gt;&lt;br /&gt;Filter 1401 - MS-SQL: Login Failure&lt;br /&gt;&lt;br /&gt;This filter does not ship enabled by default (generally speaking, login failures are entirely non-malicious), but if configured properly, this filter can be very useful for blocking brute force attacks.&lt;br /&gt;&lt;br /&gt;To illustrate how filter 1401 might be used on your network, lets take a look at the graph for this filter taken from ThreatLinQ.&amp;nbsp; As you can see below there are two major events which occured in the last 2 weeks.&amp;nbsp; One on August 8th and another on August 14th.&amp;nbsp; On both occasions we see a small number of attackers attempting to logon several thousand times to a small number of target MSSQL servers on the internet. &lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://feeds.feedburner.com/../../../../../mdausin/1401_MSSQL_login_fail.PNG&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/../../../../../pub/mdausin/1401_mssql_login_failure.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;By further drilling down into the ThreatLinQ tool, it is obvious that both of these events were caused by a single attacker. And while an occasional MS-SQL login failure may be normal on your network, several thousand originating from a single host is almost certainly not.&lt;br /&gt;&lt;br /&gt;Now, I'll be the first to admit that 'Brute force login attacks' are old news.&amp;nbsp; However, it's important to point out that these attacks still occur all the time, and they are still often successful.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Thankfully, with the the 'quarantine' feature of the TippingPoint IPS, it is easy to setup a rule which will let the occasional login failures generated by your users pass by, while blocking attackers who generate hundreds of these failures per second.&lt;br /&gt;&lt;br /&gt;To do this, here are some rough instructions on how to setup such a rule for this Filter 1401 on a TippingPoint IPS (please consult your documentation on how to do this via a TippingPoint SMS.)&amp;nbsp; As always, please make sure to test any changes before implementing them in production.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Start by logging onto the IPS as an administrator.&lt;/li&gt;&lt;li&gt;Expand the 'IPS' tab on the left nav bar.&lt;/li&gt;&lt;li&gt;Click 'action sets' -&amp;gt; 'create action set'&lt;/li&gt;&lt;li&gt;You should now see the 'Create Action Set' Screen.&lt;/li&gt;&lt;li&gt;Type in the name for this new action set in the 'Action Set Name'&lt;/li&gt;&lt;li&gt;Now click the 'Block' radio button and Select 'quarantine'&lt;/li&gt;&lt;li&gt;Scroll down until you set the 'Thresholds' section.&lt;/li&gt;&lt;li&gt;Choose some values that you would consider an unreasonable number of failed login attempts.&amp;nbsp; For this example, a value of 60 per minute should be good, but you should tailor these numbers to your environment.&lt;/li&gt;&lt;li&gt;Now select 'Create'&lt;/li&gt;&lt;li&gt;Now, we simply need assign filter 1401 to this new action-set we just created.&lt;/li&gt;&lt;li&gt;Click 'Security Profiles' on the left nav bar.&lt;/li&gt;&lt;li&gt;Select the security profile you wish to change (the default profile is called 'Default Security Profile'.)&lt;/li&gt;&lt;li&gt;Select 'Search Filters' and do a search for filter 1401&lt;/li&gt;&lt;li&gt;Click on Filter 1401 and change the 'Action/State' for the filter to use the action-set you just created&lt;/li&gt;&lt;li&gt;Click on Apply.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;And that's it!&amp;nbsp; You are now protected against most MS-SQL brute force attacks on your network.&amp;nbsp; Easy huh?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description>
	<pubDate>Wed, 20 Aug 2008 02:34:47 +0000</pubDate>
</item>
<item>
	<title>Blogs - The Dark Visitor: China hacker gang issues diplomas…goes to jail</title>
	<guid>http://www.thedarkvisitor.com/?p=423</guid>
	<link>http://feeds.feedburner.com/~r/TheDarkVisitor/~3/369563488/</link>
	<description>&lt;p&gt;Via Dancho Danchev&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;If you needed a university certificate in China during the last couple of months, there’s a big chance that a group of ten people could have supplied with you such, going a step further and adding your details in more than ten government databases across different provinces in the country, making $300k in the process.&lt;/p&gt;
&lt;p&gt;Shanghai Daily is reporting on this sophisticated group of local hackers who were selling “valid” educational certificates by modifying government databases.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Looking for higher education, read it here: &lt;a href=&quot;http://blogs.zdnet.com/security/?p=1743&quot;&gt;China hacker gang busted&lt;br /&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p class=&quot;addtoany_share_save_container&quot;&gt;
    &lt;a class=&quot;a2a_dd addtoany_share_save&quot; href=&quot;http://www.addtoany.com/share_save?sitename=The%20Dark%20Visitor&amp;amp;siteurl=http%3A%2F%2Fwww.thedarkvisitor.com%2F&amp;amp;linkname=China%20hacker%20gang%20issues%20diplomas%E2%80%A6goes%20to%20jail&amp;amp;linkurl=http%3A%2F%2Fwww.thedarkvisitor.com%2F2008%2F08%2Fchina-hacker-gang-issues-diplomasgoes-to-jail%2F&quot;&gt;&lt;img src=&quot;http://www.thedarkvisitor.com/wp-content/plugins/add-to-any/share_save_120_16.gif&quot; width=&quot;120&quot; height=&quot;16&quot; alt=&quot;Share/Save/Bookmark&quot; /&gt;&lt;/a&gt;
    
    

	&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://feeds.feedburner.com/~a/TheDarkVisitor?a=O70bwg&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~a/TheDarkVisitor?i=O70bwg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/TheDarkVisitor?a=LaiUcK&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/TheDarkVisitor?i=LaiUcK&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/TheDarkVisitor/~4/369563488&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Wed, 20 Aug 2008 02:20:13 +0000</pubDate>
	<dc:creator>Heike</dc:creator>
</item>
<item>
	<title>Blogs - Schneier On Security: Mental Illness and Murder</title>
	<guid>http://www.schneier.com/blog/archives/2008/08/mental_illness.html</guid>
	<link>http://www.schneier.com/blog/archives/2008/08/mental_illness.html</link>
	<description>Contrary to popular belief, homicide due to mental illness is declining, at least in England and Wales: The rate of total homicide and the rate of homicide due to mental disorder rose steadily until the mid-1970s. From then there was a reversal in the rate of homicides attributed to mental disorder, which declined to historically low levels, while other homicides...&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?a=o36IVK&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?i=o36IVK&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Tue, 19 Aug 2008 21:23:20 +0000</pubDate>
</item>
<item>
	<title>Blogs - Schneier On Security: Adi Shamir's Cube Attacks</title>
	<guid>http://www.schneier.com/blog/archives/2008/08/adi_shamirs_cub.html</guid>
	<link>http://www.schneier.com/blog/archives/2008/08/adi_shamirs_cub.html</link>
	<description>At this moment, Adi Shamir is giving an invited talk at the Crypto 2008 conference about a new type of cryptanalytic attack called &quot;cube attacks.&quot; He claims very broad applicability to block ciphers, stream ciphers, hash functions, etc. My personal joke -- at least I hope it's a joke -- is that he's going to break every NIST hash submission...&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?a=JUhUPK&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?i=JUhUPK&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Tue, 19 Aug 2008 19:15:35 +0000</pubDate>
</item>
<item>
	<title>Blogs - Schneier On Security: The Continuing Cheapening of the Word "Terrorism"</title>
	<guid>http://www.schneier.com/blog/archives/2008/08/the_continuing_1.html</guid>
	<link>http://www.schneier.com/blog/archives/2008/08/the_continuing_1.html</link>
	<description>Illegally diverting water is terrorism: South Australian Premier Mike Rann says the diversion of water from the Paroo River in Queensland is an act of terrorism during a water crisis. Anonymously threatening people with messages on playing cards, like the Joker in The Dark Knight, is terrorism: Giles County deputies arrest two county teenagers they say made terroristic threats to...&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?a=4igMNK&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?i=4igMNK&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Tue, 19 Aug 2008 12:09:17 +0000</pubDate>
</item>
<item>
	<title>Blogs - The Dark Visitor: Chinese online human hunting! Something to watch…and I don’t have a clue why.</title>
	<guid>http://www.thedarkvisitor.com/?p=420</guid>
	<link>http://feeds.feedburner.com/~r/TheDarkVisitor/~3/368720553/</link>
	<description>&lt;p&gt;&amp;#8220;Chinese online human hunting&amp;#8221; has been a subject that has fascinated me ever since I first read the story of the &amp;#8220;&lt;a href=&quot;http://www.iht.com/articles/2006/05/31/business/chinet.php&quot;&gt;Bronze Mustache&lt;/a&gt;&amp;#8221; in 2006.    Somewhere in my gut,  it left me with the impression that this was an important trend to watch.   Why you ask?  Why not I answer!  Yep, got nothing.&lt;/p&gt;
&lt;p&gt;Does this fascination  stem from the demonstrated ability to cyber-mobilize, combined with cyber-vigilante justice?   Okay, if that explanation works for you, it works for me.  This really bugs me and I haven&amp;#8217;t been able to put my finger on why this trend seems to be important to watch.   It could very well be the catalyst that launched the category of &amp;#8220;Chinese Hacker Hunting&amp;#8221; on this blog&amp;#8230;but that gets way too much into the realm of self-analysis and could leave me screaming into my pillow.  Moving on.&lt;/p&gt;
&lt;p&gt;So what is &amp;#8220;online human hunting?&amp;#8221; I could try and summarize the whole social mechanism but it would probably cross the line of &amp;#8220;fair use.&amp;#8221;   &lt;em&gt;China Supertrends&lt;/em&gt; gives an excellent explanation of &amp;#8220;&lt;a href=&quot;http://www.chinasupertrends.com/chinas-human-flesh-search-engine-not-what-you-might-think-it-is/&quot;&gt;human flesh search engines&lt;/a&gt;.&amp;#8221;&lt;/p&gt;
&lt;p&gt;Finally, sciam.com provides a current report on how this &lt;a href=&quot;http://www.sciam.com/article.cfm?id=international-report-technology&quot;&gt;trend is progressing&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;China: &amp;#8220;Human Search&amp;#8221; Invades Privacy&lt;br /&gt;
Over the past year or more, a concept known as &amp;#8220;human search&amp;#8221; (also referred to as an &amp;#8220;Internet mob&amp;#8221;) has grown in popularity in China. Unlike the more constructive pursuit known as &amp;#8220;crowdsourcing,&amp;#8221; where people worldwide connect to lend their creativity to some academic, artistic or business endeavor, human search involves people connecting via the Internet to track down information for one another, often to search for someone perceived as having done something wrong. A prime example of this came last week, when Chinese Internet users began a nationwide search for the father of Olympic air pistol gold medalist Guo Wenjun, who abandoned her 10 years ago and left her to the care of her coach. According to an August 12 Reuters story, although the search has not yet pinpointed the missing parent, tens of thousands of Web surfers and numerous chat rooms have reportedly joined the effort.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Any&amp;#8230;FREE&amp;#8230;insightful explanation on why my views makes sense would be greatly appreciated.&lt;/p&gt;
&lt;p class=&quot;addtoany_share_save_container&quot;&gt;
    &lt;a class=&quot;a2a_dd addtoany_share_save&quot; href=&quot;http://www.addtoany.com/share_save?sitename=The%20Dark%20Visitor&amp;amp;siteurl=http%3A%2F%2Fwww.thedarkvisitor.com%2F&amp;amp;linkname=Chinese%20online%20human%20hunting%21%20Something%20to%20watch%E2%80%A6and%20I%20don%E2%80%99t%20have%20a%20clue%20why.&amp;amp;linkurl=http%3A%2F%2Fwww.thedarkvisitor.com%2F2008%2F08%2Fchinese-online-human-hunting-something-to-watchand-i-dont-have-a-clue-why%2F&quot;&gt;&lt;img src=&quot;http://www.thedarkvisitor.com/wp-content/plugins/add-to-any/share_save_120_16.gif&quot; width=&quot;120&quot; height=&quot;16&quot; alt=&quot;Share/Save/Bookmark&quot; /&gt;&lt;/a&gt;
    
    

	&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://feeds.feedburner.com/~a/TheDarkVisitor?a=sn9Oxp&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~a/TheDarkVisitor?i=sn9Oxp&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/TheDarkVisitor?a=1MPATK&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/TheDarkVisitor?i=1MPATK&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/TheDarkVisitor/~4/368720553&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Tue, 19 Aug 2008 04:57:10 +0000</pubDate>
	<dc:creator>Heike</dc:creator>
</item>
<item>
	<title>Blogs - The Dark Visitor: CNN’s angry Chinese hacker Xiao Chen returns</title>
	<guid>http://www.thedarkvisitor.com/?p=415</guid>
	<link>http://feeds.feedburner.com/~r/TheDarkVisitor/~3/368536037/</link>
	<description>&lt;p&gt;In March of this year, CNN ran a story about &lt;a href=&quot;http://www.cnn.com/2008/TECH/03/07/china.hackers/index.html?eref=rss_latest&quot;&gt;Xiao Chen and his organization of hackers&lt;/a&gt;, reporting that the group had broken into the Pentagon and received payments from the Chinese government.&lt;/p&gt;
&lt;p&gt;Xiao Chen, in a subsequent interview with the &lt;em&gt;Shanghai Post&lt;/em&gt;, &lt;a href=&quot;http://www.thedarkvisitor.com/2008/03/chinese-hacker-xiao-chen-mad-as-hell-closes-website/&quot;&gt;refuted all of CNN&amp;#8217;s allegations&lt;/a&gt; and tearfully explained how all of this controversy had caused him to close his website &lt;a href=&quot;http://www.thedarkvisitor.com/2008/03/chinese-hacker-xiao-chens-organization-revealed/&quot;&gt;&lt;strong&gt;hack4.com&lt;/strong&gt;&lt;/a&gt;&amp;#8230;he had struggled to create it&amp;#8230;he had poured his heart and soul into it&amp;#8230;and now was left with only had a handful of magic beans to show for his trouble.&lt;/p&gt;
&lt;p&gt;I may be mixing my stories but he did elevate whining to an art form.&lt;/p&gt;
&lt;p&gt;No need to worry, Xiao Chen pulled himself up, dusted himself off and managed to get back in the hacking game.  Welcome to &lt;a href=&quot;http://www.hack4.com/index.html&quot;&gt;the new hack4.com &lt;/a&gt;, decorated in Olympic themed swirls guaranteed to never go out of style:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.thedarkvisitor.com/wp-content/uploads/2008/08/hack4com-new.jpg&quot;&gt;&lt;img class=&quot;aligncenter size-thumbnail wp-image-416&quot; title=&quot;hack4com-new&quot; src=&quot;http://www.thedarkvisitor.com/wp-content/uploads/2008/08/hack4com-new.jpg&quot; alt=&quot;&quot; width=&quot;451&quot; height=&quot;456&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p class=&quot;addtoany_share_save_container&quot;&gt;
    &lt;a class=&quot;a2a_dd addtoany_share_save&quot; href=&quot;http://www.addtoany.com/share_save?sitename=The%20Dark%20Visitor&amp;amp;siteurl=http%3A%2F%2Fwww.thedarkvisitor.com%2F&amp;amp;linkname=CNN%E2%80%99s%20angry%20Chinese%20hacker%20Xiao%20Chen%20returns&amp;amp;linkurl=http%3A%2F%2Fwww.thedarkvisitor.com%2F2008%2F08%2Fcnns-angry-chinese-hacker-xiao-chen-returns%2F&quot;&gt;&lt;img src=&quot;http://www.thedarkvisitor.com/wp-content/plugins/add-to-any/share_save_120_16.gif&quot; width=&quot;120&quot; height=&quot;16&quot; alt=&quot;Share/Save/Bookmark&quot; /&gt;&lt;/a&gt;
    
    

	&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://feeds.feedburner.com/~a/TheDarkVisitor?a=LD2yxV&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~a/TheDarkVisitor?i=LD2yxV&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/TheDarkVisitor?a=ZcAmnK&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/TheDarkVisitor?i=ZcAmnK&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/TheDarkVisitor/~4/368536037&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Mon, 18 Aug 2008 23:56:59 +0000</pubDate>
	<dc:creator>Heike</dc:creator>
</item>
<item>
	<title>Blogs - Schneier On Security: Cyberattack Against Georgia Preceded Real Attack</title>
	<guid>http://www.schneier.com/blog/archives/2008/08/cyberattack_aga.html</guid>
	<link>http://www.schneier.com/blog/archives/2008/08/cyberattack_aga.html</link>
	<description>This is interesting: Exactly who was behind the cyberattack is not known. The Georgian government blamed Russia for the attacks, but the Russian government said it was not involved. In the end, Georgia, with a population of just 4.6 million and a relative latecomer to the Internet, saw little effect beyond inaccessibility to many of its government Web sites, which...&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?a=lKEqjK&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?i=lKEqjK&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Mon, 18 Aug 2008 19:11:09 +0000</pubDate>
</item>
<item>
	<title>WebApp - CGISecurity.com: Attacking PHP weak PRNGs: mt_srand and not so random numbers</title>
	<guid>http://www.cgisecurity.com/cgi-bin/redir.cgi?story=080803&amp;ref=rss</guid>
	<link>http://www.cgisecurity.com/cgi-bin/redir.cgi?story=080803&amp;ref=rss</link>
	<pubDate>Mon, 18 Aug 2008 17:59:19 +0000</pubDate>
</item>
<item>
	<title>Blogs - Darknet: OpenVAS - Open Vulnerability Assessment System (Nessus is Back!)</title>
	<guid>http://www.darknet.org.uk/?p=981</guid>
	<link>http://www.darknet.org.uk/2008/08/openvas-open-vulnerability-assessment-system-nessus-is-back/</link>
	<description>As you all probably known since version 3 Nessus turned to a proprietary model and started charging for the latest plugins locking most of us out. Now we finally have a new, properly organised forked development with the name of OpenVAS - at last a decent and free Vulnerability Scanner!
OpenVAS stands for Open Vulnerability Assessment...&lt;br /&gt;
&lt;br /&gt;
Read the full post at darknet.org.uk
&lt;p&gt;&lt;a href=&quot;http://feeds.feedburner.com/~a/darknethackers?a=WGxSxb&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~a/darknethackers?i=WGxSxb&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/darknethackers?a=xmzYsK&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/darknethackers?i=xmzYsK&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/darknethackers?a=1HQeKK&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/darknethackers?i=1HQeKK&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/darknethackers?a=Y3fOVk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/darknethackers?i=Y3fOVk&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Mon, 18 Aug 2008 15:57:40 +0000</pubDate>
	<dc:creator>Darknet</dc:creator>
</item>
<item>
	<title>Blogs - Schneier On Security: Air Force Suspends Cyber-Command</title>
	<guid>http://www.schneier.com/blog/archives/2008/08/air_force_suspe.html</guid>
	<link>http://www.schneier.com/blog/archives/2008/08/air_force_suspe.html</link>
	<description>Wow: The provisional, 8,000-man Cyber Command has been ordered to stop all activities, just weeks before it was supposed to be declared operational....&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?a=89EO7K&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?i=89EO7K&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Mon, 18 Aug 2008 12:46:07 +0000</pubDate>
</item>
<item>
	<title>Blogs - Darknet: New MySpace and Facebook Worm Target Social Networks</title>
	<guid>http://www.darknet.org.uk/?p=977</guid>
	<link>http://www.darknet.org.uk/2008/08/new-myspace-and-facebook-worm-target-social-networks/</link>
	<description>Well another reason for you guys (and gals) to avoid social networks, a new worm is spreading. Again they are using the same ploys that have been leveraged for years on e-mail and instant messaging.
Trust is gained as the message or link/video/etc comes from a known source so people are more likely to click/open/play it [...]
ShareThis&lt;br /&gt;
&lt;br /&gt;
Read the full post at darknet.org.uk
&lt;p&gt;&lt;a href=&quot;http://feeds.feedburner.com/~a/darknethackers?a=12lfb0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~a/darknethackers?i=12lfb0&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/darknethackers?a=LFzrhK&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/darknethackers?i=LFzrhK&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/darknethackers?a=O3XwNK&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/darknethackers?i=O3XwNK&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/darknethackers?a=WVeuTk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/darknethackers?i=WVeuTk&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Sun, 17 Aug 2008 21:27:54 +0000</pubDate>
	<dc:creator>Darknet</dc:creator>
</item>
<item>
	<title>Blogs - The Dark Visitor: Chinese hackers and India cyber forensics</title>
	<guid>http://www.thedarkvisitor.com/?p=413</guid>
	<link>http://feeds.feedburner.com/~r/TheDarkVisitor/~3/366600803/</link>
	<description>&lt;p&gt;India considers &lt;a href=&quot;http://computerforensicsinindia.blogspot.com/2008/08/cyber-forensics-trends-in-india-2008.html&quot;&gt;attacks on its information network by Chinese hackers&lt;/a&gt; a threat to national security:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;(f) Cyber War and Cyber Terrorism in India&lt;/p&gt;
&lt;p&gt;India is also suffering from the menaces of cyber war and cyber terrorism. Nobody cares about any these threats in India. Far more citizens were concerned of the Amarnath issue than by potential risks of nuclear conflict, or near-breakdowns in Net and mobile security.[2] China&amp;#8217;s intensified cyber warfare against India is becoming a serious threat to national security. In October 2007, Chinese hackers defaced over 143 Indian websites. In April 2008, Indian intelligence agencies detected Chinese hackers breaking into the computer network of the Ministry of External Affairs forcing the government to think about devising a new strategy to fortify the system. As a countermeasure, the Indian armed forces are trying to enhance their C4ISR capabilities, so that the country can launch its own cyber offensive if the need arises.[3] Similarly, Pakistan is taking steps to intensify its cyber war propaganda against India with the help of its intelligence outfit, the ISI by carrying reports of alleged communal fissures taking place on the Indian side of Kashmir.[4] Issues like these have to be resolved as well.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class=&quot;addtoany_share_save_container&quot;&gt;
    &lt;a class=&quot;a2a_dd addtoany_share_save&quot; href=&quot;http://www.addtoany.com/share_save?sitename=The%20Dark%20Visitor&amp;amp;siteurl=http%3A%2F%2Fwww.thedarkvisitor.com%2F&amp;amp;linkname=Chinese%20hackers%20and%20India%20cyber%20forensics&amp;amp;linkurl=http%3A%2F%2Fwww.thedarkvisitor.com%2F2008%2F08%2Fchinese-hackers-and-india-cyber-forensics%2F&quot;&gt;&lt;img src=&quot;http://www.thedarkvisitor.com/wp-content/plugins/add-to-any/share_save_120_16.gif&quot; width=&quot;120&quot; height=&quot;16&quot; alt=&quot;Share/Save/Bookmark&quot; /&gt;&lt;/a&gt;
    
    

	&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://feeds.feedburner.com/~a/TheDarkVisitor?a=weaZvS&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~a/TheDarkVisitor?i=weaZvS&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/TheDarkVisitor?a=mAG7sK&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/TheDarkVisitor?i=mAG7sK&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/TheDarkVisitor/~4/366600803&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Sat, 16 Aug 2008 16:05:40 +0000</pubDate>
	<dc:creator>Heike</dc:creator>
</item>
<item>
	<title>Blogs - Schneier On Security: Friday Squid Blogging: Talking Squids in Outer Space</title>
	<guid>http://www.schneier.com/blog/archives/2008/08/friday_squid_bl_63.html</guid>
	<link>http://www.schneier.com/blog/archives/2008/08/friday_squid_bl_63.html</link>
	<description>An index of fiction. The site was inspired by Margaret Atwood's infamous comment that Oryx and Crake isn't really science fiction, because science fiction is &quot;talking squids in outer space.&quot; This prompted a hunt for science fiction which actually did feature talking squids in outer space....&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?a=avY6NK&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?i=avY6NK&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Fri, 15 Aug 2008 22:57:09 +0000</pubDate>
</item>
<item>
	<title>Research - DVLabs: Mindshare: Arithmetic in Assembly</title>
	<guid>http://dvlabs.tippingpoint.com/blog/2008/08/15/mindshare-arithmetic-in-assembly</guid>
	<link>http://dvlabs.tippingpoint.com/blog/2008/08/15/mindshare-arithmetic-in-assembly</link>
	<description>Posted by Cody Pierce&lt;br /&gt;In a previous MindshaRE we looked at loops in assembly.&amp;nbsp; I feel writing chunks of code in c and then disassembling them is an important bridge between higher level languages and assembly when you first start reversing.&amp;nbsp; This allows you to quickly recognize patterns and translate those back into their higher level representation.&amp;nbsp; Doing this is imperative to understanding a binary when reversing.&amp;nbsp; So today we will do a short followup, and look at arithmetic in assembly.&amp;nbsp; Covering the easy ones down to differences in optimization and a few, more complex, examples.&lt;br /&gt;&lt;br /&gt;MindshaRE is our weekly look at some simple reverse engineering tips and tricks.&amp;nbsp; The goal is to keep things small and discuss every day aspects of reversing.&amp;nbsp; You can view previous entries here by going through our blog history.&lt;br /&gt;&lt;br /&gt;Obviously basic arithmetic is an integral part of any program, and programming language.&amp;nbsp; It should become second nature when looking at assembly to visualize the higher level tokens being used to produce the assembly you are looking at.&amp;nbsp; Lets break them down.&amp;nbsp; While some are obvious, optimizations can make things slightly more complex.&amp;nbsp; The first group of examples will be compiled with the Microsoft Visual C++ Compiler cl.exe using the following command line.&lt;br /&gt;&lt;br /&gt;cl /Fearith.exe /Fdarith.pdb /Zi arith.c&lt;br /&gt;&lt;br /&gt;In the subsequent examples we will compile with the full optimization flags.&lt;br /&gt;&lt;br /&gt;cl /Fearith_optimized.exe /Fdarith_optimized.pdb /Zi /Ox /Ot arith.c&lt;br /&gt;&lt;br /&gt;When adding the compiler will use the &quot;add&quot; mnemonic.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;int add1(int a)&lt;/pre&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return(a + 1);&lt;/pre&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;.text:00401090 add1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:00401090&lt;/pre&gt;&lt;pre&gt;.text:00401090 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:00401090&lt;/pre&gt;&lt;pre&gt;.text:00401090&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp&lt;/pre&gt;&lt;pre&gt;.text:00401091&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp, esp&lt;/pre&gt;&lt;pre&gt;.text:00401093&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [ebp+a]&lt;/pre&gt;&lt;pre&gt;.text:00401096&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 1&lt;/pre&gt;&lt;pre&gt;.text:00401099&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp&lt;/pre&gt;&lt;pre&gt;.text:0040109A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:0040109A add1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;int add(int a, int b)&lt;/pre&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return(a + b);&lt;/pre&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;.text:004010A0 add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:004010A0&lt;/pre&gt;&lt;pre&gt;.text:004010A0 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:004010A0 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 0Ch&lt;/pre&gt;&lt;pre&gt;.text:004010A0&lt;/pre&gt;&lt;pre&gt;.text:004010A0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp&lt;/pre&gt;&lt;pre&gt;.text:004010A1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp, esp&lt;/pre&gt;&lt;pre&gt;.text:004010A3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [ebp+a]&lt;/pre&gt;&lt;pre&gt;.text:004010A6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [ebp+b]&lt;/pre&gt;&lt;pre&gt;.text:004010A9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp&lt;/pre&gt;&lt;pre&gt;.text:004010AA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:004010AA add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;&lt;/pre&gt;Seems simple enough.&amp;nbsp; Keep in mind that this is unoptimized code.&lt;br /&gt;&lt;br /&gt;Subtraction, as you could guess, is almost identical.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;int sub1(int a)&lt;/pre&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return(a - 1);&lt;/pre&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;int sub(int a, int b)&lt;/pre&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return(a - b);&lt;/pre&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;.text:004010B0 sub1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:004010B0&lt;/pre&gt;&lt;pre&gt;.text:004010B0 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:004010B0&lt;/pre&gt;&lt;pre&gt;.text:004010B0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp&lt;/pre&gt;&lt;pre&gt;.text:004010B1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp, esp&lt;/pre&gt;&lt;pre&gt;.text:004010B3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [ebp+a]&lt;/pre&gt;&lt;pre&gt;.text:004010B6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sub&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 1&lt;/pre&gt;&lt;pre&gt;.text:004010B9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp&lt;/pre&gt;&lt;pre&gt;.text:004010BA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:004010BA sub1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;.text:004010C0 sub&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:004010C0&lt;/pre&gt;&lt;pre&gt;.text:004010C0 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:004010C0 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 0Ch&lt;/pre&gt;&lt;pre&gt;.text:004010C0&lt;/pre&gt;&lt;pre&gt;.text:004010C0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp&lt;/pre&gt;&lt;pre&gt;.text:004010C1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp, esp&lt;/pre&gt;&lt;pre&gt;.text:004010C3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [ebp+a]&lt;/pre&gt;&lt;pre&gt;.text:004010C6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sub&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [ebp+b]&lt;/pre&gt;&lt;pre&gt;.text:004010C9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp&lt;/pre&gt;&lt;pre&gt;.text:004010CA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:004010CA sub&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Alright, pretty self explainatory.&amp;nbsp; How about multiplication?&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;int mult(int a, int b)&lt;/pre&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return(a * b);&lt;/pre&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;.text:004010E0 mult&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:004010E0&lt;/pre&gt;&lt;pre&gt;.text:004010E0 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:004010E0 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 0Ch&lt;/pre&gt;&lt;pre&gt;.text:004010E0&lt;/pre&gt;&lt;pre&gt;.text:004010E0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp&lt;/pre&gt;&lt;pre&gt;.text:004010E1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp, esp&lt;/pre&gt;&lt;pre&gt;.text:004010E3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [ebp+a]&lt;/pre&gt;&lt;pre&gt;.text:004010E6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imul&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [ebp+b]&lt;/pre&gt;&lt;pre&gt;.text:004010EA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp&lt;/pre&gt;&lt;pre&gt;.text:004010EB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:004010EB mult&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;br /&gt;&quot;imul&quot; is used as the &quot;Signed Multiplication&quot; instruction.&amp;nbsp; It has a few variations but in general mutiplies the destination by the source ( eax * b ) and stores it in the destination.&amp;nbsp; A shortened version, using only one operand, will multiply the accumulator&lt;br /&gt;&lt;br /&gt;Division can be the most complicated.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;uint udiv(uint a, uint b)&lt;/pre&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return(a / b);&lt;/pre&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;int sdiv(int a, int b)&lt;/pre&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return(a / b);&lt;/pre&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;.text:00401120 udiv&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:00401120&lt;/pre&gt;&lt;pre&gt;.text:00401120 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:00401120 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 0Ch&lt;/pre&gt;&lt;pre&gt;.text:00401120&lt;/pre&gt;&lt;pre&gt;.text:00401120&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp&lt;/pre&gt;&lt;pre&gt;.text:00401121&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp, esp&lt;/pre&gt;&lt;pre&gt;.text:00401123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [ebp+a]&lt;/pre&gt;&lt;pre&gt;.text:00401126&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xor&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, edx&lt;/pre&gt;&lt;pre&gt;.text:00401128&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; div&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ebp+b]&lt;/pre&gt;&lt;pre&gt;.text:0040112B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp&lt;/pre&gt;&lt;pre&gt;.text:0040112C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:0040112C udiv&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;.text:00401130 sdiv&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:00401130&lt;/pre&gt;&lt;pre&gt;.text:00401130 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:00401130 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 0Ch&lt;/pre&gt;&lt;pre&gt;.text:00401130&lt;/pre&gt;&lt;pre&gt;.text:00401130&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp&lt;/pre&gt;&lt;pre&gt;.text:00401131&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp, esp&lt;/pre&gt;&lt;pre&gt;.text:00401133&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [ebp+a]&lt;/pre&gt;&lt;pre&gt;.text:00401136&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cdq&lt;/pre&gt;&lt;pre&gt;.text:00401137&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idiv&amp;nbsp;&amp;nbsp;&amp;nbsp; [ebp+b]&lt;/pre&gt;&lt;pre&gt;.text:0040113A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp&lt;/pre&gt;&lt;pre&gt;.text:0040113B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:0040113B sdiv&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;br /&gt;As you can see we have two versions.&amp;nbsp; The first function udiv is the division of unsigned integers, and the second is the signed form.&amp;nbsp; With unsigned division we can use the simple &quot;div&quot; mnemonic.&amp;nbsp; It will divide eax by its source operand.&amp;nbsp; In this case you see we move argument 1 to eax then issue the &quot;div&quot; instruction with argument 2 as its operand.&amp;nbsp; This is faily straight forward except we have to remember that we may also have a remainder.&amp;nbsp; The remainder for a 32 bit operation will be stored in EDX and the quotient in EAX like we stated.&amp;nbsp; This often has a representation in assembly documentation of EDX:EAX.&lt;br /&gt;&lt;br /&gt;Signed division requires an additional step, and a different instruction to handle the signed arithmetic.&amp;nbsp; Before we can divide a signed dword we must convert it to a sign extended quad word using the cdq instruction.&amp;nbsp; Then we can perform the division using the signed divide instruction &quot;idiv&quot;.&amp;nbsp; Just like our unsigned counterpart we will divide EAX by the first operand storing it back in EAX and the remainder in EDX.&amp;nbsp; Keep in mind when working with 16-bit, and 8-bit numbers we must use their equivalent registers and they may use a single register for both the quotient and remainder.&lt;br /&gt;&lt;br /&gt;The last one we will look at is modulo.&amp;nbsp; I put this in here because it demonstrates using only the remainder in division.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;uint umod(uint a, uint b)&lt;/pre&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return(a % b);&lt;/pre&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;int smod(int a, int b)&lt;/pre&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return(a % b);&lt;/pre&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;.text:00401140 umod&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; CODE XREF: j_umodj&lt;/pre&gt;&lt;pre&gt;.text:00401140&lt;/pre&gt;&lt;pre&gt;.text:00401140 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:00401140 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 0Ch&lt;/pre&gt;&lt;pre&gt;.text:00401140&lt;/pre&gt;&lt;pre&gt;.text:00401140&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp&lt;/pre&gt;&lt;pre&gt;.text:00401141&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp, esp&lt;/pre&gt;&lt;pre&gt;.text:00401143&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [ebp+a]&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&amp;nbsp; (file arith.c line 59)&lt;/pre&gt;&lt;pre&gt;.text:00401146&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xor&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, edx&lt;/pre&gt;&lt;pre&gt;.text:00401148&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; div&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ebp+b]&lt;/pre&gt;&lt;pre&gt;.text:0040114B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, edx&lt;/pre&gt;&lt;pre&gt;.text:0040114D&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&amp;nbsp; (file arith.c line 60)&lt;/pre&gt;&lt;pre&gt;.text:0040114E&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:0040114E umod&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;.text:00401150 smod&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; CODE XREF: j_smodj&lt;/pre&gt;&lt;pre&gt;.text:00401150&lt;/pre&gt;&lt;pre&gt;.text:00401150 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:00401150 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 0Ch&lt;/pre&gt;&lt;pre&gt;.text:00401150&lt;/pre&gt;&lt;pre&gt;.text:00401150&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp&lt;/pre&gt;&lt;pre&gt;.text:00401151&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp, esp&lt;/pre&gt;&lt;pre&gt;.text:00401153&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [ebp+a]&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&amp;nbsp; (file arith.c line 64)&lt;/pre&gt;&lt;pre&gt;.text:00401156&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cdq&lt;/pre&gt;&lt;pre&gt;.text:00401157&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idiv&amp;nbsp;&amp;nbsp;&amp;nbsp; [ebp+b]&lt;/pre&gt;&lt;pre&gt;.text:0040115A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, edx&lt;/pre&gt;&lt;pre&gt;.text:0040115C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&amp;nbsp; (file arith.c line 65)&lt;/pre&gt;&lt;pre&gt;.text:0040115D&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:0040115D smod&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;br /&gt;Just like our unsigned and signed division except we only keep the remainder by moving EDX into the return register EAX.&lt;br /&gt;&lt;br /&gt;Lets take this one step further and talk about optimization.&amp;nbsp; I will cover a very very very tiny aspect of optimization as it relates to our examples above.&amp;nbsp; First thing we must realize is a lot of the complex instruction like &quot;imul&quot;, and &quot;idiv&quot; are very slow.&amp;nbsp; In my documents, which only list 486 clock cycles, an &quot;imul&quot; instruction can take between 13 and 42 clock cycles. &quot;idiv&quot; with a 32-bit memory location can take a guaranteed 44 clock cycles.&amp;nbsp; This is huge when you consider &quot;inc&quot; takes 1 in almost every case.&lt;br /&gt;&lt;br /&gt;Turning on optimization makes the compiler try as hard as it can to reduce these costly instructions.&amp;nbsp; You will notice our previous example of adding 1 to a argument. The unoptimized output was a sloppy.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;.text:00401096&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 1&lt;/pre&gt;&lt;br /&gt;When it should be.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;.text:00401094&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; inc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax&lt;/pre&gt;&lt;br /&gt;Looking these up they both may be the same clock speed, but inc eax takes up fewer bytes, so optimization isnt *always* about speed :).&amp;nbsp; We can also see the same thing for subtraction.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;.text:004010B6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sub&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 1&lt;/pre&gt;&lt;br /&gt;Becomes.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;.text:004010B4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dec&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax&lt;/pre&gt;&lt;br /&gt;Not bad.&amp;nbsp; But the real savings happens in the more complex computations like multiplication and division.&amp;nbsp; Take a look at multiplying by 2.&amp;nbsp; Unoptimized we see something different from the &quot;imul&quot; instruction.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;int mult2(int a)&lt;/pre&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return(a * 2);&lt;/pre&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;.text:004010B3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [ebp+a]&lt;/pre&gt;&lt;pre&gt;.text:004010B6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 1&lt;/pre&gt;&lt;br /&gt;Ahh well that makes since, a binary shift of 1 is just like multiplying by 2.&amp;nbsp; But &quot;shl&quot; take a couple of clock cycles, so lets look at an optimized version.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;.text:00416A60&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+a]&lt;/pre&gt;&lt;pre&gt;.text:00416A64&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, eax&lt;/pre&gt;&lt;br /&gt;Well of course.&amp;nbsp; When optimized, what was specified as multiplication by two, is simplified to the obvious addition of itself resulting in a gain of performance.&amp;nbsp; Lets look at some other multiplication time savers.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;.text:00416A70 mult10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:00416A70&lt;/pre&gt;&lt;pre&gt;.text:00416A70 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 4&lt;/pre&gt;&lt;pre&gt;.text:00416A70 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:00416A70&lt;/pre&gt;&lt;pre&gt;.text:00416A70&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+a]&lt;/pre&gt;&lt;pre&gt;.text:00416A74&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [eax+eax*4]&lt;/pre&gt;&lt;pre&gt;.text:00416A77&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, eax&lt;/pre&gt;&lt;pre&gt;.text:00416A79&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:00416A79 mult10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;br /&gt;Multiplication by 10 can be sped up by saying (a + (a * 4)) * 2.&amp;nbsp; Notice the use of &quot;lea&quot; for quick pointer aligned multiplication, this is used frequently since &quot;lea&quot; executes relatively fast.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;.text:00416A90 mult12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:00416A90&lt;/pre&gt;&lt;pre&gt;.text:00416A90 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 4&lt;/pre&gt;&lt;pre&gt;.text:00416A90 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:00416A90&lt;/pre&gt;&lt;pre&gt;.text:00416A90&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+a]&lt;/pre&gt;&lt;pre&gt;.text:00416A94&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [eax+eax*2]&lt;/pre&gt;&lt;pre&gt;.text:00416A97&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, eax&lt;/pre&gt;&lt;pre&gt;.text:00416A99&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, eax&lt;/pre&gt;&lt;pre&gt;.text:00416A9B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:00416A9B mult12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;br /&gt;Ohh cool we do almost the equivalent of mult10 except half it and add twice.&amp;nbsp; I see some patterns forming here.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;.text:00416AB0 mult14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:00416AB0&lt;/pre&gt;&lt;pre&gt;.text:00416AB0 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 4&lt;/pre&gt;&lt;pre&gt;.text:00416AB0 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:00416AB0&lt;/pre&gt;&lt;pre&gt;.text:00416AB0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ecx, [esp+a]&lt;/pre&gt;&lt;pre&gt;.text:00416AB4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, ds:0[ecx*8]&lt;/pre&gt;&lt;pre&gt;.text:00416ABB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sub&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, ecx&lt;/pre&gt;&lt;pre&gt;.text:00416ABD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, eax&lt;/pre&gt;&lt;pre&gt;.text:00416ABF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:00416ABF mult14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;br /&gt;Again &quot;lea&quot; is used, then subtracting the original from the product, and multiplying by 2.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;.text:00416AC0 mult15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:00416AC0&lt;/pre&gt;&lt;pre&gt;.text:00416AC0 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 4&lt;/pre&gt;&lt;pre&gt;.text:00416AC0 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:00416AC0&lt;/pre&gt;&lt;pre&gt;.text:00416AC0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ecx, [esp+a]&lt;/pre&gt;&lt;pre&gt;.text:00416AC4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, ecx&lt;/pre&gt;&lt;pre&gt;.text:00416AC6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 4&lt;/pre&gt;&lt;pre&gt;.text:00416AC9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sub&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, ecx&lt;/pre&gt;&lt;pre&gt;.text:00416ACB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:00416ACB mult15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;.text:00416AD0 mult16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:00416AD0&lt;/pre&gt;&lt;pre&gt;.text:00416AD0 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 4&lt;/pre&gt;&lt;pre&gt;.text:00416AD0 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:00416AD0&lt;/pre&gt;&lt;pre&gt;.text:00416AD0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+a]&lt;/pre&gt;&lt;pre&gt;.text:00416AD4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 4&lt;/pre&gt;&lt;pre&gt;.text:00416AD7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:00416AD7 mult16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Here is the ubiquitous &quot;shl&quot; instruction being used for multiplication.&amp;nbsp; We also see the optimization in the last example of getting the source to 16, then subtracting the original source to get 15.&lt;br /&gt;&lt;br /&gt;The pattern we see here is to first use our fastest multiplication instruction &quot;lea&quot; then fix up the rest of the computation with slower instructions like &quot;add&quot; and &quot;sub&quot;.&amp;nbsp; This must be fun for the developers of compilers.&amp;nbsp; But what about division?&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;.text:004010B0 div10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:004010B0&lt;/pre&gt;&lt;pre&gt;.text:004010B0 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 4&lt;/pre&gt;&lt;pre&gt;.text:004010B0 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:004010B0&lt;/pre&gt;&lt;pre&gt;.text:004010B0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 0CCCCCCCDh&lt;/pre&gt;&lt;pre&gt;.text:004010B5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mul&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp+a]&lt;/pre&gt;&lt;pre&gt;.text:004010B9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, 3&lt;/pre&gt;&lt;pre&gt;.text:004010BC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, edx&lt;/pre&gt;&lt;pre&gt;.text:004010BE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:004010BE div10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;.text:004010C0 div11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:004010C0&lt;/pre&gt;&lt;pre&gt;.text:004010C0 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 4&lt;/pre&gt;&lt;pre&gt;.text:004010C0 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:004010C0&lt;/pre&gt;&lt;pre&gt;.text:004010C0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 0BA2E8BA3h&lt;/pre&gt;&lt;pre&gt;.text:004010C5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mul&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp+a]&lt;/pre&gt;&lt;pre&gt;.text:004010C9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, 3&lt;/pre&gt;&lt;pre&gt;.text:004010CC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, edx&lt;/pre&gt;&lt;pre&gt;.text:004010CE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:004010CE div11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;.text:004010D0 div12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:004010D0&lt;/pre&gt;&lt;pre&gt;.text:004010D0 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 4&lt;/pre&gt;&lt;pre&gt;.text:004010D0 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:004010D0&lt;/pre&gt;&lt;pre&gt;.text:004010D0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 0AAAAAAABh&lt;/pre&gt;&lt;pre&gt;.text:004010D5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mul&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp+a]&lt;/pre&gt;&lt;pre&gt;.text:004010D9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, 3&lt;/pre&gt;&lt;pre&gt;.text:004010DC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, edx&lt;/pre&gt;&lt;pre&gt;.text:004010DE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:004010DE div12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;.text:004010E0 div13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:004010E0&lt;/pre&gt;&lt;pre&gt;.text:004010E0 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 4&lt;/pre&gt;&lt;pre&gt;.text:004010E0 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:004010E0&lt;/pre&gt;&lt;pre&gt;.text:004010E0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 4EC4EC4Fh&lt;/pre&gt;&lt;pre&gt;.text:004010E5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mul&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp+a]&lt;/pre&gt;&lt;pre&gt;.text:004010E9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, 2&lt;/pre&gt;&lt;pre&gt;.text:004010EC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, edx&lt;/pre&gt;&lt;pre&gt;.text:004010EE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:004010EE div13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;.text:004010F0 div14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:004010F0&lt;/pre&gt;&lt;pre&gt;.text:004010F0 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 4&lt;/pre&gt;&lt;pre&gt;.text:004010F0 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:004010F0&lt;/pre&gt;&lt;pre&gt;.text:004010F0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ecx, [esp+a]&lt;/pre&gt;&lt;pre&gt;.text:004010F4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 24924925h&lt;/pre&gt;&lt;pre&gt;.text:004010F9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mul&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ecx&lt;/pre&gt;&lt;pre&gt;.text:004010FB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, ecx&lt;/pre&gt;&lt;pre&gt;.text:004010FD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sub&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, edx&lt;/pre&gt;&lt;pre&gt;.text:004010FF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 1&lt;/pre&gt;&lt;pre&gt;.text:00401101&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, edx&lt;/pre&gt;&lt;pre&gt;.text:00401103&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 3&lt;/pre&gt;&lt;pre&gt;.text:00401106&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:00401106 div14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;.text:00401110 div15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:00401110&lt;/pre&gt;&lt;pre&gt;.text:00401110 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 4&lt;/pre&gt;&lt;pre&gt;.text:00401110 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:00401110&lt;/pre&gt;&lt;pre&gt;.text:00401110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 88888889h&lt;/pre&gt;&lt;pre&gt;.text:00401115&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mul&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp+a]&lt;/pre&gt;&lt;pre&gt;.text:00401119&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, 3&lt;/pre&gt;&lt;pre&gt;.text:0040111C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, edx&lt;/pre&gt;&lt;pre&gt;.text:0040111E&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:0040111E div15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;.text:00401120 div16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:00401120&lt;/pre&gt;&lt;pre&gt;.text:00401120 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 4&lt;/pre&gt;&lt;pre&gt;.text:00401120 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:00401120&lt;/pre&gt;&lt;pre&gt;.text:00401120&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+a]&lt;/pre&gt;&lt;pre&gt;.text:00401124&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 4&lt;/pre&gt;&lt;pre&gt;.text:00401127&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:00401127 div16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;br /&gt;Here is some examples of unsigned division being optimized.&amp;nbsp; Whats confusing at first is we multiply then shift to get our result.&amp;nbsp; The immediate values we see are considered &quot;Magic numbers&quot;, or simply numbers you can multiply a constant by to make it mod 2**32.&amp;nbsp; This lets us then shift the binary number the needed amount to arrive out our result.&amp;nbsp; Lets see what happens when you do 30 / 15.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000001e&lt;/pre&gt;&lt;pre&gt;x&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x88888889&lt;/pre&gt;&lt;pre&gt;---------------------&lt;/pre&gt;&lt;pre&gt;0x00000010:0x0000000e&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;0x00000010 &amp;gt;&amp;gt; 2 = 0x2&lt;/pre&gt;&lt;br /&gt;Like we saw with our multiplication optimizations we see the same idea applied to division.&amp;nbsp; See if you can understand the same functions using signed values.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;.text:004010B0 div10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:004010B0&lt;/pre&gt;&lt;pre&gt;.text:004010B0 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 4&lt;/pre&gt;&lt;pre&gt;.text:004010B0 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:004010B0&lt;/pre&gt;&lt;pre&gt;.text:004010B0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ecx, [esp+a]&lt;/pre&gt;&lt;pre&gt;.text:004010B4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 66666667h&lt;/pre&gt;&lt;pre&gt;.text:004010B9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imul&amp;nbsp;&amp;nbsp;&amp;nbsp; ecx&lt;/pre&gt;&lt;pre&gt;.text:004010BB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sar&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, 2&lt;/pre&gt;&lt;pre&gt;.text:004010BE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, edx&lt;/pre&gt;&lt;pre&gt;.text:004010C0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 1Fh&lt;/pre&gt;&lt;pre&gt;.text:004010C3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, edx&lt;/pre&gt;&lt;pre&gt;.text:004010C5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:004010C5 div10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;.text:004010D0 div11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:004010D0&lt;/pre&gt;&lt;pre&gt;.text:004010D0 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 4&lt;/pre&gt;&lt;pre&gt;.text:004010D0 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:004010D0&lt;/pre&gt;&lt;pre&gt;.text:004010D0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ecx, [esp+a]&lt;/pre&gt;&lt;pre&gt;.text:004010D4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 2E8BA2E9h&lt;/pre&gt;&lt;pre&gt;.text:004010D9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imul&amp;nbsp;&amp;nbsp;&amp;nbsp; ecx&lt;/pre&gt;&lt;pre&gt;.text:004010DB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sar&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, 1&lt;/pre&gt;&lt;pre&gt;.text:004010DD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, edx&lt;/pre&gt;&lt;pre&gt;.text:004010DF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 1Fh&lt;/pre&gt;&lt;pre&gt;.text:004010E2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, edx&lt;/pre&gt;&lt;pre&gt;.text:004010E4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:004010E4 div11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;.text:004010F0 div12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:004010F0&lt;/pre&gt;&lt;pre&gt;.text:004010F0 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 4&lt;/pre&gt;&lt;pre&gt;.text:004010F0 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:004010F0&lt;/pre&gt;&lt;pre&gt;.text:004010F0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ecx, [esp+a]&lt;/pre&gt;&lt;pre&gt;.text:004010F4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 2AAAAAABh&lt;/pre&gt;&lt;pre&gt;.text:004010F9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imul&amp;nbsp;&amp;nbsp;&amp;nbsp; ecx&lt;/pre&gt;&lt;pre&gt;.text:004010FB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sar&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, 1&lt;/pre&gt;&lt;pre&gt;.text:004010FD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, edx&lt;/pre&gt;&lt;pre&gt;.text:004010FF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 1Fh&lt;/pre&gt;&lt;pre&gt;.text:00401102&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, edx&lt;/pre&gt;&lt;pre&gt;.text:00401104&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:00401104 div12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;.text:00401110 div13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:00401110&lt;/pre&gt;&lt;pre&gt;.text:00401110 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 4&lt;/pre&gt;&lt;pre&gt;.text:00401110 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:00401110&lt;/pre&gt;&lt;pre&gt;.text:00401110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ecx, [esp+a]&lt;/pre&gt;&lt;pre&gt;.text:00401114&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 4EC4EC4Fh&lt;/pre&gt;&lt;pre&gt;.text:00401119&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imul&amp;nbsp;&amp;nbsp;&amp;nbsp; ecx&lt;/pre&gt;&lt;pre&gt;.text:0040111B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sar&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, 2&lt;/pre&gt;&lt;pre&gt;.text:0040111E&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, edx&lt;/pre&gt;&lt;pre&gt;.text:00401120&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 1Fh&lt;/pre&gt;&lt;pre&gt;.text:00401123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, edx&lt;/pre&gt;&lt;pre&gt;.text:00401125&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:00401125 div13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;.text:00401130 div14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:00401130&lt;/pre&gt;&lt;pre&gt;.text:00401130 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 4&lt;/pre&gt;&lt;pre&gt;.text:00401130 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:00401130&lt;/pre&gt;&lt;pre&gt;.text:00401130&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ecx, [esp+a]&lt;/pre&gt;&lt;pre&gt;.text:00401134&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 92492493h&lt;/pre&gt;&lt;pre&gt;.text:00401139&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imul&amp;nbsp;&amp;nbsp;&amp;nbsp; ecx&lt;/pre&gt;&lt;pre&gt;.text:0040113B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, ecx&lt;/pre&gt;&lt;pre&gt;.text:0040113D&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sar&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, 3&lt;/pre&gt;&lt;pre&gt;.text:00401140&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, edx&lt;/pre&gt;&lt;pre&gt;.text:00401142&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 1Fh&lt;/pre&gt;&lt;pre&gt;.text:00401145&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, edx&lt;/pre&gt;&lt;pre&gt;.text:00401147&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:00401147 div14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;.text:00401150 div15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:00401150&lt;/pre&gt;&lt;pre&gt;.text:00401150 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 4&lt;/pre&gt;&lt;pre&gt;.text:00401150 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:00401150&lt;/pre&gt;&lt;pre&gt;.text:00401150&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ecx, [esp+a]&lt;/pre&gt;&lt;pre&gt;.text:00401154&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 88888889h&lt;/pre&gt;&lt;pre&gt;.text:00401159&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imul&amp;nbsp;&amp;nbsp;&amp;nbsp; ecx&lt;/pre&gt;&lt;pre&gt;.text:0040115B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, ecx&lt;/pre&gt;&lt;pre&gt;.text:0040115D&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sar&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, 3&lt;/pre&gt;&lt;pre&gt;.text:00401160&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, edx&lt;/pre&gt;&lt;pre&gt;.text:00401162&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 1Fh&lt;/pre&gt;&lt;pre&gt;.text:00401165&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, edx&lt;/pre&gt;&lt;pre&gt;.text:00401167&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:00401167 div15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;.text:00401170 div16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc near&lt;/pre&gt;&lt;pre&gt;.text:00401170&lt;/pre&gt;&lt;pre&gt;.text:00401170 a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 4&lt;/pre&gt;&lt;pre&gt;.text:00401170 b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dword ptr&amp;nbsp; 8&lt;/pre&gt;&lt;pre&gt;.text:00401170&lt;/pre&gt;&lt;pre&gt;.text:00401170&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+a]&lt;/pre&gt;&lt;pre&gt;.text:00401174&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cdq&lt;/pre&gt;&lt;pre&gt;.text:00401175&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, 0Fh&lt;/pre&gt;&lt;pre&gt;.text:00401178&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, edx&lt;/pre&gt;&lt;pre&gt;.text:0040117A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sar&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 4&lt;/pre&gt;&lt;pre&gt;.text:0040117D&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/pre&gt;&lt;pre&gt;.text:0040117D div16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/pre&gt;&lt;br /&gt;Pretty much the same thing just accounting for the signed bit.&lt;br /&gt;&lt;br /&gt;Arithmetic in assembly can look daunting, especially when you get into signed division.&amp;nbsp; I hope this has at least inspired you to dig deeper and try to truely grasp this topic.&amp;nbsp; It comes in handy when you see a string of instructions that look complicated.&amp;nbsp; Instead of getting frustrated, you can simply say &quot;oh i know that, its just division by 15&quot;.&lt;br /&gt;&lt;br /&gt;If you really want to get into this grab a copy of the book &quot;&lt;a href=&quot;http://www.hackersdelight.org/&quot;&gt;Hackers Delight&lt;/a&gt;&quot; by Henry S. Warren Jr.&amp;nbsp; Be forewarned, that book is intense.&lt;br /&gt;&lt;br /&gt;Hope you enjoyed another installment of MindshaRE (Even if I was a day late).&lt;br /&gt;&lt;br /&gt;-Cody &lt;br /&gt;</description>
	<pubDate>Fri, 15 Aug 2008 22:45:15 +0000</pubDate>
</item>
<item>
	<title>Research - DVLabs: ThreatLinQ: Movers and Shakers</title>
	<guid>http://dvlabs.tippingpoint.com/blog/2008/08/15/threatlinq-movers-and-shakers</guid>
	<link>http://dvlabs.tippingpoint.com/blog/2008/08/15/threatlinq-movers-and-shakers</link>
	<description>Posted by Marc Eisenbarth&lt;br /&gt;&lt;img src=&quot;http://feeds.feedburner.com/../../../../../pub/meisenbarth/ThreatLinQ-1401.PNG&quot; align=&quot;top&quot; /&gt;Here we are looking at a filter that
recently made the ThreatLinQ ???Movers and Shakers??? list, namely filter 1401 ???MS-SQL:
Login Failure.??? We began watching this filter around 7-20-08 and it seems that it was just in time. On 7-21-08
we saw a sharp increase in filter hits and the majority of these hits are unique destination IP addressees, which is denoted by the blue bar.
This pattern is often indicative of brute force attacks and
distributed denial of service (DDoS) attacks. Drilling down into this data,
we see that the top source IP address 82.165.180.111 is responsible
for this spike in hits. Further investigation into this IP address
shows that  there are a number of source ports in the ephemeral range
and each of these ports sees approximately the same number of hits.
This even port distribution seems to corroborate our assumption that
this is indeed a brute force attack. I did a bit more research on port patterns used by various SQL brute forcing tools and I found a number of matches in the ThreatLinQ dataset that could be attributed to the &lt;a href=&quot;http://www.sqlsecurity.com/&quot;&gt;sqlping3&lt;/a&gt; tool.&lt;br /&gt;

&lt;p&gt; I hope this example shows how ThreatLinQ users can
take a specific feature of interest in a top level graph, and by
drilling down into the data, formulate a verifiable sequence of
events in a matter of minutes.&lt;/p&gt;
&amp;nbsp;</description>
	<pubDate>Fri, 15 Aug 2008 21:40:13 +0000</pubDate>
</item>
<item>
	<title>Blogs - Schneier On Security: XKCD on Voting Machine Security</title>
	<guid>http://www.schneier.com/blog/archives/2008/08/xkcd_on_voting.html</guid>
	<link>http://www.schneier.com/blog/archives/2008/08/xkcd_on_voting.html</link>
	<description>This comment is absolutely correct....&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?a=z0JUKK&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?i=z0JUKK&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Fri, 15 Aug 2008 18:55:03 +0000</pubDate>
</item>
<item>
	<title>Blogs - Schneier On Security: UK Police Seize War on Terror Board Game</title>
	<guid>http://www.schneier.com/blog/archives/2008/08/uk_police_seize.html</guid>
	<link>http://www.schneier.com/blog/archives/2008/08/uk_police_seize.html</link>
	<description>They said -- and it's almost too stupid to believe -- that: the balaclava &quot;could be used to conceal someone's identity or could be used in the course of a criminal act&quot;. Don't they realize that balaclavas are for sale everywhere in the UK? Or that scarves, hoods, handkerchiefs, and dark glasses could also be used to conceal someone's identity?...&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?a=zwvlnK&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?i=zwvlnK&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Fri, 15 Aug 2008 12:50:02 +0000</pubDate>
</item>
<item>
	<title>Blogs - The Dark Visitor: Up is down, right is left, dogs and cats living together…Chinese hackers on holiday</title>
	<guid>http://www.thedarkvisitor.com/?p=405</guid>
	<link>http://feeds.feedburner.com/~r/TheDarkVisitor/~3/365259009/</link>
	<description>&lt;p&gt;Yeah, the posts have been coming slow lately but some of you may have heard about a little event going on in China called the Olympics.  Chinese hackers watching sporting events, worried about foreign hackers attacking them&amp;#8230;my world is completely upside down.&lt;/p&gt;
&lt;p&gt;The boys and girls from 3800hk.com, the &lt;a href=&quot;http://www.thedarkvisitor.com/2008/01/3800hkcom-chinese-largest-online-hacker-school/&quot;&gt;largest Chinese hacker training site&lt;/a&gt;, take over 20 of their &amp;#8220;employees&amp;#8221; out to enjoy the games.  Plus, they love them some Mr. Yao Ming:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.thedarkvisitor.com/wp-content/uploads/2008/08/3800hkolympics.jpg&quot;&gt;&lt;img class=&quot;size-full wp-image-406 aligncenter&quot; title=&quot;3800hkolympics&quot; src=&quot;http://www.thedarkvisitor.com/wp-content/uploads/2008/08/3800hkolympics.jpg&quot; alt=&quot;&quot; width=&quot;470&quot; height=&quot;385&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.thedarkvisitor.com/wp-content/uploads/2008/08/3800hkolympics2.jpg&quot;&gt;&lt;img class=&quot;size-full wp-image-407 aligncenter&quot; title=&quot;3800hkolympics2&quot; src=&quot;http://www.thedarkvisitor.com/wp-content/uploads/2008/08/3800hkolympics2.jpg&quot; alt=&quot;&quot; width=&quot;472&quot; height=&quot;377&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.thedarkvisitor.com/wp-content/uploads/2008/08/3800hkolympics3.jpg&quot;&gt;&lt;img class=&quot;size-full wp-image-411 aligncenter&quot; title=&quot;3800hkolympics3&quot; src=&quot;http://www.thedarkvisitor.com/wp-content/uploads/2008/08/3800hkolympics3.jpg&quot; alt=&quot;&quot; width=&quot;467&quot; height=&quot;383&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;More pictures of their adventure &lt;a href=&quot;http://www.3800hk.com/news/w51/139359.html&quot;&gt;here&lt;/a&gt; if you are interested&amp;#8230;but pretty much the same as these.&lt;/p&gt;
&lt;p class=&quot;addtoany_share_save_container&quot;&gt;
    &lt;a class=&quot;a2a_dd addtoany_share_save&quot; href=&quot;http://www.addtoany.com/share_save?sitename=The%20Dark%20Visitor&amp;amp;siteurl=http%3A%2F%2Fwww.thedarkvisitor.com%2F&amp;amp;linkname=Up%20is%20down%2C%20right%20is%20left%2C%20dogs%20and%20cats%20living%20together%E2%80%A6Chinese%20hackers%20on%20holiday&amp;amp;linkurl=http%3A%2F%2Fwww.thedarkvisitor.com%2F2008%2F08%2Fup-is-down-right-is-left-dogs-and-cats-living-togetherchinese-hackers-on-holiday%2F&quot;&gt;&lt;img src=&quot;http://www.thedarkvisitor.com/wp-content/plugins/add-to-any/share_save_120_16.gif&quot; width=&quot;120&quot; height=&quot;16&quot; alt=&quot;Share/Save/Bookmark&quot; /&gt;&lt;/a&gt;
    
    

	&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://feeds.feedburner.com/~a/TheDarkVisitor?a=7yIweF&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~a/TheDarkVisitor?i=7yIweF&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/TheDarkVisitor?a=XRQ9kK&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/TheDarkVisitor?i=XRQ9kK&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/TheDarkVisitor/~4/365259009&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Fri, 15 Aug 2008 01:10:38 +0000</pubDate>
	<dc:creator>Heike</dc:creator>
</item>
<item>
	<title>Blogs - Schneier On Security: Kids with Cell Phones in Emergencies</title>
	<guid>http://www.schneier.com/blog/archives/2008/08/kids_with_cell.html</guid>
	<link>http://www.schneier.com/blog/archives/2008/08/kids_with_cell.html</link>
	<description>In the middle of a sensationalist article about risks to children and how giving them cell phones can help, there's at least one person who gets it. Since the 1999 Columbine High School shootings and the 9/11 terrorist attacks, many parents feel better having a way to contact their children. But hundreds of students on cell phones during an emergency...&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?a=pURTCK&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?i=pURTCK&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Thu, 14 Aug 2008 18:20:24 +0000</pubDate>
</item>
<item>
	<title>Research - DVLabs: ThreatLinQ: Javascript Bad Juju</title>
	<guid>http://dvlabs.tippingpoint.com/blog/2008/08/14/threatlinq-javascript-bad-juju</guid>
	<link>http://dvlabs.tippingpoint.com/blog/2008/08/14/threatlinq-javascript-bad-juju</link>
	<description>Posted by Rohit Dhamankar&lt;br /&gt;The game of obfuscating especially JavaScript code has been going on for a while. The attackers are coming up with simple and ingenious ways to evade &quot;string&quot;-based detection. One of our sensors caught this clever technique for evading string-based detection of ActiveX CLSIDs. With hundreds of ActiveX vulnerabilities out there, it is very common to see a massive exploitation of them. &lt;br /&gt;&lt;br /&gt;Here is a cool trick we saw in action:&lt;pre&gt;&amp;lt;script&amp;gt;&lt;/pre&gt;&lt;pre&gt;start();&lt;/pre&gt;&lt;pre&gt;function z_sa(o,p,v){ o.setAttribute(p,v); }&lt;/pre&gt;&lt;pre&gt;function start(){&lt;/pre&gt;&lt;pre&gt;var z = document.createElement('object'); z_sa(z,'id','z');&lt;/pre&gt;&lt;pre&gt;z_sa(z,'classid',&quot;cjlWsTiWdI:HBWDH9T6jCT5T5H6T-T6I5IAj3j-&quot;&lt;br /&gt;&lt;br /&gt;&quot;W1W1IDH0I-W9H8W3HAT-I0T0WCH0W4jFICW2T9TEI3T6T&quot;.replace(/[WHjIT]/g, ''));&lt;/pre&gt;&lt;p&gt;Let's look at:&lt;/p&gt;&lt;pre&gt;&quot;cjlWsTiWdI:HBWDH9T6jCT5T5H6T-T6I5IAj3j-&quot;&lt;br /&gt;&lt;br /&gt;&quot;W1W1IDH0I-W9H8W3HAT-I0T0WCH0W4jFICW2T9TEI3T6T&quot;.replace(/[WHjIT]/g, '')&lt;/pre&gt;&lt;p&gt;The JavaScript replace function replaces any instances of letter &quot;W&quot;, &quot;H&quot;, &quot;j&quot;, &quot;I&quot;, &quot;T&quot; with emptiness!&lt;/p&gt;After replacement, the string reduces to: clsid:BD96C556-65A3-11D0-983A-00C04FC29E36&lt;br /&gt;&lt;br /&gt;This CLSID is for RDS.Dataspace ActiveX control, and the exploit targets the vulnerability explained in the Microsoft Security Bulletin &lt;a href=&quot;http://www.microsoft.com/technet/security/Bulletin/ms06-014.mspx&quot;&gt;MS06-014&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Whoever is serving this exploit, can also create a layer that throws in random letters in the &quot;replace&quot; function to serve a new obfuscated CLSID string every time!&lt;br /&gt;&lt;br /&gt;Credits: &quot;Bad Juju&quot; is a phrase I most often hear from the cowboy in the DV team - &lt;a href=&quot;http://feeds.feedburner.com/../../../../../team/wblackard&quot;&gt;Wayne Blackard&lt;/a&gt;</description>
	<pubDate>Thu, 14 Aug 2008 14:44:51 +0000</pubDate>
</item>
<item>
	<title>Blogs - Schneier On Security: Data Mining to Detect Pump-and-Dump Scams</title>
	<guid>http://www.schneier.com/blog/archives/2008/08/data_mining_to.html</guid>
	<link>http://www.schneier.com/blog/archives/2008/08/data_mining_to.html</link>
	<description>I don't know any of the details, but this seems like a good use of data mining: Mr Tancredi said Verisign's fraud detection kit would help &quot;decrease the time between the attack being launched and the brokerage being able to respond&quot;. Before now, he said, brokerages relied on counter measures such as restrictive stock trading or analysis packages that only...&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?a=KLzmlK&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?i=KLzmlK&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Thu, 14 Aug 2008 12:10:34 +0000</pubDate>
</item>
<item>
	<title>Blogs - Darknet: raWPacket HeX - Network Security Monitoring &amp; Analysis LiveCD</title>
	<guid>http://www.darknet.org.uk/?p=929</guid>
	<link>http://www.darknet.org.uk/2008/08/rawpacket-hex-network-security-monitoring-analysis-livecd/</link>
	<description>HeX is a project aimed at the NSM (Network Security Monitoring) community for use by network security analysts. The developers believe that simplicity and analysis work flow logic must be enhanced and emphasized through-out the process of designing this liveCD. Not only have they carefully chosen all the necessary applications and tools to be...&lt;br /&gt;
&lt;br /&gt;
Read the full post at darknet.org.uk
&lt;p&gt;&lt;a href=&quot;http://feeds.feedburner.com/~a/darknethackers?a=2FOXd7&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~a/darknethackers?i=2FOXd7&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/darknethackers?a=Yn4sYK&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/darknethackers?i=Yn4sYK&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/darknethackers?a=AVryYK&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/darknethackers?i=AVryYK&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/darknethackers?a=1cWNak&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/darknethackers?i=1cWNak&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Wed, 13 Aug 2008 21:01:24 +0000</pubDate>
	<dc:creator>Darknet</dc:creator>
</item>
<item>
	<title>Blogs - Schneier On Security: The Risk of Anthrax</title>
	<guid>http://www.schneier.com/blog/archives/2008/08/the_risk_of_ant.html</guid>
	<link>http://www.schneier.com/blog/archives/2008/08/the_risk_of_ant.html</link>
	<description>Some reality to counter the hype. The Bottom Line While there has been much consternation and alarm-raising over the potential for widespread proliferation of biological weapons and the possible use of such weapons on a massive scale, there are significant constraints on such designs. The current dearth of substantial biological weapons programs and arsenals by governments worldwide, and the even...&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?a=XYueOK&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?i=XYueOK&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Wed, 13 Aug 2008 20:29:10 +0000</pubDate>
</item>
<item>
	<title>Blogs - Schneier On Security: UK National Risk Register</title>
	<guid>http://www.schneier.com/blog/archives/2008/08/uk_national_ris.html</guid>
	<link>http://www.schneier.com/blog/archives/2008/08/uk_national_ris.html</link>
	<description>The UK has made public its previously classified National Risk Register. The National Risk Register is intended to capture the range of emergencies that might have a major impact on all, or significant parts of, the UK. It provides a national picture of the risks we face, and is designed to complement Community Risk Registers, already produced and published locally...&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?a=Z07ZcK&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/schneier/excerpts?i=Z07ZcK&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Wed, 13 Aug 2008 17:05:09 +0000</pubDate>
</item>
<item>
	<title>Research - DVLabs: ThreatLinQ: Bad to the Bone</title>
	<guid>http://dvlabs.tippingpoint.com/blog/2008/08/13/threatlinq-bad-to-the-bone</guid>
	<link>http://dvlabs.tippingpoint.com/blog/2008/08/13/threatlinq-bad-to-the-bone</link>
	<description>Posted by Mike Dausin&lt;br /&gt;If you've gone to any security conference over the last year, you surely have heard that threats on the internet are moving from general purpose, noisy attacks, to highly targeted attacks designed to only attack YOU...personally.&amp;nbsp; Now that the ThreatLinq program is up and running, it is satisfying to notice that many attackers are not only performing their attacks on multiple hosts, they commonly use many different attack vectors and payloads.&amp;nbsp; Take this IP address for instance: 89.156.116.27.&amp;nbsp; On 7-26-2008 this machine suddenly generated several thousand spread across no less than 6 separate filters...definitely not subtle.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Below are the TippingPoint filters, and the number of hits recorded for this particular IP address on 7-26-2008:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;FILTER NAME:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # OF HITS:&lt;/pre&gt;&lt;pre&gt;SMB: Windows Logon Failure&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 17,173&lt;/pre&gt;&lt;pre&gt;SMB: Null Session SetUp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 813&lt;/pre&gt;&lt;pre&gt;SMB: ASN.1 Bitstring Processing Heap Overflow&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 162&lt;/pre&gt;&lt;pre&gt;MS-RPC: DCOM ISystemActivator Overflow&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 32&lt;/pre&gt;&lt;pre&gt;MS-RPC: Windows PlugnPlay Request Anomaly&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 32&lt;/pre&gt;&lt;pre&gt;MS-RPC: LSASS Active Directory Interface Overflow&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description>
	<pubDate>Wed, 13 Aug 2008 12:33:15 +0000</pubDate>
</item>
<item>
	<title>Blogs - GNUCITIZEN: Viva La Defcon!</title>
	<guid>http://www.gnucitizen.org/?p=1043</guid>
	<link>http://www.gnucitizen.org/blog/viva-la-defcon/</link>
	<description>&lt;p&gt;Defcon 16 was awesome! I&amp;#8217;d like to congratulate Dark Tangent and all the Defcon &lt;a href=&quot;https://www.defcon.org/html/links/dc-goons.html&quot;&gt;goons&lt;/a&gt; for such an awesome event.&lt;/p&gt;
&lt;div class=&quot;screen&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/29506227@N02/2757586415/&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3161/2757586415_b2bedee3a0.jpg?v=0&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;This year somehow I managed to meet more people, attend more parties and see more presentations than during previous years. I had the pleasure to meet other fellow researchers for the first time such as &lt;a href=&quot;http://natemcfeters.blogspot.com/&quot;&gt;Nathan McFeters&lt;/a&gt;, &lt;a href=&quot;http://xs-sniper.com/&quot;&gt;Billy (BK) Rios&lt;/a&gt;, &lt;a href=&quot;http://ha.ckers.org/&quot;&gt;RSnake&lt;/a&gt;, &lt;a href=&quot;http://www.fthe.net/&quot;&gt;id&lt;/a&gt; and many others! All of them are security warriors whose research I was familiar with, but had never met in person. It&amp;#8217;s always nice to put a face to a name!&lt;/p&gt;
&lt;p&gt;Although meeting the aforementioned individuals was of course a pleasure as I enjoyed having a nice chat with all of them, perhaps the most special and unexpected encounter was running into Captain Crunch!&lt;/p&gt;
&lt;p&gt;In short, while chilling at the freak show party, I saw an elderly gentleman who appeared to be having a great time at the dance floor. This gentleman called my attention as he appeared to never run out of energy despite his active dancing activity. Eventually, I started noticing his resemblance with &lt;a href=&quot;http://www.webcrunchers.com/crunch/origins.html&quot;&gt;Captain Crunch&lt;/a&gt;. So I told my wife: &lt;em&gt;you know, it&amp;#8217;s funny, but there is this man on the dance floor who looks a lot like a big icon from the early history of hacking: &lt;strong&gt;captain crunch&lt;/strong&gt;&lt;/em&gt;. My wife was familiar with such legend of the hacker culture thanks to having seen &lt;a href=&quot;http://www.moviesfoundonline.com/secret_history_of_hacking.php&quot;&gt;The Secret History of Hacking&lt;/a&gt; and kind of agreed with me regarding his resemblance with Captain Crunch.&lt;/p&gt;
&lt;p&gt;To me it was kind of surreal to find Captain Crunch raving at a Defcon party. Eventually I approached him and said: &lt;em&gt;excuse me, have you ever been told that you look like Captain Crunch?&lt;/em&gt;. And he goes like: &lt;em&gt;I &lt;strong&gt;am&lt;/strong&gt; Captain Crunch!&lt;/em&gt; Amazing, I guess anything is possible at Defcon!
&lt;/p&gt;
&lt;p&gt;Also, I got to hangout with several friends including &lt;a href=&quot;http://www.gnucitizen.org/author/pdp/&quot;&gt;pdp&lt;/a&gt; which is great. Regarding presentations, I saw quite a few, some more relevant to my profession as a pentester than others. My favorites were &lt;a href=&quot;https://www.defcon.org/html/defcon-16/dc-16-speakers.html#Alonso