49659b:	8b 56 fc             	mov    -0x4(%esi),%edx
49659e:	83 c1 23             	add    $0x23,%ecx
4965a1:	2b f2                	sub    %edx,%esi
4965a3:	8d 46 fc             	lea    -0x4(%esi),%eax
4965a6:	83 f8 1f             	cmp    $0x1f,%eax
4965a9:	0f 87 30 04 00 00    	ja     0x4969df
4965af:	8b f2                	mov    %edx,%esi
4965b1:	51                   	push   %ecx
4965b2:	56                   	push   %esi
4965b3:	e8 9d ac 13 00       	call   0x5d1255
4965b8:	83 c4 08             	add    $0x8,%esp
4965bb:	eb 1e                	jmp    0x4965db
4965bd:	8d 45 d8             	lea    -0x28(%ebp),%eax
4965c0:	50                   	push   %eax
4965c1:	57                   	push   %edi
4965c2:	e8 09 c8 13 00       	call   0x5d2dd0
4965c7:	56                   	push   %esi
4965c8:	6a 20                	push   $0x20
4965ca:	ff 75 84             	push   -0x7c(%ebp)
4965cd:	e8 9e c6 13 00       	call   0x5d2c70
4965d2:	8b 45 80             	mov    -0x80(%ebp),%eax
4965d5:	83 c4 18             	add    $0x18,%esp
4965d8:	c6 00 00             	movb   $0x0,(%eax)
4965db:	89 7d d8             	mov    %edi,-0x28(%ebp)
4965de:	6a 01                	push   $0x1
4965e0:	68 bc 81 60 00       	push   $0x6081bc
4965e5:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4965e8:	e8 93 28 fc ff       	call   0x458e80
4965ed:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
4965f3:	ff 70 04             	push   0x4(%eax)
4965f6:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
4965fc:	50                   	push   %eax
4965fd:	8b c8                	mov    %eax,%ecx
4965ff:	e8 7c 33 fe ff       	call   0x479980
496604:	6a 18                	push   $0x18
496606:	ff b5 44 ff ff ff    	push   -0xbc(%ebp)
49660c:	e8 44 ac 13 00       	call   0x5d1255
496611:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
496617:	83 c4 08             	add    $0x8,%esp
49661a:	ff 70 04             	push   0x4(%eax)
49661d:	8d 85 3c ff ff ff    	lea    -0xc4(%ebp),%eax
496623:	50                   	push   %eax
496624:	8b c8                	mov    %eax,%ecx
496626:	e8 55 33 fe ff       	call   0x479980
49662b:	6a 18                	push   $0x18
49662d:	ff b5 3c ff ff ff    	push   -0xc4(%ebp)
496633:	e8 1d ac 13 00       	call   0x5d1255
496638:	8b 8d 38 ff ff ff    	mov    -0xc8(%ebp),%ecx
49663e:	83 c4 08             	add    $0x8,%esp
496641:	85 c9                	test   %ecx,%ecx
496643:	74 06                	je     0x49664b
496645:	8b 01                	mov    (%ecx),%eax
496647:	6a 01                	push   $0x1
496649:	ff 10                	call   *(%eax)
49664b:	8b 55 d4             	mov    -0x2c(%ebp),%edx
49664e:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
496652:	83 fa 10             	cmp    $0x10,%edx
496655:	72 2c                	jb     0x496683
496657:	8b 4d c0             	mov    -0x40(%ebp),%ecx
49665a:	42                   	inc    %edx
49665b:	8b c1                	mov    %ecx,%eax
49665d:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
496663:	72 14                	jb     0x496679
496665:	8b 49 fc             	mov    -0x4(%ecx),%ecx
496668:	83 c2 23             	add    $0x23,%edx
49666b:	2b c1                	sub    %ecx,%eax
49666d:	83 c0 fc             	add    $0xfffffffc,%eax
496670:	83 f8 1f             	cmp    $0x1f,%eax
496673:	0f 87 66 03 00 00    	ja     0x4969df
496679:	52                   	push   %edx
49667a:	51                   	push   %ecx
49667b:	e8 d5 ab 13 00       	call   0x5d1255
496680:	83 c4 08             	add    $0x8,%esp
496683:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
496689:	8b b5 68 ff ff ff    	mov    -0x98(%ebp),%esi
49668f:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
496696:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
49669d:	c7 45 bc 0f 00 00 00 	movl   $0xf,-0x44(%ebp)
4966a4:	c6 45 a8 00          	movb   $0x0,-0x58(%ebp)
4966a8:	80 7e 27 00          	cmpb   $0x0,0x27(%esi)
4966ac:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
4966b0:	0f 84 d2 00 00 00    	je     0x496788
4966b6:	8b 4e 04             	mov    0x4(%esi),%ecx
4966b9:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4966be:	8b 51 10             	mov    0x10(%ecx),%edx
4966c1:	2b c2                	sub    %edx,%eax
4966c3:	83 f8 02             	cmp    $0x2,%eax
4966c6:	0f 82 0e 03 00 00    	jb     0x4969da
4966cc:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
4966d0:	8b c1                	mov    %ecx,%eax
4966d2:	72 02                	jb     0x4966d6
4966d4:	8b 01                	mov    (%ecx),%eax
4966d6:	52                   	push   %edx
4966d7:	50                   	push   %eax
4966d8:	6a 02                	push   $0x2
4966da:	68 c0 81 60 00       	push   $0x6081c0
4966df:	51                   	push   %ecx
4966e0:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
4966e6:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4966e9:	e8 92 54 fe ff       	call   0x47bb80
4966ee:	83 4d 88 01          	orl    $0x1,-0x78(%ebp)
4966f2:	6a 01                	push   $0x1
4966f4:	68 c4 76 60 00       	push   $0x6076c4
4966f9:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4966fc:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
496700:	e8 7b 27 fc ff       	call   0x458e80
496705:	83 4d 88 02          	orl    $0x2,-0x78(%ebp)
496709:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
49670d:	0f 10 00             	movups (%eax),%xmm0
496710:	f3 0f 7e 48 10       	movq   0x10(%eax),%xmm1
496715:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
49671c:	c7 40 14 0f 00 00 00 	movl   $0xf,0x14(%eax)
496723:	c6 00 00             	movb   $0x0,(%eax)
496726:	8b 55 d4             	mov    -0x2c(%ebp),%edx
496729:	66 0f d6 4d b8       	movq   %xmm1,-0x48(%ebp)
49672e:	0f 11 45 a8          	movups %xmm0,-0x58(%ebp)
496732:	83 fa 10             	cmp    $0x10,%edx
496735:	72 70                	jb     0x4967a7
496737:	8b 4d c0             	mov    -0x40(%ebp),%ecx
49673a:	42                   	inc    %edx
49673b:	8b c1                	mov    %ecx,%eax
49673d:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
496743:	72 14                	jb     0x496759
496745:	8b 49 fc             	mov    -0x4(%ecx),%ecx
496748:	83 c2 23             	add    $0x23,%edx
49674b:	2b c1                	sub    %ecx,%eax
49674d:	83 c0 fc             	add    $0xfffffffc,%eax
496750:	83 f8 1f             	cmp    $0x1f,%eax
496753:	0f 87 86 02 00 00    	ja     0x4969df
496759:	52                   	push   %edx
49675a:	51                   	push   %ecx
49675b:	e8 f5 aa 13 00       	call   0x5d1255
496760:	83 c4 08             	add    $0x8,%esp
496763:	eb 42                	jmp    0x4967a7
496765:	8d 45 d8             	lea    -0x28(%ebp),%eax
496768:	50                   	push   %eax
496769:	83 c8 ff             	or     $0xffffffff,%eax
49676c:	80 7d 8f 00          	cmpb   $0x0,-0x71(%ebp)
496770:	0f 45 c7             	cmovne %edi,%eax
496773:	50                   	push   %eax
496774:	56                   	push   %esi
496775:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
49677b:	e8 80 f9 01 00       	call   0x4b6100
496780:	83 c4 10             	add    $0x10,%esp
496783:	e9 07 ff ff ff       	jmp    0x49668f
496788:	8b 06                	mov    (%esi),%eax
49678a:	8d 4d a8             	lea    -0x58(%ebp),%ecx
49678d:	3b c8                	cmp    %eax,%ecx
49678f:	74 16                	je     0x4967a7
496791:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
496795:	8b c8                	mov    %eax,%ecx
496797:	72 02                	jb     0x49679b
496799:	8b 08                	mov    (%eax),%ecx
49679b:	ff 70 10             	push   0x10(%eax)
49679e:	51                   	push   %ecx
49679f:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4967a2:	e8 79 0e fb ff       	call   0x447620
4967a7:	8b 4d b8             	mov    -0x48(%ebp),%ecx
4967aa:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4967af:	2b c1                	sub    %ecx,%eax
4967b1:	83 f8 03             	cmp    $0x3,%eax
4967b4:	0f 82 20 02 00 00    	jb     0x4969da
4967ba:	83 7d bc 10          	cmpl   $0x10,-0x44(%ebp)
4967be:	8d 45 a8             	lea    -0x58(%ebp),%eax
4967c1:	6a 03                	push   $0x3
4967c3:	0f 43 45 a8          	cmovae -0x58(%ebp),%eax
4967c7:	68 c4 81 60 00       	push   $0x6081c4
4967cc:	51                   	push   %ecx
4967cd:	50                   	push   %eax
4967ce:	8d 45 a8             	lea    -0x58(%ebp),%eax
4967d1:	50                   	push   %eax
4967d2:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
4967d8:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4967db:	e8 a0 53 fe ff       	call   0x47bb80
4967e0:	83 4d 88 04          	orl    $0x4,-0x78(%ebp)
4967e4:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
4967e8:	8d 45 d8             	lea    -0x28(%ebp),%eax
4967eb:	ff 75 e8             	push   -0x18(%ebp)
4967ee:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
4967f2:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4967f5:	50                   	push   %eax
4967f6:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
4967fa:	e8 81 26 fc ff       	call   0x458e80
4967ff:	83 4d 88 08          	orl    $0x8,-0x78(%ebp)
496803:	0f 10 00             	movups (%eax),%xmm0
496806:	f3 0f 7e 48 10       	movq   0x10(%eax),%xmm1
49680b:	0f 11 45 90          	movups %xmm0,-0x70(%ebp)
49680f:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
496816:	66 0f d6 4d a0       	movq   %xmm1,-0x60(%ebp)
49681b:	c7 40 14 0f 00 00 00 	movl   $0xf,0x14(%eax)
496822:	c6 00 00             	movb   $0x0,(%eax)
496825:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
49682b:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
49682f:	8b 41 04             	mov    0x4(%ecx),%eax
496832:	3b 41 08             	cmp    0x8(%ecx),%eax
496835:	74 17                	je     0x49684e
496837:	0f 11 00             	movups %xmm0,(%eax)
49683a:	ba 0f 00 00 00       	mov    $0xf,%edx
49683f:	c6 45 90 00          	movb   $0x0,-0x70(%ebp)
496843:	66 0f d6 48 10       	movq   %xmm1,0x10(%eax)
496848:	83 41 04 18          	addl   $0x18,0x4(%ecx)
49684c:	eb 0d                	jmp    0x49685b
49684e:	8d 55 90             	lea    -0x70(%ebp),%edx
496851:	52                   	push   %edx
496852:	50                   	push   %eax
496853:	e8 a8 2b fd ff       	call   0x469400
496858:	8b 55 a4             	mov    -0x5c(%ebp),%edx
49685b:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
49685f:	83 fa 10             	cmp    $0x10,%edx
496862:	72 2c                	jb     0x496890
496864:	8b 4d 90             	mov    -0x70(%ebp),%ecx
496867:	42                   	inc    %edx
496868:	8b c1                	mov    %ecx,%eax
49686a:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
496870:	72 14                	jb     0x496886
496872:	8b 49 fc             	mov    -0x4(%ecx),%ecx
496875:	83 c2 23             	add    $0x23,%edx
496878:	2b c1                	sub    %ecx,%eax
49687a:	83 c0 fc             	add    $0xfffffffc,%eax
49687d:	83 f8 1f             	cmp    $0x1f,%eax
496880:	0f 87 59 01 00 00    	ja     0x4969df
496886:	52                   	push   %edx
496887:	51                   	push   %ecx
496888:	e8 c8 a9 13 00       	call   0x5d1255
49688d:	83 c4 08             	add    $0x8,%esp
496890:	8b 55 d4             	mov    -0x2c(%ebp),%edx
496893:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
496897:	83 fa 10             	cmp    $0x10,%edx
49689a:	72 2c                	jb     0x4968c8
49689c:	8b 4d c0             	mov    -0x40(%ebp),%ecx
49689f:	42                   	inc    %edx
4968a0:	8b c1                	mov    %ecx,%eax
4968a2:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
4968a8:	72 14                	jb     0x4968be
4968aa:	8b 49 fc             	mov    -0x4(%ecx),%ecx
4968ad:	83 c2 23             	add    $0x23,%edx
4968b0:	2b c1                	sub    %ecx,%eax
4968b2:	83 c0 fc             	add    $0xfffffffc,%eax
4968b5:	83 f8 1f             	cmp    $0x1f,%eax
4968b8:	0f 87 21 01 00 00    	ja     0x4969df
4968be:	52                   	push   %edx
4968bf:	51                   	push   %ecx
4968c0:	e8 90 a9 13 00       	call   0x5d1255
4968c5:	83 c4 08             	add    $0x8,%esp
4968c8:	8b 55 bc             	mov    -0x44(%ebp),%edx
4968cb:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4968cf:	83 fa 10             	cmp    $0x10,%edx
4968d2:	72 2c                	jb     0x496900
4968d4:	8b 4d a8             	mov    -0x58(%ebp),%ecx
4968d7:	42                   	inc    %edx
4968d8:	8b c1                	mov    %ecx,%eax
4968da:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
4968e0:	72 14                	jb     0x4968f6
4968e2:	8b 49 fc             	mov    -0x4(%ecx),%ecx
4968e5:	83 c2 23             	add    $0x23,%edx
4968e8:	2b c1                	sub    %ecx,%eax
4968ea:	83 c0 fc             	add    $0xfffffffc,%eax
4968ed:	83 f8 1f             	cmp    $0x1f,%eax
4968f0:	0f 87 e9 00 00 00    	ja     0x4969df
4968f6:	52                   	push   %edx
4968f7:	51                   	push   %ecx
4968f8:	e8 58 a9 13 00       	call   0x5d1255
4968fd:	83 c4 08             	add    $0x8,%esp
496900:	8b 55 ec             	mov    -0x14(%ebp),%edx
496903:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
496907:	83 fa 10             	cmp    $0x10,%edx
49690a:	72 2c                	jb     0x496938
49690c:	8b 4d d8             	mov    -0x28(%ebp),%ecx
49690f:	42                   	inc    %edx
496910:	8b c1                	mov    %ecx,%eax
496912:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
496918:	72 14                	jb     0x49692e
49691a:	8b 49 fc             	mov    -0x4(%ecx),%ecx
49691d:	83 c2 23             	add    $0x23,%edx
496920:	2b c1                	sub    %ecx,%eax
496922:	83 c0 fc             	add    $0xfffffffc,%eax
496925:	83 f8 1f             	cmp    $0x1f,%eax
496928:	0f 87 b1 00 00 00    	ja     0x4969df
49692e:	52                   	push   %edx
49692f:	51                   	push   %ecx
496930:	e8 20 a9 13 00       	call   0x5d1255
496935:	83 c4 08             	add    $0x8,%esp
496938:	47                   	inc    %edi
496939:	89 bd 78 ff ff ff    	mov    %edi,-0x88(%ebp)
49693f:	3b bd 64 ff ff ff    	cmp    -0x9c(%ebp),%edi
496945:	0f 8c 65 fa ff ff    	jl     0x4963b0
49694b:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
496951:	83 c2 04             	add    $0x4,%edx
496954:	89 95 74 ff ff ff    	mov    %edx,-0x8c(%ebp)
49695a:	3b 95 6c ff ff ff    	cmp    -0x94(%ebp),%edx
496960:	74 0b                	je     0x49696d
496962:	8b bd 70 ff ff ff    	mov    -0x90(%ebp),%edi
496968:	e9 f3 f9 ff ff       	jmp    0x496360
49696d:	8b 95 54 ff ff ff    	mov    -0xac(%ebp),%edx
496973:	8b b5 60 ff ff ff    	mov    -0xa0(%ebp),%esi
496979:	8b 06                	mov    (%esi),%eax
49697b:	3b 46 04             	cmp    0x4(%esi),%eax
49697e:	0f 95 c0             	setne  %al
496981:	88 45 8f             	mov    %al,-0x71(%ebp)
496984:	85 d2                	test   %edx,%edx
496986:	74 32                	je     0x4969ba
496988:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
49698e:	8b c2                	mov    %edx,%eax
496990:	2b ca                	sub    %edx,%ecx
496992:	83 e1 fc             	and    $0xfffffffc,%ecx
496995:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
49699b:	72 10                	jb     0x4969ad
49699d:	8b 52 fc             	mov    -0x4(%edx),%edx
4969a0:	83 c1 23             	add    $0x23,%ecx
4969a3:	2b c2                	sub    %edx,%eax
4969a5:	83 c0 fc             	add    $0xfffffffc,%eax
4969a8:	83 f8 1f             	cmp    $0x1f,%eax
4969ab:	77 32                	ja     0x4969df
4969ad:	51                   	push   %ecx
4969ae:	52                   	push   %edx
4969af:	e8 a1 a8 13 00       	call   0x5d1255
4969b4:	8a 45 8f             	mov    -0x71(%ebp),%al
4969b7:	83 c4 08             	add    $0x8,%esp
4969ba:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4969bd:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4969c4:	59                   	pop    %ecx
4969c5:	5f                   	pop    %edi
4969c6:	5e                   	pop    %esi
4969c7:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4969ca:	33 cd                	xor    %ebp,%ecx
4969cc:	e8 55 b0 13 00       	call   0x5d1a26
4969d1:	8b e5                	mov    %ebp,%esp
4969d3:	5d                   	pop    %ebp
4969d4:	c3                   	ret
4969d5:	e8 16 0c fb ff       	call   0x4475f0
4969da:	e8 31 0c fb ff       	call   0x447610
4969df:	e8 0c f8 13 00       	call   0x5d61f0
4969e4:	cc                   	int3
4969e5:	cc                   	int3
4969e6:	cc                   	int3
4969e7:	cc                   	int3
4969e8:	cc                   	int3
4969e9:	cc                   	int3
4969ea:	cc                   	int3
4969eb:	cc                   	int3
4969ec:	cc                   	int3
4969ed:	cc                   	int3
4969ee:	cc                   	int3
4969ef:	cc                   	int3
4969f0:	55                   	push   %ebp
4969f1:	8b ec                	mov    %esp,%ebp
4969f3:	6a ff                	push   $0xffffffff
4969f5:	68 10 c7 5f 00       	push   $0x5fc710
4969fa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
496a00:	50                   	push   %eax