4ee1e4:	7c 12                	jl     0x4ee1f8
4ee1e6:	0f be 4e 01          	movsbl 0x1(%esi),%ecx
4ee1ea:	f7 df                	neg    %edi
4ee1ec:	46                   	inc    %esi
4ee1ed:	89 7d 88             	mov    %edi,-0x78(%ebp)
4ee1f0:	89 b5 74 ff ff ff    	mov    %esi,-0x8c(%ebp)
4ee1f6:	eb 40                	jmp    0x4ee238
4ee1f8:	83 cf ff             	or     $0xffffffff,%edi
4ee1fb:	89 7d 88             	mov    %edi,-0x78(%ebp)
4ee1fe:	0f be 4e 01          	movsbl 0x1(%esi),%ecx
4ee202:	46                   	inc    %esi
4ee203:	89 b5 74 ff ff ff    	mov    %esi,-0x8c(%ebp)
4ee209:	eb 2d                	jmp    0x4ee238
4ee20b:	33 ff                	xor    %edi,%edi
4ee20d:	83 f9 30             	cmp    $0x30,%ecx
4ee210:	7c 1d                	jl     0x4ee22f
4ee212:	83 f9 39             	cmp    $0x39,%ecx
4ee215:	7f 12                	jg     0x4ee229
4ee217:	8d 3c bf             	lea    (%edi,%edi,4),%edi
4ee21a:	46                   	inc    %esi
4ee21b:	8d 7f e8             	lea    -0x18(%edi),%edi
4ee21e:	8d 3c 79             	lea    (%ecx,%edi,2),%edi
4ee221:	0f be 0e             	movsbl (%esi),%ecx
4ee224:	83 f9 30             	cmp    $0x30,%ecx
4ee227:	7d e9                	jge    0x4ee212
4ee229:	89 b5 74 ff ff ff    	mov    %esi,-0x8c(%ebp)
4ee22f:	81 e7 ff ff ff 7f    	and    $0x7fffffff,%edi
4ee235:	89 7d 88             	mov    %edi,-0x78(%ebp)
4ee238:	83 f9 6c             	cmp    $0x6c,%ecx
4ee23b:	75 3b                	jne    0x4ee278
4ee23d:	4e                   	dec    %esi
4ee23e:	0f be 4e 01          	movsbl 0x1(%esi),%ecx
4ee242:	46                   	inc    %esi
4ee243:	89 b5 74 ff ff ff    	mov    %esi,-0x8c(%ebp)
4ee249:	85 c9                	test   %ecx,%ecx
4ee24b:	74 2b                	je     0x4ee278
4ee24d:	8b 55 98             	mov    -0x68(%ebp),%edx
4ee250:	e9 4b fe ff ff       	jmp    0x4ee0a0
4ee255:	0f be 4e 01          	movsbl 0x1(%esi),%ecx
4ee259:	46                   	inc    %esi
4ee25a:	c6 45 8f 01          	movb   $0x1,-0x71(%ebp)
4ee25e:	89 b5 74 ff ff ff    	mov    %esi,-0x8c(%ebp)
4ee264:	83 f9 6c             	cmp    $0x6c,%ecx
4ee267:	75 0f                	jne    0x4ee278
4ee269:	c6 45 8f 02          	movb   $0x2,-0x71(%ebp)
4ee26d:	0f be 4e 01          	movsbl 0x1(%esi),%ecx
4ee271:	46                   	inc    %esi
4ee272:	89 b5 74 ff ff ff    	mov    %esi,-0x8c(%ebp)
4ee278:	c7 85 7c ff ff ff 88 	movl   $0x6b2888,-0x84(%ebp)
4ee27f:	28 6b 00
4ee282:	33 f6                	xor    %esi,%esi
4ee284:	c6 45 ae 11          	movb   $0x11,-0x52(%ebp)
4ee288:	ba 88 28 6b 00       	mov    $0x6b2888,%edx
4ee28d:	0f 1f 00             	nopl   (%eax)
4ee290:	0f be 02             	movsbl (%edx),%eax
4ee293:	3b c8                	cmp    %eax,%ecx
4ee295:	74 17                	je     0x4ee2ae
4ee297:	83 c2 06             	add    $0x6,%edx
4ee29a:	46                   	inc    %esi
4ee29b:	81 fa 12 29 6b 00    	cmp    $0x6b2912,%edx
4ee2a1:	7c ed                	jl     0x4ee290
4ee2a3:	8a 4d ae             	mov    -0x52(%ebp),%cl
4ee2a6:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
4ee2ac:	eb 1a                	jmp    0x4ee2c8
4ee2ae:	8d 04 76             	lea    (%esi,%esi,2),%eax
4ee2b1:	8a 0c 45 8b 28 6b 00 	mov    0x6b288b(,%eax,2),%cl
4ee2b8:	8d 14 45 88 28 6b 00 	lea    0x6b2888(,%eax,2),%edx
4ee2bf:	89 95 7c ff ff ff    	mov    %edx,-0x84(%ebp)
4ee2c5:	88 4d ae             	mov    %cl,-0x52(%ebp)
4ee2c8:	0f b6 c1             	movzbl %cl,%eax
4ee2cb:	83 f8 10             	cmp    $0x10,%eax
4ee2ce:	0f 87 d5 10 00 00    	ja     0x4ef3a9
4ee2d4:	ff 24 85 3c f4 4e 00 	jmp    *0x4ef43c(,%eax,4)
4ee2db:	b0 01                	mov    $0x1,%al
4ee2dd:	88 45 8f             	mov    %al,-0x71(%ebp)
4ee2e0:	c6 45 a3 00          	movb   $0x0,-0x5d(%ebp)
4ee2e4:	f6 42 02 01          	testb  $0x1,0x2(%edx)
4ee2e8:	0f 84 84 00 00 00    	je     0x4ee372
4ee2ee:	80 7d ac 00          	cmpb   $0x0,-0x54(%ebp)
4ee2f2:	74 10                	je     0x4ee304
4ee2f4:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
4ee2fa:	e8 31 7a 01 00       	call   0x505d30
4ee2ff:	83 c4 04             	add    $0x4,%esp
4ee302:	eb 24                	jmp    0x4ee328
4ee304:	8a 45 8f             	mov    -0x71(%ebp),%al
4ee307:	8b 55 98             	mov    -0x68(%ebp),%edx
4ee30a:	84 c0                	test   %al,%al
4ee30c:	74 11                	je     0x4ee31f
4ee30e:	3c 02                	cmp    $0x2,%al
4ee310:	75 0d                	jne    0x4ee31f
4ee312:	8b 02                	mov    (%edx),%eax
4ee314:	83 c2 08             	add    $0x8,%edx
4ee317:	89 55 98             	mov    %edx,-0x68(%ebp)
4ee31a:	8b 4a fc             	mov    -0x4(%edx),%ecx
4ee31d:	eb 0b                	jmp    0x4ee32a
4ee31f:	8b 02                	mov    (%edx),%eax
4ee321:	83 c2 04             	add    $0x4,%edx
4ee324:	89 55 98             	mov    %edx,-0x68(%ebp)
4ee327:	99                   	cltd
4ee328:	8b ca                	mov    %edx,%ecx
4ee32a:	85 c9                	test   %ecx,%ecx
4ee32c:	7f 36                	jg     0x4ee364
4ee32e:	7c 04                	jl     0x4ee334
4ee330:	85 c0                	test   %eax,%eax
4ee332:	73 30                	jae    0x4ee364
4ee334:	85 c0                	test   %eax,%eax
4ee336:	75 18                	jne    0x4ee350
4ee338:	81 f9 00 00 00 80    	cmp    $0x80000000,%ecx
4ee33e:	75 10                	jne    0x4ee350
4ee340:	89 8d 64 ff ff ff    	mov    %ecx,-0x9c(%ebp)
4ee346:	b1 2d                	mov    $0x2d,%cl
4ee348:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4ee34b:	e9 79 00 00 00       	jmp    0x4ee3c9
4ee350:	f7 d8                	neg    %eax
4ee352:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4ee355:	83 d1 00             	adc    $0x0,%ecx
4ee358:	f7 d9                	neg    %ecx
4ee35a:	89 8d 64 ff ff ff    	mov    %ecx,-0x9c(%ebp)
4ee360:	b1 2d                	mov    $0x2d,%cl
4ee362:	eb 65                	jmp    0x4ee3c9
4ee364:	89 8d 64 ff ff ff    	mov    %ecx,-0x9c(%ebp)
4ee36a:	8a 4d ad             	mov    -0x53(%ebp),%cl
4ee36d:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4ee370:	eb 5a                	jmp    0x4ee3cc
4ee372:	80 7d ac 00          	cmpb   $0x0,-0x54(%ebp)
4ee376:	74 16                	je     0x4ee38e
4ee378:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
4ee37e:	e8 ad 79 01 00       	call   0x505d30
4ee383:	83 c4 04             	add    $0x4,%esp
4ee386:	89 95 64 ff ff ff    	mov    %edx,-0x9c(%ebp)
4ee38c:	eb 36                	jmp    0x4ee3c4
4ee38e:	8a 45 8f             	mov    -0x71(%ebp),%al
4ee391:	8b 55 98             	mov    -0x68(%ebp),%edx
4ee394:	84 c0                	test   %al,%al
4ee396:	74 1a                	je     0x4ee3b2
4ee398:	3c 02                	cmp    $0x2,%al
4ee39a:	75 16                	jne    0x4ee3b2
4ee39c:	8b 02                	mov    (%edx),%eax
4ee39e:	83 c2 08             	add    $0x8,%edx
4ee3a1:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4ee3a4:	89 55 98             	mov    %edx,-0x68(%ebp)
4ee3a7:	8b 42 fc             	mov    -0x4(%edx),%eax
4ee3aa:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
4ee3b0:	eb 15                	jmp    0x4ee3c7
4ee3b2:	8b 02                	mov    (%edx),%eax
4ee3b4:	83 c2 04             	add    $0x4,%edx
4ee3b7:	c7 85 64 ff ff ff 00 	movl   $0x0,-0x9c(%ebp)
4ee3be:	00 00 00
4ee3c1:	89 55 98             	mov    %edx,-0x68(%ebp)
4ee3c4:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4ee3c7:	32 c9                	xor    %cl,%cl
4ee3c9:	88 4d ad             	mov    %cl,-0x53(%ebp)
4ee3cc:	8b 55 a4             	mov    -0x5c(%ebp),%edx
4ee3cf:	8b c2                	mov    %edx,%eax
4ee3d1:	0b 85 64 ff ff ff    	or     -0x9c(%ebp),%eax
4ee3d7:	75 03                	jne    0x4ee3dc
4ee3d9:	88 45 a2             	mov    %al,-0x5e(%ebp)
4ee3dc:	80 7d 8e 00          	cmpb   $0x0,-0x72(%ebp)
4ee3e0:	74 14                	je     0x4ee3f6
4ee3e2:	33 c0                	xor    %eax,%eax
4ee3e4:	84 c9                	test   %cl,%cl
4ee3e6:	8b 4d 90             	mov    -0x70(%ebp),%ecx
4ee3e9:	0f 95 c0             	setne  %al
4ee3ec:	2b c8                	sub    %eax,%ecx
4ee3ee:	3b f9                	cmp    %ecx,%edi
4ee3f0:	0f 4c f9             	cmovl  %ecx,%edi
4ee3f3:	89 7d 88             	mov    %edi,-0x78(%ebp)
4ee3f6:	83 ff 25             	cmp    $0x25,%edi
4ee3f9:	7d 16                	jge    0x4ee411
4ee3fb:	be 46 00 00 00       	mov    $0x46,%esi
4ee400:	8d 45 b0             	lea    -0x50(%ebp),%eax
4ee403:	89 b5 70 ff ff ff    	mov    %esi,-0x90(%ebp)
4ee409:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
4ee40f:	eb 59                	jmp    0x4ee46a
4ee411:	8b c7                	mov    %edi,%eax
4ee413:	99                   	cltd
4ee414:	8b f0                	mov    %eax,%esi
4ee416:	8b ca                	mov    %edx,%ecx
4ee418:	83 c6 0a             	add    $0xa,%esi
4ee41b:	89 b5 70 ff ff ff    	mov    %esi,-0x90(%ebp)
4ee421:	83 d1 00             	adc    $0x0,%ecx
4ee424:	80 7d a3 00          	cmpb   $0x0,-0x5d(%ebp)
4ee428:	74 19                	je     0x4ee443
4ee42a:	b8 56 55 55 55       	mov    $0x55555556,%eax
4ee42f:	f7 ef                	imul   %edi
4ee431:	8b c2                	mov    %edx,%eax
4ee433:	c1 e8 1f             	shr    $0x1f,%eax
4ee436:	03 c2                	add    %edx,%eax
4ee438:	99                   	cltd
4ee439:	03 f0                	add    %eax,%esi
4ee43b:	89 b5 70 ff ff ff    	mov    %esi,-0x90(%ebp)
4ee441:	13 ca                	adc    %edx,%ecx
4ee443:	8b 55 9c             	mov    -0x64(%ebp),%edx
4ee446:	51                   	push   %ecx
4ee447:	56                   	push   %esi
4ee448:	52                   	push   %edx
4ee449:	e8 c2 21 02 00       	call   0x510610
4ee44e:	8b c8                	mov    %eax,%ecx
4ee450:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
4ee456:	83 c4 0c             	add    $0xc,%esp
4ee459:	89 8d 5c ff ff ff    	mov    %ecx,-0xa4(%ebp)
4ee45f:	85 c9                	test   %ecx,%ecx
4ee461:	0f 84 42 0f 00 00    	je     0x4ef3a9
4ee467:	8b 55 a4             	mov    -0x5c(%ebp),%edx
4ee46a:	4e                   	dec    %esi
4ee46b:	03 f0                	add    %eax,%esi
4ee46d:	80 7d ae 0f          	cmpb   $0xf,-0x52(%ebp)
4ee471:	89 75 a8             	mov    %esi,-0x58(%ebp)
4ee474:	75 63                	jne    0x4ee4d9
4ee476:	6a 00                	push   $0x0
4ee478:	6a 0a                	push   $0xa
4ee47a:	ff b5 64 ff ff ff    	push   -0x9c(%ebp)
4ee480:	52                   	push   %edx
4ee481:	e8 fa 3b 0f 00       	call   0x5e2080
4ee486:	89 85 4c ff ff ff    	mov    %eax,-0xb4(%ebp)
4ee48c:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
4ee48f:	8b 45 a4             	mov    -0x5c(%ebp),%eax
4ee492:	03 c9                	add    %ecx,%ecx
4ee494:	2b c1                	sub    %ecx,%eax
4ee496:	89 45 a8             	mov    %eax,-0x58(%ebp)
4ee499:	83 f8 04             	cmp    $0x4,%eax
4ee49c:	7d 19                	jge    0x4ee4b7
4ee49e:	6a 00                	push   $0x0
4ee4a0:	6a 0a                	push   $0xa
4ee4a2:	52                   	push   %edx
4ee4a3:	ff b5 4c ff ff ff    	push   -0xb4(%ebp)
4ee4a9:	e8 72 3a 0f 00       	call   0x5e1f20
4ee4ae:	83 f8 01             	cmp    $0x1,%eax
4ee4b1:	75 08                	jne    0x4ee4bb
4ee4b3:	85 d2                	test   %edx,%edx
4ee4b5:	75 04                	jne    0x4ee4bb
4ee4b7:	33 c9                	xor    %ecx,%ecx
4ee4b9:	eb 03                	jmp    0x4ee4be
4ee4bb:	8b 4d a8             	mov    -0x58(%ebp),%ecx
4ee4be:	0f b6 04 4d dd 2b 6b 	movzbl 0x6b2bdd(,%ecx,2),%eax
4ee4c5:	00
4ee4c6:	88 46 ff             	mov    %al,-0x1(%esi)
4ee4c9:	83 ee 02             	sub    $0x2,%esi
4ee4cc:	0f b6 04 4d dc 2b 6b 	movzbl 0x6b2bdc(,%ecx,2),%eax
4ee4d3:	00
4ee4d4:	89 75 a8             	mov    %esi,-0x58(%ebp)
4ee4d7:	88 06                	mov    %al,(%esi)
4ee4d9:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
4ee4df:	8b 7d a8             	mov    -0x58(%ebp),%edi
4ee4e2:	8b 75 a4             	mov    -0x5c(%ebp),%esi
4ee4e5:	0f b6 41 04          	movzbl 0x4(%ecx),%eax
4ee4e9:	05 5c 28 6b 00       	add    $0x6b285c,%eax
4ee4ee:	89 45 84             	mov    %eax,-0x7c(%ebp)
4ee4f1:	0f b6 41 01          	movzbl 0x1(%ecx),%eax
4ee4f5:	99                   	cltd
4ee4f6:	8b c8                	mov    %eax,%ecx
4ee4f8:	8b c2                	mov    %edx,%eax
4ee4fa:	8b 95 64 ff ff ff    	mov    -0x9c(%ebp),%edx
4ee500:	89 8d 4c ff ff ff    	mov    %ecx,-0xb4(%ebp)
4ee506:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
4ee50c:	0f 1f 40 00          	nopl   0x0(%eax)
4ee510:	53                   	push   %ebx
4ee511:	50                   	push   %eax
4ee512:	51                   	push   %ecx
4ee513:	52                   	push   %edx
4ee514:	56                   	push   %esi
4ee515:	4f                   	dec    %edi
4ee516:	e8 65 39 0f 00       	call   0x5e1e80
4ee51b:	89 9d 64 ff ff ff    	mov    %ebx,-0x9c(%ebp)
4ee521:	5b                   	pop    %ebx
4ee522:	8b f0                	mov    %eax,%esi
4ee524:	8b 45 84             	mov    -0x7c(%ebp),%eax
4ee527:	8a 04 01             	mov    (%ecx,%eax,1),%al
4ee52a:	8b 8d 4c ff ff ff    	mov    -0xb4(%ebp),%ecx
4ee530:	88 07                	mov    %al,(%edi)
4ee532:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
4ee538:	85 d2                	test   %edx,%edx
4ee53a:	77 d4                	ja     0x4ee510
4ee53c:	72 04                	jb     0x4ee542
4ee53e:	85 f6                	test   %esi,%esi
4ee540:	75 ce                	jne    0x4ee510
4ee542:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
4ee548:	8b b5 70 ff ff ff    	mov    -0x90(%ebp),%esi
4ee54e:	2b c7                	sub    %edi,%eax
4ee550:	48                   	dec    %eax
4ee551:	89 7d a8             	mov    %edi,-0x58(%ebp)
4ee554:	8b 7d 88             	mov    -0x78(%ebp),%edi
4ee557:	03 c6                	add    %esi,%eax
4ee559:	8b 55 a8             	mov    -0x58(%ebp),%edx
4ee55c:	3b f8                	cmp    %eax,%edi
4ee55e:	7e 10                	jle    0x4ee570
4ee560:	2b f8                	sub    %eax,%edi
4ee562:	03 c7                	add    %edi,%eax
4ee564:	4a                   	dec    %edx
4ee565:	c6 02 30             	movb   $0x30,(%edx)
4ee568:	83 ef 01             	sub    $0x1,%edi
4ee56b:	75 f7                	jne    0x4ee564
4ee56d:	89 55 a8             	mov    %edx,-0x58(%ebp)
4ee570:	80 7d a3 00          	cmpb   $0x0,-0x5d(%ebp)
4ee574:	74 42                	je     0x4ee5b8
4ee576:	48                   	dec    %eax
4ee577:	b9 03 00 00 00       	mov    $0x3,%ecx
4ee57c:	99                   	cltd
4ee57d:	f7 f9                	idiv   %ecx
4ee57f:	33 c9                	xor    %ecx,%ecx
4ee581:	8b f0                	mov    %eax,%esi
4ee583:	8d 7a 01             	lea    0x1(%edx),%edi
4ee586:	8b 55 a8             	mov    -0x58(%ebp),%edx
4ee589:	2b d6                	sub    %esi,%edx
4ee58b:	89 55 a8             	mov    %edx,-0x58(%ebp)
4ee58e:	85 f6                	test   %esi,%esi
4ee590:	7e 20                	jle    0x4ee5b2
4ee592:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
4ee595:	8a 04 10             	mov    (%eax,%edx,1),%al
4ee598:	88 04 11             	mov    %al,(%ecx,%edx,1)
4ee59b:	83 ef 01             	sub    $0x1,%edi
4ee59e:	75 0d                	jne    0x4ee5ad
4ee5a0:	8a 45 a3             	mov    -0x5d(%ebp),%al
4ee5a3:	41                   	inc    %ecx
4ee5a4:	4e                   	dec    %esi
4ee5a5:	bf 03 00 00 00       	mov    $0x3,%edi
4ee5aa:	88 04 11             	mov    %al,(%ecx,%edx,1)
4ee5ad:	41                   	inc    %ecx
4ee5ae:	85 f6                	test   %esi,%esi
4ee5b0:	7f e0                	jg     0x4ee592
4ee5b2:	8b b5 70 ff ff ff    	mov    -0x90(%ebp),%esi
4ee5b8:	8a 45 ad             	mov    -0x53(%ebp),%al
4ee5bb:	84 c0                	test   %al,%al
4ee5bd:	74 06                	je     0x4ee5c5
4ee5bf:	4a                   	dec    %edx
4ee5c0:	89 55 a8             	mov    %edx,-0x58(%ebp)
4ee5c3:	88 02                	mov    %al,(%edx)
4ee5c5:	80 7d a2 00          	cmpb   $0x0,-0x5e(%ebp)
4ee5c9:	74 2a                	je     0x4ee5f5
4ee5cb:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
4ee5d1:	8a 40 05             	mov    0x5(%eax),%al
4ee5d4:	84 c0                	test   %al,%al
4ee5d6:	74 1d                	je     0x4ee5f5
4ee5d8:	0f b6 c0             	movzbl %al,%eax
4ee5db:	05 80 28 6b 00       	add    $0x6b2880,%eax
4ee5e0:	8a 08                	mov    (%eax),%cl
4ee5e2:	84 c9                	test   %cl,%cl
4ee5e4:	74 0f                	je     0x4ee5f5
4ee5e6:	4a                   	dec    %edx
4ee5e7:	8d 40 01             	lea    0x1(%eax),%eax
4ee5ea:	88 0a                	mov    %cl,(%edx)
4ee5ec:	8a 08                	mov    (%eax),%cl
4ee5ee:	84 c9                	test   %cl,%cl
4ee5f0:	75 f4                	jne    0x4ee5e6
4ee5f2:	89 55 a8             	mov    %edx,-0x58(%ebp)
4ee5f5:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
4ee5fb:	4e                   	dec    %esi
4ee5fc:	2b c2                	sub    %edx,%eax
4ee5fe:	03 f0                	add    %eax,%esi
4ee600:	e9 f4 05 00 00       	jmp    0x4eebf9