4a3290:	c1 e8 04             	shr    $0x4,%eax
4a3293:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4a3297:	c1 e0 04             	shl    $0x4,%eax
4a329a:	03 d8                	add    %eax,%ebx
4a329c:	03 e8                	add    %eax,%ebp
4a329e:	89 5c 24 18          	mov    %ebx,0x18(%esp)
4a32a2:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4a32a6:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
4a32aa:	8b 6c 24 14          	mov    0x14(%esp),%ebp
4a32ae:	eb 04                	jmp    0x4a32b4
4a32b0:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4a32b4:	ff 74 24 30          	push   0x30(%esp)
4a32b8:	51                   	push   %ecx
4a32b9:	51                   	push   %ecx
4a32ba:	ff d2                	call   *%edx
4a32bc:	83 c4 0c             	add    $0xc,%esp
4a32bf:	83 fe 10             	cmp    $0x10,%esi
4a32c2:	73 23                	jae    0x4a32e7
4a32c4:	8b 44 24 34          	mov    0x34(%esp),%eax
4a32c8:	ba 0f 00 00 00       	mov    $0xf,%edx
4a32cd:	2b d6                	sub    %esi,%edx
4a32cf:	03 c6                	add    %esi,%eax
4a32d1:	c1 ea 02             	shr    $0x2,%edx
4a32d4:	42                   	inc    %edx
4a32d5:	8b 0c 28             	mov    (%eax,%ebp,1),%ecx
4a32d8:	8d 40 04             	lea    0x4(%eax),%eax
4a32db:	33 48 fc             	xor    -0x4(%eax),%ecx
4a32de:	89 4c 03 fc          	mov    %ecx,-0x4(%ebx,%eax,1)
4a32e2:	83 ea 01             	sub    $0x1,%edx
4a32e5:	75 ee                	jne    0x4a32d5
4a32e7:	8b 54 24 3c          	mov    0x3c(%esp),%edx
4a32eb:	83 ef 10             	sub    $0x10,%edi
4a32ee:	83 c3 10             	add    $0x10,%ebx
4a32f1:	83 c5 10             	add    $0x10,%ebp
4a32f4:	33 f6                	xor    %esi,%esi
4a32f6:	83 6c 24 2c 01       	subl   $0x1,0x2c(%esp)
4a32fb:	75 b3                	jne    0x4a32b0
4a32fd:	8b 5c 24 18          	mov    0x18(%esp),%ebx
4a3301:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
4a3305:	85 ff                	test   %edi,%edi
4a3307:	74 2e                	je     0x4a3337
4a3309:	ff 74 24 30          	push   0x30(%esp)
4a330d:	8b 44 24 38          	mov    0x38(%esp),%eax
4a3311:	50                   	push   %eax
4a3312:	50                   	push   %eax
4a3313:	ff d2                	call   *%edx
4a3315:	8b 44 24 40          	mov    0x40(%esp),%eax
4a3319:	83 c4 0c             	add    $0xc,%esp
4a331c:	2b e8                	sub    %eax,%ebp
4a331e:	2b d8                	sub    %eax,%ebx
4a3320:	8d 0c 06             	lea    (%esi,%eax,1),%ecx
4a3323:	03 f7                	add    %edi,%esi
4a3325:	8a 04 29             	mov    (%ecx,%ebp,1),%al
4a3328:	8d 49 01             	lea    0x1(%ecx),%ecx
4a332b:	32 41 ff             	xor    -0x1(%ecx),%al
4a332e:	88 44 19 ff          	mov    %al,-0x1(%ecx,%ebx,1)
4a3332:	83 ef 01             	sub    $0x1,%edi
4a3335:	75 ee                	jne    0x4a3325
4a3337:	8b 44 24 38          	mov    0x38(%esp),%eax
4a333b:	5f                   	pop    %edi
4a333c:	89 30                	mov    %esi,(%eax)
4a333e:	5e                   	pop    %esi
4a333f:	5d                   	pop    %ebp
4a3340:	5b                   	pop    %ebx
4a3341:	83 c4 10             	add    $0x10,%esp
4a3344:	c3                   	ret
4a3345:	cc                   	int3
4a3346:	cc                   	int3
4a3347:	cc                   	int3
4a3348:	cc                   	int3
4a3349:	cc                   	int3
4a334a:	cc                   	int3
4a334b:	cc                   	int3
4a334c:	cc                   	int3
4a334d:	cc                   	int3
4a334e:	cc                   	int3
4a334f:	cc                   	int3
4a3350:	b8 5c 00 00 00       	mov    $0x5c,%eax
4a3355:	e8 96 e1 13 00       	call   0x5e14f0
4a335a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
4a335f:	33 c4                	xor    %esp,%eax
4a3361:	89 44 24 58          	mov    %eax,0x58(%esp)
4a3365:	8b 44 24 64          	mov    0x64(%esp),%eax
4a3369:	33 c9                	xor    %ecx,%ecx
4a336b:	53                   	push   %ebx
4a336c:	8b 5c 24 74          	mov    0x74(%esp),%ebx
4a3370:	57                   	push   %edi
4a3371:	8b 7c 24 74          	mov    0x74(%esp),%edi
4a3375:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4a3379:	8b 84 24 84 00 00 00 	mov    0x84(%esp),%eax
4a3380:	89 7c 24 38          	mov    %edi,0x38(%esp)
4a3384:	89 5c 24 34          	mov    %ebx,0x34(%esp)
4a3388:	89 44 24 18          	mov    %eax,0x18(%esp)
4a338c:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
4a3390:	39 4c 24 70          	cmp    %ecx,0x70(%esp)
4a3394:	0f 86 3f 01 00 00    	jbe    0x4a34d9
4a339a:	8d 44 24 3c          	lea    0x3c(%esp),%eax
4a339e:	2b c3                	sub    %ebx,%eax
4a33a0:	55                   	push   %ebp
4a33a1:	56                   	push   %esi
4a33a2:	89 44 24 24          	mov    %eax,0x24(%esp)
4a33a6:	8b f3                	mov    %ebx,%esi
4a33a8:	8d 44 24 45          	lea    0x45(%esp),%eax
4a33ac:	2b f0                	sub    %eax,%esi
4a33ae:	8d 43 02             	lea    0x2(%ebx),%eax
4a33b1:	8d 50 ff             	lea    -0x1(%eax),%edx
4a33b4:	89 74 24 1c          	mov    %esi,0x1c(%esp)
4a33b8:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4a33bc:	89 54 24 28          	mov    %edx,0x28(%esp)
4a33c0:	0f 10 03             	movups (%ebx),%xmm0
4a33c3:	8b c1                	mov    %ecx,%eax
4a33c5:	bd 07 00 00 00       	mov    $0x7,%ebp
4a33ca:	83 e0 07             	and    $0x7,%eax
4a33cd:	ba 01 00 00 00       	mov    $0x1,%edx
4a33d2:	2b e8                	sub    %eax,%ebp
4a33d4:	8b c1                	mov    %ecx,%eax
4a33d6:	8b 4c 24 70          	mov    0x70(%esp),%ecx
4a33da:	c1 e8 03             	shr    $0x3,%eax
4a33dd:	89 44 24 30          	mov    %eax,0x30(%esp)
4a33e1:	57                   	push   %edi
4a33e2:	53                   	push   %ebx
4a33e3:	8a 04 08             	mov    (%eax,%ecx,1),%al
4a33e6:	8b cd                	mov    %ebp,%ecx
4a33e8:	d3 e2                	shl    %cl,%edx
4a33ea:	22 c2                	and    %dl,%al
4a33ec:	89 6c 24 40          	mov    %ebp,0x40(%esp)
4a33f0:	f6 d8                	neg    %al
4a33f2:	53                   	push   %ebx
4a33f3:	1a c0                	sbb    %al,%al
4a33f5:	24 80                	and    $0x80,%al
4a33f7:	88 44 24 1f          	mov    %al,0x1f(%esp)
4a33fb:	0f 11 44 24 50       	movups %xmm0,0x50(%esp)
4a3400:	ff 54 24 2c          	call   *0x2c(%esp)
4a3404:	83 c4 0c             	add    $0xc,%esp
4a3407:	83 bc 24 88 00 00 00 	cmpl   $0x0,0x88(%esp)
4a340e:	00
4a340f:	74 10                	je     0x4a3421
4a3411:	0f b6 13             	movzbl (%ebx),%edx
4a3414:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
4a3419:	33 d0                	xor    %eax,%edx
4a341b:	88 54 24 54          	mov    %dl,0x54(%esp)
4a341f:	eb 0c                	jmp    0x4a342d
4a3421:	8a 44 24 13          	mov    0x13(%esp),%al
4a3425:	8a 13                	mov    (%ebx),%dl
4a3427:	88 44 24 54          	mov    %al,0x54(%esp)
4a342b:	32 d0                	xor    %al,%dl
4a342d:	89 54 24 18          	mov    %edx,0x18(%esp)
4a3431:	33 ed                	xor    %ebp,%ebp
4a3433:	8b 54 24 24          	mov    0x24(%esp),%edx
4a3437:	8d 7c 24 45          	lea    0x45(%esp),%edi
4a343b:	03 fd                	add    %ebp,%edi
4a343d:	03 f7                	add    %edi,%esi
4a343f:	8a 27                	mov    (%edi),%ah
4a3441:	0f b6 0c 16          	movzbl (%esi,%edx,1),%ecx
4a3445:	8a c4                	mov    %ah,%al
4a3447:	8a 5f 01             	mov    0x1(%edi),%bl
4a344a:	02 c9                	add    %cl,%cl
4a344c:	c0 e8 07             	shr    $0x7,%al
4a344f:	02 e4                	add    %ah,%ah
4a3451:	0a c8                	or     %al,%cl
4a3453:	8a c3                	mov    %bl,%al
4a3455:	c0 e8 07             	shr    $0x7,%al
4a3458:	02 db                	add    %bl,%bl
4a345a:	88 0e                	mov    %cl,(%esi)
4a345c:	0a c4                	or     %ah,%al
4a345e:	8b 4c 24 28          	mov    0x28(%esp),%ecx
4a3462:	8b 74 24 1c          	mov    0x1c(%esp),%esi
4a3466:	88 04 29             	mov    %al,(%ecx,%ebp,1)
4a3469:	8a 4f 02             	mov    0x2(%edi),%cl
4a346c:	8a c1                	mov    %cl,%al
4a346e:	02 c9                	add    %cl,%cl
4a3470:	c0 e8 07             	shr    $0x7,%al
4a3473:	0a c3                	or     %bl,%al
4a3475:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
4a3479:	88 04 2b             	mov    %al,(%ebx,%ebp,1)
4a347c:	8a 47 03             	mov    0x3(%edi),%al
4a347f:	c0 e8 07             	shr    $0x7,%al
4a3482:	0a c1                	or     %cl,%al
4a3484:	88 44 2b 01          	mov    %al,0x1(%ebx,%ebp,1)
4a3488:	83 c5 04             	add    $0x4,%ebp
4a348b:	83 fd 10             	cmp    $0x10,%ebp
4a348e:	7c a7                	jl     0x4a3437
4a3490:	8b 74 24 30          	mov    0x30(%esp),%esi
4a3494:	8b 7c 24 34          	mov    0x34(%esp),%edi
4a3498:	8a 4c 24 14          	mov    0x14(%esp),%cl
4a349c:	8b 54 24 18          	mov    0x18(%esp),%edx
4a34a0:	80 e1 07             	and    $0x7,%cl
4a34a3:	8b 5c 24 3c          	mov    0x3c(%esp),%ebx
4a34a7:	80 e2 80             	and    $0x80,%dl
4a34aa:	0f b6 04 3e          	movzbl (%esi,%edi,1),%eax
4a34ae:	d2 ea                	shr    %cl,%dl
4a34b0:	8b 4c 24 38          	mov    0x38(%esp),%ecx
4a34b4:	0f b3 c8             	btr    %ecx,%eax
4a34b7:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4a34bb:	0a d0                	or     %al,%dl
4a34bd:	41                   	inc    %ecx
4a34be:	88 14 3e             	mov    %dl,(%esi,%edi,1)
4a34c1:	8b 74 24 1c          	mov    0x1c(%esp),%esi
4a34c5:	8b 7c 24 40          	mov    0x40(%esp),%edi
4a34c9:	89 4c 24 14          	mov    %ecx,0x14(%esp)
4a34cd:	3b 4c 24 78          	cmp    0x78(%esp),%ecx
4a34d1:	0f 82 e9 fe ff ff    	jb     0x4a33c0
4a34d7:	5e                   	pop    %esi
4a34d8:	5d                   	pop    %ebp
4a34d9:	8b 4c 24 60          	mov    0x60(%esp),%ecx
4a34dd:	5f                   	pop    %edi
4a34de:	5b                   	pop    %ebx
4a34df:	33 cc                	xor    %esp,%ecx
4a34e1:	e8 f4 df 13 00       	call   0x5e14da
4a34e6:	83 c4 5c             	add    $0x5c,%esp
4a34e9:	c3                   	ret
4a34ea:	cc                   	int3
4a34eb:	cc                   	int3
4a34ec:	cc                   	int3
4a34ed:	cc                   	int3
4a34ee:	cc                   	int3
4a34ef:	cc                   	int3
4a34f0:	b8 30 00 00 00       	mov    $0x30,%eax
4a34f5:	e8 f6 df 13 00       	call   0x5e14f0
4a34fa:	a1 d4 89 72 00       	mov    0x7289d4,%eax
4a34ff:	33 c4                	xor    %esp,%eax
4a3501:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4a3505:	8b 44 24 40          	mov    0x40(%esp),%eax
4a3509:	8b 4c 24 50          	mov    0x50(%esp),%ecx
4a350d:	53                   	push   %ebx
4a350e:	8b 5c 24 40          	mov    0x40(%esp),%ebx
4a3512:	89 44 24 04          	mov    %eax,0x4(%esp)
4a3516:	89 4c 24 08          	mov    %ecx,0x8(%esp)
4a351a:	55                   	push   %ebp
4a351b:	8b 6c 24 40          	mov    0x40(%esp),%ebp
4a351f:	56                   	push   %esi
4a3520:	8b 74 24 50          	mov    0x50(%esp),%esi
4a3524:	85 db                	test   %ebx,%ebx
4a3526:	74 50                	je     0x4a3578
4a3528:	57                   	push   %edi
4a3529:	8b 7c 24 44          	mov    0x44(%esp),%edi
4a352d:	2b ef                	sub    %edi,%ebp
4a352f:	90                   	nop
4a3530:	0f 10 06             	movups (%esi),%xmm0
4a3533:	50                   	push   %eax
4a3534:	56                   	push   %esi
4a3535:	56                   	push   %esi
4a3536:	0f 11 44 24 24       	movups %xmm0,0x24(%esp)
4a353b:	ff d1                	call   *%ecx
4a353d:	83 c4 0c             	add    $0xc,%esp
4a3540:	83 7c 24 5c 00       	cmpl   $0x0,0x5c(%esp)
4a3545:	74 0d                	je     0x4a3554
4a3547:	0f b6 0e             	movzbl (%esi),%ecx
4a354a:	0f b6 07             	movzbl (%edi),%eax
4a354d:	33 c8                	xor    %eax,%ecx
4a354f:	88 0c 2f             	mov    %cl,(%edi,%ebp,1)
4a3552:	eb 09                	jmp    0x4a355d
4a3554:	8a 0f                	mov    (%edi),%cl
4a3556:	8a 06                	mov    (%esi),%al
4a3558:	32 c1                	xor    %cl,%al
4a355a:	88 04 2f             	mov    %al,(%edi,%ebp,1)
4a355d:	8b 44 24 10          	mov    0x10(%esp),%eax
4a3561:	47                   	inc    %edi
4a3562:	88 4c 24 28          	mov    %cl,0x28(%esp)
4a3566:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4a356a:	0f 10 44 24 19       	movups 0x19(%esp),%xmm0
4a356f:	0f 11 06             	movups %xmm0,(%esi)
4a3572:	83 eb 01             	sub    $0x1,%ebx
4a3575:	75 b9                	jne    0x4a3530
4a3577:	5f                   	pop    %edi
4a3578:	8b 4c 24 38          	mov    0x38(%esp),%ecx
4a357c:	5e                   	pop    %esi
4a357d:	5d                   	pop    %ebp
4a357e:	5b                   	pop    %ebx
4a357f:	33 cc                	xor    %esp,%ecx
4a3581:	e8 54 df 13 00       	call   0x5e14da
4a3586:	83 c4 30             	add    $0x30,%esp
4a3589:	c3                   	ret
4a358a:	cc                   	int3
4a358b:	cc                   	int3
4a358c:	cc                   	int3
4a358d:	cc                   	int3
4a358e:	cc                   	int3
4a358f:	cc                   	int3
4a3590:	b8 10 00 00 00       	mov    $0x10,%eax
4a3595:	e8 56 df 13 00       	call   0x5e14f0
4a359a:	83 7c 24 2c 00       	cmpl   $0x0,0x2c(%esp)
4a359f:	53                   	push   %ebx
4a35a0:	55                   	push   %ebp
4a35a1:	56                   	push   %esi
4a35a2:	8b 74 24 34          	mov    0x34(%esp),%esi
4a35a6:	57                   	push   %edi
4a35a7:	8b 36                	mov    (%esi),%esi
4a35a9:	0f 84 1c 01 00 00    	je     0x4a36cb
4a35af:	8b 54 24 28          	mov    0x28(%esp),%edx
4a35b3:	8b 6c 24 24          	mov    0x24(%esp),%ebp
4a35b7:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
4a35bb:	89 54 24 10          	mov    %edx,0x10(%esp)
4a35bf:	89 6c 24 3c          	mov    %ebp,0x3c(%esp)
4a35c3:	85 f6                	test   %esi,%esi
4a35c5:	74 2d                	je     0x4a35f4
4a35c7:	8b 5c 24 34          	mov    0x34(%esp),%ebx
4a35cb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4a35d0:	85 ff                	test   %edi,%edi
4a35d2:	74 20                	je     0x4a35f4
4a35d4:	0f b6 0c 1e          	movzbl (%esi,%ebx,1),%ecx
4a35d8:	4f                   	dec    %edi
4a35d9:	0f b6 45 00          	movzbl 0x0(%ebp),%eax
4a35dd:	45                   	inc    %ebp
4a35de:	33 c8                	xor    %eax,%ecx
4a35e0:	89 6c 24 3c          	mov    %ebp,0x3c(%esp)
4a35e4:	88 0c 1e             	mov    %cl,(%esi,%ebx,1)
4a35e7:	46                   	inc    %esi
4a35e8:	88 0a                	mov    %cl,(%edx)
4a35ea:	42                   	inc    %edx
4a35eb:	89 54 24 10          	mov    %edx,0x10(%esp)
4a35ef:	83 e6 0f             	and    $0xf,%esi
4a35f2:	75 dc                	jne    0x4a35d0
4a35f4:	83 ff 10             	cmp    $0x10,%edi
4a35f7:	72 75                	jb     0x4a366e
4a35f9:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4a35fd:	8b c7                	mov    %edi,%eax
4a35ff:	c1 e8 04             	shr    $0x4,%eax
4a3602:	8b da                	mov    %edx,%ebx
4a3604:	89 44 24 18          	mov    %eax,0x18(%esp)
4a3608:	2b d9                	sub    %ecx,%ebx
4a360a:	c1 e0 04             	shl    $0x4,%eax
4a360d:	2b e9                	sub    %ecx,%ebp
4a360f:	03 d0                	add    %eax,%edx
4a3611:	01 44 24 3c          	add    %eax,0x3c(%esp)
4a3615:	89 54 24 10          	mov    %edx,0x10(%esp)
4a3619:	eb 09                	jmp    0x4a3624
4a361b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4a3620:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4a3624:	ff 74 24 30          	push   0x30(%esp)
4a3628:	51                   	push   %ecx
4a3629:	51                   	push   %ecx
4a362a:	ff 54 24 4c          	call   *0x4c(%esp)
4a362e:	83 c4 0c             	add    $0xc,%esp
4a3631:	83 fe 10             	cmp    $0x10,%esi
4a3634:	73 26                	jae    0x4a365c
4a3636:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4a363a:	ba 0f 00 00 00       	mov    $0xf,%edx
4a363f:	2b d6                	sub    %esi,%edx
4a3641:	03 ce                	add    %esi,%ecx
4a3643:	c1 ea 02             	shr    $0x2,%edx
4a3646:	42                   	inc    %edx
4a3647:	8b 04 29             	mov    (%ecx,%ebp,1),%eax
4a364a:	8d 49 04             	lea    0x4(%ecx),%ecx
4a364d:	31 41 fc             	xor    %eax,-0x4(%ecx)
4a3650:	8b 41 fc             	mov    -0x4(%ecx),%eax
4a3653:	89 44 0b fc          	mov    %eax,-0x4(%ebx,%ecx,1)
4a3657:	83 ea 01             	sub    $0x1,%edx
4a365a:	75 eb                	jne    0x4a3647
4a365c:	83 ef 10             	sub    $0x10,%edi