51523c:	5e                   	pop    %esi
51523d:	c3                   	ret
51523e:	66 90                	xchg   %ax,%ax
515240:	24 4f                	and    $0x4f,%al
515242:	51                   	push   %ecx
515243:	00 dd                	add    %bl,%ch
515245:	4f                   	dec    %edi
515246:	51                   	push   %ecx
515247:	00 41 50             	add    %al,0x50(%ecx)
51524a:	51                   	push   %ecx
51524b:	00 22                	add    %ah,(%edx)
51524d:	51                   	push   %ecx
51524e:	51                   	push   %ecx
51524f:	00 e7                	add    %ah,%bh
515251:	50                   	push   %eax
515252:	51                   	push   %ecx
515253:	00 5f 50             	add    %bl,0x50(%edi)
515256:	51                   	push   %ecx
515257:	00 58 51             	add    %bl,0x51(%eax)
51525a:	51                   	push   %ecx
51525b:	00 d5                	add    %dl,%ch
51525d:	4f                   	dec    %edi
51525e:	51                   	push   %ecx
51525f:	00 2d 50 51 00 38    	add    %ch,0x38005150
515265:	52                   	push   %edx
515266:	51                   	push   %ecx
515267:	00 00                	add    %al,(%eax)
515269:	09 09                	or     %ecx,(%ecx)
51526b:	09 09                	or     %ecx,(%ecx)
51526d:	09 09                	or     %ecx,(%ecx)
51526f:	09 01                	or     %eax,(%ecx)
515271:	02 09                	add    (%ecx),%cl
515273:	09 09                	or     %ecx,(%ecx)
515275:	09 09                	or     %ecx,(%ecx)
515277:	09 03                	or     %eax,(%ebx)
515279:	04 05                	add    $0x5,%al
51527b:	09 09                	or     %ecx,(%ecx)
51527d:	09 06                	or     %eax,(%esi)
51527f:	07                   	pop    %es
515280:	09 09                	or     %ecx,(%ecx)
515282:	09 09                	or     %ecx,(%ecx)
515284:	09 09                	or     %ecx,(%ecx)
515286:	09 09                	or     %ecx,(%ecx)
515288:	09 09                	or     %ecx,(%ecx)
51528a:	09 09                	or     %ecx,(%ecx)
51528c:	09 08                	or     %ecx,(%eax)
51528e:	cc                   	int3
51528f:	cc                   	int3
515290:	b8 30 12 63 00       	mov    $0x631230,%eax
515295:	c3                   	ret
515296:	cc                   	int3
515297:	cc                   	int3
515298:	cc                   	int3
515299:	cc                   	int3
51529a:	cc                   	int3
51529b:	cc                   	int3
51529c:	cc                   	int3
51529d:	cc                   	int3
51529e:	cc                   	int3
51529f:	cc                   	int3
5152a0:	b8 dc e1 68 00       	mov    $0x68e1dc,%eax
5152a5:	c3                   	ret
5152a6:	cc                   	int3
5152a7:	cc                   	int3
5152a8:	cc                   	int3
5152a9:	cc                   	int3
5152aa:	cc                   	int3
5152ab:	cc                   	int3
5152ac:	cc                   	int3
5152ad:	cc                   	int3
5152ae:	cc                   	int3
5152af:	cc                   	int3
5152b0:	b8 dc 00 00 00       	mov    $0xdc,%eax
5152b5:	e8 f6 c4 0b 00       	call   0x5d17b0
5152ba:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5152bf:	33 c4                	xor    %esp,%eax
5152c1:	89 84 24 d8 00 00 00 	mov    %eax,0xd8(%esp)
5152c8:	8b 84 24 e8 00 00 00 	mov    0xe8(%esp),%eax
5152cf:	8b 8c 24 ec 00 00 00 	mov    0xec(%esp),%ecx
5152d6:	89 44 24 04          	mov    %eax,0x4(%esp)
5152da:	8b 84 24 e0 00 00 00 	mov    0xe0(%esp),%eax
5152e1:	53                   	push   %ebx
5152e2:	55                   	push   %ebp
5152e3:	8b ac 24 ec 00 00 00 	mov    0xec(%esp),%ebp
5152ea:	8b 58 60             	mov    0x60(%eax),%ebx
5152ed:	57                   	push   %edi
5152ee:	89 44 24 24          	mov    %eax,0x24(%esp)
5152f2:	89 6c 24 14          	mov    %ebp,0x14(%esp)
5152f6:	8b bb c8 00 00 00    	mov    0xc8(%ebx),%edi
5152fc:	89 4c 24 40          	mov    %ecx,0x40(%esp)
515300:	89 5c 24 20          	mov    %ebx,0x20(%esp)
515304:	89 7c 24 38          	mov    %edi,0x38(%esp)
515308:	8d 47 10             	lea    0x10(%edi),%eax
51530b:	3b c8                	cmp    %eax,%ecx
51530d:	74 1b                	je     0x51532a
51530f:	5f                   	pop    %edi
515310:	5d                   	pop    %ebp
515311:	83 c8 ff             	or     $0xffffffff,%eax
515314:	5b                   	pop    %ebx
515315:	8b 8c 24 d8 00 00 00 	mov    0xd8(%esp),%ecx
51531c:	33 cc                	xor    %esp,%ecx
51531e:	e8 03 c7 0b 00       	call   0x5d1a26
515323:	81 c4 dc 00 00 00    	add    $0xdc,%esp
515329:	c3                   	ret
51532a:	8d 44 24 44          	lea    0x44(%esp),%eax
51532e:	c7 43 20 00 00 00 00 	movl   $0x0,0x20(%ebx)
515335:	f7 d8                	neg    %eax
515337:	8d 4c 24 44          	lea    0x44(%esp),%ecx
51533b:	83 e0 0f             	and    $0xf,%eax
51533e:	03 c1                	add    %ecx,%eax
515340:	89 44 24 0c          	mov    %eax,0xc(%esp)
515344:	56                   	push   %esi
515345:	8d 48 30             	lea    0x30(%eax),%ecx
515348:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
51534c:	8d 4b 20             	lea    0x20(%ebx),%ecx
51534f:	8d 70 40             	lea    0x40(%eax),%esi
515352:	89 74 24 20          	mov    %esi,0x20(%esp)
515356:	51                   	push   %ecx
515357:	53                   	push   %ebx
515358:	83 ff 40             	cmp    $0x40,%edi
51535b:	0f 87 24 02 00 00    	ja     0x515585
515361:	68 80 00 00 00       	push   $0x80
515366:	68 68 12 63 00       	push   $0x631268
51536b:	50                   	push   %eax
51536c:	c7 44 24 54 80 00 00 	movl   $0x80,0x54(%esp)
515373:	00
515374:	e8 47 3d f0 ff       	call   0x4190c0
515379:	ff 74 24 24          	push   0x24(%esp)
51537d:	8d 83 d0 00 00 00    	lea    0xd0(%ebx),%eax
515383:	50                   	push   %eax
515384:	e8 67 df 01 00       	call   0x5332f0
515389:	8b 4c 24 38          	mov    0x38(%esp),%ecx
51538d:	33 ed                	xor    %ebp,%ebp
51538f:	0f 10 83 94 00 00 00 	movups 0x94(%ebx),%xmm0
515396:	8b 44 24 44          	mov    0x44(%esp),%eax
51539a:	83 c4 1c             	add    $0x1c,%esp
51539d:	c7 43 70 00 00 00 00 	movl   $0x0,0x70(%ebx)
5153a4:	0f 11 01             	movups %xmm0,(%ecx)
5153a7:	c7 83 a8 00 00 00 0d 	movl   $0xd,0xa8(%ebx)
5153ae:	00 00 00
5153b1:	c7 83 ac 00 00 00 00 	movl   $0x0,0xac(%ebx)
5153b8:	00 00 00
5153bb:	89 bb b0 00 00 00    	mov    %edi,0xb0(%ebx)
5153c1:	c7 83 b4 00 00 00 00 	movl   $0x0,0xb4(%ebx)
5153c8:	00 00 00
5153cb:	39 68 08             	cmp    %ebp,0x8(%eax)
5153ce:	74 32                	je     0x515402
5153d0:	85 ff                	test   %edi,%edi
5153d2:	0f 84 80 01 00 00    	je     0x515558
5153d8:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5153dc:	8b ef                	mov    %edi,%ebp
5153de:	8b 54 24 18          	mov    0x18(%esp),%edx
5153e2:	2b ce                	sub    %esi,%ecx
5153e4:	2b d6                	sub    %esi,%edx
5153e6:	0f b6 04 31          	movzbl (%ecx,%esi,1),%eax
5153ea:	8d 76 01             	lea    0x1(%esi),%esi
5153ed:	30 46 ff             	xor    %al,-0x1(%esi)
5153f0:	0f b6 46 ff          	movzbl -0x1(%esi),%eax
5153f4:	88 44 32 ff          	mov    %al,-0x1(%edx,%esi,1)
5153f8:	83 ef 01             	sub    $0x1,%edi
5153fb:	75 e9                	jne    0x5153e6
5153fd:	e9 56 01 00 00       	jmp    0x515558
515402:	85 ff                	test   %edi,%edi
515404:	0f 84 4e 01 00 00    	je     0x515558
51540a:	8b 44 24 10          	mov    0x10(%esp),%eax
51540e:	8b 4c 24 18          	mov    0x18(%esp),%ecx
515412:	83 ff 40             	cmp    $0x40,%edi
515415:	0f 82 64 01 00 00    	jb     0x51557f
51541b:	8d 59 ff             	lea    -0x1(%ecx),%ebx
51541e:	33 ed                	xor    %ebp,%ebp
515420:	8d 50 3f             	lea    0x3f(%eax),%edx
515423:	03 df                	add    %edi,%ebx
515425:	03 d7                	add    %edi,%edx
515427:	89 5c 24 34          	mov    %ebx,0x34(%esp)
51542b:	89 54 24 2c          	mov    %edx,0x2c(%esp)
51542f:	3b f3                	cmp    %ebx,%esi
515431:	77 08                	ja     0x51543b
515433:	3b d1                	cmp    %ecx,%edx
515435:	0f 83 44 01 00 00    	jae    0x51557f
51543b:	8b 54 24 14          	mov    0x14(%esp),%edx
51543f:	8d 5a ff             	lea    -0x1(%edx),%ebx
515442:	03 df                	add    %edi,%ebx
515444:	3b f3                	cmp    %ebx,%esi
515446:	77 0a                	ja     0x515452
515448:	39 54 24 2c          	cmp    %edx,0x2c(%esp)
51544c:	0f 83 c6 00 00 00    	jae    0x515518
515452:	3b cb                	cmp    %ebx,%ecx
515454:	77 0a                	ja     0x515460
515456:	39 54 24 34          	cmp    %edx,0x34(%esp)
51545a:	0f 83 b8 00 00 00    	jae    0x515518
515460:	8b df                	mov    %edi,%ebx
515462:	83 e3 c0             	and    $0xffffffc0,%ebx
515465:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
515469:	8d 59 20             	lea    0x20(%ecx),%ebx
51546c:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
515470:	89 5c 24 34          	mov    %ebx,0x34(%esp)
515474:	8d 58 50             	lea    0x50(%eax),%ebx
515477:	8b c1                	mov    %ecx,%eax
515479:	2b c6                	sub    %esi,%eax
51547b:	89 44 24 38          	mov    %eax,0x38(%esp)
51547f:	8b c2                	mov    %edx,%eax
515481:	2b c1                	sub    %ecx,%eax
515483:	8b 4c 24 34          	mov    0x34(%esp),%ecx
515487:	8b f0                	mov    %eax,%esi
515489:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
515490:	0f 10 43 f0          	movups -0x10(%ebx),%xmm0
515494:	8b 44 24 38          	mov    0x38(%esp),%eax
515498:	8d 49 40             	lea    0x40(%ecx),%ecx
51549b:	0f 10 14 2a          	movups (%edx,%ebp,1),%xmm2
51549f:	03 c3                	add    %ebx,%eax
5154a1:	0f 11 53 f0          	movups %xmm2,-0x10(%ebx)
5154a5:	0f 28 ca             	movaps %xmm2,%xmm1
5154a8:	0f 10 14 30          	movups (%eax,%esi,1),%xmm2
5154ac:	66 0f ef c8          	pxor   %xmm0,%xmm1
5154b0:	0f 10 03             	movups (%ebx),%xmm0
5154b3:	0f 11 49 a0          	movups %xmm1,-0x60(%ecx)
5154b7:	0f 11 13             	movups %xmm2,(%ebx)
5154ba:	0f 28 ca             	movaps %xmm2,%xmm1
5154bd:	0f 10 54 0e c0       	movups -0x40(%esi,%ecx,1),%xmm2
5154c2:	66 0f ef c8          	pxor   %xmm0,%xmm1
5154c6:	0f 10 43 10          	movups 0x10(%ebx),%xmm0
5154ca:	0f 11 08             	movups %xmm1,(%eax)
5154cd:	0f 11 53 10          	movups %xmm2,0x10(%ebx)
5154d1:	0f 28 ca             	movaps %xmm2,%xmm1
5154d4:	0f 10 54 2a 30       	movups 0x30(%edx,%ebp,1),%xmm2
5154d9:	83 c5 40             	add    $0x40,%ebp
5154dc:	66 0f ef c8          	pxor   %xmm0,%xmm1
5154e0:	8b c5                	mov    %ebp,%eax
5154e2:	0f 10 43 20          	movups 0x20(%ebx),%xmm0
5154e6:	0f 11 49 c0          	movups %xmm1,-0x40(%ecx)
5154ea:	0f 28 ca             	movaps %xmm2,%xmm1
5154ed:	66 0f ef c8          	pxor   %xmm0,%xmm1
5154f1:	0f 11 53 20          	movups %xmm2,0x20(%ebx)
5154f5:	83 c3 40             	add    $0x40,%ebx
5154f8:	0f 11 49 d0          	movups %xmm1,-0x30(%ecx)
5154fc:	3b ef                	cmp    %edi,%ebp
5154fe:	72 90                	jb     0x515490
515500:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
515504:	8b 74 24 20          	mov    0x20(%esp),%esi
515508:	8b 5c 24 24          	mov    0x24(%esp),%ebx
51550c:	8b 4c 24 18          	mov    0x18(%esp),%ecx
515510:	3b c7                	cmp    %edi,%eax
515512:	73 44                	jae    0x515558
515514:	8b 44 24 10          	mov    0x10(%esp),%eax
515518:	8d 58 40             	lea    0x40(%eax),%ebx
51551b:	89 7c 24 38          	mov    %edi,0x38(%esp)
51551f:	8b c1                	mov    %ecx,%eax
515521:	2b d1                	sub    %ecx,%edx
515523:	2b c6                	sub    %esi,%eax
515525:	89 54 24 20          	mov    %edx,0x20(%esp)
515529:	03 dd                	add    %ebp,%ebx
51552b:	89 44 24 3c          	mov    %eax,0x3c(%esp)
51552f:	8b f7                	mov    %edi,%esi
515531:	2b f5                	sub    %ebp,%esi
515533:	8b ea                	mov    %edx,%ebp
515535:	8d 0c 03             	lea    (%ebx,%eax,1),%ecx
515538:	8a 03                	mov    (%ebx),%al
51553a:	8a 14 29             	mov    (%ecx,%ebp,1),%dl
51553d:	8d 5b 01             	lea    0x1(%ebx),%ebx
515540:	32 c2                	xor    %dl,%al
515542:	88 53 ff             	mov    %dl,-0x1(%ebx)
515545:	88 01                	mov    %al,(%ecx)
515547:	8b 44 24 3c          	mov    0x3c(%esp),%eax
51554b:	83 ee 01             	sub    $0x1,%esi
51554e:	75 e5                	jne    0x515535
515550:	8b 6c 24 38          	mov    0x38(%esp),%ebp
515554:	8b 5c 24 24          	mov    0x24(%esp),%ebx
515558:	8b 7c 24 10          	mov    0x10(%esp),%edi
51555c:	8b f5                	mov    %ebp,%esi
51555e:	f7 de                	neg    %esi
515560:	83 e6 0f             	and    $0xf,%esi
515563:	56                   	push   %esi
515564:	8d 47 40             	lea    0x40(%edi),%eax
515567:	03 c5                	add    %ebp,%eax
515569:	6a 00                	push   $0x0
51556b:	50                   	push   %eax
51556c:	e8 ff d6 0b 00       	call   0x5d2c70
515571:	8d 04 2e             	lea    (%esi,%ebp,1),%eax
515574:	8d 48 20             	lea    0x20(%eax),%ecx
515577:	8d 14 38             	lea    (%eax,%edi,1),%edx
51557a:	e9 eb 00 00 00       	jmp    0x51566a
51557f:	8b 54 24 14          	mov    0x14(%esp),%edx
515583:	eb 93                	jmp    0x515518
515585:	6a 40                	push   $0x40
515587:	68 68 12 63 00       	push   $0x631268
51558c:	50                   	push   %eax
51558d:	c7 44 24 54 40 00 00 	movl   $0x40,0x54(%esp)
515594:	00
515595:	e8 26 3b f0 ff       	call   0x4190c0
51559a:	ff 74 24 24          	push   0x24(%esp)
51559e:	8d 83 d0 00 00 00    	lea    0xd0(%ebx),%eax
5155a4:	50                   	push   %eax
5155a5:	e8 46 dd 01 00       	call   0x5332f0
5155aa:	6a 10                	push   $0x10
5155ac:	8d 83 94 00 00 00    	lea    0x94(%ebx),%eax
5155b2:	c7 43 20 01 00 00 00 	movl   $0x1,0x20(%ebx)
5155b9:	50                   	push   %eax
5155ba:	8d 83 d0 00 00 00    	lea    0xd0(%ebx),%eax
5155c0:	c7 43 70 00 00 00 00 	movl   $0x0,0x70(%ebx)
5155c7:	50                   	push   %eax
5155c8:	e8 f3 dd 01 00       	call   0x5333c0
5155cd:	8b 44 24 50          	mov    0x50(%esp),%eax
5155d1:	83 c4 28             	add    $0x28,%esp
5155d4:	c7 83 a8 00 00 00 0d 	movl   $0xd,0xa8(%ebx)
5155db:	00 00 00
5155de:	c7 83 ac 00 00 00 00 	movl   $0x0,0xac(%ebx)
5155e5:	00 00 00
5155e8:	89 bb b0 00 00 00    	mov    %edi,0xb0(%ebx)
5155ee:	c7 83 b4 00 00 00 00 	movl   $0x0,0xb4(%ebx)
5155f5:	00 00 00
5155f8:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
5155fc:	89 74 24 1c          	mov    %esi,0x1c(%esp)
515600:	74 20                	je     0x515622
515602:	8d 43 20             	lea    0x20(%ebx),%eax
515605:	50                   	push   %eax
515606:	53                   	push   %ebx
515607:	57                   	push   %edi
515608:	ff 74 24 20          	push   0x20(%esp)
51560c:	55                   	push   %ebp
51560d:	e8 ae 3a f0 ff       	call   0x4190c0
515612:	57                   	push   %edi
515613:	8d 83 d0 00 00 00    	lea    0xd0(%ebx),%eax
515619:	55                   	push   %ebp
51561a:	50                   	push   %eax
51561b:	e8 a0 dd 01 00       	call   0x5333c0
515620:	eb 1f                	jmp    0x515641
515622:	8b 74 24 14          	mov    0x14(%esp),%esi
515626:	8d 83 d0 00 00 00    	lea    0xd0(%ebx),%eax
51562c:	57                   	push   %edi
51562d:	56                   	push   %esi
51562e:	50                   	push   %eax
51562f:	e8 8c dd 01 00       	call   0x5333c0
515634:	8d 43 20             	lea    0x20(%ebx),%eax
515637:	50                   	push   %eax
515638:	53                   	push   %ebx
515639:	57                   	push   %edi
51563a:	56                   	push   %esi
51563b:	55                   	push   %ebp
51563c:	e8 7f 3a f0 ff       	call   0x4190c0
515641:	83 c4 20             	add    $0x20,%esp
515644:	8b c7                	mov    %edi,%eax
515646:	f7 d8                	neg    %eax
515648:	83 e0 0f             	and    $0xf,%eax
51564b:	50                   	push   %eax
51564c:	8d 83 d0 00 00 00    	lea    0xd0(%ebx),%eax
515652:	68 68 12 63 00       	push   $0x631268
515657:	50                   	push   %eax
515658:	e8 63 dd 01 00       	call   0x5333c0
51565d:	8b ef                	mov    %edi,%ebp
51565f:	b9 10 00 00 00       	mov    $0x10,%ecx