528684:	6a 00                	push   $0x0
528686:	ff 75 dc             	push   -0x24(%ebp)
528689:	e8 52 15 02 00       	call   0x549be0
52868e:	8b 4f 6c             	mov    0x6c(%edi),%ecx
528691:	83 c4 10             	add    $0x10,%esp
528694:	8b 53 2c             	mov    0x2c(%ebx),%edx
528697:	39 4f 70             	cmp    %ecx,0x70(%edi)
52869a:	7f 14                	jg     0x5286b0
52869c:	ff 75 b0             	push   -0x50(%ebp)
52869f:	52                   	push   %edx
5286a0:	ff 75 c4             	push   -0x3c(%ebp)
5286a3:	6a 60                	push   $0x60
5286a5:	57                   	push   %edi
5286a6:	e8 55 de fd ff       	call   0x506500
5286ab:	83 c4 14             	add    $0x14,%esp
5286ae:	eb 2d                	jmp    0x5286dd
5286b0:	8d 41 01             	lea    0x1(%ecx),%eax
5286b3:	89 47 6c             	mov    %eax,0x6c(%edi)
5286b6:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5286b9:	8b 47 68             	mov    0x68(%edi),%eax
5286bc:	8b 7d c4             	mov    -0x3c(%ebp),%edi
5286bf:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
5286c3:	8b 55 b0             	mov    -0x50(%ebp),%edx
5286c6:	c7 04 88 60 00 00 00 	movl   $0x60,(%eax,%ecx,4)
5286cd:	89 7c 88 04          	mov    %edi,0x4(%eax,%ecx,4)
5286d1:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
5286d5:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5286dc:	00
5286dd:	8b 45 dc             	mov    -0x24(%ebp),%eax
5286e0:	53                   	push   %ebx
5286e1:	50                   	push   %eax
5286e2:	8b 78 08             	mov    0x8(%eax),%edi
5286e5:	e8 16 76 00 00       	call   0x52fd00
5286ea:	8b d0                	mov    %eax,%edx
5286ec:	83 c4 08             	add    $0x8,%esp
5286ef:	85 d2                	test   %edx,%edx
5286f1:	74 28                	je     0x52871b
5286f3:	8b 07                	mov    (%edi),%eax
5286f5:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
5286f9:	74 0e                	je     0x528709
5286fb:	52                   	push   %edx
5286fc:	6a f7                	push   $0xfffffff7
5286fe:	50                   	push   %eax
5286ff:	e8 ac b5 fd ff       	call   0x503cb0
528704:	83 c4 0c             	add    $0xc,%esp
528707:	eb 12                	jmp    0x52871b
528709:	8b 47 6c             	mov    0x6c(%edi),%eax
52870c:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
52870f:	8b 47 68             	mov    0x68(%edi),%eax
528712:	c6 44 88 ed f7       	movb   $0xf7,-0x13(%eax,%ecx,4)
528717:	89 54 88 fc          	mov    %edx,-0x4(%eax,%ecx,4)
52871b:	8b 43 1c             	mov    0x1c(%ebx),%eax
52871e:	8b 55 ac             	mov    -0x54(%ebp),%edx
528721:	0f b6 38             	movzbl (%eax),%edi
528724:	83 c7 03             	add    $0x3,%edi
528727:	89 7d cc             	mov    %edi,-0x34(%ebp)
52872a:	85 d2                	test   %edx,%edx
52872c:	74 22                	je     0x528750
52872e:	8b 4d dc             	mov    -0x24(%ebp),%ecx
528731:	8b 41 2c             	mov    0x2c(%ecx),%eax
528734:	40                   	inc    %eax
528735:	83 7d d8 01          	cmpl   $0x1,-0x28(%ebp)
528739:	89 41 2c             	mov    %eax,0x2c(%ecx)
52873c:	89 02                	mov    %eax,(%edx)
52873e:	75 10                	jne    0x528750
528740:	50                   	push   %eax
528741:	ff 75 c4             	push   -0x3c(%ebp)
528744:	8b 45 d0             	mov    -0x30(%ebp),%eax
528747:	50                   	push   %eax
528748:	e8 53 41 01 00       	call   0x53c8a0
52874d:	83 c4 0c             	add    $0xc,%esp
528750:	8b 45 d0             	mov    -0x30(%ebp),%eax
528753:	8b 50 6c             	mov    0x6c(%eax),%edx
528756:	85 f6                	test   %esi,%esi
528758:	79 03                	jns    0x52875d
52875a:	8d 72 ff             	lea    -0x1(%edx),%esi
52875d:	8b 00                	mov    (%eax),%eax
52875f:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
528763:	74 07                	je     0x52876c
528765:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
52876a:	eb 0c                	jmp    0x528778
52876c:	8b 45 d0             	mov    -0x30(%ebp),%eax
52876f:	8d 0c b6             	lea    (%esi,%esi,4),%ecx
528772:	8b 40 68             	mov    0x68(%eax),%eax
528775:	8d 04 88             	lea    (%eax,%ecx,4),%eax
528778:	89 50 08             	mov    %edx,0x8(%eax)
52877b:	8b 55 d8             	mov    -0x28(%ebp),%edx
52877e:	8b 5b 14             	mov    0x14(%ebx),%ebx
528781:	89 5d bc             	mov    %ebx,-0x44(%ebp)
528784:	85 db                	test   %ebx,%ebx
528786:	0f 85 a8 fc ff ff    	jne    0x528434
52878c:	85 ff                	test   %edi,%edi
52878e:	0f 85 bc 00 00 00    	jne    0x528850
528794:	8b 5d dc             	mov    -0x24(%ebp),%ebx
528797:	ba 01 00 00 00       	mov    $0x1,%edx
52879c:	f6 45 10 01          	testb  $0x1,0x10(%ebp)
5287a0:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5287a3:	74 55                	je     0x5287fa
5287a5:	f7 41 04 00 08 00 00 	testl  $0x800,0x4(%ecx)
5287ac:	75 4c                	jne    0x5287fa
5287ae:	8b 71 0c             	mov    0xc(%ecx),%esi
5287b1:	8d 45 e0             	lea    -0x20(%ebp),%eax
5287b4:	51                   	push   %ecx
5287b5:	50                   	push   %eax
5287b6:	c7 41 0c 00 00 00 00 	movl   $0x0,0xc(%ecx)
5287bd:	66 89 55 f4          	mov    %dx,-0xc(%ebp)
5287c1:	c7 45 e4 c0 12 50 00 	movl   $0x5012c0,-0x1c(%ebp)
5287c8:	c7 45 e8 f0 c7 53 00 	movl   $0x53c7f0,-0x18(%ebp)
5287cf:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
5287d6:	e8 d5 77 03 00       	call   0x55ffb0
5287db:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5287de:	83 c4 08             	add    $0x8,%esp
5287e1:	66 83 7d f4 00       	cmpw   $0x0,-0xc(%ebp)
5287e6:	89 71 0c             	mov    %esi,0xc(%ecx)
5287e9:	74 08                	je     0x5287f3
5287eb:	8b 41 14             	mov    0x14(%ecx),%eax
5287ee:	83 38 02             	cmpl   $0x2,(%eax)
5287f1:	7f 07                	jg     0x5287fa
5287f3:	bf 05 00 00 00       	mov    $0x5,%edi
5287f8:	eb 59                	jmp    0x528853
5287fa:	8b bb 84 00 00 00    	mov    0x84(%ebx),%edi
528800:	33 f6                	xor    %esi,%esi
528802:	f6 45 10 04          	testb  $0x4,0x10(%ebp)
528806:	b8 02 00 00 00       	mov    $0x2,%eax
52880b:	89 45 cc             	mov    %eax,-0x34(%ebp)
52880e:	74 08                	je     0x528818
528810:	89 b3 84 00 00 00    	mov    %esi,0x84(%ebx)
528816:	eb 0f                	jmp    0x528827
528818:	8b 45 ac             	mov    -0x54(%ebp),%eax
52881b:	85 c0                	test   %eax,%eax
52881d:	74 08                	je     0x528827
52881f:	ff 43 2c             	incl   0x2c(%ebx)
528822:	8b 73 2c             	mov    0x2c(%ebx),%esi
528825:	89 30                	mov    %esi,(%eax)
528827:	ff 75 c4             	push   -0x3c(%ebp)
52882a:	51                   	push   %ecx
52882b:	53                   	push   %ebx
52882c:	e8 df 5f ff ff       	call   0x51e810
528831:	83 c4 0c             	add    $0xc,%esp
528834:	85 f6                	test   %esi,%esi
528836:	74 0f                	je     0x528847
528838:	56                   	push   %esi
528839:	ff 75 c4             	push   -0x3c(%ebp)
52883c:	ff 75 d0             	push   -0x30(%ebp)
52883f:	e8 5c 40 01 00       	call   0x53c8a0
528844:	83 c4 0c             	add    $0xc,%esp
528847:	89 bb 84 00 00 00    	mov    %edi,0x84(%ebx)
52884d:	8b 7d cc             	mov    -0x34(%ebp),%edi
528850:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
528853:	8b 5d a0             	mov    -0x60(%ebp),%ebx
528856:	85 db                	test   %ebx,%ebx
528858:	0f 84 9b 00 00 00    	je     0x5288f9
52885e:	83 ff 03             	cmp    $0x3,%edi
528861:	0f 84 92 00 00 00    	je     0x5288f9
528867:	83 ff 04             	cmp    $0x4,%edi
52886a:	0f 84 89 00 00 00    	je     0x5288f9
528870:	8b 49 0c             	mov    0xc(%ecx),%ecx
528873:	8a 01                	mov    (%ecx),%al
528875:	3c ad                	cmp    $0xad,%al
528877:	75 03                	jne    0x52887c
528879:	8a 41 02             	mov    0x2(%ecx),%al
52887c:	3c ae                	cmp    $0xae,%al
52887e:	75 07                	jne    0x528887
528880:	8b 41 14             	mov    0x14(%ecx),%eax
528883:	8b 10                	mov    (%eax),%edx
528885:	eb 13                	jmp    0x52889a
528887:	3c 88                	cmp    $0x88,%al
528889:	75 0a                	jne    0x528895
52888b:	8b 41 14             	mov    0x14(%ecx),%eax
52888e:	8b 40 1c             	mov    0x1c(%eax),%eax
528891:	8b 10                	mov    (%eax),%edx
528893:	eb 05                	jmp    0x52889a
528895:	ba 01 00 00 00       	mov    $0x1,%edx
52889a:	33 c9                	xor    %ecx,%ecx
52889c:	85 d2                	test   %edx,%edx
52889e:	7e 59                	jle    0x5288f9
5288a0:	83 fa 08             	cmp    $0x8,%edx
5288a3:	72 48                	jb     0x5288ed
5288a5:	0f 28 0d 70 c6 6b 00 	movaps 0x6bc670,%xmm1
5288ac:	8b c2                	mov    %edx,%eax
5288ae:	25 07 00 00 80       	and    $0x80000007,%eax
5288b3:	79 05                	jns    0x5288ba
5288b5:	48                   	dec    %eax
5288b6:	83 c8 f8             	or     $0xfffffff8,%eax
5288b9:	40                   	inc    %eax
5288ba:	8b f2                	mov    %edx,%esi
5288bc:	2b f0                	sub    %eax,%esi
5288be:	66 90                	xchg   %ax,%ax
5288c0:	66 0f 6e c1          	movd   %ecx,%xmm0
5288c4:	8d 41 04             	lea    0x4(%ecx),%eax
5288c7:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
5288cc:	66 0f fe c1          	paddd  %xmm1,%xmm0
5288d0:	0f 11 04 8b          	movups %xmm0,(%ebx,%ecx,4)
5288d4:	66 0f 6e c0          	movd   %eax,%xmm0
5288d8:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
5288dd:	66 0f fe c1          	paddd  %xmm1,%xmm0
5288e1:	0f 11 44 8b 10       	movups %xmm0,0x10(%ebx,%ecx,4)
5288e6:	83 c1 08             	add    $0x8,%ecx
5288e9:	3b ce                	cmp    %esi,%ecx
5288eb:	7c d3                	jl     0x5288c0
5288ed:	3b ca                	cmp    %edx,%ecx
5288ef:	7d 08                	jge    0x5288f9
5288f1:	89 0c 8b             	mov    %ecx,(%ebx,%ecx,4)
5288f4:	41                   	inc    %ecx
5288f5:	3b ca                	cmp    %edx,%ecx
5288f7:	7c f8                	jl     0x5288f1
5288f9:	8b 4d 90             	mov    -0x70(%ebp),%ecx
5288fc:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5288ff:	89 01                	mov    %eax,(%ecx)
528901:	8b c7                	mov    %edi,%eax
528903:	8b 4d fc             	mov    -0x4(%ebp),%ecx
528906:	5f                   	pop    %edi
528907:	5e                   	pop    %esi
528908:	33 cd                	xor    %ebp,%ecx
52890a:	5b                   	pop    %ebx
52890b:	e8 ca 8b 0b 00       	call   0x5e14da
528910:	8b e5                	mov    %ebp,%esp
528912:	5d                   	pop    %ebp
528913:	c3                   	ret
528914:	cc                   	int3
528915:	cc                   	int3
528916:	cc                   	int3
528917:	cc                   	int3
528918:	cc                   	int3
528919:	cc                   	int3
52891a:	cc                   	int3
52891b:	cc                   	int3
52891c:	cc                   	int3
52891d:	cc                   	int3
52891e:	cc                   	int3
52891f:	cc                   	int3
528920:	55                   	push   %ebp
528921:	8b ec                	mov    %esp,%ebp
528923:	83 ec 08             	sub    $0x8,%esp
528926:	53                   	push   %ebx
528927:	56                   	push   %esi
528928:	8b 75 08             	mov    0x8(%ebp),%esi
52892b:	33 db                	xor    %ebx,%ebx
52892d:	57                   	push   %edi
52892e:	33 ff                	xor    %edi,%edi
528930:	39 5e 14             	cmp    %ebx,0x14(%esi)
528933:	7e 61                	jle    0x528996
528935:	8b 55 10             	mov    0x10(%ebp),%edx
528938:	8b 76 10             	mov    0x10(%esi),%esi
52893b:	8b c7                	mov    %edi,%eax
52893d:	83 f0 01             	xor    $0x1,%eax
528940:	8b cf                	mov    %edi,%ecx
528942:	83 ff 02             	cmp    $0x2,%edi
528945:	0f 4c c8             	cmovl  %eax,%ecx
528948:	03 c9                	add    %ecx,%ecx
52894a:	8b 44 ce 0c          	mov    0xc(%esi,%ecx,8),%eax
52894e:	89 45 fc             	mov    %eax,-0x4(%ebp)
528951:	85 d2                	test   %edx,%edx
528953:	74 1d                	je     0x528972
528955:	8b 34 ce             	mov    (%esi,%ecx,8),%esi
528958:	8b c2                	mov    %edx,%eax
52895a:	2b f2                	sub    %edx,%esi
52895c:	0f 1f 40 00          	nopl   0x0(%eax)
528960:	0f b6 10             	movzbl (%eax),%edx
528963:	0f b6 0c 06          	movzbl (%esi,%eax,1),%ecx
528967:	3b d1                	cmp    %ecx,%edx
528969:	75 34                	jne    0x52899f
52896b:	85 d2                	test   %edx,%edx
52896d:	75 42                	jne    0x5289b1
52896f:	8b 45 fc             	mov    -0x4(%ebp),%eax
528972:	6a 00                	push   $0x0
528974:	ff 75 0c             	push   0xc(%ebp)
528977:	83 c0 18             	add    $0x18,%eax
52897a:	50                   	push   %eax
52897b:	e8 50 96 fd ff       	call   0x501fd0
528980:	83 c4 0c             	add    $0xc,%esp
528983:	8b 58 08             	mov    0x8(%eax),%ebx
528986:	85 db                	test   %ebx,%ebx
528988:	75 0c                	jne    0x528996
52898a:	8b 75 08             	mov    0x8(%ebp),%esi
52898d:	47                   	inc    %edi
52898e:	8b 55 10             	mov    0x10(%ebp),%edx
528991:	3b 7e 14             	cmp    0x14(%esi),%edi
528994:	7c a2                	jl     0x528938
528996:	5f                   	pop    %edi
528997:	5e                   	pop    %esi
528998:	8b c3                	mov    %ebx,%eax
52899a:	5b                   	pop    %ebx
52899b:	8b e5                	mov    %ebp,%esp
52899d:	5d                   	pop    %ebp
52899e:	c3                   	ret
52899f:	0f b6 89 20 2a 6b 00 	movzbl 0x6b2a20(%ecx),%ecx
5289a6:	0f b6 92 20 2a 6b 00 	movzbl 0x6b2a20(%edx),%edx
5289ad:	2b d1                	sub    %ecx,%edx
5289af:	75 d9                	jne    0x52898a
5289b1:	40                   	inc    %eax
5289b2:	eb ac                	jmp    0x528960
5289b4:	cc                   	int3
5289b5:	cc                   	int3
5289b6:	cc                   	int3
5289b7:	cc                   	int3
5289b8:	cc                   	int3
5289b9:	cc                   	int3
5289ba:	cc                   	int3
5289bb:	cc                   	int3
5289bc:	cc                   	int3
5289bd:	cc                   	int3
5289be:	cc                   	int3
5289bf:	cc                   	int3
5289c0:	55                   	push   %ebp
5289c1:	8b ec                	mov    %esp,%ebp
5289c3:	8b 55 10             	mov    0x10(%ebp),%edx
5289c6:	83 ec 08             	sub    $0x8,%esp
5289c9:	53                   	push   %ebx
5289ca:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5289cd:	56                   	push   %esi
5289ce:	57                   	push   %edi
5289cf:	8b 7d 08             	mov    0x8(%ebp),%edi
5289d2:	33 f6                	xor    %esi,%esi
5289d4:	39 77 14             	cmp    %esi,0x14(%edi)
5289d7:	0f 8e 81 00 00 00    	jle    0x528a5e
5289dd:	0f 1f 00             	nopl   (%eax)
5289e0:	8b c6                	mov    %esi,%eax
5289e2:	8b ce                	mov    %esi,%ecx
5289e4:	83 f0 01             	xor    $0x1,%eax
5289e7:	83 fe 02             	cmp    $0x2,%esi
5289ea:	0f 4c c8             	cmovl  %eax,%ecx
5289ed:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5289f0:	85 d2                	test   %edx,%edx
5289f2:	74 24                	je     0x528a18
5289f4:	8b c2                	mov    %edx,%eax
5289f6:	8b d1                	mov    %ecx,%edx
5289f8:	8b 4f 10             	mov    0x10(%edi),%ecx
5289fb:	03 d2                	add    %edx,%edx
5289fd:	8b 3c d1             	mov    (%ecx,%edx,8),%edi
528a00:	2b 7d 10             	sub    0x10(%ebp),%edi
528a03:	0f b6 10             	movzbl (%eax),%edx
528a06:	0f b6 0c 07          	movzbl (%edi,%eax,1),%ecx
528a0a:	3b d1                	cmp    %ecx,%edx
528a0c:	75 2f                	jne    0x528a3d
528a0e:	85 d2                	test   %edx,%edx
528a10:	75 3d                	jne    0x528a4f
528a12:	8b 4d fc             	mov    -0x4(%ebp),%ecx
528a15:	8b 7d 08             	mov    0x8(%ebp),%edi
528a18:	8b 47 10             	mov    0x10(%edi),%eax
528a1b:	03 c9                	add    %ecx,%ecx
528a1d:	6a 00                	push   $0x0
528a1f:	53                   	push   %ebx
528a20:	8b 44 c8 0c          	mov    0xc(%eax,%ecx,8),%eax
528a24:	83 c0 08             	add    $0x8,%eax
528a27:	50                   	push   %eax
528a28:	e8 a3 95 fd ff       	call   0x501fd0
528a2d:	83 c4 0c             	add    $0xc,%esp
528a30:	8b 40 08             	mov    0x8(%eax),%eax
528a33:	85 c0                	test   %eax,%eax