46baed:	85 c9                	test   %ecx,%ecx
46baef:	74 5f                	je     0x46bb50
46baf1:	8b d1                	mov    %ecx,%edx
46baf3:	c1 ea 05             	shr    $0x5,%edx
46baf6:	85 d2                	test   %edx,%edx
46baf8:	74 21                	je     0x46bb1b
46bafa:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
46bb00:	f3 0f 6f 06          	movdqu (%esi),%xmm0
46bb04:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
46bb09:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
46bb0d:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
46bb12:	8d 76 20             	lea    0x20(%esi),%esi
46bb15:	8d 7f 20             	lea    0x20(%edi),%edi
46bb18:	4a                   	dec    %edx
46bb19:	75 e5                	jne    0x46bb00
46bb1b:	83 e1 1f             	and    $0x1f,%ecx
46bb1e:	74 30                	je     0x46bb50
46bb20:	8b c1                	mov    %ecx,%eax
46bb22:	c1 e9 02             	shr    $0x2,%ecx
46bb25:	74 0f                	je     0x46bb36
46bb27:	8b 16                	mov    (%esi),%edx
46bb29:	89 17                	mov    %edx,(%edi)
46bb2b:	83 c7 04             	add    $0x4,%edi
46bb2e:	83 c6 04             	add    $0x4,%esi
46bb31:	83 e9 01             	sub    $0x1,%ecx
46bb34:	75 f1                	jne    0x46bb27
46bb36:	8b c8                	mov    %eax,%ecx
46bb38:	83 e1 03             	and    $0x3,%ecx
46bb3b:	74 13                	je     0x46bb50
46bb3d:	8a 06                	mov    (%esi),%al
46bb3f:	88 07                	mov    %al,(%edi)
46bb41:	46                   	inc    %esi
46bb42:	47                   	inc    %edi
46bb43:	49                   	dec    %ecx
46bb44:	75 f7                	jne    0x46bb3d
46bb46:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
46bb4d:	8d 49 00             	lea    0x0(%ecx),%ecx
46bb50:	8b 44 24 0c          	mov    0xc(%esp),%eax
46bb54:	5e                   	pop    %esi
46bb55:	5f                   	pop    %edi
46bb56:	c3                   	ret
46bb57:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
46bb5e:	8b ff                	mov    %edi,%edi
46bb60:	ba 10 00 00 00       	mov    $0x10,%edx
46bb65:	2b d0                	sub    %eax,%edx
46bb67:	2b ca                	sub    %edx,%ecx
46bb69:	51                   	push   %ecx
46bb6a:	8b c2                	mov    %edx,%eax
46bb6c:	8b c8                	mov    %eax,%ecx
46bb6e:	83 e1 03             	and    $0x3,%ecx
46bb71:	74 09                	je     0x46bb7c
46bb73:	8a 16                	mov    (%esi),%dl
46bb75:	88 17                	mov    %dl,(%edi)
46bb77:	46                   	inc    %esi
46bb78:	47                   	inc    %edi
46bb79:	49                   	dec    %ecx
46bb7a:	75 f7                	jne    0x46bb73
46bb7c:	c1 e8 02             	shr    $0x2,%eax
46bb7f:	74 0d                	je     0x46bb8e
46bb81:	8b 16                	mov    (%esi),%edx
46bb83:	89 17                	mov    %edx,(%edi)
46bb85:	8d 76 04             	lea    0x4(%esi),%esi
46bb88:	8d 7f 04             	lea    0x4(%edi),%edi
46bb8b:	48                   	dec    %eax
46bb8c:	75 f3                	jne    0x46bb81
46bb8e:	59                   	pop    %ecx
46bb8f:	e9 e9 fe ff ff       	jmp    0x46ba7d
46bb94:	e8 a3 19 00 00       	call   0x46d53c
46bb99:	8b c8                	mov    %eax,%ecx
46bb9b:	33 c0                	xor    %eax,%eax
46bb9d:	85 c9                	test   %ecx,%ecx
46bb9f:	74 06                	je     0x46bba7
46bba1:	39 41 18             	cmp    %eax,0x18(%ecx)
46bba4:	0f 9f c0             	setg   %al
46bba7:	c3                   	ret
46bba8:	cc                   	int3
46bba9:	cc                   	int3
46bbaa:	cc                   	int3
46bbab:	cc                   	int3
46bbac:	cc                   	int3
46bbad:	cc                   	int3
46bbae:	cc                   	int3
46bbaf:	cc                   	int3
46bbb0:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
46bbb4:	0f b6 44 24 08       	movzbl 0x8(%esp),%eax
46bbb9:	8b d7                	mov    %edi,%edx
46bbbb:	8b 7c 24 04          	mov    0x4(%esp),%edi
46bbbf:	85 c9                	test   %ecx,%ecx
46bbc1:	0f 84 3c 01 00 00    	je     0x46bd03
46bbc7:	69 c0 01 01 01 01    	imul   $0x1010101,%eax,%eax
46bbcd:	83 f9 20             	cmp    $0x20,%ecx
46bbd0:	0f 86 df 00 00 00    	jbe    0x46bcb5
46bbd6:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
46bbdc:	0f 82 8b 00 00 00    	jb     0x46bc6d
46bbe2:	0f ba 25 00 83 4c 00 	btl    $0x1,0x4c8300
46bbe9:	01
46bbea:	73 09                	jae    0x46bbf5
46bbec:	f3 aa                	rep stos %al,%es:(%edi)
46bbee:	8b 44 24 04          	mov    0x4(%esp),%eax
46bbf2:	8b fa                	mov    %edx,%edi
46bbf4:	c3                   	ret
46bbf5:	0f ba 25 1c 40 4c 00 	btl    $0x1,0x4c401c
46bbfc:	01
46bbfd:	0f 83 b2 00 00 00    	jae    0x46bcb5
46bc03:	66 0f 6e c0          	movd   %eax,%xmm0
46bc07:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
46bc0c:	03 cf                	add    %edi,%ecx
46bc0e:	0f 11 07             	movups %xmm0,(%edi)
46bc11:	83 c7 10             	add    $0x10,%edi
46bc14:	83 e7 f0             	and    $0xfffffff0,%edi
46bc17:	2b cf                	sub    %edi,%ecx
46bc19:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
46bc1f:	76 4c                	jbe    0x46bc6d
46bc21:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
46bc28:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
46bc2f:	90                   	nop
46bc30:	66 0f 7f 07          	movdqa %xmm0,(%edi)
46bc34:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
46bc39:	66 0f 7f 47 20       	movdqa %xmm0,0x20(%edi)
46bc3e:	66 0f 7f 47 30       	movdqa %xmm0,0x30(%edi)
46bc43:	66 0f 7f 47 40       	movdqa %xmm0,0x40(%edi)
46bc48:	66 0f 7f 47 50       	movdqa %xmm0,0x50(%edi)
46bc4d:	66 0f 7f 47 60       	movdqa %xmm0,0x60(%edi)
46bc52:	66 0f 7f 47 70       	movdqa %xmm0,0x70(%edi)
46bc57:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
46bc5d:	81 e9 80 00 00 00    	sub    $0x80,%ecx
46bc63:	f7 c1 00 ff ff ff    	test   $0xffffff00,%ecx
46bc69:	75 c5                	jne    0x46bc30
46bc6b:	eb 13                	jmp    0x46bc80
46bc6d:	0f ba 25 1c 40 4c 00 	btl    $0x1,0x4c401c
46bc74:	01
46bc75:	73 3e                	jae    0x46bcb5
46bc77:	66 0f 6e c0          	movd   %eax,%xmm0
46bc7b:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
46bc80:	83 f9 20             	cmp    $0x20,%ecx
46bc83:	72 1c                	jb     0x46bca1
46bc85:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
46bc89:	f3 0f 7f 47 10       	movdqu %xmm0,0x10(%edi)
46bc8e:	83 c7 20             	add    $0x20,%edi
46bc91:	83 e9 20             	sub    $0x20,%ecx
46bc94:	83 f9 20             	cmp    $0x20,%ecx
46bc97:	73 ec                	jae    0x46bc85
46bc99:	f7 c1 1f 00 00 00    	test   $0x1f,%ecx
46bc9f:	74 62                	je     0x46bd03
46bca1:	8d 7c 0f e0          	lea    -0x20(%edi,%ecx,1),%edi
46bca5:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
46bca9:	f3 0f 7f 47 10       	movdqu %xmm0,0x10(%edi)
46bcae:	8b 44 24 04          	mov    0x4(%esp),%eax
46bcb2:	8b fa                	mov    %edx,%edi
46bcb4:	c3                   	ret
46bcb5:	f7 c1 03 00 00 00    	test   $0x3,%ecx
46bcbb:	74 0e                	je     0x46bccb
46bcbd:	88 07                	mov    %al,(%edi)
46bcbf:	47                   	inc    %edi
46bcc0:	83 e9 01             	sub    $0x1,%ecx
46bcc3:	f7 c1 03 00 00 00    	test   $0x3,%ecx
46bcc9:	75 f2                	jne    0x46bcbd
46bccb:	f7 c1 04 00 00 00    	test   $0x4,%ecx
46bcd1:	74 08                	je     0x46bcdb
46bcd3:	89 07                	mov    %eax,(%edi)
46bcd5:	83 c7 04             	add    $0x4,%edi
46bcd8:	83 e9 04             	sub    $0x4,%ecx
46bcdb:	f7 c1 f8 ff ff ff    	test   $0xfffffff8,%ecx
46bce1:	74 20                	je     0x46bd03
46bce3:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
46bcea:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
46bcf0:	89 07                	mov    %eax,(%edi)
46bcf2:	89 47 04             	mov    %eax,0x4(%edi)
46bcf5:	83 c7 08             	add    $0x8,%edi
46bcf8:	83 e9 08             	sub    $0x8,%ecx
46bcfb:	f7 c1 f8 ff ff ff    	test   $0xfffffff8,%ecx
46bd01:	75 ed                	jne    0x46bcf0
46bd03:	8b 44 24 04          	mov    0x4(%esp),%eax
46bd07:	8b fa                	mov    %edx,%edi
46bd09:	c3                   	ret
46bd0a:	cc                   	int3
46bd0b:	cc                   	int3
46bd0c:	cc                   	int3
46bd0d:	cc                   	int3
46bd0e:	cc                   	int3
46bd0f:	cc                   	int3
46bd10:	8b 44 24 0c          	mov    0xc(%esp),%eax
46bd14:	53                   	push   %ebx
46bd15:	85 c0                	test   %eax,%eax
46bd17:	74 52                	je     0x46bd6b
46bd19:	8b 54 24 08          	mov    0x8(%esp),%edx
46bd1d:	33 db                	xor    %ebx,%ebx
46bd1f:	8a 5c 24 0c          	mov    0xc(%esp),%bl
46bd23:	f7 c2 03 00 00 00    	test   $0x3,%edx
46bd29:	74 16                	je     0x46bd41
46bd2b:	8a 0a                	mov    (%edx),%cl
46bd2d:	83 c2 01             	add    $0x1,%edx
46bd30:	32 cb                	xor    %bl,%cl
46bd32:	74 72                	je     0x46bda6
46bd34:	83 e8 01             	sub    $0x1,%eax
46bd37:	74 32                	je     0x46bd6b
46bd39:	f7 c2 03 00 00 00    	test   $0x3,%edx
46bd3f:	75 ea                	jne    0x46bd2b
46bd41:	83 e8 04             	sub    $0x4,%eax
46bd44:	72 12                	jb     0x46bd58
46bd46:	57                   	push   %edi
46bd47:	8b fb                	mov    %ebx,%edi
46bd49:	c1 e3 08             	shl    $0x8,%ebx
46bd4c:	03 df                	add    %edi,%ebx
46bd4e:	8b fb                	mov    %ebx,%edi
46bd50:	c1 e3 10             	shl    $0x10,%ebx
46bd53:	03 df                	add    %edi,%ebx
46bd55:	eb 1b                	jmp    0x46bd72
46bd57:	5f                   	pop    %edi
46bd58:	83 c0 04             	add    $0x4,%eax
46bd5b:	74 0e                	je     0x46bd6b
46bd5d:	8a 0a                	mov    (%edx),%cl
46bd5f:	83 c2 01             	add    $0x1,%edx
46bd62:	32 cb                	xor    %bl,%cl
46bd64:	74 40                	je     0x46bda6
46bd66:	83 e8 01             	sub    $0x1,%eax
46bd69:	75 f2                	jne    0x46bd5d
46bd6b:	5b                   	pop    %ebx
46bd6c:	c3                   	ret
46bd6d:	83 e8 04             	sub    $0x4,%eax
46bd70:	72 e5                	jb     0x46bd57
46bd72:	8b 0a                	mov    (%edx),%ecx
46bd74:	33 cb                	xor    %ebx,%ecx
46bd76:	bf ff fe fe 7e       	mov    $0x7efefeff,%edi
46bd7b:	03 f9                	add    %ecx,%edi
46bd7d:	83 f1 ff             	xor    $0xffffffff,%ecx
46bd80:	33 cf                	xor    %edi,%ecx
46bd82:	83 c2 04             	add    $0x4,%edx
46bd85:	81 e1 00 01 01 81    	and    $0x81010100,%ecx
46bd8b:	74 e0                	je     0x46bd6d
46bd8d:	8b 4a fc             	mov    -0x4(%edx),%ecx
46bd90:	32 cb                	xor    %bl,%cl
46bd92:	74 23                	je     0x46bdb7
46bd94:	32 eb                	xor    %bl,%ch
46bd96:	74 19                	je     0x46bdb1
46bd98:	c1 e9 10             	shr    $0x10,%ecx
46bd9b:	32 cb                	xor    %bl,%cl
46bd9d:	74 0c                	je     0x46bdab
46bd9f:	32 eb                	xor    %bl,%ch
46bda1:	74 02                	je     0x46bda5
46bda3:	eb c8                	jmp    0x46bd6d
46bda5:	5f                   	pop    %edi
46bda6:	8d 42 ff             	lea    -0x1(%edx),%eax
46bda9:	5b                   	pop    %ebx
46bdaa:	c3                   	ret
46bdab:	8d 42 fe             	lea    -0x2(%edx),%eax
46bdae:	5f                   	pop    %edi
46bdaf:	5b                   	pop    %ebx
46bdb0:	c3                   	ret
46bdb1:	8d 42 fd             	lea    -0x3(%edx),%eax
46bdb4:	5f                   	pop    %edi
46bdb5:	5b                   	pop    %ebx
46bdb6:	c3                   	ret
46bdb7:	8d 42 fc             	lea    -0x4(%edx),%eax
46bdba:	5f                   	pop    %edi
46bdbb:	5b                   	pop    %ebx
46bdbc:	c3                   	ret
46bdbd:	cc                   	int3
46bdbe:	cc                   	int3
46bdbf:	cc                   	int3
46bdc0:	55                   	push   %ebp
46bdc1:	8b ec                	mov    %esp,%ebp
46bdc3:	56                   	push   %esi
46bdc4:	57                   	push   %edi
46bdc5:	8b 7d 10             	mov    0x10(%ebp),%edi
46bdc8:	8b c7                	mov    %edi,%eax
46bdca:	83 e8 00             	sub    $0x0,%eax
46bdcd:	0f 84 e2 15 00 00    	je     0x46d3b5
46bdd3:	83 e8 01             	sub    $0x1,%eax
46bdd6:	0f 84 c8 15 00 00    	je     0x46d3a4
46bddc:	83 e8 01             	sub    $0x1,%eax
46bddf:	0f 84 90 15 00 00    	je     0x46d375
46bde5:	83 e8 01             	sub    $0x1,%eax
46bde8:	0f 84 3d 15 00 00    	je     0x46d32b
46bdee:	83 e8 01             	sub    $0x1,%eax
46bdf1:	0f 84 b5 14 00 00    	je     0x46d2ac
46bdf7:	8b 55 0c             	mov    0xc(%ebp),%edx
46bdfa:	8b 75 08             	mov    0x8(%ebp),%esi
46bdfd:	53                   	push   %ebx
46bdfe:	6a 20                	push   $0x20
46be00:	5b                   	pop    %ebx
46be01:	e9 9d 04 00 00       	jmp    0x46c2a3
46be06:	8b 06                	mov    (%esi),%eax
46be08:	3b 02                	cmp    (%edx),%eax
46be0a:	0f 84 86 00 00 00    	je     0x46be96
46be10:	0f b6 c8             	movzbl %al,%ecx
46be13:	0f b6 02             	movzbl (%edx),%eax
46be16:	2b c8                	sub    %eax,%ecx
46be18:	74 0e                	je     0x46be28
46be1a:	33 c0                	xor    %eax,%eax
46be1c:	85 c9                	test   %ecx,%ecx
46be1e:	0f 9f c0             	setg   %al
46be21:	8d 0c 45 ff ff ff ff 	lea    -0x1(,%eax,2),%ecx
46be28:	85 c9                	test   %ecx,%ecx
46be2a:	0f 85 79 08 00 00    	jne    0x46c6a9
46be30:	0f b6 4e 01          	movzbl 0x1(%esi),%ecx
46be34:	0f b6 42 01          	movzbl 0x1(%edx),%eax
46be38:	2b c8                	sub    %eax,%ecx
46be3a:	74 0e                	je     0x46be4a
46be3c:	33 c0                	xor    %eax,%eax
46be3e:	85 c9                	test   %ecx,%ecx
46be40:	0f 9f c0             	setg   %al
46be43:	8d 0c 45 ff ff ff ff 	lea    -0x1(,%eax,2),%ecx
46be4a:	85 c9                	test   %ecx,%ecx
46be4c:	0f 85 57 08 00 00    	jne    0x46c6a9
46be52:	0f b6 4e 02          	movzbl 0x2(%esi),%ecx
46be56:	0f b6 42 02          	movzbl 0x2(%edx),%eax
46be5a:	2b c8                	sub    %eax,%ecx
46be5c:	74 0e                	je     0x46be6c
46be5e:	33 c0                	xor    %eax,%eax
46be60:	85 c9                	test   %ecx,%ecx
46be62:	0f 9f c0             	setg   %al
46be65:	8d 0c 45 ff ff ff ff 	lea    -0x1(,%eax,2),%ecx
46be6c:	85 c9                	test   %ecx,%ecx
46be6e:	0f 85 35 08 00 00    	jne    0x46c6a9
46be74:	0f b6 4e 03          	movzbl 0x3(%esi),%ecx
46be78:	0f b6 42 03          	movzbl 0x3(%edx),%eax
46be7c:	2b c8                	sub    %eax,%ecx
46be7e:	74 0e                	je     0x46be8e
46be80:	33 c0                	xor    %eax,%eax
46be82:	85 c9                	test   %ecx,%ecx
46be84:	0f 9f c0             	setg   %al
46be87:	8d 0c 45 ff ff ff ff 	lea    -0x1(,%eax,2),%ecx
46be8e:	85 c9                	test   %ecx,%ecx
46be90:	0f 85 13 08 00 00    	jne    0x46c6a9
46be96:	8b 46 04             	mov    0x4(%esi),%eax
46be99:	3b 42 04             	cmp    0x4(%edx),%eax
46be9c:	0f 84 88 00 00 00    	je     0x46bf2a
46bea2:	0f b6 42 04          	movzbl 0x4(%edx),%eax
46bea6:	0f b6 4e 04          	movzbl 0x4(%esi),%ecx
46beaa:	2b c8                	sub    %eax,%ecx
46beac:	74 0e                	je     0x46bebc
46beae:	33 c0                	xor    %eax,%eax
46beb0:	85 c9                	test   %ecx,%ecx
46beb2:	0f 9f c0             	setg   %al
46beb5:	8d 0c 45 ff ff ff ff 	lea    -0x1(,%eax,2),%ecx
46bebc:	85 c9                	test   %ecx,%ecx
46bebe:	0f 85 e5 07 00 00    	jne    0x46c6a9
46bec4:	0f b6 4e 05          	movzbl 0x5(%esi),%ecx
46bec8:	0f b6 42 05          	movzbl 0x5(%edx),%eax
46becc:	2b c8                	sub    %eax,%ecx
46bece:	74 0e                	je     0x46bede
46bed0:	33 c0                	xor    %eax,%eax
46bed2:	85 c9                	test   %ecx,%ecx
46bed4:	0f 9f c0             	setg   %al
46bed7:	8d 0c 45 ff ff ff ff 	lea    -0x1(,%eax,2),%ecx
46bede:	85 c9                	test   %ecx,%ecx
46bee0:	0f 85 c3 07 00 00    	jne    0x46c6a9
46bee6:	0f b6 4e 06          	movzbl 0x6(%esi),%ecx
46beea:	0f b6 42 06          	movzbl 0x6(%edx),%eax