46455b:	8b ff                	mov    %edi,%edi
46455d:	55                   	push   %ebp
46455e:	8b ec                	mov    %esp,%ebp
464560:	8b 55 08             	mov    0x8(%ebp),%edx
464563:	83 3a 00             	cmpl   $0x0,(%edx)
464566:	75 19                	jne    0x464581
464568:	8b 45 0c             	mov    0xc(%ebp),%eax
46456b:	89 02                	mov    %eax,(%edx)
46456d:	66 8b 45 10          	mov    0x10(%ebp),%ax
464571:	66 89 42 04          	mov    %ax,0x4(%edx)
464575:	8b 45 14             	mov    0x14(%ebp),%eax
464578:	89 42 0c             	mov    %eax,0xc(%edx)
46457b:	b0 01                	mov    $0x1,%al
46457d:	5d                   	pop    %ebp
46457e:	c2 10 00             	ret    $0x10
464581:	ff 75 14             	push   0x14(%ebp)
464584:	ff 75 10             	push   0x10(%ebp)
464587:	ff 75 0c             	push   0xc(%ebp)
46458a:	52                   	push   %edx
46458b:	e8 57 61 ff ff       	call   0x45a6e7
464590:	84 c0                	test   %al,%al
464592:	75 e7                	jne    0x46457b
464594:	e8 96 88 fe ff       	call   0x44ce2f
464599:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
46459f:	e8 32 87 fe ff       	call   0x44ccd6
4645a4:	32 c0                	xor    %al,%al
4645a6:	eb d5                	jmp    0x46457d
4645a8:	8b ff                	mov    %edi,%edi
4645aa:	55                   	push   %ebp
4645ab:	8b ec                	mov    %esp,%ebp
4645ad:	8b 55 08             	mov    0x8(%ebp),%edx
4645b0:	83 3a 00             	cmpl   $0x0,(%edx)
4645b3:	75 19                	jne    0x4645ce
4645b5:	8b 45 0c             	mov    0xc(%ebp),%eax
4645b8:	89 02                	mov    %eax,(%edx)
4645ba:	66 8b 45 10          	mov    0x10(%ebp),%ax
4645be:	66 89 42 04          	mov    %ax,0x4(%edx)
4645c2:	8b 45 14             	mov    0x14(%ebp),%eax
4645c5:	89 42 0c             	mov    %eax,0xc(%edx)
4645c8:	b0 01                	mov    $0x1,%al
4645ca:	5d                   	pop    %ebp
4645cb:	c2 10 00             	ret    $0x10
4645ce:	ff 75 14             	push   0x14(%ebp)
4645d1:	ff 75 10             	push   0x10(%ebp)
4645d4:	ff 75 0c             	push   0xc(%ebp)
4645d7:	52                   	push   %edx
4645d8:	e8 2d 62 ff ff       	call   0x45a80a
4645dd:	84 c0                	test   %al,%al
4645df:	75 e7                	jne    0x4645c8
4645e1:	e8 49 88 fe ff       	call   0x44ce2f
4645e6:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4645ec:	e8 e5 86 fe ff       	call   0x44ccd6
4645f1:	32 c0                	xor    %al,%al
4645f3:	eb d5                	jmp    0x4645ca
4645f5:	8b ff                	mov    %edi,%edi
4645f7:	55                   	push   %ebp
4645f8:	8b ec                	mov    %esp,%ebp
4645fa:	51                   	push   %ecx
4645fb:	51                   	push   %ecx
4645fc:	53                   	push   %ebx
4645fd:	56                   	push   %esi
4645fe:	8b f1                	mov    %ecx,%esi
464600:	33 db                	xor    %ebx,%ebx
464602:	43                   	inc    %ebx
464603:	57                   	push   %edi
464604:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
464607:	0f 85 c3 00 00 00    	jne    0x4646d0
46460d:	8b 4e 10             	mov    0x10(%esi),%ecx
464610:	8a 01                	mov    (%ecx),%al
464612:	3c 25                	cmp    $0x25,%al
464614:	0f 84 b6 00 00 00    	je     0x4646d0
46461a:	33 ff                	xor    %edi,%edi
46461c:	39 be 5c 04 00 00    	cmp    %edi,0x45c(%esi)
464622:	75 55                	jne    0x464679
464624:	89 7d fc             	mov    %edi,-0x4(%ebp)
464627:	3c 30                	cmp    $0x30,%al
464629:	7c 48                	jl     0x464673
46462b:	3c 39                	cmp    $0x39,%al
46462d:	7f 44                	jg     0x464673
46462f:	6a 0a                	push   $0xa
464631:	8d 45 fc             	lea    -0x4(%ebp),%eax
464634:	50                   	push   %eax
464635:	51                   	push   %ecx
464636:	e8 51 2c 01 00       	call   0x47728c
46463b:	83 c4 0c             	add    $0xc,%esp
46463e:	85 c0                	test   %eax,%eax
464640:	7e 31                	jle    0x464673
464642:	8b 45 fc             	mov    -0x4(%ebp),%eax
464645:	80 38 24             	cmpb   $0x24,(%eax)
464648:	75 29                	jne    0x464673
46464a:	39 9e 58 04 00 00    	cmp    %ebx,0x458(%esi)
464650:	75 15                	jne    0x464667
464652:	68 40 06 00 00       	push   $0x640
464657:	8d 86 64 04 00 00    	lea    0x464(%esi),%eax
46465d:	57                   	push   %edi
46465e:	50                   	push   %eax
46465f:	e8 fc f7 fd ff       	call   0x443e60
464664:	83 c4 0c             	add    $0xc,%esp
464667:	c7 86 5c 04 00 00 02 	movl   $0x2,0x45c(%esi)
46466e:	00 00 00
464671:	eb 06                	jmp    0x464679
464673:	89 9e 5c 04 00 00    	mov    %ebx,0x45c(%esi)
464679:	83 be 5c 04 00 00 02 	cmpl   $0x2,0x45c(%esi)
464680:	75 4e                	jne    0x4646d0
464682:	6a 0a                	push   $0xa
464684:	8d 45 f8             	lea    -0x8(%ebp),%eax
464687:	89 7d f8             	mov    %edi,-0x8(%ebp)
46468a:	50                   	push   %eax
46468b:	ff 76 10             	push   0x10(%esi)
46468e:	e8 f9 2b 01 00       	call   0x47728c
464693:	8b 55 f8             	mov    -0x8(%ebp),%edx
464696:	83 c4 0c             	add    $0xc,%esp
464699:	8d 48 ff             	lea    -0x1(%eax),%ecx
46469c:	8d 42 01             	lea    0x1(%edx),%eax
46469f:	89 8e a8 0a 00 00    	mov    %ecx,0xaa8(%esi)
4646a5:	89 46 10             	mov    %eax,0x10(%esi)
4646a8:	39 9e 58 04 00 00    	cmp    %ebx,0x458(%esi)
4646ae:	75 20                	jne    0x4646d0
4646b0:	85 c9                	test   %ecx,%ecx
4646b2:	78 25                	js     0x4646d9
4646b4:	80 3a 24             	cmpb   $0x24,(%edx)
4646b7:	75 20                	jne    0x4646d9
4646b9:	83 f9 64             	cmp    $0x64,%ecx
4646bc:	7d 1b                	jge    0x4646d9
4646be:	8b 86 a4 0a 00 00    	mov    0xaa4(%esi),%eax
4646c4:	3b c8                	cmp    %eax,%ecx
4646c6:	7f 02                	jg     0x4646ca
4646c8:	8b c8                	mov    %eax,%ecx
4646ca:	89 8e a4 0a 00 00    	mov    %ecx,0xaa4(%esi)
4646d0:	8a c3                	mov    %bl,%al
4646d2:	5f                   	pop    %edi
4646d3:	5e                   	pop    %esi
4646d4:	5b                   	pop    %ebx
4646d5:	8b e5                	mov    %ebp,%esp
4646d7:	5d                   	pop    %ebp
4646d8:	c3                   	ret
4646d9:	e8 51 87 fe ff       	call   0x44ce2f
4646de:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4646e4:	e8 ed 85 fe ff       	call   0x44ccd6
4646e9:	32 c0                	xor    %al,%al
4646eb:	eb e5                	jmp    0x4646d2
4646ed:	8b ff                	mov    %edi,%edi
4646ef:	55                   	push   %ebp
4646f0:	8b ec                	mov    %esp,%ebp
4646f2:	51                   	push   %ecx
4646f3:	51                   	push   %ecx
4646f4:	53                   	push   %ebx
4646f5:	56                   	push   %esi
4646f6:	8b f1                	mov    %ecx,%esi
4646f8:	33 db                	xor    %ebx,%ebx
4646fa:	43                   	inc    %ebx
4646fb:	57                   	push   %edi
4646fc:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
4646ff:	0f 85 c3 00 00 00    	jne    0x4647c8
464705:	8b 4e 10             	mov    0x10(%esi),%ecx
464708:	8a 01                	mov    (%ecx),%al
46470a:	3c 25                	cmp    $0x25,%al
46470c:	0f 84 b6 00 00 00    	je     0x4647c8
464712:	33 ff                	xor    %edi,%edi
464714:	39 be 5c 04 00 00    	cmp    %edi,0x45c(%esi)
46471a:	75 55                	jne    0x464771
46471c:	89 7d fc             	mov    %edi,-0x4(%ebp)
46471f:	3c 30                	cmp    $0x30,%al
464721:	7c 48                	jl     0x46476b
464723:	3c 39                	cmp    $0x39,%al
464725:	7f 44                	jg     0x46476b
464727:	6a 0a                	push   $0xa
464729:	8d 45 fc             	lea    -0x4(%ebp),%eax
46472c:	50                   	push   %eax
46472d:	51                   	push   %ecx
46472e:	e8 59 2b 01 00       	call   0x47728c
464733:	83 c4 0c             	add    $0xc,%esp
464736:	85 c0                	test   %eax,%eax
464738:	7e 31                	jle    0x46476b
46473a:	8b 45 fc             	mov    -0x4(%ebp),%eax
46473d:	80 38 24             	cmpb   $0x24,(%eax)
464740:	75 29                	jne    0x46476b
464742:	39 9e 58 04 00 00    	cmp    %ebx,0x458(%esi)
464748:	75 15                	jne    0x46475f
46474a:	68 40 06 00 00       	push   $0x640
46474f:	8d 86 64 04 00 00    	lea    0x464(%esi),%eax
464755:	57                   	push   %edi
464756:	50                   	push   %eax
464757:	e8 04 f7 fd ff       	call   0x443e60
46475c:	83 c4 0c             	add    $0xc,%esp
46475f:	c7 86 5c 04 00 00 02 	movl   $0x2,0x45c(%esi)
464766:	00 00 00
464769:	eb 06                	jmp    0x464771
46476b:	89 9e 5c 04 00 00    	mov    %ebx,0x45c(%esi)
464771:	83 be 5c 04 00 00 02 	cmpl   $0x2,0x45c(%esi)
464778:	75 4e                	jne    0x4647c8
46477a:	6a 0a                	push   $0xa
46477c:	8d 45 f8             	lea    -0x8(%ebp),%eax
46477f:	89 7d f8             	mov    %edi,-0x8(%ebp)
464782:	50                   	push   %eax
464783:	ff 76 10             	push   0x10(%esi)
464786:	e8 01 2b 01 00       	call   0x47728c
46478b:	8b 55 f8             	mov    -0x8(%ebp),%edx
46478e:	83 c4 0c             	add    $0xc,%esp
464791:	8d 48 ff             	lea    -0x1(%eax),%ecx
464794:	8d 42 01             	lea    0x1(%edx),%eax
464797:	89 8e a8 0a 00 00    	mov    %ecx,0xaa8(%esi)
46479d:	89 46 10             	mov    %eax,0x10(%esi)
4647a0:	39 9e 58 04 00 00    	cmp    %ebx,0x458(%esi)
4647a6:	75 20                	jne    0x4647c8
4647a8:	85 c9                	test   %ecx,%ecx
4647aa:	78 25                	js     0x4647d1
4647ac:	80 3a 24             	cmpb   $0x24,(%edx)
4647af:	75 20                	jne    0x4647d1
4647b1:	83 f9 64             	cmp    $0x64,%ecx
4647b4:	7d 1b                	jge    0x4647d1
4647b6:	8b 86 a4 0a 00 00    	mov    0xaa4(%esi),%eax
4647bc:	3b c8                	cmp    %eax,%ecx
4647be:	7f 02                	jg     0x4647c2
4647c0:	8b c8                	mov    %eax,%ecx
4647c2:	89 8e a4 0a 00 00    	mov    %ecx,0xaa4(%esi)
4647c8:	8a c3                	mov    %bl,%al
4647ca:	5f                   	pop    %edi
4647cb:	5e                   	pop    %esi
4647cc:	5b                   	pop    %ebx
4647cd:	8b e5                	mov    %ebp,%esp
4647cf:	5d                   	pop    %ebp
4647d0:	c3                   	ret
4647d1:	e8 59 86 fe ff       	call   0x44ce2f
4647d6:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4647dc:	e8 f5 84 fe ff       	call   0x44ccd6
4647e1:	32 c0                	xor    %al,%al
4647e3:	eb e5                	jmp    0x4647ca
4647e5:	8b ff                	mov    %edi,%edi
4647e7:	55                   	push   %ebp
4647e8:	8b ec                	mov    %esp,%ebp
4647ea:	51                   	push   %ecx
4647eb:	51                   	push   %ecx
4647ec:	53                   	push   %ebx
4647ed:	56                   	push   %esi
4647ee:	8b f1                	mov    %ecx,%esi
4647f0:	33 db                	xor    %ebx,%ebx
4647f2:	43                   	inc    %ebx
4647f3:	57                   	push   %edi
4647f4:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
4647f7:	0f 85 cd 00 00 00    	jne    0x4648ca
4647fd:	8b 4e 10             	mov    0x10(%esi),%ecx
464800:	0f b7 01             	movzwl (%ecx),%eax
464803:	83 f8 25             	cmp    $0x25,%eax
464806:	0f 84 be 00 00 00    	je     0x4648ca
46480c:	33 ff                	xor    %edi,%edi
46480e:	39 be 5c 04 00 00    	cmp    %edi,0x45c(%esi)
464814:	75 5a                	jne    0x464870
464816:	89 7d fc             	mov    %edi,-0x4(%ebp)
464819:	83 f8 30             	cmp    $0x30,%eax
46481c:	72 4c                	jb     0x46486a
46481e:	83 f8 39             	cmp    $0x39,%eax
464821:	77 47                	ja     0x46486a
464823:	6a 0a                	push   $0xa
464825:	8d 45 fc             	lea    -0x4(%ebp),%eax
464828:	50                   	push   %eax
464829:	51                   	push   %ecx
46482a:	e8 65 2b 01 00       	call   0x477394
46482f:	83 c4 0c             	add    $0xc,%esp
464832:	85 c0                	test   %eax,%eax
464834:	7e 34                	jle    0x46486a
464836:	8b 45 fc             	mov    -0x4(%ebp),%eax
464839:	6a 24                	push   $0x24
46483b:	59                   	pop    %ecx
46483c:	66 39 08             	cmp    %cx,(%eax)
46483f:	75 29                	jne    0x46486a
464841:	39 9e 58 04 00 00    	cmp    %ebx,0x458(%esi)
464847:	75 15                	jne    0x46485e
464849:	68 40 06 00 00       	push   $0x640
46484e:	8d 86 64 04 00 00    	lea    0x464(%esi),%eax
464854:	57                   	push   %edi
464855:	50                   	push   %eax
464856:	e8 05 f6 fd ff       	call   0x443e60
46485b:	83 c4 0c             	add    $0xc,%esp
46485e:	c7 86 5c 04 00 00 02 	movl   $0x2,0x45c(%esi)
464865:	00 00 00
464868:	eb 06                	jmp    0x464870
46486a:	89 9e 5c 04 00 00    	mov    %ebx,0x45c(%esi)
464870:	83 be 5c 04 00 00 02 	cmpl   $0x2,0x45c(%esi)
464877:	75 51                	jne    0x4648ca
464879:	6a 0a                	push   $0xa
46487b:	8d 45 f8             	lea    -0x8(%ebp),%eax
46487e:	89 7d f8             	mov    %edi,-0x8(%ebp)
464881:	50                   	push   %eax
464882:	ff 76 10             	push   0x10(%esi)
464885:	e8 0a 2b 01 00       	call   0x477394
46488a:	8b 55 f8             	mov    -0x8(%ebp),%edx
46488d:	83 c4 0c             	add    $0xc,%esp
464890:	8d 48 ff             	lea    -0x1(%eax),%ecx
464893:	8d 42 02             	lea    0x2(%edx),%eax
464896:	89 8e a8 0a 00 00    	mov    %ecx,0xaa8(%esi)
46489c:	89 46 10             	mov    %eax,0x10(%esi)
46489f:	39 9e 58 04 00 00    	cmp    %ebx,0x458(%esi)
4648a5:	75 23                	jne    0x4648ca
4648a7:	85 c9                	test   %ecx,%ecx
4648a9:	78 28                	js     0x4648d3
4648ab:	6a 24                	push   $0x24
4648ad:	58                   	pop    %eax
4648ae:	66 39 02             	cmp    %ax,(%edx)
4648b1:	75 20                	jne    0x4648d3
4648b3:	83 f9 64             	cmp    $0x64,%ecx
4648b6:	7d 1b                	jge    0x4648d3
4648b8:	8b 86 a4 0a 00 00    	mov    0xaa4(%esi),%eax
4648be:	3b c8                	cmp    %eax,%ecx
4648c0:	7f 02                	jg     0x4648c4
4648c2:	8b c8                	mov    %eax,%ecx
4648c4:	89 8e a4 0a 00 00    	mov    %ecx,0xaa4(%esi)
4648ca:	8a c3                	mov    %bl,%al
4648cc:	5f                   	pop    %edi
4648cd:	5e                   	pop    %esi
4648ce:	5b                   	pop    %ebx
4648cf:	8b e5                	mov    %ebp,%esp
4648d1:	5d                   	pop    %ebp
4648d2:	c3                   	ret
4648d3:	e8 57 85 fe ff       	call   0x44ce2f
4648d8:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4648de:	e8 f3 83 fe ff       	call   0x44ccd6
4648e3:	32 c0                	xor    %al,%al
4648e5:	eb e5                	jmp    0x4648cc
4648e7:	8b ff                	mov    %edi,%edi
4648e9:	55                   	push   %ebp
4648ea:	8b ec                	mov    %esp,%ebp
4648ec:	51                   	push   %ecx
4648ed:	51                   	push   %ecx
4648ee:	53                   	push   %ebx
4648ef:	56                   	push   %esi
4648f0:	8b f1                	mov    %ecx,%esi
4648f2:	33 db                	xor    %ebx,%ebx
4648f4:	43                   	inc    %ebx
4648f5:	57                   	push   %edi
4648f6:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
4648f9:	0f 85 cd 00 00 00    	jne    0x4649cc
4648ff:	8b 4e 10             	mov    0x10(%esi),%ecx
464902:	0f b7 01             	movzwl (%ecx),%eax
464905:	83 f8 25             	cmp    $0x25,%eax
464908:	0f 84 be 00 00 00    	je     0x4649cc
46490e:	33 ff                	xor    %edi,%edi
464910:	39 be 5c 04 00 00    	cmp    %edi,0x45c(%esi)
464916:	75 5a                	jne    0x464972
464918:	89 7d fc             	mov    %edi,-0x4(%ebp)
46491b:	83 f8 30             	cmp    $0x30,%eax
46491e:	72 4c                	jb     0x46496c
464920:	83 f8 39             	cmp    $0x39,%eax
464923:	77 47                	ja     0x46496c
464925:	6a 0a                	push   $0xa
464927:	8d 45 fc             	lea    -0x4(%ebp),%eax
46492a:	50                   	push   %eax
46492b:	51                   	push   %ecx
46492c:	e8 63 2a 01 00       	call   0x477394
464931:	83 c4 0c             	add    $0xc,%esp