40633d:	01 fb                	add    %edi,%ebx
40633f:	c1 ce 09             	ror    $0x9,%esi
406342:	89 e9                	mov    %ebp,%ecx
406344:	8b 7c 24 10          	mov    0x10(%esp),%edi
406348:	31 ee                	xor    %ebp,%esi
40634a:	89 6c 24 0c          	mov    %ebp,0xc(%esp)
40634e:	31 fd                	xor    %edi,%ebp
406350:	c1 ce 0b             	ror    $0xb,%esi
406353:	21 e8                	and    %ebp,%eax
406355:	8d 94 13 bb 0a 6a 76 	lea    0x766a0abb(%ebx,%edx,1),%edx
40635c:	31 ce                	xor    %ecx,%esi
40635e:	31 f8                	xor    %edi,%eax
406360:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
406364:	c1 ce 02             	ror    $0x2,%esi
406367:	01 d0                	add    %edx,%eax
406369:	03 54 24 18          	add    0x18(%esp),%edx
40636d:	01 f0                	add    %esi,%eax
40636f:	8b 74 24 30          	mov    0x30(%esp),%esi
406373:	89 cb                	mov    %ecx,%ebx
406375:	c1 c9 0b             	ror    $0xb,%ecx
406378:	89 f7                	mov    %esi,%edi
40637a:	c1 ce 02             	ror    $0x2,%esi
40637d:	31 d9                	xor    %ebx,%ecx
40637f:	c1 eb 03             	shr    $0x3,%ebx
406382:	c1 c9 07             	ror    $0x7,%ecx
406385:	31 fe                	xor    %edi,%esi
406387:	31 cb                	xor    %ecx,%ebx
406389:	c1 ce 11             	ror    $0x11,%esi
40638c:	03 5c 24 38          	add    0x38(%esp),%ebx
406390:	c1 ef 0a             	shr    $0xa,%edi
406393:	03 5c 24 5c          	add    0x5c(%esp),%ebx
406397:	89 d1                	mov    %edx,%ecx
406399:	31 f7                	xor    %esi,%edi
40639b:	8b 74 24 1c          	mov    0x1c(%esp),%esi
40639f:	c1 ca 0e             	ror    $0xe,%edx
4063a2:	01 fb                	add    %edi,%ebx
4063a4:	8b 3c 24             	mov    (%esp),%edi
4063a7:	31 ca                	xor    %ecx,%edx
4063a9:	89 5c 24 38          	mov    %ebx,0x38(%esp)
4063ad:	31 fe                	xor    %edi,%esi
4063af:	c1 ca 05             	ror    $0x5,%edx
4063b2:	21 ce                	and    %ecx,%esi
4063b4:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4063b8:	31 ca                	xor    %ecx,%edx
4063ba:	03 5c 24 04          	add    0x4(%esp),%ebx
4063be:	31 f7                	xor    %esi,%edi
4063c0:	c1 ca 06             	ror    $0x6,%edx
4063c3:	89 c1                	mov    %eax,%ecx
4063c5:	01 fb                	add    %edi,%ebx
4063c7:	c1 c9 09             	ror    $0x9,%ecx
4063ca:	89 c6                	mov    %eax,%esi
4063cc:	8b 7c 24 0c          	mov    0xc(%esp),%edi
4063d0:	31 c1                	xor    %eax,%ecx
4063d2:	89 44 24 08          	mov    %eax,0x8(%esp)
4063d6:	31 f8                	xor    %edi,%eax
4063d8:	c1 c9 0b             	ror    $0xb,%ecx
4063db:	21 c5                	and    %eax,%ebp
4063dd:	8d 94 13 2e c9 c2 81 	lea    -0x7e3d36d2(%ebx,%edx,1),%edx
4063e4:	31 f1                	xor    %esi,%ecx
4063e6:	31 fd                	xor    %edi,%ebp
4063e8:	8b 74 24 40          	mov    0x40(%esp),%esi
4063ec:	c1 c9 02             	ror    $0x2,%ecx
4063ef:	01 d5                	add    %edx,%ebp
4063f1:	03 54 24 14          	add    0x14(%esp),%edx
4063f5:	01 cd                	add    %ecx,%ebp
4063f7:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4063fb:	89 f3                	mov    %esi,%ebx
4063fd:	c1 ce 0b             	ror    $0xb,%esi
406400:	89 cf                	mov    %ecx,%edi
406402:	c1 c9 02             	ror    $0x2,%ecx
406405:	31 de                	xor    %ebx,%esi
406407:	c1 eb 03             	shr    $0x3,%ebx
40640a:	c1 ce 07             	ror    $0x7,%esi
40640d:	31 f9                	xor    %edi,%ecx
40640f:	31 f3                	xor    %esi,%ebx
406411:	c1 c9 11             	ror    $0x11,%ecx
406414:	03 5c 24 3c          	add    0x3c(%esp),%ebx
406418:	c1 ef 0a             	shr    $0xa,%edi
40641b:	03 5c 24 20          	add    0x20(%esp),%ebx
40641f:	89 d6                	mov    %edx,%esi
406421:	31 cf                	xor    %ecx,%edi
406423:	8b 4c 24 18          	mov    0x18(%esp),%ecx
406427:	c1 ca 0e             	ror    $0xe,%edx
40642a:	01 fb                	add    %edi,%ebx
40642c:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
406430:	31 f2                	xor    %esi,%edx
406432:	89 5c 24 3c          	mov    %ebx,0x3c(%esp)
406436:	31 f9                	xor    %edi,%ecx
406438:	c1 ca 05             	ror    $0x5,%edx
40643b:	21 f1                	and    %esi,%ecx
40643d:	89 74 24 14          	mov    %esi,0x14(%esp)
406441:	31 f2                	xor    %esi,%edx
406443:	03 1c 24             	add    (%esp),%ebx
406446:	31 cf                	xor    %ecx,%edi
406448:	c1 ca 06             	ror    $0x6,%edx
40644b:	89 ee                	mov    %ebp,%esi
40644d:	01 fb                	add    %edi,%ebx
40644f:	c1 ce 09             	ror    $0x9,%esi
406452:	89 e9                	mov    %ebp,%ecx
406454:	8b 7c 24 08          	mov    0x8(%esp),%edi
406458:	31 ee                	xor    %ebp,%esi
40645a:	89 6c 24 04          	mov    %ebp,0x4(%esp)
40645e:	31 fd                	xor    %edi,%ebp
406460:	c1 ce 0b             	ror    $0xb,%esi
406463:	21 e8                	and    %ebp,%eax
406465:	8d 94 13 85 2c 72 92 	lea    -0x6d8dd37b(%ebx,%edx,1),%edx
40646c:	31 ce                	xor    %ecx,%esi
40646e:	31 f8                	xor    %edi,%eax
406470:	8b 4c 24 44          	mov    0x44(%esp),%ecx
406474:	c1 ce 02             	ror    $0x2,%esi
406477:	01 d0                	add    %edx,%eax
406479:	03 54 24 10          	add    0x10(%esp),%edx
40647d:	01 f0                	add    %esi,%eax
40647f:	8b 74 24 38          	mov    0x38(%esp),%esi
406483:	89 cb                	mov    %ecx,%ebx
406485:	c1 c9 0b             	ror    $0xb,%ecx
406488:	89 f7                	mov    %esi,%edi
40648a:	c1 ce 02             	ror    $0x2,%esi
40648d:	31 d9                	xor    %ebx,%ecx
40648f:	c1 eb 03             	shr    $0x3,%ebx
406492:	c1 c9 07             	ror    $0x7,%ecx
406495:	31 fe                	xor    %edi,%esi
406497:	31 cb                	xor    %ecx,%ebx
406499:	c1 ce 11             	ror    $0x11,%esi
40649c:	03 5c 24 40          	add    0x40(%esp),%ebx
4064a0:	c1 ef 0a             	shr    $0xa,%edi
4064a3:	03 5c 24 24          	add    0x24(%esp),%ebx
4064a7:	89 d1                	mov    %edx,%ecx
4064a9:	31 f7                	xor    %esi,%edi
4064ab:	8b 74 24 14          	mov    0x14(%esp),%esi
4064af:	c1 ca 0e             	ror    $0xe,%edx
4064b2:	01 fb                	add    %edi,%ebx
4064b4:	8b 7c 24 18          	mov    0x18(%esp),%edi
4064b8:	31 ca                	xor    %ecx,%edx
4064ba:	89 5c 24 40          	mov    %ebx,0x40(%esp)
4064be:	31 fe                	xor    %edi,%esi
4064c0:	c1 ca 05             	ror    $0x5,%edx
4064c3:	21 ce                	and    %ecx,%esi
4064c5:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4064c9:	31 ca                	xor    %ecx,%edx
4064cb:	03 5c 24 1c          	add    0x1c(%esp),%ebx
4064cf:	31 f7                	xor    %esi,%edi
4064d1:	c1 ca 06             	ror    $0x6,%edx
4064d4:	89 c1                	mov    %eax,%ecx
4064d6:	01 fb                	add    %edi,%ebx
4064d8:	c1 c9 09             	ror    $0x9,%ecx
4064db:	89 c6                	mov    %eax,%esi
4064dd:	8b 7c 24 04          	mov    0x4(%esp),%edi
4064e1:	31 c1                	xor    %eax,%ecx
4064e3:	89 04 24             	mov    %eax,(%esp)
4064e6:	31 f8                	xor    %edi,%eax
4064e8:	c1 c9 0b             	ror    $0xb,%ecx
4064eb:	21 c5                	and    %eax,%ebp
4064ed:	8d 94 13 a1 e8 bf a2 	lea    -0x5d40175f(%ebx,%edx,1),%edx
4064f4:	31 f1                	xor    %esi,%ecx
4064f6:	31 fd                	xor    %edi,%ebp
4064f8:	8b 74 24 48          	mov    0x48(%esp),%esi
4064fc:	c1 c9 02             	ror    $0x2,%ecx
4064ff:	01 d5                	add    %edx,%ebp
406501:	03 54 24 0c          	add    0xc(%esp),%edx
406505:	01 cd                	add    %ecx,%ebp
406507:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
40650b:	89 f3                	mov    %esi,%ebx
40650d:	c1 ce 0b             	ror    $0xb,%esi
406510:	89 cf                	mov    %ecx,%edi
406512:	c1 c9 02             	ror    $0x2,%ecx
406515:	31 de                	xor    %ebx,%esi
406517:	c1 eb 03             	shr    $0x3,%ebx
40651a:	c1 ce 07             	ror    $0x7,%esi
40651d:	31 f9                	xor    %edi,%ecx
40651f:	31 f3                	xor    %esi,%ebx
406521:	c1 c9 11             	ror    $0x11,%ecx
406524:	03 5c 24 44          	add    0x44(%esp),%ebx
406528:	c1 ef 0a             	shr    $0xa,%edi
40652b:	03 5c 24 28          	add    0x28(%esp),%ebx
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