4a562a:	75 84                	jne    0x4a55b0
4a562c:	89 6c 24 20          	mov    %ebp,0x20(%esp)
4a5630:	89 5c 24 60          	mov    %ebx,0x60(%esp)
4a5634:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
4a5638:	85 db                	test   %ebx,%ebx
4a563a:	0f 84 03 01 00 00    	je     0x4a5743
4a5640:	33 c9                	xor    %ecx,%ecx
4a5642:	85 db                	test   %ebx,%ebx
4a5644:	74 0c                	je     0x4a5652
4a5646:	8a 04 39             	mov    (%ecx,%edi,1),%al
4a5649:	30 44 0e 10          	xor    %al,0x10(%esi,%ecx,1)
4a564d:	41                   	inc    %ecx
4a564e:	3b cb                	cmp    %ebx,%ecx
4a5650:	72 f4                	jb     0x4a5646
4a5652:	ff 74 24 14          	push   0x14(%esp)
4a5656:	8d 46 10             	lea    0x10(%esi),%eax
4a5659:	50                   	push   %eax
4a565a:	50                   	push   %eax
4a565b:	ff 54 24 24          	call   *0x24(%esp)
4a565f:	ff 74 24 20          	push   0x20(%esp)
4a5663:	8d 44 24 4c          	lea    0x4c(%esp),%eax
4a5667:	50                   	push   %eax
4a5668:	56                   	push   %esi
4a5669:	ff 54 24 30          	call   *0x30(%esp)
4a566d:	83 c4 18             	add    $0x18,%esp
4a5670:	33 d2                	xor    %edx,%edx
4a5672:	85 db                	test   %ebx,%ebx
4a5674:	0f 84 c9 00 00 00    	je     0x4a5743
4a567a:	83 fb 20             	cmp    $0x20,%ebx
4a567d:	0f 82 9e 00 00 00    	jb     0x4a5721
4a5683:	8d 4d ff             	lea    -0x1(%ebp),%ecx
4a5686:	8d 44 1c 3b          	lea    0x3b(%esp,%ebx,1),%eax
4a568a:	03 cb                	add    %ebx,%ecx
4a568c:	3b e8                	cmp    %eax,%ebp
4a568e:	77 0c                	ja     0x4a569c
4a5690:	8d 44 24 3c          	lea    0x3c(%esp),%eax
4a5694:	3b c8                	cmp    %eax,%ecx
4a5696:	0f 83 85 00 00 00    	jae    0x4a5721
4a569c:	8d 47 ff             	lea    -0x1(%edi),%eax
4a569f:	03 c3                	add    %ebx,%eax
4a56a1:	3b e8                	cmp    %eax,%ebp
4a56a3:	77 04                	ja     0x4a56a9
4a56a5:	3b cf                	cmp    %edi,%ecx
4a56a7:	73 78                	jae    0x4a5721
4a56a9:	8b c3                	mov    %ebx,%eax
4a56ab:	8b cb                	mov    %ebx,%ecx
4a56ad:	8d 5c 24 3c          	lea    0x3c(%esp),%ebx
4a56b1:	83 e0 1f             	and    $0x1f,%eax
4a56b4:	2b df                	sub    %edi,%ebx
4a56b6:	8b f5                	mov    %ebp,%esi
4a56b8:	89 5c 24 28          	mov    %ebx,0x28(%esp)
4a56bc:	2b f7                	sub    %edi,%esi
4a56be:	2b c8                	sub    %eax,%ecx
4a56c0:	89 74 24 24          	mov    %esi,0x24(%esp)
4a56c4:	8d 5c 24 4c          	lea    0x4c(%esp),%ebx
4a56c8:	8b c7                	mov    %edi,%eax
4a56ca:	2b df                	sub    %edi,%ebx
4a56cc:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
4a56d0:	8d 5d 10             	lea    0x10(%ebp),%ebx
4a56d3:	8b 6c 24 28          	mov    0x28(%esp),%ebp
4a56d7:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
4a56db:	89 5c 24 30          	mov    %ebx,0x30(%esp)
4a56df:	8b de                	mov    %esi,%ebx
4a56e1:	0f 10 00             	movups (%eax),%xmm0
4a56e4:	8b 74 24 30          	mov    0x30(%esp),%esi
4a56e8:	8d 40 20             	lea    0x20(%eax),%eax
4a56eb:	0f 10 4c 28 e0       	movups -0x20(%eax,%ebp,1),%xmm1
4a56f0:	66 0f ef c8          	pxor   %xmm0,%xmm1
4a56f4:	0f 11 4c 03 e0       	movups %xmm1,-0x20(%ebx,%eax,1)
4a56f9:	0f 10 40 f0          	movups -0x10(%eax),%xmm0
4a56fd:	0f 10 4c 07 e0       	movups -0x20(%edi,%eax,1),%xmm1
4a5702:	66 0f ef c8          	pxor   %xmm0,%xmm1
4a5706:	0f 11 0c 16          	movups %xmm1,(%esi,%edx,1)
4a570a:	8b 74 24 34          	mov    0x34(%esp),%esi
4a570e:	83 c2 20             	add    $0x20,%edx
4a5711:	3b d1                	cmp    %ecx,%edx
4a5713:	72 cc                	jb     0x4a56e1
4a5715:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
4a5719:	8b 5c 24 60          	mov    0x60(%esp),%ebx
4a571d:	8b 6c 24 20          	mov    0x20(%esp),%ebp
4a5721:	3b d3                	cmp    %ebx,%edx
4a5723:	73 1e                	jae    0x4a5743
4a5725:	8d 44 24 3c          	lea    0x3c(%esp),%eax
4a5729:	2b f8                	sub    %eax,%edi
4a572b:	2b e8                	sub    %eax,%ebp
4a572d:	0f 1f 00             	nopl   (%eax)
4a5730:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
4a5734:	03 ca                	add    %edx,%ecx
4a5736:	42                   	inc    %edx
4a5737:	8a 04 39             	mov    (%ecx,%edi,1),%al
4a573a:	32 01                	xor    (%ecx),%al
4a573c:	88 04 29             	mov    %al,(%ecx,%ebp,1)
4a573f:	3b d3                	cmp    %ebx,%edx
4a5741:	72 ed                	jb     0x4a5730
4a5743:	8b 54 24 38          	mov    0x38(%esp),%edx
4a5747:	83 fa 10             	cmp    $0x10,%edx
4a574a:	73 1a                	jae    0x4a5766
4a574c:	b9 10 00 00 00       	mov    $0x10,%ecx
4a5751:	8d 3c 32             	lea    (%edx,%esi,1),%edi
4a5754:	2b ca                	sub    %edx,%ecx
4a5756:	33 c0                	xor    %eax,%eax
4a5758:	8b d1                	mov    %ecx,%edx
4a575a:	c1 e9 02             	shr    $0x2,%ecx
4a575d:	f3 ab                	rep stos %eax,%es:(%edi)
4a575f:	8b ca                	mov    %edx,%ecx
4a5761:	83 e1 03             	and    $0x3,%ecx
4a5764:	f3 aa                	rep stos %al,%es:(%edi)
4a5766:	ff 74 24 14          	push   0x14(%esp)
4a576a:	8d 44 24 40          	lea    0x40(%esp),%eax
4a576e:	50                   	push   %eax
4a576f:	56                   	push   %esi
4a5770:	ff 54 24 24          	call   *0x24(%esp)
4a5774:	8b 44 24 48          	mov    0x48(%esp),%eax
4a5778:	83 c4 0c             	add    $0xc,%esp
4a577b:	31 46 10             	xor    %eax,0x10(%esi)
4a577e:	8b 44 24 40          	mov    0x40(%esp),%eax
4a5782:	31 46 14             	xor    %eax,0x14(%esi)
4a5785:	8b 44 24 44          	mov    0x44(%esp),%eax
4a5789:	31 46 18             	xor    %eax,0x18(%esi)
4a578c:	8b 44 24 48          	mov    0x48(%esp),%eax
4a5790:	31 46 1c             	xor    %eax,0x1c(%esi)
4a5793:	8a 44 24 13          	mov    0x13(%esp),%al
4a5797:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
4a579b:	5f                   	pop    %edi
4a579c:	88 06                	mov    %al,(%esi)
4a579e:	33 c0                	xor    %eax,%eax
4a57a0:	5e                   	pop    %esi
4a57a1:	5d                   	pop    %ebp
4a57a2:	5b                   	pop    %ebx
4a57a3:	33 cc                	xor    %esp,%ecx
4a57a5:	e8 30 bd 13 00       	call   0x5e14da
4a57aa:	83 c4 40             	add    $0x40,%esp
4a57ad:	c3                   	ret
4a57ae:	cc                   	int3
4a57af:	cc                   	int3
4a57b0:	b8 40 00 00 00       	mov    $0x40,%eax
4a57b5:	e8 36 bd 13 00       	call   0x5e14f0
4a57ba:	a1 d4 89 72 00       	mov    0x7289d4,%eax
4a57bf:	33 c4                	xor    %esp,%eax
4a57c1:	89 44 24 3c          	mov    %eax,0x3c(%esp)
4a57c5:	8b 44 24 4c          	mov    0x4c(%esp),%eax
4a57c9:	53                   	push   %ebx
4a57ca:	8b 5c 24 4c          	mov    0x4c(%esp),%ebx
4a57ce:	56                   	push   %esi
4a57cf:	8b 74 24 4c          	mov    0x4c(%esp),%esi
4a57d3:	89 44 24 0c          	mov    %eax,0xc(%esp)
4a57d7:	8b 44 24 5c          	mov    0x5c(%esp),%eax
4a57db:	89 44 24 18          	mov    %eax,0x18(%esp)
4a57df:	8a 16                	mov    (%esi),%dl
4a57e1:	8b 4e 28             	mov    0x28(%esi),%ecx
4a57e4:	8b 46 2c             	mov    0x2c(%esi),%eax
4a57e7:	89 74 24 2c          	mov    %esi,0x2c(%esp)
4a57eb:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
4a57ef:	88 54 24 0b          	mov    %dl,0xb(%esp)
4a57f3:	89 4c 24 14          	mov    %ecx,0x14(%esp)
4a57f7:	89 44 24 10          	mov    %eax,0x10(%esp)
4a57fb:	57                   	push   %edi
4a57fc:	f6 c2 40             	test   $0x40,%dl
4a57ff:	75 17                	jne    0x4a5818
4a5801:	50                   	push   %eax
4a5802:	8d 46 10             	lea    0x10(%esi),%eax
4a5805:	50                   	push   %eax
4a5806:	56                   	push   %esi
4a5807:	ff d1                	call   *%ecx
4a5809:	8a 54 24 1b          	mov    0x1b(%esp),%dl
4a580d:	83 c4 0c             	add    $0xc,%esp
4a5810:	83 46 20 01          	addl   $0x1,0x20(%esi)
4a5814:	83 56 24 00          	adcl   $0x0,0x24(%esi)
4a5818:	0f b6 c2             	movzbl %dl,%eax
4a581b:	33 c9                	xor    %ecx,%ecx
4a581d:	83 e0 07             	and    $0x7,%eax
4a5820:	ba 0f 00 00 00       	mov    $0xf,%edx
4a5825:	2b d0                	sub    %eax,%edx
4a5827:	88 06                	mov    %al,(%esi)
4a5829:	89 54 24 34          	mov    %edx,0x34(%esp)
4a582d:	83 fa 0f             	cmp    $0xf,%edx
4a5830:	73 13                	jae    0x4a5845
4a5832:	0f b6 04 16          	movzbl (%esi,%edx,1),%eax
4a5836:	0b c8                	or     %eax,%ecx
4a5838:	c6 04 16 00          	movb   $0x0,(%esi,%edx,1)
4a583c:	42                   	inc    %edx
4a583d:	c1 e1 08             	shl    $0x8,%ecx
4a5840:	83 fa 0f             	cmp    $0xf,%edx
4a5843:	72 ed                	jb     0x4a5832
4a5845:	0f b6 46 0f          	movzbl 0xf(%esi),%eax
4a5849:	8b 7c 24 5c          	mov    0x5c(%esp),%edi
4a584d:	0b c8                	or     %eax,%ecx
4a584f:	c6 46 0f 01          	movb   $0x1,0xf(%esi)
4a5853:	3b cf                	cmp    %edi,%ecx
4a5855:	74 15                	je     0x4a586c
4a5857:	5f                   	pop    %edi
4a5858:	5e                   	pop    %esi
4a5859:	83 c8 ff             	or     $0xffffffff,%eax
4a585c:	5b                   	pop    %ebx
4a585d:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
4a5861:	33 cc                	xor    %esp,%ecx
4a5863:	e8 72 bc 13 00       	call   0x5e14da
4a5868:	83 c4 40             	add    $0x40,%esp
4a586b:	c3                   	ret
4a586c:	8d 47 0f             	lea    0xf(%edi),%eax
4a586f:	83 c8 08             	or     $0x8,%eax
4a5872:	c1 e8 03             	shr    $0x3,%eax
4a5875:	01 46 20             	add    %eax,0x20(%esi)
4a5878:	83 56 24 00          	adcl   $0x0,0x24(%esi)
4a587c:	81 7e 24 00 00 00 20 	cmpl   $0x20000000,0x24(%esi)
4a5883:	72 1f                	jb     0x4a58a4
4a5885:	77 06                	ja     0x4a588d
4a5887:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
4a588b:	76 17                	jbe    0x4a58a4
4a588d:	5f                   	pop    %edi
4a588e:	5e                   	pop    %esi
4a588f:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
4a5894:	5b                   	pop    %ebx
4a5895:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
4a5899:	33 cc                	xor    %esp,%ecx
4a589b:	e8 3a bc 13 00       	call   0x5e14da
4a58a0:	83 c4 40             	add    $0x40,%esp
4a58a3:	c3                   	ret
4a58a4:	55                   	push   %ebp
4a58a5:	8b ef                	mov    %edi,%ebp
4a58a7:	c1 ed 04             	shr    $0x4,%ebp
4a58aa:	85 ed                	test   %ebp,%ebp
4a58ac:	74 3c                	je     0x4a58ea
4a58ae:	8d 46 10             	lea    0x10(%esi),%eax
4a58b1:	50                   	push   %eax
4a58b2:	56                   	push   %esi
4a58b3:	ff 74 24 20          	push   0x20(%esp)
4a58b7:	55                   	push   %ebp
4a58b8:	ff 74 24 24          	push   0x24(%esp)
4a58bc:	53                   	push   %ebx
4a58bd:	ff 54 24 38          	call   *0x38(%esp)
4a58c1:	c1 e5 04             	shl    $0x4,%ebp
4a58c4:	83 c4 18             	add    $0x18,%esp
4a58c7:	01 6c 24 14          	add    %ebp,0x14(%esp)
4a58cb:	03 dd                	add    %ebp,%ebx
4a58cd:	2b fd                	sub    %ebp,%edi
4a58cf:	89 5c 24 24          	mov    %ebx,0x24(%esp)
4a58d3:	89 7c 24 60          	mov    %edi,0x60(%esp)
4a58d7:	0f 84 17 01 00 00    	je     0x4a59f4
4a58dd:	c1 ed 04             	shr    $0x4,%ebp
4a58e0:	55                   	push   %ebp
4a58e1:	56                   	push   %esi
4a58e2:	e8 79 02 00 00       	call   0x4a5b60
4a58e7:	83 c4 08             	add    $0x8,%esp
4a58ea:	85 ff                	test   %edi,%edi
4a58ec:	0f 84 02 01 00 00    	je     0x4a59f4
4a58f2:	33 c9                	xor    %ecx,%ecx
4a58f4:	85 ff                	test   %edi,%edi
4a58f6:	74 0c                	je     0x4a5904
4a58f8:	8a 04 0b             	mov    (%ebx,%ecx,1),%al
4a58fb:	30 44 0e 10          	xor    %al,0x10(%esi,%ecx,1)
4a58ff:	41                   	inc    %ecx
4a5900:	3b cf                	cmp    %edi,%ecx
4a5902:	72 f4                	jb     0x4a58f8
4a5904:	8b 6c 24 18          	mov    0x18(%esp),%ebp
4a5908:	8d 46 10             	lea    0x10(%esi),%eax
4a590b:	55                   	push   %ebp
4a590c:	50                   	push   %eax
4a590d:	50                   	push   %eax
4a590e:	ff 54 24 28          	call   *0x28(%esp)
4a5912:	55                   	push   %ebp
4a5913:	8d 44 24 4c          	lea    0x4c(%esp),%eax
4a5917:	50                   	push   %eax
4a5918:	56                   	push   %esi
4a5919:	ff 54 24 34          	call   *0x34(%esp)
4a591d:	83 c4 18             	add    $0x18,%esp
4a5920:	33 d2                	xor    %edx,%edx
4a5922:	85 ff                	test   %edi,%edi
4a5924:	0f 84 ce 00 00 00    	je     0x4a59f8
4a592a:	8b 6c 24 14          	mov    0x14(%esp),%ebp
4a592e:	83 ff 20             	cmp    $0x20,%edi
4a5931:	0f 82 9e 00 00 00    	jb     0x4a59d5
4a5937:	8d 4d ff             	lea    -0x1(%ebp),%ecx
4a593a:	8d 44 3c 3b          	lea    0x3b(%esp,%edi,1),%eax
4a593e:	03 cf                	add    %edi,%ecx
4a5940:	3b e8                	cmp    %eax,%ebp
4a5942:	77 0c                	ja     0x4a5950
4a5944:	8d 44 24 3c          	lea    0x3c(%esp),%eax
4a5948:	3b c8                	cmp    %eax,%ecx
4a594a:	0f 83 85 00 00 00    	jae    0x4a59d5
4a5950:	8d 43 ff             	lea    -0x1(%ebx),%eax
4a5953:	03 c7                	add    %edi,%eax
4a5955:	3b e8                	cmp    %eax,%ebp
4a5957:	77 04                	ja     0x4a595d
4a5959:	3b cb                	cmp    %ebx,%ecx
4a595b:	73 78                	jae    0x4a59d5
4a595d:	8b f5                	mov    %ebp,%esi
4a595f:	8b c7                	mov    %edi,%eax
4a5961:	2b f3                	sub    %ebx,%esi
4a5963:	83 e0 1f             	and    $0x1f,%eax
4a5966:	89 74 24 20          	mov    %esi,0x20(%esp)
4a596a:	8b cf                	mov    %edi,%ecx
4a596c:	8d 74 24 3c          	lea    0x3c(%esp),%esi
4a5970:	2b c8                	sub    %eax,%ecx
4a5972:	2b f3                	sub    %ebx,%esi
4a5974:	8b c3                	mov    %ebx,%eax
4a5976:	89 74 24 28          	mov    %esi,0x28(%esp)
4a597a:	8d 74 24 4c          	lea    0x4c(%esp),%esi
4a597e:	8b 7c 24 28          	mov    0x28(%esp),%edi
4a5982:	2b f3                	sub    %ebx,%esi
4a5984:	8d 5d 10             	lea    0x10(%ebp),%ebx
4a5987:	89 74 24 2c          	mov    %esi,0x2c(%esp)
4a598b:	8b 6c 24 20          	mov    0x20(%esp),%ebp
4a598f:	89 5c 24 30          	mov    %ebx,0x30(%esp)
4a5993:	8b de                	mov    %esi,%ebx
4a5995:	0f 10 00             	movups (%eax),%xmm0
4a5998:	8b 74 24 30          	mov    0x30(%esp),%esi
4a599c:	8d 40 20             	lea    0x20(%eax),%eax
4a599f:	0f 10 4c 07 e0       	movups -0x20(%edi,%eax,1),%xmm1
4a59a4:	66 0f ef c8          	pxor   %xmm0,%xmm1
4a59a8:	0f 11 4c 28 e0       	movups %xmm1,-0x20(%eax,%ebp,1)
4a59ad:	0f 10 40 f0          	movups -0x10(%eax),%xmm0
4a59b1:	0f 10 4c 03 e0       	movups -0x20(%ebx,%eax,1),%xmm1
4a59b6:	66 0f ef c8          	pxor   %xmm0,%xmm1
4a59ba:	0f 11 0c 16          	movups %xmm1,(%esi,%edx,1)
4a59be:	8b 74 24 34          	mov    0x34(%esp),%esi
4a59c2:	83 c2 20             	add    $0x20,%edx
4a59c5:	3b d1                	cmp    %ecx,%edx
4a59c7:	72 cc                	jb     0x4a5995
4a59c9:	8b 7c 24 60          	mov    0x60(%esp),%edi
4a59cd:	8b 5c 24 24          	mov    0x24(%esp),%ebx
4a59d1:	8b 6c 24 14          	mov    0x14(%esp),%ebp
4a59d5:	3b d7                	cmp    %edi,%edx
4a59d7:	73 1b                	jae    0x4a59f4
4a59d9:	8d 44 24 3c          	lea    0x3c(%esp),%eax
4a59dd:	2b d8                	sub    %eax,%ebx
4a59df:	2b e8                	sub    %eax,%ebp
4a59e1:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
4a59e5:	03 ca                	add    %edx,%ecx
4a59e7:	42                   	inc    %edx
4a59e8:	8a 04 0b             	mov    (%ebx,%ecx,1),%al
4a59eb:	32 01                	xor    (%ecx),%al
4a59ed:	88 04 29             	mov    %al,(%ecx,%ebp,1)
4a59f0:	3b d7                	cmp    %edi,%edx
4a59f2:	72 ed                	jb     0x4a59e1
4a59f4:	8b 6c 24 18          	mov    0x18(%esp),%ebp
4a59f8:	8b 54 24 38          	mov    0x38(%esp),%edx
4a59fc:	83 fa 10             	cmp    $0x10,%edx
4a59ff:	73 1a                	jae    0x4a5a1b
4a5a01:	b9 10 00 00 00       	mov    $0x10,%ecx
4a5a06:	8d 3c 32             	lea    (%edx,%esi,1),%edi
4a5a09:	2b ca                	sub    %edx,%ecx
4a5a0b:	33 c0                	xor    %eax,%eax
4a5a0d:	8b d1                	mov    %ecx,%edx
4a5a0f:	c1 e9 02             	shr    $0x2,%ecx
4a5a12:	f3 ab                	rep stos %eax,%es:(%edi)
4a5a14:	8b ca                	mov    %edx,%ecx
4a5a16:	83 e1 03             	and    $0x3,%ecx
4a5a19:	f3 aa                	rep stos %al,%es:(%edi)
4a5a1b:	55                   	push   %ebp