42218f:	e8 c4 06 00 00       	call   0x422858
422194:	84 c0                	test   %al,%al
422196:	0f 84 7a fe ff ff    	je     0x422016
42219c:	8b 46 0c             	mov    0xc(%esi),%eax
42219f:	0f b7 08             	movzwl (%eax),%ecx
4221a2:	8d 50 02             	lea    0x2(%eax),%edx
4221a5:	89 56 0c             	mov    %edx,0xc(%esi)
4221a8:	8b f9                	mov    %ecx,%edi
4221aa:	66 89 4e 2e          	mov    %cx,0x2e(%esi)
4221ae:	66 85 c9             	test   %cx,%cx
4221b1:	0f 85 9c fe ff ff    	jne    0x422053
4221b7:	8a 46 18             	mov    0x18(%esi),%al
4221ba:	84 c0                	test   %al,%al
4221bc:	74 08                	je     0x4221c6
4221be:	3c 07                	cmp    $0x7,%al
4221c0:	0f 85 32 fe ff ff    	jne    0x421ff8
4221c6:	ff 86 50 04 00 00    	incl   0x450(%esi)
4221cc:	83 be 50 04 00 00 02 	cmpl   $0x2,0x450(%esi)
4221d3:	0f 85 5c fe ff ff    	jne    0x422035
4221d9:	8b 46 14             	mov    0x14(%esi),%eax
4221dc:	e9 38 fe ff ff       	jmp    0x422019
4221e1:	8b 4e 08             	mov    0x8(%esi),%ecx
4221e4:	c6 41 1c 01          	movb   $0x1,0x1c(%ecx)
4221e8:	c7 41 18 16 00 00 00 	movl   $0x16,0x18(%ecx)
4221ef:	e9 12 fe ff ff       	jmp    0x422006
4221f4:	8b ff                	mov    %edi,%edi
4221f6:	85 20                	test   %esp,(%eax)
4221f8:	42                   	inc    %edx
4221f9:	00 c6                	add    %al,%dh
4221fb:	20 42 00             	and    %al,0x0(%edx)
4221fe:	de 20                	fisubs (%eax)
422200:	42                   	inc    %edx
422201:	00 26                	add    %ah,(%esi)
422203:	21 42 00             	and    %eax,0x0(%edx)
422206:	5a                   	pop    %edx
422207:	21 42 00             	and    %eax,0x0(%edx)
42220a:	5f                   	pop    %edi
42220b:	21 42 00             	and    %eax,0x0(%edx)
42220e:	84 21                	test   %ah,(%ecx)
422210:	42                   	inc    %edx
422211:	00 8d 21 42 00 8a    	add    %cl,-0x75ffbddf(%ebp)
422217:	41                   	inc    %ecx
422218:	2d 3c 46 75 17       	sub    $0x1775463c,%eax
42221d:	8b 01                	mov    (%ecx),%eax
42221f:	83 e0 08             	and    $0x8,%eax
422222:	83 c8 00             	or     $0x0,%eax
422225:	0f 85 41 01 00 00    	jne    0x42236c
42222b:	c6 41 18 07          	movb   $0x7,0x18(%ecx)
42222f:	e9 c5 02 00 00       	jmp    0x4224f9
422234:	33 d2                	xor    %edx,%edx
422236:	3c 4e                	cmp    $0x4e,%al
422238:	75 34                	jne    0x42226e
42223a:	8b 01                	mov    (%ecx),%eax
42223c:	83 e0 08             	and    $0x8,%eax
42223f:	0b c2                	or     %edx,%eax
422241:	0f 85 25 01 00 00    	jne    0x42236c
422247:	c6 41 18 08          	movb   $0x8,0x18(%ecx)
42224b:	8b 41 08             	mov    0x8(%ecx),%eax
42224e:	83 c0 18             	add    $0x18,%eax
422251:	c6 40 04 01          	movb   $0x1,0x4(%eax)
422255:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42225b:	ff 71 08             	push   0x8(%ecx)
42225e:	52                   	push   %edx
42225f:	52                   	push   %edx
422260:	52                   	push   %edx
422261:	52                   	push   %edx
422262:	52                   	push   %edx
422263:	e8 9e d6 ff ff       	call   0x41f906
422268:	83 c4 18             	add    $0x18,%esp
42226b:	32 c0                	xor    %al,%al
42226d:	c3                   	ret
42226e:	39 51 28             	cmp    %edx,0x28(%ecx)
422271:	75 d8                	jne    0x42224b
422273:	3c 6a                	cmp    $0x6a,%al
422275:	0f 8f b0 00 00 00    	jg     0x42232b
42227b:	0f 84 a1 00 00 00    	je     0x422322
422281:	3c 49                	cmp    $0x49,%al
422283:	74 43                	je     0x4222c8
422285:	3c 4c                	cmp    $0x4c,%al
422287:	74 33                	je     0x4222bc
422289:	3c 54                	cmp    $0x54,%al
42228b:	74 23                	je     0x4222b0
42228d:	3c 68                	cmp    $0x68,%al
42228f:	0f 85 d7 00 00 00    	jne    0x42236c
422295:	8b 41 0c             	mov    0xc(%ecx),%eax
422298:	80 38 68             	cmpb   $0x68,(%eax)
42229b:	75 0c                	jne    0x4222a9
42229d:	40                   	inc    %eax
42229e:	89 41 0c             	mov    %eax,0xc(%ecx)
4222a1:	33 c0                	xor    %eax,%eax
4222a3:	40                   	inc    %eax
4222a4:	e9 c0 00 00 00       	jmp    0x422369
4222a9:	6a 02                	push   $0x2
4222ab:	e9 b8 00 00 00       	jmp    0x422368
4222b0:	c7 41 28 0d 00 00 00 	movl   $0xd,0x28(%ecx)
4222b7:	e9 b0 00 00 00       	jmp    0x42236c
4222bc:	c7 41 28 08 00 00 00 	movl   $0x8,0x28(%ecx)
4222c3:	e9 a4 00 00 00       	jmp    0x42236c
4222c8:	56                   	push   %esi
4222c9:	8b 71 0c             	mov    0xc(%ecx),%esi
4222cc:	8a 06                	mov    (%esi),%al
4222ce:	3c 33                	cmp    $0x33,%al
4222d0:	75 15                	jne    0x4222e7
4222d2:	80 7e 01 32          	cmpb   $0x32,0x1(%esi)
4222d6:	75 0f                	jne    0x4222e7
4222d8:	8d 46 02             	lea    0x2(%esi),%eax
4222db:	c7 41 28 0a 00 00 00 	movl   $0xa,0x28(%ecx)
4222e2:	89 41 0c             	mov    %eax,0xc(%ecx)
4222e5:	eb 38                	jmp    0x42231f
4222e7:	3c 36                	cmp    $0x36,%al
4222e9:	75 15                	jne    0x422300
4222eb:	80 7e 01 34          	cmpb   $0x34,0x1(%esi)
4222ef:	75 2e                	jne    0x42231f
4222f1:	8d 46 02             	lea    0x2(%esi),%eax
4222f4:	c7 41 28 0b 00 00 00 	movl   $0xb,0x28(%ecx)
4222fb:	89 41 0c             	mov    %eax,0xc(%ecx)
4222fe:	eb 1f                	jmp    0x42231f
422300:	3c 64                	cmp    $0x64,%al
422302:	74 14                	je     0x422318
422304:	3c 69                	cmp    $0x69,%al
422306:	74 10                	je     0x422318
422308:	3c 6f                	cmp    $0x6f,%al
42230a:	74 0c                	je     0x422318
42230c:	3c 75                	cmp    $0x75,%al
42230e:	74 08                	je     0x422318
422310:	3c 78                	cmp    $0x78,%al
422312:	74 04                	je     0x422318
422314:	3c 58                	cmp    $0x58,%al
422316:	75 07                	jne    0x42231f
422318:	c7 41 28 09 00 00 00 	movl   $0x9,0x28(%ecx)
42231f:	5e                   	pop    %esi
422320:	eb 4a                	jmp    0x42236c
422322:	c7 41 28 05 00 00 00 	movl   $0x5,0x28(%ecx)
422329:	eb 41                	jmp    0x42236c
42232b:	3c 6c                	cmp    $0x6c,%al
42232d:	74 27                	je     0x422356
42232f:	3c 74                	cmp    $0x74,%al
422331:	74 1a                	je     0x42234d
422333:	3c 77                	cmp    $0x77,%al
422335:	74 0d                	je     0x422344
422337:	3c 7a                	cmp    $0x7a,%al
422339:	75 31                	jne    0x42236c
42233b:	c7 41 28 06 00 00 00 	movl   $0x6,0x28(%ecx)
422342:	eb 28                	jmp    0x42236c
422344:	c7 41 28 0c 00 00 00 	movl   $0xc,0x28(%ecx)
42234b:	eb 1f                	jmp    0x42236c
42234d:	c7 41 28 07 00 00 00 	movl   $0x7,0x28(%ecx)
422354:	eb 16                	jmp    0x42236c
422356:	8b 41 0c             	mov    0xc(%ecx),%eax
422359:	80 38 6c             	cmpb   $0x6c,(%eax)
42235c:	75 08                	jne    0x422366
42235e:	40                   	inc    %eax
42235f:	89 41 0c             	mov    %eax,0xc(%ecx)
422362:	6a 04                	push   $0x4
422364:	eb 02                	jmp    0x422368
422366:	6a 03                	push   $0x3
422368:	58                   	pop    %eax
422369:	89 41 28             	mov    %eax,0x28(%ecx)
42236c:	b0 01                	mov    $0x1,%al
42236e:	c3                   	ret
42236f:	8b ff                	mov    %edi,%edi
422371:	56                   	push   %esi
422372:	0f b7 71 2e          	movzwl 0x2e(%ecx),%esi
422376:	8b c6                	mov    %esi,%eax
422378:	83 fe 46             	cmp    $0x46,%esi
42237b:	75 18                	jne    0x422395
42237d:	8b 01                	mov    (%ecx),%eax
42237f:	83 e0 08             	and    $0x8,%eax
422382:	83 c8 00             	or     $0x0,%eax
422385:	0f 85 6a 01 00 00    	jne    0x4224f5
42238b:	c6 41 18 07          	movb   $0x7,0x18(%ecx)
42238f:	5e                   	pop    %esi
422390:	e9 c3 04 00 00       	jmp    0x422858
422395:	33 d2                	xor    %edx,%edx
422397:	83 fe 4e             	cmp    $0x4e,%esi
42239a:	75 35                	jne    0x4223d1
42239c:	8b 01                	mov    (%ecx),%eax
42239e:	83 e0 08             	and    $0x8,%eax
4223a1:	0b c2                	or     %edx,%eax
4223a3:	0f 85 4c 01 00 00    	jne    0x4224f5
4223a9:	c6 41 18 08          	movb   $0x8,0x18(%ecx)
4223ad:	8b 41 08             	mov    0x8(%ecx),%eax
4223b0:	83 c0 18             	add    $0x18,%eax
4223b3:	c6 40 04 01          	movb   $0x1,0x4(%eax)
4223b7:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4223bd:	ff 71 08             	push   0x8(%ecx)
4223c0:	52                   	push   %edx
4223c1:	52                   	push   %edx
4223c2:	52                   	push   %edx
4223c3:	52                   	push   %edx
4223c4:	52                   	push   %edx
4223c5:	e8 3c d5 ff ff       	call   0x41f906
4223ca:	83 c4 18             	add    $0x18,%esp
4223cd:	32 c0                	xor    %al,%al
4223cf:	5e                   	pop    %esi
4223d0:	c3                   	ret
4223d1:	39 51 28             	cmp    %edx,0x28(%ecx)
4223d4:	75 d7                	jne    0x4223ad
4223d6:	6a 6a                	push   $0x6a
4223d8:	5a                   	pop    %edx
4223d9:	66 3b c2             	cmp    %dx,%ax
4223dc:	0f 87 c9 00 00 00    	ja     0x4224ab
4223e2:	0f 84 ba 00 00 00    	je     0x4224a2
4223e8:	83 f8 49             	cmp    $0x49,%eax
4223eb:	74 4b                	je     0x422438
4223ed:	83 f8 4c             	cmp    $0x4c,%eax
4223f0:	74 3a                	je     0x42242c
4223f2:	83 f8 54             	cmp    $0x54,%eax
4223f5:	74 29                	je     0x422420
4223f7:	6a 68                	push   $0x68
4223f9:	5a                   	pop    %edx
4223fa:	66 3b c2             	cmp    %dx,%ax
4223fd:	0f 85 f2 00 00 00    	jne    0x4224f5
422403:	8b 41 0c             	mov    0xc(%ecx),%eax
422406:	66 39 10             	cmp    %dx,(%eax)
422409:	75 0e                	jne    0x422419
42240b:	83 c0 02             	add    $0x2,%eax
42240e:	89 41 0c             	mov    %eax,0xc(%ecx)
422411:	33 c0                	xor    %eax,%eax
422413:	40                   	inc    %eax
422414:	e9 d9 00 00 00       	jmp    0x4224f2
422419:	6a 02                	push   $0x2
42241b:	e9 d1 00 00 00       	jmp    0x4224f1
422420:	c7 41 28 0d 00 00 00 	movl   $0xd,0x28(%ecx)
422427:	e9 c9 00 00 00       	jmp    0x4224f5
42242c:	c7 41 28 08 00 00 00 	movl   $0x8,0x28(%ecx)
422433:	e9 bd 00 00 00       	jmp    0x4224f5
422438:	8b 71 0c             	mov    0xc(%ecx),%esi
42243b:	0f b7 06             	movzwl (%esi),%eax
42243e:	83 f8 33             	cmp    $0x33,%eax
422441:	75 19                	jne    0x42245c
422443:	66 83 7e 02 32       	cmpw   $0x32,0x2(%esi)
422448:	75 12                	jne    0x42245c
42244a:	8d 46 04             	lea    0x4(%esi),%eax
42244d:	c7 41 28 0a 00 00 00 	movl   $0xa,0x28(%ecx)
422454:	89 41 0c             	mov    %eax,0xc(%ecx)
422457:	e9 99 00 00 00       	jmp    0x4224f5
42245c:	83 f8 36             	cmp    $0x36,%eax
42245f:	75 1a                	jne    0x42247b
422461:	66 83 7e 02 34       	cmpw   $0x34,0x2(%esi)
422466:	0f 85 89 00 00 00    	jne    0x4224f5
42246c:	8d 46 04             	lea    0x4(%esi),%eax
42246f:	c7 41 28 0b 00 00 00 	movl   $0xb,0x28(%ecx)
422476:	89 41 0c             	mov    %eax,0xc(%ecx)
422479:	eb 7a                	jmp    0x4224f5
42247b:	83 f8 64             	cmp    $0x64,%eax
42247e:	74 19                	je     0x422499
422480:	83 f8 69             	cmp    $0x69,%eax
422483:	74 14                	je     0x422499
422485:	83 f8 6f             	cmp    $0x6f,%eax
422488:	74 0f                	je     0x422499
42248a:	83 f8 75             	cmp    $0x75,%eax
42248d:	74 0a                	je     0x422499
42248f:	83 f8 78             	cmp    $0x78,%eax
422492:	74 05                	je     0x422499
422494:	83 f8 58             	cmp    $0x58,%eax
422497:	75 5c                	jne    0x4224f5
422499:	c7 41 28 09 00 00 00 	movl   $0x9,0x28(%ecx)
4224a0:	eb 53                	jmp    0x4224f5
4224a2:	c7 41 28 05 00 00 00 	movl   $0x5,0x28(%ecx)
4224a9:	eb 4a                	jmp    0x4224f5
4224ab:	6a 6c                	push   $0x6c
4224ad:	5a                   	pop    %edx
4224ae:	66 3b c2             	cmp    %dx,%ax
4224b1:	74 2a                	je     0x4224dd
4224b3:	83 f8 74             	cmp    $0x74,%eax
4224b6:	74 1c                	je     0x4224d4
4224b8:	83 f8 77             	cmp    $0x77,%eax
4224bb:	74 0e                	je     0x4224cb
4224bd:	83 fe 7a             	cmp    $0x7a,%esi
4224c0:	75 33                	jne    0x4224f5
4224c2:	c7 41 28 06 00 00 00 	movl   $0x6,0x28(%ecx)
4224c9:	eb 2a                	jmp    0x4224f5
4224cb:	c7 41 28 0c 00 00 00 	movl   $0xc,0x28(%ecx)
4224d2:	eb 21                	jmp    0x4224f5
4224d4:	c7 41 28 07 00 00 00 	movl   $0x7,0x28(%ecx)
4224db:	eb 18                	jmp    0x4224f5
4224dd:	8b 41 0c             	mov    0xc(%ecx),%eax
4224e0:	66 39 10             	cmp    %dx,(%eax)
4224e3:	75 0a                	jne    0x4224ef
4224e5:	83 c0 02             	add    $0x2,%eax
4224e8:	89 41 0c             	mov    %eax,0xc(%ecx)
4224eb:	6a 04                	push   $0x4
4224ed:	eb 02                	jmp    0x4224f1
4224ef:	6a 03                	push   $0x3
4224f1:	58                   	pop    %eax
4224f2:	89 41 28             	mov    %eax,0x28(%ecx)
4224f5:	b0 01                	mov    $0x1,%al
4224f7:	5e                   	pop    %esi
4224f8:	c3                   	ret
4224f9:	8b ff                	mov    %edi,%edi
4224fb:	55                   	push   %ebp
4224fc:	8b ec                	mov    %esp,%ebp
4224fe:	83 ec 20             	sub    $0x20,%esp
422501:	a1 14 50 45 00       	mov    0x455014,%eax
422506:	33 c5                	xor    %ebp,%eax
422508:	89 45 fc             	mov    %eax,-0x4(%ebp)
42250b:	53                   	push   %ebx
42250c:	56                   	push   %esi
42250d:	8b f1                	mov    %ecx,%esi
42250f:	33 db                	xor    %ebx,%ebx
422511:	57                   	push   %edi
422512:	6a 02                	push   $0x2
422514:	5f                   	pop    %edi
422515:	0f be 46 2d          	movsbl 0x2d(%esi),%eax
422519:	83 f8 64             	cmp    $0x64,%eax
42251c:	7f 60                	jg     0x42257e
42251e:	0f 84 80 00 00 00    	je     0x4225a4
422524:	83 f8 53             	cmp    $0x53,%eax
422527:	7f 2b                	jg     0x422554
422529:	0f 84 9e 00 00 00    	je     0x4225cd
42252f:	83 e8 41             	sub    $0x41,%eax
422532:	74 16                	je     0x42254a
422534:	2b c7                	sub    %edi,%eax
422536:	74 2e                	je     0x422566
422538:	2b c7                	sub    %edi,%eax
42253a:	74 0e                	je     0x42254a
42253c:	83 e8 01             	sub    $0x1,%eax
42253f:	74 09                	je     0x42254a
422541:	83 e8 01             	sub    $0x1,%eax
422544:	0f 85 93 00 00 00    	jne    0x4225dd
42254a:	e8 17 08 00 00       	call   0x422d66
42254f:	e9 85 00 00 00       	jmp    0x4225d9
422554:	83 e8 58             	sub    $0x58,%eax
422557:	74 1c                	je     0x422575
422559:	2b c7                	sub    %edi,%eax
42255b:	74 11                	je     0x42256e
42255d:	83 e8 07             	sub    $0x7,%eax
422560:	74 e8                	je     0x42254a
422562:	2b c7                	sub    %edi,%eax
422564:	75 77                	jne    0x4225dd
422566:	53                   	push   %ebx
422567:	e8 32 0b 00 00       	call   0x42309e
42256c:	eb 6b                	jmp    0x4225d9
42256e:	e8 2d 07 00 00       	call   0x422ca0
422573:	eb 64                	jmp    0x4225d9
422575:	6a 01                	push   $0x1
422577:	e8 9c ea ff ff       	call   0x421018
42257c:	eb 5b                	jmp    0x4225d9
42257e:	83 f8 6f             	cmp    $0x6f,%eax
422581:	7f 34                	jg     0x4225b7
422583:	74 2b                	je     0x4225b0
422585:	83 e8 65             	sub    $0x65,%eax
422588:	74 c0                	je     0x42254a
42258a:	83 e8 01             	sub    $0x1,%eax
42258d:	74 bb                	je     0x42254a
42258f:	83 e8 01             	sub    $0x1,%eax
422592:	74 b6                	je     0x42254a
422594:	2b c7                	sub    %edi,%eax
422596:	74 0c                	je     0x4225a4