4f2de2:	8b 4c 24 28          	mov    0x28(%esp),%ecx
4f2de6:	88 50 02             	mov    %dl,0x2(%eax)
4f2de9:	83 c1 04             	add    $0x4,%ecx
4f2dec:	83 c0 04             	add    $0x4,%eax
4f2def:	89 4c 24 28          	mov    %ecx,0x28(%esp)
4f2df3:	89 5c 24 18          	mov    %ebx,0x18(%esp)
4f2df7:	83 fd 10             	cmp    $0x10,%ebp
4f2dfa:	0f 82 54 ff ff ff    	jb     0x4f2d54
4f2e00:	eb 0b                	jmp    0x4f2e0d
4f2e02:	83 c5 03             	add    $0x3,%ebp
4f2e05:	eb 06                	jmp    0x4f2e0d
4f2e07:	83 c5 02             	add    $0x2,%ebp
4f2e0a:	eb 01                	jmp    0x4f2e0d
4f2e0c:	45                   	inc    %ebp
4f2e0d:	83 fe 10             	cmp    $0x10,%esi
4f2e10:	76 3c                	jbe    0x4f2e4e
4f2e12:	8b 5c 24 14          	mov    0x14(%esp),%ebx
4f2e16:	83 c7 10             	add    $0x10,%edi
4f2e19:	83 44 24 1c 10       	addl   $0x10,0x1c(%esp)
4f2e1e:	83 c3 10             	add    $0x10,%ebx
4f2e21:	83 6c 24 10 10       	subl   $0x10,0x10(%esp)
4f2e26:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4f2e2a:	8b 54 24 24          	mov    0x24(%esp),%edx
4f2e2e:	89 5c 24 14          	mov    %ebx,0x14(%esp)
4f2e32:	83 ee 10             	sub    $0x10,%esi
4f2e35:	0f 85 e5 fe ff ff    	jne    0x4f2d20
4f2e3b:	5f                   	pop    %edi
4f2e3c:	5e                   	pop    %esi
4f2e3d:	5d                   	pop    %ebp
4f2e3e:	5b                   	pop    %ebx
4f2e3f:	8b 4c 24 54          	mov    0x54(%esp),%ecx
4f2e43:	33 cc                	xor    %esp,%ecx
4f2e45:	e8 dc eb 0d 00       	call   0x5d1a26
4f2e4a:	83 c4 58             	add    $0x58,%esp
4f2e4d:	c3                   	ret
4f2e4e:	83 fd 10             	cmp    $0x10,%ebp
4f2e51:	73 22                	jae    0x4f2e75
4f2e53:	8b 44 24 30          	mov    0x30(%esp),%eax
4f2e57:	ba 10 00 00 00       	mov    $0x10,%edx
4f2e5c:	8b 5c 24 14          	mov    0x14(%esp),%ebx
4f2e60:	2b d8                	sub    %eax,%ebx
4f2e62:	2b d5                	sub    %ebp,%edx
4f2e64:	8d 0c 28             	lea    (%eax,%ebp,1),%ecx
4f2e67:	8a 04 0b             	mov    (%ebx,%ecx,1),%al
4f2e6a:	8d 49 01             	lea    0x1(%ecx),%ecx
4f2e6d:	88 41 ff             	mov    %al,-0x1(%ecx)
4f2e70:	83 ea 01             	sub    $0x1,%edx
4f2e73:	75 f2                	jne    0x4f2e67
4f2e75:	8b 4c 24 64          	mov    0x64(%esp),%ecx
4f2e79:	5f                   	pop    %edi
4f2e7a:	5e                   	pop    %esi
4f2e7b:	5d                   	pop    %ebp
4f2e7c:	5b                   	pop    %ebx
4f2e7d:	33 cc                	xor    %esp,%ecx
4f2e7f:	e8 a2 eb 0d 00       	call   0x5d1a26
4f2e84:	83 c4 58             	add    $0x58,%esp
4f2e87:	c3                   	ret
4f2e88:	cc                   	int3
4f2e89:	cc                   	int3
4f2e8a:	cc                   	int3
4f2e8b:	cc                   	int3
4f2e8c:	cc                   	int3
4f2e8d:	cc                   	int3
4f2e8e:	cc                   	int3
4f2e8f:	cc                   	int3
4f2e90:	b8 1c 00 00 00       	mov    $0x1c,%eax
4f2e95:	e8 16 e9 0d 00       	call   0x5d17b0
4f2e9a:	55                   	push   %ebp
4f2e9b:	8b 6c 24 34          	mov    0x34(%esp),%ebp
4f2e9f:	56                   	push   %esi
4f2ea0:	8b 74 24 30          	mov    0x30(%esp),%esi
4f2ea4:	85 f6                	test   %esi,%esi
4f2ea6:	0f 84 9a 01 00 00    	je     0x4f3046
4f2eac:	53                   	push   %ebx
4f2ead:	8b 5c 24 30          	mov    0x30(%esp),%ebx
4f2eb1:	57                   	push   %edi
4f2eb2:	83 fe 10             	cmp    $0x10,%esi
4f2eb5:	72 72                	jb     0x4f2f29
4f2eb7:	8b c6                	mov    %esi,%eax
4f2eb9:	c1 e8 04             	shr    $0x4,%eax
4f2ebc:	89 44 24 38          	mov    %eax,0x38(%esp)
4f2ec0:	8b 44 24 30          	mov    0x30(%esp),%eax
4f2ec4:	89 44 24 10          	mov    %eax,0x10(%esp)
4f2ec8:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
4f2ecf:	00
4f2ed0:	2b 6c 24 10          	sub    0x10(%esp),%ebp
4f2ed4:	8b fb                	mov    %ebx,%edi
4f2ed6:	2b 7c 24 10          	sub    0x10(%esp),%edi
4f2eda:	ba 04 00 00 00       	mov    $0x4,%edx
4f2edf:	90                   	nop
4f2ee0:	8b 0c 28             	mov    (%eax,%ebp,1),%ecx
4f2ee3:	8d 40 04             	lea    0x4(%eax),%eax
4f2ee6:	33 48 fc             	xor    -0x4(%eax),%ecx
4f2ee9:	89 4c 07 fc          	mov    %ecx,-0x4(%edi,%eax,1)
4f2eed:	83 ea 01             	sub    $0x1,%edx
4f2ef0:	75 ee                	jne    0x4f2ee0
4f2ef2:	ff 74 24 3c          	push   0x3c(%esp)
4f2ef6:	53                   	push   %ebx
4f2ef7:	53                   	push   %ebx
4f2ef8:	ff 54 24 50          	call   *0x50(%esp)
4f2efc:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4f2f00:	8b eb                	mov    %ebx,%ebp
4f2f02:	83 ee 10             	sub    $0x10,%esi
4f2f05:	83 c0 10             	add    $0x10,%eax
4f2f08:	83 c4 0c             	add    $0xc,%esp
4f2f0b:	89 44 24 10          	mov    %eax,0x10(%esp)
4f2f0f:	83 c3 10             	add    $0x10,%ebx
4f2f12:	8b ce                	mov    %esi,%ecx
4f2f14:	83 6c 24 38 01       	subl   $0x1,0x38(%esp)
4f2f19:	75 b5                	jne    0x4f2ed0
4f2f1b:	89 4c 24 38          	mov    %ecx,0x38(%esp)
4f2f1f:	85 c9                	test   %ecx,%ecx
4f2f21:	0f 84 12 01 00 00    	je     0x4f3039
4f2f27:	eb 08                	jmp    0x4f2f31
4f2f29:	8b 44 24 30          	mov    0x30(%esp),%eax
4f2f2d:	89 44 24 10          	mov    %eax,0x10(%esp)
4f2f31:	8b f3                	mov    %ebx,%esi
4f2f33:	89 6c 24 14          	mov    %ebp,0x14(%esp)
4f2f37:	29 44 24 14          	sub    %eax,0x14(%esp)
4f2f3b:	8d 48 01             	lea    0x1(%eax),%ecx
4f2f3e:	2b f0                	sub    %eax,%esi
4f2f40:	8d 7b 02             	lea    0x2(%ebx),%edi
4f2f43:	89 74 24 20          	mov    %esi,0x20(%esp)
4f2f47:	33 d2                	xor    %edx,%edx
4f2f49:	be 01 00 00 00       	mov    $0x1,%esi
4f2f4e:	2b f0                	sub    %eax,%esi
4f2f50:	89 74 24 24          	mov    %esi,0x24(%esp)
4f2f54:	be 02 00 00 00       	mov    $0x2,%esi
4f2f59:	2b f0                	sub    %eax,%esi
4f2f5b:	8b c5                	mov    %ebp,%eax
4f2f5d:	2b c3                	sub    %ebx,%eax
4f2f5f:	89 74 24 28          	mov    %esi,0x28(%esp)
4f2f63:	8b 74 24 38          	mov    0x38(%esp),%esi
4f2f67:	89 44 24 18          	mov    %eax,0x18(%esp)
4f2f6b:	8b c3                	mov    %ebx,%eax
4f2f6d:	f7 d0                	not    %eax
4f2f6f:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4f2f73:	3b d6                	cmp    %esi,%edx
4f2f75:	73 71                	jae    0x4f2fe8
4f2f77:	8a 41 ff             	mov    -0x1(%ecx),%al
4f2f7a:	32 04 2a             	xor    (%edx,%ebp,1),%al
4f2f7d:	88 47 fe             	mov    %al,-0x2(%edi)
4f2f80:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4f2f84:	03 c7                	add    %edi,%eax
4f2f86:	3b c6                	cmp    %esi,%eax
4f2f88:	73 58                	jae    0x4f2fe2
4f2f8a:	8b 44 24 14          	mov    0x14(%esp),%eax
4f2f8e:	8b 74 24 20          	mov    0x20(%esp),%esi
4f2f92:	8a 04 01             	mov    (%ecx,%eax,1),%al
4f2f95:	32 01                	xor    (%ecx),%al
4f2f97:	88 04 31             	mov    %al,(%ecx,%esi,1)
4f2f9a:	8b 44 24 24          	mov    0x24(%esp),%eax
4f2f9e:	8b 74 24 38          	mov    0x38(%esp),%esi
4f2fa2:	03 c1                	add    %ecx,%eax
4f2fa4:	3b c6                	cmp    %esi,%eax
4f2fa6:	73 35                	jae    0x4f2fdd
4f2fa8:	8b 44 24 18          	mov    0x18(%esp),%eax
4f2fac:	8a 04 38             	mov    (%eax,%edi,1),%al
4f2faf:	32 41 01             	xor    0x1(%ecx),%al
4f2fb2:	88 07                	mov    %al,(%edi)
4f2fb4:	8b 44 24 28          	mov    0x28(%esp),%eax
4f2fb8:	03 c1                	add    %ecx,%eax
4f2fba:	3b c6                	cmp    %esi,%eax
4f2fbc:	73 1a                	jae    0x4f2fd8
4f2fbe:	8a 41 02             	mov    0x2(%ecx),%al
4f2fc1:	83 c1 04             	add    $0x4,%ecx
4f2fc4:	32 44 2a 03          	xor    0x3(%edx,%ebp,1),%al
4f2fc8:	83 c2 04             	add    $0x4,%edx
4f2fcb:	88 47 01             	mov    %al,0x1(%edi)
4f2fce:	83 c7 04             	add    $0x4,%edi
4f2fd1:	83 fa 10             	cmp    $0x10,%edx
4f2fd4:	72 9d                	jb     0x4f2f73
4f2fd6:	eb 30                	jmp    0x4f3008
4f2fd8:	83 c2 03             	add    $0x3,%edx
4f2fdb:	eb 06                	jmp    0x4f2fe3
4f2fdd:	83 c2 02             	add    $0x2,%edx
4f2fe0:	eb 01                	jmp    0x4f2fe3
4f2fe2:	42                   	inc    %edx
4f2fe3:	83 fa 10             	cmp    $0x10,%edx
4f2fe6:	73 20                	jae    0x4f3008
4f2fe8:	8b 74 24 18          	mov    0x18(%esp),%esi
4f2fec:	8d 0c 1a             	lea    (%edx,%ebx,1),%ecx
4f2fef:	bf 10 00 00 00       	mov    $0x10,%edi
4f2ff4:	2b fa                	sub    %edx,%edi
4f2ff6:	8a 04 31             	mov    (%ecx,%esi,1),%al
4f2ff9:	8d 49 01             	lea    0x1(%ecx),%ecx
4f2ffc:	88 41 ff             	mov    %al,-0x1(%ecx)
4f2fff:	83 ef 01             	sub    $0x1,%edi
4f3002:	75 f2                	jne    0x4f2ff6
4f3004:	8b 74 24 38          	mov    0x38(%esp),%esi
4f3008:	ff 74 24 3c          	push   0x3c(%esp)
4f300c:	53                   	push   %ebx
4f300d:	53                   	push   %ebx
4f300e:	ff 54 24 50          	call   *0x50(%esp)
4f3012:	83 c4 0c             	add    $0xc,%esp
4f3015:	8b eb                	mov    %ebx,%ebp
4f3017:	83 fe 10             	cmp    $0x10,%esi
4f301a:	76 1d                	jbe    0x4f3039
4f301c:	8b 44 24 10          	mov    0x10(%esp),%eax
4f3020:	83 ee 10             	sub    $0x10,%esi
4f3023:	83 c0 10             	add    $0x10,%eax
4f3026:	89 74 24 38          	mov    %esi,0x38(%esp)
4f302a:	83 c3 10             	add    $0x10,%ebx
4f302d:	89 44 24 10          	mov    %eax,0x10(%esp)
4f3031:	85 f6                	test   %esi,%esi
4f3033:	0f 85 f8 fe ff ff    	jne    0x4f2f31
4f3039:	8b 44 24 40          	mov    0x40(%esp),%eax
4f303d:	0f 10 45 00          	movups 0x0(%ebp),%xmm0
4f3041:	5f                   	pop    %edi
4f3042:	5b                   	pop    %ebx
4f3043:	0f 11 00             	movups %xmm0,(%eax)
4f3046:	5e                   	pop    %esi
4f3047:	5d                   	pop    %ebp
4f3048:	83 c4 1c             	add    $0x1c,%esp
4f304b:	c3                   	ret
4f304c:	cc                   	int3
4f304d:	cc                   	int3
4f304e:	cc                   	int3
4f304f:	cc                   	int3
4f3050:	b8 10 00 00 00       	mov    $0x10,%eax
4f3055:	e8 56 e7 0d 00       	call   0x5d17b0
4f305a:	8b 4c 24 28          	mov    0x28(%esp),%ecx
4f305e:	53                   	push   %ebx
4f305f:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
4f3063:	55                   	push   %ebp
4f3064:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
4f3068:	56                   	push   %esi
4f3069:	8b 74 24 28          	mov    0x28(%esp),%esi
4f306d:	57                   	push   %edi
4f306e:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
4f3072:	8b 3f                	mov    (%edi),%edi
4f3074:	85 ff                	test   %edi,%edi
4f3076:	74 15                	je     0x4f308d
4f3078:	85 f6                	test   %esi,%esi
4f307a:	74 11                	je     0x4f308d
4f307c:	8a 04 0f             	mov    (%edi,%ecx,1),%al
4f307f:	4e                   	dec    %esi
4f3080:	32 45 00             	xor    0x0(%ebp),%al
4f3083:	47                   	inc    %edi
4f3084:	88 03                	mov    %al,(%ebx)
4f3086:	45                   	inc    %ebp
4f3087:	43                   	inc    %ebx
4f3088:	83 e7 0f             	and    $0xf,%edi
4f308b:	75 eb                	jne    0x4f3078
4f308d:	8b 54 24 34          	mov    0x34(%esp),%edx
4f3091:	83 fe 10             	cmp    $0x10,%esi
4f3094:	0f 82 8c 00 00 00    	jb     0x4f3126
4f309a:	8b c5                	mov    %ebp,%eax
4f309c:	33 ff                	xor    %edi,%edi
4f309e:	2b c1                	sub    %ecx,%eax
4f30a0:	89 7c 24 14          	mov    %edi,0x14(%esp)
4f30a4:	89 44 24 10          	mov    %eax,0x10(%esp)
4f30a8:	8b fb                	mov    %ebx,%edi
4f30aa:	8b c6                	mov    %esi,%eax
4f30ac:	2b f9                	sub    %ecx,%edi
4f30ae:	c1 e8 04             	shr    $0x4,%eax
4f30b1:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4f30b5:	c1 e0 04             	shl    $0x4,%eax
4f30b8:	03 d8                	add    %eax,%ebx
4f30ba:	03 e8                	add    %eax,%ebp
4f30bc:	89 5c 24 18          	mov    %ebx,0x18(%esp)
4f30c0:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4f30c4:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
4f30c8:	8b 6c 24 38          	mov    0x38(%esp),%ebp
4f30cc:	0f 1f 40 00          	nopl   0x0(%eax)
4f30d0:	ff 74 24 30          	push   0x30(%esp)
4f30d4:	55                   	push   %ebp
4f30d5:	52                   	push   %edx
4f30d6:	ff 54 24 4c          	call   *0x4c(%esp)
4f30da:	8b 44 24 40          	mov    0x40(%esp),%eax
4f30de:	50                   	push   %eax
4f30df:	e8 dc 01 00 00       	call   0x4f32c0
4f30e4:	83 c4 10             	add    $0x10,%esp
4f30e7:	8b c5                	mov    %ebp,%eax
4f30e9:	ba 04 00 00 00       	mov    $0x4,%edx
4f30ee:	66 90                	xchg   %ax,%ax
4f30f0:	8b 0c 03             	mov    (%ebx,%eax,1),%ecx
4f30f3:	8d 40 04             	lea    0x4(%eax),%eax
4f30f6:	33 48 fc             	xor    -0x4(%eax),%ecx
4f30f9:	89 4c 07 fc          	mov    %ecx,-0x4(%edi,%eax,1)
4f30fd:	83 ea 01             	sub    $0x1,%edx
4f3100:	75 ee                	jne    0x4f30f0
4f3102:	8b 54 24 34          	mov    0x34(%esp),%edx
4f3106:	83 ee 10             	sub    $0x10,%esi
4f3109:	83 c7 10             	add    $0x10,%edi
4f310c:	83 c3 10             	add    $0x10,%ebx
4f310f:	83 6c 24 2c 01       	subl   $0x1,0x2c(%esp)
4f3114:	75 ba                	jne    0x4f30d0
4f3116:	8b 7c 24 14          	mov    0x14(%esp),%edi
4f311a:	8b 5c 24 18          	mov    0x18(%esp),%ebx
4f311e:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
4f3122:	8b 4c 24 38          	mov    0x38(%esp),%ecx
4f3126:	85 f6                	test   %esi,%esi
4f3128:	74 38                	je     0x4f3162
4f312a:	ff 74 24 30          	push   0x30(%esp)
4f312e:	51                   	push   %ecx
4f312f:	52                   	push   %edx
4f3130:	ff 54 24 4c          	call   *0x4c(%esp)
4f3134:	8b 44 24 40          	mov    0x40(%esp),%eax
4f3138:	50                   	push   %eax
4f3139:	e8 82 01 00 00       	call   0x4f32c0
4f313e:	8b 44 24 48          	mov    0x48(%esp),%eax
4f3142:	83 c4 10             	add    $0x10,%esp
4f3145:	2b e8                	sub    %eax,%ebp
4f3147:	2b d8                	sub    %eax,%ebx
4f3149:	8d 0c 07             	lea    (%edi,%eax,1),%ecx
4f314c:	03 fe                	add    %esi,%edi
4f314e:	66 90                	xchg   %ax,%ax
4f3150:	8a 04 29             	mov    (%ecx,%ebp,1),%al
4f3153:	8d 49 01             	lea    0x1(%ecx),%ecx
4f3156:	32 41 ff             	xor    -0x1(%ecx),%al
4f3159:	88 44 19 ff          	mov    %al,-0x1(%ecx,%ebx,1)
4f315d:	83 ee 01             	sub    $0x1,%esi
4f3160:	75 ee                	jne    0x4f3150
4f3162:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4f3166:	89 38                	mov    %edi,(%eax)
4f3168:	5f                   	pop    %edi
4f3169:	5e                   	pop    %esi
4f316a:	5d                   	pop    %ebp
4f316b:	5b                   	pop    %ebx
4f316c:	83 c4 10             	add    $0x10,%esp
4f316f:	c3                   	ret
4f3170:	b8 08 00 00 00       	mov    $0x8,%eax
4f3175:	e8 36 e6 0d 00       	call   0x5d17b0
4f317a:	53                   	push   %ebx
4f317b:	8b 5c 24 14          	mov    0x14(%esp),%ebx
4f317f:	55                   	push   %ebp
4f3180:	8b 6c 24 14          	mov    0x14(%esp),%ebp
4f3184:	56                   	push   %esi
4f3185:	8b 74 24 20          	mov    0x20(%esp),%esi
4f3189:	57                   	push   %edi
4f318a:	8b 7c 24 34          	mov    0x34(%esp),%edi
4f318e:	8b 3f                	mov    (%edi),%edi
4f3190:	89 7c 24 14          	mov    %edi,0x14(%esp)
4f3194:	85 ff                	test   %edi,%edi
4f3196:	74 21                	je     0x4f31b9
4f3198:	8b 4c 24 30          	mov    0x30(%esp),%ecx
4f319c:	0f 1f 40 00          	nopl   0x0(%eax)
4f31a0:	85 f6                	test   %esi,%esi
4f31a2:	74 15                	je     0x4f31b9
4f31a4:	8a 04 0f             	mov    (%edi,%ecx,1),%al
4f31a7:	4e                   	dec    %esi
4f31a8:	32 45 00             	xor    0x0(%ebp),%al
4f31ab:	47                   	inc    %edi
4f31ac:	88 03                	mov    %al,(%ebx)
4f31ae:	45                   	inc    %ebp
4f31af:	43                   	inc    %ebx
4f31b0:	83 e7 0f             	and    $0xf,%edi
4f31b3:	89 7c 24 14          	mov    %edi,0x14(%esp)
4f31b7:	75 e7                	jne    0x4f31a0