47650f:	8d 44 24 34          	lea    0x34(%esp),%eax
476513:	33 db                	xor    %ebx,%ebx
476515:	50                   	push   %eax
476516:	43                   	inc    %ebx
476517:	e8 81 41 fd ff       	call   0x44a69d
47651c:	8b c8                	mov    %eax,%ecx
47651e:	e9 99 ac f8 ff       	jmp    0x4011bc
476523:	8d 4c 24 34          	lea    0x34(%esp),%ecx
476527:	e8 0b 66 f9 ff       	call   0x40cb37
47652c:	e9 c2 ac f8 ff       	jmp    0x4011f3
476531:	8b 75 0c             	mov    0xc(%ebp),%esi
476534:	8b ce                	mov    %esi,%ecx
476536:	e8 e5 c6 f9 ff       	call   0x412c20
47653b:	83 26 00             	andl   $0x0,(%esi)
47653e:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
476545:	e9 7b ad f8 ff       	jmp    0x4012c5
47654a:	8b 74 24 0c          	mov    0xc(%esp),%esi
47654e:	8d 54 24 14          	lea    0x14(%esp),%edx
476552:	8b 0e                	mov    (%esi),%ecx
476554:	e8 cd 03 f9 ff       	call   0x406926
476559:	84 c0                	test   %al,%al
47655b:	75 13                	jne    0x476570
47655d:	8d 44 24 10          	lea    0x10(%esp),%eax
476561:	50                   	push   %eax
476562:	8d 4c 24 10          	lea    0x10(%esp),%ecx
476566:	e8 13 64 fd ff       	call   0x44c97e
47656b:	e9 f9 ac f8 ff       	jmp    0x401269
476570:	8b 06                	mov    (%esi),%eax
476572:	c6 40 11 00          	movb   $0x0,0x11(%eax)
476576:	8b 06                	mov    (%esi),%eax
476578:	89 78 18             	mov    %edi,0x18(%eax)
47657b:	8b 36                	mov    (%esi),%esi
47657d:	80 7e 10 00          	cmpb   $0x0,0x10(%esi)
476581:	75 09                	jne    0x47658c
476583:	ff 15 a0 d7 48 00    	call   *0x48d7a0
476589:	89 46 14             	mov    %eax,0x14(%esi)
47658c:	8b 03                	mov    (%ebx),%eax
47658e:	6a 00                	push   $0x0
476590:	8b 48 04             	mov    0x4(%eax),%ecx
476593:	6a 01                	push   $0x1
476595:	03 cb                	add    %ebx,%ecx
476597:	e8 85 cd f8 ff       	call   0x403321
47659c:	e9 24 ad f8 ff       	jmp    0x4012c5
4765a1:	83 f9 44             	cmp    $0x44,%ecx
4765a4:	0f 85 61 b5 f8 ff    	jne    0x401b0b
4765aa:	50                   	push   %eax
4765ab:	e8 2b a7 fa ff       	call   0x420cdb
4765b0:	59                   	pop    %ecx
4765b1:	50                   	push   %eax
4765b2:	8d 8c 24 bc 01 00 00 	lea    0x1bc(%esp),%ecx
4765b9:	e8 51 05 f9 ff       	call   0x406b0f
4765be:	8b 44 34 48          	mov    0x48(%esp,%esi,1),%eax
4765c2:	c7 44 24 14 02 00 00 	movl   $0x2,0x14(%esp)
4765c9:	00
4765ca:	0f b7 40 04          	movzwl 0x4(%eax),%eax
4765ce:	eb 24                	jmp    0x4765f4
4765d0:	66 83 f8 27          	cmp    $0x27,%ax
4765d4:	74 23                	je     0x4765f9
4765d6:	50                   	push   %eax
4765d7:	8d 8c 24 bc 01 00 00 	lea    0x1bc(%esp),%ecx
4765de:	e8 b6 61 f9 ff       	call   0x40c799
4765e3:	8b 44 24 14          	mov    0x14(%esp),%eax
4765e7:	8b 4c 34 48          	mov    0x48(%esp,%esi,1),%ecx
4765eb:	40                   	inc    %eax
4765ec:	89 44 24 14          	mov    %eax,0x14(%esp)
4765f0:	0f b7 04 41          	movzwl (%ecx,%eax,2),%eax
4765f4:	66 85 c0             	test   %ax,%ax
4765f7:	75 d7                	jne    0x4765d0
4765f9:	ff 44 24 14          	incl   0x14(%esp)
4765fd:	8d 84 24 b8 01 00 00 	lea    0x1b8(%esp),%eax
476604:	50                   	push   %eax
476605:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
476609:	e8 5a 05 f9 ff       	call   0x406b68
47660e:	8d 8c 24 b8 01 00 00 	lea    0x1b8(%esp),%ecx
476615:	e8 1d 65 f9 ff       	call   0x40cb37
47661a:	e9 ec b4 f8 ff       	jmp    0x401b0b
47661f:	48                   	dec    %eax
476620:	0f 85 ed 02 00 00    	jne    0x476913
476626:	8b 74 34 44          	mov    0x44(%esp,%esi,1),%esi
47662a:	56                   	push   %esi
47662b:	8b cb                	mov    %ebx,%ecx
47662d:	e8 87 67 f9 ff       	call   0x40cdb9
476632:	83 7c 24 1c 01       	cmpl   $0x1,0x1c(%esp)
476637:	0f 86 4c b5 f8 ff    	jbe    0x401b89
47663d:	8b 45 08             	mov    0x8(%ebp),%eax
476640:	6a 29                	push   $0x29
476642:	8b 40 04             	mov    0x4(%eax),%eax
476645:	8b 40 04             	mov    0x4(%eax),%eax
476648:	8b c8                	mov    %eax,%ecx
47664a:	89 44 24 14          	mov    %eax,0x14(%esp)
47664e:	e8 99 b5 f8 ff       	call   0x401bec
476653:	84 c0                	test   %al,%al
476655:	74 0b                	je     0x476662
476657:	8d 4c 24 28          	lea    0x28(%esp),%ecx
47665b:	e8 26 6c f9 ff       	call   0x40d286
476660:	eb 15                	jmp    0x476677
476662:	8b 4c 24 10          	mov    0x10(%esp),%ecx
476666:	e8 01 2d f9 ff       	call   0x40936c
47666b:	8b 4c 24 10          	mov    0x10(%esp),%ecx
47666f:	8b 41 08             	mov    0x8(%ecx),%eax
476672:	8b 00                	mov    (%eax),%eax
476674:	66 8b 00             	mov    (%eax),%ax
476677:	66 89 06             	mov    %ax,(%esi)
47667a:	e9 0a b5 f8 ff       	jmp    0x401b89
47667f:	8b 44 34 44          	mov    0x44(%esp,%esi,1),%eax
476683:	8b cb                	mov    %ebx,%ecx
476685:	ff 30                	push   (%eax)
476687:	e8 2d 67 f9 ff       	call   0x40cdb9
47668c:	83 7c 24 1c 01       	cmpl   $0x1,0x1c(%esp)
476691:	0f 86 f2 b4 f8 ff    	jbe    0x401b89
476697:	8b 45 08             	mov    0x8(%ebp),%eax
47669a:	6a 29                	push   $0x29
47669c:	8b 40 04             	mov    0x4(%eax),%eax
47669f:	8b 40 04             	mov    0x4(%eax),%eax
4766a2:	8b c8                	mov    %eax,%ecx
4766a4:	89 44 24 14          	mov    %eax,0x14(%esp)
4766a8:	e8 3f b5 f8 ff       	call   0x401bec
4766ad:	84 c0                	test   %al,%al
4766af:	74 0f                	je     0x4766c0
4766b1:	8d 4c 24 28          	lea    0x28(%esp),%ecx
4766b5:	e8 b2 2c f9 ff       	call   0x40936c
4766ba:	8b 44 24 30          	mov    0x30(%esp),%eax
4766be:	eb 10                	jmp    0x4766d0
4766c0:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4766c4:	e8 a3 2c f9 ff       	call   0x40936c
4766c9:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4766cd:	8b 41 08             	mov    0x8(%ecx),%eax
4766d0:	ff 30                	push   (%eax)
4766d2:	8b 4c 34 48          	mov    0x48(%esp,%esi,1),%ecx
4766d6:	e8 88 03 f9 ff       	call   0x406a63
4766db:	e9 a9 b4 f8 ff       	jmp    0x401b89
4766e0:	8d 44 24 20          	lea    0x20(%esp),%eax
4766e4:	50                   	push   %eax
4766e5:	8d 54 24 18          	lea    0x18(%esp),%edx
4766e9:	e8 1a b5 f8 ff       	call   0x401c08
4766ee:	8b 44 24 24          	mov    0x24(%esp),%eax
4766f2:	59                   	pop    %ecx
4766f3:	48                   	dec    %eax
4766f4:	0f 84 40 01 00 00    	je     0x47683a
4766fa:	48                   	dec    %eax
4766fb:	74 6d                	je     0x47676a
4766fd:	48                   	dec    %eax
4766fe:	0f 85 0f 02 00 00    	jne    0x476913
476704:	8b b7 f4 02 00 00    	mov    0x2f4(%edi),%esi
47670a:	8b cb                	mov    %ebx,%ecx
47670c:	e8 0f c5 f9 ff       	call   0x412c20
476711:	83 7c 24 1c 01       	cmpl   $0x1,0x1c(%esp)
476716:	c7 43 0c 01 00 00 00 	movl   $0x1,0xc(%ebx)
47671d:	89 33                	mov    %esi,(%ebx)
47671f:	0f 86 64 b4 f8 ff    	jbe    0x401b89
476725:	8b 45 08             	mov    0x8(%ebp),%eax
476728:	6a 29                	push   $0x29
47672a:	8b 48 04             	mov    0x4(%eax),%ecx
47672d:	8b 49 04             	mov    0x4(%ecx),%ecx
476730:	e8 b7 b4 f8 ff       	call   0x401bec
476735:	84 c0                	test   %al,%al
476737:	74 11                	je     0x47674a
476739:	8d 4c 24 28          	lea    0x28(%esp),%ecx
47673d:	e8 44 6b f9 ff       	call   0x40d286
476742:	8b f0                	mov    %eax,%esi
476744:	89 74 24 18          	mov    %esi,0x18(%esp)
476748:	eb 04                	jmp    0x47674e
47674a:	8b 74 24 18          	mov    0x18(%esp),%esi
47674e:	56                   	push   %esi
47674f:	e8 49 e5 fa ff       	call   0x424c9d
476754:	48                   	dec    %eax
476755:	59                   	pop    %ecx
476756:	83 f8 03             	cmp    $0x3,%eax
476759:	0f 87 b4 01 00 00    	ja     0x476913
47675f:	89 b7 f4 02 00 00    	mov    %esi,0x2f4(%edi)
476765:	e9 1f b4 f8 ff       	jmp    0x401b89
47676a:	8b 35 20 17 4c 00    	mov    0x4c1720,%esi
476770:	8b cb                	mov    %ebx,%ecx
476772:	e8 a9 c4 f9 ff       	call   0x412c20
476777:	83 7c 24 1c 01       	cmpl   $0x1,0x1c(%esp)
47677c:	c7 43 0c 01 00 00 00 	movl   $0x1,0xc(%ebx)
476783:	89 33                	mov    %esi,(%ebx)
476785:	0f 86 fe b3 f8 ff    	jbe    0x401b89
47678b:	8b 45 08             	mov    0x8(%ebp),%eax
47678e:	6a 29                	push   $0x29
476790:	8b 40 04             	mov    0x4(%eax),%eax
476793:	8b 70 04             	mov    0x4(%eax),%esi
476796:	8b ce                	mov    %esi,%ecx
476798:	e8 4f b4 f8 ff       	call   0x401bec
47679d:	84 c0                	test   %al,%al
47679f:	0f 85 e4 b3 f8 ff    	jne    0x401b89
4767a5:	6a 29                	push   $0x29
4767a7:	8b ce                	mov    %esi,%ecx
4767a9:	e8 3e b4 f8 ff       	call   0x401bec
4767ae:	84 c0                	test   %al,%al
4767b0:	74 11                	je     0x4767c3
4767b2:	8d 4c 24 28          	lea    0x28(%esp),%ecx
4767b6:	e8 cb 6a f9 ff       	call   0x40d286
4767bb:	8b c8                	mov    %eax,%ecx
4767bd:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4767c1:	eb 04                	jmp    0x4767c7
4767c3:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4767c7:	33 c0                	xor    %eax,%eax
4767c9:	66 c7 05 0c 17 4c 00 	movw   $0x101,0x4c170c
4767d0:	01 01
4767d2:	c6 05 0f 17 4c 00 01 	movb   $0x1,0x4c170f
4767d9:	c6 05 12 17 4c 00 01 	movb   $0x1,0x4c1712
4767e0:	a3 20 17 4c 00       	mov    %eax,0x4c1720
4767e5:	f6 c1 01             	test   $0x1,%cl
4767e8:	74 0b                	je     0x4767f5
4767ea:	a2 0c 17 4c 00       	mov    %al,0x4c170c
4767ef:	40                   	inc    %eax
4767f0:	a3 20 17 4c 00       	mov    %eax,0x4c1720
4767f5:	f6 c1 02             	test   $0x2,%cl
4767f8:	74 0f                	je     0x476809
4767fa:	83 c8 02             	or     $0x2,%eax
4767fd:	c6 05 0d 17 4c 00 00 	movb   $0x0,0x4c170d
476804:	a3 20 17 4c 00       	mov    %eax,0x4c1720
476809:	f6 c1 04             	test   $0x4,%cl
47680c:	74 0f                	je     0x47681d
47680e:	83 c8 04             	or     $0x4,%eax
476811:	c6 05 12 17 4c 00 00 	movb   $0x0,0x4c1712
476818:	a3 20 17 4c 00       	mov    %eax,0x4c1720
47681d:	f6 c1 08             	test   $0x8,%cl
476820:	0f 84 63 b3 f8 ff    	je     0x401b89
476826:	83 c8 08             	or     $0x8,%eax
476829:	c6 05 0f 17 4c 00 00 	movb   $0x0,0x4c170f
476830:	a3 20 17 4c 00       	mov    %eax,0x4c1720
476835:	e9 4f b3 f8 ff       	jmp    0x401b89
47683a:	8b 75 0c             	mov    0xc(%ebp),%esi
47683d:	33 db                	xor    %ebx,%ebx
47683f:	38 1d c6 10 4c 00    	cmp    %bl,0x4c10c6
476845:	8b ce                	mov    %esi,%ecx
476847:	0f 94 c3             	sete   %bl
47684a:	e8 d1 c3 f9 ff       	call   0x412c20
47684f:	83 7c 24 1c 01       	cmpl   $0x1,0x1c(%esp)
476854:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
47685b:	89 1e                	mov    %ebx,(%esi)
47685d:	0f 86 26 b3 f8 ff    	jbe    0x401b89
476863:	8b 45 08             	mov    0x8(%ebp),%eax
476866:	6a 29                	push   $0x29
476868:	8b 48 04             	mov    0x4(%eax),%ecx
47686b:	8b 49 04             	mov    0x4(%ecx),%ecx
47686e:	e8 79 b3 f8 ff       	call   0x401bec
476873:	84 c0                	test   %al,%al
476875:	74 11                	je     0x476888
476877:	8d 4c 24 28          	lea    0x28(%esp),%ecx
47687b:	e8 06 6a f9 ff       	call   0x40d286
476880:	8b f0                	mov    %eax,%esi
476882:	89 74 24 18          	mov    %esi,0x18(%esp)
476886:	eb 04                	jmp    0x47688c
476888:	8b 74 24 18          	mov    0x18(%esp),%esi
47688c:	b9 08 17 4c 00       	mov    $0x4c1708,%ecx
476891:	85 f6                	test   %esi,%esi
476893:	75 0a                	jne    0x47689f
476895:	e8 62 e7 f8 ff       	call   0x404ffc
47689a:	e9 ea b2 f8 ff       	jmp    0x401b89
47689f:	e8 a3 cf f8 ff       	call   0x403847
4768a4:	e9 e0 b2 f8 ff       	jmp    0x401b89
4768a9:	8b 44 34 44          	mov    0x44(%esp,%esi,1),%eax
4768ad:	8b cb                	mov    %ebx,%ecx
4768af:	8b 30                	mov    (%eax),%esi
4768b1:	89 44 24 10          	mov    %eax,0x10(%esp)
4768b5:	e8 66 c3 f9 ff       	call   0x412c20
4768ba:	83 7c 24 1c 01       	cmpl   $0x1,0x1c(%esp)
4768bf:	c7 43 0c 01 00 00 00 	movl   $0x1,0xc(%ebx)
4768c6:	89 33                	mov    %esi,(%ebx)
4768c8:	0f 86 bb b2 f8 ff    	jbe    0x401b89
4768ce:	8b 45 08             	mov    0x8(%ebp),%eax
4768d1:	6a 29                	push   $0x29
4768d3:	8b 48 04             	mov    0x4(%eax),%ecx
4768d6:	8b 49 04             	mov    0x4(%ecx),%ecx
4768d9:	e8 0e b3 f8 ff       	call   0x401bec
4768de:	84 c0                	test   %al,%al
4768e0:	74 0b                	je     0x4768ed
4768e2:	8d 4c 24 28          	lea    0x28(%esp),%ecx
4768e6:	e8 9b 69 f9 ff       	call   0x40d286
4768eb:	eb 04                	jmp    0x4768f1
4768ed:	8b 44 24 18          	mov    0x18(%esp),%eax
4768f1:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4768f5:	89 01                	mov    %eax,(%ecx)
4768f7:	e9 8d b2 f8 ff       	jmp    0x401b89
4768fc:	83 f8 6d             	cmp    $0x6d,%eax
4768ff:	0f 84 bc 00 00 00    	je     0x4769c1
476905:	83 f8 72             	cmp    $0x72,%eax
476908:	74 1e                	je     0x476928
47690a:	83 f8 76             	cmp    $0x76,%eax
47690d:	0f 84 76 b2 f8 ff    	je     0x401b89
476913:	8b 07                	mov    (%edi),%eax
476915:	6a 00                	push   $0x0
476917:	8b 48 04             	mov    0x4(%eax),%ecx
47691a:	6a 01                	push   $0x1
47691c:	03 cf                	add    %edi,%ecx
47691e:	e8 29 66 fd ff       	call   0x44cf4c
476923:	e9 77 b2 f8 ff       	jmp    0x401b9f
476928:	8b 44 34 44          	mov    0x44(%esp,%esi,1),%eax
47692c:	8b cb                	mov    %ebx,%ecx
47692e:	8b 30                	mov    (%eax),%esi
476930:	89 44 24 10          	mov    %eax,0x10(%esp)
476934:	e8 e7 c2 f9 ff       	call   0x412c20
476939:	8b 4c 24 38          	mov    0x38(%esp),%ecx
47693d:	8d 44 24 20          	lea    0x20(%esp),%eax
476941:	50                   	push   %eax
476942:	8d 54 24 18          	lea    0x18(%esp),%edx
476946:	c7 43 0c 01 00 00 00 	movl   $0x1,0xc(%ebx)
47694d:	89 33                	mov    %esi,(%ebx)
47694f:	e8 b4 b2 f8 ff       	call   0x401c08
476954:	ff 44 24 18          	incl   0x18(%esp)
476958:	59                   	pop    %ecx
476959:	8b 4c 24 38          	mov    0x38(%esp),%ecx
47695d:	8d 44 24 24          	lea    0x24(%esp),%eax
476961:	50                   	push   %eax
476962:	8d 54 24 18          	lea    0x18(%esp),%edx
476966:	e8 9d b2 f8 ff       	call   0x401c08
47696b:	83 7c 24 20 01       	cmpl   $0x1,0x20(%esp)
476970:	59                   	pop    %ecx
476971:	0f 86 12 b2 f8 ff    	jbe    0x401b89
476977:	8b 45 08             	mov    0x8(%ebp),%eax
47697a:	6a 29                	push   $0x29
47697c:	8b 48 04             	mov    0x4(%eax),%ecx
47697f:	8b 49 04             	mov    0x4(%ecx),%ecx
476982:	e8 65 b2 f8 ff       	call   0x401bec
476987:	84 c0                	test   %al,%al
476989:	75 27                	jne    0x4769b2
47698b:	8b 4c 24 18          	mov    0x18(%esp),%ecx
47698f:	3b 4c 24 20          	cmp    0x20(%esp),%ecx
476993:	7c 0c                	jl     0x4769a1
476995:	3b 4c 24 24          	cmp    0x24(%esp),%ecx
476999:	7f 06                	jg     0x4769a1
47699b:	8b 54 24 10          	mov    0x10(%esp),%edx
47699f:	eb 7a                	jmp    0x476a1b
4769a1:	8d 4c 24 28          	lea    0x28(%esp),%ecx
4769a5:	e8 e4 6a f9 ff       	call   0x40d48e
4769aa:	84 c0                	test   %al,%al
4769ac:	0f 84 61 ff ff ff    	je     0x476913
4769b2:	8d 4c 24 28          	lea    0x28(%esp),%ecx
4769b6:	e8 cb 68 f9 ff       	call   0x40d286
4769bb:	8b 54 24 10          	mov    0x10(%esp),%edx
4769bf:	eb 7f                	jmp    0x476a40
4769c1:	8b 44 34 44          	mov    0x44(%esp,%esi,1),%eax
4769c5:	8b cb                	mov    %ebx,%ecx
4769c7:	8b 30                	mov    (%eax),%esi
4769c9:	89 44 24 10          	mov    %eax,0x10(%esp)
4769cd:	e8 4e c2 f9 ff       	call   0x412c20
4769d2:	8b 4c 24 38          	mov    0x38(%esp),%ecx
4769d6:	8d 44 24 20          	lea    0x20(%esp),%eax
4769da:	50                   	push   %eax
4769db:	8d 54 24 18          	lea    0x18(%esp),%edx
4769df:	c7 43 0c 01 00 00 00 	movl   $0x1,0xc(%ebx)
4769e6:	89 33                	mov    %esi,(%ebx)
4769e8:	e8 1b b2 f8 ff       	call   0x401c08
4769ed:	83 7c 24 20 01       	cmpl   $0x1,0x20(%esp)
4769f2:	59                   	pop    %ecx
4769f3:	0f 86 90 b1 f8 ff    	jbe    0x401b89
4769f9:	8b 45 08             	mov    0x8(%ebp),%eax