77f3a2:	83 f8 40             	cmp    $0x40,%eax
77f3a5:	75 ef                	jne    0x77f396
77f3a7:	03 5d 08             	add    0x8(%ebp),%ebx
77f3aa:	89 5c 24 54          	mov    %ebx,0x54(%esp)
77f3ae:	8b 5d 38             	mov    0x38(%ebp),%ebx
77f3b1:	8b 6c 24 44          	mov    0x44(%esp),%ebp
77f3b5:	8b c5                	mov    %ebp,%eax
77f3b7:	33 c6                	xor    %esi,%eax
77f3b9:	23 c7                	and    %edi,%eax
77f3bb:	8b 0b                	mov    (%ebx),%ecx
77f3bd:	33 c5                	xor    %ebp,%eax
77f3bf:	8b 53 04             	mov    0x4(%ebx),%edx
77f3c2:	03 c1                	add    %ecx,%eax
77f3c4:	03 44 24 48          	add    0x48(%esp),%eax
77f3c8:	89 4c 24 10          	mov    %ecx,0x10(%esp)
77f3cc:	8b ce                	mov    %esi,%ecx
77f3ce:	33 cf                	xor    %edi,%ecx
77f3d0:	c1 c0 03             	rol    $0x3,%eax
77f3d3:	23 c8                	and    %eax,%ecx
77f3d5:	89 54 24 2c          	mov    %edx,0x2c(%esp)
77f3d9:	33 ce                	xor    %esi,%ecx
77f3db:	03 ca                	add    %edx,%ecx
77f3dd:	8b d7                	mov    %edi,%edx
77f3df:	33 d0                	xor    %eax,%edx
77f3e1:	03 cd                	add    %ebp,%ecx
77f3e3:	8b 6b 08             	mov    0x8(%ebx),%ebp
77f3e6:	c1 c1 07             	rol    $0x7,%ecx
77f3e9:	23 d1                	and    %ecx,%edx
77f3eb:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
77f3ef:	33 d7                	xor    %edi,%edx
77f3f1:	03 d5                	add    %ebp,%edx
77f3f3:	8b 6b 0c             	mov    0xc(%ebx),%ebp
77f3f6:	03 d6                	add    %esi,%edx
77f3f8:	89 6c 24 3c          	mov    %ebp,0x3c(%esp)
77f3fc:	c1 c2 0b             	rol    $0xb,%edx
77f3ff:	8b f1                	mov    %ecx,%esi
77f401:	33 f0                	xor    %eax,%esi
77f403:	23 f2                	and    %edx,%esi
77f405:	33 f0                	xor    %eax,%esi
77f407:	03 f5                	add    %ebp,%esi
77f409:	8b 6b 10             	mov    0x10(%ebx),%ebp
77f40c:	03 f7                	add    %edi,%esi
77f40e:	89 6c 24 18          	mov    %ebp,0x18(%esp)
77f412:	8b f9                	mov    %ecx,%edi
77f414:	c1 c6 13             	rol    $0x13,%esi
77f417:	33 fa                	xor    %edx,%edi
77f419:	23 fe                	and    %esi,%edi
77f41b:	33 f9                	xor    %ecx,%edi
77f41d:	03 fd                	add    %ebp,%edi
77f41f:	8b 6b 14             	mov    0x14(%ebx),%ebp
77f422:	03 f8                	add    %eax,%edi
77f424:	89 6c 24 34          	mov    %ebp,0x34(%esp)
77f428:	8b c2                	mov    %edx,%eax
77f42a:	c1 c7 03             	rol    $0x3,%edi
77f42d:	33 c6                	xor    %esi,%eax
77f42f:	23 c7                	and    %edi,%eax
77f431:	33 c2                	xor    %edx,%eax
77f433:	03 c5                	add    %ebp,%eax
77f435:	8b 6b 18             	mov    0x18(%ebx),%ebp
77f438:	03 c1                	add    %ecx,%eax
77f43a:	89 6c 24 24          	mov    %ebp,0x24(%esp)
77f43e:	8b ce                	mov    %esi,%ecx
77f440:	c1 c0 07             	rol    $0x7,%eax
77f443:	33 cf                	xor    %edi,%ecx
77f445:	23 c8                	and    %eax,%ecx
77f447:	33 ce                	xor    %esi,%ecx
77f449:	03 cd                	add    %ebp,%ecx
77f44b:	8b 6b 1c             	mov    0x1c(%ebx),%ebp
77f44e:	03 ca                	add    %edx,%ecx
77f450:	89 6c 24 44          	mov    %ebp,0x44(%esp)
77f454:	c1 c1 0b             	rol    $0xb,%ecx
77f457:	8b d0                	mov    %eax,%edx
77f459:	33 d7                	xor    %edi,%edx
77f45b:	23 d1                	and    %ecx,%edx
77f45d:	33 d7                	xor    %edi,%edx
77f45f:	03 d5                	add    %ebp,%edx
77f461:	8b 6b 20             	mov    0x20(%ebx),%ebp
77f464:	03 d6                	add    %esi,%edx
77f466:	89 6c 24 14          	mov    %ebp,0x14(%esp)
77f46a:	8b f0                	mov    %eax,%esi
77f46c:	c1 c2 13             	rol    $0x13,%edx
77f46f:	33 f1                	xor    %ecx,%esi
77f471:	23 f2                	and    %edx,%esi
77f473:	33 f0                	xor    %eax,%esi
77f475:	03 f5                	add    %ebp,%esi
77f477:	8b 6b 24             	mov    0x24(%ebx),%ebp
77f47a:	03 f7                	add    %edi,%esi
77f47c:	89 6c 24 30          	mov    %ebp,0x30(%esp)
77f480:	8b f9                	mov    %ecx,%edi
77f482:	c1 c6 03             	rol    $0x3,%esi
77f485:	33 fa                	xor    %edx,%edi
77f487:	23 fe                	and    %esi,%edi
77f489:	33 f9                	xor    %ecx,%edi
77f48b:	03 fd                	add    %ebp,%edi
77f48d:	8b 6b 28             	mov    0x28(%ebx),%ebp
77f490:	03 f8                	add    %eax,%edi
77f492:	89 6c 24 20          	mov    %ebp,0x20(%esp)
77f496:	c1 c7 07             	rol    $0x7,%edi
77f499:	8b c2                	mov    %edx,%eax
77f49b:	33 c6                	xor    %esi,%eax
77f49d:	23 c7                	and    %edi,%eax
77f49f:	33 c2                	xor    %edx,%eax
77f4a1:	03 c5                	add    %ebp,%eax
77f4a3:	8b 6b 2c             	mov    0x2c(%ebx),%ebp
77f4a6:	03 c1                	add    %ecx,%eax
77f4a8:	89 6c 24 40          	mov    %ebp,0x40(%esp)
77f4ac:	8b cf                	mov    %edi,%ecx
77f4ae:	c1 c0 0b             	rol    $0xb,%eax
77f4b1:	33 ce                	xor    %esi,%ecx
77f4b3:	23 c8                	and    %eax,%ecx
77f4b5:	33 ce                	xor    %esi,%ecx
77f4b7:	03 cd                	add    %ebp,%ecx
77f4b9:	8b 6b 30             	mov    0x30(%ebx),%ebp
77f4bc:	03 ca                	add    %edx,%ecx
77f4be:	8b d7                	mov    %edi,%edx
77f4c0:	c1 c1 13             	rol    $0x13,%ecx
77f4c3:	33 d0                	xor    %eax,%edx
77f4c5:	23 d1                	and    %ecx,%edx
77f4c7:	33 d7                	xor    %edi,%edx
77f4c9:	03 d5                	add    %ebp,%edx
77f4cb:	03 d6                	add    %esi,%edx
77f4cd:	8b 73 34             	mov    0x34(%ebx),%esi
77f4d0:	89 74 24 38          	mov    %esi,0x38(%esp)
77f4d4:	8b f0                	mov    %eax,%esi
77f4d6:	33 f1                	xor    %ecx,%esi
77f4d8:	c1 c2 03             	rol    $0x3,%edx
77f4db:	23 f2                	and    %edx,%esi
77f4dd:	33 f0                	xor    %eax,%esi
77f4df:	03 73 34             	add    0x34(%ebx),%esi
77f4e2:	03 f7                	add    %edi,%esi
77f4e4:	8b 7b 38             	mov    0x38(%ebx),%edi
77f4e7:	89 7c 24 28          	mov    %edi,0x28(%esp)
77f4eb:	8b f9                	mov    %ecx,%edi
77f4ed:	33 fa                	xor    %edx,%edi
77f4ef:	c1 c6 07             	rol    $0x7,%esi
77f4f2:	23 fe                	and    %esi,%edi
77f4f4:	33 f9                	xor    %ecx,%edi
77f4f6:	03 7b 38             	add    0x38(%ebx),%edi
77f4f9:	03 f8                	add    %eax,%edi
77f4fb:	8b 43 3c             	mov    0x3c(%ebx),%eax
77f4fe:	c1 c7 0b             	rol    $0xb,%edi
77f501:	8b de                	mov    %esi,%ebx
77f503:	33 da                	xor    %edx,%ebx
77f505:	89 44 24 48          	mov    %eax,0x48(%esp)
77f509:	23 df                	and    %edi,%ebx
77f50b:	33 da                	xor    %edx,%ebx
77f50d:	03 d8                	add    %eax,%ebx
77f50f:	8b c7                	mov    %edi,%eax
77f511:	03 d9                	add    %ecx,%ebx
77f513:	8b cf                	mov    %edi,%ecx
77f515:	c1 c3 13             	rol    $0x13,%ebx
77f518:	0b cb                	or     %ebx,%ecx
77f51a:	23 c3                	and    %ebx,%eax
77f51c:	23 ce                	and    %esi,%ecx
77f51e:	0b c8                	or     %eax,%ecx
77f520:	8b c3                	mov    %ebx,%eax
77f522:	81 c1 99 79 82 5a    	add    $0x5a827999,%ecx
77f528:	03 4c 24 10          	add    0x10(%esp),%ecx
77f52c:	03 d1                	add    %ecx,%edx
77f52e:	8b cb                	mov    %ebx,%ecx
77f530:	c1 c2 03             	rol    $0x3,%edx
77f533:	0b ca                	or     %edx,%ecx
77f535:	23 cf                	and    %edi,%ecx
77f537:	23 c2                	and    %edx,%eax
77f539:	0b c8                	or     %eax,%ecx
77f53b:	81 c1 99 79 82 5a    	add    $0x5a827999,%ecx
77f541:	03 4c 24 18          	add    0x18(%esp),%ecx
77f545:	03 f1                	add    %ecx,%esi
77f547:	c1 c6 05             	rol    $0x5,%esi
77f54a:	8b ce                	mov    %esi,%ecx
77f54c:	8b c6                	mov    %esi,%eax
77f54e:	0b ca                	or     %edx,%ecx
77f550:	23 c2                	and    %edx,%eax
77f552:	23 cb                	and    %ebx,%ecx
77f554:	0b c8                	or     %eax,%ecx
77f556:	8b c6                	mov    %esi,%eax
77f558:	81 c1 99 79 82 5a    	add    $0x5a827999,%ecx
77f55e:	03 4c 24 14          	add    0x14(%esp),%ecx
77f562:	03 f9                	add    %ecx,%edi
77f564:	8b ce                	mov    %esi,%ecx
77f566:	c1 c7 09             	rol    $0x9,%edi
77f569:	0b cf                	or     %edi,%ecx
77f56b:	23 c7                	and    %edi,%eax
77f56d:	23 ca                	and    %edx,%ecx
77f56f:	0b c8                	or     %eax,%ecx
77f571:	8b c7                	mov    %edi,%eax
77f573:	81 c1 99 79 82 5a    	add    $0x5a827999,%ecx
77f579:	03 cd                	add    %ebp,%ecx
77f57b:	03 d9                	add    %ecx,%ebx
77f57d:	8b cf                	mov    %edi,%ecx
77f57f:	c1 c3 0d             	rol    $0xd,%ebx
77f582:	0b cb                	or     %ebx,%ecx
77f584:	23 c3                	and    %ebx,%eax
77f586:	23 ce                	and    %esi,%ecx
77f588:	0b c8                	or     %eax,%ecx
77f58a:	8b c3                	mov    %ebx,%eax
77f58c:	81 c1 99 79 82 5a    	add    $0x5a827999,%ecx
77f592:	03 4c 24 2c          	add    0x2c(%esp),%ecx
77f596:	03 d1                	add    %ecx,%edx
77f598:	8b cb                	mov    %ebx,%ecx
77f59a:	c1 c2 03             	rol    $0x3,%edx
77f59d:	0b ca                	or     %edx,%ecx
77f59f:	23 c2                	and    %edx,%eax
77f5a1:	23 cf                	and    %edi,%ecx
77f5a3:	0b c8                	or     %eax,%ecx
77f5a5:	81 c1 99 79 82 5a    	add    $0x5a827999,%ecx
77f5ab:	03 4c 24 34          	add    0x34(%esp),%ecx
77f5af:	03 f1                	add    %ecx,%esi
77f5b1:	c1 c6 05             	rol    $0x5,%esi
77f5b4:	8b ce                	mov    %esi,%ecx
77f5b6:	8b c6                	mov    %esi,%eax
77f5b8:	0b ca                	or     %edx,%ecx
77f5ba:	23 c2                	and    %edx,%eax
77f5bc:	23 cb                	and    %ebx,%ecx
77f5be:	0b c8                	or     %eax,%ecx
77f5c0:	8b c6                	mov    %esi,%eax
77f5c2:	81 c1 99 79 82 5a    	add    $0x5a827999,%ecx
77f5c8:	03 4c 24 30          	add    0x30(%esp),%ecx
77f5cc:	03 f9                	add    %ecx,%edi
77f5ce:	8b ce                	mov    %esi,%ecx
77f5d0:	c1 c7 09             	rol    $0x9,%edi
77f5d3:	0b cf                	or     %edi,%ecx
77f5d5:	23 c7                	and    %edi,%eax
77f5d7:	23 ca                	and    %edx,%ecx
77f5d9:	0b c8                	or     %eax,%ecx
77f5db:	8b c7                	mov    %edi,%eax
77f5dd:	81 c1 99 79 82 5a    	add    $0x5a827999,%ecx
77f5e3:	03 4c 24 38          	add    0x38(%esp),%ecx
77f5e7:	03 d9                	add    %ecx,%ebx
77f5e9:	8b cf                	mov    %edi,%ecx
77f5eb:	c1 c3 0d             	rol    $0xd,%ebx
77f5ee:	0b cb                	or     %ebx,%ecx
77f5f0:	23 c3                	and    %ebx,%eax
77f5f2:	23 ce                	and    %esi,%ecx
77f5f4:	0b c8                	or     %eax,%ecx
77f5f6:	8b c3                	mov    %ebx,%eax
77f5f8:	81 c1 99 79 82 5a    	add    $0x5a827999,%ecx
77f5fe:	03 4c 24 1c          	add    0x1c(%esp),%ecx
77f602:	03 d1                	add    %ecx,%edx
77f604:	8b cb                	mov    %ebx,%ecx
77f606:	c1 c2 03             	rol    $0x3,%edx
77f609:	0b ca                	or     %edx,%ecx
77f60b:	23 c2                	and    %edx,%eax
77f60d:	23 cf                	and    %edi,%ecx
77f60f:	0b c8                	or     %eax,%ecx
77f611:	81 c1 99 79 82 5a    	add    $0x5a827999,%ecx
77f617:	03 4c 24 24          	add    0x24(%esp),%ecx
77f61b:	03 f1                	add    %ecx,%esi
77f61d:	c1 c6 05             	rol    $0x5,%esi
77f620:	8b ce                	mov    %esi,%ecx
77f622:	8b c6                	mov    %esi,%eax
77f624:	0b ca                	or     %edx,%ecx
77f626:	23 c2                	and    %edx,%eax
77f628:	23 cb                	and    %ebx,%ecx
77f62a:	0b c8                	or     %eax,%ecx
77f62c:	8b c6                	mov    %esi,%eax
77f62e:	81 c1 99 79 82 5a    	add    $0x5a827999,%ecx
77f634:	03 4c 24 20          	add    0x20(%esp),%ecx
77f638:	03 f9                	add    %ecx,%edi
77f63a:	8b ce                	mov    %esi,%ecx
77f63c:	c1 c7 09             	rol    $0x9,%edi
77f63f:	0b cf                	or     %edi,%ecx
77f641:	23 c7                	and    %edi,%eax
77f643:	23 ca                	and    %edx,%ecx
77f645:	0b c8                	or     %eax,%ecx
77f647:	8b c7                	mov    %edi,%eax
77f649:	81 c1 99 79 82 5a    	add    $0x5a827999,%ecx
77f64f:	03 4c 24 28          	add    0x28(%esp),%ecx
77f653:	03 d9                	add    %ecx,%ebx
77f655:	8b cf                	mov    %edi,%ecx
77f657:	c1 c3 0d             	rol    $0xd,%ebx
77f65a:	0b cb                	or     %ebx,%ecx
77f65c:	23 c3                	and    %ebx,%eax
77f65e:	23 ce                	and    %esi,%ecx
77f660:	0b c8                	or     %eax,%ecx
77f662:	8b c3                	mov    %ebx,%eax
77f664:	81 c1 99 79 82 5a    	add    $0x5a827999,%ecx
77f66a:	03 4c 24 3c          	add    0x3c(%esp),%ecx
77f66e:	03 d1                	add    %ecx,%edx
77f670:	8b cb                	mov    %ebx,%ecx
77f672:	c1 c2 03             	rol    $0x3,%edx
77f675:	0b ca                	or     %edx,%ecx
77f677:	23 c2                	and    %edx,%eax
77f679:	23 cf                	and    %edi,%ecx
77f67b:	0b c8                	or     %eax,%ecx
77f67d:	81 c1 99 79 82 5a    	add    $0x5a827999,%ecx
77f683:	03 4c 24 44          	add    0x44(%esp),%ecx
77f687:	03 f1                	add    %ecx,%esi
77f689:	c1 c6 05             	rol    $0x5,%esi
77f68c:	8b ce                	mov    %esi,%ecx
77f68e:	8b c6                	mov    %esi,%eax
77f690:	23 c2                	and    %edx,%eax
77f692:	0b ca                	or     %edx,%ecx
77f694:	23 cb                	and    %ebx,%ecx
77f696:	0b c8                	or     %eax,%ecx
77f698:	8b c6                	mov    %esi,%eax
77f69a:	81 c1 99 79 82 5a    	add    $0x5a827999,%ecx
77f6a0:	03 4c 24 40          	add    0x40(%esp),%ecx
77f6a4:	03 f9                	add    %ecx,%edi
77f6a6:	8b ce                	mov    %esi,%ecx
77f6a8:	c1 c7 09             	rol    $0x9,%edi
77f6ab:	23 c7                	and    %edi,%eax
77f6ad:	0b cf                	or     %edi,%ecx
77f6af:	23 ca                	and    %edx,%ecx
77f6b1:	0b c8                	or     %eax,%ecx
77f6b3:	8b c6                	mov    %esi,%eax
77f6b5:	33 c7                	xor    %edi,%eax
77f6b7:	81 c1 99 79 82 5a    	add    $0x5a827999,%ecx
77f6bd:	03 4c 24 48          	add    0x48(%esp),%ecx
77f6c1:	03 d9                	add    %ecx,%ebx
77f6c3:	c1 c3 0d             	rol    $0xd,%ebx
77f6c6:	33 c3                	xor    %ebx,%eax
77f6c8:	05 a1 eb d9 6e       	add    $0x6ed9eba1,%eax
77f6cd:	03 44 24 10          	add    0x10(%esp),%eax
77f6d1:	03 d0                	add    %eax,%edx
77f6d3:	8b c7                	mov    %edi,%eax
77f6d5:	33 c3                	xor    %ebx,%eax
77f6d7:	c1 c2 03             	rol    $0x3,%edx
77f6da:	33 c2                	xor    %edx,%eax
77f6dc:	05 a1 eb d9 6e       	add    $0x6ed9eba1,%eax
77f6e1:	03 44 24 14          	add    0x14(%esp),%eax
77f6e5:	03 f0                	add    %eax,%esi
77f6e7:	c1 c6 09             	rol    $0x9,%esi
77f6ea:	8b c6                	mov    %esi,%eax
77f6ec:	33 c3                	xor    %ebx,%eax
77f6ee:	33 c2                	xor    %edx,%eax
77f6f0:	05 a1 eb d9 6e       	add    $0x6ed9eba1,%eax
77f6f5:	8b ce                	mov    %esi,%ecx
77f6f7:	03 44 24 18          	add    0x18(%esp),%eax
77f6fb:	03 f8                	add    %eax,%edi
77f6fd:	c1 c7 0b             	rol    $0xb,%edi
77f700:	33 cf                	xor    %edi,%ecx
77f702:	8b c1                	mov    %ecx,%eax
77f704:	33 c2                	xor    %edx,%eax
77f706:	05 a1 eb d9 6e       	add    $0x6ed9eba1,%eax
77f70b:	03 c5                	add    %ebp,%eax
77f70d:	03 d8                	add    %eax,%ebx
77f70f:	8b c7                	mov    %edi,%eax
77f711:	c1 c3 0f             	rol    $0xf,%ebx
77f714:	33 c3                	xor    %ebx,%eax
77f716:	33 cb                	xor    %ebx,%ecx
77f718:	81 c1 a1 eb d9 6e    	add    $0x6ed9eba1,%ecx
77f71e:	03 4c 24 1c          	add    0x1c(%esp),%ecx
77f722:	03 d1                	add    %ecx,%edx
77f724:	c1 c2 03             	rol    $0x3,%edx
77f727:	33 c2                	xor    %edx,%eax
77f729:	05 a1 eb d9 6e       	add    $0x6ed9eba1,%eax
77f72e:	03 44 24 20          	add    0x20(%esp),%eax
77f732:	03 f0                	add    %eax,%esi
77f734:	c1 c6 09             	rol    $0x9,%esi