46110e:	8b cf                	mov    %edi,%ecx
461110:	e8 85 48 ff ff       	call   0x45599a
461115:	50                   	push   %eax
461116:	8d 45 f8             	lea    -0x8(%ebp),%eax
461119:	53                   	push   %ebx
46111a:	50                   	push   %eax
46111b:	e8 0c 6f 01 00       	call   0x47802c
461120:	8b 46 20             	mov    0x20(%esi),%eax
461123:	83 c4 28             	add    $0x28,%esp
461126:	c1 e8 05             	shr    $0x5,%eax
461129:	a8 01                	test   $0x1,%al
46112b:	74 13                	je     0x461140
46112d:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
461131:	75 0d                	jne    0x461140
461133:	ff 76 08             	push   0x8(%esi)
461136:	ff 76 34             	push   0x34(%esi)
461139:	e8 5a 91 ff ff       	call   0x45a298
46113e:	59                   	pop    %ecx
46113f:	59                   	pop    %ecx
461140:	0f b7 46 32          	movzwl 0x32(%esi),%eax
461144:	6a 67                	push   $0x67
461146:	59                   	pop    %ecx
461147:	66 3b c1             	cmp    %cx,%ax
46114a:	74 08                	je     0x461154
46114c:	6a 47                	push   $0x47
46114e:	59                   	pop    %ecx
46114f:	66 3b c1             	cmp    %cx,%ax
461152:	75 17                	jne    0x46116b
461154:	8b 46 20             	mov    0x20(%esi),%eax
461157:	c1 e8 05             	shr    $0x5,%eax
46115a:	a8 01                	test   $0x1,%al
46115c:	75 0d                	jne    0x46116b
46115e:	ff 76 08             	push   0x8(%esi)
461161:	ff 76 34             	push   0x34(%esi)
461164:	e8 5c 8e ff ff       	call   0x459fc5
461169:	59                   	pop    %ecx
46116a:	59                   	pop    %ecx
46116b:	8b 46 34             	mov    0x34(%esi),%eax
46116e:	80 38 2d             	cmpb   $0x2d,(%eax)
461171:	75 08                	jne    0x46117b
461173:	83 4e 20 40          	orl    $0x40,0x20(%esi)
461177:	40                   	inc    %eax
461178:	89 46 34             	mov    %eax,0x34(%esi)
46117b:	8b 56 34             	mov    0x34(%esi),%edx
46117e:	8a 02                	mov    (%edx),%al
461180:	3c 69                	cmp    $0x69,%al
461182:	74 0c                	je     0x461190
461184:	3c 49                	cmp    $0x49,%al
461186:	74 08                	je     0x461190
461188:	3c 6e                	cmp    $0x6e,%al
46118a:	74 04                	je     0x461190
46118c:	3c 4e                	cmp    $0x4e,%al
46118e:	75 07                	jne    0x461197
461190:	6a 73                	push   $0x73
461192:	58                   	pop    %eax
461193:	66 89 46 32          	mov    %ax,0x32(%esi)
461197:	8d 7a 01             	lea    0x1(%edx),%edi
46119a:	8a 0a                	mov    (%edx),%cl
46119c:	42                   	inc    %edx
46119d:	84 c9                	test   %cl,%cl
46119f:	75 f9                	jne    0x46119a
4611a1:	2b d7                	sub    %edi,%edx
4611a3:	b0 01                	mov    $0x1,%al
4611a5:	89 56 38             	mov    %edx,0x38(%esi)
4611a8:	5f                   	pop    %edi
4611a9:	5b                   	pop    %ebx
4611aa:	5e                   	pop    %esi
4611ab:	8b e5                	mov    %ebp,%esp
4611ad:	5d                   	pop    %ebp
4611ae:	c3                   	ret
4611af:	8b ff                	mov    %edi,%edi
4611b1:	55                   	push   %ebp
4611b2:	8b ec                	mov    %esp,%ebp
4611b4:	51                   	push   %ecx
4611b5:	51                   	push   %ecx
4611b6:	56                   	push   %esi
4611b7:	57                   	push   %edi
4611b8:	8b f1                	mov    %ecx,%esi
4611ba:	6a 67                	push   $0x67
4611bc:	59                   	pop    %ecx
4611bd:	6a 47                	push   $0x47
4611bf:	83 4e 20 10          	orl    $0x10,0x20(%esi)
4611c3:	8b 46 28             	mov    0x28(%esi),%eax
4611c6:	5a                   	pop    %edx
4611c7:	85 c0                	test   %eax,%eax
4611c9:	79 20                	jns    0x4611eb
4611cb:	0f b7 46 32          	movzwl 0x32(%esi),%eax
4611cf:	83 f8 61             	cmp    $0x61,%eax
4611d2:	74 0e                	je     0x4611e2
4611d4:	83 f8 41             	cmp    $0x41,%eax
4611d7:	74 09                	je     0x4611e2
4611d9:	c7 46 28 06 00 00 00 	movl   $0x6,0x28(%esi)
4611e0:	eb 20                	jmp    0x461202
4611e2:	c7 46 28 0d 00 00 00 	movl   $0xd,0x28(%esi)
4611e9:	eb 17                	jmp    0x461202
4611eb:	75 15                	jne    0x461202
4611ed:	0f b7 46 32          	movzwl 0x32(%esi),%eax
4611f1:	66 3b c1             	cmp    %cx,%ax
4611f4:	74 05                	je     0x4611fb
4611f6:	66 3b c2             	cmp    %dx,%ax
4611f9:	75 07                	jne    0x461202
4611fb:	c7 46 28 01 00 00 00 	movl   $0x1,0x28(%esi)
461202:	8b 46 28             	mov    0x28(%esi),%eax
461205:	8d 7e 40             	lea    0x40(%esi),%edi
461208:	53                   	push   %ebx
461209:	bb 5d 01 00 00       	mov    $0x15d,%ebx
46120e:	8b cf                	mov    %edi,%ecx
461210:	03 c3                	add    %ebx,%eax
461212:	50                   	push   %eax
461213:	e8 cd 47 ff ff       	call   0x4559e5
461218:	84 c0                	test   %al,%al
46121a:	75 0c                	jne    0x461228
46121c:	8b cf                	mov    %edi,%ecx
46121e:	e8 77 47 ff ff       	call   0x45599a
461223:	2b c3                	sub    %ebx,%eax
461225:	89 46 28             	mov    %eax,0x28(%esi)
461228:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
46122e:	85 c0                	test   %eax,%eax
461230:	75 02                	jne    0x461234
461232:	8b c7                	mov    %edi,%eax
461234:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
461238:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46123c:	89 46 34             	mov    %eax,0x34(%esi)
46123f:	83 46 14 08          	addl   $0x8,0x14(%esi)
461243:	8b 4e 14             	mov    0x14(%esi),%ecx
461246:	8b 41 f8             	mov    -0x8(%ecx),%eax
461249:	89 45 f8             	mov    %eax,-0x8(%ebp)
46124c:	8b 41 fc             	mov    -0x4(%ecx),%eax
46124f:	8b cf                	mov    %edi,%ecx
461251:	89 45 fc             	mov    %eax,-0x4(%ebp)
461254:	e8 41 47 ff ff       	call   0x45599a
461259:	8b 9f 04 04 00 00    	mov    0x404(%edi),%ebx
46125f:	8b c8                	mov    %eax,%ecx
461261:	85 db                	test   %ebx,%ebx
461263:	75 02                	jne    0x461267
461265:	8b df                	mov    %edi,%ebx
461267:	ff 76 08             	push   0x8(%esi)
46126a:	0f be 46 32          	movsbl 0x32(%esi),%eax
46126e:	ff 76 04             	push   0x4(%esi)
461271:	ff 36                	push   (%esi)
461273:	ff 76 28             	push   0x28(%esi)
461276:	50                   	push   %eax
461277:	51                   	push   %ecx
461278:	8b cf                	mov    %edi,%ecx
46127a:	e8 f0 6f ff ff       	call   0x45826f
46127f:	50                   	push   %eax
461280:	8b cf                	mov    %edi,%ecx
461282:	e8 13 47 ff ff       	call   0x45599a
461287:	50                   	push   %eax
461288:	8d 45 f8             	lea    -0x8(%ebp),%eax
46128b:	53                   	push   %ebx
46128c:	50                   	push   %eax
46128d:	e8 9a 6d 01 00       	call   0x47802c
461292:	8b 46 20             	mov    0x20(%esi),%eax
461295:	83 c4 28             	add    $0x28,%esp
461298:	c1 e8 05             	shr    $0x5,%eax
46129b:	5b                   	pop    %ebx
46129c:	a8 01                	test   $0x1,%al
46129e:	74 13                	je     0x4612b3
4612a0:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
4612a4:	75 0d                	jne    0x4612b3
4612a6:	ff 76 08             	push   0x8(%esi)
4612a9:	ff 76 34             	push   0x34(%esi)
4612ac:	e8 e7 8f ff ff       	call   0x45a298
4612b1:	59                   	pop    %ecx
4612b2:	59                   	pop    %ecx
4612b3:	0f b7 46 32          	movzwl 0x32(%esi),%eax
4612b7:	6a 67                	push   $0x67
4612b9:	59                   	pop    %ecx
4612ba:	66 3b c1             	cmp    %cx,%ax
4612bd:	74 08                	je     0x4612c7
4612bf:	6a 47                	push   $0x47
4612c1:	59                   	pop    %ecx
4612c2:	66 3b c1             	cmp    %cx,%ax
4612c5:	75 17                	jne    0x4612de
4612c7:	8b 46 20             	mov    0x20(%esi),%eax
4612ca:	c1 e8 05             	shr    $0x5,%eax
4612cd:	a8 01                	test   $0x1,%al
4612cf:	75 0d                	jne    0x4612de
4612d1:	ff 76 08             	push   0x8(%esi)
4612d4:	ff 76 34             	push   0x34(%esi)
4612d7:	e8 e9 8c ff ff       	call   0x459fc5
4612dc:	59                   	pop    %ecx
4612dd:	59                   	pop    %ecx
4612de:	8b 46 34             	mov    0x34(%esi),%eax
4612e1:	80 38 2d             	cmpb   $0x2d,(%eax)
4612e4:	75 08                	jne    0x4612ee
4612e6:	83 4e 20 40          	orl    $0x40,0x20(%esi)
4612ea:	40                   	inc    %eax
4612eb:	89 46 34             	mov    %eax,0x34(%esi)
4612ee:	8b 56 34             	mov    0x34(%esi),%edx
4612f1:	8a 02                	mov    (%edx),%al
4612f3:	3c 69                	cmp    $0x69,%al
4612f5:	74 0c                	je     0x461303
4612f7:	3c 49                	cmp    $0x49,%al
4612f9:	74 08                	je     0x461303
4612fb:	3c 6e                	cmp    $0x6e,%al
4612fd:	74 04                	je     0x461303
4612ff:	3c 4e                	cmp    $0x4e,%al
461301:	75 07                	jne    0x46130a
461303:	6a 73                	push   $0x73
461305:	58                   	pop    %eax
461306:	66 89 46 32          	mov    %ax,0x32(%esi)
46130a:	8d 7a 01             	lea    0x1(%edx),%edi
46130d:	8a 0a                	mov    (%edx),%cl
46130f:	42                   	inc    %edx
461310:	84 c9                	test   %cl,%cl
461312:	75 f9                	jne    0x46130d
461314:	2b d7                	sub    %edi,%edx
461316:	b0 01                	mov    $0x1,%al
461318:	5f                   	pop    %edi
461319:	89 56 38             	mov    %edx,0x38(%esi)
46131c:	5e                   	pop    %esi
46131d:	8b e5                	mov    %ebp,%esp
46131f:	5d                   	pop    %ebp
461320:	c3                   	ret
461321:	6a 00                	push   $0x0
461323:	e8 59 00 00 00       	call   0x461381
461328:	c3                   	ret
461329:	6a 00                	push   $0x0
46132b:	e8 e1 00 00 00       	call   0x461411
461330:	c3                   	ret
461331:	6a 00                	push   $0x0
461333:	e8 99 01 00 00       	call   0x4614d1
461338:	c3                   	ret
461339:	6a 00                	push   $0x0
46133b:	e8 21 02 00 00       	call   0x461561
461340:	c3                   	ret
461341:	6a 00                	push   $0x0
461343:	e8 a9 02 00 00       	call   0x4615f1
461348:	c3                   	ret
461349:	6a 00                	push   $0x0
46134b:	e8 61 03 00 00       	call   0x4616b1
461350:	c3                   	ret
461351:	6a 00                	push   $0x0
461353:	e8 e9 03 00 00       	call   0x461741
461358:	c3                   	ret
461359:	6a 00                	push   $0x0
46135b:	e8 79 04 00 00       	call   0x4617d9
461360:	c3                   	ret
461361:	6a 00                	push   $0x0
461363:	e8 20 05 00 00       	call   0x461888
461368:	c3                   	ret
461369:	6a 00                	push   $0x0
46136b:	e8 b0 05 00 00       	call   0x461920
461370:	c3                   	ret
461371:	6a 00                	push   $0x0
461373:	e8 40 06 00 00       	call   0x4619b8
461378:	c3                   	ret
461379:	6a 00                	push   $0x0
46137b:	e8 e7 06 00 00       	call   0x461a67
461380:	c3                   	ret
461381:	8b ff                	mov    %edi,%edi
461383:	56                   	push   %esi
461384:	8b f1                	mov    %ecx,%esi
461386:	57                   	push   %edi
461387:	ff 76 2c             	push   0x2c(%esi)
46138a:	0f b6 46 31          	movzbl 0x31(%esi),%eax
46138e:	50                   	push   %eax
46138f:	ff 76 04             	push   0x4(%esi)
461392:	ff 36                	push   (%esi)
461394:	e8 86 6b ff ff       	call   0x457f1f
461399:	83 c4 10             	add    $0x10,%esp
46139c:	8d 7e 40             	lea    0x40(%esi),%edi
46139f:	84 c0                	test   %al,%al
4613a1:	74 39                	je     0x4613dc
4613a3:	83 46 14 04          	addl   $0x4,0x14(%esi)
4613a7:	8b 46 14             	mov    0x14(%esi),%eax
4613aa:	53                   	push   %ebx
4613ab:	8b 9f 04 04 00 00    	mov    0x404(%edi),%ebx
4613b1:	0f b7 40 fc          	movzwl -0x4(%eax),%eax
4613b5:	85 db                	test   %ebx,%ebx
4613b7:	75 02                	jne    0x4613bb
4613b9:	8b df                	mov    %edi,%ebx
4613bb:	50                   	push   %eax
4613bc:	8b cf                	mov    %edi,%ecx
4613be:	e8 d7 45 ff ff       	call   0x45599a
4613c3:	50                   	push   %eax
4613c4:	8d 46 38             	lea    0x38(%esi),%eax
4613c7:	53                   	push   %ebx
4613c8:	50                   	push   %eax
4613c9:	e8 5e 63 01 00       	call   0x47772c
4613ce:	83 c4 10             	add    $0x10,%esp
4613d1:	5b                   	pop    %ebx
4613d2:	85 c0                	test   %eax,%eax
4613d4:	74 25                	je     0x4613fb
4613d6:	c6 46 30 01          	movb   $0x1,0x30(%esi)
4613da:	eb 1f                	jmp    0x4613fb
4613dc:	8b 8f 04 04 00 00    	mov    0x404(%edi),%ecx
4613e2:	85 c9                	test   %ecx,%ecx
4613e4:	75 02                	jne    0x4613e8
4613e6:	8b cf                	mov    %edi,%ecx
4613e8:	83 46 14 04          	addl   $0x4,0x14(%esi)
4613ec:	8b 46 14             	mov    0x14(%esi),%eax
4613ef:	8a 40 fc             	mov    -0x4(%eax),%al
4613f2:	88 01                	mov    %al,(%ecx)
4613f4:	c7 46 38 01 00 00 00 	movl   $0x1,0x38(%esi)
4613fb:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
461401:	85 c0                	test   %eax,%eax
461403:	74 02                	je     0x461407
461405:	8b f8                	mov    %eax,%edi
461407:	89 7e 34             	mov    %edi,0x34(%esi)
46140a:	b0 01                	mov    $0x1,%al
46140c:	5f                   	pop    %edi
46140d:	5e                   	pop    %esi
46140e:	c2 04 00             	ret    $0x4
461411:	8b ff                	mov    %edi,%edi
461413:	55                   	push   %ebp
461414:	8b ec                	mov    %esp,%ebp
461416:	51                   	push   %ecx
461417:	56                   	push   %esi
461418:	8b f1                	mov    %ecx,%esi
46141a:	57                   	push   %edi
46141b:	ff 76 2c             	push   0x2c(%esi)
46141e:	0f b6 46 31          	movzbl 0x31(%esi),%eax
461422:	50                   	push   %eax
461423:	ff 76 04             	push   0x4(%esi)
461426:	ff 36                	push   (%esi)
461428:	e8 f2 6a ff ff       	call   0x457f1f
46142d:	83 c4 10             	add    $0x10,%esp
461430:	84 c0                	test   %al,%al
461432:	74 57                	je     0x46148b
461434:	33 c0                	xor    %eax,%eax
461436:	8b ce                	mov    %esi,%ecx
461438:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
46143c:	8d 45 fc             	lea    -0x4(%ebp),%eax
46143f:	50                   	push   %eax
461440:	e8 4a 66 ff ff       	call   0x457a8f
461445:	84 c0                	test   %al,%al
461447:	75 04                	jne    0x46144d
461449:	32 c0                	xor    %al,%al
46144b:	eb 7c                	jmp    0x4614c9
46144d:	8b ce                	mov    %esi,%ecx
46144f:	e8 2d aa ff ff       	call   0x45be81
461454:	84 c0                	test   %al,%al
461456:	74 6f                	je     0x4614c7
461458:	8d 7e 40             	lea    0x40(%esi),%edi
46145b:	53                   	push   %ebx
46145c:	8b 9f 04 04 00 00    	mov    0x404(%edi),%ebx
461462:	85 db                	test   %ebx,%ebx
461464:	75 02                	jne    0x461468
461466:	8b df                	mov    %edi,%ebx
461468:	ff 75 fc             	push   -0x4(%ebp)
46146b:	8b cf                	mov    %edi,%ecx
46146d:	e8 28 45 ff ff       	call   0x45599a
461472:	50                   	push   %eax
461473:	8d 46 38             	lea    0x38(%esi),%eax
461476:	53                   	push   %ebx
461477:	50                   	push   %eax
461478:	e8 af 62 01 00       	call   0x47772c