4a4489:	8b cd                	mov    %ebp,%ecx
4a448b:	0f af cf             	imul   %edi,%ecx
4a448e:	03 d1                	add    %ecx,%edx
4a4490:	83 fe 08             	cmp    $0x8,%esi
4a4493:	89 54 24 10          	mov    %edx,0x10(%esp)
4a4497:	75 09                	jne    0x4a44a2
4a4499:	8b 02                	mov    (%edx),%eax
4a449b:	50                   	push   %eax
4a449c:	ff 15 f0 31 4b 00    	call   *0x4b31f0
4a44a2:	8b 7c 24 10          	mov    0x10(%esp),%edi
4a44a6:	8b cd                	mov    %ebp,%ecx
4a44a8:	8b d1                	mov    %ecx,%edx
4a44aa:	8d 74 24 28          	lea    0x28(%esp),%esi
4a44ae:	c1 e9 02             	shr    $0x2,%ecx
4a44b1:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4a44b3:	8b ca                	mov    %edx,%ecx
4a44b5:	83 e1 03             	and    $0x3,%ecx
4a44b8:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4a44ba:	53                   	push   %ebx
4a44bb:	ff 15 f8 31 4b 00    	call   *0x4b31f8
4a44c1:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4a44c5:	85 c0                	test   %eax,%eax
4a44c7:	0f 8d fa fd ff ff    	jge    0x4a42c7
4a44cd:	8d 44 24 20          	lea    0x20(%esp),%eax
4a44d1:	50                   	push   %eax
4a44d2:	ff 15 cc 31 4b 00    	call   *0x4b31cc
4a44d8:	5f                   	pop    %edi
4a44d9:	5e                   	pop    %esi
4a44da:	5d                   	pop    %ebp
4a44db:	33 c0                	xor    %eax,%eax
4a44dd:	5b                   	pop    %ebx
4a44de:	83 c4 30             	add    $0x30,%esp
4a44e1:	c3                   	ret
4a44e2:	8d 4c 24 54          	lea    0x54(%esp),%ecx
4a44e6:	51                   	push   %ecx
4a44e7:	50                   	push   %eax
4a44e8:	e8 63 f8 ff ff       	call   0x4a3d50
4a44ed:	83 c4 08             	add    $0x8,%esp
4a44f0:	5f                   	pop    %edi
4a44f1:	5e                   	pop    %esi
4a44f2:	5d                   	pop    %ebp
4a44f3:	5b                   	pop    %ebx
4a44f4:	83 c4 30             	add    $0x30,%esp
4a44f7:	c3                   	ret
4a44f8:	8d 54 24 54          	lea    0x54(%esp),%edx
4a44fc:	52                   	push   %edx
4a44fd:	50                   	push   %eax
4a44fe:	e8 1d fa ff ff       	call   0x4a3f20
4a4503:	83 c4 08             	add    $0x8,%esp
4a4506:	5f                   	pop    %edi
4a4507:	5e                   	pop    %esi
4a4508:	5d                   	pop    %ebp
4a4509:	5b                   	pop    %ebx
4a450a:	83 c4 30             	add    $0x30,%esp
4a450d:	c3                   	ret
4a450e:	90                   	nop
4a450f:	90                   	nop
4a4510:	53                   	push   %ebx
4a4511:	55                   	push   %ebp
4a4512:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
4a4516:	56                   	push   %esi
4a4517:	85 ed                	test   %ebp,%ebp
4a4519:	7f 06                	jg     0x4a4521
4a451b:	5e                   	pop    %esi
4a451c:	5d                   	pop    %ebp
4a451d:	33 c0                	xor    %eax,%eax
4a451f:	5b                   	pop    %ebx
4a4520:	c3                   	ret
4a4521:	8b 74 24 14          	mov    0x14(%esp),%esi
4a4525:	56                   	push   %esi
4a4526:	ff 15 40 a1 50 00    	call   *0x50a140
4a452c:	8b d8                	mov    %eax,%ebx
4a452e:	83 c4 04             	add    $0x4,%esp
4a4531:	85 db                	test   %ebx,%ebx
4a4533:	75 04                	jne    0x4a4539
4a4535:	5e                   	pop    %esi
4a4536:	5d                   	pop    %ebp
4a4537:	5b                   	pop    %ebx
4a4538:	c3                   	ret
4a4539:	3b eb                	cmp    %ebx,%ebp
4a453b:	7e 02                	jle    0x4a453f
4a453d:	8b eb                	mov    %ebx,%ebp
4a453f:	57                   	push   %edi
4a4540:	8d 7d 01             	lea    0x1(%ebp),%edi
4a4543:	57                   	push   %edi
4a4544:	e8 f7 c7 ff ff       	call   0x4a0d40
4a4549:	8b cf                	mov    %edi,%ecx
4a454b:	2b f5                	sub    %ebp,%esi
4a454d:	8b d1                	mov    %ecx,%edx
4a454f:	03 f3                	add    %ebx,%esi
4a4551:	8b f8                	mov    %eax,%edi
4a4553:	83 c4 04             	add    $0x4,%esp
4a4556:	c1 e9 02             	shr    $0x2,%ecx
4a4559:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4a455b:	8b ca                	mov    %edx,%ecx
4a455d:	83 e1 03             	and    $0x3,%ecx
4a4560:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4a4562:	5f                   	pop    %edi
4a4563:	5e                   	pop    %esi
4a4564:	5d                   	pop    %ebp
4a4565:	5b                   	pop    %ebx
4a4566:	c3                   	ret
4a4567:	90                   	nop
4a4568:	90                   	nop
4a4569:	90                   	nop
4a456a:	90                   	nop
4a456b:	90                   	nop
4a456c:	90                   	nop
4a456d:	90                   	nop
4a456e:	90                   	nop
4a456f:	90                   	nop
4a4570:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4a4574:	85 c0                	test   %eax,%eax
4a4576:	75 0b                	jne    0x4a4583
4a4578:	33 c9                	xor    %ecx,%ecx
4a457a:	8b 44 24 08          	mov    0x8(%esp),%eax
4a457e:	85 c0                	test   %eax,%eax
4a4580:	75 0f                	jne    0x4a4591
4a4582:	c3                   	ret
4a4583:	8b 44 24 14          	mov    0x14(%esp),%eax
4a4587:	8d 48 ff             	lea    -0x1(%eax),%ecx
4a458a:	85 c9                	test   %ecx,%ecx
4a458c:	7d ec                	jge    0x4a457a
4a458e:	33 c0                	xor    %eax,%eax
4a4590:	c3                   	ret
4a4591:	8a 10                	mov    (%eax),%dl
4a4593:	03 c8                	add    %eax,%ecx
4a4595:	84 d2                	test   %dl,%dl
4a4597:	74 0c                	je     0x4a45a5
4a4599:	3b c1                	cmp    %ecx,%eax
4a459b:	73 08                	jae    0x4a45a5
4a459d:	8a 50 01             	mov    0x1(%eax),%dl
4a45a0:	40                   	inc    %eax
4a45a1:	84 d2                	test   %dl,%dl
4a45a3:	75 f4                	jne    0x4a4599
4a45a5:	0f be 00             	movsbl (%eax),%eax
4a45a8:	c3                   	ret
4a45a9:	90                   	nop
4a45aa:	90                   	nop
4a45ab:	90                   	nop
4a45ac:	90                   	nop
4a45ad:	90                   	nop
4a45ae:	90                   	nop
4a45af:	90                   	nop
4a45b0:	53                   	push   %ebx
4a45b1:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
4a45b5:	55                   	push   %ebp
4a45b6:	56                   	push   %esi
4a45b7:	85 db                	test   %ebx,%ebx
4a45b9:	57                   	push   %edi
4a45ba:	0f 84 b4 00 00 00    	je     0x4a4674
4a45c0:	8b 6c 24 24          	mov    0x24(%esp),%ebp
4a45c4:	85 ed                	test   %ebp,%ebp
4a45c6:	0f 84 a8 00 00 00    	je     0x4a4674
4a45cc:	80 3b 00             	cmpb   $0x0,(%ebx)
4a45cf:	0f 84 9f 00 00 00    	je     0x4a4674
4a45d5:	80 7d 00 00          	cmpb   $0x0,0x0(%ebp)
4a45d9:	75 0a                	jne    0x4a45e5
4a45db:	5f                   	pop    %edi
4a45dc:	5e                   	pop    %esi
4a45dd:	5d                   	pop    %ebp
4a45de:	b8 01 00 00 00       	mov    $0x1,%eax
4a45e3:	5b                   	pop    %ebx
4a45e4:	c3                   	ret
4a45e5:	8b 44 24 38          	mov    0x38(%esp),%eax
4a45e9:	85 c0                	test   %eax,%eax
4a45eb:	75 07                	jne    0x4a45f4
4a45ed:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
4a45f2:	eb 0b                	jmp    0x4a45ff
4a45f4:	8b 44 24 30          	mov    0x30(%esp),%eax
4a45f8:	85 c0                	test   %eax,%eax
4a45fa:	7e 78                	jle    0x4a4674
4a45fc:	8d 70 ff             	lea    -0x1(%eax),%esi
4a45ff:	55                   	push   %ebp
4a4600:	ff 15 40 a1 50 00    	call   *0x50a140
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