56d55c:	03 f0                	add    %eax,%esi
56d55e:	8b 43 1c             	mov    0x1c(%ebx),%eax
56d561:	89 45 f8             	mov    %eax,-0x8(%ebp)
56d564:	8b c2                	mov    %edx,%eax
56d566:	33 c1                	xor    %ecx,%eax
56d568:	c1 ce 0f             	ror    $0xf,%esi
56d56b:	03 f2                	add    %edx,%esi
56d56d:	23 c6                	and    %esi,%eax
56d56f:	33 c1                	xor    %ecx,%eax
56d571:	05 01 95 46 fd       	add    $0xfd469501,%eax
56d576:	03 43 1c             	add    0x1c(%ebx),%eax
56d579:	03 f8                	add    %eax,%edi
56d57b:	8b 43 20             	mov    0x20(%ebx),%eax
56d57e:	89 45 e0             	mov    %eax,-0x20(%ebp)
56d581:	8b c2                	mov    %edx,%eax
56d583:	33 c6                	xor    %esi,%eax
56d585:	c1 cf 0a             	ror    $0xa,%edi
56d588:	03 fe                	add    %esi,%edi
56d58a:	23 c7                	and    %edi,%eax
56d58c:	33 c2                	xor    %edx,%eax
56d58e:	05 d8 98 80 69       	add    $0x698098d8,%eax
56d593:	03 43 20             	add    0x20(%ebx),%eax
56d596:	8b 5b 24             	mov    0x24(%ebx),%ebx
56d599:	03 c8                	add    %eax,%ecx
56d59b:	8b c6                	mov    %esi,%eax
56d59d:	c1 c1 07             	rol    $0x7,%ecx
56d5a0:	33 c7                	xor    %edi,%eax
56d5a2:	89 5d c8             	mov    %ebx,-0x38(%ebp)
56d5a5:	03 cf                	add    %edi,%ecx
56d5a7:	23 c1                	and    %ecx,%eax
56d5a9:	33 c6                	xor    %esi,%eax
56d5ab:	03 c3                	add    %ebx,%eax
56d5ad:	8d 9a af f7 44 8b    	lea    -0x74bb0851(%edx),%ebx
56d5b3:	8b 55 0c             	mov    0xc(%ebp),%edx
56d5b6:	03 d8                	add    %eax,%ebx
56d5b8:	c1 c3 0c             	rol    $0xc,%ebx
56d5bb:	03 d9                	add    %ecx,%ebx
56d5bd:	8b 42 28             	mov    0x28(%edx),%eax
56d5c0:	89 45 e8             	mov    %eax,-0x18(%ebp)
56d5c3:	8b c7                	mov    %edi,%eax
56d5c5:	33 c1                	xor    %ecx,%eax
56d5c7:	23 c3                	and    %ebx,%eax
56d5c9:	33 c7                	xor    %edi,%eax
56d5cb:	05 b1 5b ff ff       	add    $0xffff5bb1,%eax
56d5d0:	03 42 28             	add    0x28(%edx),%eax
56d5d3:	03 f0                	add    %eax,%esi
56d5d5:	8b 42 2c             	mov    0x2c(%edx),%eax
56d5d8:	89 45 d0             	mov    %eax,-0x30(%ebp)
56d5db:	8b c3                	mov    %ebx,%eax
56d5dd:	33 c1                	xor    %ecx,%eax
56d5df:	c1 ce 0f             	ror    $0xf,%esi
56d5e2:	03 f3                	add    %ebx,%esi
56d5e4:	23 c6                	and    %esi,%eax
56d5e6:	89 75 c0             	mov    %esi,-0x40(%ebp)
56d5e9:	33 c1                	xor    %ecx,%eax
56d5eb:	05 be d7 5c 89       	add    $0x895cd7be,%eax
56d5f0:	03 42 2c             	add    0x2c(%edx),%eax
56d5f3:	8b 52 30             	mov    0x30(%edx),%edx
56d5f6:	03 f8                	add    %eax,%edi
56d5f8:	c1 cf 0a             	ror    $0xa,%edi
56d5fb:	8b c3                	mov    %ebx,%eax
56d5fd:	33 c6                	xor    %esi,%eax
56d5ff:	89 55 f0             	mov    %edx,-0x10(%ebp)
56d602:	03 fe                	add    %esi,%edi
56d604:	23 c7                	and    %edi,%eax
56d606:	89 7d bc             	mov    %edi,-0x44(%ebp)
56d609:	33 c3                	xor    %ebx,%eax
56d60b:	03 c2                	add    %edx,%eax
56d60d:	8d 91 22 11 90 6b    	lea    0x6b901122(%ecx),%edx
56d613:	03 d0                	add    %eax,%edx
56d615:	8b 4d 0c             	mov    0xc(%ebp),%ecx
56d618:	c1 c2 07             	rol    $0x7,%edx
56d61b:	03 d7                	add    %edi,%edx
56d61d:	8b 41 34             	mov    0x34(%ecx),%eax
56d620:	89 45 d8             	mov    %eax,-0x28(%ebp)
56d623:	8b c6                	mov    %esi,%eax
56d625:	33 c7                	xor    %edi,%eax
56d627:	23 c2                	and    %edx,%eax
56d629:	33 c6                	xor    %esi,%eax
56d62b:	8d b3 93 71 98 fd    	lea    -0x2678e6d(%ebx),%esi
56d631:	03 41 34             	add    0x34(%ecx),%eax
56d634:	03 f0                	add    %eax,%esi
56d636:	8b 59 38             	mov    0x38(%ecx),%ebx
56d639:	8b c7                	mov    %edi,%eax
56d63b:	c1 c6 0c             	rol    $0xc,%esi
56d63e:	33 c2                	xor    %edx,%eax
56d640:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
56d643:	03 f2                	add    %edx,%esi
56d645:	23 c6                	and    %esi,%eax
56d647:	33 c7                	xor    %edi,%eax
56d649:	8b 7d c0             	mov    -0x40(%ebp),%edi
56d64c:	03 c3                	add    %ebx,%eax
56d64e:	81 c7 8e 43 79 a6    	add    $0xa679438e,%edi
56d654:	03 f8                	add    %eax,%edi
56d656:	8b c1                	mov    %ecx,%eax
56d658:	c1 cf 0f             	ror    $0xf,%edi
56d65b:	03 fe                	add    %esi,%edi
56d65d:	8b 48 3c             	mov    0x3c(%eax),%ecx
56d660:	8b c6                	mov    %esi,%eax
56d662:	33 c2                	xor    %edx,%eax
56d664:	89 4d 0c             	mov    %ecx,0xc(%ebp)
56d667:	23 c7                	and    %edi,%eax
56d669:	33 c2                	xor    %edx,%eax
56d66b:	03 c1                	add    %ecx,%eax
56d66d:	8b 4d bc             	mov    -0x44(%ebp),%ecx
56d670:	81 c1 21 08 b4 49    	add    $0x49b40821,%ecx
56d676:	03 c8                	add    %eax,%ecx
56d678:	8b c7                	mov    %edi,%eax
56d67a:	c1 c9 0a             	ror    $0xa,%ecx
56d67d:	03 cf                	add    %edi,%ecx
56d67f:	33 c1                	xor    %ecx,%eax
56d681:	23 c6                	and    %esi,%eax
56d683:	33 c7                	xor    %edi,%eax
56d685:	05 62 25 1e f6       	add    $0xf61e2562,%eax
56d68a:	03 45 e4             	add    -0x1c(%ebp),%eax
56d68d:	03 d0                	add    %eax,%edx
56d68f:	8b c1                	mov    %ecx,%eax
56d691:	c1 c2 05             	rol    $0x5,%edx
56d694:	03 d1                	add    %ecx,%edx
56d696:	33 c2                	xor    %edx,%eax
56d698:	23 c7                	and    %edi,%eax
56d69a:	33 c1                	xor    %ecx,%eax
56d69c:	05 40 b3 40 c0       	add    $0xc040b340,%eax
56d6a1:	03 45 dc             	add    -0x24(%ebp),%eax
56d6a4:	03 f0                	add    %eax,%esi
56d6a6:	c1 c6 09             	rol    $0x9,%esi
56d6a9:	03 f2                	add    %edx,%esi
56d6ab:	8b c6                	mov    %esi,%eax
56d6ad:	33 c2                	xor    %edx,%eax
56d6af:	23 c1                	and    %ecx,%eax
56d6b1:	33 c2                	xor    %edx,%eax
56d6b3:	05 51 5a 5e 26       	add    $0x265e5a51,%eax
56d6b8:	03 45 d0             	add    -0x30(%ebp),%eax
56d6bb:	03 f8                	add    %eax,%edi
56d6bd:	8b c6                	mov    %esi,%eax
56d6bf:	c1 c7 0e             	rol    $0xe,%edi
56d6c2:	03 fe                	add    %esi,%edi
56d6c4:	33 c7                	xor    %edi,%eax
56d6c6:	23 c2                	and    %edx,%eax
56d6c8:	33 c6                	xor    %esi,%eax
56d6ca:	05 aa c7 b6 e9       	add    $0xe9b6c7aa,%eax
56d6cf:	03 45 fc             	add    -0x4(%ebp),%eax
56d6d2:	03 c8                	add    %eax,%ecx
56d6d4:	8b c7                	mov    %edi,%eax
56d6d6:	c1 c9 0c             	ror    $0xc,%ecx
56d6d9:	03 cf                	add    %edi,%ecx
56d6db:	33 c1                	xor    %ecx,%eax
56d6dd:	23 c6                	and    %esi,%eax
56d6df:	33 c7                	xor    %edi,%eax
56d6e1:	05 5d 10 2f d6       	add    $0xd62f105d,%eax
56d6e6:	03 45 f4             	add    -0xc(%ebp),%eax
56d6e9:	03 d0                	add    %eax,%edx
56d6eb:	8b c1                	mov    %ecx,%eax
56d6ed:	c1 c2 05             	rol    $0x5,%edx
56d6f0:	03 d1                	add    %ecx,%edx
56d6f2:	33 c2                	xor    %edx,%eax
56d6f4:	23 c7                	and    %edi,%eax
56d6f6:	33 c1                	xor    %ecx,%eax
56d6f8:	05 53 14 44 02       	add    $0x2441453,%eax
56d6fd:	03 45 e8             	add    -0x18(%ebp),%eax
56d700:	03 f0                	add    %eax,%esi
56d702:	c1 c6 09             	rol    $0x9,%esi
56d705:	03 f2                	add    %edx,%esi
56d707:	8b c6                	mov    %esi,%eax
56d709:	33 c2                	xor    %edx,%eax
56d70b:	23 c1                	and    %ecx,%eax
56d70d:	33 c2                	xor    %edx,%eax
56d70f:	05 81 e6 a1 d8       	add    $0xd8a1e681,%eax
56d714:	03 45 0c             	add    0xc(%ebp),%eax
56d717:	03 f8                	add    %eax,%edi
56d719:	8b c6                	mov    %esi,%eax
56d71b:	c1 c7 0e             	rol    $0xe,%edi
56d71e:	03 fe                	add    %esi,%edi
56d720:	33 c7                	xor    %edi,%eax
56d722:	23 c2                	and    %edx,%eax
56d724:	33 c6                	xor    %esi,%eax
56d726:	05 c8 fb d3 e7       	add    $0xe7d3fbc8,%eax
56d72b:	03 45 d4             	add    -0x2c(%ebp),%eax
56d72e:	03 c8                	add    %eax,%ecx
56d730:	8b c7                	mov    %edi,%eax
56d732:	c1 c9 0c             	ror    $0xc,%ecx
56d735:	03 cf                	add    %edi,%ecx
56d737:	33 c1                	xor    %ecx,%eax
56d739:	23 c6                	and    %esi,%eax
56d73b:	33 c7                	xor    %edi,%eax
56d73d:	05 e6 cd e1 21       	add    $0x21e1cde6,%eax
56d742:	03 45 c8             	add    -0x38(%ebp),%eax
56d745:	03 d0                	add    %eax,%edx
56d747:	8b c1                	mov    %ecx,%eax
56d749:	c1 c2 05             	rol    $0x5,%edx
56d74c:	03 d1                	add    %ecx,%edx
56d74e:	33 c2                	xor    %edx,%eax
56d750:	23 c7                	and    %edi,%eax
56d752:	33 c1                	xor    %ecx,%eax
56d754:	03 c3                	add    %ebx,%eax
56d756:	8d 9e d6 07 37 c3    	lea    -0x3cc8f82a(%esi),%ebx
56d75c:	03 d8                	add    %eax,%ebx
56d75e:	8d b2 05 e9 e3 a9    	lea    -0x561c16fb(%edx),%esi
56d764:	c1 c3 09             	rol    $0x9,%ebx
56d767:	03 da                	add    %edx,%ebx
56d769:	8b c3                	mov    %ebx,%eax
56d76b:	33 c2                	xor    %edx,%eax
56d76d:	23 c1                	and    %ecx,%eax
56d76f:	33 c2                	xor    %edx,%eax
56d771:	05 87 0d d5 f4       	add    $0xf4d50d87,%eax
56d776:	03 45 ec             	add    -0x14(%ebp),%eax
56d779:	03 f8                	add    %eax,%edi
56d77b:	8b c3                	mov    %ebx,%eax
56d77d:	c1 c7 0e             	rol    $0xe,%edi
56d780:	03 fb                	add    %ebx,%edi
56d782:	33 c7                	xor    %edi,%eax
56d784:	89 7d bc             	mov    %edi,-0x44(%ebp)
56d787:	23 c2                	and    %edx,%eax
56d789:	33 c3                	xor    %ebx,%eax
56d78b:	05 ed 14 5a 45       	add    $0x455a14ed,%eax
56d790:	03 45 e0             	add    -0x20(%ebp),%eax
56d793:	03 c8                	add    %eax,%ecx
56d795:	8b c7                	mov    %edi,%eax
56d797:	c1 c9 0c             	ror    $0xc,%ecx
56d79a:	03 cf                	add    %edi,%ecx
56d79c:	33 c1                	xor    %ecx,%eax
56d79e:	89 4d c0             	mov    %ecx,-0x40(%ebp)
56d7a1:	23 c3                	and    %ebx,%eax
56d7a3:	33 c7                	xor    %edi,%eax
56d7a5:	03 45 d8             	add    -0x28(%ebp),%eax
56d7a8:	03 f0                	add    %eax,%esi
56d7aa:	8b c1                	mov    %ecx,%eax
56d7ac:	c1 c6 05             	rol    $0x5,%esi
56d7af:	03 f1                	add    %ecx,%esi
56d7b1:	33 c6                	xor    %esi,%eax
56d7b3:	23 c7                	and    %edi,%eax
56d7b5:	33 c1                	xor    %ecx,%eax
56d7b7:	03 45 cc             	add    -0x34(%ebp),%eax
56d7ba:	8d bb f8 a3 ef fc    	lea    -0x3105c08(%ebx),%edi
56d7c0:	03 f8                	add    %eax,%edi
56d7c2:	8b 5d bc             	mov    -0x44(%ebp),%ebx
56d7c5:	c1 c7 09             	rol    $0x9,%edi
56d7c8:	81 c3 d9 02 6f 67    	add    $0x676f02d9,%ebx
56d7ce:	03 fe                	add    %esi,%edi
56d7d0:	8b 55 c0             	mov    -0x40(%ebp),%edx
56d7d3:	8b c7                	mov    %edi,%eax
56d7d5:	81 c2 8a 4c 2a 8d    	add    $0x8d2a4c8a,%edx
56d7db:	33 c6                	xor    %esi,%eax
56d7dd:	23 c1                	and    %ecx,%eax
56d7df:	8b cf                	mov    %edi,%ecx
56d7e1:	33 c6                	xor    %esi,%eax
56d7e3:	03 45 f8             	add    -0x8(%ebp),%eax
56d7e6:	03 d8                	add    %eax,%ebx
56d7e8:	c1 c3 0e             	rol    $0xe,%ebx
56d7eb:	03 df                	add    %edi,%ebx
56d7ed:	33 cb                	xor    %ebx,%ecx
56d7ef:	8b c1                	mov    %ecx,%eax
56d7f1:	23 c6                	and    %esi,%eax
56d7f3:	33 c7                	xor    %edi,%eax
56d7f5:	03 45 f0             	add    -0x10(%ebp),%eax
56d7f8:	03 d0                	add    %eax,%edx
56d7fa:	8b c3                	mov    %ebx,%eax
56d7fc:	c1 ca 0c             	ror    $0xc,%edx
56d7ff:	03 d3                	add    %ebx,%edx
56d801:	33 c2                	xor    %edx,%eax
56d803:	33 ca                	xor    %edx,%ecx
56d805:	81 c1 42 39 fa ff    	add    $0xfffa3942,%ecx
56d80b:	03 4d f4             	add    -0xc(%ebp),%ecx
56d80e:	03 f1                	add    %ecx,%esi
56d810:	c1 c6 04             	rol    $0x4,%esi
56d813:	03 f2                	add    %edx,%esi
56d815:	33 c6                	xor    %esi,%eax
56d817:	05 81 f6 71 87       	add    $0x8771f681,%eax
56d81c:	03 45 e0             	add    -0x20(%ebp),%eax
56d81f:	03 f8                	add    %eax,%edi
56d821:	c1 c7 0b             	rol    $0xb,%edi
56d824:	03 fe                	add    %esi,%edi
56d826:	8b c7                	mov    %edi,%eax
56d828:	8b cf                	mov    %edi,%ecx
56d82a:	33 c2                	xor    %edx,%eax
56d82c:	33 c6                	xor    %esi,%eax
56d82e:	05 22 61 9d 6d       	add    $0x6d9d6122,%eax
56d833:	03 45 d0             	add    -0x30(%ebp),%eax
56d836:	03 d8                	add    %eax,%ebx
56d838:	c1 c3 10             	rol    $0x10,%ebx
56d83b:	03 df                	add    %edi,%ebx
56d83d:	33 cb                	xor    %ebx,%ecx
56d83f:	8b c1                	mov    %ecx,%eax
56d841:	33 c6                	xor    %esi,%eax
56d843:	05 0c 38 e5 fd       	add    $0xfde5380c,%eax
56d848:	03 45 c4             	add    -0x3c(%ebp),%eax
56d84b:	03 d0                	add    %eax,%edx
56d84d:	8b c3                	mov    %ebx,%eax
56d84f:	c1 ca 09             	ror    $0x9,%edx
56d852:	03 d3                	add    %ebx,%edx
56d854:	33 ca                	xor    %edx,%ecx
56d856:	33 c2                	xor    %edx,%eax
56d858:	81 c1 44 ea be a4    	add    $0xa4beea44,%ecx
56d85e:	03 4d e4             	add    -0x1c(%ebp),%ecx
56d861:	03 f1                	add    %ecx,%esi
56d863:	c1 c6 04             	rol    $0x4,%esi
56d866:	03 f2                	add    %edx,%esi
56d868:	33 c6                	xor    %esi,%eax
56d86a:	05 a9 cf de 4b       	add    $0x4bdecfa9,%eax
56d86f:	03 45 d4             	add    -0x2c(%ebp),%eax
56d872:	03 f8                	add    %eax,%edi
56d874:	c1 c7 0b             	rol    $0xb,%edi
56d877:	03 fe                	add    %esi,%edi
56d879:	8b c7                	mov    %edi,%eax
56d87b:	8b cf                	mov    %edi,%ecx
56d87d:	33 c2                	xor    %edx,%eax
56d87f:	33 c6                	xor    %esi,%eax
56d881:	05 60 4b bb f6       	add    $0xf6bb4b60,%eax
56d886:	03 45 f8             	add    -0x8(%ebp),%eax
56d889:	03 d8                	add    %eax,%ebx
56d88b:	c1 c3 10             	rol    $0x10,%ebx
56d88e:	03 df                	add    %edi,%ebx
56d890:	33 cb                	xor    %ebx,%ecx
56d892:	8b c1                	mov    %ecx,%eax
56d894:	33 c6                	xor    %esi,%eax
56d896:	05 70 bc bf be       	add    $0xbebfbc70,%eax
56d89b:	03 45 e8             	add    -0x18(%ebp),%eax
56d89e:	03 d0                	add    %eax,%edx
56d8a0:	8b c3                	mov    %ebx,%eax
56d8a2:	c1 ca 09             	ror    $0x9,%edx
56d8a5:	03 d3                	add    %ebx,%edx
56d8a7:	33 c2                	xor    %edx,%eax
56d8a9:	33 ca                	xor    %edx,%ecx
56d8ab:	81 c1 c6 7e 9b 28    	add    $0x289b7ec6,%ecx
56d8b1:	03 4d d8             	add    -0x28(%ebp),%ecx
56d8b4:	03 f1                	add    %ecx,%esi
56d8b6:	c1 c6 04             	rol    $0x4,%esi
56d8b9:	03 f2                	add    %edx,%esi
56d8bb:	33 c6                	xor    %esi,%eax
56d8bd:	05 fa 27 a1 ea       	add    $0xeaa127fa,%eax
56d8c2:	03 45 fc             	add    -0x4(%ebp),%eax
56d8c5:	03 f8                	add    %eax,%edi
56d8c7:	c1 c7 0b             	rol    $0xb,%edi
56d8ca:	03 fe                	add    %esi,%edi
56d8cc:	8b c7                	mov    %edi,%eax
56d8ce:	8b cf                	mov    %edi,%ecx
56d8d0:	33 c2                	xor    %edx,%eax
56d8d2:	33 c6                	xor    %esi,%eax
56d8d4:	05 85 30 ef d4       	add    $0xd4ef3085,%eax
56d8d9:	03 45 ec             	add    -0x14(%ebp),%eax
56d8dc:	03 d8                	add    %eax,%ebx
56d8de:	c1 c3 10             	rol    $0x10,%ebx
56d8e1:	03 df                	add    %edi,%ebx
56d8e3:	33 cb                	xor    %ebx,%ecx
56d8e5:	8b c1                	mov    %ecx,%eax
56d8e7:	33 c6                	xor    %esi,%eax
56d8e9:	81 c6 39 d0 d4 d9    	add    $0xd9d4d039,%esi
56d8ef:	05 05 1d 88 04       	add    $0x4881d05,%eax
56d8f4:	03 45 dc             	add    -0x24(%ebp),%eax
56d8f7:	03 d0                	add    %eax,%edx