4765b9:	75 3b                	jne    0x4765f6
4765bb:	8b c6                	mov    %esi,%eax
4765bd:	e8 3e 03 00 00       	call   0x476900
4765c2:	8b d0                	mov    %eax,%edx
4765c4:	8b c6                	mov    %esi,%eax
4765c6:	8b 08                	mov    (%eax),%ecx
4765c8:	ff 91 b8 01 00 00    	call   *0x1b8(%ecx)
4765ce:	84 c0                	test   %al,%al
4765d0:	75 24                	jne    0x4765f6
4765d2:	c6 04 24 00          	movb   $0x0,(%esp)
4765d6:	eb 1e                	jmp    0x4765f6
4765d8:	8b 86 84 00 00 00    	mov    0x84(%esi),%eax
4765de:	85 c0                	test   %eax,%eax
4765e0:	74 14                	je     0x4765f6
4765e2:	8b 50 34             	mov    0x34(%eax),%edx
4765e5:	80 ba 9d 00 00 00 03 	cmpb   $0x3,0x9d(%edx)
4765ec:	74 08                	je     0x4765f6
4765ee:	8b 40 34             	mov    0x34(%eax),%eax
4765f1:	e8 62 03 00 00       	call   0x476958
4765f6:	6a 01                	push   $0x1
4765f8:	8b 56 50             	mov    0x50(%esi),%edx
4765fb:	8b c6                	mov    %esi,%eax
4765fd:	e8 6a ff ff ff       	call   0x47656c
476602:	8b d0                	mov    %eax,%edx
476604:	8a 4c 24 04          	mov    0x4(%esp),%cl
476608:	8b c6                	mov    %esi,%eax
47660a:	8b 18                	mov    (%eax),%ebx
47660c:	ff 93 f0 01 00 00    	call   *0x1f0(%ebx)
476612:	84 c0                	test   %al,%al
476614:	0f 94 c3             	sete   %bl
476617:	84 db                	test   %bl,%bl
476619:	74 33                	je     0x47664e
47661b:	8b 46 50             	mov    0x50(%esi),%eax
47661e:	85 c0                	test   %eax,%eax
476620:	75 0c                	jne    0x47662e
476622:	8b c6                	mov    %esi,%eax
476624:	8b 10                	mov    (%eax),%edx
476626:	ff 92 18 01 00 00    	call   *0x118(%edx)
47662c:	eb 15                	jmp    0x476643
47662e:	3b 46 4c             	cmp    0x4c(%esi),%eax
476631:	7d 05                	jge    0x476638
476633:	ff 46 50             	incl   0x50(%esi)
476636:	eb 0b                	jmp    0x476643
476638:	8b c8                	mov    %eax,%ecx
47663a:	33 d2                	xor    %edx,%edx
47663c:	8b c6                	mov    %esi,%eax
47663e:	e8 59 02 00 00       	call   0x47689c
476643:	8b 46 50             	mov    0x50(%esi),%eax
476646:	48                   	dec    %eax
476647:	89 46 58             	mov    %eax,0x58(%esi)
47664a:	b3 01                	mov    $0x1,%bl
47664c:	eb 07                	jmp    0x476655
47664e:	8b c6                	mov    %esi,%eax
476650:	e8 1b 03 00 00       	call   0x476970
476655:	8b c3                	mov    %ebx,%eax
476657:	5a                   	pop    %edx
476658:	5f                   	pop    %edi
476659:	5e                   	pop    %esi
47665a:	5b                   	pop    %ebx
47665b:	c3                   	ret
47665c:	53                   	push   %ebx
47665d:	56                   	push   %esi
47665e:	8b f0                	mov    %eax,%esi
476660:	8b c6                	mov    %esi,%eax
476662:	e8 59 e1 ff ff       	call   0x4747c0
476667:	83 7e 50 00          	cmpl   $0x0,0x50(%esi)
47666b:	7e 0c                	jle    0x476679
47666d:	33 d2                	xor    %edx,%edx
47666f:	8b c6                	mov    %esi,%eax
476671:	8b 08                	mov    (%eax),%ecx
476673:	ff 91 88 01 00 00    	call   *0x188(%ecx)
476679:	6a 01                	push   $0x1
47667b:	8b 56 50             	mov    0x50(%esi),%edx
47667e:	8b c6                	mov    %esi,%eax
476680:	e8 e7 fe ff ff       	call   0x47656c
476685:	8b d0                	mov    %eax,%edx
476687:	b1 02                	mov    $0x2,%cl
476689:	8b c6                	mov    %esi,%eax
47668b:	8b 18                	mov    (%eax),%ebx
47668d:	ff 93 f0 01 00 00    	call   *0x1f0(%ebx)
476693:	84 c0                	test   %al,%al
476695:	0f 94 c3             	sete   %bl
476698:	84 db                	test   %bl,%bl
47669a:	74 33                	je     0x4766cf
47669c:	8b 46 50             	mov    0x50(%esi),%eax
47669f:	85 c0                	test   %eax,%eax
4766a1:	75 0c                	jne    0x4766af
4766a3:	8b c6                	mov    %esi,%eax
4766a5:	8b 10                	mov    (%eax),%edx
4766a7:	ff 92 18 01 00 00    	call   *0x118(%edx)
4766ad:	eb 19                	jmp    0x4766c8
4766af:	33 c9                	xor    %ecx,%ecx
4766b1:	8b d0                	mov    %eax,%edx
4766b3:	8b c6                	mov    %esi,%eax
4766b5:	e8 e2 01 00 00       	call   0x47689c
4766ba:	8b 46 50             	mov    0x50(%esi),%eax
4766bd:	3b 46 4c             	cmp    0x4c(%esi),%eax
4766c0:	7d 06                	jge    0x4766c8
4766c2:	ff 46 50             	incl   0x50(%esi)
4766c5:	ff 46 54             	incl   0x54(%esi)
4766c8:	33 c0                	xor    %eax,%eax
4766ca:	89 46 58             	mov    %eax,0x58(%esi)
4766cd:	eb 07                	jmp    0x4766d6
4766cf:	8b c6                	mov    %esi,%eax
4766d1:	e8 9a 02 00 00       	call   0x476970
4766d6:	8b c3                	mov    %ebx,%eax
4766d8:	5e                   	pop    %esi
4766d9:	5b                   	pop    %ebx
4766da:	c3                   	ret
4766db:	90                   	nop
4766dc:	55                   	push   %ebp
4766dd:	8b ec                	mov    %esp,%ebp
4766df:	83 c4 f4             	add    $0xfffffff4,%esp
4766e2:	53                   	push   %ebx
4766e3:	33 c9                	xor    %ecx,%ecx
4766e5:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4766e8:	88 55 fb             	mov    %dl,-0x5(%ebp)
4766eb:	89 45 fc             	mov    %eax,-0x4(%ebp)
4766ee:	33 c0                	xor    %eax,%eax
4766f0:	55                   	push   %ebp
4766f1:	68 8d 68 47 00       	push   $0x47688d
4766f6:	64 ff 30             	push   %fs:(%eax)
4766f9:	64 89 20             	mov    %esp,%fs:(%eax)
4766fc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4766ff:	80 b8 88 00 00 00 00 	cmpb   $0x0,0x88(%eax)
476706:	0f 85 6b 01 00 00    	jne    0x476877
47670c:	f6 45 fb 01          	testb  $0x1,-0x5(%ebp)
476710:	74 4b                	je     0x47675d
476712:	8b 45 fc             	mov    -0x4(%ebp),%eax
476715:	e8 56 02 00 00       	call   0x476970
47671a:	6a 01                	push   $0x1
47671c:	8b 45 fc             	mov    -0x4(%ebp),%eax
47671f:	8b 40 50             	mov    0x50(%eax),%eax
476722:	8b 55 fc             	mov    -0x4(%ebp),%edx
476725:	8b 52 5c             	mov    0x5c(%edx),%edx
476728:	8b 14 82             	mov    (%edx,%eax,4),%edx
47672b:	33 c9                	xor    %ecx,%ecx
47672d:	8b 45 fc             	mov    -0x4(%ebp),%eax
476730:	8b 18                	mov    (%eax),%ebx
476732:	ff 93 f0 01 00 00    	call   *0x1f0(%ebx)
476738:	84 c0                	test   %al,%al
47673a:	0f 84 a2 00 00 00    	je     0x4767e2
476740:	8d 55 f4             	lea    -0xc(%ebp),%edx
476743:	a1 ac b0 49 00       	mov    0x49b0ac,%eax
476748:	e8 eb fa f8 ff       	call   0x406238
47674d:	8b 45 f4             	mov    -0xc(%ebp),%eax
476750:	8b 55 fc             	mov    -0x4(%ebp),%edx
476753:	e8 28 33 ff ff       	call   0x469a80
476758:	e9 85 00 00 00       	jmp    0x4767e2
47675d:	6a 00                	push   $0x0
47675f:	8b 45 fc             	mov    -0x4(%ebp),%eax
476762:	8b 40 50             	mov    0x50(%eax),%eax
476765:	8b 55 fc             	mov    -0x4(%ebp),%edx
476768:	8b 52 5c             	mov    0x5c(%edx),%edx
47676b:	8b 14 82             	mov    (%edx,%eax,4),%edx
47676e:	33 c9                	xor    %ecx,%ecx
476770:	8b 45 fc             	mov    -0x4(%ebp),%eax
476773:	8b 18                	mov    (%eax),%ebx
476775:	ff 93 f0 01 00 00    	call   *0x1f0(%ebx)
47677b:	84 c0                	test   %al,%al
47677d:	74 63                	je     0x4767e2
47677f:	6a 00                	push   $0x0
476781:	8b 45 fc             	mov    -0x4(%ebp),%eax
476784:	8b 40 50             	mov    0x50(%eax),%eax
476787:	8b 55 fc             	mov    -0x4(%ebp),%edx
47678a:	8b 52 5c             	mov    0x5c(%edx),%edx
47678d:	8b 14 82             	mov    (%edx,%eax,4),%edx
476790:	b1 01                	mov    $0x1,%cl
476792:	8b 45 fc             	mov    -0x4(%ebp),%eax
476795:	8b 18                	mov    (%eax),%ebx
476797:	ff 93 f0 01 00 00    	call   *0x1f0(%ebx)
47679d:	84 c0                	test   %al,%al
47679f:	74 41                	je     0x4767e2
4767a1:	6a 00                	push   $0x0
4767a3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4767a6:	8b 40 50             	mov    0x50(%eax),%eax
4767a9:	8b 55 fc             	mov    -0x4(%ebp),%edx
4767ac:	8b 52 5c             	mov    0x5c(%edx),%edx
4767af:	8b 14 82             	mov    (%edx,%eax,4),%edx
4767b2:	b1 02                	mov    $0x2,%cl
4767b4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4767b7:	8b 18                	mov    (%eax),%ebx
4767b9:	ff 93 f0 01 00 00    	call   *0x1f0(%ebx)
4767bf:	84 c0                	test   %al,%al
4767c1:	74 1f                	je     0x4767e2
4767c3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4767c6:	8b 10                	mov    (%eax),%edx
4767c8:	ff 92 90 00 00 00    	call   *0x90(%edx)
4767ce:	33 c9                	xor    %ecx,%ecx
4767d0:	b2 02                	mov    $0x2,%dl
4767d2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4767d5:	8b 18                	mov    (%eax),%ebx
4767d7:	ff 93 ac 00 00 00    	call   *0xac(%ebx)
4767dd:	e9 95 00 00 00       	jmp    0x476877
4767e2:	f6 45 fb 02          	testb  $0x2,-0x5(%ebp)
4767e6:	74 10                	je     0x4767f8
4767e8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4767eb:	8b 58 4c             	mov    0x4c(%eax),%ebx
4767ee:	4b                   	dec    %ebx
4767ef:	d1 fb                	sar    $1,%ebx
4767f1:	79 0b                	jns    0x4767fe
4767f3:	83 d3 00             	adc    $0x0,%ebx
4767f6:	eb 06                	jmp    0x4767fe
4767f8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4767fb:	8b 58 54             	mov    0x54(%eax),%ebx
4767fe:	8b 45 fc             	mov    -0x4(%ebp),%eax
476801:	8b 50 50             	mov    0x50(%eax),%edx
476804:	33 c9                	xor    %ecx,%ecx
476806:	8b 45 fc             	mov    -0x4(%ebp),%eax
476809:	e8 8e 00 00 00       	call   0x47689c
47680e:	8b 45 fc             	mov    -0x4(%ebp),%eax
476811:	8b 10                	mov    (%eax),%edx
476813:	ff 92 18 01 00 00    	call   *0x118(%edx)
476819:	33 c0                	xor    %eax,%eax
47681b:	55                   	push   %ebp
47681c:	68 70 68 47 00       	push   $0x476870
476821:	64 ff 30             	push   %fs:(%eax)
476824:	64 89 20             	mov    %esp,%fs:(%eax)
476827:	eb 01                	jmp    0x47682a
476829:	4b                   	dec    %ebx
47682a:	85 db                	test   %ebx,%ebx
47682c:	7e 0f                	jle    0x47683d
47682e:	8b 45 fc             	mov    -0x4(%ebp),%eax
476831:	8b 10                	mov    (%eax),%edx
476833:	ff 92 48 01 00 00    	call   *0x148(%edx)
476839:	84 c0                	test   %al,%al
47683b:	75 ec                	jne    0x476829
47683d:	8b 45 fc             	mov    -0x4(%ebp),%eax
476840:	8b 10                	mov    (%eax),%edx
476842:	ff 92 3c 01 00 00    	call   *0x13c(%edx)
476848:	8b 45 fc             	mov    -0x4(%ebp),%eax
47684b:	8b 10                	mov    (%eax),%edx
47684d:	ff 92 44 01 00 00    	call   *0x144(%edx)
476853:	33 c0                	xor    %eax,%eax
476855:	5a                   	pop    %edx
476856:	59                   	pop    %ecx
476857:	59                   	pop    %ecx
476858:	64 89 10             	mov    %edx,%fs:(%eax)
47685b:	68 77 68 47 00       	push   $0x476877
476860:	33 c9                	xor    %ecx,%ecx
476862:	b2 02                	mov    $0x2,%dl
476864:	8b 45 fc             	mov    -0x4(%ebp),%eax
476867:	8b 18                	mov    (%eax),%ebx
476869:	ff 93 ac 00 00 00    	call   *0xac(%ebx)
47686f:	c3                   	ret
476870:	e9 f3 d2 f8 ff       	jmp    0x403b68
476875:	eb e9                	jmp    0x476860
476877:	33 c0                	xor    %eax,%eax
476879:	5a                   	pop    %edx
47687a:	59                   	pop    %ecx
47687b:	59                   	pop    %ecx
47687c:	64 89 10             	mov    %edx,%fs:(%eax)
47687f:	68 94 68 47 00       	push   $0x476894
476884:	8d 45 f4             	lea    -0xc(%ebp),%eax
476887:	e8 d8 d8 f8 ff       	call   0x404164
47688c:	c3                   	ret
47688d:	e9 d6 d2 f8 ff       	jmp    0x403b68
476892:	eb f0                	jmp    0x476884
476894:	5b                   	pop    %ebx
476895:	8b e5                	mov    %ebp,%esp
476897:	5d                   	pop    %ebp
476898:	c3                   	ret
476899:	8d 40 00             	lea    0x0(%eax),%eax
47689c:	53                   	push   %ebx
47689d:	56                   	push   %esi
47689e:	57                   	push   %edi
47689f:	55                   	push   %ebp
4768a0:	8b f1                	mov    %ecx,%esi
4768a2:	8b d8                	mov    %eax,%ebx
4768a4:	80 bb 88 00 00 00 00 	cmpb   $0x0,0x88(%ebx)
4768ab:	75 4b                	jne    0x4768f8
4768ad:	3b f2                	cmp    %edx,%esi
4768af:	74 47                	je     0x4768f8
4768b1:	8b 43 5c             	mov    0x5c(%ebx),%eax
4768b4:	8b 3c 90             	mov    (%eax,%edx,4),%edi
4768b7:	3b f2                	cmp    %edx,%esi
4768b9:	7e 1e                	jle    0x4768d9
4768bb:	8b c6                	mov    %esi,%eax
4768bd:	2b c2                	sub    %edx,%eax
4768bf:	8b c8                	mov    %eax,%ecx
4768c1:	c1 e1 02             	shl    $0x2,%ecx
4768c4:	8b 43 5c             	mov    0x5c(%ebx),%eax
4768c7:	8d 44 90 04          	lea    0x4(%eax,%edx,4),%eax
4768cb:	8b 6b 5c             	mov    0x5c(%ebx),%ebp
4768ce:	8d 54 95 00          	lea    0x0(%ebp,%edx,4),%edx
4768d2:	e8 9d c0 f8 ff       	call   0x402974
4768d7:	eb 19                	jmp    0x4768f2
4768d9:	8b 43 5c             	mov    0x5c(%ebx),%eax
4768dc:	8d 04 b0             	lea    (%eax,%esi,4),%eax
4768df:	8b 4b 5c             	mov    0x5c(%ebx),%ecx
4768e2:	8d 4c b1 04          	lea    0x4(%ecx,%esi,4),%ecx
4768e6:	2b d6                	sub    %esi,%edx
4768e8:	c1 e2 02             	shl    $0x2,%edx
4768eb:	87 ca                	xchg   %ecx,%edx
4768ed:	e8 82 c0 f8 ff       	call   0x402974
4768f2:	8b 43 5c             	mov    0x5c(%ebx),%eax
4768f5:	89 3c b0             	mov    %edi,(%eax,%esi,4)
4768f8:	5d                   	pop    %ebp
4768f9:	5f                   	pop    %edi
4768fa:	5e                   	pop    %esi
4768fb:	5b                   	pop    %ebx
4768fc:	c3                   	ret
4768fd:	8d 40 00             	lea    0x0(%eax),%eax
476900:	8b 50 5c             	mov    0x5c(%eax),%edx
476903:	8b 40 54             	mov    0x54(%eax),%eax
476906:	8b 04 82             	mov    (%edx,%eax,4),%eax
476909:	c3                   	ret
47690a:	8b c0                	mov    %eax,%eax
47690c:	8b 50 5c             	mov    0x5c(%eax),%edx
47690f:	8b 40 50             	mov    0x50(%eax),%eax
476912:	8b 04 82             	mov    (%edx,%eax,4),%eax
476915:	c3                   	ret
476916:	8b c0                	mov    %eax,%eax
476918:	33 d2                	xor    %edx,%edx
47691a:	89 50 50             	mov    %edx,0x50(%eax)
47691d:	33 d2                	xor    %edx,%edx
47691f:	89 50 54             	mov    %edx,0x54(%eax)
476922:	c7 40 58 ff ff ff ff 	movl   $0xffffffff,0x58(%eax)
476929:	c6 80 a0 00 00 00 01 	movb   $0x1,0xa0(%eax)
476930:	c6 80 a1 00 00 00 01 	movb   $0x1,0xa1(%eax)
476937:	c3                   	ret
476938:	c7 40 50 01 00 00 00 	movl   $0x1,0x50(%eax)
47693f:	33 d2                	xor    %edx,%edx
476941:	89 50 54             	mov    %edx,0x54(%eax)
476944:	33 d2                	xor    %edx,%edx
476946:	89 50 58             	mov    %edx,0x58(%eax)
476949:	c6 80 a0 00 00 00 00 	movb   $0x0,0xa0(%eax)
476950:	c6 80 a1 00 00 00 00 	movb   $0x0,0xa1(%eax)
476957:	c3                   	ret
476958:	56                   	push   %esi
476959:	8b f0                	mov    %eax,%esi
47695b:	83 7e 50 00          	cmpl   $0x0,0x50(%esi)
47695f:	7e 0d                	jle    0x47696e
476961:	8b 56 54             	mov    0x54(%esi),%edx
476964:	8b c6                	mov    %esi,%eax
476966:	8b 08                	mov    (%eax),%ecx
476968:	ff 91 88 01 00 00    	call   *0x188(%ecx)
47696e:	5e                   	pop    %esi
47696f:	c3                   	ret
476970:	c7 40 58 ff ff ff ff 	movl   $0xffffffff,0x58(%eax)
476977:	c3                   	ret
476978:	33 c0                	xor    %eax,%eax
47697a:	c3                   	ret
47697b:	90                   	nop
47697c:	53                   	push   %ebx
47697d:	56                   	push   %esi
47697e:	8b d8                	mov    %eax,%ebx
476980:	33 f6                	xor    %esi,%esi
476982:	eb 01                	jmp    0x476985
476984:	46                   	inc    %esi