53a751:	89 6c 24 28          	mov    %ebp,0x28(%esp)
53a755:	3b 6c 24 1c          	cmp    0x1c(%esp),%ebp
53a759:	8b 6c 24 60          	mov    0x60(%esp),%ebp
53a75d:	89 5c 24 5c          	mov    %ebx,0x5c(%esp)
53a761:	89 7c 24 24          	mov    %edi,0x24(%esp)
53a765:	0f 82 15 fd ff ff    	jb     0x53a480
53a76b:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
53a76f:	8b 44 24 14          	mov    0x14(%esp),%eax
53a773:	bd ff 00 00 00       	mov    $0xff,%ebp
53a778:	89 6c 24 28          	mov    %ebp,0x28(%esp)
53a77c:	0f b6 48 1f          	movzbl 0x1f(%eax),%ecx
53a780:	c1 e9 06             	shr    $0x6,%ecx
53a783:	8b c1                	mov    %ecx,%eax
53a785:	83 e1 01             	and    $0x1,%ecx
53a788:	d1 e8                	shr    $1,%eax
53a78a:	03 c1                	add    %ecx,%eax
53a78c:	50                   	push   %eax
53a78d:	ff 74 24 1c          	push   0x1c(%esp)
53a791:	56                   	push   %esi
53a792:	e8 39 89 f0 ff       	call   0x4430d0
53a797:	0f 10 06             	movups (%esi),%xmm0
53a79a:	8b 5c 24 5c          	mov    0x5c(%esp),%ebx
53a79e:	83 c4 0c             	add    $0xc,%esp
53a7a1:	0f 11 03             	movups %xmm0,(%ebx)
53a7a4:	0f 10 46 10          	movups 0x10(%esi),%xmm0
53a7a8:	0f 11 43 10          	movups %xmm0,0x10(%ebx)
53a7ac:	0f 10 46 20          	movups 0x20(%esi),%xmm0
53a7b0:	0f 11 43 20          	movups %xmm0,0x20(%ebx)
53a7b4:	0f 10 46 30          	movups 0x30(%esi),%xmm0
53a7b8:	0f 11 43 30          	movups %xmm0,0x30(%ebx)
53a7bc:	0f 10 46 40          	movups 0x40(%esi),%xmm0
53a7c0:	0f 11 43 40          	movups %xmm0,0x40(%ebx)
53a7c4:	0f 10 46 50          	movups 0x50(%esi),%xmm0
53a7c8:	0f 11 43 50          	movups %xmm0,0x50(%ebx)
53a7cc:	0f 1f 40 00          	nopl   0x0(%eax)
53a7d0:	33 c0                	xor    %eax,%eax
53a7d2:	81 fd ff 00 00 00    	cmp    $0xff,%ebp
53a7d8:	0f 94 c0             	sete   %al
53a7db:	3b c7                	cmp    %edi,%eax
53a7dd:	0f 83 55 01 00 00    	jae    0x53a938
53a7e3:	8d 55 ff             	lea    -0x1(%ebp),%edx
53a7e6:	8b e8                	mov    %eax,%ebp
53a7e8:	8b ca                	mov    %edx,%ecx
53a7ea:	c1 e5 05             	shl    $0x5,%ebp
53a7ed:	83 e1 07             	and    $0x7,%ecx
53a7f0:	c1 ea 03             	shr    $0x3,%edx
53a7f3:	89 4c 24 44          	mov    %ecx,0x44(%esp)
53a7f7:	03 e8                	add    %eax,%ebp
53a7f9:	69 c8 00 06 00 00    	imul   $0x600,%eax,%ecx
53a7ff:	89 54 24 40          	mov    %edx,0x40(%esp)
53a803:	03 4c 24 18          	add    0x18(%esp),%ecx
53a807:	2b f8                	sub    %eax,%edi
53a809:	89 4c 24 5c          	mov    %ecx,0x5c(%esp)
53a80d:	89 7c 24 30          	mov    %edi,0x30(%esp)
53a811:	8b 4c 24 14          	mov    0x14(%esp),%ecx
53a815:	8d 04 2a             	lea    (%edx,%ebp,1),%eax
53a818:	0f b6 7c 08 01       	movzbl 0x1(%eax,%ecx,1),%edi
53a81d:	0f b6 04 08          	movzbl (%eax,%ecx,1),%eax
53a821:	8b 4c 24 44          	mov    0x44(%esp),%ecx
53a825:	c1 e7 08             	shl    $0x8,%edi
53a828:	0b f8                	or     %eax,%edi
53a82a:	d3 ef                	shr    %cl,%edi
53a82c:	b9 3f 00 00 00       	mov    $0x3f,%ecx
53a831:	83 e7 3f             	and    $0x3f,%edi
53a834:	8b c7                	mov    %edi,%eax
53a836:	2b cf                	sub    %edi,%ecx
53a838:	c1 e8 05             	shr    $0x5,%eax
53a83b:	48                   	dec    %eax
53a83c:	8b d0                	mov    %eax,%edx
53a83e:	23 c7                	and    %edi,%eax
53a840:	f7 d2                	not    %edx
53a842:	23 ca                	and    %edx,%ecx
53a844:	83 e2 01             	and    $0x1,%edx
53a847:	0b c8                	or     %eax,%ecx
53a849:	8b c1                	mov    %ecx,%eax
53a84b:	83 e1 01             	and    $0x1,%ecx
53a84e:	d1 e8                	shr    $1,%eax
53a850:	03 c1                	add    %ecx,%eax
53a852:	8d 3c 42             	lea    (%edx,%eax,2),%edi
53a855:	8b c7                	mov    %edi,%eax
53a857:	d1 e8                	shr    $1,%eax
53a859:	50                   	push   %eax
53a85a:	ff 74 24 60          	push   0x60(%esp)
53a85e:	56                   	push   %esi
53a85f:	e8 6c 88 f0 ff       	call   0x4430d0
53a864:	8d 46 20             	lea    0x20(%esi),%eax
53a867:	50                   	push   %eax
53a868:	8d 86 80 00 00 00    	lea    0x80(%esi),%eax
53a86e:	50                   	push   %eax
53a86f:	e8 2c 7b f0 ff       	call   0x4423a0
53a874:	8b 46 20             	mov    0x20(%esi),%eax
53a877:	83 e7 01             	and    $0x1,%edi
53a87a:	f7 df                	neg    %edi
53a87c:	8b d7                	mov    %edi,%edx
53a87e:	8b cf                	mov    %edi,%ecx
53a880:	23 8e 80 00 00 00    	and    0x80(%esi),%ecx
53a886:	f7 d2                	not    %edx
53a888:	23 c2                	and    %edx,%eax
53a88a:	33 c8                	xor    %eax,%ecx
53a88c:	89 4e 20             	mov    %ecx,0x20(%esi)
53a88f:	8b ca                	mov    %edx,%ecx
53a891:	23 4e 24             	and    0x24(%esi),%ecx
53a894:	8b 86 84 00 00 00    	mov    0x84(%esi),%eax
53a89a:	23 c7                	and    %edi,%eax
53a89c:	33 c8                	xor    %eax,%ecx
53a89e:	8b c2                	mov    %edx,%eax
53a8a0:	89 4e 24             	mov    %ecx,0x24(%esi)
53a8a3:	8b cf                	mov    %edi,%ecx
53a8a5:	23 8e 88 00 00 00    	and    0x88(%esi),%ecx
53a8ab:	23 46 28             	and    0x28(%esi),%eax
53a8ae:	33 c8                	xor    %eax,%ecx
53a8b0:	8b c7                	mov    %edi,%eax
53a8b2:	89 4e 28             	mov    %ecx,0x28(%esi)
53a8b5:	8b ca                	mov    %edx,%ecx
53a8b7:	23 4e 2c             	and    0x2c(%esi),%ecx
53a8ba:	23 86 8c 00 00 00    	and    0x8c(%esi),%eax
53a8c0:	33 c8                	xor    %eax,%ecx
53a8c2:	89 4e 2c             	mov    %ecx,0x2c(%esi)
53a8c5:	8b 8e 90 00 00 00    	mov    0x90(%esi),%ecx
53a8cb:	8b 46 30             	mov    0x30(%esi),%eax
53a8ce:	23 cf                	and    %edi,%ecx
53a8d0:	23 c2                	and    %edx,%eax
53a8d2:	33 c8                	xor    %eax,%ecx
53a8d4:	89 4e 30             	mov    %ecx,0x30(%esi)
53a8d7:	8b 4e 34             	mov    0x34(%esi),%ecx
53a8da:	8b 86 94 00 00 00    	mov    0x94(%esi),%eax
53a8e0:	23 ca                	and    %edx,%ecx
53a8e2:	23 c7                	and    %edi,%eax
53a8e4:	33 c8                	xor    %eax,%ecx
53a8e6:	89 4e 34             	mov    %ecx,0x34(%esi)
53a8e9:	8b 4e 38             	mov    0x38(%esi),%ecx
53a8ec:	8b 86 98 00 00 00    	mov    0x98(%esi),%eax
53a8f2:	23 ca                	and    %edx,%ecx
53a8f4:	23 c7                	and    %edi,%eax
53a8f6:	33 c8                	xor    %eax,%ecx
53a8f8:	89 4e 38             	mov    %ecx,0x38(%esi)
53a8fb:	8b 46 3c             	mov    0x3c(%esi),%eax
53a8fe:	23 be 9c 00 00 00    	and    0x9c(%esi),%edi
53a904:	23 c2                	and    %edx,%eax
53a906:	56                   	push   %esi
53a907:	33 c7                	xor    %edi,%eax
53a909:	53                   	push   %ebx
53a90a:	53                   	push   %ebx
53a90b:	89 46 3c             	mov    %eax,0x3c(%esi)
53a90e:	e8 4d 8e f0 ff       	call   0x443760
53a913:	81 44 24 7c 00 06 00 	addl   $0x600,0x7c(%esp)
53a91a:	00
53a91b:	8d 6d 21             	lea    0x21(%ebp),%ebp
53a91e:	8b 54 24 60          	mov    0x60(%esp),%edx
53a922:	83 c4 20             	add    $0x20,%esp
53a925:	83 6c 24 30 01       	subl   $0x1,0x30(%esp)
53a92a:	0f 85 e1 fe ff ff    	jne    0x53a811
53a930:	8b 6c 24 28          	mov    0x28(%esp),%ebp
53a934:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
53a938:	53                   	push   %ebx
53a939:	83 ed 05             	sub    $0x5,%ebp
53a93c:	53                   	push   %ebx
53a93d:	89 6c 24 30          	mov    %ebp,0x30(%esp)
53a941:	e8 1a 8c f0 ff       	call   0x443560
53a946:	53                   	push   %ebx
53a947:	53                   	push   %ebx
53a948:	e8 13 8c f0 ff       	call   0x443560
53a94d:	53                   	push   %ebx
53a94e:	53                   	push   %ebx
53a94f:	e8 0c 8c f0 ff       	call   0x443560
53a954:	53                   	push   %ebx
53a955:	53                   	push   %ebx
53a956:	e8 05 8c f0 ff       	call   0x443560
53a95b:	53                   	push   %ebx
53a95c:	53                   	push   %ebx
53a95d:	e8 fe 8b f0 ff       	call   0x443560
53a962:	83 c4 28             	add    $0x28,%esp
53a965:	83 fd 05             	cmp    $0x5,%ebp
53a968:	0f 83 62 fe ff ff    	jae    0x53a7d0
53a96e:	85 ff                	test   %edi,%edi
53a970:	0f 84 15 01 00 00    	je     0x53aa8b
53a976:	8b 44 24 14          	mov    0x14(%esp),%eax
53a97a:	8d 6e 20             	lea    0x20(%esi),%ebp
53a97d:	89 44 24 5c          	mov    %eax,0x5c(%esp)
53a981:	0f b6 10             	movzbl (%eax),%edx
53a984:	b9 3f 00 00 00       	mov    $0x3f,%ecx
53a989:	83 e2 1f             	and    $0x1f,%edx
53a98c:	03 d2                	add    %edx,%edx
53a98e:	8b c2                	mov    %edx,%eax
53a990:	2b ca                	sub    %edx,%ecx
53a992:	c1 e8 05             	shr    $0x5,%eax
53a995:	48                   	dec    %eax
53a996:	8b f8                	mov    %eax,%edi
53a998:	23 c2                	and    %edx,%eax
53a99a:	f7 d7                	not    %edi
53a99c:	23 cf                	and    %edi,%ecx
53a99e:	83 e7 01             	and    $0x1,%edi
53a9a1:	0b c8                	or     %eax,%ecx
53a9a3:	8b c1                	mov    %ecx,%eax
53a9a5:	83 e1 01             	and    $0x1,%ecx
53a9a8:	d1 e8                	shr    $1,%eax
53a9aa:	03 c1                	add    %ecx,%eax
53a9ac:	8d 3c 47             	lea    (%edi,%eax,2),%edi
53a9af:	8b c7                	mov    %edi,%eax
53a9b1:	d1 e8                	shr    $1,%eax
53a9b3:	50                   	push   %eax
53a9b4:	ff 74 24 1c          	push   0x1c(%esp)
53a9b8:	56                   	push   %esi
53a9b9:	e8 12 87 f0 ff       	call   0x4430d0
53a9be:	8d 86 80 00 00 00    	lea    0x80(%esi),%eax
53a9c4:	55                   	push   %ebp
53a9c5:	50                   	push   %eax
53a9c6:	e8 d5 79 f0 ff       	call   0x4423a0
53a9cb:	8b 45 00             	mov    0x0(%ebp),%eax
53a9ce:	83 e7 01             	and    $0x1,%edi
53a9d1:	f7 df                	neg    %edi
53a9d3:	8b d7                	mov    %edi,%edx
53a9d5:	8b cf                	mov    %edi,%ecx
53a9d7:	23 8e 80 00 00 00    	and    0x80(%esi),%ecx
53a9dd:	f7 d2                	not    %edx
53a9df:	23 c2                	and    %edx,%eax
53a9e1:	33 c8                	xor    %eax,%ecx
53a9e3:	89 4d 00             	mov    %ecx,0x0(%ebp)
53a9e6:	8b ca                	mov    %edx,%ecx
53a9e8:	23 4d 04             	and    0x4(%ebp),%ecx
53a9eb:	8b 86 84 00 00 00    	mov    0x84(%esi),%eax
53a9f1:	23 c7                	and    %edi,%eax
53a9f3:	33 c8                	xor    %eax,%ecx
53a9f5:	8b c7                	mov    %edi,%eax
53a9f7:	89 4d 04             	mov    %ecx,0x4(%ebp)
53a9fa:	8b ca                	mov    %edx,%ecx
53a9fc:	23 4e 28             	and    0x28(%esi),%ecx
53a9ff:	23 86 88 00 00 00    	and    0x88(%esi),%eax
53aa05:	33 c8                	xor    %eax,%ecx
53aa07:	89 4e 28             	mov    %ecx,0x28(%esi)
53aa0a:	8b 8e 8c 00 00 00    	mov    0x8c(%esi),%ecx
53aa10:	8b 46 2c             	mov    0x2c(%esi),%eax
53aa13:	23 cf                	and    %edi,%ecx
53aa15:	23 c2                	and    %edx,%eax
53aa17:	33 c8                	xor    %eax,%ecx
53aa19:	89 4e 2c             	mov    %ecx,0x2c(%esi)
53aa1c:	8b ca                	mov    %edx,%ecx
53aa1e:	23 4e 30             	and    0x30(%esi),%ecx
53aa21:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
53aa27:	23 c7                	and    %edi,%eax
53aa29:	33 c8                	xor    %eax,%ecx
53aa2b:	89 4e 30             	mov    %ecx,0x30(%esi)
53aa2e:	8b 4e 34             	mov    0x34(%esi),%ecx
53aa31:	8b 86 94 00 00 00    	mov    0x94(%esi),%eax
53aa37:	23 ca                	and    %edx,%ecx
53aa39:	23 c7                	and    %edi,%eax
53aa3b:	33 c8                	xor    %eax,%ecx
53aa3d:	89 4e 34             	mov    %ecx,0x34(%esi)
53aa40:	8b ca                	mov    %edx,%ecx
53aa42:	8b 86 98 00 00 00    	mov    0x98(%esi),%eax
53aa48:	23 4e 38             	and    0x38(%esi),%ecx
53aa4b:	23 c7                	and    %edi,%eax
53aa4d:	33 c8                	xor    %eax,%ecx
53aa4f:	89 4e 38             	mov    %ecx,0x38(%esi)
53aa52:	8b 46 3c             	mov    0x3c(%esi),%eax
53aa55:	23 be 9c 00 00 00    	and    0x9c(%esi),%edi
53aa5b:	23 c2                	and    %edx,%eax
53aa5d:	33 c7                	xor    %edi,%eax
53aa5f:	89 46 3c             	mov    %eax,0x3c(%esi)
53aa62:	56                   	push   %esi
53aa63:	53                   	push   %ebx
53aa64:	53                   	push   %ebx
53aa65:	e8 f6 8c f0 ff       	call   0x443760
53aa6a:	8b 44 24 7c          	mov    0x7c(%esp),%eax
53aa6e:	83 c4 20             	add    $0x20,%esp
53aa71:	81 44 24 18 00 06 00 	addl   $0x600,0x18(%esp)
53aa78:	00
53aa79:	83 c0 21             	add    $0x21,%eax
53aa7c:	83 6c 24 1c 01       	subl   $0x1,0x1c(%esp)
53aa81:	89 44 24 5c          	mov    %eax,0x5c(%esp)
53aa85:	0f 85 f6 fe ff ff    	jne    0x53a981
53aa8b:	c7 44 24 34 01 00 00 	movl   $0x1,0x34(%esp)
53aa92:	00
53aa93:	eb 1e                	jmp    0x53aab3
53aa95:	68 a8 02 00 00       	push   $0x2a8
53aa9a:	68 34 a2 64 00       	push   $0x64a234
53aa9f:	68 92 00 00 00       	push   $0x92
53aaa4:	68 f2 00 00 00       	push   $0xf2
53aaa9:	6a 10                	push   $0x10
53aaab:	e8 d0 e4 f9 ff       	call   0x4d8f80
53aab0:	83 c4 14             	add    $0x14,%esp
53aab3:	8b 74 24 10          	mov    0x10(%esp),%esi
53aab7:	68 0a 03 00 00       	push   $0x30a
53aabc:	68 34 a2 64 00       	push   $0x64a234
53aac1:	56                   	push   %esi
53aac2:	e8 b9 5c fa ff       	call   0x4e0780
53aac7:	68 0b 03 00 00       	push   $0x30b
53aacc:	68 34 a2 64 00       	push   $0x64a234
53aad1:	ff 74 24 28          	push   0x28(%esp)
53aad5:	e8 a6 5c fa ff       	call   0x4e0780
53aada:	68 0c 03 00 00       	push   $0x30c
53aadf:	68 34 a2 64 00       	push   $0x64a234
53aae4:	ff 74 24 4c          	push   0x4c(%esp)
53aae8:	e8 93 5c fa ff       	call   0x4e0780
53aaed:	8b 44 24 58          	mov    0x58(%esp),%eax
53aaf1:	83 c4 24             	add    $0x24,%esp
53aaf4:	5f                   	pop    %edi
53aaf5:	5e                   	pop    %esi
53aaf6:	5d                   	pop    %ebp
53aaf7:	5b                   	pop    %ebx
53aaf8:	83 c4 38             	add    $0x38,%esp
53aafb:	c3                   	ret
53aafc:	68 8b 02 00 00       	push   $0x28b
53ab01:	68 34 a2 64 00       	push   $0x64a234
53ab06:	6a 03                	push   $0x3
53ab08:	eb 9a                	jmp    0x53aaa4
53ab0a:	8b f3                	mov    %ebx,%esi
53ab0c:	eb 02                	jmp    0x53ab10
53ab0e:	8b f0                	mov    %eax,%esi
53ab10:	68 7a 02 00 00       	push   $0x27a
53ab15:	68 34 a2 64 00       	push   $0x64a234
53ab1a:	6a 41                	push   $0x41
53ab1c:	68 f2 00 00 00       	push   $0xf2
53ab21:	6a 10                	push   $0x10
53ab23:	e8 58 e4 f9 ff       	call   0x4d8f80
53ab28:	83 c4 14             	add    $0x14,%esp
53ab2b:	eb 8a                	jmp    0x53aab7
53ab2d:	cc                   	int3
53ab2e:	cc                   	int3
53ab2f:	cc                   	int3
53ab30:	8b 54 24 04          	mov    0x4(%esp),%edx
53ab34:	8b 4c 24 08          	mov    0x8(%esp),%ecx
53ab38:	56                   	push   %esi
53ab39:	8b 72 1c             	mov    0x1c(%edx),%esi
53ab3c:	33 71 1c             	xor    0x1c(%ecx),%esi
53ab3f:	8b 42 18             	mov    0x18(%edx),%eax
53ab42:	33 41 18             	xor    0x18(%ecx),%eax
53ab45:	0b f0                	or     %eax,%esi
53ab47:	8b 42 14             	mov    0x14(%edx),%eax
53ab4a:	33 41 14             	xor    0x14(%ecx),%eax
53ab4d:	0b f0                	or     %eax,%esi
53ab4f:	8b 42 10             	mov    0x10(%edx),%eax
53ab52:	33 41 10             	xor    0x10(%ecx),%eax
53ab55:	0b f0                	or     %eax,%esi
53ab57:	8b 42 0c             	mov    0xc(%edx),%eax
53ab5a:	33 41 0c             	xor    0xc(%ecx),%eax
53ab5d:	0b f0                	or     %eax,%esi
53ab5f:	8b 42 08             	mov    0x8(%edx),%eax
53ab62:	33 41 08             	xor    0x8(%ecx),%eax
53ab65:	0b f0                	or     %eax,%esi
53ab67:	8b 42 04             	mov    0x4(%edx),%eax
53ab6a:	33 41 04             	xor    0x4(%ecx),%eax
53ab6d:	0b f0                	or     %eax,%esi
53ab6f:	8b 02                	mov    (%edx),%eax
53ab71:	33 01                	xor    (%ecx),%eax
53ab73:	0b f0                	or     %eax,%esi
53ab75:	8b c6                	mov    %esi,%eax
53ab77:	f7 d8                	neg    %eax
53ab79:	0b c6                	or     %esi,%eax
53ab7b:	f7 d0                	not    %eax