460532:	81 ec 0c 01 00 00    	sub    $0x10c,%esp
460538:	80 38 00             	cmpb   $0x0,(%eax)
46053b:	56                   	push   %esi
46053c:	8b f1                	mov    %ecx,%esi
46053e:	74 04                	je     0x460544
460540:	c6 46 14 01          	movb   $0x1,0x14(%esi)
460544:	80 78 02 00          	cmpb   $0x0,0x2(%eax)
460548:	74 04                	je     0x46054e
46054a:	c6 46 16 01          	movb   $0x1,0x16(%esi)
46054e:	80 78 03 00          	cmpb   $0x0,0x3(%eax)
460552:	74 04                	je     0x460558
460554:	c6 46 17 01          	movb   $0x1,0x17(%esi)
460558:	33 c0                	xor    %eax,%eax
46055a:	38 46 14             	cmp    %al,0x14(%esi)
46055d:	74 08                	je     0x460567
46055f:	38 46 1a             	cmp    %al,0x1a(%esi)
460562:	74 03                	je     0x460567
460564:	88 46 14             	mov    %al,0x14(%esi)
460567:	38 46 15             	cmp    %al,0x15(%esi)
46056a:	74 08                	je     0x460574
46056c:	38 46 1b             	cmp    %al,0x1b(%esi)
46056f:	74 03                	je     0x460574
460571:	88 46 15             	mov    %al,0x15(%esi)
460574:	38 46 16             	cmp    %al,0x16(%esi)
460577:	74 08                	je     0x460581
460579:	38 46 1c             	cmp    %al,0x1c(%esi)
46057c:	74 03                	je     0x460581
46057e:	88 46 16             	mov    %al,0x16(%esi)
460581:	38 46 17             	cmp    %al,0x17(%esi)
460584:	74 08                	je     0x46058e
460586:	38 46 1d             	cmp    %al,0x1d(%esi)
460589:	74 03                	je     0x46058e
46058b:	88 46 17             	mov    %al,0x17(%esi)
46058e:	38 46 18             	cmp    %al,0x18(%esi)
460591:	74 08                	je     0x46059b
460593:	38 46 1e             	cmp    %al,0x1e(%esi)
460596:	74 03                	je     0x46059b
460598:	88 46 18             	mov    %al,0x18(%esi)
46059b:	39 46 20             	cmp    %eax,0x20(%esi)
46059e:	74 7d                	je     0x46061d
4605a0:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
4605a6:	50                   	push   %eax
4605a7:	ff 15 f8 f5 48 00    	call   *0x48f5f8
4605ad:	85 c0                	test   %eax,%eax
4605af:	0f 84 a0 01 00 00    	je     0x460755
4605b5:	8a 4e 1a             	mov    0x1a(%esi),%cl
4605b8:	8a 56 1b             	mov    0x1b(%esi),%dl
4605bb:	84 c9                	test   %cl,%cl
4605bd:	0f 94 c0             	sete   %al
4605c0:	fe c8                	dec    %al
4605c2:	20 45 94             	and    %al,-0x6c(%ebp)
4605c5:	84 d2                	test   %dl,%dl
4605c7:	0f 94 c0             	sete   %al
4605ca:	fe c8                	dec    %al
4605cc:	20 45 95             	and    %al,-0x6b(%ebp)
4605cf:	84 c9                	test   %cl,%cl
4605d1:	75 0d                	jne    0x4605e0
4605d3:	84 d2                	test   %dl,%dl
4605d5:	0f 94 c0             	sete   %al
4605d8:	fe c8                	dec    %al
4605da:	20 85 04 ff ff ff    	and    %al,-0xfc(%ebp)
4605e0:	80 7e 1c 00          	cmpb   $0x0,0x1c(%esi)
4605e4:	0f 94 c0             	sete   %al
4605e7:	fe c8                	dec    %al
4605e9:	20 85 05 ff ff ff    	and    %al,-0xfb(%ebp)
4605ef:	80 7e 1d 00          	cmpb   $0x0,0x1d(%esi)
4605f3:	0f 94 c0             	sete   %al
4605f6:	fe c8                	dec    %al
4605f8:	20 85 06 ff ff ff    	and    %al,-0xfa(%ebp)
4605fe:	84 c9                	test   %cl,%cl
460600:	0f 94 c0             	sete   %al
460603:	fe c8                	dec    %al
460605:	20 85 4f ff ff ff    	and    %al,-0xb1(%ebp)
46060b:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
460611:	50                   	push   %eax
460612:	ff 15 f4 f5 48 00    	call   *0x48f5f4
460618:	e9 38 01 00 00       	jmp    0x460755
46061d:	53                   	push   %ebx
46061e:	57                   	push   %edi
46061f:	8d 4d f4             	lea    -0xc(%ebp),%ecx
460622:	e8 6e fb ff ff       	call   0x460195
460627:	8b 1d f0 f5 48 00    	mov    0x48f5f0,%ebx
46062d:	68 a0 00 00 00       	push   $0xa0
460632:	ff d3                	call   *%ebx
460634:	8b 3d fc f5 48 00    	mov    0x48f5fc,%edi
46063a:	b9 00 80 00 00       	mov    $0x8000,%ecx
46063f:	66 85 c1             	test   %ax,%cx
460642:	75 11                	jne    0x460655
460644:	68 a0 00 00 00       	push   $0xa0
460649:	ff d7                	call   *%edi
46064b:	b9 00 80 00 00       	mov    $0x8000,%ecx
460650:	66 85 c1             	test   %ax,%cx
460653:	74 1e                	je     0x460673
460655:	80 7e 1a 00          	cmpb   $0x0,0x1a(%esi)
460659:	75 18                	jne    0x460673
46065b:	68 a0 00 00 00       	push   $0xa0
460660:	8d 4d f4             	lea    -0xc(%ebp),%ecx
460663:	e8 37 12 00 00       	call   0x46189f
460668:	8d 45 f4             	lea    -0xc(%ebp),%eax
46066b:	8b ce                	mov    %esi,%ecx
46066d:	50                   	push   %eax
46066e:	e8 ae 0a 00 00       	call   0x461121
460673:	68 a1 00 00 00       	push   $0xa1
460678:	ff d3                	call   *%ebx
46067a:	b9 00 80 00 00       	mov    $0x8000,%ecx
46067f:	66 85 c1             	test   %ax,%cx
460682:	75 11                	jne    0x460695
460684:	68 a1 00 00 00       	push   $0xa1
460689:	ff d7                	call   *%edi
46068b:	b9 00 80 00 00       	mov    $0x8000,%ecx
460690:	66 85 c1             	test   %ax,%cx
460693:	74 1e                	je     0x4606b3
460695:	80 7e 1b 00          	cmpb   $0x0,0x1b(%esi)
460699:	75 18                	jne    0x4606b3
46069b:	68 a1 00 00 00       	push   $0xa1
4606a0:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4606a3:	e8 f7 11 00 00       	call   0x46189f
4606a8:	8d 45 f4             	lea    -0xc(%ebp),%eax
4606ab:	8b ce                	mov    %esi,%ecx
4606ad:	50                   	push   %eax
4606ae:	e8 6e 0a 00 00       	call   0x461121
4606b3:	6a 11                	push   $0x11
4606b5:	ff d3                	call   *%ebx
4606b7:	b9 00 80 00 00       	mov    $0x8000,%ecx
4606bc:	66 85 c1             	test   %ax,%cx
4606bf:	75 0e                	jne    0x4606cf
4606c1:	6a 11                	push   $0x11
4606c3:	ff d7                	call   *%edi
4606c5:	b9 00 80 00 00       	mov    $0x8000,%ecx
4606ca:	66 85 c1             	test   %ax,%cx
4606cd:	74 1b                	je     0x4606ea
4606cf:	80 7e 1c 00          	cmpb   $0x0,0x1c(%esi)
4606d3:	75 15                	jne    0x4606ea
4606d5:	6a 11                	push   $0x11
4606d7:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4606da:	e8 c0 11 00 00       	call   0x46189f
4606df:	8d 45 f4             	lea    -0xc(%ebp),%eax
4606e2:	8b ce                	mov    %esi,%ecx
4606e4:	50                   	push   %eax
4606e5:	e8 37 0a 00 00       	call   0x461121
4606ea:	6a 12                	push   $0x12
4606ec:	ff d3                	call   *%ebx
4606ee:	b9 00 80 00 00       	mov    $0x8000,%ecx
4606f3:	66 85 c1             	test   %ax,%cx
4606f6:	75 0e                	jne    0x460706
4606f8:	6a 12                	push   $0x12
4606fa:	ff d7                	call   *%edi
4606fc:	b9 00 80 00 00       	mov    $0x8000,%ecx
460701:	66 85 c1             	test   %ax,%cx
460704:	74 1b                	je     0x460721
460706:	80 7e 1d 00          	cmpb   $0x0,0x1d(%esi)
46070a:	75 15                	jne    0x460721
46070c:	6a 12                	push   $0x12
46070e:	8d 4d f4             	lea    -0xc(%ebp),%ecx
460711:	e8 89 11 00 00       	call   0x46189f
460716:	8d 45 f4             	lea    -0xc(%ebp),%eax
460719:	8b ce                	mov    %esi,%ecx
46071b:	50                   	push   %eax
46071c:	e8 00 0a 00 00       	call   0x461121
460721:	6a 5b                	push   $0x5b
460723:	ff d3                	call   *%ebx
460725:	bb 00 80 00 00       	mov    $0x8000,%ebx
46072a:	66 85 c3             	test   %ax,%bx
46072d:	75 09                	jne    0x460738
46072f:	6a 5b                	push   $0x5b
460731:	ff d7                	call   *%edi
460733:	66 85 c3             	test   %ax,%bx
460736:	74 1b                	je     0x460753
460738:	80 7e 1e 00          	cmpb   $0x0,0x1e(%esi)
46073c:	75 15                	jne    0x460753
46073e:	6a 5b                	push   $0x5b
460740:	8d 4d f4             	lea    -0xc(%ebp),%ecx
460743:	e8 57 11 00 00       	call   0x46189f
460748:	8d 45 f4             	lea    -0xc(%ebp),%eax
46074b:	8b ce                	mov    %esi,%ecx
46074d:	50                   	push   %eax
46074e:	e8 ce 09 00 00       	call   0x461121
460753:	5f                   	pop    %edi
460754:	5b                   	pop    %ebx
460755:	5e                   	pop    %esi
460756:	8b e5                	mov    %ebp,%esp
460758:	5d                   	pop    %ebp
460759:	c2 04 00             	ret    $0x4
46075c:	55                   	push   %ebp
46075d:	8b ec                	mov    %esp,%ebp
46075f:	83 e4 f8             	and    $0xfffffff8,%esp
460762:	83 ec 24             	sub    $0x24,%esp
460765:	8b 45 0c             	mov    0xc(%ebp),%eax
460768:	53                   	push   %ebx
460769:	56                   	push   %esi
46076a:	57                   	push   %edi
46076b:	8b f1                	mov    %ecx,%esi
46076d:	6a 01                	push   $0x1
46076f:	50                   	push   %eax
460770:	89 46 20             	mov    %eax,0x20(%esi)
460773:	e8 66 0f 00 00       	call   0x4616de
460778:	33 db                	xor    %ebx,%ebx
46077a:	80 7e 08 01          	cmpb   $0x1,0x8(%esi)
46077e:	88 5c 24 14          	mov    %bl,0x14(%esp)
460782:	89 5c 24 18          	mov    %ebx,0x18(%esp)
460786:	66 89 5c 24 1c       	mov    %bx,0x1c(%esp)
46078b:	75 24                	jne    0x4607b1
46078d:	53                   	push   %ebx
46078e:	6a 14                	push   $0x14
460790:	8b ce                	mov    %esi,%ecx
460792:	e8 e4 07 00 00       	call   0x460f7b
460797:	88 44 24 14          	mov    %al,0x14(%esp)
46079b:	8b ce                	mov    %esi,%ecx
46079d:	8d 44 24 0c          	lea    0xc(%esp),%eax
4607a1:	50                   	push   %eax
4607a2:	e8 72 fa ff ff       	call   0x460219
4607a7:	50                   	push   %eax
4607a8:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
4607ac:	e8 02 fa ff ff       	call   0x4601b3
4607b1:	6a 40                	push   $0x40
4607b3:	8d 4c 24 24          	lea    0x24(%esp),%ecx
4607b7:	8b fb                	mov    %ebx,%edi
4607b9:	e8 b8 73 fa ff       	call   0x407b76
4607be:	8b 4d 08             	mov    0x8(%ebp),%ecx
4607c1:	57                   	push   %edi
4607c2:	e8 59 73 fa ff       	call   0x407b20
4607c7:	0f b7 18             	movzwl (%eax),%ebx
4607ca:	66 85 db             	test   %bx,%bx
4607cd:	0f 84 a6 00 00 00    	je     0x460879
4607d3:	47                   	inc    %edi
4607d4:	8b ce                	mov    %esi,%ecx
4607d6:	89 7c 24 0c          	mov    %edi,0xc(%esp)
4607da:	e8 05 fd ff ff       	call   0x4604e4
4607df:	8b c3                	mov    %ebx,%eax
4607e1:	83 e8 21             	sub    $0x21,%eax
4607e4:	0f 84 86 00 00 00    	je     0x460870
4607ea:	48                   	dec    %eax
4607eb:	48                   	dec    %eax
4607ec:	74 79                	je     0x460867
4607ee:	83 e8 08             	sub    $0x8,%eax
4607f1:	74 6b                	je     0x46085e
4607f3:	83 e8 33             	sub    $0x33,%eax
4607f6:	74 5d                	je     0x460855
4607f8:	83 e8 1d             	sub    $0x1d,%eax
4607fb:	74 05                	je     0x460802
4607fd:	6a 01                	push   $0x1
4607ff:	53                   	push   %ebx
460800:	eb 1c                	jmp    0x46081e
460802:	8d 44 24 0c          	lea    0xc(%esp),%eax
460806:	50                   	push   %eax
460807:	8d 44 24 24          	lea    0x24(%esp),%eax
46080b:	50                   	push   %eax
46080c:	ff 75 08             	push   0x8(%ebp)
46080f:	6a 7d                	push   $0x7d
460811:	e8 3c fb fb ff       	call   0x420352
460816:	84 c0                	test   %al,%al
460818:	75 16                	jne    0x460830
46081a:	6a 01                	push   $0x1
46081c:	6a 7b                	push   $0x7b
46081e:	8b ce                	mov    %esi,%ecx
460820:	e8 91 00 00 00       	call   0x4608b6
460825:	33 c0                	xor    %eax,%eax
460827:	89 46 14             	mov    %eax,0x14(%esi)
46082a:	66 89 46 18          	mov    %ax,0x18(%esi)
46082e:	eb 8e                	jmp    0x4607be
460830:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
460835:	74 0c                	je     0x460843
460837:	8d 44 24 20          	lea    0x20(%esp),%eax
46083b:	8b ce                	mov    %esi,%ecx
46083d:	50                   	push   %eax
46083e:	e8 88 01 00 00       	call   0x4609cb
460843:	8b 7c 24 0c          	mov    0xc(%esp),%edi
460847:	33 c0                	xor    %eax,%eax
460849:	89 46 14             	mov    %eax,0x14(%esi)
46084c:	66 89 46 18          	mov    %ax,0x18(%esi)
460850:	e9 69 ff ff ff       	jmp    0x4607be
460855:	c6 46 16 01          	movb   $0x1,0x16(%esi)
460859:	e9 60 ff ff ff       	jmp    0x4607be
46085e:	c6 46 14 01          	movb   $0x1,0x14(%esi)
460862:	e9 57 ff ff ff       	jmp    0x4607be
460867:	c6 46 18 01          	movb   $0x1,0x18(%esi)
46086b:	e9 4e ff ff ff       	jmp    0x4607be
460870:	c6 46 17 01          	movb   $0x1,0x17(%esi)
460874:	e9 45 ff ff ff       	jmp    0x4607be
460879:	80 7e 08 01          	cmpb   $0x1,0x8(%esi)
46087d:	75 19                	jne    0x460898
46087f:	8d 44 24 18          	lea    0x18(%esp),%eax
460883:	8b ce                	mov    %esi,%ecx
460885:	50                   	push   %eax
460886:	e8 eb 09 00 00       	call   0x461276
46088b:	ff 74 24 14          	push   0x14(%esp)
46088f:	8b ce                	mov    %esi,%ecx
460891:	6a 14                	push   $0x14
460893:	e8 e3 06 00 00       	call   0x460f7b
460898:	6a 00                	push   $0x0
46089a:	ff 76 20             	push   0x20(%esi)
46089d:	8b ce                	mov    %esi,%ecx
46089f:	e8 3a 0e 00 00       	call   0x4616de
4608a4:	8d 4c 24 20          	lea    0x20(%esp),%ecx
4608a8:	e8 b7 51 fa ff       	call   0x405a64
4608ad:	5f                   	pop    %edi
4608ae:	5e                   	pop    %esi
4608af:	5b                   	pop    %ebx
4608b0:	8b e5                	mov    %ebp,%esp
4608b2:	5d                   	pop    %ebp
4608b3:	c2 08 00             	ret    $0x8
4608b6:	55                   	push   %ebp
4608b7:	8b ec                	mov    %esp,%ebp
4608b9:	83 ec 0c             	sub    $0xc,%esp
4608bc:	56                   	push   %esi
4608bd:	57                   	push   %edi
4608be:	8b 7d 0c             	mov    0xc(%ebp),%edi
4608c1:	8b f1                	mov    %ecx,%esi
4608c3:	85 ff                	test   %edi,%edi
4608c5:	7e 4e                	jle    0x460915
4608c7:	53                   	push   %ebx
4608c8:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4608cb:	e8 c5 f8 ff ff       	call   0x460195
4608d0:	ff 75 08             	push   0x8(%ebp)
4608d3:	e8 59 0f 00 00       	call   0x461831
4608d8:	8a 5d f4             	mov    -0xc(%ebp),%bl
4608db:	80 fb ff             	cmp    $0xff,%bl
4608de:	74 16                	je     0x4608f6
4608e0:	8d 45 f5             	lea    -0xb(%ebp),%eax
4608e3:	8b ce                	mov    %esi,%ecx
4608e5:	50                   	push   %eax
4608e6:	e8 41 fc ff ff       	call   0x46052c
4608eb:	8d 46 14             	lea    0x14(%esi),%eax
4608ee:	8b ce                	mov    %esi,%ecx
4608f0:	50                   	push   %eax
4608f1:	e8 80 09 00 00       	call   0x461276
4608f6:	8d 45 f4             	lea    -0xc(%ebp),%eax
4608f9:	8b ce                	mov    %esi,%ecx
4608fb:	50                   	push   %eax
4608fc:	e8 58 09 00 00       	call   0x461259
460901:	4f                   	dec    %edi
460902:	75 f2                	jne    0x4608f6
460904:	80 fb ff             	cmp    $0xff,%bl
460907:	5b                   	pop    %ebx
460908:	74 0b                	je     0x460915
46090a:	8d 46 14             	lea    0x14(%esi),%eax
46090d:	8b ce                	mov    %esi,%ecx
46090f:	50                   	push   %eax
460910:	e8 48 0b 00 00       	call   0x46145d
460915:	5f                   	pop    %edi
460916:	5e                   	pop    %esi
460917:	8b e5                	mov    %ebp,%esp
460919:	5d                   	pop    %ebp
46091a:	c2 08 00             	ret    $0x8
46091d:	55                   	push   %ebp
46091e:	8b ec                	mov    %esp,%ebp
460920:	83 ec 10             	sub    $0x10,%esp
460923:	8b 45 0c             	mov    0xc(%ebp),%eax
460926:	53                   	push   %ebx
460927:	56                   	push   %esi