4a4606:	8d 0c 33             	lea    (%ebx,%esi,1),%ecx
4a4609:	83 c4 04             	add    $0x4,%esp
4a460c:	2b c8                	sub    %eax,%ecx
4a460e:	8b c3                	mov    %ebx,%eax
4a4610:	3b d9                	cmp    %ecx,%ebx
4a4612:	73 0e                	jae    0x4a4622
4a4614:	80 38 00             	cmpb   $0x0,(%eax)
4a4617:	74 05                	je     0x4a461e
4a4619:	40                   	inc    %eax
4a461a:	3b c1                	cmp    %ecx,%eax
4a461c:	72 f6                	jb     0x4a4614
4a461e:	3b c3                	cmp    %ebx,%eax
4a4620:	72 52                	jb     0x4a4674
4a4622:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
4a4626:	85 c9                	test   %ecx,%ecx
4a4628:	74 52                	je     0x4a467c
4a462a:	3b c3                	cmp    %ebx,%eax
4a462c:	72 46                	jb     0x4a4674
4a462e:	8a 08                	mov    (%eax),%cl
4a4630:	8b f5                	mov    %ebp,%esi
4a4632:	84 c9                	test   %cl,%cl
4a4634:	74 34                	je     0x4a466a
4a4636:	8b f8                	mov    %eax,%edi
4a4638:	2b fd                	sub    %ebp,%edi
4a463a:	8a 0e                	mov    (%esi),%cl
4a463c:	84 c9                	test   %cl,%cl
4a463e:	74 2a                	je     0x4a466a
4a4640:	8a 14 37             	mov    (%edi,%esi,1),%dl
4a4643:	3a d1                	cmp    %cl,%dl
4a4645:	74 1a                	je     0x4a4661
4a4647:	81 e2 ff 00 00 00    	and    $0xff,%edx
4a464d:	81 e1 ff 00 00 00    	and    $0xff,%ecx
4a4653:	8a 92 40 9f 50 00    	mov    0x509f40(%edx),%dl
4a4659:	3a 91 40 9f 50 00    	cmp    0x509f40(%ecx),%dl
4a465f:	75 09                	jne    0x4a466a
4a4661:	8a 4c 37 01          	mov    0x1(%edi,%esi,1),%cl
4a4665:	46                   	inc    %esi
4a4666:	84 c9                	test   %cl,%cl
4a4668:	75 d0                	jne    0x4a463a
4a466a:	80 3e 00             	cmpb   $0x0,(%esi)
4a466d:	74 49                	je     0x4a46b8
4a466f:	48                   	dec    %eax
4a4670:	3b c3                	cmp    %ebx,%eax
4a4672:	73 ba                	jae    0x4a462e
4a4674:	5f                   	pop    %edi
4a4675:	5e                   	pop    %esi
4a4676:	5d                   	pop    %ebp
4a4677:	83 c8 ff             	or     $0xffffffff,%eax
4a467a:	5b                   	pop    %ebx
4a467b:	c3                   	ret
4a467c:	3b c3                	cmp    %ebx,%eax
4a467e:	72 f4                	jb     0x4a4674
4a4680:	8a 10                	mov    (%eax),%dl
4a4682:	8b cd                	mov    %ebp,%ecx
4a4684:	84 d2                	test   %dl,%dl
4a4686:	74 1e                	je     0x4a46a6
4a4688:	8b f0                	mov    %eax,%esi
4a468a:	2b f5                	sub    %ebp,%esi
4a468c:	8a 11                	mov    (%ecx),%dl
4a468e:	84 d2                	test   %dl,%dl
4a4690:	74 14                	je     0x4a46a6
4a4692:	0f be 3c 0e          	movsbl (%esi,%ecx,1),%edi
4a4696:	0f be d2             	movsbl %dl,%edx
4a4699:	2b fa                	sub    %edx,%edi
4a469b:	75 09                	jne    0x4a46a6
4a469d:	8a 54 0e 01          	mov    0x1(%esi,%ecx,1),%dl
4a46a1:	41                   	inc    %ecx
4a46a2:	84 d2                	test   %dl,%dl
4a46a4:	75 e6                	jne    0x4a468c
4a46a6:	80 39 00             	cmpb   $0x0,(%ecx)
4a46a9:	74 0d                	je     0x4a46b8
4a46ab:	48                   	dec    %eax
4a46ac:	3b c3                	cmp    %ebx,%eax
4a46ae:	73 d0                	jae    0x4a4680
4a46b0:	5f                   	pop    %edi
4a46b1:	5e                   	pop    %esi
4a46b2:	5d                   	pop    %ebp
4a46b3:	83 c8 ff             	or     $0xffffffff,%eax
4a46b6:	5b                   	pop    %ebx
4a46b7:	c3                   	ret
4a46b8:	5f                   	pop    %edi
4a46b9:	2b c3                	sub    %ebx,%eax
4a46bb:	5e                   	pop    %esi
4a46bc:	5d                   	pop    %ebp
4a46bd:	40                   	inc    %eax
4a46be:	5b                   	pop    %ebx
4a46bf:	c3                   	ret
4a46c0:	56                   	push   %esi
4a46c1:	8b 74 24 0c          	mov    0xc(%esp),%esi
4a46c5:	85 f6                	test   %esi,%esi
4a46c7:	57                   	push   %edi
4a46c8:	74 41                	je     0x4a470b
4a46ca:	8b 46 04             	mov    0x4(%esi),%eax
4a46cd:	8b 54 24 28          	mov    0x28(%esp),%edx
4a46d1:	85 c0                	test   %eax,%eax
4a46d3:	74 36                	je     0x4a470b
4a46d5:	85 d2                	test   %edx,%edx
4a46d7:	7e 32                	jle    0x4a470b
4a46d9:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4a46dd:	8d 79 ff             	lea    -0x1(%ecx),%edi
4a46e0:	3b f8                	cmp    %eax,%edi
4a46e2:	7f 27                	jg     0x4a470b
4a46e4:	85 c9                	test   %ecx,%ecx
4a46e6:	7f 05                	jg     0x4a46ed
4a46e8:	b9 01 00 00 00       	mov    $0x1,%ecx
4a46ed:	8d 7c 0a ff          	lea    -0x1(%edx,%ecx,1),%edi
4a46f1:	3b f8                	cmp    %eax,%edi
4a46f3:	7c 05                	jl     0x4a46fa
4a46f5:	2b c1                	sub    %ecx,%eax
4a46f7:	40                   	inc    %eax
4a46f8:	8b d0                	mov    %eax,%edx
4a46fa:	8d 44 0e 07          	lea    0x7(%esi,%ecx,1),%eax
4a46fe:	52                   	push   %edx
4a46ff:	50                   	push   %eax
4a4700:	e8 fb 29 00 00       	call   0x4a7100
4a4705:	83 c4 08             	add    $0x8,%esp
4a4708:	5f                   	pop    %edi
4a4709:	5e                   	pop    %esi
4a470a:	c3                   	ret
4a470b:	5f                   	pop    %edi
4a470c:	33 c0                	xor    %eax,%eax
4a470e:	5e                   	pop    %esi
4a470f:	c3                   	ret
4a4710:	53                   	push   %ebx
4a4711:	56                   	push   %esi
4a4712:	8b 74 24 10          	mov    0x10(%esp),%esi
4a4716:	85 f6                	test   %esi,%esi
4a4718:	74 3c                	je     0x4a4756
4a471a:	80 3e 00             	cmpb   $0x0,(%esi)
4a471d:	74 37                	je     0x4a4756
4a471f:	56                   	push   %esi
4a4720:	ff 15 40 a1 50 00    	call   *0x50a140
4a4726:	8b d8                	mov    %eax,%ebx
4a4728:	83 c4 04             	add    $0x4,%esp
4a472b:	85 db                	test   %ebx,%ebx
4a472d:	74 27                	je     0x4a4756
4a472f:	8d 43 01             	lea    0x1(%ebx),%eax
4a4732:	57                   	push   %edi
4a4733:	50                   	push   %eax
4a4734:	e8 07 c6 ff ff       	call   0x4a0d40
4a4739:	8b cb                	mov    %ebx,%ecx
4a473b:	8b f8                	mov    %eax,%edi
4a473d:	8b d1                	mov    %ecx,%edx
4a473f:	83 c4 04             	add    $0x4,%esp
4a4742:	c1 e9 02             	shr    $0x2,%ecx
4a4745:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4a4747:	8b ca                	mov    %edx,%ecx
4a4749:	83 e1 03             	and    $0x3,%ecx
4a474c:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4a474e:	5f                   	pop    %edi
4a474f:	c6 04 18 00          	movb   $0x0,(%eax,%ebx,1)
4a4753:	5e                   	pop    %esi
4a4754:	5b                   	pop    %ebx
4a4755:	c3                   	ret
4a4756:	5e                   	pop    %esi
4a4757:	33 c0                	xor    %eax,%eax
4a4759:	5b                   	pop    %ebx
4a475a:	c3                   	ret
4a475b:	90                   	nop
4a475c:	90                   	nop
4a475d:	90                   	nop
4a475e:	90                   	nop
4a475f:	90                   	nop
4a4760:	81 ec 04 01 00 00    	sub    $0x104,%esp
4a4766:	8d 44 24 00          	lea    0x0(%esp),%eax
4a476a:	68 04 01 00 00       	push   $0x104
4a476f:	50                   	push   %eax
4a4770:	6a 00                	push   $0x0
4a4772:	ff 15 9c 30 4b 00    	call   *0x4b309c
4a4778:	85 c0                	test   %eax,%eax
4a477a:	74 2f                	je     0x4a47ab
4a477c:	8d 4c 24 00          	lea    0x0(%esp),%ecx
4a4780:	51                   	push   %ecx
4a4781:	ff 15 40 a1 50 00    	call   *0x50a140
4a4787:	8a 4c 04 03          	mov    0x3(%esp,%eax,1),%cl
4a478b:	8d 44 04 03          	lea    0x3(%esp,%eax,1),%eax
4a478f:	83 c4 04             	add    $0x4,%esp
4a4792:	80 f9 5c             	cmp    $0x5c,%cl
4a4795:	74 11                	je     0x4a47a8
4a4797:	8d 54 24 00          	lea    0x0(%esp),%edx
4a479b:	3b c2                	cmp    %edx,%eax
4a479d:	76 0c                	jbe    0x4a47ab
4a479f:	8a 48 ff             	mov    -0x1(%eax),%cl
4a47a2:	48                   	dec    %eax
4a47a3:	80 f9 5c             	cmp    $0x5c,%cl
4a47a6:	75 ef                	jne    0x4a4797
4a47a8:	c6 00 00             	movb   $0x0,(%eax)
4a47ab:	56                   	push   %esi
4a47ac:	8d 44 24 04          	lea    0x4(%esp),%eax
4a47b0:	57                   	push   %edi
4a47b1:	50                   	push   %eax
4a47b2:	ff 15 40 a1 50 00    	call   *0x50a140
4a47b8:	40                   	inc    %eax
4a47b9:	50                   	push   %eax
4a47ba:	e8 81 c5 ff ff       	call   0x4a0d40
4a47bf:	8b d0                	mov    %eax,%edx
4a47c1:	8d 7c 24 10          	lea    0x10(%esp),%edi
4a47c5:	83 c9 ff             	or     $0xffffffff,%ecx
4a47c8:	33 c0                	xor    %eax,%eax
4a47ca:	83 c4 08             	add    $0x8,%esp
4a47cd:	f2 ae                	repnz scas %es:(%edi),%al
4a47cf:	f7 d1                	not    %ecx
4a47d1:	2b f9                	sub    %ecx,%edi
4a47d3:	8b c1                	mov    %ecx,%eax
4a47d5:	8b f7                	mov    %edi,%esi
4a47d7:	8b fa                	mov    %edx,%edi
4a47d9:	c1 e9 02             	shr    $0x2,%ecx
4a47dc:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4a47de:	8b c8                	mov    %eax,%ecx
4a47e0:	8b c2                	mov    %edx,%eax
4a47e2:	83 e1 03             	and    $0x3,%ecx
4a47e5:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4a47e7:	5f                   	pop    %edi
4a47e8:	5e                   	pop    %esi
4a47e9:	81 c4 04 01 00 00    	add    $0x104,%esp
4a47ef:	c3                   	ret
4a47f0:	8b 44 24 08          	mov    0x8(%esp),%eax
4a47f4:	50                   	push   %eax
4a47f5:	ff 15 24 32 4b 00    	call   *0x4b3224
4a47fb:	c3                   	ret
4a47fc:	90                   	nop
4a47fd:	90                   	nop
4a47fe:	90                   	nop
4a47ff:	90                   	nop
4a4800:	8b 44 24 08          	mov    0x8(%esp),%eax
4a4804:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4a4808:	8b 54 24 20          	mov    0x20(%esp),%edx
4a480c:	50                   	push   %eax
4a480d:	8b 44 24 18          	mov    0x18(%esp),%eax
4a4811:	51                   	push   %ecx
4a4812:	52                   	push   %edx
4a4813:	50                   	push   %eax
4a4814:	ff 15 a0 30 4b 00    	call   *0x4b30a0
4a481a:	c3                   	ret
4a481b:	90                   	nop
4a481c:	90                   	nop
4a481d:	90                   	nop
4a481e:	90                   	nop
4a481f:	90                   	nop
4a4820:	53                   	push   %ebx
4a4821:	55                   	push   %ebp
4a4822:	56                   	push   %esi
4a4823:	57                   	push   %edi
4a4824:	68 00 04 00 00       	push   $0x400
4a4829:	e8 c2 3e 00 00       	call   0x4a86f0
4a482e:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
4a4832:	8b 6c 24 40          	mov    0x40(%esp),%ebp
4a4836:	8b 4c 24 28          	mov    0x28(%esp),%ecx
4a483a:	83 c4 04             	add    $0x4,%esp
4a483d:	8b f0                	mov    %eax,%esi
4a483f:	8b 44 24 30          	mov    0x30(%esp),%eax
4a4843:	53                   	push   %ebx
4a4844:	68 00 04 00 00       	push   $0x400
4a4849:	56                   	push   %esi
4a484a:	55                   	push   %ebp
4a484b:	50                   	push   %eax
4a484c:	51                   	push   %ecx
4a484d:	ff 15 a4 30 4b 00    	call   *0x4b30a4
4a4853:	3d ff 03 00 00       	cmp    $0x3ff,%eax
4a4858:	7c 30                	jl     0x4a488a
4a485a:	56                   	push   %esi
4a485b:	8d b8 00 04 00 00    	lea    0x400(%eax),%edi
4a4861:	e8 98 3e 00 00       	call   0x4a86fe
4a4866:	57                   	push   %edi
4a4867:	e8 84 3e 00 00       	call   0x4a86f0
4a486c:	8b 54 24 38          	mov    0x38(%esp),%edx
4a4870:	83 c4 08             	add    $0x8,%esp
4a4873:	8b f0                	mov    %eax,%esi
4a4875:	8b 44 24 24          	mov    0x24(%esp),%eax
4a4879:	53                   	push   %ebx
4a487a:	57                   	push   %edi
4a487b:	56                   	push   %esi
4a487c:	55                   	push   %ebp
4a487d:	52                   	push   %edx
4a487e:	50                   	push   %eax
4a487f:	ff 15 a4 30 4b 00    	call   *0x4b30a4
4a4885:	4f                   	dec    %edi
4a4886:	3b c7                	cmp    %edi,%eax
4a4888:	7d d0                	jge    0x4a485a
4a488a:	56                   	push   %esi
4a488b:	33 ff                	xor    %edi,%edi
4a488d:	ff 15 40 a1 50 00    	call   *0x50a140
4a4893:	83 c4 04             	add    $0x4,%esp
4a4896:	85 c0                	test   %eax,%eax
4a4898:	74 0c                	je     0x4a48a6
4a489a:	50                   	push   %eax
4a489b:	56                   	push   %esi
4a489c:	e8 9f 28 00 00       	call   0x4a7140
4a48a1:	83 c4 08             	add    $0x8,%esp
4a48a4:	8b f8                	mov    %eax,%edi
4a48a6:	56                   	push   %esi
4a48a7:	e8 52 3e 00 00       	call   0x4a86fe
4a48ac:	83 c4 04             	add    $0x4,%esp
4a48af:	8b c7                	mov    %edi,%eax
4a48b1:	5f                   	pop    %edi
4a48b2:	5e                   	pop    %esi
4a48b3:	5d                   	pop    %ebp
4a48b4:	5b                   	pop    %ebx
4a48b5:	c3                   	ret
4a48b6:	90                   	nop
4a48b7:	90                   	nop
4a48b8:	90                   	nop
4a48b9:	90                   	nop
4a48ba:	90                   	nop
4a48bb:	90                   	nop
4a48bc:	90                   	nop
4a48bd:	90                   	nop
4a48be:	90                   	nop
4a48bf:	90                   	nop
4a48c0:	56                   	push   %esi
4a48c1:	6a 10                	push   $0x10
4a48c3:	e8 78 c4 ff ff       	call   0x4a0d40
4a48c8:	83 c4 04             	add    $0x4,%esp
4a48cb:	8b f0                	mov    %eax,%esi
4a48cd:	8b 44 24 0c          	mov    0xc(%esp),%eax
4a48d1:	50                   	push   %eax
4a48d2:	68 2c 9e 50 00       	push   $0x509e2c
4a48d7:	56                   	push   %esi
4a48d8:	e8 de 38 00 00       	call   0x4a81bb
4a48dd:	83 c4 0c             	add    $0xc,%esp
4a48e0:	8b c6                	mov    %esi,%eax
4a48e2:	5e                   	pop    %esi
4a48e3:	c3                   	ret
4a48e4:	90                   	nop
4a48e5:	90                   	nop
4a48e6:	90                   	nop
4a48e7:	90                   	nop
4a48e8:	90                   	nop
4a48e9:	90                   	nop
4a48ea:	90                   	nop
4a48eb:	90                   	nop
4a48ec:	90                   	nop
4a48ed:	90                   	nop
4a48ee:	90                   	nop
4a48ef:	90                   	nop
4a48f0:	8b 44 24 14          	mov    0x14(%esp),%eax
4a48f4:	53                   	push   %ebx
4a48f5:	56                   	push   %esi
4a48f6:	50                   	push   %eax
4a48f7:	ff 15 40 a1 50 00    	call   *0x50a140
4a48fd:	8b f0                	mov    %eax,%esi
4a48ff:	83 c4 04             	add    $0x4,%esp
4a4902:	85 f6                	test   %esi,%esi
4a4904:	74 3f                	je     0x4a4945
4a4906:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4a490a:	85 db                	test   %ebx,%ebx
4a490c:	7e 37                	jle    0x4a4945
4a490e:	8b cb                	mov    %ebx,%ecx
4a4910:	55                   	push   %ebp
4a4911:	0f af ce             	imul   %esi,%ecx