4c427a:	0f 85 22 04 00 00    	jne    0x4c46a2
4c4280:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4c4283:	4e                   	dec    %esi
4c4284:	8b 43 3c             	mov    0x3c(%ebx),%eax
4c4287:	46                   	inc    %esi
4c4288:	85 c0                	test   %eax,%eax
4c428a:	74 20                	je     0x4c42ac
4c428c:	8b 4b 34             	mov    0x34(%ebx),%ecx
4c428f:	8b 10                	mov    (%eax),%edx
4c4291:	3b ca                	cmp    %edx,%ecx
4c4293:	7d 12                	jge    0x4c42a7
4c4295:	8b 44 88 04          	mov    0x4(%eax,%ecx,4),%eax
4c4299:	89 45 f4             	mov    %eax,-0xc(%ebp)
4c429c:	8d 41 01             	lea    0x1(%ecx),%eax
4c429f:	89 43 34             	mov    %eax,0x34(%ebx)
4c42a2:	8b 45 f4             	mov    -0xc(%ebp),%eax
4c42a5:	eb 2f                	jmp    0x4c42d6
4c42a7:	3b 53 38             	cmp    0x38(%ebx),%edx
4c42aa:	75 10                	jne    0x4c42bc
4c42ac:	8b 43 38             	mov    0x38(%ebx),%eax
4c42af:	8d 4b 30             	lea    0x30(%ebx),%ecx
4c42b2:	40                   	inc    %eax
4c42b3:	50                   	push   %eax
4c42b4:	e8 d7 95 f9 ff       	call   0x45d890
4c42b9:	8b 43 3c             	mov    0x3c(%ebx),%eax
4c42bc:	ff 00                	incl   (%eax)
4c42be:	ff 73 30             	push   0x30(%ebx)
4c42c1:	e8 ca 2c 00 00       	call   0x4c6f90
4c42c6:	8b 53 34             	mov    0x34(%ebx),%edx
4c42c9:	83 c4 04             	add    $0x4,%esp
4c42cc:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
4c42cf:	89 44 91 04          	mov    %eax,0x4(%ecx,%edx,4)
4c42d3:	ff 43 34             	incl   0x34(%ebx)
4c42d6:	56                   	push   %esi
4c42d7:	50                   	push   %eax
4c42d8:	8b cf                	mov    %edi,%ecx
4c42da:	e8 41 49 00 00       	call   0x4c8c20
4c42df:	8b f0                	mov    %eax,%esi
4c42e1:	85 f6                	test   %esi,%esi
4c42e3:	0f 84 71 fe ff ff    	je     0x4c415a
4c42e9:	3b 37                	cmp    (%edi),%esi
4c42eb:	0f 83 95 fd ff ff    	jae    0x4c4086
4c42f1:	80 3e 2a             	cmpb   $0x2a,(%esi)
4c42f4:	74 8e                	je     0x4c4284
4c42f6:	e9 87 fd ff ff       	jmp    0x4c4082
4c42fb:	80 fb 32             	cmp    $0x32,%bl
4c42fe:	0f 85 9e 03 00 00    	jne    0x4c46a2
4c4304:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4c4307:	4e                   	dec    %esi
4c4308:	8b 4b 4c             	mov    0x4c(%ebx),%ecx
4c430b:	46                   	inc    %esi
4c430c:	85 c9                	test   %ecx,%ecx
4c430e:	74 1d                	je     0x4c432d
4c4310:	8b 53 44             	mov    0x44(%ebx),%edx
4c4313:	8b 01                	mov    (%ecx),%eax
4c4315:	3b d0                	cmp    %eax,%edx
4c4317:	7d 0f                	jge    0x4c4328
4c4319:	8b 44 91 04          	mov    0x4(%ecx,%edx,4),%eax
4c431d:	89 45 f4             	mov    %eax,-0xc(%ebp)
4c4320:	8d 42 01             	lea    0x1(%edx),%eax
4c4323:	89 43 44             	mov    %eax,0x44(%ebx)
4c4326:	eb 37                	jmp    0x4c435f
4c4328:	3b 43 48             	cmp    0x48(%ebx),%eax
4c432b:	75 12                	jne    0x4c433f
4c432d:	8b 43 48             	mov    0x48(%ebx),%eax
4c4330:	8d 4b 40             	lea    0x40(%ebx),%ecx
4c4333:	40                   	inc    %eax
4c4334:	50                   	push   %eax
4c4335:	e8 56 95 f9 ff       	call   0x45d890
4c433a:	8b 4b 4c             	mov    0x4c(%ebx),%ecx
4c433d:	8b 01                	mov    (%ecx),%eax
4c433f:	40                   	inc    %eax
4c4340:	89 01                	mov    %eax,(%ecx)
4c4342:	ff 73 40             	push   0x40(%ebx)
4c4345:	e8 16 39 00 00       	call   0x4c7c60
4c434a:	8b 4b 44             	mov    0x44(%ebx),%ecx
4c434d:	8b d0                	mov    %eax,%edx
4c434f:	8b 43 4c             	mov    0x4c(%ebx),%eax
4c4352:	83 c4 04             	add    $0x4,%esp
4c4355:	89 55 f4             	mov    %edx,-0xc(%ebp)
4c4358:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
4c435c:	ff 43 44             	incl   0x44(%ebx)
4c435f:	0f b6 06             	movzbl (%esi),%eax
4c4362:	3d 80 00 00 00       	cmp    $0x80,%eax
4c4367:	73 03                	jae    0x4c436c
4c4369:	46                   	inc    %esi
4c436a:	eb 14                	jmp    0x4c4380
4c436c:	50                   	push   %eax
4c436d:	8d 45 cc             	lea    -0x34(%ebp),%eax
4c4370:	56                   	push   %esi
4c4371:	50                   	push   %eax
4c4372:	e8 f9 b4 f9 ff       	call   0x45f870
4c4377:	8b 75 cc             	mov    -0x34(%ebp),%esi
4c437a:	83 c4 0c             	add    $0xc,%esp
4c437d:	8b 45 d0             	mov    -0x30(%ebp),%eax
4c4380:	85 f6                	test   %esi,%esi
4c4382:	0f 84 d2 fd ff ff    	je     0x4c415a
4c4388:	2b 47 04             	sub    0x4(%edi),%eax
4c438b:	8d 14 30             	lea    (%eax,%esi,1),%edx
4c438e:	33 c0                	xor    %eax,%eax
4c4390:	85 d2                	test   %edx,%edx
4c4392:	89 55 f8             	mov    %edx,-0x8(%ebp)
4c4395:	0f 48 c2             	cmovs  %edx,%eax
4c4398:	03 47 04             	add    0x4(%edi),%eax
4c439b:	83 47 44 ff          	addl   $0xffffffff,0x44(%edi)
4c439f:	89 07                	mov    %eax,(%edi)
4c43a1:	8b 47 10             	mov    0x10(%edi),%eax
4c43a4:	89 45 f0             	mov    %eax,-0x10(%ebp)
4c43a7:	89 57 10             	mov    %edx,0x10(%edi)
4c43aa:	0f 88 aa fd ff ff    	js     0x4c415a
4c43b0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4c43b3:	57                   	push   %edi
4c43b4:	56                   	push   %esi
4c43b5:	e8 d6 77 ff ff       	call   0x4bbb90
4c43ba:	8b f0                	mov    %eax,%esi
4c43bc:	85 f6                	test   %esi,%esi
4c43be:	0f 84 96 fd ff ff    	je     0x4c415a
4c43c4:	ff 47 44             	incl   0x44(%edi)
4c43c7:	83 7f 3c 00          	cmpl   $0x0,0x3c(%edi)
4c43cb:	0f 85 89 fd ff ff    	jne    0x4c415a
4c43d1:	8b 45 f0             	mov    -0x10(%ebp),%eax
4c43d4:	b9 00 00 00 00       	mov    $0x0,%ecx
4c43d9:	2b 45 f8             	sub    -0x8(%ebp),%eax
4c43dc:	01 47 10             	add    %eax,0x10(%edi)
4c43df:	8b 47 04             	mov    0x4(%edi),%eax
4c43e2:	0f 48 4f 10          	cmovs  0x10(%edi),%ecx
4c43e6:	03 c1                	add    %ecx,%eax
4c43e8:	89 07                	mov    %eax,(%edi)
4c43ea:	3b f0                	cmp    %eax,%esi
4c43ec:	0f 83 90 fc ff ff    	jae    0x4c4082
4c43f2:	80 3e 32             	cmpb   $0x32,(%esi)
4c43f5:	0f 84 0d ff ff ff    	je     0x4c4308
4c43fb:	e9 82 fc ff ff       	jmp    0x4c4082
4c4400:	80 fb 3a             	cmp    $0x3a,%bl
4c4403:	0f 85 99 02 00 00    	jne    0x4c46a2
4c4409:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4c440c:	4e                   	dec    %esi
4c440d:	0f 1f 00             	nopl   (%eax)
4c4410:	8b 43 5c             	mov    0x5c(%ebx),%eax
4c4413:	46                   	inc    %esi
4c4414:	85 c0                	test   %eax,%eax
4c4416:	74 20                	je     0x4c4438
4c4418:	8b 4b 54             	mov    0x54(%ebx),%ecx
4c441b:	8b 10                	mov    (%eax),%edx
4c441d:	3b ca                	cmp    %edx,%ecx
4c441f:	7d 12                	jge    0x4c4433
4c4421:	8b 44 88 04          	mov    0x4(%eax,%ecx,4),%eax
4c4425:	89 45 f8             	mov    %eax,-0x8(%ebp)
4c4428:	8d 41 01             	lea    0x1(%ecx),%eax
4c442b:	89 43 54             	mov    %eax,0x54(%ebx)
4c442e:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c4431:	eb 2f                	jmp    0x4c4462
4c4433:	3b 53 58             	cmp    0x58(%ebx),%edx
4c4436:	75 10                	jne    0x4c4448
4c4438:	8b 43 58             	mov    0x58(%ebx),%eax
4c443b:	8d 4b 50             	lea    0x50(%ebx),%ecx
4c443e:	40                   	inc    %eax
4c443f:	50                   	push   %eax
4c4440:	e8 4b 94 f9 ff       	call   0x45d890
4c4445:	8b 43 5c             	mov    0x5c(%ebx),%eax
4c4448:	ff 00                	incl   (%eax)
4c444a:	ff 73 50             	push   0x50(%ebx)
4c444d:	e8 9e 2f 00 00       	call   0x4c73f0
4c4452:	8b 53 54             	mov    0x54(%ebx),%edx
4c4455:	83 c4 04             	add    $0x4,%esp
4c4458:	8b 4b 5c             	mov    0x5c(%ebx),%ecx
4c445b:	89 44 91 04          	mov    %eax,0x4(%ecx,%edx,4)
4c445f:	ff 43 54             	incl   0x54(%ebx)
4c4462:	56                   	push   %esi
4c4463:	50                   	push   %eax
4c4464:	8b cf                	mov    %edi,%ecx
4c4466:	e8 65 48 00 00       	call   0x4c8cd0
4c446b:	8b f0                	mov    %eax,%esi
4c446d:	85 f6                	test   %esi,%esi
4c446f:	0f 84 e5 fc ff ff    	je     0x4c415a
4c4475:	3b 37                	cmp    (%edi),%esi
4c4477:	0f 83 09 fc ff ff    	jae    0x4c4086
4c447d:	80 3e 3a             	cmpb   $0x3a,(%esi)
4c4480:	74 8e                	je     0x4c4410
4c4482:	e9 fb fb ff ff       	jmp    0x4c4082
4c4487:	80 fb 42             	cmp    $0x42,%bl
4c448a:	0f 85 12 02 00 00    	jne    0x4c46a2
4c4490:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4c4493:	e8 98 82 00 00       	call   0x4cc730
4c4498:	0f b6 16             	movzbl (%esi),%edx
4c449b:	89 45 f8             	mov    %eax,-0x8(%ebp)
4c449e:	81 fa 80 00 00 00    	cmp    $0x80,%edx
4c44a4:	73 03                	jae    0x4c44a9
4c44a6:	46                   	inc    %esi
4c44a7:	eb 14                	jmp    0x4c44bd
4c44a9:	52                   	push   %edx
4c44aa:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4c44ad:	56                   	push   %esi
4c44ae:	50                   	push   %eax
4c44af:	e8 bc b3 f9 ff       	call   0x45f870
4c44b4:	8b 75 c4             	mov    -0x3c(%ebp),%esi
4c44b7:	83 c4 0c             	add    $0xc,%esp
4c44ba:	8b 55 c8             	mov    -0x38(%ebp),%edx
4c44bd:	85 f6                	test   %esi,%esi
4c44bf:	0f 84 95 fc ff ff    	je     0x4c415a
4c44c5:	2b 57 04             	sub    0x4(%edi),%edx
4c44c8:	33 c0                	xor    %eax,%eax
4c44ca:	8b 5f 10             	mov    0x10(%edi),%ebx
4c44cd:	03 d6                	add    %esi,%edx
4c44cf:	89 55 f0             	mov    %edx,-0x10(%ebp)
4c44d2:	0f 48 c2             	cmovs  %edx,%eax
4c44d5:	89 57 10             	mov    %edx,0x10(%edi)
4c44d8:	03 47 04             	add    0x4(%edi),%eax
4c44db:	83 47 44 ff          	addl   $0xffffffff,0x44(%edi)
4c44df:	89 07                	mov    %eax,(%edi)
4c44e1:	0f 88 73 fc ff ff    	js     0x4c415a
4c44e7:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4c44ea:	57                   	push   %edi
4c44eb:	56                   	push   %esi
4c44ec:	e8 0f 8a ff ff       	call   0x4bcf00
4c44f1:	eb 6a                	jmp    0x4c455d
4c44f3:	80 fb 4a             	cmp    $0x4a,%bl
4c44f6:	0f 85 a6 01 00 00    	jne    0x4c46a2
4c44fc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4c44ff:	e8 ac 83 00 00       	call   0x4cc8b0
4c4504:	0f b6 16             	movzbl (%esi),%edx
4c4507:	89 45 f8             	mov    %eax,-0x8(%ebp)
4c450a:	81 fa 80 00 00 00    	cmp    $0x80,%edx
4c4510:	73 03                	jae    0x4c4515
4c4512:	46                   	inc    %esi
4c4513:	eb 14                	jmp    0x4c4529
4c4515:	52                   	push   %edx
4c4516:	8d 45 bc             	lea    -0x44(%ebp),%eax
4c4519:	56                   	push   %esi
4c451a:	50                   	push   %eax
4c451b:	e8 50 b3 f9 ff       	call   0x45f870
4c4520:	8b 75 bc             	mov    -0x44(%ebp),%esi
4c4523:	83 c4 0c             	add    $0xc,%esp
4c4526:	8b 55 c0             	mov    -0x40(%ebp),%edx
4c4529:	85 f6                	test   %esi,%esi
4c452b:	0f 84 29 fc ff ff    	je     0x4c415a
4c4531:	2b 57 04             	sub    0x4(%edi),%edx
4c4534:	33 c0                	xor    %eax,%eax
4c4536:	8b 5f 10             	mov    0x10(%edi),%ebx
4c4539:	03 d6                	add    %esi,%edx
4c453b:	89 55 f0             	mov    %edx,-0x10(%ebp)
4c453e:	0f 48 c2             	cmovs  %edx,%eax
4c4541:	89 57 10             	mov    %edx,0x10(%edi)
4c4544:	03 47 04             	add    0x4(%edi),%eax
4c4547:	83 47 44 ff          	addl   $0xffffffff,0x44(%edi)
4c454b:	89 07                	mov    %eax,(%edi)
4c454d:	0f 88 07 fc ff ff    	js     0x4c415a
4c4553:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4c4556:	57                   	push   %edi
4c4557:	56                   	push   %esi
4c4558:	e8 63 de ff ff       	call   0x4c23c0
4c455d:	8b f0                	mov    %eax,%esi
4c455f:	85 f6                	test   %esi,%esi
4c4561:	0f 84 f3 fb ff ff    	je     0x4c415a
4c4567:	ff 47 44             	incl   0x44(%edi)
4c456a:	83 7f 3c 00          	cmpl   $0x0,0x3c(%edi)
4c456e:	0f 85 e6 fb ff ff    	jne    0x4c415a
4c4574:	2b 5d f0             	sub    -0x10(%ebp),%ebx
4c4577:	b8 00 00 00 00       	mov    $0x0,%eax
4c457c:	01 5f 10             	add    %ebx,0x10(%edi)
4c457f:	0f 48 47 10          	cmovs  0x10(%edi),%eax
4c4583:	03 47 04             	add    0x4(%edi),%eax
4c4586:	89 07                	mov    %eax,(%edi)
4c4588:	e9 f5 fa ff ff       	jmp    0x4c4082
4c458d:	80 fb 50             	cmp    $0x50,%bl
4c4590:	75 40                	jne    0x4c45d2
4c4592:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4c4595:	4e                   	dec    %esi
4c4596:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4c4599:	46                   	inc    %esi
4c459a:	50                   	push   %eax
4c459b:	56                   	push   %esi
4c459c:	e8 df c5 f8 ff       	call   0x450b80
4c45a1:	8b f0                	mov    %eax,%esi
4c45a3:	8d 4b 60             	lea    0x60(%ebx),%ecx
4c45a6:	8b 45 b4             	mov    -0x4c(%ebp),%eax
4c45a9:	83 c4 08             	add    $0x8,%esp
4c45ac:	89 45 f8             	mov    %eax,-0x8(%ebp)
4c45af:	8d 45 f8             	lea    -0x8(%ebp),%eax
4c45b2:	50                   	push   %eax
4c45b3:	e8 68 89 f9 ff       	call   0x45cf20
4c45b8:	85 f6                	test   %esi,%esi
4c45ba:	0f 84 9a fb ff ff    	je     0x4c415a
4c45c0:	3b 37                	cmp    (%edi),%esi
4c45c2:	0f 83 be fa ff ff    	jae    0x4c4086
4c45c8:	80 3e 50             	cmpb   $0x50,(%esi)
4c45cb:	74 c9                	je     0x4c4596
4c45cd:	e9 b0 fa ff ff       	jmp    0x4c4082
4c45d2:	80 fb 52             	cmp    $0x52,%bl
4c45d5:	0f 85 c7 00 00 00    	jne    0x4c46a2
4c45db:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c45de:	57                   	push   %edi
4c45df:	83 c0 60             	add    $0x60,%eax
4c45e2:	56                   	push   %esi
4c45e3:	50                   	push   %eax
4c45e4:	e8 b7 ad f9 ff       	call   0x45f3a0
4c45e9:	e9 5f fb ff ff       	jmp    0x4c414d
4c45ee:	80 fb 58             	cmp    $0x58,%bl
4c45f1:	75 40                	jne    0x4c4633
4c45f3:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4c45f6:	4e                   	dec    %esi
4c45f7:	8d 45 ac             	lea    -0x54(%ebp),%eax
4c45fa:	46                   	inc    %esi
4c45fb:	50                   	push   %eax
4c45fc:	56                   	push   %esi
4c45fd:	e8 7e c5 f8 ff       	call   0x450b80
4c4602:	8b f0                	mov    %eax,%esi
4c4604:	8d 4b 6c             	lea    0x6c(%ebx),%ecx
4c4607:	8b 45 ac             	mov    -0x54(%ebp),%eax
4c460a:	83 c4 08             	add    $0x8,%esp
4c460d:	89 45 f8             	mov    %eax,-0x8(%ebp)
4c4610:	8d 45 f8             	lea    -0x8(%ebp),%eax
4c4613:	50                   	push   %eax
4c4614:	e8 07 89 f9 ff       	call   0x45cf20
4c4619:	85 f6                	test   %esi,%esi
4c461b:	0f 84 39 fb ff ff    	je     0x4c415a
4c4621:	3b 37                	cmp    (%edi),%esi
4c4623:	0f 83 5d fa ff ff    	jae    0x4c4086
4c4629:	80 3e 58             	cmpb   $0x58,(%esi)
4c462c:	74 c9                	je     0x4c45f7
4c462e:	e9 4f fa ff ff       	jmp    0x4c4082
4c4633:	80 fb 5a             	cmp    $0x5a,%bl
4c4636:	75 6a                	jne    0x4c46a2
4c4638:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c463b:	57                   	push   %edi
4c463c:	83 c0 6c             	add    $0x6c,%eax
4c463f:	56                   	push   %esi
4c4640:	50                   	push   %eax
4c4641:	e8 5a ad f9 ff       	call   0x45f3a0
4c4646:	e9 02 fb ff ff       	jmp    0x4c414d
4c464b:	80 fb 62             	cmp    $0x62,%bl
4c464e:	75 52                	jne    0x4c46a2
4c4650:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4c4653:	c6 45 e4 00          	movb   $0x0,-0x1c(%ebp)
4c4657:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
4c465b:	8b 4b 04             	mov    0x4(%ebx),%ecx
4c465e:	f6 c1 03             	test   $0x3,%cl
4c4661:	75 12                	jne    0x4c4675
4c4663:	83 e1 fc             	and    $0xfffffffc,%ecx
4c4666:	51                   	push   %ecx
4c4667:	ff 75 e4             	push   -0x1c(%ebp)
4c466a:	8d 8b 80 00 00 00    	lea    0x80(%ebx),%ecx
4c4670:	e9 cb fa ff ff       	jmp    0x4c4140
4c4675:	8b c1                	mov    %ecx,%eax
4c4677:	d1 e8                	shr    $1,%eax
4c4679:	a8 01                	test   $0x1,%al
4c467b:	74 11                	je     0x4c468e
4c467d:	33 c9                	xor    %ecx,%ecx
4c467f:	51                   	push   %ecx
4c4680:	ff 75 e4             	push   -0x1c(%ebp)