5c64f7:	89 75 08             	mov    %esi,0x8(%ebp)
5c64fa:	0f bd c8             	bsr    %eax,%ecx
5c64fd:	56                   	push   %esi
5c64fe:	8d 49 01             	lea    0x1(%ecx),%ecx
5c6501:	d3 e7                	shl    %cl,%edi
5c6503:	8d 4b 0c             	lea    0xc(%ebx),%ecx
5c6506:	8d 04 3f             	lea    (%edi,%edi,1),%eax
5c6509:	50                   	push   %eax
5c650a:	e8 c1 fd ff ff       	call   0x5c62d0
5c650f:	8d 47 ff             	lea    -0x1(%edi),%eax
5c6512:	89 7b 1c             	mov    %edi,0x1c(%ebx)
5c6515:	89 43 18             	mov    %eax,0x18(%ebx)
5c6518:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
5c651b:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5c6522:	8b 43 04             	mov    0x4(%ebx),%eax
5c6525:	8b 00                	mov    (%eax),%eax
5c6527:	8b c8                	mov    %eax,%ecx
5c6529:	3b c6                	cmp    %esi,%eax
5c652b:	0f 84 cb 00 00 00    	je     0x5c65fc
5c6531:	0f b6 50 08          	movzbl 0x8(%eax),%edx
5c6535:	81 f2 c5 9d 1c 81    	xor    $0x811c9dc5,%edx
5c653b:	8b 09                	mov    (%ecx),%ecx
5c653d:	69 fa 93 01 00 01    	imul   $0x1000193,%edx,%edi
5c6543:	0f b6 50 09          	movzbl 0x9(%eax),%edx
5c6547:	33 fa                	xor    %edx,%edi
5c6549:	0f b6 50 0a          	movzbl 0xa(%eax),%edx
5c654d:	69 ff 93 01 00 01    	imul   $0x1000193,%edi,%edi
5c6553:	33 fa                	xor    %edx,%edi
5c6555:	0f b6 50 0b          	movzbl 0xb(%eax),%edx
5c6559:	69 ff 93 01 00 01    	imul   $0x1000193,%edi,%edi
5c655f:	33 fa                	xor    %edx,%edi
5c6561:	69 d7 93 01 00 01    	imul   $0x1000193,%edi,%edx
5c6567:	8b 7b 18             	mov    0x18(%ebx),%edi
5c656a:	23 fa                	and    %edx,%edi
5c656c:	8b 53 0c             	mov    0xc(%ebx),%edx
5c656f:	8d 14 fa             	lea    (%edx,%edi,8),%edx
5c6572:	8b 3a                	mov    (%edx),%edi
5c6574:	89 55 ec             	mov    %edx,-0x14(%ebp)
5c6577:	3b fe                	cmp    %esi,%edi
5c6579:	75 07                	jne    0x5c6582
5c657b:	89 02                	mov    %eax,(%edx)
5c657d:	89 42 04             	mov    %eax,0x4(%edx)
5c6580:	eb 70                	jmp    0x5c65f2
5c6582:	8b 52 04             	mov    0x4(%edx),%edx
5c6585:	8b 58 08             	mov    0x8(%eax),%ebx
5c6588:	3b 5a 08             	cmp    0x8(%edx),%ebx
5c658b:	75 2f                	jne    0x5c65bc
5c658d:	8b 12                	mov    (%edx),%edx
5c658f:	89 55 e8             	mov    %edx,-0x18(%ebp)
5c6592:	3b d0                	cmp    %eax,%edx
5c6594:	74 1e                	je     0x5c65b4
5c6596:	8b 58 04             	mov    0x4(%eax),%ebx
5c6599:	8b 75 e8             	mov    -0x18(%ebp),%esi
5c659c:	89 0b                	mov    %ecx,(%ebx)
5c659e:	8b 79 04             	mov    0x4(%ecx),%edi
5c65a1:	89 17                	mov    %edx,(%edi)
5c65a3:	8b 52 04             	mov    0x4(%edx),%edx
5c65a6:	89 02                	mov    %eax,(%edx)
5c65a8:	89 7e 04             	mov    %edi,0x4(%esi)
5c65ab:	8b 75 08             	mov    0x8(%ebp),%esi
5c65ae:	89 59 04             	mov    %ebx,0x4(%ecx)
5c65b1:	89 50 04             	mov    %edx,0x4(%eax)
5c65b4:	8b 55 ec             	mov    -0x14(%ebp),%edx
5c65b7:	89 42 04             	mov    %eax,0x4(%edx)
5c65ba:	eb 33                	jmp    0x5c65ef
5c65bc:	3b fa                	cmp    %edx,%edi
5c65be:	74 0c                	je     0x5c65cc
5c65c0:	8b 52 04             	mov    0x4(%edx),%edx
5c65c3:	3b 5a 08             	cmp    0x8(%edx),%ebx
5c65c6:	74 55                	je     0x5c661d
5c65c8:	3b fa                	cmp    %edx,%edi
5c65ca:	75 f4                	jne    0x5c65c0
5c65cc:	8b 58 04             	mov    0x4(%eax),%ebx
5c65cf:	89 5d e8             	mov    %ebx,-0x18(%ebp)
5c65d2:	89 0b                	mov    %ecx,(%ebx)
5c65d4:	8b 59 04             	mov    0x4(%ecx),%ebx
5c65d7:	89 13                	mov    %edx,(%ebx)
5c65d9:	8b 7a 04             	mov    0x4(%edx),%edi
5c65dc:	89 07                	mov    %eax,(%edi)
5c65de:	89 5a 04             	mov    %ebx,0x4(%edx)
5c65e1:	8b 55 e8             	mov    -0x18(%ebp),%edx
5c65e4:	89 51 04             	mov    %edx,0x4(%ecx)
5c65e7:	8b 55 ec             	mov    -0x14(%ebp),%edx
5c65ea:	89 78 04             	mov    %edi,0x4(%eax)
5c65ed:	89 02                	mov    %eax,(%edx)
5c65ef:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5c65f2:	8b c1                	mov    %ecx,%eax
5c65f4:	3b ce                	cmp    %esi,%ecx
5c65f6:	0f 85 35 ff ff ff    	jne    0x5c6531
5c65fc:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
5c6603:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
5c660a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c660d:	5f                   	pop    %edi
5c660e:	5e                   	pop    %esi
5c660f:	5b                   	pop    %ebx
5c6610:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5c6617:	8b e5                	mov    %ebp,%esp
5c6619:	5d                   	pop    %ebp
5c661a:	c2 04 00             	ret    $0x4
5c661d:	8b 58 04             	mov    0x4(%eax),%ebx
5c6620:	8b 12                	mov    (%edx),%edx
5c6622:	89 55 e8             	mov    %edx,-0x18(%ebp)
5c6625:	8b f2                	mov    %edx,%esi
5c6627:	89 0b                	mov    %ecx,(%ebx)
5c6629:	8b 79 04             	mov    0x4(%ecx),%edi
5c662c:	89 17                	mov    %edx,(%edi)
5c662e:	8b 52 04             	mov    0x4(%edx),%edx
5c6631:	89 02                	mov    %eax,(%edx)
5c6633:	89 7e 04             	mov    %edi,0x4(%esi)
5c6636:	8b 75 08             	mov    0x8(%ebp),%esi
5c6639:	89 59 04             	mov    %ebx,0x4(%ecx)
5c663c:	89 50 04             	mov    %edx,0x4(%eax)
5c663f:	eb ae                	jmp    0x5c65ef
5c6641:	68 3c 64 60 00       	push   $0x60643c
5c6646:	e8 8b a5 00 00       	call   0x5d0bd6
5c664b:	cc                   	int3
5c664c:	cc                   	int3
5c664d:	cc                   	int3
5c664e:	cc                   	int3
5c664f:	cc                   	int3
5c6650:	55                   	push   %ebp
5c6651:	8b ec                	mov    %esp,%ebp
5c6653:	6a ff                	push   $0xffffffff
5c6655:	68 9d 07 60 00       	push   $0x60079d
5c665a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5c6660:	50                   	push   %eax
5c6661:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
5c6668:	83 ec 10             	sub    $0x10,%esp
5c666b:	8b d1                	mov    %ecx,%edx
5c666d:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
5c6672:	0f bd c8             	bsr    %eax,%ecx
5c6675:	56                   	push   %esi
5c6676:	be 01 00 00 00       	mov    $0x1,%esi
5c667b:	89 55 ec             	mov    %edx,-0x14(%ebp)
5c667e:	8b c6                	mov    %esi,%eax
5c6680:	d3 e0                	shl    %cl,%eax
5c6682:	8b 4d 08             	mov    0x8(%ebp),%ecx
5c6685:	57                   	push   %edi
5c6686:	3b c8                	cmp    %eax,%ecx
5c6688:	0f 87 6b 01 00 00    	ja     0x5c67f9
5c668e:	8d 41 ff             	lea    -0x1(%ecx),%eax
5c6691:	0b c6                	or     %esi,%eax
5c6693:	0f bd c8             	bsr    %eax,%ecx
5c6696:	8b 42 04             	mov    0x4(%edx),%eax
5c6699:	50                   	push   %eax
5c669a:	89 45 08             	mov    %eax,0x8(%ebp)
5c669d:	8d 49 01             	lea    0x1(%ecx),%ecx
5c66a0:	d3 e6                	shl    %cl,%esi
5c66a2:	8d 4a 0c             	lea    0xc(%edx),%ecx
5c66a5:	8d 04 36             	lea    (%esi,%esi,1),%eax
5c66a8:	50                   	push   %eax
5c66a9:	e8 22 fc ff ff       	call   0x5c62d0
5c66ae:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5c66b1:	8d 46 ff             	lea    -0x1(%esi),%eax
5c66b4:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5c66b7:	89 41 18             	mov    %eax,0x18(%ecx)
5c66ba:	89 71 1c             	mov    %esi,0x1c(%ecx)
5c66bd:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5c66c4:	8b 71 04             	mov    0x4(%ecx),%esi
5c66c7:	8b 36                	mov    (%esi),%esi
5c66c9:	8b fe                	mov    %esi,%edi
5c66cb:	3b 75 08             	cmp    0x8(%ebp),%esi
5c66ce:	0f 84 e1 00 00 00    	je     0x5c67b5
5c66d4:	53                   	push   %ebx
5c66d5:	8b 3f                	mov    (%edi),%edi
5c66d7:	8d 5e 08             	lea    0x8(%esi),%ebx
5c66da:	53                   	push   %ebx
5c66db:	e8 90 9f ff ff       	call   0x5c0670
5c66e0:	8b 55 ec             	mov    -0x14(%ebp),%edx
5c66e3:	23 42 18             	and    0x18(%edx),%eax
5c66e6:	8b 4a 0c             	mov    0xc(%edx),%ecx
5c66e9:	8b 14 c1             	mov    (%ecx,%eax,8),%edx
5c66ec:	8d 0c c1             	lea    (%ecx,%eax,8),%ecx
5c66ef:	8b 01                	mov    (%ecx),%eax
5c66f1:	89 45 f0             	mov    %eax,-0x10(%ebp)
5c66f4:	8b 45 08             	mov    0x8(%ebp),%eax
5c66f7:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5c66fa:	3b d0                	cmp    %eax,%edx
5c66fc:	75 0a                	jne    0x5c6708
5c66fe:	89 31                	mov    %esi,(%ecx)
5c6700:	89 71 04             	mov    %esi,0x4(%ecx)
5c6703:	e9 9f 00 00 00       	jmp    0x5c67a7
5c6708:	8b 49 04             	mov    0x4(%ecx),%ecx
5c670b:	8b 03                	mov    (%ebx),%eax
5c670d:	3b 41 08             	cmp    0x8(%ecx),%eax
5c6710:	8b 45 08             	mov    0x8(%ebp),%eax
5c6713:	75 42                	jne    0x5c6757
5c6715:	8b 53 04             	mov    0x4(%ebx),%edx
5c6718:	3b 51 0c             	cmp    0xc(%ecx),%edx
5c671b:	75 37                	jne    0x5c6754
5c671d:	8b 53 0c             	mov    0xc(%ebx),%edx
5c6720:	3b 51 14             	cmp    0x14(%ecx),%edx
5c6723:	75 2f                	jne    0x5c6754
5c6725:	8b 09                	mov    (%ecx),%ecx
5c6727:	89 4d f0             	mov    %ecx,-0x10(%ebp)
5c672a:	3b ce                	cmp    %esi,%ecx
5c672c:	74 1e                	je     0x5c674c
5c672e:	8b 5e 04             	mov    0x4(%esi),%ebx
5c6731:	8b 45 f0             	mov    -0x10(%ebp),%eax
5c6734:	89 3b                	mov    %edi,(%ebx)
5c6736:	8b 57 04             	mov    0x4(%edi),%edx
5c6739:	89 0a                	mov    %ecx,(%edx)
5c673b:	8b 49 04             	mov    0x4(%ecx),%ecx
5c673e:	89 31                	mov    %esi,(%ecx)
5c6740:	89 50 04             	mov    %edx,0x4(%eax)
5c6743:	8b 45 08             	mov    0x8(%ebp),%eax
5c6746:	89 5f 04             	mov    %ebx,0x4(%edi)
5c6749:	89 4e 04             	mov    %ecx,0x4(%esi)
5c674c:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5c674f:	89 71 04             	mov    %esi,0x4(%ecx)
5c6752:	eb 53                	jmp    0x5c67a7
5c6754:	8b 55 f0             	mov    -0x10(%ebp),%edx
5c6757:	3b d1                	cmp    %ecx,%edx
5c6759:	74 29                	je     0x5c6784
5c675b:	eb 03                	jmp    0x5c6760
5c675d:	8d 49 00             	lea    0x0(%ecx),%ecx
5c6760:	8b 49 04             	mov    0x4(%ecx),%ecx
5c6763:	8b 03                	mov    (%ebx),%eax
5c6765:	3b 41 08             	cmp    0x8(%ecx),%eax
5c6768:	8b 45 08             	mov    0x8(%ebp),%eax
5c676b:	75 13                	jne    0x5c6780
5c676d:	8b 53 04             	mov    0x4(%ebx),%edx
5c6770:	3b 51 0c             	cmp    0xc(%ecx),%edx
5c6773:	75 08                	jne    0x5c677d
5c6775:	8b 53 0c             	mov    0xc(%ebx),%edx
5c6778:	3b 51 14             	cmp    0x14(%ecx),%edx
5c677b:	74 58                	je     0x5c67d5
5c677d:	8b 55 f0             	mov    -0x10(%ebp),%edx
5c6780:	3b d1                	cmp    %ecx,%edx
5c6782:	75 dc                	jne    0x5c6760
5c6784:	8b 56 04             	mov    0x4(%esi),%edx
5c6787:	89 55 f0             	mov    %edx,-0x10(%ebp)
5c678a:	89 3a                	mov    %edi,(%edx)
5c678c:	8b 5f 04             	mov    0x4(%edi),%ebx
5c678f:	89 0b                	mov    %ecx,(%ebx)
5c6791:	8b 51 04             	mov    0x4(%ecx),%edx
5c6794:	89 32                	mov    %esi,(%edx)
5c6796:	89 59 04             	mov    %ebx,0x4(%ecx)
5c6799:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5c679c:	89 4f 04             	mov    %ecx,0x4(%edi)
5c679f:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5c67a2:	89 56 04             	mov    %edx,0x4(%esi)
5c67a5:	89 31                	mov    %esi,(%ecx)
5c67a7:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5c67aa:	8b f7                	mov    %edi,%esi
5c67ac:	3b f8                	cmp    %eax,%edi
5c67ae:	0f 85 21 ff ff ff    	jne    0x5c66d5
5c67b4:	5b                   	pop    %ebx
5c67b5:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
5c67bc:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
5c67c3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c67c6:	5f                   	pop    %edi
5c67c7:	5e                   	pop    %esi
5c67c8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5c67cf:	8b e5                	mov    %ebp,%esp
5c67d1:	5d                   	pop    %ebp
5c67d2:	c2 04 00             	ret    $0x4
5c67d5:	8b 5e 04             	mov    0x4(%esi),%ebx
5c67d8:	8b 09                	mov    (%ecx),%ecx
5c67da:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5c67dd:	8b c1                	mov    %ecx,%eax
5c67df:	89 3b                	mov    %edi,(%ebx)
5c67e1:	8b 57 04             	mov    0x4(%edi),%edx
5c67e4:	89 0a                	mov    %ecx,(%edx)
5c67e6:	8b 49 04             	mov    0x4(%ecx),%ecx
5c67e9:	89 31                	mov    %esi,(%ecx)
5c67eb:	89 50 04             	mov    %edx,0x4(%eax)
5c67ee:	8b 45 08             	mov    0x8(%ebp),%eax
5c67f1:	89 5f 04             	mov    %ebx,0x4(%edi)
5c67f4:	89 4e 04             	mov    %ecx,0x4(%esi)
5c67f7:	eb ae                	jmp    0x5c67a7
5c67f9:	68 3c 64 60 00       	push   $0x60643c
5c67fe:	e8 d3 a3 00 00       	call   0x5d0bd6
5c6803:	cc                   	int3
5c6804:	cc                   	int3
5c6805:	cc                   	int3
5c6806:	cc                   	int3
5c6807:	cc                   	int3
5c6808:	cc                   	int3
5c6809:	cc                   	int3
5c680a:	cc                   	int3
5c680b:	cc                   	int3
5c680c:	cc                   	int3
5c680d:	cc                   	int3
5c680e:	cc                   	int3
5c680f:	cc                   	int3
5c6810:	55                   	push   %ebp
5c6811:	8b ec                	mov    %esp,%ebp
5c6813:	6a ff                	push   $0xffffffff
5c6815:	68 bd 07 60 00       	push   $0x6007bd
5c681a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5c6820:	50                   	push   %eax
5c6821:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
5c6828:	83 ec 28             	sub    $0x28,%esp
5c682b:	8b 55 08             	mov    0x8(%ebp),%edx
5c682e:	53                   	push   %ebx
5c682f:	56                   	push   %esi
5c6830:	8b 75 0c             	mov    0xc(%ebp),%esi
5c6833:	8b d9                	mov    %ecx,%ebx
5c6835:	89 5d f0             	mov    %ebx,-0x10(%ebp)
5c6838:	3b d6                	cmp    %esi,%edx
5c683a:	0f 84 7d 01 00 00    	je     0x5c69bd
5c6840:	8b 4b 04             	mov    0x4(%ebx),%ecx
5c6843:	8d 43 04             	lea    0x4(%ebx),%eax
5c6846:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5c6849:	8b 4b 0c             	mov    0xc(%ebx),%ecx
5c684c:	89 45 cc             	mov    %eax,-0x34(%ebp)
5c684f:	8b 42 04             	mov    0x4(%edx),%eax
5c6852:	57                   	push   %edi
5c6853:	8b fa                	mov    %edx,%edi
5c6855:	89 45 d0             	mov    %eax,-0x30(%ebp)
5c6858:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5c685b:	89 45 d8             	mov    %eax,-0x28(%ebp)
5c685e:	89 7d d4             	mov    %edi,-0x2c(%ebp)
5c6861:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5c6868:	8b 42 04             	mov    0x4(%edx),%eax
5c686b:	89 45 dc             	mov    %eax,-0x24(%ebp)
5c686e:	0f b6 42 08          	movzbl 0x8(%edx),%eax
5c6872:	35 c5 9d 1c 81       	xor    $0x811c9dc5,%eax
5c6877:	69 c8 93 01 00 01    	imul   $0x1000193,%eax,%ecx
5c687d:	0f b6 42 09          	movzbl 0x9(%edx),%eax
5c6881:	33 c8                	xor    %eax,%ecx
5c6883:	0f b6 42 0a          	movzbl 0xa(%edx),%eax
5c6887:	69 c9 93 01 00 01    	imul   $0x1000193,%ecx,%ecx
5c688d:	33 c8                	xor    %eax,%ecx
5c688f:	0f b6 42 0b          	movzbl 0xb(%edx),%eax
5c6893:	69 c9 93 01 00 01    	imul   $0x1000193,%ecx,%ecx
5c6899:	33 c8                	xor    %eax,%ecx
5c689b:	8b 43 18             	mov    0x18(%ebx),%eax
5c689e:	69 c9 93 01 00 01    	imul   $0x1000193,%ecx,%ecx
5c68a4:	23 c1                	and    %ecx,%eax
5c68a6:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5c68a9:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
5c68ac:	8b 08                	mov    (%eax),%ecx
5c68ae:	89 45 0c             	mov    %eax,0xc(%ebp)
5c68b1:	8b 40 04             	mov    0x4(%eax),%eax
5c68b4:	89 4d ec             	mov    %ecx,-0x14(%ebp)
5c68b7:	89 45 e0             	mov    %eax,-0x20(%ebp)
5c68ba:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
5c68c0:	3b f8                	cmp    %eax,%edi
5c68c2:	8b c7                	mov    %edi,%eax
5c68c4:	8b 3f                	mov    (%edi),%edi
5c68c6:	6a 1c                	push   $0x1c
5c68c8:	50                   	push   %eax
5c68c9:	0f 94 c3             	sete   %bl
5c68cc:	89 7d d4             	mov    %edi,-0x2c(%ebp)
5c68cf:	e8 81 a9 00 00       	call   0x5d1255
5c68d4:	8b 55 f0             	mov    -0x10(%ebp),%edx
5c68d7:	83 c4 08             	add    $0x8,%esp
5c68da:	ff 4a 08             	decl   0x8(%edx)