4a2d53:	8d 52 01             	lea    0x1(%edx),%edx
4a2d56:	88 42 ff             	mov    %al,-0x1(%edx)
4a2d59:	83 e9 01             	sub    $0x1,%ecx
4a2d5c:	75 f2                	jne    0x4a2d50
4a2d5e:	8b 4c 24 48          	mov    0x48(%esp),%ecx
4a2d62:	5f                   	pop    %edi
4a2d63:	5e                   	pop    %esi
4a2d64:	5d                   	pop    %ebp
4a2d65:	5b                   	pop    %ebx
4a2d66:	33 cc                	xor    %esp,%ecx
4a2d68:	e8 6d e7 13 00       	call   0x5e14da
4a2d6d:	83 c4 3c             	add    $0x3c,%esp
4a2d70:	c3                   	ret
4a2d71:	cc                   	int3
4a2d72:	cc                   	int3
4a2d73:	cc                   	int3
4a2d74:	cc                   	int3
4a2d75:	cc                   	int3
4a2d76:	cc                   	int3
4a2d77:	cc                   	int3
4a2d78:	cc                   	int3
4a2d79:	cc                   	int3
4a2d7a:	cc                   	int3
4a2d7b:	cc                   	int3
4a2d7c:	cc                   	int3
4a2d7d:	cc                   	int3
4a2d7e:	cc                   	int3
4a2d7f:	cc                   	int3
4a2d80:	b8 14 00 00 00       	mov    $0x14,%eax
4a2d85:	e8 66 e7 13 00       	call   0x5e14f0
4a2d8a:	8b 4c 24 28          	mov    0x28(%esp),%ecx
4a2d8e:	8b d1                	mov    %ecx,%edx
4a2d90:	53                   	push   %ebx
4a2d91:	55                   	push   %ebp
4a2d92:	8b 6c 24 20          	mov    0x20(%esp),%ebp
4a2d96:	56                   	push   %esi
4a2d97:	8b 74 24 2c          	mov    0x2c(%esp),%esi
4a2d9b:	57                   	push   %edi
4a2d9c:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
4a2da0:	83 fe 10             	cmp    $0x10,%esi
4a2da3:	72 5b                	jb     0x4a2e00
4a2da5:	8b c6                	mov    %esi,%eax
4a2da7:	c1 e8 04             	shr    $0x4,%eax
4a2daa:	89 44 24 10          	mov    %eax,0x10(%esp)
4a2dae:	66 90                	xchg   %ax,%ax
4a2db0:	8b c7                	mov    %edi,%eax
4a2db2:	2b d5                	sub    %ebp,%edx
4a2db4:	2b c5                	sub    %ebp,%eax
4a2db6:	8b cd                	mov    %ebp,%ecx
4a2db8:	89 44 24 14          	mov    %eax,0x14(%esp)
4a2dbc:	bb 04 00 00 00       	mov    $0x4,%ebx
4a2dc1:	8b f0                	mov    %eax,%esi
4a2dc3:	8b 04 0a             	mov    (%edx,%ecx,1),%eax
4a2dc6:	8d 49 04             	lea    0x4(%ecx),%ecx
4a2dc9:	33 41 fc             	xor    -0x4(%ecx),%eax
4a2dcc:	89 44 0e fc          	mov    %eax,-0x4(%esi,%ecx,1)
4a2dd0:	83 eb 01             	sub    $0x1,%ebx
4a2dd3:	75 ee                	jne    0x4a2dc3
4a2dd5:	ff 74 24 34          	push   0x34(%esp)
4a2dd9:	57                   	push   %edi
4a2dda:	57                   	push   %edi
4a2ddb:	ff 54 24 48          	call   *0x48(%esp)
4a2ddf:	8b 74 24 3c          	mov    0x3c(%esp),%esi
4a2de3:	8b d7                	mov    %edi,%edx
4a2de5:	83 ee 10             	sub    $0x10,%esi
4a2de8:	83 c4 0c             	add    $0xc,%esp
4a2deb:	83 c5 10             	add    $0x10,%ebp
4a2dee:	89 74 24 30          	mov    %esi,0x30(%esp)
4a2df2:	83 c7 10             	add    $0x10,%edi
4a2df5:	83 6c 24 10 01       	subl   $0x1,0x10(%esp)
4a2dfa:	75 b4                	jne    0x4a2db0
4a2dfc:	8b 4c 24 38          	mov    0x38(%esp),%ecx
4a2e00:	85 f6                	test   %esi,%esi
4a2e02:	0f 84 04 01 00 00    	je     0x4a2f0c
4a2e08:	8b df                	mov    %edi,%ebx
4a2e0a:	8b ca                	mov    %edx,%ecx
4a2e0c:	2b dd                	sub    %ebp,%ebx
4a2e0e:	2b cd                	sub    %ebp,%ecx
4a2e10:	89 5c 24 14          	mov    %ebx,0x14(%esp)
4a2e14:	33 c0                	xor    %eax,%eax
4a2e16:	bb 01 00 00 00       	mov    $0x1,%ebx
4a2e1b:	89 4c 24 20          	mov    %ecx,0x20(%esp)
4a2e1f:	2b dd                	sub    %ebp,%ebx
4a2e21:	89 5c 24 10          	mov    %ebx,0x10(%esp)
4a2e25:	bb 02 00 00 00       	mov    $0x2,%ebx
4a2e2a:	2b dd                	sub    %ebp,%ebx
4a2e2c:	89 5c 24 18          	mov    %ebx,0x18(%esp)
4a2e30:	bb 03 00 00 00       	mov    $0x3,%ebx
4a2e35:	2b dd                	sub    %ebp,%ebx
4a2e37:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
4a2e3b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4a2e40:	3b c6                	cmp    %esi,%eax
4a2e42:	73 6e                	jae    0x4a2eb2
4a2e44:	8b 74 24 14          	mov    0x14(%esp),%esi
4a2e48:	8d 1c 28             	lea    (%eax,%ebp,1),%ebx
4a2e4b:	8a 0c 19             	mov    (%ecx,%ebx,1),%cl
4a2e4e:	32 0b                	xor    (%ebx),%cl
4a2e50:	88 0c 1e             	mov    %cl,(%esi,%ebx,1)
4a2e53:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4a2e57:	8b 74 24 30          	mov    0x30(%esp),%esi
4a2e5b:	03 cb                	add    %ebx,%ecx
4a2e5d:	3b ce                	cmp    %esi,%ecx
4a2e5f:	73 50                	jae    0x4a2eb1
4a2e61:	8a 4c 28 01          	mov    0x1(%eax,%ebp,1),%cl
4a2e65:	32 4c 10 01          	xor    0x1(%eax,%edx,1),%cl
4a2e69:	88 4c 07 01          	mov    %cl,0x1(%edi,%eax,1)
4a2e6d:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4a2e71:	03 cb                	add    %ebx,%ecx
4a2e73:	3b ce                	cmp    %esi,%ecx
4a2e75:	73 35                	jae    0x4a2eac
4a2e77:	8a 4c 28 02          	mov    0x2(%eax,%ebp,1),%cl
4a2e7b:	32 4c 10 02          	xor    0x2(%eax,%edx,1),%cl
4a2e7f:	88 4c 07 02          	mov    %cl,0x2(%edi,%eax,1)
4a2e83:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4a2e87:	03 cb                	add    %ebx,%ecx
4a2e89:	3b ce                	cmp    %esi,%ecx
4a2e8b:	73 1a                	jae    0x4a2ea7
4a2e8d:	8a 4c 28 03          	mov    0x3(%eax,%ebp,1),%cl
4a2e91:	32 4c 10 03          	xor    0x3(%eax,%edx,1),%cl
4a2e95:	88 4c 07 03          	mov    %cl,0x3(%edi,%eax,1)
4a2e99:	83 c0 04             	add    $0x4,%eax
4a2e9c:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4a2ea0:	83 f8 10             	cmp    $0x10,%eax
4a2ea3:	72 9b                	jb     0x4a2e40
4a2ea5:	eb 2a                	jmp    0x4a2ed1
4a2ea7:	83 c0 03             	add    $0x3,%eax
4a2eaa:	eb 06                	jmp    0x4a2eb2
4a2eac:	83 c0 02             	add    $0x2,%eax
4a2eaf:	eb 01                	jmp    0x4a2eb2
4a2eb1:	40                   	inc    %eax
4a2eb2:	83 f8 10             	cmp    $0x10,%eax
4a2eb5:	73 1a                	jae    0x4a2ed1
4a2eb7:	bb 10 00 00 00       	mov    $0x10,%ebx
4a2ebc:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
4a2ebf:	2b d7                	sub    %edi,%edx
4a2ec1:	2b d8                	sub    %eax,%ebx
4a2ec3:	8a 04 0a             	mov    (%edx,%ecx,1),%al
4a2ec6:	8d 49 01             	lea    0x1(%ecx),%ecx
4a2ec9:	88 41 ff             	mov    %al,-0x1(%ecx)
4a2ecc:	83 eb 01             	sub    $0x1,%ebx
4a2ecf:	75 f2                	jne    0x4a2ec3
4a2ed1:	ff 74 24 34          	push   0x34(%esp)
4a2ed5:	57                   	push   %edi
4a2ed6:	57                   	push   %edi
4a2ed7:	ff 54 24 48          	call   *0x48(%esp)
4a2edb:	83 c4 0c             	add    $0xc,%esp
4a2ede:	8b d7                	mov    %edi,%edx
4a2ee0:	83 fe 10             	cmp    $0x10,%esi
4a2ee3:	76 15                	jbe    0x4a2efa
4a2ee5:	83 ee 10             	sub    $0x10,%esi
4a2ee8:	83 c5 10             	add    $0x10,%ebp
4a2eeb:	83 c7 10             	add    $0x10,%edi
4a2eee:	89 74 24 30          	mov    %esi,0x30(%esp)
4a2ef2:	85 f6                	test   %esi,%esi
4a2ef4:	0f 85 0e ff ff ff    	jne    0x4a2e08
4a2efa:	8b 44 24 38          	mov    0x38(%esp),%eax
4a2efe:	0f 10 02             	movups (%edx),%xmm0
4a2f01:	5f                   	pop    %edi
4a2f02:	5e                   	pop    %esi
4a2f03:	5d                   	pop    %ebp
4a2f04:	0f 11 00             	movups %xmm0,(%eax)
4a2f07:	5b                   	pop    %ebx
4a2f08:	83 c4 14             	add    $0x14,%esp
4a2f0b:	c3                   	ret
4a2f0c:	0f 10 02             	movups (%edx),%xmm0
4a2f0f:	5f                   	pop    %edi
4a2f10:	5e                   	pop    %esi
4a2f11:	5d                   	pop    %ebp
4a2f12:	0f 11 01             	movups %xmm0,(%ecx)
4a2f15:	5b                   	pop    %ebx
4a2f16:	83 c4 14             	add    $0x14,%esp
4a2f19:	c3                   	ret
4a2f1a:	cc                   	int3
4a2f1b:	cc                   	int3
4a2f1c:	cc                   	int3
4a2f1d:	cc                   	int3
4a2f1e:	cc                   	int3
4a2f1f:	cc                   	int3
4a2f20:	b8 10 00 00 00       	mov    $0x10,%eax
4a2f25:	e8 c6 e5 13 00       	call   0x5e14f0
4a2f2a:	8b 4c 24 28          	mov    0x28(%esp),%ecx
4a2f2e:	53                   	push   %ebx
4a2f2f:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
4a2f33:	55                   	push   %ebp
4a2f34:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
4a2f38:	56                   	push   %esi
4a2f39:	8b 74 24 28          	mov    0x28(%esp),%esi
4a2f3d:	57                   	push   %edi
4a2f3e:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
4a2f42:	8b 3f                	mov    (%edi),%edi
4a2f44:	85 ff                	test   %edi,%edi
4a2f46:	74 15                	je     0x4a2f5d
4a2f48:	85 f6                	test   %esi,%esi
4a2f4a:	74 11                	je     0x4a2f5d
4a2f4c:	8a 04 0f             	mov    (%edi,%ecx,1),%al
4a2f4f:	4e                   	dec    %esi
4a2f50:	32 45 00             	xor    0x0(%ebp),%al
4a2f53:	47                   	inc    %edi
4a2f54:	88 03                	mov    %al,(%ebx)
4a2f56:	45                   	inc    %ebp
4a2f57:	43                   	inc    %ebx
4a2f58:	83 e7 0f             	and    $0xf,%edi
4a2f5b:	75 eb                	jne    0x4a2f48
4a2f5d:	8b 54 24 34          	mov    0x34(%esp),%edx
4a2f61:	83 fe 10             	cmp    $0x10,%esi
4a2f64:	0f 82 8c 00 00 00    	jb     0x4a2ff6
4a2f6a:	8b c5                	mov    %ebp,%eax
4a2f6c:	33 ff                	xor    %edi,%edi
4a2f6e:	2b c1                	sub    %ecx,%eax
4a2f70:	89 7c 24 14          	mov    %edi,0x14(%esp)
4a2f74:	89 44 24 10          	mov    %eax,0x10(%esp)
4a2f78:	8b fb                	mov    %ebx,%edi
4a2f7a:	8b c6                	mov    %esi,%eax
4a2f7c:	2b f9                	sub    %ecx,%edi
4a2f7e:	c1 e8 04             	shr    $0x4,%eax
4a2f81:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4a2f85:	c1 e0 04             	shl    $0x4,%eax
4a2f88:	03 d8                	add    %eax,%ebx
4a2f8a:	03 e8                	add    %eax,%ebp
4a2f8c:	89 5c 24 18          	mov    %ebx,0x18(%esp)
4a2f90:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4a2f94:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
4a2f98:	8b 6c 24 38          	mov    0x38(%esp),%ebp
4a2f9c:	0f 1f 40 00          	nopl   0x0(%eax)
4a2fa0:	ff 74 24 30          	push   0x30(%esp)
4a2fa4:	55                   	push   %ebp
4a2fa5:	52                   	push   %edx
4a2fa6:	ff 54 24 4c          	call   *0x4c(%esp)
4a2faa:	8b 44 24 40          	mov    0x40(%esp),%eax
4a2fae:	50                   	push   %eax
4a2faf:	e8 1c 02 00 00       	call   0x4a31d0
4a2fb4:	83 c4 10             	add    $0x10,%esp
4a2fb7:	8b c5                	mov    %ebp,%eax
4a2fb9:	ba 04 00 00 00       	mov    $0x4,%edx
4a2fbe:	66 90                	xchg   %ax,%ax
4a2fc0:	8b 0c 03             	mov    (%ebx,%eax,1),%ecx
4a2fc3:	8d 40 04             	lea    0x4(%eax),%eax
4a2fc6:	33 48 fc             	xor    -0x4(%eax),%ecx
4a2fc9:	89 4c 07 fc          	mov    %ecx,-0x4(%edi,%eax,1)
4a2fcd:	83 ea 01             	sub    $0x1,%edx
4a2fd0:	75 ee                	jne    0x4a2fc0
4a2fd2:	8b 54 24 34          	mov    0x34(%esp),%edx
4a2fd6:	83 ee 10             	sub    $0x10,%esi
4a2fd9:	83 c7 10             	add    $0x10,%edi
4a2fdc:	83 c3 10             	add    $0x10,%ebx
4a2fdf:	83 6c 24 2c 01       	subl   $0x1,0x2c(%esp)
4a2fe4:	75 ba                	jne    0x4a2fa0
4a2fe6:	8b 7c 24 14          	mov    0x14(%esp),%edi
4a2fea:	8b 5c 24 18          	mov    0x18(%esp),%ebx
4a2fee:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
4a2ff2:	8b 4c 24 38          	mov    0x38(%esp),%ecx
4a2ff6:	85 f6                	test   %esi,%esi
4a2ff8:	74 38                	je     0x4a3032
4a2ffa:	ff 74 24 30          	push   0x30(%esp)
4a2ffe:	51                   	push   %ecx
4a2fff:	52                   	push   %edx
4a3000:	ff 54 24 4c          	call   *0x4c(%esp)
4a3004:	8b 44 24 40          	mov    0x40(%esp),%eax
4a3008:	50                   	push   %eax
4a3009:	e8 c2 01 00 00       	call   0x4a31d0
4a300e:	8b 44 24 48          	mov    0x48(%esp),%eax
4a3012:	83 c4 10             	add    $0x10,%esp
4a3015:	2b e8                	sub    %eax,%ebp
4a3017:	2b d8                	sub    %eax,%ebx
4a3019:	8d 0c 07             	lea    (%edi,%eax,1),%ecx
4a301c:	03 fe                	add    %esi,%edi
4a301e:	66 90                	xchg   %ax,%ax
4a3020:	8a 04 29             	mov    (%ecx,%ebp,1),%al
4a3023:	8d 49 01             	lea    0x1(%ecx),%ecx
4a3026:	32 41 ff             	xor    -0x1(%ecx),%al
4a3029:	88 44 19 ff          	mov    %al,-0x1(%ecx,%ebx,1)
4a302d:	83 ee 01             	sub    $0x1,%esi
4a3030:	75 ee                	jne    0x4a3020
4a3032:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4a3036:	89 38                	mov    %edi,(%eax)
4a3038:	5f                   	pop    %edi
4a3039:	5e                   	pop    %esi
4a303a:	5d                   	pop    %ebp
4a303b:	5b                   	pop    %ebx
4a303c:	83 c4 10             	add    $0x10,%esp
4a303f:	c3                   	ret
4a3040:	b8 08 00 00 00       	mov    $0x8,%eax
4a3045:	e8 a6 e4 13 00       	call   0x5e14f0
4a304a:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4a304e:	53                   	push   %ebx
4a304f:	55                   	push   %ebp
4a3050:	8b 6c 24 18          	mov    0x18(%esp),%ebp
4a3054:	56                   	push   %esi
4a3055:	8b 74 24 20          	mov    0x20(%esp),%esi
4a3059:	57                   	push   %edi
4a305a:	8b 7c 24 34          	mov    0x34(%esp),%edi
4a305e:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4a3062:	8b 3f                	mov    (%edi),%edi
4a3064:	89 7c 24 14          	mov    %edi,0x14(%esp)
4a3068:	85 ff                	test   %edi,%edi
4a306a:	74 21                	je     0x4a308d
4a306c:	8b 54 24 30          	mov    0x30(%esp),%edx
4a3070:	85 f6                	test   %esi,%esi
4a3072:	74 19                	je     0x4a308d
4a3074:	8a 04 17             	mov    (%edi,%edx,1),%al
4a3077:	4e                   	dec    %esi
4a3078:	32 01                	xor    (%ecx),%al
4a307a:	47                   	inc    %edi
4a307b:	88 45 00             	mov    %al,0x0(%ebp)
4a307e:	41                   	inc    %ecx
4a307f:	45                   	inc    %ebp
4a3080:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4a3084:	83 e7 0f             	and    $0xf,%edi
4a3087:	89 7c 24 14          	mov    %edi,0x14(%esp)
4a308b:	75 e3                	jne    0x4a3070
4a308d:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
4a3091:	0f b6 53 0c          	movzbl 0xc(%ebx),%edx
4a3095:	0f b6 43 0d          	movzbl 0xd(%ebx),%eax
4a3099:	c1 e2 08             	shl    $0x8,%edx
4a309c:	0b d0                	or     %eax,%edx
4a309e:	0f b6 43 0e          	movzbl 0xe(%ebx),%eax
4a30a2:	c1 e2 08             	shl    $0x8,%edx
4a30a5:	0b d0                	or     %eax,%edx
4a30a7:	0f b6 43 0f          	movzbl 0xf(%ebx),%eax
4a30ab:	c1 e2 08             	shl    $0x8,%edx
4a30ae:	0b d0                	or     %eax,%edx
4a30b0:	89 54 24 24          	mov    %edx,0x24(%esp)
4a30b4:	83 fe 10             	cmp    $0x10,%esi
4a30b7:	0f 82 8a 00 00 00    	jb     0x4a3147
4a30bd:	8b fb                	mov    %ebx,%edi
4a30bf:	90                   	nop
4a30c0:	8b de                	mov    %esi,%ebx
4a30c2:	c1 eb 04             	shr    $0x4,%ebx
4a30c5:	03 d3                	add    %ebx,%edx
4a30c7:	89 54 24 24          	mov    %edx,0x24(%esp)
4a30cb:	3b d3                	cmp    %ebx,%edx
4a30cd:	73 08                	jae    0x4a30d7
4a30cf:	2b da                	sub    %edx,%ebx
4a30d1:	33 d2                	xor    %edx,%edx
4a30d3:	89 54 24 24          	mov    %edx,0x24(%esp)
4a30d7:	57                   	push   %edi
4a30d8:	ff 74 24 2c          	push   0x2c(%esp)
4a30dc:	53                   	push   %ebx
4a30dd:	55                   	push   %ebp
4a30de:	51                   	push   %ecx
4a30df:	ff 54 24 4c          	call   *0x4c(%esp)
4a30e3:	8b 54 24 38          	mov    0x38(%esp),%edx
4a30e7:	83 c4 14             	add    $0x14,%esp
4a30ea:	8b c2                	mov    %edx,%eax
4a30ec:	88 57 0f             	mov    %dl,0xf(%edi)
4a30ef:	c1 e8 18             	shr    $0x18,%eax
4a30f2:	88 47 0c             	mov    %al,0xc(%edi)
4a30f5:	8b c2                	mov    %edx,%eax
4a30f7:	c1 e8 10             	shr    $0x10,%eax
4a30fa:	88 47 0d             	mov    %al,0xd(%edi)