4c408e:	0f 84 58 06 00 00    	je     0x4c46ec
4c4094:	ff 77 48             	push   0x48(%edi)
4c4097:	8b cf                	mov    %edi,%ecx
4c4099:	50                   	push   %eax
4c409a:	8d 45 dc             	lea    -0x24(%ebp),%eax
4c409d:	50                   	push   %eax
4c409e:	e8 8d ae f9 ff       	call   0x45ef30
4c40a3:	80 7d e0 00          	cmpb   $0x0,-0x20(%ebp)
4c40a7:	8b 75 dc             	mov    -0x24(%ebp),%esi
4c40aa:	0f 85 ac 00 00 00    	jne    0x4c415c
4c40b0:	0f b6 1e             	movzbl (%esi),%ebx
4c40b3:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
4c40b9:	73 03                	jae    0x4c40be
4c40bb:	46                   	inc    %esi
4c40bc:	eb 2f                	jmp    0x4c40ed
4c40be:	0f b6 4e 01          	movzbl 0x1(%esi),%ecx
4c40c2:	83 c3 80             	add    $0xffffff80,%ebx
4c40c5:	8b c1                	mov    %ecx,%eax
4c40c7:	c1 e0 07             	shl    $0x7,%eax
4c40ca:	03 d8                	add    %eax,%ebx
4c40cc:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
4c40d2:	73 05                	jae    0x4c40d9
4c40d4:	83 c6 02             	add    $0x2,%esi
4c40d7:	eb 14                	jmp    0x4c40ed
4c40d9:	53                   	push   %ebx
4c40da:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4c40dd:	56                   	push   %esi
4c40de:	50                   	push   %eax
4c40df:	e8 fc b8 f9 ff       	call   0x45f9e0
4c40e4:	8b 5d d8             	mov    -0x28(%ebp),%ebx
4c40e7:	83 c4 0c             	add    $0xc,%esp
4c40ea:	8b 75 d4             	mov    -0x2c(%ebp),%esi
4c40ed:	85 f6                	test   %esi,%esi
4c40ef:	74 69                	je     0x4c415a
4c40f1:	8b c3                	mov    %ebx,%eax
4c40f3:	c1 e8 03             	shr    $0x3,%eax
4c40f6:	48                   	dec    %eax
4c40f7:	83 f8 0b             	cmp    $0xb,%eax
4c40fa:	0f 87 a2 05 00 00    	ja     0x4c46a2
4c4100:	ff 24 85 18 47 4c 00 	jmp    *0x4c4718(,%eax,4)
4c4107:	80 fb 0a             	cmp    $0xa,%bl
4c410a:	0f 85 92 05 00 00    	jne    0x4c46a2
4c4110:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4c4113:	c6 45 ec 00          	movb   $0x0,-0x14(%ebp)
4c4117:	83 4b 08 01          	orl    $0x1,0x8(%ebx)
4c411b:	8b 4b 04             	mov    0x4(%ebx),%ecx
4c411e:	f6 c1 03             	test   $0x3,%cl
4c4121:	75 05                	jne    0x4c4128
4c4123:	83 e1 fc             	and    $0xfffffffc,%ecx
4c4126:	eb 11                	jmp    0x4c4139
4c4128:	8b c1                	mov    %ecx,%eax
4c412a:	d1 e8                	shr    $1,%eax
4c412c:	a8 01                	test   $0x1,%al
4c412e:	74 04                	je     0x4c4134
4c4130:	33 c9                	xor    %ecx,%ecx
4c4132:	eb 05                	jmp    0x4c4139
4c4134:	83 e1 fc             	and    $0xfffffffc,%ecx
4c4137:	8b 09                	mov    (%ecx),%ecx
4c4139:	51                   	push   %ecx
4c413a:	ff 75 ec             	push   -0x14(%ebp)
4c413d:	8d 4b 78             	lea    0x78(%ebx),%ecx
4c4140:	e8 eb 77 f9 ff       	call   0x45b930
4c4145:	57                   	push   %edi
4c4146:	56                   	push   %esi
4c4147:	50                   	push   %eax
4c4148:	e8 a3 af f9 ff       	call   0x45f0f0
4c414d:	83 c4 0c             	add    $0xc,%esp
4c4150:	8b f0                	mov    %eax,%esi
4c4152:	85 f6                	test   %esi,%esi
4c4154:	0f 85 28 ff ff ff    	jne    0x4c4082
4c415a:	33 f6                	xor    %esi,%esi
4c415c:	5f                   	pop    %edi
4c415d:	8b c6                	mov    %esi,%eax
4c415f:	5e                   	pop    %esi
4c4160:	5b                   	pop    %ebx
4c4161:	8b e5                	mov    %ebp,%esp
4c4163:	5d                   	pop    %ebp
4c4164:	c2 08 00             	ret    $0x8
4c4167:	80 fb 12             	cmp    $0x12,%bl
4c416a:	0f 85 32 05 00 00    	jne    0x4c46a2
4c4170:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4c4173:	c6 45 e8 00          	movb   $0x0,-0x18(%ebp)
4c4177:	83 4b 08 02          	orl    $0x2,0x8(%ebx)
4c417b:	8b 4b 04             	mov    0x4(%ebx),%ecx
4c417e:	f6 c1 03             	test   $0x3,%cl
4c4181:	75 0c                	jne    0x4c418f
4c4183:	83 e1 fc             	and    $0xfffffffc,%ecx
4c4186:	51                   	push   %ecx
4c4187:	ff 75 e8             	push   -0x18(%ebp)
4c418a:	8d 4b 7c             	lea    0x7c(%ebx),%ecx
4c418d:	eb b1                	jmp    0x4c4140
4c418f:	8b c1                	mov    %ecx,%eax
4c4191:	d1 e8                	shr    $1,%eax
4c4193:	a8 01                	test   $0x1,%al
4c4195:	74 0b                	je     0x4c41a2
4c4197:	33 c9                	xor    %ecx,%ecx
4c4199:	51                   	push   %ecx
4c419a:	ff 75 e8             	push   -0x18(%ebp)
4c419d:	8d 4b 7c             	lea    0x7c(%ebx),%ecx
4c41a0:	eb 9e                	jmp    0x4c4140
4c41a2:	83 e1 fc             	and    $0xfffffffc,%ecx
4c41a5:	8b 09                	mov    (%ecx),%ecx
4c41a7:	51                   	push   %ecx
4c41a8:	ff 75 e8             	push   -0x18(%ebp)
4c41ab:	8d 4b 7c             	lea    0x7c(%ebx),%ecx
4c41ae:	eb 90                	jmp    0x4c4140
4c41b0:	80 fb 1a             	cmp    $0x1a,%bl
4c41b3:	0f 85 e9 04 00 00    	jne    0x4c46a2
4c41b9:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4c41bc:	4e                   	dec    %esi
4c41bd:	0f 1f 00             	nopl   (%eax)
4c41c0:	8d 4b 10             	lea    0x10(%ebx),%ecx
4c41c3:	e8 28 8f f9 ff       	call   0x45d0f0
4c41c8:	57                   	push   %edi
4c41c9:	46                   	inc    %esi
4c41ca:	56                   	push   %esi
4c41cb:	50                   	push   %eax
4c41cc:	e8 1f af f9 ff       	call   0x45f0f0
4c41d1:	8b f0                	mov    %eax,%esi
4c41d3:	83 c4 0c             	add    $0xc,%esp
4c41d6:	85 f6                	test   %esi,%esi
4c41d8:	74 80                	je     0x4c415a
4c41da:	3b 37                	cmp    (%edi),%esi
4c41dc:	0f 83 a4 fe ff ff    	jae    0x4c4086
4c41e2:	80 3e 1a             	cmpb   $0x1a,(%esi)
4c41e5:	74 d9                	je     0x4c41c0
4c41e7:	e9 96 fe ff ff       	jmp    0x4c4082
4c41ec:	80 fb 22             	cmp    $0x22,%bl
4c41ef:	0f 85 ad 04 00 00    	jne    0x4c46a2
4c41f5:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4c41f8:	4e                   	dec    %esi
4c41f9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
4c4200:	8b 43 2c             	mov    0x2c(%ebx),%eax
4c4203:	46                   	inc    %esi
4c4204:	85 c0                	test   %eax,%eax
4c4206:	74 20                	je     0x4c4228
4c4208:	8b 4b 24             	mov    0x24(%ebx),%ecx
4c420b:	8b 10                	mov    (%eax),%edx
4c420d:	3b ca                	cmp    %edx,%ecx
4c420f:	7d 12                	jge    0x4c4223
4c4211:	8b 44 88 04          	mov    0x4(%eax,%ecx,4),%eax
4c4215:	89 45 f4             	mov    %eax,-0xc(%ebp)
4c4218:	8d 41 01             	lea    0x1(%ecx),%eax
4c421b:	89 43 24             	mov    %eax,0x24(%ebx)
4c421e:	8b 45 f4             	mov    -0xc(%ebp),%eax
4c4221:	eb 2f                	jmp    0x4c4252
4c4223:	3b 53 28             	cmp    0x28(%ebx),%edx
4c4226:	75 10                	jne    0x4c4238
4c4228:	8b 43 28             	mov    0x28(%ebx),%eax
4c422b:	8d 4b 20             	lea    0x20(%ebx),%ecx
4c422e:	40                   	inc    %eax
4c422f:	50                   	push   %eax
4c4230:	e8 5b 96 f9 ff       	call   0x45d890
4c4235:	8b 43 2c             	mov    0x2c(%ebx),%eax
4c4238:	ff 00                	incl   (%eax)
4c423a:	ff 73 20             	push   0x20(%ebx)
4c423d:	e8 ae 2b 00 00       	call   0x4c6df0
4c4242:	8b 53 24             	mov    0x24(%ebx),%edx
4c4245:	83 c4 04             	add    $0x4,%esp
4c4248:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
4c424b:	89 44 91 04          	mov    %eax,0x4(%ecx,%edx,4)
4c424f:	ff 43 24             	incl   0x24(%ebx)
4c4252:	56                   	push   %esi
4c4253:	50                   	push   %eax
4c4254:	8b cf                	mov    %edi,%ecx
4c4256:	e8 15 49 00 00       	call   0x4c8b70
4c425b:	8b f0                	mov    %eax,%esi
4c425d:	85 f6                	test   %esi,%esi
4c425f:	0f 84 f5 fe ff ff    	je     0x4c415a
4c4265:	3b 37                	cmp    (%edi),%esi
4c4267:	0f 83 19 fe ff ff    	jae    0x4c4086
4c426d:	80 3e 22             	cmpb   $0x22,(%esi)
4c4270:	74 8e                	je     0x4c4200
4c4272:	e9 0b fe ff ff       	jmp    0x4c4082
4c4277:	80 fb 2a             	cmp    $0x2a,%bl
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