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
4f31b9:	8b 54 24 2c          	mov    0x2c(%esp),%edx
4f31bd:	8b 42 0c             	mov    0xc(%edx),%eax
4f31c0:	0f c8                	bswap  %eax
4f31c2:	89 44 24 24          	mov    %eax,0x24(%esp)
4f31c6:	83 fe 10             	cmp    $0x10,%esi
4f31c9:	0f 82 85 00 00 00    	jb     0x4f3254
4f31cf:	8b f8                	mov    %eax,%edi
4f31d1:	8b ce                	mov    %esi,%ecx
4f31d3:	c1 e9 04             	shr    $0x4,%ecx
4f31d6:	52                   	push   %edx
4f31d7:	ff 74 24 2c          	push   0x2c(%esp)
4f31db:	8d 04 39             	lea    (%ecx,%edi,1),%eax
4f31de:	f7 df                	neg    %edi
4f31e0:	3b c1                	cmp    %ecx,%eax
4f31e2:	0f 43 f9             	cmovae %ecx,%edi
4f31e5:	89 7c 24 18          	mov    %edi,0x18(%esp)
4f31e9:	33 ff                	xor    %edi,%edi
4f31eb:	ff 74 24 18          	push   0x18(%esp)
4f31ef:	3b c1                	cmp    %ecx,%eax
4f31f1:	53                   	push   %ebx
4f31f2:	0f 43 f8             	cmovae %eax,%edi
4f31f5:	55                   	push   %ebp
4f31f6:	89 7c 24 38          	mov    %edi,0x38(%esp)
4f31fa:	ff 54 24 4c          	call   *0x4c(%esp)
4f31fe:	8b 54 24 40          	mov    0x40(%esp),%edx
4f3202:	8b c7                	mov    %edi,%eax
4f3204:	83 c4 14             	add    $0x14,%esp
4f3207:	0f c8                	bswap  %eax
4f3209:	89 42 0c             	mov    %eax,0xc(%edx)
4f320c:	85 ff                	test   %edi,%edi
4f320e:	75 2a                	jne    0x4f323a
4f3210:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
4f3214:	ba 0c 00 00 00       	mov    $0xc,%edx
4f3219:	b8 01 00 00 00       	mov    $0x1,%eax
4f321e:	66 90                	xchg   %ax,%ax
4f3220:	0f b6 4c 3a ff       	movzbl -0x1(%edx,%edi,1),%ecx
4f3225:	4a                   	dec    %edx
4f3226:	03 c1                	add    %ecx,%eax
4f3228:	88 04 3a             	mov    %al,(%edx,%edi,1)
4f322b:	c1 e8 08             	shr    $0x8,%eax
4f322e:	85 d2                	test   %edx,%edx
4f3230:	75 ee                	jne    0x4f3220
4f3232:	8b 7c 24 24          	mov    0x24(%esp),%edi
4f3236:	8b 54 24 2c          	mov    0x2c(%esp),%edx
4f323a:	8b 44 24 10          	mov    0x10(%esp),%eax
4f323e:	c1 e0 04             	shl    $0x4,%eax
4f3241:	2b f0                	sub    %eax,%esi
4f3243:	03 d8                	add    %eax,%ebx
4f3245:	03 e8                	add    %eax,%ebp
4f3247:	83 fe 10             	cmp    $0x10,%esi
4f324a:	73 85                	jae    0x4f31d1
4f324c:	89 7c 24 24          	mov    %edi,0x24(%esp)
4f3250:	8b 7c 24 14          	mov    0x14(%esp),%edi
4f3254:	85 f6                	test   %esi,%esi
4f3256:	74 5a                	je     0x4f32b2
4f3258:	8b 44 24 30          	mov    0x30(%esp),%eax
4f325c:	0f 57 c0             	xorps  %xmm0,%xmm0
4f325f:	52                   	push   %edx
4f3260:	ff 74 24 2c          	push   0x2c(%esp)
4f3264:	6a 01                	push   $0x1
4f3266:	50                   	push   %eax
4f3267:	50                   	push   %eax
4f3268:	0f 11 00             	movups %xmm0,(%eax)
4f326b:	ff 54 24 4c          	call   *0x4c(%esp)
4f326f:	8b 44 24 38          	mov    0x38(%esp),%eax
4f3273:	83 c4 14             	add    $0x14,%esp
4f3276:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4f327a:	83 c0 01             	add    $0x1,%eax
4f327d:	0f c8                	bswap  %eax
4f327f:	89 41 0c             	mov    %eax,0xc(%ecx)
4f3282:	75 09                	jne    0x4f328d
4f3284:	51                   	push   %ecx
4f3285:	e8 66 00 00 00       	call   0x4f32f0
4f328a:	83 c4 04             	add    $0x4,%esp
4f328d:	8b 44 24 30          	mov    0x30(%esp),%eax
4f3291:	2b e8                	sub    %eax,%ebp
4f3293:	2b d8                	sub    %eax,%ebx
4f3295:	8d 0c 07             	lea    (%edi,%eax,1),%ecx
4f3298:	03 fe                	add    %esi,%edi
4f329a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
4f32a0:	8a 04 29             	mov    (%ecx,%ebp,1),%al
4f32a3:	8d 49 01             	lea    0x1(%ecx),%ecx
4f32a6:	32 41 ff             	xor    -0x1(%ecx),%al
4f32a9:	88 44 0b ff          	mov    %al,-0x1(%ebx,%ecx,1)
4f32ad:	83 ee 01             	sub    $0x1,%esi
4f32b0:	75 ee                	jne    0x4f32a0
4f32b2:	8b 44 24 34          	mov    0x34(%esp),%eax
4f32b6:	89 38                	mov    %edi,(%eax)
4f32b8:	5f                   	pop    %edi
4f32b9:	5e                   	pop    %esi
4f32ba:	5d                   	pop    %ebp
4f32bb:	5b                   	pop    %ebx
4f32bc:	83 c4 08             	add    $0x8,%esp
4f32bf:	c3                   	ret
4f32c0:	56                   	push   %esi
4f32c1:	8b 74 24 08          	mov    0x8(%esp),%esi
4f32c5:	ba 10 00 00 00       	mov    $0x10,%edx
4f32ca:	b8 01 00 00 00       	mov    $0x1,%eax
4f32cf:	90                   	nop
4f32d0:	0f b6 4c 32 ff       	movzbl -0x1(%edx,%esi,1),%ecx
4f32d5:	4a                   	dec    %edx
4f32d6:	03 c1                	add    %ecx,%eax
4f32d8:	88 04 32             	mov    %al,(%edx,%esi,1)
4f32db:	c1 e8 08             	shr    $0x8,%eax
4f32de:	85 d2                	test   %edx,%edx
4f32e0:	75 ee                	jne    0x4f32d0
4f32e2:	5e                   	pop    %esi
4f32e3:	c3                   	ret
4f32e4:	cc                   	int3
4f32e5:	cc                   	int3
4f32e6:	cc                   	int3
4f32e7:	cc                   	int3
4f32e8:	cc                   	int3
4f32e9:	cc                   	int3
4f32ea:	cc                   	int3
4f32eb:	cc                   	int3
4f32ec:	cc                   	int3
4f32ed:	cc                   	int3
4f32ee:	cc                   	int3
4f32ef:	cc                   	int3
4f32f0:	56                   	push   %esi
4f32f1:	8b 74 24 08          	mov    0x8(%esp),%esi
4f32f5:	ba 0c 00 00 00       	mov    $0xc,%edx
4f32fa:	b8 01 00 00 00       	mov    $0x1,%eax
4f32ff:	90                   	nop
4f3300:	0f b6 4c 32 ff       	movzbl -0x1(%edx,%esi,1),%ecx
4f3305:	4a                   	dec    %edx
4f3306:	03 c1                	add    %ecx,%eax
4f3308:	88 04 32             	mov    %al,(%edx,%esi,1)
4f330b:	c1 e8 08             	shr    $0x8,%eax
4f330e:	85 d2                	test   %edx,%edx
4f3310:	75 ee                	jne    0x4f3300
4f3312:	5e                   	pop    %esi
4f3313:	c3                   	ret
4f3314:	cc                   	int3
4f3315:	cc                   	int3
4f3316:	cc                   	int3
4f3317:	cc                   	int3
4f3318:	cc                   	int3
4f3319:	cc                   	int3
4f331a:	cc                   	int3
4f331b:	cc                   	int3
4f331c:	cc                   	int3
4f331d:	cc                   	int3
4f331e:	cc                   	int3
4f331f:	cc                   	int3
4f3320:	b8 10 00 00 00       	mov    $0x10,%eax
4f3325:	e8 86 e4 0d 00       	call   0x5d17b0
4f332a:	53                   	push   %ebx
4f332b:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
4f332f:	55                   	push   %ebp
4f3330:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
4f3334:	56                   	push   %esi
4f3335:	8b 74 24 34          	mov    0x34(%esp),%esi
4f3339:	57                   	push   %edi
4f333a:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
4f333e:	8b 36                	mov    (%esi),%esi
4f3340:	85 f6                	test   %esi,%esi
4f3342:	74 19                	je     0x4f335d
4f3344:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4f3348:	85 ff                	test   %edi,%edi
4f334a:	74 11                	je     0x4f335d
4f334c:	8a 04 0e             	mov    (%esi,%ecx,1),%al
4f334f:	4f                   	dec    %edi
4f3350:	32 45 00             	xor    0x0(%ebp),%al
4f3353:	46                   	inc    %esi
4f3354:	88 03                	mov    %al,(%ebx)
4f3356:	45                   	inc    %ebp
4f3357:	43                   	inc    %ebx
4f3358:	83 e6 0f             	and    $0xf,%esi
4f335b:	75 eb                	jne    0x4f3348
4f335d:	8b 54 24 3c          	mov    0x3c(%esp),%edx
4f3361:	83 ff 10             	cmp    $0x10,%edi
4f3364:	0f 82 8b 00 00 00    	jb     0x4f33f5
4f336a:	8b 4c 24 34          	mov    0x34(%esp),%ecx