4f5597:	5e                   	pop    %esi
4f5598:	5d                   	pop    %ebp
4f5599:	83 c8 ff             	or     $0xffffffff,%eax
4f559c:	5b                   	pop    %ebx
4f559d:	8b 4c 24 40          	mov    0x40(%esp),%ecx
4f55a1:	33 cc                	xor    %esp,%ecx
4f55a3:	e8 7e c4 0d 00       	call   0x5d1a26
4f55a8:	83 c4 44             	add    $0x44,%esp
4f55ab:	c3                   	ret
4f55ac:	8d 45 0f             	lea    0xf(%ebp),%eax
4f55af:	83 c8 08             	or     $0x8,%eax
4f55b2:	c1 e8 03             	shr    $0x3,%eax
4f55b5:	01 46 20             	add    %eax,0x20(%esi)
4f55b8:	83 56 24 00          	adcl   $0x0,0x24(%esi)
4f55bc:	81 7e 24 00 00 00 20 	cmpl   $0x20000000,0x24(%esi)
4f55c3:	72 1f                	jb     0x4f55e4
4f55c5:	77 06                	ja     0x4f55cd
4f55c7:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
4f55cb:	76 17                	jbe    0x4f55e4
4f55cd:	5e                   	pop    %esi
4f55ce:	5d                   	pop    %ebp
4f55cf:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
4f55d4:	5b                   	pop    %ebx
4f55d5:	8b 4c 24 40          	mov    0x40(%esp),%ecx
4f55d9:	33 cc                	xor    %esp,%ecx
4f55db:	e8 46 c4 0d 00       	call   0x5d1a26
4f55e0:	83 c4 44             	add    $0x44,%esp
4f55e3:	c3                   	ret
4f55e4:	57                   	push   %edi
4f55e5:	8b 7c 24 5c          	mov    0x5c(%esp),%edi
4f55e9:	83 fd 10             	cmp    $0x10,%ebp
4f55ec:	0f 82 91 00 00 00    	jb     0x4f5683
4f55f2:	8b c5                	mov    %ebp,%eax
4f55f4:	8d 4e 10             	lea    0x10(%esi),%ecx
4f55f7:	c1 e8 04             	shr    $0x4,%eax
4f55fa:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4f55fe:	66 90                	xchg   %ax,%ax
4f5600:	8b 07                	mov    (%edi),%eax
4f5602:	31 01                	xor    %eax,(%ecx)
4f5604:	8b 47 04             	mov    0x4(%edi),%eax
4f5607:	31 41 04             	xor    %eax,0x4(%ecx)
4f560a:	ff 74 24 14          	push   0x14(%esp)
4f560e:	8b 47 08             	mov    0x8(%edi),%eax
4f5611:	31 46 18             	xor    %eax,0x18(%esi)
4f5614:	8b 47 0c             	mov    0xc(%edi),%eax
4f5617:	31 46 1c             	xor    %eax,0x1c(%esi)
4f561a:	51                   	push   %ecx
4f561b:	51                   	push   %ecx
4f561c:	ff 54 24 24          	call   *0x24(%esp)
4f5620:	ff 74 24 20          	push   0x20(%esp)
4f5624:	8d 44 24 50          	lea    0x50(%esp),%eax
4f5628:	50                   	push   %eax
4f5629:	56                   	push   %esi
4f562a:	ff 54 24 30          	call   *0x30(%esp)
4f562e:	83 c4 18             	add    $0x18,%esp
4f5631:	b8 08 00 00 00       	mov    $0x8,%eax
4f5636:	48                   	dec    %eax
4f5637:	80 44 30 08 01       	addb   $0x1,0x8(%eax,%esi,1)
4f563c:	75 04                	jne    0x4f5642
4f563e:	85 c0                	test   %eax,%eax
4f5640:	75 f4                	jne    0x4f5636
4f5642:	8b 0f                	mov    (%edi),%ecx
4f5644:	83 ed 10             	sub    $0x10,%ebp
4f5647:	8b 47 04             	mov    0x4(%edi),%eax
4f564a:	33 4c 24 40          	xor    0x40(%esp),%ecx
4f564e:	33 44 24 44          	xor    0x44(%esp),%eax
4f5652:	89 0b                	mov    %ecx,(%ebx)
4f5654:	8b 4c 24 48          	mov    0x48(%esp),%ecx
4f5658:	89 43 04             	mov    %eax,0x4(%ebx)
4f565b:	33 4f 08             	xor    0x8(%edi),%ecx
4f565e:	8b 44 24 4c          	mov    0x4c(%esp),%eax
4f5662:	33 47 0c             	xor    0xc(%edi),%eax
4f5665:	83 c7 10             	add    $0x10,%edi
4f5668:	89 4b 08             	mov    %ecx,0x8(%ebx)
4f566b:	8d 4e 10             	lea    0x10(%esi),%ecx
4f566e:	89 43 0c             	mov    %eax,0xc(%ebx)
4f5671:	83 c3 10             	add    $0x10,%ebx
4f5674:	83 6c 24 1c 01       	subl   $0x1,0x1c(%esp)
4f5679:	75 85                	jne    0x4f5600
4f567b:	89 6c 24 64          	mov    %ebp,0x64(%esp)
4f567f:	89 5c 24 28          	mov    %ebx,0x28(%esp)
4f5683:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
4f5687:	85 ed                	test   %ebp,%ebp
4f5689:	0f 84 44 01 00 00    	je     0x4f57d3
4f568f:	8d 4e 10             	lea    0x10(%esi),%ecx
4f5692:	8b d7                	mov    %edi,%edx
4f5694:	8b f5                	mov    %ebp,%esi
4f5696:	8a 02                	mov    (%edx),%al
4f5698:	8d 52 01             	lea    0x1(%edx),%edx
4f569b:	30 01                	xor    %al,(%ecx)
4f569d:	8d 49 01             	lea    0x1(%ecx),%ecx
4f56a0:	83 ee 01             	sub    $0x1,%esi
4f56a3:	75 f1                	jne    0x4f5696
4f56a5:	8b 74 24 24          	mov    0x24(%esp),%esi
4f56a9:	ff 74 24 14          	push   0x14(%esp)
4f56ad:	8d 46 10             	lea    0x10(%esi),%eax
4f56b0:	50                   	push   %eax
4f56b1:	50                   	push   %eax
4f56b2:	ff 54 24 24          	call   *0x24(%esp)
4f56b6:	ff 74 24 20          	push   0x20(%esp)
4f56ba:	8d 44 24 50          	lea    0x50(%esp),%eax
4f56be:	50                   	push   %eax
4f56bf:	56                   	push   %esi
4f56c0:	ff 54 24 30          	call   *0x30(%esp)
4f56c4:	83 c4 18             	add    $0x18,%esp
4f56c7:	33 d2                	xor    %edx,%edx
4f56c9:	85 ed                	test   %ebp,%ebp
4f56cb:	0f 84 02 01 00 00    	je     0x4f57d3
4f56d1:	83 fd 40             	cmp    $0x40,%ebp
4f56d4:	0f 82 d9 00 00 00    	jb     0x4f57b3
4f56da:	8d 4d ff             	lea    -0x1(%ebp),%ecx
4f56dd:	8d 44 2c 3f          	lea    0x3f(%esp,%ebp,1),%eax
4f56e1:	03 cb                	add    %ebx,%ecx
4f56e3:	3b d8                	cmp    %eax,%ebx
4f56e5:	77 0c                	ja     0x4f56f3
4f56e7:	8d 44 24 40          	lea    0x40(%esp),%eax
4f56eb:	3b c8                	cmp    %eax,%ecx
4f56ed:	0f 83 c0 00 00 00    	jae    0x4f57b3
4f56f3:	8d 45 ff             	lea    -0x1(%ebp),%eax
4f56f6:	03 c7                	add    %edi,%eax
4f56f8:	3b d8                	cmp    %eax,%ebx
4f56fa:	77 08                	ja     0x4f5704
4f56fc:	3b cf                	cmp    %edi,%ecx
4f56fe:	0f 83 af 00 00 00    	jae    0x4f57b3
4f5704:	8b c5                	mov    %ebp,%eax
4f5706:	8d 4f 30             	lea    0x30(%edi),%ecx
4f5709:	8d 6c 24 40          	lea    0x40(%esp),%ebp
4f570d:	8b f7                	mov    %edi,%esi
4f570f:	2b eb                	sub    %ebx,%ebp
4f5711:	2b f3                	sub    %ebx,%esi
4f5713:	89 6c 24 30          	mov    %ebp,0x30(%esp)
4f5717:	83 e0 c0             	and    $0xffffffc0,%eax
4f571a:	8b 7c 24 30          	mov    0x30(%esp),%edi
4f571e:	8d 6c 24 50          	lea    0x50(%esp),%ebp
4f5722:	2b eb                	sub    %ebx,%ebp
4f5724:	89 44 24 20          	mov    %eax,0x20(%esp)
4f5728:	89 6c 24 34          	mov    %ebp,0x34(%esp)
4f572c:	8d 43 10             	lea    0x10(%ebx),%eax
4f572f:	8d 6c 24 60          	lea    0x60(%esp),%ebp
4f5733:	89 74 24 2c          	mov    %esi,0x2c(%esp)
4f5737:	2b eb                	sub    %ebx,%ebp
4f5739:	8b 5c 24 34          	mov    0x34(%esp),%ebx
4f573d:	89 6c 24 38          	mov    %ebp,0x38(%esp)
4f5741:	8b ee                	mov    %esi,%ebp
4f5743:	0f 10 41 d0          	movups -0x30(%ecx),%xmm0
4f5747:	8b 74 24 38          	mov    0x38(%esp),%esi
4f574b:	8d 49 40             	lea    0x40(%ecx),%ecx
4f574e:	0f 10 4c 14 40       	movups 0x40(%esp,%edx,1),%xmm1
4f5753:	83 c2 40             	add    $0x40,%edx
4f5756:	8d 40 40             	lea    0x40(%eax),%eax
4f5759:	66 0f ef c8          	pxor   %xmm0,%xmm1
4f575d:	0f 10 44 28 c0       	movups -0x40(%eax,%ebp,1),%xmm0
4f5762:	0f 11 48 b0          	movups %xmm1,-0x50(%eax)
4f5766:	0f 10 4c 07 c0       	movups -0x40(%edi,%eax,1),%xmm1
4f576b:	66 0f ef c8          	pxor   %xmm0,%xmm1
4f576f:	0f 10 41 b0          	movups -0x50(%ecx),%xmm0
4f5773:	0f 11 48 c0          	movups %xmm1,-0x40(%eax)
4f5777:	0f 10 4c 03 c0       	movups -0x40(%ebx,%eax,1),%xmm1
4f577c:	66 0f ef c8          	pxor   %xmm0,%xmm1
4f5780:	0f 10 41 c0          	movups -0x40(%ecx),%xmm0
4f5784:	0f 11 48 d0          	movups %xmm1,-0x30(%eax)
4f5788:	0f 10 4c 06 c0       	movups -0x40(%esi,%eax,1),%xmm1
4f578d:	8b 74 24 24          	mov    0x24(%esp),%esi
4f5791:	66 0f ef c8          	pxor   %xmm0,%xmm1
4f5795:	0f 11 48 e0          	movups %xmm1,-0x20(%eax)
4f5799:	3b 54 24 20          	cmp    0x20(%esp),%edx
4f579d:	72 a4                	jb     0x4f5743
4f579f:	8b 6c 24 64          	mov    0x64(%esp),%ebp
4f57a3:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
4f57a7:	8b 5c 24 28          	mov    0x28(%esp),%ebx
4f57ab:	89 54 24 20          	mov    %edx,0x20(%esp)
4f57af:	3b d5                	cmp    %ebp,%edx
4f57b1:	73 20                	jae    0x4f57d3
4f57b3:	8d 44 24 40          	lea    0x40(%esp),%eax
4f57b7:	2b f8                	sub    %eax,%edi
4f57b9:	2b d8                	sub    %eax,%ebx
4f57bb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4f57c0:	8d 4c 24 40          	lea    0x40(%esp),%ecx
4f57c4:	03 ca                	add    %edx,%ecx
4f57c6:	42                   	inc    %edx
4f57c7:	8a 04 39             	mov    (%ecx,%edi,1),%al
4f57ca:	32 01                	xor    (%ecx),%al
4f57cc:	88 04 19             	mov    %al,(%ecx,%ebx,1)
4f57cf:	3b d5                	cmp    %ebp,%edx
4f57d1:	72 ed                	jb     0x4f57c0
4f57d3:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
4f57d7:	5f                   	pop    %edi
4f57d8:	83 f9 10             	cmp    $0x10,%ecx
4f57db:	73 16                	jae    0x4f57f3
4f57dd:	b8 10 00 00 00       	mov    $0x10,%eax
4f57e2:	2b c1                	sub    %ecx,%eax
4f57e4:	50                   	push   %eax
4f57e5:	8d 04 31             	lea    (%ecx,%esi,1),%eax
4f57e8:	6a 00                	push   $0x0
4f57ea:	50                   	push   %eax
4f57eb:	e8 80 d4 0d 00       	call   0x5d2c70
4f57f0:	83 c4 0c             	add    $0xc,%esp
4f57f3:	ff 74 24 10          	push   0x10(%esp)
4f57f7:	8d 44 24 40          	lea    0x40(%esp),%eax
4f57fb:	50                   	push   %eax
4f57fc:	56                   	push   %esi
4f57fd:	ff 54 24 20          	call   *0x20(%esp)
4f5801:	8b 44 24 48          	mov    0x48(%esp),%eax
4f5805:	83 c4 0c             	add    $0xc,%esp
4f5808:	31 46 10             	xor    %eax,0x10(%esi)
4f580b:	8b 44 24 40          	mov    0x40(%esp),%eax
4f580f:	31 46 14             	xor    %eax,0x14(%esi)
4f5812:	8b 44 24 44          	mov    0x44(%esp),%eax
4f5816:	31 46 18             	xor    %eax,0x18(%esi)
4f5819:	8b 44 24 48          	mov    0x48(%esp),%eax
4f581d:	31 46 1c             	xor    %eax,0x1c(%esi)
4f5820:	8a 44 24 0f          	mov    0xf(%esp),%al
4f5824:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
4f5828:	88 06                	mov    %al,(%esi)
4f582a:	33 c0                	xor    %eax,%eax
4f582c:	5e                   	pop    %esi
4f582d:	5d                   	pop    %ebp
4f582e:	5b                   	pop    %ebx
4f582f:	33 cc                	xor    %esp,%ecx
4f5831:	e8 f0 c1 0d 00       	call   0x5d1a26
4f5836:	83 c4 44             	add    $0x44,%esp
4f5839:	c3                   	ret
4f583a:	cc                   	int3
4f583b:	cc                   	int3
4f583c:	cc                   	int3
4f583d:	cc                   	int3
4f583e:	cc                   	int3
4f583f:	cc                   	int3
4f5840:	b8 44 00 00 00       	mov    $0x44,%eax
4f5845:	e8 66 bf 0d 00       	call   0x5d17b0
4f584a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
4f584f:	33 c4                	xor    %esp,%eax
4f5851:	89 44 24 40          	mov    %eax,0x40(%esp)
4f5855:	8b 44 24 4c          	mov    0x4c(%esp),%eax
4f5859:	53                   	push   %ebx
4f585a:	8b 5c 24 54          	mov    0x54(%esp),%ebx
4f585e:	56                   	push   %esi
4f585f:	8b 74 24 50          	mov    0x50(%esp),%esi
4f5863:	89 44 24 0c          	mov    %eax,0xc(%esp)
4f5867:	8b 44 24 60          	mov    0x60(%esp),%eax
4f586b:	89 44 24 18          	mov    %eax,0x18(%esp)
4f586f:	8a 16                	mov    (%esi),%dl
4f5871:	8b 4e 28             	mov    0x28(%esi),%ecx
4f5874:	8b 46 2c             	mov    0x2c(%esi),%eax
4f5877:	89 74 24 1c          	mov    %esi,0x1c(%esp)
4f587b:	89 5c 24 20          	mov    %ebx,0x20(%esp)
4f587f:	88 54 24 0b          	mov    %dl,0xb(%esp)
4f5883:	89 4c 24 14          	mov    %ecx,0x14(%esp)
4f5887:	89 44 24 10          	mov    %eax,0x10(%esp)
4f588b:	57                   	push   %edi
4f588c:	f6 c2 40             	test   $0x40,%dl
4f588f:	75 17                	jne    0x4f58a8
4f5891:	50                   	push   %eax
4f5892:	8d 46 10             	lea    0x10(%esi),%eax
4f5895:	50                   	push   %eax
4f5896:	56                   	push   %esi
4f5897:	ff d1                	call   *%ecx
4f5899:	8a 54 24 1b          	mov    0x1b(%esp),%dl
4f589d:	83 c4 0c             	add    $0xc,%esp
4f58a0:	83 46 20 01          	addl   $0x1,0x20(%esi)
4f58a4:	83 56 24 00          	adcl   $0x0,0x24(%esi)
4f58a8:	0f b6 c2             	movzbl %dl,%eax
4f58ab:	33 c9                	xor    %ecx,%ecx
4f58ad:	83 e0 07             	and    $0x7,%eax
4f58b0:	ba 0f 00 00 00       	mov    $0xf,%edx
4f58b5:	2b d0                	sub    %eax,%edx
4f58b7:	88 06                	mov    %al,(%esi)
4f58b9:	89 54 24 38          	mov    %edx,0x38(%esp)
4f58bd:	83 fa 0f             	cmp    $0xf,%edx
4f58c0:	73 13                	jae    0x4f58d5
4f58c2:	0f b6 04 16          	movzbl (%esi,%edx,1),%eax
4f58c6:	0b c8                	or     %eax,%ecx
4f58c8:	c6 04 16 00          	movb   $0x0,(%esi,%edx,1)
4f58cc:	42                   	inc    %edx
4f58cd:	c1 e1 08             	shl    $0x8,%ecx
4f58d0:	83 fa 0f             	cmp    $0xf,%edx
4f58d3:	72 ed                	jb     0x4f58c2
4f58d5:	0f b6 46 0f          	movzbl 0xf(%esi),%eax
4f58d9:	8b 7c 24 60          	mov    0x60(%esp),%edi
4f58dd:	0b c8                	or     %eax,%ecx
4f58df:	c6 46 0f 01          	movb   $0x1,0xf(%esi)
4f58e3:	3b cf                	cmp    %edi,%ecx
4f58e5:	74 15                	je     0x4f58fc
4f58e7:	5f                   	pop    %edi
4f58e8:	5e                   	pop    %esi
4f58e9:	83 c8 ff             	or     $0xffffffff,%eax
4f58ec:	5b                   	pop    %ebx
4f58ed:	8b 4c 24 40          	mov    0x40(%esp),%ecx
4f58f1:	33 cc                	xor    %esp,%ecx
4f58f3:	e8 2e c1 0d 00       	call   0x5d1a26
4f58f8:	83 c4 44             	add    $0x44,%esp
4f58fb:	c3                   	ret
4f58fc:	8d 47 0f             	lea    0xf(%edi),%eax
4f58ff:	83 c8 08             	or     $0x8,%eax
4f5902:	c1 e8 03             	shr    $0x3,%eax
4f5905:	01 46 20             	add    %eax,0x20(%esi)
4f5908:	83 56 24 00          	adcl   $0x0,0x24(%esi)
4f590c:	81 7e 24 00 00 00 20 	cmpl   $0x20000000,0x24(%esi)
4f5913:	72 1f                	jb     0x4f5934
4f5915:	77 06                	ja     0x4f591d
4f5917:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
4f591b:	76 17                	jbe    0x4f5934
4f591d:	5f                   	pop    %edi
4f591e:	5e                   	pop    %esi
4f591f:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
4f5924:	5b                   	pop    %ebx
4f5925:	8b 4c 24 40          	mov    0x40(%esp),%ecx
4f5929:	33 cc                	xor    %esp,%ecx
4f592b:	e8 f6 c0 0d 00       	call   0x5d1a26
4f5930:	83 c4 44             	add    $0x44,%esp
4f5933:	c3                   	ret
4f5934:	55                   	push   %ebp
4f5935:	8b ef                	mov    %edi,%ebp
4f5937:	8d 46 10             	lea    0x10(%esi),%eax
4f593a:	c1 ed 04             	shr    $0x4,%ebp
4f593d:	85 ed                	test   %ebp,%ebp
4f593f:	74 40                	je     0x4f5981
4f5941:	50                   	push   %eax
4f5942:	56                   	push   %esi
4f5943:	ff 74 24 20          	push   0x20(%esp)
4f5947:	55                   	push   %ebp
4f5948:	53                   	push   %ebx
4f5949:	ff 74 24 28          	push   0x28(%esp)
4f594d:	ff 54 24 38          	call   *0x38(%esp)
4f5951:	c1 e5 04             	shl    $0x4,%ebp
4f5954:	83 c4 18             	add    $0x18,%esp
4f5957:	01 6c 24 14          	add    %ebp,0x14(%esp)
4f595b:	03 dd                	add    %ebp,%ebx
4f595d:	2b fd                	sub    %ebp,%edi
4f595f:	89 5c 24 28          	mov    %ebx,0x28(%esp)
4f5963:	89 7c 24 64          	mov    %edi,0x64(%esp)
4f5967:	0f 84 7e 01 00 00    	je     0x4f5aeb
4f596d:	c1 ed 04             	shr    $0x4,%ebp
4f5970:	55                   	push   %ebp
4f5971:	56                   	push   %esi
4f5972:	e8 e9 02 00 00       	call   0x4f5c60
4f5977:	8d 46 10             	lea    0x10(%esi),%eax
4f597a:	83 c4 08             	add    $0x8,%esp
4f597d:	8b c8                	mov    %eax,%ecx
4f597f:	eb 0a                	jmp    0x4f598b
4f5981:	8b c8                	mov    %eax,%ecx
4f5983:	85 ff                	test   %edi,%edi
4f5985:	0f 84 60 01 00 00    	je     0x4f5aeb
4f598b:	85 ff                	test   %edi,%edi
4f598d:	74 33                	je     0x4f59c2
4f598f:	8b 54 24 14          	mov    0x14(%esp),%edx
4f5993:	8b ef                	mov    %edi,%ebp
4f5995:	8a 02                	mov    (%edx),%al
4f5997:	8d 52 01             	lea    0x1(%edx),%edx
4f599a:	30 01                	xor    %al,(%ecx)