5c35f4:	8b 7d b8             	mov    -0x48(%ebp),%edi
5c35f7:	83 c6 18             	add    $0x18,%esi
5c35fa:	3b f7                	cmp    %edi,%esi
5c35fc:	0f 85 ae fe ff ff    	jne    0x5c34b0
5c3602:	8b 45 b4             	mov    -0x4c(%ebp),%eax
5c3605:	85 c0                	test   %eax,%eax
5c3607:	0f 84 9c 00 00 00    	je     0x5c36a9
5c360d:	8b f0                	mov    %eax,%esi
5c360f:	3b f7                	cmp    %edi,%esi
5c3611:	74 53                	je     0x5c3666
5c3613:	8b 4e 14             	mov    0x14(%esi),%ecx
5c3616:	83 f9 08             	cmp    $0x8,%ecx
5c3619:	72 31                	jb     0x5c364c
5c361b:	8b 06                	mov    (%esi),%eax
5c361d:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
5c3624:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5c362a:	72 16                	jb     0x5c3642
5c362c:	8b 50 fc             	mov    -0x4(%eax),%edx
5c362f:	83 c1 23             	add    $0x23,%ecx
5c3632:	2b c2                	sub    %edx,%eax
5c3634:	83 c0 fc             	add    $0xfffffffc,%eax
5c3637:	83 f8 1f             	cmp    $0x1f,%eax
5c363a:	0f 87 87 00 00 00    	ja     0x5c36c7
5c3640:	8b c2                	mov    %edx,%eax
5c3642:	51                   	push   %ecx
5c3643:	50                   	push   %eax
5c3644:	e8 29 da 01 00       	call   0x5e1072
5c3649:	83 c4 08             	add    $0x8,%esp
5c364c:	33 c0                	xor    %eax,%eax
5c364e:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
5c3655:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
5c365c:	66 89 06             	mov    %ax,(%esi)
5c365f:	83 c6 18             	add    $0x18,%esi
5c3662:	3b f7                	cmp    %edi,%esi
5c3664:	75 ad                	jne    0x5c3613
5c3666:	8b 4d bc             	mov    -0x44(%ebp),%ecx
5c3669:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5c366e:	8b 75 b4             	mov    -0x4c(%ebp),%esi
5c3671:	2b ce                	sub    %esi,%ecx
5c3673:	f7 e9                	imul   %ecx
5c3675:	c1 fa 02             	sar    $0x2,%edx
5c3678:	8b c2                	mov    %edx,%eax
5c367a:	c1 e8 1f             	shr    $0x1f,%eax
5c367d:	03 c2                	add    %edx,%eax
5c367f:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5c3682:	8b c6                	mov    %esi,%eax
5c3684:	c1 e1 03             	shl    $0x3,%ecx
5c3687:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5c368d:	72 10                	jb     0x5c369f
5c368f:	8b 76 fc             	mov    -0x4(%esi),%esi
5c3692:	83 c1 23             	add    $0x23,%ecx
5c3695:	2b c6                	sub    %esi,%eax
5c3697:	83 c0 fc             	add    $0xfffffffc,%eax
5c369a:	83 f8 1f             	cmp    $0x1f,%eax
5c369d:	77 28                	ja     0x5c36c7
5c369f:	51                   	push   %ecx
5c36a0:	56                   	push   %esi
5c36a1:	e8 cc d9 01 00       	call   0x5e1072
5c36a6:	83 c4 08             	add    $0x8,%esp
5c36a9:	8b 45 a4             	mov    -0x5c(%ebp),%eax
5c36ac:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c36af:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5c36b6:	59                   	pop    %ecx
5c36b7:	5f                   	pop    %edi
5c36b8:	5e                   	pop    %esi
5c36b9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5c36bc:	33 cd                	xor    %ebp,%ecx
5c36be:	e8 17 de 01 00       	call   0x5e14da
5c36c3:	8b e5                	mov    %ebp,%esp
5c36c5:	5d                   	pop    %ebp
5c36c6:	c3                   	ret
5c36c7:	e8 63 98 02 00       	call   0x5ecf2f
5c36cc:	cc                   	int3
5c36cd:	cc                   	int3
5c36ce:	cc                   	int3
5c36cf:	cc                   	int3
5c36d0:	55                   	push   %ebp
5c36d1:	8b ec                	mov    %esp,%ebp
5c36d3:	6a ff                	push   $0xffffffff
5c36d5:	68 60 f6 65 00       	push   $0x65f660
5c36da:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5c36e0:	50                   	push   %eax
5c36e1:	83 ec 3c             	sub    $0x3c,%esp
5c36e4:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5c36e9:	33 c5                	xor    %ebp,%eax
5c36eb:	89 45 f0             	mov    %eax,-0x10(%ebp)
5c36ee:	56                   	push   %esi
5c36ef:	57                   	push   %edi
5c36f0:	50                   	push   %eax
5c36f1:	8d 45 f4             	lea    -0xc(%ebp),%eax
5c36f4:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
5c36fa:	8b 75 14             	mov    0x14(%ebp),%esi
5c36fd:	8b 55 08             	mov    0x8(%ebp),%edx
5c3700:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5c3703:	8b 45 10             	mov    0x10(%ebp),%eax
5c3706:	89 75 c4             	mov    %esi,-0x3c(%ebp)
5c3709:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
5c3710:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
5c3717:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
5c371e:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
5c3725:	8d 75 cc             	lea    -0x34(%ebp),%esi
5c3728:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5c372f:	56                   	push   %esi
5c3730:	8d 75 b8             	lea    -0x48(%ebp),%esi
5c3733:	56                   	push   %esi
5c3734:	6a 07                	push   $0x7
5c3736:	50                   	push   %eax
5c3737:	51                   	push   %ecx
5c3738:	52                   	push   %edx
5c3739:	e8 12 f7 ff ff       	call   0x5c2e50
5c373e:	8b 7d b8             	mov    -0x48(%ebp),%edi
5c3741:	8b f0                	mov    %eax,%esi
5c3743:	83 c4 18             	add    $0x18,%esp
5c3746:	89 75 d0             	mov    %esi,-0x30(%ebp)
5c3749:	85 f6                	test   %esi,%esi
5c374b:	0f 85 07 01 00 00    	jne    0x5c3858
5c3751:	8b f7                	mov    %edi,%esi
5c3753:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
5c375a:	8d 4e 02             	lea    0x2(%esi),%ecx
5c375d:	0f 1f 00             	nopl   (%eax)
5c3760:	66 8b 06             	mov    (%esi),%ax
5c3763:	83 c6 02             	add    $0x2,%esi
5c3766:	66 85 c0             	test   %ax,%ax
5c3769:	75 f5                	jne    0x5c3760
5c376b:	2b f1                	sub    %ecx,%esi
5c376d:	d1 fe                	sar    $1,%esi
5c376f:	0f 84 e0 00 00 00    	je     0x5c3855
5c3775:	8b d7                	mov    %edi,%edx
5c3777:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
5c377e:	00 00
5c3780:	8b ca                	mov    %edx,%ecx
5c3782:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
5c3789:	33 c0                	xor    %eax,%eax
5c378b:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
5c3792:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
5c3796:	8d 41 02             	lea    0x2(%ecx),%eax
5c3799:	89 45 c8             	mov    %eax,-0x38(%ebp)
5c379c:	0f 1f 40 00          	nopl   0x0(%eax)
5c37a0:	66 8b 01             	mov    (%ecx),%ax
5c37a3:	83 c1 02             	add    $0x2,%ecx
5c37a6:	66 85 c0             	test   %ax,%ax
5c37a9:	75 f5                	jne    0x5c37a0
5c37ab:	2b 4d c8             	sub    -0x38(%ebp),%ecx
5c37ae:	d1 f9                	sar    $1,%ecx
5c37b0:	51                   	push   %ecx
5c37b1:	52                   	push   %edx
5c37b2:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5c37b5:	e8 86 1b e8 ff       	call   0x445340
5c37ba:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
5c37bd:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5c37c1:	8b 41 04             	mov    0x4(%ecx),%eax
5c37c4:	3b 41 08             	cmp    0x8(%ecx),%eax
5c37c7:	74 22                	je     0x5c37eb
5c37c9:	0f 10 45 d8          	movups -0x28(%ebp),%xmm0
5c37cd:	ba 07 00 00 00       	mov    $0x7,%edx
5c37d2:	0f 11 00             	movups %xmm0,(%eax)
5c37d5:	f3 0f 7e 45 e8       	movq   -0x18(%ebp),%xmm0
5c37da:	66 0f d6 40 10       	movq   %xmm0,0x10(%eax)
5c37df:	33 c0                	xor    %eax,%eax
5c37e1:	83 41 04 18          	addl   $0x18,0x4(%ecx)
5c37e5:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
5c37e9:	eb 0d                	jmp    0x5c37f8
5c37eb:	8d 55 d8             	lea    -0x28(%ebp),%edx
5c37ee:	52                   	push   %edx
5c37ef:	50                   	push   %eax
5c37f0:	e8 9b 14 e9 ff       	call   0x454c90
5c37f5:	8b 55 ec             	mov    -0x14(%ebp),%edx
5c37f8:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
5c37fc:	83 fa 08             	cmp    $0x8,%edx
5c37ff:	72 2e                	jb     0x5c382f
5c3801:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5c3804:	8d 14 55 02 00 00 00 	lea    0x2(,%edx,2),%edx
5c380b:	8b c1                	mov    %ecx,%eax
5c380d:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5c3813:	72 10                	jb     0x5c3825
5c3815:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5c3818:	83 c2 23             	add    $0x23,%edx
5c381b:	2b c1                	sub    %ecx,%eax
5c381d:	83 c0 fc             	add    $0xfffffffc,%eax
5c3820:	83 f8 1f             	cmp    $0x1f,%eax
5c3823:	77 7d                	ja     0x5c38a2
5c3825:	52                   	push   %edx
5c3826:	51                   	push   %ecx
5c3827:	e8 46 d8 01 00       	call   0x5e1072
5c382c:	83 c4 08             	add    $0x8,%esp
5c382f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5c3832:	40                   	inc    %eax
5c3833:	03 c6                	add    %esi,%eax
5c3835:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5c3838:	8d 14 47             	lea    (%edi,%eax,2),%edx
5c383b:	8b f2                	mov    %edx,%esi
5c383d:	8d 4e 02             	lea    0x2(%esi),%ecx
5c3840:	66 8b 06             	mov    (%esi),%ax
5c3843:	83 c6 02             	add    $0x2,%esi
5c3846:	66 85 c0             	test   %ax,%ax
5c3849:	75 f5                	jne    0x5c3840
5c384b:	2b f1                	sub    %ecx,%esi
5c384d:	d1 fe                	sar    $1,%esi
5c384f:	0f 85 2b ff ff ff    	jne    0x5c3780
5c3855:	8b 75 d0             	mov    -0x30(%ebp),%esi
5c3858:	85 ff                	test   %edi,%edi
5c385a:	74 29                	je     0x5c3885
5c385c:	8b 4d c0             	mov    -0x40(%ebp),%ecx
5c385f:	8b c7                	mov    %edi,%eax
5c3861:	2b cf                	sub    %edi,%ecx
5c3863:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5c3869:	72 10                	jb     0x5c387b
5c386b:	8b 7f fc             	mov    -0x4(%edi),%edi
5c386e:	83 c1 23             	add    $0x23,%ecx
5c3871:	2b c7                	sub    %edi,%eax
5c3873:	83 c0 fc             	add    $0xfffffffc,%eax
5c3876:	83 f8 1f             	cmp    $0x1f,%eax
5c3879:	77 27                	ja     0x5c38a2
5c387b:	51                   	push   %ecx
5c387c:	57                   	push   %edi
5c387d:	e8 f0 d7 01 00       	call   0x5e1072
5c3882:	83 c4 08             	add    $0x8,%esp
5c3885:	8b c6                	mov    %esi,%eax
5c3887:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c388a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5c3891:	59                   	pop    %ecx
5c3892:	5f                   	pop    %edi
5c3893:	5e                   	pop    %esi
5c3894:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5c3897:	33 cd                	xor    %ebp,%ecx
5c3899:	e8 3c dc 01 00       	call   0x5e14da
5c389e:	8b e5                	mov    %ebp,%esp
5c38a0:	5d                   	pop    %ebp
5c38a1:	c3                   	ret
5c38a2:	e8 88 96 02 00       	call   0x5ecf2f
5c38a7:	cc                   	int3
5c38a8:	cc                   	int3
5c38a9:	cc                   	int3
5c38aa:	cc                   	int3
5c38ab:	cc                   	int3
5c38ac:	cc                   	int3
5c38ad:	cc                   	int3
5c38ae:	cc                   	int3
5c38af:	cc                   	int3
5c38b0:	55                   	push   %ebp
5c38b1:	8b ec                	mov    %esp,%ebp
5c38b3:	6a ff                	push   $0xffffffff
5c38b5:	68 b0 f6 65 00       	push   $0x65f6b0
5c38ba:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5c38c0:	50                   	push   %eax
5c38c1:	81 ec 98 02 00 00    	sub    $0x298,%esp
5c38c7:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5c38cc:	33 c5                	xor    %ebp,%eax
5c38ce:	89 45 f0             	mov    %eax,-0x10(%ebp)
5c38d1:	53                   	push   %ebx
5c38d2:	56                   	push   %esi
5c38d3:	57                   	push   %edi
5c38d4:	50                   	push   %eax
5c38d5:	8d 45 f4             	lea    -0xc(%ebp),%eax
5c38d8:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
5c38de:	8b 45 08             	mov    0x8(%ebp),%eax
5c38e1:	89 45 84             	mov    %eax,-0x7c(%ebp)
5c38e4:	8d 85 5c fd ff ff    	lea    -0x2a4(%ebp),%eax
5c38ea:	50                   	push   %eax
5c38eb:	e8 10 0e 00 00       	call   0x5c4700
5c38f0:	8b f0                	mov    %eax,%esi
5c38f2:	8d bd 70 fe ff ff    	lea    -0x190(%ebp),%edi
5c38f8:	b9 45 00 00 00       	mov    $0x45,%ecx
5c38fd:	83 c4 04             	add    $0x4,%esp
5c3900:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
5c3902:	8b 9d 74 fe ff ff    	mov    -0x18c(%ebp),%ebx
5c3908:	8b 85 78 fe ff ff    	mov    -0x188(%ebp),%eax
5c390e:	85 db                	test   %ebx,%ebx
5c3910:	0f 85 a5 01 00 00    	jne    0x5c3abb
5c3916:	85 c0                	test   %eax,%eax
5c3918:	0f 85 9d 01 00 00    	jne    0x5c3abb
5c391e:	89 45 88             	mov    %eax,-0x78(%ebp)
5c3921:	89 45 8c             	mov    %eax,-0x74(%ebp)
5c3924:	8d 45 88             	lea    -0x78(%ebp),%eax
5c3927:	50                   	push   %eax
5c3928:	68 7c e5 6c 00       	push   $0x6ce57c
5c392d:	68 f8 e4 6c 00       	push   $0x6ce4f8
5c3932:	68 02 00 00 80       	push   $0x80000002
5c3937:	e8 34 fa ff ff       	call   0x5c3370
5c393c:	8d 45 8c             	lea    -0x74(%ebp),%eax
5c393f:	50                   	push   %eax
5c3940:	68 b0 e5 6c 00       	push   $0x6ce5b0
5c3945:	68 f8 e4 6c 00       	push   $0x6ce4f8
5c394a:	68 02 00 00 80       	push   $0x80000002
5c394f:	e8 1c fa ff ff       	call   0x5c3370
5c3954:	8b 45 8c             	mov    -0x74(%ebp),%eax
5c3957:	83 c4 20             	add    $0x20,%esp
5c395a:	85 c0                	test   %eax,%eax
5c395c:	79 15                	jns    0x5c3973
5c395e:	f7 d8                	neg    %eax
5c3960:	50                   	push   %eax
5c3961:	8d 45 ed             	lea    -0x13(%ebp),%eax
5c3964:	50                   	push   %eax
5c3965:	e8 76 0d e8 ff       	call   0x4446e0
5c396a:	c6 40 ff 2d          	movb   $0x2d,-0x1(%eax)
5c396e:	8d 48 ff             	lea    -0x1(%eax),%ecx
5c3971:	eb 0c                	jmp    0x5c397f
5c3973:	50                   	push   %eax
5c3974:	8d 45 ed             	lea    -0x13(%ebp),%eax
5c3977:	50                   	push   %eax
5c3978:	e8 63 0d e8 ff       	call   0x4446e0
5c397d:	8b c8                	mov    %eax,%ecx
5c397f:	33 f6                	xor    %esi,%esi
5c3981:	c6 45 a8 00          	movb   $0x0,-0x58(%ebp)
5c3985:	8d 45 ed             	lea    -0x13(%ebp),%eax
5c3988:	89 75 b8             	mov    %esi,-0x48(%ebp)
5c398b:	83 c4 08             	add    $0x8,%esp
5c398e:	bf 0f 00 00 00       	mov    $0xf,%edi
5c3993:	89 7d bc             	mov    %edi,-0x44(%ebp)
5c3996:	3b c8                	cmp    %eax,%ecx
5c3998:	74 12                	je     0x5c39ac
5c399a:	2b c1                	sub    %ecx,%eax
5c399c:	50                   	push   %eax
5c399d:	51                   	push   %ecx
5c399e:	8d 4d a8             	lea    -0x58(%ebp),%ecx
5c39a1:	e8 9a 18 e8 ff       	call   0x445240
5c39a6:	8b 7d bc             	mov    -0x44(%ebp),%edi
5c39a9:	8b 75 b8             	mov    -0x48(%ebp),%esi
5c39ac:	8b 45 88             	mov    -0x78(%ebp),%eax
5c39af:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
5c39b6:	85 c0                	test   %eax,%eax
5c39b8:	79 15                	jns    0x5c39cf
5c39ba:	f7 d8                	neg    %eax
5c39bc:	50                   	push   %eax
5c39bd:	8d 45 d5             	lea    -0x2b(%ebp),%eax
5c39c0:	50                   	push   %eax
5c39c1:	e8 1a 0d e8 ff       	call   0x4446e0
5c39c6:	c6 40 ff 2d          	movb   $0x2d,-0x1(%eax)
5c39ca:	8d 48 ff             	lea    -0x1(%eax),%ecx
5c39cd:	eb 0c                	jmp    0x5c39db
5c39cf:	50                   	push   %eax
5c39d0:	8d 45 d5             	lea    -0x2b(%ebp),%eax
5c39d3:	50                   	push   %eax
5c39d4:	e8 07 0d e8 ff       	call   0x4446e0
5c39d9:	8b c8                	mov    %eax,%ecx
5c39db:	8d 45 d5             	lea    -0x2b(%ebp),%eax
5c39de:	c7 45 a0 00 00 00 00 	movl   $0x0,-0x60(%ebp)
5c39e5:	83 c4 08             	add    $0x8,%esp
5c39e8:	c7 45 a4 0f 00 00 00 	movl   $0xf,-0x5c(%ebp)
5c39ef:	c6 45 90 00          	movb   $0x0,-0x70(%ebp)
5c39f3:	3b c8                	cmp    %eax,%ecx
5c39f5:	74 0c                	je     0x5c3a03
5c39f7:	2b c1                	sub    %ecx,%eax
5c39f9:	50                   	push   %eax
5c39fa:	51                   	push   %ecx
5c39fb:	8d 4d 90             	lea    -0x70(%ebp),%ecx
5c39fe:	e8 3d 18 e8 ff       	call   0x445240
5c3a03:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
5c3a06:	8d 45 90             	lea    -0x70(%ebp),%eax
5c3a09:	50                   	push   %eax