89a780:	cc                   	int3
89a781:	55                   	push   %ebp
89a782:	8b ec                	mov    %esp,%ebp
89a784:	51                   	push   %ecx
89a785:	51                   	push   %ecx
89a786:	56                   	push   %esi
89a787:	8d 45 fc             	lea    -0x4(%ebp),%eax
89a78a:	8b f1                	mov    %ecx,%esi
89a78c:	50                   	push   %eax
89a78d:	8d 45 f8             	lea    -0x8(%ebp),%eax
89a790:	50                   	push   %eax
89a791:	ff 75 08             	push   0x8(%ebp)
89a794:	e8 ec be b7 ff       	call   0x416685
89a799:	8b d0                	mov    %eax,%edx
89a79b:	85 d2                	test   %edx,%edx
89a79d:	75 3b                	jne    0x89a7da
89a79f:	39 46 04             	cmp    %eax,0x4(%esi)
89a7a2:	75 12                	jne    0x89a7b6
89a7a4:	6a 01                	push   $0x1
89a7a6:	ff 76 08             	push   0x8(%esi)
89a7a9:	8b ce                	mov    %esi,%ecx
89a7ab:	e8 4f 8c b6 ff       	call   0x4033ff
89a7b0:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
89a7b4:	74 2e                	je     0x89a7e4
89a7b6:	ff 75 08             	push   0x8(%ebp)
89a7b9:	8b ce                	mov    %esi,%ecx
89a7bb:	e8 e5 db b6 ff       	call   0x4083a5
89a7c0:	8b 4d f8             	mov    -0x8(%ebp),%ecx
89a7c3:	8b d0                	mov    %eax,%edx
89a7c5:	8b 45 fc             	mov    -0x4(%ebp),%eax
89a7c8:	89 42 0c             	mov    %eax,0xc(%edx)
89a7cb:	8b 46 04             	mov    0x4(%esi),%eax
89a7ce:	8b 04 88             	mov    (%eax,%ecx,4),%eax
89a7d1:	89 42 08             	mov    %eax,0x8(%edx)
89a7d4:	8b 46 04             	mov    0x4(%esi),%eax
89a7d7:	89 14 88             	mov    %edx,(%eax,%ecx,4)
89a7da:	8d 42 04             	lea    0x4(%edx),%eax
89a7dd:	5e                   	pop    %esi
89a7de:	8b e5                	mov    %ebp,%esp
89a7e0:	5d                   	pop    %ebp
89a7e1:	c2 04 00             	ret    $0x4
89a7e4:	e8 7d 77 b9 ff       	call   0x431f66
89a7e9:	cc                   	int3
89a7ea:	cc                   	int3
89a7eb:	cc                   	int3
89a7ec:	cc                   	int3
89a7ed:	cc                   	int3
89a7ee:	cc                   	int3
89a7ef:	cc                   	int3
89a7f0:	cc                   	int3
89a7f1:	cc                   	int3
89a7f2:	cc                   	int3
89a7f3:	cc                   	int3
89a7f4:	cc                   	int3
89a7f5:	cc                   	int3
89a7f6:	cc                   	int3
89a7f7:	cc                   	int3
89a7f8:	cc                   	int3
89a7f9:	cc                   	int3
89a7fa:	cc                   	int3
89a7fb:	cc                   	int3
89a7fc:	cc                   	int3
89a7fd:	cc                   	int3
89a7fe:	cc                   	int3
89a7ff:	cc                   	int3
89a800:	cc                   	int3
89a801:	cc                   	int3
89a802:	cc                   	int3
89a803:	cc                   	int3
89a804:	85 c9                	test   %ecx,%ecx
89a806:	75 03                	jne    0x89a80b
89a808:	33 c0                	xor    %eax,%eax
89a80a:	c3                   	ret
89a80b:	8b 41 04             	mov    0x4(%ecx),%eax
89a80e:	c3                   	ret
89a80f:	cc                   	int3
89a810:	cc                   	int3
89a811:	55                   	push   %ebp
89a812:	8b ec                	mov    %esp,%ebp
89a814:	6a ff                	push   $0xffffffff
89a816:	68 2f 03 ba 00       	push   $0xba032f
89a81b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
89a821:	50                   	push   %eax
89a822:	56                   	push   %esi
89a823:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
89a828:	33 c5                	xor    %ebp,%eax
89a82a:	50                   	push   %eax
89a82b:	8d 45 f4             	lea    -0xc(%ebp),%eax
89a82e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
89a834:	8b f1                	mov    %ecx,%esi
89a836:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
89a83a:	c7 06 cc 52 c4 00    	movl   $0xc452cc,(%esi)
89a840:	e8 cf ca b7 ff       	call   0x417314
89a845:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
89a849:	74 18                	je     0x89a863
89a84b:	f6 45 08 04          	testb  $0x4,0x8(%ebp)
89a84f:	75 08                	jne    0x89a859
89a851:	56                   	push   %esi
89a852:	e8 38 6f b6 ff       	call   0x40178f
89a857:	eb 09                	jmp    0x89a862
89a859:	6a 1c                	push   $0x1c
89a85b:	56                   	push   %esi
89a85c:	e8 79 4f b8 ff       	call   0x41f7da
89a861:	59                   	pop    %ecx
89a862:	59                   	pop    %ecx
89a863:	8b c6                	mov    %esi,%eax
89a865:	8b 4d f4             	mov    -0xc(%ebp),%ecx
89a868:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
89a86f:	59                   	pop    %ecx
89a870:	5e                   	pop    %esi
89a871:	8b e5                	mov    %ebp,%esp
89a873:	5d                   	pop    %ebp
89a874:	c2 04 00             	ret    $0x4
89a877:	cc                   	int3
89a878:	cc                   	int3
89a879:	cc                   	int3
89a87a:	cc                   	int3
89a87b:	cc                   	int3
89a87c:	cc                   	int3
89a87d:	cc                   	int3
89a87e:	cc                   	int3
89a87f:	cc                   	int3
89a880:	cc                   	int3
89a881:	cc                   	int3
89a882:	cc                   	int3
89a883:	cc                   	int3
89a884:	cc                   	int3
89a885:	cc                   	int3
89a886:	cc                   	int3
89a887:	cc                   	int3
89a888:	cc                   	int3
89a889:	cc                   	int3
89a88a:	cc                   	int3
89a88b:	cc                   	int3
89a88c:	cc                   	int3
89a88d:	cc                   	int3
89a88e:	cc                   	int3
89a88f:	cc                   	int3
89a890:	55                   	push   %ebp
89a891:	8b ec                	mov    %esp,%ebp
89a893:	56                   	push   %esi
89a894:	8b f1                	mov    %ecx,%esi
89a896:	e8 44 f0 b7 ff       	call   0x4198df
89a89b:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
89a89f:	74 1b                	je     0x89a8bc
89a8a1:	f6 45 08 04          	testb  $0x4,0x8(%ebp)
89a8a5:	75 08                	jne    0x89a8af
89a8a7:	56                   	push   %esi
89a8a8:	e8 e2 6e b6 ff       	call   0x40178f
89a8ad:	eb 0c                	jmp    0x89a8bb
89a8af:	68 40 0d 00 00       	push   $0xd40
89a8b4:	56                   	push   %esi
89a8b5:	e8 20 4f b8 ff       	call   0x41f7da
89a8ba:	59                   	pop    %ecx
89a8bb:	59                   	pop    %ecx
89a8bc:	8b c6                	mov    %esi,%eax
89a8be:	5e                   	pop    %esi
89a8bf:	5d                   	pop    %ebp
89a8c0:	c2 04 00             	ret    $0x4
89a8c3:	cc                   	int3
89a8c4:	cc                   	int3
89a8c5:	cc                   	int3
89a8c6:	cc                   	int3
89a8c7:	cc                   	int3
89a8c8:	cc                   	int3
89a8c9:	cc                   	int3
89a8ca:	cc                   	int3
89a8cb:	cc                   	int3
89a8cc:	cc                   	int3
89a8cd:	cc                   	int3
89a8ce:	cc                   	int3
89a8cf:	55                   	push   %ebp
89a8d0:	8b ec                	mov    %esp,%ebp
89a8d2:	51                   	push   %ecx
89a8d3:	51                   	push   %ecx
89a8d4:	8b 81 40 0c 00 00    	mov    0xc40(%ecx),%eax
89a8da:	53                   	push   %ebx
89a8db:	56                   	push   %esi
89a8dc:	57                   	push   %edi
89a8dd:	33 ff                	xor    %edi,%edi
89a8df:	89 45 fc             	mov    %eax,-0x4(%ebp)
89a8e2:	47                   	inc    %edi
89a8e3:	85 c0                	test   %eax,%eax
89a8e5:	74 42                	je     0x89a929
89a8e7:	8d 81 3c 0c 00 00    	lea    0xc3c(%ecx),%eax
89a8ed:	89 45 f8             	mov    %eax,-0x8(%ebp)
89a8f0:	8d 4d fc             	lea    -0x4(%ebp),%ecx
89a8f3:	51                   	push   %ecx
89a8f4:	8b c8                	mov    %eax,%ecx
89a8f6:	e8 cb c7 b7 ff       	call   0x4170c6
89a8fb:	8b 18                	mov    (%eax),%ebx
89a8fd:	8b 03                	mov    (%ebx),%eax
89a8ff:	8b b0 bc 00 00 00    	mov    0xbc(%eax),%esi
89a905:	8b ce                	mov    %esi,%ecx
89a907:	e8 59 1d b9 ff       	call   0x42c665
89a90c:	8b cb                	mov    %ebx,%ecx
89a90e:	ff d6                	call   *%esi
89a910:	85 c0                	test   %eax,%eax
89a912:	7e 06                	jle    0x89a91a
89a914:	3b 7d 08             	cmp    0x8(%ebp),%edi
89a917:	74 0c                	je     0x89a925
89a919:	47                   	inc    %edi
89a91a:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
89a91e:	74 09                	je     0x89a929
89a920:	8b 45 f8             	mov    -0x8(%ebp),%eax
89a923:	eb cb                	jmp    0x89a8f0
89a925:	8b c3                	mov    %ebx,%eax
89a927:	eb 02                	jmp    0x89a92b
89a929:	33 c0                	xor    %eax,%eax
89a92b:	5f                   	pop    %edi
89a92c:	5e                   	pop    %esi
89a92d:	5b                   	pop    %ebx
89a92e:	8b e5                	mov    %ebp,%esp
89a930:	5d                   	pop    %ebp
89a931:	c2 04 00             	ret    $0x4
89a934:	cc                   	int3
89a935:	cc                   	int3
89a936:	cc                   	int3
89a937:	cc                   	int3
89a938:	cc                   	int3
89a939:	cc                   	int3
89a93a:	cc                   	int3
89a93b:	cc                   	int3
89a93c:	cc                   	int3
89a93d:	cc                   	int3
89a93e:	cc                   	int3
89a93f:	cc                   	int3
89a940:	cc                   	int3
89a941:	cc                   	int3
89a942:	cc                   	int3
89a943:	cc                   	int3
89a944:	cc                   	int3
89a945:	cc                   	int3
89a946:	cc                   	int3
89a947:	cc                   	int3
89a948:	cc                   	int3
89a949:	cc                   	int3
89a94a:	cc                   	int3
89a94b:	cc                   	int3
89a94c:	cc                   	int3
89a94d:	55                   	push   %ebp
89a94e:	8b ec                	mov    %esp,%ebp
89a950:	51                   	push   %ecx
89a951:	51                   	push   %ecx
89a952:	8b 81 40 0c 00 00    	mov    0xc40(%ecx),%eax
89a958:	53                   	push   %ebx
89a959:	33 db                	xor    %ebx,%ebx
89a95b:	89 45 fc             	mov    %eax,-0x4(%ebp)
89a95e:	85 c0                	test   %eax,%eax
89a960:	74 38                	je     0x89a99a
89a962:	8d 81 3c 0c 00 00    	lea    0xc3c(%ecx),%eax
89a968:	56                   	push   %esi
89a969:	89 45 f8             	mov    %eax,-0x8(%ebp)
89a96c:	57                   	push   %edi
89a96d:	8d 4d fc             	lea    -0x4(%ebp),%ecx
89a970:	51                   	push   %ecx
89a971:	8b c8                	mov    %eax,%ecx
89a973:	e8 4e c7 b7 ff       	call   0x4170c6
89a978:	8b 38                	mov    (%eax),%edi
89a97a:	8b 07                	mov    (%edi),%eax
89a97c:	8b b0 bc 00 00 00    	mov    0xbc(%eax),%esi
89a982:	8b ce                	mov    %esi,%ecx
89a984:	e8 dc 1c b9 ff       	call   0x42c665
89a989:	8b cf                	mov    %edi,%ecx
89a98b:	ff d6                	call   *%esi
89a98d:	03 d8                	add    %eax,%ebx
89a98f:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
89a993:	8b 45 f8             	mov    -0x8(%ebp),%eax
89a996:	75 d5                	jne    0x89a96d
89a998:	5f                   	pop    %edi
89a999:	5e                   	pop    %esi
89a99a:	8b c3                	mov    %ebx,%eax
89a99c:	5b                   	pop    %ebx
89a99d:	8b e5                	mov    %ebp,%esp
89a99f:	5d                   	pop    %ebp
89a9a0:	c3                   	ret
89a9a1:	cc                   	int3
89a9a2:	cc                   	int3
89a9a3:	cc                   	int3
89a9a4:	cc                   	int3
89a9a5:	cc                   	int3
89a9a6:	cc                   	int3
89a9a7:	cc                   	int3
89a9a8:	cc                   	int3
89a9a9:	cc                   	int3
89a9aa:	cc                   	int3
89a9ab:	cc                   	int3
89a9ac:	cc                   	int3
89a9ad:	cc                   	int3
89a9ae:	cc                   	int3
89a9af:	cc                   	int3
89a9b0:	cc                   	int3
89a9b1:	cc                   	int3
89a9b2:	cc                   	int3
89a9b3:	cc                   	int3
89a9b4:	cc                   	int3
89a9b5:	cc                   	int3
89a9b6:	55                   	push   %ebp
89a9b7:	8b ec                	mov    %esp,%ebp
89a9b9:	83 ec 10             	sub    $0x10,%esp
89a9bc:	53                   	push   %ebx
89a9bd:	8b 5d 08             	mov    0x8(%ebp),%ebx
89a9c0:	56                   	push   %esi
89a9c1:	57                   	push   %edi
89a9c2:	85 db                	test   %ebx,%ebx
89a9c4:	78 6a                	js     0x89aa30
89a9c6:	3b 99 48 0c 00 00    	cmp    0xc48(%ecx),%ebx
89a9cc:	7d 62                	jge    0x89aa30
89a9ce:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
89a9d2:	33 c0                	xor    %eax,%eax
89a9d4:	40                   	inc    %eax
89a9d5:	89 45 f8             	mov    %eax,-0x8(%ebp)
89a9d8:	8b 81 40 0c 00 00    	mov    0xc40(%ecx),%eax
89a9de:	89 45 f4             	mov    %eax,-0xc(%ebp)
89a9e1:	85 c0                	test   %eax,%eax
89a9e3:	74 4b                	je     0x89aa30
89a9e5:	8d 81 3c 0c 00 00    	lea    0xc3c(%ecx),%eax
89a9eb:	89 45 f0             	mov    %eax,-0x10(%ebp)
89a9ee:	8d 4d f4             	lea    -0xc(%ebp),%ecx
89a9f1:	51                   	push   %ecx
89a9f2:	8b c8                	mov    %eax,%ecx
89a9f4:	e8 cd c6 b7 ff       	call   0x4170c6
89a9f9:	8b 38                	mov    (%eax),%edi
89a9fb:	8b 07                	mov    (%edi),%eax
89a9fd:	8b b0 bc 00 00 00    	mov    0xbc(%eax),%esi
89aa03:	8b ce                	mov    %esi,%ecx
89aa05:	e8 5b 1c b9 ff       	call   0x42c665
89aa0a:	8b cf                	mov    %edi,%ecx
89aa0c:	ff d6                	call   *%esi
89aa0e:	85 c0                	test   %eax,%eax
89aa10:	8b 45 fc             	mov    -0x4(%ebp),%eax
89aa13:	7e 07                	jle    0x89aa1c
89aa15:	3b c3                	cmp    %ebx,%eax
89aa17:	74 12                	je     0x89aa2b
89aa19:	ff 45 f8             	incl   -0x8(%ebp)
89aa1c:	40                   	inc    %eax
89aa1d:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
89aa21:	89 45 fc             	mov    %eax,-0x4(%ebp)
89aa24:	74 0a                	je     0x89aa30
89aa26:	8b 45 f0             	mov    -0x10(%ebp),%eax
89aa29:	eb c3                	jmp    0x89a9ee
89aa2b:	8b 45 f8             	mov    -0x8(%ebp),%eax
89aa2e:	eb 02                	jmp    0x89aa32
89aa30:	33 c0                	xor    %eax,%eax
89aa32:	5f                   	pop    %edi
89aa33:	5e                   	pop    %esi
89aa34:	5b                   	pop    %ebx
89aa35:	8b e5                	mov    %ebp,%esp
89aa37:	5d                   	pop    %ebp
89aa38:	c2 04 00             	ret    $0x4