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)
5c68dd:	84 db                	test   %bl,%bl
5c68df:	75 1d                	jne    0x5c68fe
5c68e1:	8b 45 e0             	mov    -0x20(%ebp),%eax
5c68e4:	3b fe                	cmp    %esi,%edi
5c68e6:	75 d8                	jne    0x5c68c0
5c68e8:	8b 45 ec             	mov    -0x14(%ebp),%eax
5c68eb:	3b 45 08             	cmp    0x8(%ebp),%eax
5c68ee:	0f 85 b9 00 00 00    	jne    0x5c69ad
5c68f4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5c68f7:	89 39                	mov    %edi,(%ecx)
5c68f9:	e9 af 00 00 00       	jmp    0x5c69ad
5c68fe:	8b 45 ec             	mov    -0x14(%ebp),%eax
5c6901:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5c6904:	3b 45 08             	cmp    0x8(%ebp),%eax
5c6907:	75 07                	jne    0x5c6910
5c6909:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5c690c:	89 01                	mov    %eax,(%ecx)
5c690e:	eb 03                	jmp    0x5c6913
5c6910:	8b 45 dc             	mov    -0x24(%ebp),%eax
5c6913:	89 41 04             	mov    %eax,0x4(%ecx)
5c6916:	3b fe                	cmp    %esi,%edi
5c6918:	0f 84 8f 00 00 00    	je     0x5c69ad
5c691e:	8b ff                	mov    %edi,%edi
5c6920:	0f b6 47 08          	movzbl 0x8(%edi),%eax
5c6924:	35 c5 9d 1c 81       	xor    $0x811c9dc5,%eax
5c6929:	69 c8 93 01 00 01    	imul   $0x1000193,%eax,%ecx
5c692f:	0f b6 47 09          	movzbl 0x9(%edi),%eax
5c6933:	33 c8                	xor    %eax,%ecx
5c6935:	0f b6 47 0a          	movzbl 0xa(%edi),%eax
5c6939:	69 c9 93 01 00 01    	imul   $0x1000193,%ecx,%ecx
5c693f:	33 c8                	xor    %eax,%ecx
5c6941:	0f b6 47 0b          	movzbl 0xb(%edi),%eax
5c6945:	69 c9 93 01 00 01    	imul   $0x1000193,%ecx,%ecx
5c694b:	33 c8                	xor    %eax,%ecx
5c694d:	69 c1 93 01 00 01    	imul   $0x1000193,%ecx,%eax
5c6953:	8b 4a 18             	mov    0x18(%edx),%ecx
5c6956:	23 c8                	and    %eax,%ecx
5c6958:	8b 45 e8             	mov    -0x18(%ebp),%eax
5c695b:	8d 04 c8             	lea    (%eax,%ecx,8),%eax
5c695e:	89 45 08             	mov    %eax,0x8(%ebp)
5c6961:	8b 40 04             	mov    0x4(%eax),%eax
5c6964:	89 45 0c             	mov    %eax,0xc(%ebp)
5c6967:	3b f8                	cmp    %eax,%edi
5c6969:	8b c7                	mov    %edi,%eax
5c696b:	8b 3f                	mov    (%edi),%edi
5c696d:	6a 1c                	push   $0x1c
5c696f:	50                   	push   %eax
5c6970:	0f 94 c3             	sete   %bl
5c6973:	89 7d d4             	mov    %edi,-0x2c(%ebp)
5c6976:	e8 da a8 00 00       	call   0x5d1255
5c697b:	8b 45 f0             	mov    -0x10(%ebp),%eax
5c697e:	83 c4 08             	add    $0x8,%esp
5c6981:	ff 48 08             	decl   0x8(%eax)
5c6984:	84 db                	test   %bl,%bl
5c6986:	75 09                	jne    0x5c6991
5c6988:	3b fe                	cmp    %esi,%edi
5c698a:	74 1c                	je     0x5c69a8
5c698c:	8b 45 0c             	mov    0xc(%ebp),%eax
5c698f:	eb d6                	jmp    0x5c6967
5c6991:	8b 45 08             	mov    0x8(%ebp),%eax
5c6994:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5c6997:	89 10                	mov    %edx,(%eax)
5c6999:	89 50 04             	mov    %edx,0x4(%eax)
5c699c:	3b fe                	cmp    %esi,%edi
5c699e:	74 0d                	je     0x5c69ad
5c69a0:	8b 55 f0             	mov    -0x10(%ebp),%edx
5c69a3:	e9 78 ff ff ff       	jmp    0x5c6920
5c69a8:	8b 45 08             	mov    0x8(%ebp),%eax
5c69ab:	89 38                	mov    %edi,(%eax)
5c69ad:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
5c69b4:	8b 45 d8             	mov    -0x28(%ebp),%eax
5c69b7:	89 38                	mov    %edi,(%eax)
5c69b9:	89 47 04             	mov    %eax,0x4(%edi)
5c69bc:	5f                   	pop    %edi
5c69bd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c69c0:	8b c6                	mov    %esi,%eax
5c69c2:	5e                   	pop    %esi
5c69c3:	5b                   	pop    %ebx
5c69c4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5c69cb:	8b e5                	mov    %ebp,%esp
5c69cd:	5d                   	pop    %ebp
5c69ce:	c2 08 00             	ret    $0x8
5c69d1:	cc                   	int3
5c69d2:	cc                   	int3
5c69d3:	cc                   	int3
5c69d4:	cc                   	int3
5c69d5:	cc                   	int3
5c69d6:	cc                   	int3
5c69d7:	cc                   	int3
5c69d8:	cc                   	int3
5c69d9:	cc                   	int3
5c69da:	cc                   	int3
5c69db:	cc                   	int3
5c69dc:	cc                   	int3
5c69dd:	cc                   	int3
5c69de:	cc                   	int3
5c69df:	cc                   	int3
5c69e0:	55                   	push   %ebp
5c69e1:	8b ec                	mov    %esp,%ebp
5c69e3:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5c69e9:	6a ff                	push   $0xffffffff
5c69eb:	68 20 fc 5f 00       	push   $0x5ffc20
5c69f0:	50                   	push   %eax
5c69f1:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
5c69f8:	56                   	push   %esi
5c69f9:	57                   	push   %edi
5c69fa:	8b f9                	mov    %ecx,%edi
5c69fc:	8b 4f 08             	mov    0x8(%edi),%ecx
5c69ff:	85 c9                	test   %ecx,%ecx
5c6a01:	74 78                	je     0x5c6a7b
5c6a03:	8b 47 1c             	mov    0x1c(%edi),%eax
5c6a06:	c1 e8 03             	shr    $0x3,%eax
5c6a09:	3b c1                	cmp    %ecx,%eax
5c6a0b:	76 1d                	jbe    0x5c6a2a
5c6a0d:	8b 47 04             	mov    0x4(%edi),%eax
5c6a10:	8b cf                	mov    %edi,%ecx
5c6a12:	50                   	push   %eax
5c6a13:	ff 30                	push   (%eax)
5c6a15:	e8 f6 fd ff ff       	call   0x5c6810
5c6a1a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c6a1d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5c6a24:	5f                   	pop    %edi
5c6a25:	5e                   	pop    %esi
5c6a26:	8b e5                	mov    %ebp,%esp
5c6a28:	5d                   	pop    %ebp
5c6a29:	c3                   	ret
5c6a2a:	8b 4f 04             	mov    0x4(%edi),%ecx
5c6a2d:	8b 41 04             	mov    0x4(%ecx),%eax
5c6a30:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
5c6a36:	8b 01                	mov    (%ecx),%eax
5c6a38:	85 c0                	test   %eax,%eax
5c6a3a:	74 17                	je     0x5c6a53
5c6a3c:	8d 64 24 00          	lea    0x0(%esp),%esp
5c6a40:	8b 30                	mov    (%eax),%esi
5c6a42:	6a 1c                	push   $0x1c
5c6a44:	50                   	push   %eax
5c6a45:	e8 0b a8 00 00       	call   0x5d1255
5c6a4a:	83 c4 08             	add    $0x8,%esp
5c6a4d:	8b c6                	mov    %esi,%eax
5c6a4f:	85 f6                	test   %esi,%esi
5c6a51:	75 ed                	jne    0x5c6a40
5c6a53:	8b 47 04             	mov    0x4(%edi),%eax
5c6a56:	89 00                	mov    %eax,(%eax)
5c6a58:	8b 47 04             	mov    0x4(%edi),%eax
5c6a5b:	89 40 04             	mov    %eax,0x4(%eax)
5c6a5e:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
5c6a65:	8b 57 10             	mov    0x10(%edi),%edx
5c6a68:	8b 4f 0c             	mov    0xc(%edi),%ecx
5c6a6b:	8b 47 04             	mov    0x4(%edi),%eax
5c6a6e:	3b ca                	cmp    %edx,%ecx
5c6a70:	74 09                	je     0x5c6a7b
5c6a72:	89 01                	mov    %eax,(%ecx)
5c6a74:	83 c1 04             	add    $0x4,%ecx
5c6a77:	3b ca                	cmp    %edx,%ecx
5c6a79:	75 f7                	jne    0x5c6a72
5c6a7b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c6a7e:	5f                   	pop    %edi
5c6a7f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5c6a86:	5e                   	pop    %esi
5c6a87:	8b e5                	mov    %ebp,%esp
5c6a89:	5d                   	pop    %ebp
5c6a8a:	c3                   	ret
5c6a8b:	cc                   	int3
5c6a8c:	cc                   	int3
5c6a8d:	cc                   	int3
5c6a8e:	cc                   	int3
5c6a8f:	cc                   	int3
5c6a90:	55                   	push   %ebp
5c6a91:	8b ec                	mov    %esp,%ebp
5c6a93:	8b 45 0c             	mov    0xc(%ebp),%eax
5c6a96:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
5c6a99:	8b 45 08             	mov    0x8(%ebp),%eax
5c6a9c:	c1 e1 02             	shl    $0x2,%ecx
5c6a9f:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5c6aa5:	72 12                	jb     0x5c6ab9