40652f:	89 d6                	mov    %edx,%esi
406531:	31 cf                	xor    %ecx,%edi
406533:	8b 4c 24 10          	mov    0x10(%esp),%ecx
406537:	c1 ca 0e             	ror    $0xe,%edx
40653a:	01 fb                	add    %edi,%ebx
40653c:	8b 7c 24 14          	mov    0x14(%esp),%edi
406540:	31 f2                	xor    %esi,%edx
406542:	89 5c 24 44          	mov    %ebx,0x44(%esp)
406546:	31 f9                	xor    %edi,%ecx
406548:	c1 ca 05             	ror    $0x5,%edx
40654b:	21 f1                	and    %esi,%ecx
40654d:	89 74 24 0c          	mov    %esi,0xc(%esp)
406551:	31 f2                	xor    %esi,%edx
406553:	03 5c 24 18          	add    0x18(%esp),%ebx
406557:	31 cf                	xor    %ecx,%edi
406559:	c1 ca 06             	ror    $0x6,%edx
40655c:	89 ee                	mov    %ebp,%esi
40655e:	01 fb                	add    %edi,%ebx
406560:	c1 ce 09             	ror    $0x9,%esi
406563:	89 e9                	mov    %ebp,%ecx
406565:	8b 3c 24             	mov    (%esp),%edi
406568:	31 ee                	xor    %ebp,%esi
40656a:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
40656e:	31 fd                	xor    %edi,%ebp
406570:	c1 ce 0b             	ror    $0xb,%esi
406573:	21 e8                	and    %ebp,%eax
406575:	8d 94 13 4b 66 1a a8 	lea    -0x57e599b5(%ebx,%edx,1),%edx
40657c:	31 ce                	xor    %ecx,%esi
40657e:	31 f8                	xor    %edi,%eax
406580:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
406584:	c1 ce 02             	ror    $0x2,%esi
406587:	01 d0                	add    %edx,%eax
406589:	03 54 24 08          	add    0x8(%esp),%edx
40658d:	01 f0                	add    %esi,%eax
40658f:	8b 74 24 40          	mov    0x40(%esp),%esi
406593:	89 cb                	mov    %ecx,%ebx
406595:	c1 c9 0b             	ror    $0xb,%ecx
406598:	89 f7                	mov    %esi,%edi
40659a:	c1 ce 02             	ror    $0x2,%esi
40659d:	31 d9                	xor    %ebx,%ecx
40659f:	c1 eb 03             	shr    $0x3,%ebx
4065a2:	c1 c9 07             	ror    $0x7,%ecx
4065a5:	31 fe                	xor    %edi,%esi
4065a7:	31 cb                	xor    %ecx,%ebx
4065a9:	c1 ce 11             	ror    $0x11,%esi
4065ac:	03 5c 24 48          	add    0x48(%esp),%ebx
4065b0:	c1 ef 0a             	shr    $0xa,%edi
4065b3:	03 5c 24 2c          	add    0x2c(%esp),%ebx
4065b7:	89 d1                	mov    %edx,%ecx
4065b9:	31 f7                	xor    %esi,%edi
4065bb:	8b 74 24 0c          	mov    0xc(%esp),%esi
4065bf:	c1 ca 0e             	ror    $0xe,%edx
4065c2:	01 fb                	add    %edi,%ebx
4065c4:	8b 7c 24 10          	mov    0x10(%esp),%edi
4065c8:	31 ca                	xor    %ecx,%edx
4065ca:	89 5c 24 48          	mov    %ebx,0x48(%esp)
4065ce:	31 fe                	xor    %edi,%esi
4065d0:	c1 ca 05             	ror    $0x5,%edx
4065d3:	21 ce                	and    %ecx,%esi
4065d5:	89 4c 24 08          	mov    %ecx,0x8(%esp)
4065d9:	31 ca                	xor    %ecx,%edx
4065db:	03 5c 24 14          	add    0x14(%esp),%ebx
4065df:	31 f7                	xor    %esi,%edi
4065e1:	c1 ca 06             	ror    $0x6,%edx
4065e4:	89 c1                	mov    %eax,%ecx
4065e6:	01 fb                	add    %edi,%ebx
4065e8:	c1 c9 09             	ror    $0x9,%ecx
4065eb:	89 c6                	mov    %eax,%esi
4065ed:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
4065f1:	31 c1                	xor    %eax,%ecx
4065f3:	89 44 24 18          	mov    %eax,0x18(%esp)
4065f7:	31 f8                	xor    %edi,%eax
4065f9:	c1 c9 0b             	ror    $0xb,%ecx
4065fc:	21 c5                	and    %eax,%ebp
4065fe:	8d 94 13 70 8b 4b c2 	lea    -0x3db47490(%ebx,%edx,1),%edx
406605:	31 f1                	xor    %esi,%ecx
406607:	31 fd                	xor    %edi,%ebp
406609:	8b 74 24 50          	mov    0x50(%esp),%esi
40660d:	c1 c9 02             	ror    $0x2,%ecx
406610:	01 d5                	add    %edx,%ebp
406612:	03 54 24 04          	add    0x4(%esp),%edx
406616:	01 cd                	add    %ecx,%ebp
406618:	8b 4c 24 44          	mov    0x44(%esp),%ecx
40661c:	89 f3                	mov    %esi,%ebx
40661e:	c1 ce 0b             	ror    $0xb,%esi
406621:	89 cf                	mov    %ecx,%edi
406623:	c1 c9 02             	ror    $0x2,%ecx
406626:	31 de                	xor    %ebx,%esi
406628:	c1 eb 03             	shr    $0x3,%ebx
40662b:	c1 ce 07             	ror    $0x7,%esi
40662e:	31 f9                	xor    %edi,%ecx
406630:	31 f3                	xor    %esi,%ebx
406632:	c1 c9 11             	ror    $0x11,%ecx
406635:	03 5c 24 4c          	add    0x4c(%esp),%ebx
406639:	c1 ef 0a             	shr    $0xa,%edi
40663c:	03 5c 24 30          	add    0x30(%esp),%ebx
406640:	89 d6                	mov    %edx,%esi
406642:	31 cf                	xor    %ecx,%edi
406644:	8b 4c 24 08          	mov    0x8(%esp),%ecx
406648:	c1 ca 0e             	ror    $0xe,%edx
40664b:	01 fb                	add    %edi,%ebx
40664d:	8b 7c 24 0c          	mov    0xc(%esp),%edi
406651:	31 f2                	xor    %esi,%edx
406653:	89 5c 24 4c          	mov    %ebx,0x4c(%esp)
406657:	31 f9                	xor    %edi,%ecx
406659:	c1 ca 05             	ror    $0x5,%edx
40665c:	21 f1                	and    %esi,%ecx
40665e:	89 74 24 04          	mov    %esi,0x4(%esp)
406662:	31 f2                	xor    %esi,%edx
406664:	03 5c 24 10          	add    0x10(%esp),%ebx
406668:	31 cf                	xor    %ecx,%edi
40666a:	c1 ca 06             	ror    $0x6,%edx
40666d:	89 ee                	mov    %ebp,%esi
40666f:	01 fb                	add    %edi,%ebx
406671:	c1 ce 09             	ror    $0x9,%esi
406674:	89 e9                	mov    %ebp,%ecx
406676:	8b 7c 24 18          	mov    0x18(%esp),%edi
40667a:	31 ee                	xor    %ebp,%esi
40667c:	89 6c 24 14          	mov    %ebp,0x14(%esp)
406680:	31 fd                	xor    %edi,%ebp
406682:	c1 ce 0b             	ror    $0xb,%esi
406685:	21 e8                	and    %ebp,%eax
406687:	8d 94 13 a3 51 6c c7 	lea    -0x3893ae5d(%ebx,%edx,1),%edx
40668e:	31 ce                	xor    %ecx,%esi
406690:	31 f8                	xor    %edi,%eax
406692:	8b 4c 24 54          	mov    0x54(%esp),%ecx
406696:	c1 ce 02             	ror    $0x2,%esi
406699:	01 d0                	add    %edx,%eax
40669b:	03 14 24             	add    (%esp),%edx
40669e:	01 f0                	add    %esi,%eax
4066a0:	8b 74 24 48          	mov    0x48(%esp),%esi
4066a4:	89 cb                	mov    %ecx,%ebx
4066a6:	c1 c9 0b             	ror    $0xb,%ecx
4066a9:	89 f7                	mov    %esi,%edi
4066ab:	c1 ce 02             	ror    $0x2,%esi
4066ae:	31 d9                	xor    %ebx,%ecx
4066b0:	c1 eb 03             	shr    $0x3,%ebx
4066b3:	c1 c9 07             	ror    $0x7,%ecx
4066b6:	31 fe                	xor    %edi,%esi
4066b8:	31 cb                	xor    %ecx,%ebx
4066ba:	c1 ce 11             	ror    $0x11,%esi
4066bd:	03 5c 24 50          	add    0x50(%esp),%ebx
4066c1:	c1 ef 0a             	shr    $0xa,%edi
4066c4:	03 5c 24 34          	add    0x34(%esp),%ebx
4066c8:	89 d1                	mov    %edx,%ecx
4066ca:	31 f7                	xor    %esi,%edi
4066cc:	8b 74 24 04          	mov    0x4(%esp),%esi
4066d0:	c1 ca 0e             	ror    $0xe,%edx
4066d3:	01 fb                	add    %edi,%ebx
4066d5:	8b 7c 24 08          	mov    0x8(%esp),%edi
4066d9:	31 ca                	xor    %ecx,%edx
4066db:	89 5c 24 50          	mov    %ebx,0x50(%esp)
4066df:	31 fe                	xor    %edi,%esi
4066e1:	c1 ca 05             	ror    $0x5,%edx
4066e4:	21 ce                	and    %ecx,%esi
4066e6:	89 0c 24             	mov    %ecx,(%esp)
4066e9:	31 ca                	xor    %ecx,%edx
4066eb:	03 5c 24 0c          	add    0xc(%esp),%ebx
4066ef:	31 f7                	xor    %esi,%edi
4066f1:	c1 ca 06             	ror    $0x6,%edx
4066f4:	89 c1                	mov    %eax,%ecx
4066f6:	01 fb                	add    %edi,%ebx
4066f8:	c1 c9 09             	ror    $0x9,%ecx
4066fb:	89 c6                	mov    %eax,%esi
4066fd:	8b 7c 24 14          	mov    0x14(%esp),%edi
406701:	31 c1                	xor    %eax,%ecx
406703:	89 44 24 10          	mov    %eax,0x10(%esp)
406707:	31 f8                	xor    %edi,%eax
406709:	c1 c9 0b             	ror    $0xb,%ecx
40670c:	21 c5                	and    %eax,%ebp
40670e:	8d 94 13 19 e8 92 d1 	lea    -0x2e6d17e7(%ebx,%edx,1),%edx
406715:	31 f1                	xor    %esi,%ecx
406717:	31 fd                	xor    %edi,%ebp
406719:	8b 74 24 58          	mov    0x58(%esp),%esi
40671d:	c1 c9 02             	ror    $0x2,%ecx
406720:	01 d5                	add    %edx,%ebp
406722:	03 54 24 1c          	add    0x1c(%esp),%edx
406726:	01 cd                	add    %ecx,%ebp
406728:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
40672c:	89 f3                	mov    %esi,%ebx
40672e:	c1 ce 0b             	ror    $0xb,%esi
406731:	89 cf                	mov    %ecx,%edi
406733:	c1 c9 02             	ror    $0x2,%ecx
406736:	31 de                	xor    %ebx,%esi
406738:	c1 eb 03             	shr    $0x3,%ebx
40673b:	c1 ce 07             	ror    $0x7,%esi
40673e:	31 f9                	xor    %edi,%ecx
406740:	31 f3                	xor    %esi,%ebx
406742:	c1 c9 11             	ror    $0x11,%ecx
406745:	03 5c 24 54          	add    0x54(%esp),%ebx
406749:	c1 ef 0a             	shr    $0xa,%edi
40674c:	03 5c 24 38          	add    0x38(%esp),%ebx
406750:	89 d6                	mov    %edx,%esi
406752:	31 cf                	xor    %ecx,%edi
406754:	8b 0c 24             	mov    (%esp),%ecx
406757:	c1 ca 0e             	ror    $0xe,%edx
40675a:	01 fb                	add    %edi,%ebx
40675c:	8b 7c 24 04          	mov    0x4(%esp),%edi
406760:	31 f2                	xor    %esi,%edx
406762:	89 5c 24 54          	mov    %ebx,0x54(%esp)
406766:	31 f9                	xor    %edi,%ecx
406768:	c1 ca 05             	ror    $0x5,%edx
40676b:	21 f1                	and    %esi,%ecx
40676d:	89 74 24 1c          	mov    %esi,0x1c(%esp)
406771:	31 f2                	xor    %esi,%edx
406773:	03 5c 24 08          	add    0x8(%esp),%ebx
406777:	31 cf                	xor    %ecx,%edi
406779:	c1 ca 06             	ror    $0x6,%edx
40677c:	89 ee                	mov    %ebp,%esi
40677e:	01 fb                	add    %edi,%ebx
406780:	c1 ce 09             	ror    $0x9,%esi
406783:	89 e9                	mov    %ebp,%ecx
406785:	8b 7c 24 10          	mov    0x10(%esp),%edi
406789:	31 ee                	xor    %ebp,%esi
40678b:	89 6c 24 0c          	mov    %ebp,0xc(%esp)
40678f:	31 fd                	xor    %edi,%ebp
406791:	c1 ce 0b             	ror    $0xb,%esi
406794:	21 e8                	and    %ebp,%eax
406796:	8d 94 13 24 06 99 d6 	lea    -0x2966f9dc(%ebx,%edx,1),%edx
40679d:	31 ce                	xor    %ecx,%esi
40679f:	31 f8                	xor    %edi,%eax
4067a1:	8b 4c 24 5c          	mov    0x5c(%esp),%ecx
4067a5:	c1 ce 02             	ror    $0x2,%esi
4067a8:	01 d0                	add    %edx,%eax
4067aa:	03 54 24 18          	add    0x18(%esp),%edx
4067ae:	01 f0                	add    %esi,%eax
4067b0:	8b 74 24 50          	mov    0x50(%esp),%esi
4067b4:	89 cb                	mov    %ecx,%ebx
4067b6:	c1 c9 0b             	ror    $0xb,%ecx
4067b9:	89 f7                	mov    %esi,%edi
4067bb:	c1 ce 02             	ror    $0x2,%esi
4067be:	31 d9                	xor    %ebx,%ecx
4067c0:	c1 eb 03             	shr    $0x3,%ebx
4067c3:	c1 c9 07             	ror    $0x7,%ecx
4067c6:	31 fe                	xor    %edi,%esi
4067c8:	31 cb                	xor    %ecx,%ebx
4067ca:	c1 ce 11             	ror    $0x11,%esi
4067cd:	03 5c 24 58          	add    0x58(%esp),%ebx
4067d1:	c1 ef 0a             	shr    $0xa,%edi
4067d4:	03 5c 24 3c          	add    0x3c(%esp),%ebx
4067d8:	89 d1                	mov    %edx,%ecx
4067da:	31 f7                	xor    %esi,%edi
4067dc:	8b 74 24 1c          	mov    0x1c(%esp),%esi
4067e0:	c1 ca 0e             	ror    $0xe,%edx
4067e3:	01 fb                	add    %edi,%ebx
4067e5:	8b 3c 24             	mov    (%esp),%edi
4067e8:	31 ca                	xor    %ecx,%edx
4067ea:	89 5c 24 58          	mov    %ebx,0x58(%esp)
4067ee:	31 fe                	xor    %edi,%esi
4067f0:	c1 ca 05             	ror    $0x5,%edx
4067f3:	21 ce                	and    %ecx,%esi
4067f5:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4067f9:	31 ca                	xor    %ecx,%edx
4067fb:	03 5c 24 04          	add    0x4(%esp),%ebx
4067ff:	31 f7                	xor    %esi,%edi
406801:	c1 ca 06             	ror    $0x6,%edx
406804:	89 c1                	mov    %eax,%ecx
406806:	01 fb                	add    %edi,%ebx
406808:	c1 c9 09             	ror    $0x9,%ecx
40680b:	89 c6                	mov    %eax,%esi
40680d:	8b 7c 24 0c          	mov    0xc(%esp),%edi
406811:	31 c1                	xor    %eax,%ecx
406813:	89 44 24 08          	mov    %eax,0x8(%esp)
406817:	31 f8                	xor    %edi,%eax
406819:	c1 c9 0b             	ror    $0xb,%ecx
40681c:	21 c5                	and    %eax,%ebp
40681e:	8d 94 13 85 35 0e f4 	lea    -0xbf1ca7b(%ebx,%edx,1),%edx
406825:	31 f1                	xor    %esi,%ecx
406827:	31 fd                	xor    %edi,%ebp
406829:	8b 74 24 20          	mov    0x20(%esp),%esi
40682d:	c1 c9 02             	ror    $0x2,%ecx
406830:	01 d5                	add    %edx,%ebp
406832:	03 54 24 14          	add    0x14(%esp),%edx
406836:	01 cd                	add    %ecx,%ebp
406838:	8b 4c 24 54          	mov    0x54(%esp),%ecx
40683c:	89 f3                	mov    %esi,%ebx
40683e:	c1 ce 0b             	ror    $0xb,%esi
406841:	89 cf                	mov    %ecx,%edi
406843:	c1 c9 02             	ror    $0x2,%ecx
406846:	31 de                	xor    %ebx,%esi
406848:	c1 eb 03             	shr    $0x3,%ebx
40684b:	c1 ce 07             	ror    $0x7,%esi
40684e:	31 f9                	xor    %edi,%ecx
406850:	31 f3                	xor    %esi,%ebx
406852:	c1 c9 11             	ror    $0x11,%ecx
406855:	03 5c 24 5c          	add    0x5c(%esp),%ebx
406859:	c1 ef 0a             	shr    $0xa,%edi
40685c:	03 5c 24 40          	add    0x40(%esp),%ebx
406860:	89 d6                	mov    %edx,%esi
406862:	31 cf                	xor    %ecx,%edi
406864:	8b 4c 24 18          	mov    0x18(%esp),%ecx
406868:	c1 ca 0e             	ror    $0xe,%edx
40686b:	01 fb                	add    %edi,%ebx
40686d:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
406871:	31 f2                	xor    %esi,%edx
406873:	89 5c 24 5c          	mov    %ebx,0x5c(%esp)
406877:	31 f9                	xor    %edi,%ecx
406879:	c1 ca 05             	ror    $0x5,%edx
40687c:	21 f1                	and    %esi,%ecx
40687e:	89 74 24 14          	mov    %esi,0x14(%esp)
406882:	31 f2                	xor    %esi,%edx
406884:	03 1c 24             	add    (%esp),%ebx
406887:	31 cf                	xor    %ecx,%edi
406889:	c1 ca 06             	ror    $0x6,%edx
40688c:	89 ee                	mov    %ebp,%esi
40688e:	01 fb                	add    %edi,%ebx
406890:	c1 ce 09             	ror    $0x9,%esi
406893:	89 e9                	mov    %ebp,%ecx
406895:	8b 7c 24 08          	mov    0x8(%esp),%edi
406899:	31 ee                	xor    %ebp,%esi
40689b:	89 6c 24 04          	mov    %ebp,0x4(%esp)
40689f:	31 fd                	xor    %edi,%ebp
4068a1:	c1 ce 0b             	ror    $0xb,%esi
4068a4:	21 e8                	and    %ebp,%eax
4068a6:	8d 94 13 70 a0 6a 10 	lea    0x106aa070(%ebx,%edx,1),%edx
4068ad:	31 ce                	xor    %ecx,%esi
4068af:	31 f8                	xor    %edi,%eax
4068b1:	8b 4c 24 24          	mov    0x24(%esp),%ecx
4068b5:	c1 ce 02             	ror    $0x2,%esi
4068b8:	01 d0                	add    %edx,%eax
4068ba:	03 54 24 10          	add    0x10(%esp),%edx
4068be:	01 f0                	add    %esi,%eax
4068c0:	8b 74 24 58          	mov    0x58(%esp),%esi
4068c4:	89 cb                	mov    %ecx,%ebx
4068c6:	c1 c9 0b             	ror    $0xb,%ecx
4068c9:	89 f7                	mov    %esi,%edi
4068cb:	c1 ce 02             	ror    $0x2,%esi
4068ce:	31 d9                	xor    %ebx,%ecx
4068d0:	c1 eb 03             	shr    $0x3,%ebx
4068d3:	c1 c9 07             	ror    $0x7,%ecx
4068d6:	31 fe                	xor    %edi,%esi
4068d8:	31 cb                	xor    %ecx,%ebx
4068da:	c1 ce 11             	ror    $0x11,%esi
4068dd:	03 5c 24 20          	add    0x20(%esp),%ebx
4068e1:	c1 ef 0a             	shr    $0xa,%edi
4068e4:	03 5c 24 44          	add    0x44(%esp),%ebx
4068e8:	89 d1                	mov    %edx,%ecx
4068ea:	31 f7                	xor    %esi,%edi
4068ec:	8b 74 24 14          	mov    0x14(%esp),%esi
4068f0:	c1 ca 0e             	ror    $0xe,%edx
4068f3:	01 fb                	add    %edi,%ebx
4068f5:	8b 7c 24 18          	mov    0x18(%esp),%edi
4068f9:	31 ca                	xor    %ecx,%edx
4068fb:	89 5c 24 20          	mov    %ebx,0x20(%esp)
4068ff:	31 fe                	xor    %edi,%esi
406901:	c1 ca 05             	ror    $0x5,%edx
406904:	21 ce                	and    %ecx,%esi
406906:	89 4c 24 10          	mov    %ecx,0x10(%esp)
40690a:	31 ca                	xor    %ecx,%edx
40690c:	03 5c 24 1c          	add    0x1c(%esp),%ebx