6976a1:	8b 00                	mov    (%eax),%eax
6976a3:	85 c0                	test   %eax,%eax
6976a5:	75 f0                	jne    0x697697
6976a7:	c2 10 00             	ret    $0x10
6976aa:	8b 4c 24 10          	mov    0x10(%esp),%ecx
6976ae:	89 48 0c             	mov    %ecx,0xc(%eax)
6976b1:	c2 10 00             	ret    $0x10
6976b4:	cc                   	int3
6976b5:	cc                   	int3
6976b6:	cc                   	int3
6976b7:	cc                   	int3
6976b8:	cc                   	int3
6976b9:	cc                   	int3
6976ba:	cc                   	int3
6976bb:	cc                   	int3
6976bc:	cc                   	int3
6976bd:	cc                   	int3
6976be:	cc                   	int3
6976bf:	cc                   	int3
6976c0:	cc                   	int3
6976c1:	cc                   	int3
6976c2:	cc                   	int3
6976c3:	cc                   	int3
6976c4:	cc                   	int3
6976c5:	cc                   	int3
6976c6:	cc                   	int3
6976c7:	cc                   	int3
6976c8:	cc                   	int3
6976c9:	cc                   	int3
6976ca:	cc                   	int3
6976cb:	cc                   	int3
6976cc:	cc                   	int3
6976cd:	cc                   	int3
6976ce:	cc                   	int3
6976cf:	cc                   	int3
6976d0:	c3                   	ret
6976d1:	cc                   	int3
6976d2:	cc                   	int3
6976d3:	cc                   	int3
6976d4:	cc                   	int3
6976d5:	cc                   	int3
6976d6:	cc                   	int3
6976d7:	cc                   	int3
6976d8:	cc                   	int3
6976d9:	cc                   	int3
6976da:	cc                   	int3
6976db:	cc                   	int3
6976dc:	cc                   	int3
6976dd:	cc                   	int3
6976de:	cc                   	int3
6976df:	cc                   	int3
6976e0:	53                   	push   %ebx
6976e1:	8b 5c 24 08          	mov    0x8(%esp),%ebx
6976e5:	85 db                	test   %ebx,%ebx
6976e7:	74 6d                	je     0x697756
6976e9:	8b 4b 10             	mov    0x10(%ebx),%ecx
6976ec:	8b 54 24 10          	mov    0x10(%esp),%edx
6976f0:	56                   	push   %esi
6976f1:	8b 74 24 10          	mov    0x10(%esp),%esi
6976f5:	57                   	push   %edi
6976f6:	8d 7b 10             	lea    0x10(%ebx),%edi
6976f9:	85 c9                	test   %ecx,%ecx
6976fb:	74 23                	je     0x697720
6976fd:	0f 1f 00             	nopl   (%eax)
697700:	39 71 04             	cmp    %esi,0x4(%ecx)
697703:	75 05                	jne    0x69770a
697705:	39 51 08             	cmp    %edx,0x8(%ecx)
697708:	74 0a                	je     0x697714
69770a:	8b f9                	mov    %ecx,%edi
69770c:	8b 09                	mov    (%ecx),%ecx
69770e:	85 c9                	test   %ecx,%ecx
697710:	75 ee                	jne    0x697700
697712:	eb 0c                	jmp    0x697720
697714:	8b 01                	mov    (%ecx),%eax
697716:	89 07                	mov    %eax,(%edi)
697718:	8b 43 14             	mov    0x14(%ebx),%eax
69771b:	89 01                	mov    %eax,(%ecx)
69771d:	89 4b 14             	mov    %ecx,0x14(%ebx)
697720:	8b 43 38             	mov    0x38(%ebx),%eax
697723:	8d 7b 38             	lea    0x38(%ebx),%edi
697726:	85 c0                	test   %eax,%eax
697728:	74 2a                	je     0x697754
69772a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
697730:	39 70 04             	cmp    %esi,0x4(%eax)
697733:	75 05                	jne    0x69773a
697735:	39 50 08             	cmp    %edx,0x8(%eax)
697738:	74 0e                	je     0x697748
69773a:	8b f8                	mov    %eax,%edi
69773c:	8b 00                	mov    (%eax),%eax
69773e:	85 c0                	test   %eax,%eax
697740:	75 ee                	jne    0x697730
697742:	5f                   	pop    %edi
697743:	5e                   	pop    %esi
697744:	5b                   	pop    %ebx
697745:	c2 0c 00             	ret    $0xc
697748:	8b 08                	mov    (%eax),%ecx
69774a:	89 0f                	mov    %ecx,(%edi)
69774c:	8b 4b 14             	mov    0x14(%ebx),%ecx
69774f:	89 08                	mov    %ecx,(%eax)
697751:	89 43 14             	mov    %eax,0x14(%ebx)
697754:	5f                   	pop    %edi
697755:	5e                   	pop    %esi
697756:	5b                   	pop    %ebx
697757:	c2 0c 00             	ret    $0xc
69775a:	cc                   	int3
69775b:	cc                   	int3
69775c:	cc                   	int3
69775d:	cc                   	int3
69775e:	cc                   	int3
69775f:	cc                   	int3
697760:	cc                   	int3
697761:	cc                   	int3
697762:	cc                   	int3
697763:	cc                   	int3
697764:	cc                   	int3
697765:	cc                   	int3
697766:	cc                   	int3
697767:	cc                   	int3
697768:	cc                   	int3
697769:	cc                   	int3
69776a:	cc                   	int3
69776b:	cc                   	int3
69776c:	cc                   	int3
69776d:	cc                   	int3
69776e:	cc                   	int3
69776f:	cc                   	int3
697770:	cc                   	int3
697771:	cc                   	int3
697772:	cc                   	int3
697773:	cc                   	int3
697774:	cc                   	int3
697775:	cc                   	int3
697776:	cc                   	int3
697777:	cc                   	int3
697778:	cc                   	int3
697779:	cc                   	int3
69777a:	cc                   	int3
69777b:	cc                   	int3
69777c:	cc                   	int3
69777d:	cc                   	int3
69777e:	cc                   	int3
69777f:	cc                   	int3
697780:	33 c0                	xor    %eax,%eax
697782:	c3                   	ret
697783:	cc                   	int3
697784:	cc                   	int3
697785:	cc                   	int3
697786:	cc                   	int3
697787:	cc                   	int3
697788:	cc                   	int3
697789:	cc                   	int3
69778a:	cc                   	int3
69778b:	cc                   	int3
69778c:	cc                   	int3
69778d:	cc                   	int3
69778e:	cc                   	int3
69778f:	cc                   	int3
697790:	56                   	push   %esi
697791:	8b 74 24 08          	mov    0x8(%esp),%esi
697795:	85 f6                	test   %esi,%esi
697797:	74 35                	je     0x6977ce
697799:	8b 56 14             	mov    0x14(%esi),%edx
69779c:	85 d2                	test   %edx,%edx
69779e:	74 07                	je     0x6977a7
6977a0:	8b 02                	mov    (%edx),%eax
6977a2:	89 46 14             	mov    %eax,0x14(%esi)
6977a5:	eb 0a                	jmp    0x6977b1
6977a7:	6a 10                	push   $0x10
6977a9:	56                   	push   %esi
6977aa:	e8 08 02 d9 ff       	call   0x4279b7
6977af:	8b d0                	mov    %eax,%edx
6977b1:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
6977b5:	89 4a 04             	mov    %ecx,0x4(%edx)
6977b8:	8b 4c 24 10          	mov    0x10(%esp),%ecx
6977bc:	89 4a 08             	mov    %ecx,0x8(%edx)
6977bf:	8b 4c 24 14          	mov    0x14(%esp),%ecx
6977c3:	89 4a 0c             	mov    %ecx,0xc(%edx)
6977c6:	8b 46 10             	mov    0x10(%esi),%eax
6977c9:	89 02                	mov    %eax,(%edx)
6977cb:	89 56 10             	mov    %edx,0x10(%esi)
6977ce:	5e                   	pop    %esi
6977cf:	c2 10 00             	ret    $0x10
6977d2:	cc                   	int3
6977d3:	cc                   	int3
6977d4:	cc                   	int3
6977d5:	cc                   	int3
6977d6:	cc                   	int3
6977d7:	cc                   	int3
6977d8:	cc                   	int3
6977d9:	cc                   	int3
6977da:	cc                   	int3
6977db:	cc                   	int3
6977dc:	cc                   	int3
6977dd:	cc                   	int3
6977de:	cc                   	int3
6977df:	cc                   	int3
6977e0:	cc                   	int3
6977e1:	cc                   	int3
6977e2:	cc                   	int3
6977e3:	cc                   	int3
6977e4:	cc                   	int3
6977e5:	cc                   	int3
6977e6:	cc                   	int3
6977e7:	cc                   	int3
6977e8:	cc                   	int3
6977e9:	cc                   	int3
6977ea:	cc                   	int3
6977eb:	cc                   	int3
6977ec:	cc                   	int3
6977ed:	cc                   	int3
6977ee:	cc                   	int3
6977ef:	cc                   	int3
6977f0:	ff 74 24 0c          	push   0xc(%esp)
6977f4:	ff 74 24 0c          	push   0xc(%esp)
6977f8:	ff 74 24 0c          	push   0xc(%esp)
6977fc:	e8 db ff d8 ff       	call   0x4277dc
697801:	ff 74 24 08          	push   0x8(%esp)
697805:	ff 54 24 10          	call   *0x10(%esp)
697809:	83 c4 04             	add    $0x4,%esp
69780c:	c2 0c 00             	ret    $0xc
69780f:	cc                   	int3
697810:	cc                   	int3
697811:	cc                   	int3
697812:	cc                   	int3
697813:	cc                   	int3
697814:	cc                   	int3
697815:	cc                   	int3
697816:	cc                   	int3
697817:	cc                   	int3
697818:	cc                   	int3
697819:	cc                   	int3
69781a:	cc                   	int3
69781b:	cc                   	int3
69781c:	cc                   	int3
69781d:	cc                   	int3
69781e:	cc                   	int3
69781f:	cc                   	int3
697820:	56                   	push   %esi
697821:	8b 74 24 08          	mov    0x8(%esp),%esi
697825:	57                   	push   %edi
697826:	8d 7e 38             	lea    0x38(%esi),%edi
697829:	57                   	push   %edi
69782a:	e8 21 0c 00 00       	call   0x698450
69782f:	83 c4 04             	add    $0x4,%esp
697832:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
697838:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
69783c:	74 10                	je     0x69784e
69783e:	66 90                	xchg   %ax,%ax
697840:	ff 76 04             	push   0x4(%esi)
697843:	e8 58 91 d8 ff       	call   0x4209a0
697848:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
69784c:	75 f2                	jne    0x697840
69784e:	8d 7e 10             	lea    0x10(%esi),%edi
697851:	57                   	push   %edi
697852:	e8 f9 0b 00 00       	call   0x698450
697857:	ff 76 1c             	push   0x1c(%esi)
69785a:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
697860:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
697867:	e8 54 09 00 00       	call   0x6981c0
69786c:	8b 7e 30             	mov    0x30(%esi),%edi
69786f:	83 c4 08             	add    $0x8,%esp
697872:	8b 46 34             	mov    0x34(%esi),%eax
697875:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
69787c:	c7 46 24 00 00 00 00 	movl   $0x0,0x24(%esi)
697883:	89 7e 2c             	mov    %edi,0x2c(%esi)
697886:	89 47 10             	mov    %eax,0x10(%edi)
697889:	39 3f                	cmp    %edi,(%edi)
69788b:	74 1b                	je     0x6978a8
69788d:	8b 47 04             	mov    0x4(%edi),%eax
697890:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
697896:	ff 37                	push   (%edi)
697898:	ff 76 18             	push   0x18(%esi)
69789b:	e8 30 f9 ff ff       	call   0x6971d0
6978a0:	83 c4 08             	add    $0x8,%esp
6978a3:	89 3f                	mov    %edi,(%edi)
6978a5:	89 7f 04             	mov    %edi,0x4(%edi)
6978a8:	5f                   	pop    %edi
6978a9:	5e                   	pop    %esi
6978aa:	c2 04 00             	ret    $0x4
6978ad:	cc                   	int3
6978ae:	cc                   	int3
6978af:	cc                   	int3
6978b0:	cc                   	int3
6978b1:	cc                   	int3
6978b2:	cc                   	int3
6978b3:	cc                   	int3
6978b4:	cc                   	int3
6978b5:	cc                   	int3
6978b6:	cc                   	int3
6978b7:	cc                   	int3
6978b8:	cc                   	int3
6978b9:	cc                   	int3
6978ba:	cc                   	int3
6978bb:	cc                   	int3
6978bc:	cc                   	int3
6978bd:	cc                   	int3
6978be:	cc                   	int3
6978bf:	cc                   	int3
6978c0:	cc                   	int3
6978c1:	cc                   	int3
6978c2:	cc                   	int3
6978c3:	cc                   	int3
6978c4:	cc                   	int3
6978c5:	cc                   	int3
6978c6:	cc                   	int3
6978c7:	cc                   	int3
6978c8:	cc                   	int3
6978c9:	cc                   	int3
6978ca:	cc                   	int3
6978cb:	cc                   	int3
6978cc:	cc                   	int3
6978cd:	cc                   	int3
6978ce:	cc                   	int3
6978cf:	cc                   	int3
6978d0:	ff 74 24 04          	push   0x4(%esp)
6978d4:	e8 fa 3b d7 ff       	call   0x40b4d3
6978d9:	c2 08 00             	ret    $0x8
6978dc:	cc                   	int3
6978dd:	cc                   	int3
6978de:	cc                   	int3
6978df:	cc                   	int3
6978e0:	e9 c3 5c d7 ff       	jmp    0x40d5a8
6978e5:	cc                   	int3
6978e6:	cc                   	int3
6978e7:	cc                   	int3
6978e8:	cc                   	int3
6978e9:	cc                   	int3
6978ea:	cc                   	int3
6978eb:	cc                   	int3
6978ec:	cc                   	int3
6978ed:	cc                   	int3
6978ee:	cc                   	int3
6978ef:	cc                   	int3
6978f0:	ff 74 24 0c          	push   0xc(%esp)
6978f4:	ff 74 24 0c          	push   0xc(%esp)
6978f8:	ff 74 24 0c          	push   0xc(%esp)
6978fc:	e8 a7 5c d7 ff       	call   0x40d5a8
697901:	c2 10 00             	ret    $0x10
697904:	cc                   	int3
697905:	cc                   	int3
697906:	cc                   	int3
697907:	cc                   	int3
697908:	cc                   	int3
697909:	cc                   	int3
69790a:	cc                   	int3
69790b:	cc                   	int3
69790c:	cc                   	int3
69790d:	cc                   	int3
69790e:	cc                   	int3
69790f:	cc                   	int3