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
4f336e:	8b c3                	mov    %ebx,%eax
4f3370:	2b c1                	sub    %ecx,%eax
4f3372:	89 44 24 10          	mov    %eax,0x10(%esp)
4f3376:	8b c5                	mov    %ebp,%eax
4f3378:	2b c1                	sub    %ecx,%eax
4f337a:	89 44 24 14          	mov    %eax,0x14(%esp)
4f337e:	8b c7                	mov    %edi,%eax
4f3380:	c1 e8 04             	shr    $0x4,%eax
4f3383:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4f3387:	c1 e0 04             	shl    $0x4,%eax
4f338a:	03 d8                	add    %eax,%ebx
4f338c:	03 e8                	add    %eax,%ebp
4f338e:	89 5c 24 18          	mov    %ebx,0x18(%esp)
4f3392:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4f3396:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
4f339a:	8b 6c 24 14          	mov    0x14(%esp),%ebp
4f339e:	eb 04                	jmp    0x4f33a4
4f33a0:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4f33a4:	ff 74 24 30          	push   0x30(%esp)
4f33a8:	51                   	push   %ecx
4f33a9:	51                   	push   %ecx
4f33aa:	ff d2                	call   *%edx
4f33ac:	83 c4 0c             	add    $0xc,%esp
4f33af:	83 fe 10             	cmp    $0x10,%esi
4f33b2:	73 23                	jae    0x4f33d7
4f33b4:	8b 44 24 34          	mov    0x34(%esp),%eax
4f33b8:	ba 0f 00 00 00       	mov    $0xf,%edx
4f33bd:	2b d6                	sub    %esi,%edx
4f33bf:	03 c6                	add    %esi,%eax
4f33c1:	c1 ea 02             	shr    $0x2,%edx
4f33c4:	42                   	inc    %edx
4f33c5:	8b 0c 28             	mov    (%eax,%ebp,1),%ecx
4f33c8:	8d 40 04             	lea    0x4(%eax),%eax
4f33cb:	33 48 fc             	xor    -0x4(%eax),%ecx
4f33ce:	89 4c 03 fc          	mov    %ecx,-0x4(%ebx,%eax,1)
4f33d2:	83 ea 01             	sub    $0x1,%edx
4f33d5:	75 ee                	jne    0x4f33c5
4f33d7:	8b 54 24 3c          	mov    0x3c(%esp),%edx
4f33db:	83 ef 10             	sub    $0x10,%edi
4f33de:	83 c3 10             	add    $0x10,%ebx
4f33e1:	83 c5 10             	add    $0x10,%ebp
4f33e4:	33 f6                	xor    %esi,%esi
4f33e6:	83 6c 24 2c 01       	subl   $0x1,0x2c(%esp)
4f33eb:	75 b3                	jne    0x4f33a0
4f33ed:	8b 5c 24 18          	mov    0x18(%esp),%ebx
4f33f1:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
4f33f5:	85 ff                	test   %edi,%edi
4f33f7:	74 2e                	je     0x4f3427
4f33f9:	ff 74 24 30          	push   0x30(%esp)
4f33fd:	8b 44 24 38          	mov    0x38(%esp),%eax
4f3401:	50                   	push   %eax
4f3402:	50                   	push   %eax
4f3403:	ff d2                	call   *%edx
4f3405:	8b 44 24 40          	mov    0x40(%esp),%eax
4f3409:	83 c4 0c             	add    $0xc,%esp
4f340c:	2b e8                	sub    %eax,%ebp
4f340e:	2b d8                	sub    %eax,%ebx
4f3410:	8d 0c 06             	lea    (%esi,%eax,1),%ecx
4f3413:	03 f7                	add    %edi,%esi
4f3415:	8a 04 29             	mov    (%ecx,%ebp,1),%al
4f3418:	8d 49 01             	lea    0x1(%ecx),%ecx
4f341b:	32 41 ff             	xor    -0x1(%ecx),%al
4f341e:	88 44 19 ff          	mov    %al,-0x1(%ecx,%ebx,1)
4f3422:	83 ef 01             	sub    $0x1,%edi
4f3425:	75 ee                	jne    0x4f3415
4f3427:	8b 44 24 38          	mov    0x38(%esp),%eax
4f342b:	5f                   	pop    %edi
4f342c:	89 30                	mov    %esi,(%eax)
4f342e:	5e                   	pop    %esi
4f342f:	5d                   	pop    %ebp
4f3430:	5b                   	pop    %ebx
4f3431:	83 c4 10             	add    $0x10,%esp
4f3434:	c3                   	ret
4f3435:	cc                   	int3
4f3436:	cc                   	int3
4f3437:	cc                   	int3
4f3438:	cc                   	int3
4f3439:	cc                   	int3
4f343a:	cc                   	int3
4f343b:	cc                   	int3
4f343c:	cc                   	int3
4f343d:	cc                   	int3
4f343e:	cc                   	int3
4f343f:	cc                   	int3
4f3440:	b8 54 00 00 00       	mov    $0x54,%eax
4f3445:	e8 66 e3 0d 00       	call   0x5d17b0
4f344a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
4f344f:	33 c4                	xor    %esp,%eax
4f3451:	89 44 24 50          	mov    %eax,0x50(%esp)
4f3455:	8b 44 24 5c          	mov    0x5c(%esp),%eax
4f3459:	33 d2                	xor    %edx,%edx
4f345b:	55                   	push   %ebp
4f345c:	8b 6c 24 6c          	mov    0x6c(%esp),%ebp
4f3460:	56                   	push   %esi
4f3461:	8b 74 24 6c          	mov    0x6c(%esp),%esi
4f3465:	57                   	push   %edi
4f3466:	8b bc 24 80 00 00 00 	mov    0x80(%esp),%edi
4f346d:	89 44 24 24          	mov    %eax,0x24(%esp)
4f3471:	89 74 24 30          	mov    %esi,0x30(%esp)
4f3475:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
4f3479:	89 7c 24 34          	mov    %edi,0x34(%esp)
4f347d:	89 54 24 10          	mov    %edx,0x10(%esp)
4f3481:	39 54 24 6c          	cmp    %edx,0x6c(%esp)
4f3485:	0f 86 30 01 00 00    	jbe    0x4f35bb
4f348b:	8d 44 24 38          	lea    0x38(%esp),%eax
4f348f:	2b c5                	sub    %ebp,%eax
4f3491:	89 44 24 14          	mov    %eax,0x14(%esp)
4f3495:	8d 44 24 39          	lea    0x39(%esp),%eax
4f3499:	2b c5                	sub    %ebp,%eax
4f349b:	89 44 24 18          	mov    %eax,0x18(%esp)
4f349f:	8d 44 24 3a          	lea    0x3a(%esp),%eax
4f34a3:	2b c5                	sub    %ebp,%eax
4f34a5:	53                   	push   %ebx
4f34a6:	8d 5d 02             	lea    0x2(%ebp),%ebx
4f34a9:	89 44 24 20          	mov    %eax,0x20(%esp)
4f34ad:	0f 1f 00             	nopl   (%eax)
4f34b0:	0f 10 45 00          	movups 0x0(%ebp),%xmm0
4f34b4:	8b c2                	mov    %edx,%eax
4f34b6:	b9 07 00 00 00       	mov    $0x7,%ecx
4f34bb:	83 e0 07             	and    $0x7,%eax
4f34be:	2b c8                	sub    %eax,%ecx
4f34c0:	8b c2                	mov    %edx,%eax
4f34c2:	8b 54 24 68          	mov    0x68(%esp),%edx
4f34c6:	c1 e8 03             	shr    $0x3,%eax
4f34c9:	89 44 24 24          	mov    %eax,0x24(%esp)
4f34cd:	56                   	push   %esi
4f34ce:	55                   	push   %ebp
4f34cf:	8a 04 10             	mov    (%eax,%edx,1),%al
4f34d2:	ba 01 00 00 00       	mov    $0x1,%edx
4f34d7:	d3 e2                	shl    %cl,%edx
4f34d9:	22 c2                	and    %dl,%al
4f34db:	89 4c 24 34          	mov    %ecx,0x34(%esp)
4f34df:	f6 d8                	neg    %al
4f34e1:	55                   	push   %ebp
4f34e2:	1a c0                	sbb    %al,%al
4f34e4:	24 80                	and    $0x80,%al
4f34e6:	88 44 24 1f          	mov    %al,0x1f(%esp)
4f34ea:	0f 11 44 24 48       	movups %xmm0,0x48(%esp)
4f34ef:	ff d7                	call   *%edi
4f34f1:	8a 55 00             	mov    0x0(%ebp),%dl
4f34f4:	83 c4 0c             	add    $0xc,%esp
4f34f7:	83 bc 24 80 00 00 00 	cmpl   $0x0,0x80(%esp)
4f34fe:	00
4f34ff:	8a 44 24 13          	mov    0x13(%esp),%al
4f3503:	74 0a                	je     0x4f350f
4f3505:	8a c8                	mov    %al,%cl
4f3507:	32 ca                	xor    %dl,%cl
4f3509:	88 4c 24 4c          	mov    %cl,0x4c(%esp)
4f350d:	eb 04                	jmp    0x4f3513
4f350f:	88 44 24 4c          	mov    %al,0x4c(%esp)
4f3513:	8b 6c 24 18          	mov    0x18(%esp),%ebp
4f3517:	8d 74 24 3c          	lea    0x3c(%esp),%esi
4f351b:	32 c2                	xor    %dl,%al
4f351d:	8b cb                	mov    %ebx,%ecx
4f351f:	bf 04 00 00 00       	mov    $0x4,%edi
4f3524:	8a 76 01             	mov    0x1(%esi),%dh
4f3527:	8d 76 04             	lea    0x4(%esi),%esi
4f352a:	8a 56 fc             	mov    -0x4(%esi),%dl
4f352d:	8d 49 04             	lea    0x4(%ecx),%ecx
4f3530:	8a 64 29 fc          	mov    -0x4(%ecx,%ebp,1),%ah
4f3534:	02 d2                	add    %dl,%dl
4f3536:	8a de                	mov    %dh,%bl
4f3538:	02 f6                	add    %dh,%dh
4f353a:	c0 eb 07             	shr    $0x7,%bl
4f353d:	0a da                	or     %dl,%bl
4f353f:	8a d4                	mov    %ah,%dl
4f3541:	c0 ea 07             	shr    $0x7,%dl
4f3544:	02 e4                	add    %ah,%ah
4f3546:	0a f2                	or     %dl,%dh
4f3548:	88 59 fa             	mov    %bl,-0x6(%ecx)
4f354b:	88 71 fb             	mov    %dh,-0x5(%ecx)
4f354e:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4f3552:	8a 5c 0a fc          	mov    -0x4(%edx,%ecx,1),%bl
4f3556:	8a d3                	mov    %bl,%dl
4f3558:	02 db                	add    %bl,%bl