443c50:	8a 06                	mov    (%esi),%al
443c52:	88 07                	mov    %al,(%edi)
443c54:	f7 c7 0f 00 00 00    	test   $0xf,%edi
443c5a:	75 f1                	jne    0x443c4d
443c5c:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
443c62:	72 68                	jb     0x443ccc
443c64:	81 ee 80 00 00 00    	sub    $0x80,%esi
443c6a:	81 ef 80 00 00 00    	sub    $0x80,%edi
443c70:	f3 0f 6f 06          	movdqu (%esi),%xmm0
443c74:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
443c79:	f3 0f 6f 56 20       	movdqu 0x20(%esi),%xmm2
443c7e:	f3 0f 6f 5e 30       	movdqu 0x30(%esi),%xmm3
443c83:	f3 0f 6f 66 40       	movdqu 0x40(%esi),%xmm4
443c88:	f3 0f 6f 6e 50       	movdqu 0x50(%esi),%xmm5
443c8d:	f3 0f 6f 76 60       	movdqu 0x60(%esi),%xmm6
443c92:	f3 0f 6f 7e 70       	movdqu 0x70(%esi),%xmm7
443c97:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
443c9b:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
443ca0:	f3 0f 7f 57 20       	movdqu %xmm2,0x20(%edi)
443ca5:	f3 0f 7f 5f 30       	movdqu %xmm3,0x30(%edi)
443caa:	f3 0f 7f 67 40       	movdqu %xmm4,0x40(%edi)
443caf:	f3 0f 7f 6f 50       	movdqu %xmm5,0x50(%edi)
443cb4:	f3 0f 7f 77 60       	movdqu %xmm6,0x60(%edi)
443cb9:	f3 0f 7f 7f 70       	movdqu %xmm7,0x70(%edi)
443cbe:	81 e9 80 00 00 00    	sub    $0x80,%ecx
443cc4:	f7 c1 80 ff ff ff    	test   $0xffffff80,%ecx
443cca:	75 90                	jne    0x443c5c
443ccc:	83 f9 20             	cmp    $0x20,%ecx
443ccf:	72 23                	jb     0x443cf4
443cd1:	83 ee 20             	sub    $0x20,%esi
443cd4:	83 ef 20             	sub    $0x20,%edi
443cd7:	f3 0f 6f 06          	movdqu (%esi),%xmm0
443cdb:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
443ce0:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
443ce4:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
443ce9:	83 e9 20             	sub    $0x20,%ecx
443cec:	f7 c1 e0 ff ff ff    	test   $0xffffffe0,%ecx
443cf2:	75 dd                	jne    0x443cd1
443cf4:	f7 c1 fc ff ff ff    	test   $0xfffffffc,%ecx
443cfa:	74 15                	je     0x443d11
443cfc:	83 ef 04             	sub    $0x4,%edi
443cff:	83 ee 04             	sub    $0x4,%esi
443d02:	8b 06                	mov    (%esi),%eax
443d04:	89 07                	mov    %eax,(%edi)
443d06:	83 e9 04             	sub    $0x4,%ecx
443d09:	f7 c1 fc ff ff ff    	test   $0xfffffffc,%ecx
443d0f:	75 eb                	jne    0x443cfc
443d11:	85 c9                	test   %ecx,%ecx
443d13:	74 0f                	je     0x443d24
443d15:	83 ef 01             	sub    $0x1,%edi
443d18:	83 ee 01             	sub    $0x1,%esi
443d1b:	8a 06                	mov    (%esi),%al
443d1d:	88 07                	mov    %al,(%edi)
443d1f:	83 e9 01             	sub    $0x1,%ecx
443d22:	75 f1                	jne    0x443d15
443d24:	8b 44 24 0c          	mov    0xc(%esp),%eax
443d28:	5e                   	pop    %esi
443d29:	5f                   	pop    %edi
443d2a:	c3                   	ret
443d2b:	eb 03                	jmp    0x443d30
443d2d:	cc                   	int3
443d2e:	cc                   	int3
443d2f:	cc                   	int3
443d30:	8b c6                	mov    %esi,%eax
443d32:	83 e0 0f             	and    $0xf,%eax
443d35:	85 c0                	test   %eax,%eax
443d37:	0f 85 e3 00 00 00    	jne    0x443e20
443d3d:	8b d1                	mov    %ecx,%edx
443d3f:	83 e1 7f             	and    $0x7f,%ecx
443d42:	c1 ea 07             	shr    $0x7,%edx
443d45:	74 66                	je     0x443dad
443d47:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
443d4e:	8b ff                	mov    %edi,%edi
443d50:	66 0f 6f 06          	movdqa (%esi),%xmm0
443d54:	66 0f 6f 4e 10       	movdqa 0x10(%esi),%xmm1
443d59:	66 0f 6f 56 20       	movdqa 0x20(%esi),%xmm2
443d5e:	66 0f 6f 5e 30       	movdqa 0x30(%esi),%xmm3
443d63:	66 0f 7f 07          	movdqa %xmm0,(%edi)
443d67:	66 0f 7f 4f 10       	movdqa %xmm1,0x10(%edi)
443d6c:	66 0f 7f 57 20       	movdqa %xmm2,0x20(%edi)
443d71:	66 0f 7f 5f 30       	movdqa %xmm3,0x30(%edi)
443d76:	66 0f 6f 66 40       	movdqa 0x40(%esi),%xmm4
443d7b:	66 0f 6f 6e 50       	movdqa 0x50(%esi),%xmm5
443d80:	66 0f 6f 76 60       	movdqa 0x60(%esi),%xmm6
443d85:	66 0f 6f 7e 70       	movdqa 0x70(%esi),%xmm7
443d8a:	66 0f 7f 67 40       	movdqa %xmm4,0x40(%edi)
443d8f:	66 0f 7f 6f 50       	movdqa %xmm5,0x50(%edi)
443d94:	66 0f 7f 77 60       	movdqa %xmm6,0x60(%edi)
443d99:	66 0f 7f 7f 70       	movdqa %xmm7,0x70(%edi)
443d9e:	8d b6 80 00 00 00    	lea    0x80(%esi),%esi
443da4:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
443daa:	4a                   	dec    %edx
443dab:	75 a3                	jne    0x443d50
443dad:	85 c9                	test   %ecx,%ecx
443daf:	74 5f                	je     0x443e10
443db1:	8b d1                	mov    %ecx,%edx
443db3:	c1 ea 05             	shr    $0x5,%edx
443db6:	85 d2                	test   %edx,%edx
443db8:	74 21                	je     0x443ddb
443dba:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
443dc0:	f3 0f 6f 06          	movdqu (%esi),%xmm0
443dc4:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
443dc9:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
443dcd:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
443dd2:	8d 76 20             	lea    0x20(%esi),%esi
443dd5:	8d 7f 20             	lea    0x20(%edi),%edi
443dd8:	4a                   	dec    %edx
443dd9:	75 e5                	jne    0x443dc0
443ddb:	83 e1 1f             	and    $0x1f,%ecx
443dde:	74 30                	je     0x443e10
443de0:	8b c1                	mov    %ecx,%eax
443de2:	c1 e9 02             	shr    $0x2,%ecx
443de5:	74 0f                	je     0x443df6
443de7:	8b 16                	mov    (%esi),%edx
443de9:	89 17                	mov    %edx,(%edi)
443deb:	83 c7 04             	add    $0x4,%edi
443dee:	83 c6 04             	add    $0x4,%esi
443df1:	83 e9 01             	sub    $0x1,%ecx
443df4:	75 f1                	jne    0x443de7
443df6:	8b c8                	mov    %eax,%ecx
443df8:	83 e1 03             	and    $0x3,%ecx
443dfb:	74 13                	je     0x443e10
443dfd:	8a 06                	mov    (%esi),%al
443dff:	88 07                	mov    %al,(%edi)
443e01:	46                   	inc    %esi
443e02:	47                   	inc    %edi
443e03:	49                   	dec    %ecx
443e04:	75 f7                	jne    0x443dfd
443e06:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
443e0d:	8d 49 00             	lea    0x0(%ecx),%ecx
443e10:	8b 44 24 0c          	mov    0xc(%esp),%eax
443e14:	5e                   	pop    %esi
443e15:	5f                   	pop    %edi
443e16:	c3                   	ret
443e17:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
443e1e:	8b ff                	mov    %edi,%edi
443e20:	ba 10 00 00 00       	mov    $0x10,%edx
443e25:	2b d0                	sub    %eax,%edx
443e27:	2b ca                	sub    %edx,%ecx
443e29:	51                   	push   %ecx
443e2a:	8b c2                	mov    %edx,%eax
443e2c:	8b c8                	mov    %eax,%ecx
443e2e:	83 e1 03             	and    $0x3,%ecx
443e31:	74 09                	je     0x443e3c
443e33:	8a 16                	mov    (%esi),%dl
443e35:	88 17                	mov    %dl,(%edi)
443e37:	46                   	inc    %esi
443e38:	47                   	inc    %edi
443e39:	49                   	dec    %ecx
443e3a:	75 f7                	jne    0x443e33
443e3c:	c1 e8 02             	shr    $0x2,%eax
443e3f:	74 0d                	je     0x443e4e
443e41:	8b 16                	mov    (%esi),%edx
443e43:	89 17                	mov    %edx,(%edi)
443e45:	8d 76 04             	lea    0x4(%esi),%esi
443e48:	8d 7f 04             	lea    0x4(%edi),%edi
443e4b:	48                   	dec    %eax
443e4c:	75 f3                	jne    0x443e41
443e4e:	59                   	pop    %ecx
443e4f:	e9 e9 fe ff ff       	jmp    0x443d3d
443e54:	cc                   	int3
443e55:	cc                   	int3
443e56:	cc                   	int3
443e57:	cc                   	int3
443e58:	cc                   	int3
443e59:	cc                   	int3
443e5a:	cc                   	int3
443e5b:	cc                   	int3
443e5c:	cc                   	int3
443e5d:	cc                   	int3
443e5e:	cc                   	int3
443e5f:	cc                   	int3
443e60:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
443e64:	0f b6 44 24 08       	movzbl 0x8(%esp),%eax
443e69:	8b d7                	mov    %edi,%edx
443e6b:	8b 7c 24 04          	mov    0x4(%esp),%edi
443e6f:	85 c9                	test   %ecx,%ecx
443e71:	0f 84 3c 01 00 00    	je     0x443fb3
443e77:	69 c0 01 01 01 01    	imul   $0x1010101,%eax,%eax
443e7d:	83 f9 20             	cmp    $0x20,%ecx
443e80:	0f 86 df 00 00 00    	jbe    0x443f65
443e86:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
443e8c:	0f 82 8b 00 00 00    	jb     0x443f1d
443e92:	0f ba 25 e0 af 4b 00 	btl    $0x1,0x4bafe0
443e99:	01
443e9a:	73 09                	jae    0x443ea5
443e9c:	f3 aa                	rep stos %al,%es:(%edi)
443e9e:	8b 44 24 04          	mov    0x4(%esp),%eax
443ea2:	8b fa                	mov    %edx,%edi
443ea4:	c3                   	ret
443ea5:	0f ba 25 a0 80 4b 00 	btl    $0x1,0x4b80a0
443eac:	01
443ead:	0f 83 b2 00 00 00    	jae    0x443f65
443eb3:	66 0f 6e c0          	movd   %eax,%xmm0
443eb7:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
443ebc:	03 cf                	add    %edi,%ecx
443ebe:	0f 11 07             	movups %xmm0,(%edi)
443ec1:	83 c7 10             	add    $0x10,%edi
443ec4:	83 e7 f0             	and    $0xfffffff0,%edi
443ec7:	2b cf                	sub    %edi,%ecx
443ec9:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
443ecf:	76 4c                	jbe    0x443f1d
443ed1:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
443ed8:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
443edf:	90                   	nop
443ee0:	66 0f 7f 07          	movdqa %xmm0,(%edi)
443ee4:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
443ee9:	66 0f 7f 47 20       	movdqa %xmm0,0x20(%edi)
443eee:	66 0f 7f 47 30       	movdqa %xmm0,0x30(%edi)
443ef3:	66 0f 7f 47 40       	movdqa %xmm0,0x40(%edi)
443ef8:	66 0f 7f 47 50       	movdqa %xmm0,0x50(%edi)
443efd:	66 0f 7f 47 60       	movdqa %xmm0,0x60(%edi)
443f02:	66 0f 7f 47 70       	movdqa %xmm0,0x70(%edi)
443f07:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
443f0d:	81 e9 80 00 00 00    	sub    $0x80,%ecx
443f13:	f7 c1 00 ff ff ff    	test   $0xffffff00,%ecx
443f19:	75 c5                	jne    0x443ee0
443f1b:	eb 13                	jmp    0x443f30
443f1d:	0f ba 25 a0 80 4b 00 	btl    $0x1,0x4b80a0
443f24:	01
443f25:	73 3e                	jae    0x443f65
443f27:	66 0f 6e c0          	movd   %eax,%xmm0
443f2b:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
443f30:	83 f9 20             	cmp    $0x20,%ecx
443f33:	72 1c                	jb     0x443f51
443f35:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
443f39:	f3 0f 7f 47 10       	movdqu %xmm0,0x10(%edi)
443f3e:	83 c7 20             	add    $0x20,%edi
443f41:	83 e9 20             	sub    $0x20,%ecx
443f44:	83 f9 20             	cmp    $0x20,%ecx
443f47:	73 ec                	jae    0x443f35
443f49:	f7 c1 1f 00 00 00    	test   $0x1f,%ecx
443f4f:	74 62                	je     0x443fb3
443f51:	8d 7c 0f e0          	lea    -0x20(%edi,%ecx,1),%edi
443f55:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
443f59:	f3 0f 7f 47 10       	movdqu %xmm0,0x10(%edi)
443f5e:	8b 44 24 04          	mov    0x4(%esp),%eax
443f62:	8b fa                	mov    %edx,%edi
443f64:	c3                   	ret
443f65:	f7 c1 03 00 00 00    	test   $0x3,%ecx
443f6b:	74 0e                	je     0x443f7b
443f6d:	88 07                	mov    %al,(%edi)
443f6f:	47                   	inc    %edi
443f70:	83 e9 01             	sub    $0x1,%ecx
443f73:	f7 c1 03 00 00 00    	test   $0x3,%ecx
443f79:	75 f2                	jne    0x443f6d
443f7b:	f7 c1 04 00 00 00    	test   $0x4,%ecx
443f81:	74 08                	je     0x443f8b
443f83:	89 07                	mov    %eax,(%edi)
443f85:	83 c7 04             	add    $0x4,%edi
443f88:	83 e9 04             	sub    $0x4,%ecx
443f8b:	f7 c1 f8 ff ff ff    	test   $0xfffffff8,%ecx
443f91:	74 20                	je     0x443fb3
443f93:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
443f9a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
443fa0:	89 07                	mov    %eax,(%edi)
443fa2:	89 47 04             	mov    %eax,0x4(%edi)
443fa5:	83 c7 08             	add    $0x8,%edi
443fa8:	83 e9 08             	sub    $0x8,%ecx
443fab:	f7 c1 f8 ff ff ff    	test   $0xfffffff8,%ecx
443fb1:	75 ed                	jne    0x443fa0
443fb3:	8b 44 24 04          	mov    0x4(%esp),%eax
443fb7:	8b fa                	mov    %edx,%edi
443fb9:	c3                   	ret
443fba:	cc                   	int3
443fbb:	cc                   	int3
443fbc:	cc                   	int3
443fbd:	cc                   	int3
443fbe:	cc                   	int3
443fbf:	cc                   	int3
443fc0:	83 3d dc af 4b 00 01 	cmpl   $0x1,0x4bafdc
443fc7:	72 5f                	jb     0x444028
443fc9:	0f b6 44 24 08       	movzbl 0x8(%esp),%eax
443fce:	8b d0                	mov    %eax,%edx
443fd0:	c1 e0 08             	shl    $0x8,%eax
443fd3:	0b d0                	or     %eax,%edx
443fd5:	66 0f 6e da          	movd   %edx,%xmm3
443fd9:	f2 0f 70 db 00       	pshuflw $0x0,%xmm3,%xmm3
443fde:	0f 16 db             	movlhps %xmm3,%xmm3
443fe1:	8b 54 24 04          	mov    0x4(%esp),%edx
443fe5:	b9 0f 00 00 00       	mov    $0xf,%ecx
443fea:	83 c8 ff             	or     $0xffffffff,%eax
443fed:	23 ca                	and    %edx,%ecx
443fef:	d3 e0                	shl    %cl,%eax
443ff1:	2b d1                	sub    %ecx,%edx
443ff3:	f3 0f 6f 0a          	movdqu (%edx),%xmm1
443ff7:	66 0f ef d2          	pxor   %xmm2,%xmm2
443ffb:	66 0f 74 d1          	pcmpeqb %xmm1,%xmm2
443fff:	66 0f 74 cb          	pcmpeqb %xmm3,%xmm1
444003:	66 0f eb d1          	por    %xmm1,%xmm2
444007:	66 0f d7 ca          	pmovmskb %xmm2,%ecx
44400b:	23 c8                	and    %eax,%ecx
44400d:	75 08                	jne    0x444017
44400f:	83 c8 ff             	or     $0xffffffff,%eax
444012:	83 c2 10             	add    $0x10,%edx
444015:	eb dc                	jmp    0x443ff3
444017:	0f bc c1             	bsf    %ecx,%eax
44401a:	03 c2                	add    %edx,%eax
44401c:	66 0f 7e da          	movd   %xmm3,%edx
444020:	33 c9                	xor    %ecx,%ecx
444022:	3a 10                	cmp    (%eax),%dl
444024:	0f 45 c1             	cmovne %ecx,%eax
444027:	c3                   	ret
444028:	33 c0                	xor    %eax,%eax
44402a:	8a 44 24 08          	mov    0x8(%esp),%al
44402e:	53                   	push   %ebx
44402f:	8b d8                	mov    %eax,%ebx
444031:	c1 e0 08             	shl    $0x8,%eax
444034:	8b 54 24 08          	mov    0x8(%esp),%edx
444038:	f7 c2 03 00 00 00    	test   $0x3,%edx
44403e:	74 15                	je     0x444055
444040:	8a 0a                	mov    (%edx),%cl
444042:	83 c2 01             	add    $0x1,%edx
444045:	3a cb                	cmp    %bl,%cl
444047:	74 59                	je     0x4440a2
444049:	84 c9                	test   %cl,%cl
44404b:	74 51                	je     0x44409e
44404d:	f7 c2 03 00 00 00    	test   $0x3,%edx
444053:	75 eb                	jne    0x444040
444055:	0b d8                	or     %eax,%ebx
444057:	57                   	push   %edi
444058:	8b c3                	mov    %ebx,%eax
44405a:	c1 e3 10             	shl    $0x10,%ebx
44405d:	56                   	push   %esi
44405e:	0b d8                	or     %eax,%ebx
444060:	8b 0a                	mov    (%edx),%ecx
444062:	bf ff fe fe 7e       	mov    $0x7efefeff,%edi
444067:	8b c1                	mov    %ecx,%eax
444069:	8b f7                	mov    %edi,%esi
44406b:	33 cb                	xor    %ebx,%ecx
44406d:	03 f0                	add    %eax,%esi
44406f:	03 f9                	add    %ecx,%edi
444071:	83 f1 ff             	xor    $0xffffffff,%ecx
444074:	83 f0 ff             	xor    $0xffffffff,%eax
444077:	33 cf                	xor    %edi,%ecx
444079:	33 c6                	xor    %esi,%eax
44407b:	83 c2 04             	add    $0x4,%edx
44407e:	81 e1 00 01 01 81    	and    $0x81010100,%ecx
444084:	75 21                	jne    0x4440a7
444086:	25 00 01 01 81       	and    $0x81010100,%eax
44408b:	74 d3                	je     0x444060
44408d:	25 00 01 01 01       	and    $0x1010100,%eax
444092:	75 08                	jne    0x44409c
444094:	81 e6 00 00 00 80    	and    $0x80000000,%esi
44409a:	75 c4                	jne    0x444060
44409c:	5e                   	pop    %esi
44409d:	5f                   	pop    %edi
44409e:	5b                   	pop    %ebx
44409f:	33 c0                	xor    %eax,%eax
4440a1:	c3                   	ret