aa5157:	0f 84 8a 03 00 00    	je     0xaa54e7
aa515d:	33 db                	xor    %ebx,%ebx
aa515f:	88 5d ff             	mov    %bl,-0x1(%ebp)
aa5162:	80 f9 30             	cmp    $0x30,%cl
aa5165:	75 43                	jne    0xaa51aa
aa5167:	8b 46 14             	mov    0x14(%esi),%eax
aa516a:	8b ce                	mov    %esi,%ecx
aa516c:	8b 7e 10             	mov    0x10(%esi),%edi
aa516f:	89 45 f0             	mov    %eax,-0x10(%ebp)
aa5172:	e8 34 e9 97 ff       	call   0x423aab
aa5177:	88 45 f4             	mov    %al,-0xc(%ebp)
aa517a:	3c 78                	cmp    $0x78,%al
aa517c:	74 13                	je     0xaa5191
aa517e:	3c 58                	cmp    $0x58,%al
aa5180:	74 0f                	je     0xaa5191
aa5182:	ff 75 f4             	push   -0xc(%ebp)
aa5185:	8b ce                	mov    %esi,%ecx
aa5187:	e8 4c 45 96 ff       	call   0x4096d8
aa518c:	8a 4d f9             	mov    -0x7(%ebp),%cl
aa518f:	eb 19                	jmp    0xaa51aa
aa5191:	8b ce                	mov    %esi,%ecx
aa5193:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
aa5197:	e8 0f e9 97 ff       	call   0x423aab
aa519c:	8a c8                	mov    %al,%cl
aa519e:	89 7d e8             	mov    %edi,-0x18(%ebp)
aa51a1:	8b 45 f0             	mov    -0x10(%ebp),%eax
aa51a4:	88 4d f9             	mov    %cl,-0x7(%ebp)
aa51a7:	89 45 ec             	mov    %eax,-0x14(%ebp)
aa51aa:	8b 55 10             	mov    0x10(%ebp),%edx
aa51ad:	89 5d f4             	mov    %ebx,-0xc(%ebp)
aa51b0:	88 5d fe             	mov    %bl,-0x2(%ebp)
aa51b3:	8d 7a 08             	lea    0x8(%edx),%edi
aa51b6:	80 f9 30             	cmp    $0x30,%cl
aa51b9:	75 18                	jne    0xaa51d3
aa51bb:	c6 45 fe 01          	movb   $0x1,-0x2(%ebp)
aa51bf:	8b ce                	mov    %esi,%ecx
aa51c1:	e8 e5 e8 97 ff       	call   0x423aab
aa51c6:	8a c8                	mov    %al,%cl
aa51c8:	88 4d f9             	mov    %cl,-0x7(%ebp)
aa51cb:	80 f9 30             	cmp    $0x30,%cl
aa51ce:	74 ef                	je     0xaa51bf
aa51d0:	8b 55 10             	mov    0x10(%ebp),%edx
aa51d3:	33 db                	xor    %ebx,%ebx
aa51d5:	38 5d ff             	cmp    %bl,-0x1(%ebp)
aa51d8:	0f 94 c3             	sete   %bl
aa51db:	4b                   	dec    %ebx
aa51dc:	83 e3 06             	and    $0x6,%ebx
aa51df:	83 c3 09             	add    $0x9,%ebx
aa51e2:	89 5d f0             	mov    %ebx,-0x10(%ebp)
aa51e5:	8a c1                	mov    %cl,%al
aa51e7:	2c 30                	sub    $0x30,%al
aa51e9:	3c 09                	cmp    $0x9,%al
aa51eb:	77 08                	ja     0xaa51f5
aa51ed:	0f be c1             	movsbl %cl,%eax
aa51f0:	83 e8 30             	sub    $0x30,%eax
aa51f3:	eb 23                	jmp    0xaa5218
aa51f5:	8a c1                	mov    %cl,%al
aa51f7:	2c 61                	sub    $0x61,%al
aa51f9:	3c 19                	cmp    $0x19,%al
aa51fb:	77 08                	ja     0xaa5205
aa51fd:	0f be c1             	movsbl %cl,%eax
aa5200:	83 e8 57             	sub    $0x57,%eax
aa5203:	eb 13                	jmp    0xaa5218
aa5205:	8a c1                	mov    %cl,%al
aa5207:	2c 41                	sub    $0x41,%al
aa5209:	3c 19                	cmp    $0x19,%al
aa520b:	77 08                	ja     0xaa5215
aa520d:	0f be c1             	movsbl %cl,%eax
aa5210:	83 e8 37             	sub    $0x37,%eax
aa5213:	eb 03                	jmp    0xaa5218
aa5215:	83 c8 ff             	or     $0xffffffff,%eax
aa5218:	3b c3                	cmp    %ebx,%eax
aa521a:	77 25                	ja     0xaa5241
aa521c:	8d 8a 08 03 00 00    	lea    0x308(%edx),%ecx
aa5222:	c6 45 fe 01          	movb   $0x1,-0x2(%ebp)
aa5226:	3b f9                	cmp    %ecx,%edi
aa5228:	74 03                	je     0xaa522d
aa522a:	88 07                	mov    %al,(%edi)
aa522c:	47                   	inc    %edi
aa522d:	ff 45 f4             	incl   -0xc(%ebp)
aa5230:	8b ce                	mov    %esi,%ecx
aa5232:	e8 74 e8 97 ff       	call   0x423aab
aa5237:	8b 55 10             	mov    0x10(%ebp),%edx
aa523a:	8a c8                	mov    %al,%cl
aa523c:	88 4d f9             	mov    %cl,-0x7(%ebp)
aa523f:	eb a4                	jmp    0xaa51e5
aa5241:	8b 45 08             	mov    0x8(%ebp),%eax
aa5244:	6a 00                	push   $0x0
aa5246:	5b                   	pop    %ebx
aa5247:	8b 00                	mov    (%eax),%eax
aa5249:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
aa524f:	8b 00                	mov    (%eax),%eax
aa5251:	3a 08                	cmp    (%eax),%cl
aa5253:	0f 85 98 00 00 00    	jne    0xaa52f1
aa5259:	8b ce                	mov    %esi,%ecx
aa525b:	e8 4b e8 97 ff       	call   0x423aab
aa5260:	8b 55 10             	mov    0x10(%ebp),%edx
aa5263:	8a c8                	mov    %al,%cl
aa5265:	88 4d f9             	mov    %cl,-0x7(%ebp)
aa5268:	8d 42 08             	lea    0x8(%edx),%eax
aa526b:	3b f8                	cmp    %eax,%edi
aa526d:	75 24                	jne    0xaa5293
aa526f:	80 f9 30             	cmp    $0x30,%cl
aa5272:	75 1f                	jne    0xaa5293
aa5274:	8b 5d f4             	mov    -0xc(%ebp),%ebx
aa5277:	c6 45 fe 01          	movb   $0x1,-0x2(%ebp)
aa527b:	8b ce                	mov    %esi,%ecx
aa527d:	4b                   	dec    %ebx
aa527e:	e8 28 e8 97 ff       	call   0x423aab
aa5283:	8a c8                	mov    %al,%cl
aa5285:	88 4d f9             	mov    %cl,-0x7(%ebp)
aa5288:	80 f9 30             	cmp    $0x30,%cl
aa528b:	74 ee                	je     0xaa527b
aa528d:	8b 55 10             	mov    0x10(%ebp),%edx
aa5290:	89 5d f4             	mov    %ebx,-0xc(%ebp)
aa5293:	8b 5d f0             	mov    -0x10(%ebp),%ebx
aa5296:	8a c1                	mov    %cl,%al
aa5298:	2c 30                	sub    $0x30,%al
aa529a:	3c 09                	cmp    $0x9,%al
aa529c:	77 08                	ja     0xaa52a6
aa529e:	0f be c1             	movsbl %cl,%eax
aa52a1:	83 e8 30             	sub    $0x30,%eax
aa52a4:	eb 23                	jmp    0xaa52c9
aa52a6:	8a c1                	mov    %cl,%al
aa52a8:	2c 61                	sub    $0x61,%al
aa52aa:	3c 19                	cmp    $0x19,%al
aa52ac:	77 08                	ja     0xaa52b6
aa52ae:	0f be c1             	movsbl %cl,%eax
aa52b1:	83 e8 57             	sub    $0x57,%eax
aa52b4:	eb 13                	jmp    0xaa52c9
aa52b6:	8a c1                	mov    %cl,%al
aa52b8:	2c 41                	sub    $0x41,%al
aa52ba:	3c 19                	cmp    $0x19,%al
aa52bc:	77 08                	ja     0xaa52c6
aa52be:	0f be c1             	movsbl %cl,%eax
aa52c1:	83 e8 37             	sub    $0x37,%eax
aa52c4:	eb 03                	jmp    0xaa52c9
aa52c6:	83 c8 ff             	or     $0xffffffff,%eax
aa52c9:	3b c3                	cmp    %ebx,%eax
aa52cb:	77 22                	ja     0xaa52ef
aa52cd:	8d 8a 08 03 00 00    	lea    0x308(%edx),%ecx
aa52d3:	c6 45 fe 01          	movb   $0x1,-0x2(%ebp)
aa52d7:	3b f9                	cmp    %ecx,%edi
aa52d9:	74 03                	je     0xaa52de
aa52db:	88 07                	mov    %al,(%edi)
aa52dd:	47                   	inc    %edi
aa52de:	8b ce                	mov    %esi,%ecx
aa52e0:	e8 c6 e7 97 ff       	call   0x423aab
aa52e5:	8b 55 10             	mov    0x10(%ebp),%edx
aa52e8:	8a c8                	mov    %al,%cl
aa52ea:	88 4d f9             	mov    %cl,-0x7(%ebp)
aa52ed:	eb a7                	jmp    0xaa5296
aa52ef:	33 db                	xor    %ebx,%ebx
aa52f1:	80 7d fe 00          	cmpb   $0x0,-0x2(%ebp)
aa52f5:	75 24                	jne    0xaa531b
aa52f7:	8d 4d dc             	lea    -0x24(%ebp),%ecx
aa52fa:	e8 1d 5c 00 00       	call   0xaaaf1c
aa52ff:	84 c0                	test   %al,%al
aa5301:	0f 84 bb 01 00 00    	je     0xaa54c2
aa5307:	33 c0                	xor    %eax,%eax
aa5309:	38 45 ff             	cmp    %al,-0x1(%ebp)
aa530c:	0f 94 c0             	sete   %al
aa530f:	48                   	dec    %eax
aa5310:	83 e0 fb             	and    $0xfffffffb,%eax
aa5313:	83 c0 07             	add    $0x7,%eax
aa5316:	e9 f1 01 00 00       	jmp    0xaa550c
aa531b:	ff 75 f9             	push   -0x7(%ebp)
aa531e:	8b ce                	mov    %esi,%ecx
aa5320:	e8 b3 43 96 ff       	call   0x4096d8
aa5325:	8b 46 10             	mov    0x10(%esi),%eax
aa5328:	8b ce                	mov    %esi,%ecx
aa532a:	89 45 e8             	mov    %eax,-0x18(%ebp)
aa532d:	8b 46 14             	mov    0x14(%esi),%eax
aa5330:	89 45 ec             	mov    %eax,-0x14(%ebp)
aa5333:	e8 73 e7 97 ff       	call   0x423aab
aa5338:	88 45 f9             	mov    %al,-0x7(%ebp)
aa533b:	8a cb                	mov    %bl,%cl
aa533d:	3c 45                	cmp    $0x45,%al
aa533f:	74 11                	je     0xaa5352
aa5341:	3c 50                	cmp    $0x50,%al
aa5343:	74 08                	je     0xaa534d
aa5345:	3c 65                	cmp    $0x65,%al
aa5347:	74 09                	je     0xaa5352
aa5349:	3c 70                	cmp    $0x70,%al
aa534b:	75 0c                	jne    0xaa5359
aa534d:	8a 4d ff             	mov    -0x1(%ebp),%cl
aa5350:	eb 07                	jmp    0xaa5359
aa5352:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
aa5356:	0f 94 c1             	sete   %cl
aa5359:	84 c9                	test   %cl,%cl
aa535b:	0f 84 0d 01 00 00    	je     0xaa546e
aa5361:	8b ce                	mov    %esi,%ecx
aa5363:	e8 43 e7 97 ff       	call   0x423aab
aa5368:	8a c8                	mov    %al,%cl
aa536a:	80 f9 2d             	cmp    $0x2d,%cl
aa536d:	88 4d f9             	mov    %cl,-0x7(%ebp)
aa5370:	0f 94 45 fd          	sete   -0x3(%ebp)
aa5374:	80 f9 2b             	cmp    $0x2b,%cl
aa5377:	74 05                	je     0xaa537e
aa5379:	80 f9 2d             	cmp    $0x2d,%cl
aa537c:	75 0c                	jne    0xaa538a
aa537e:	8b ce                	mov    %esi,%ecx
aa5380:	e8 26 e7 97 ff       	call   0x423aab
aa5385:	8a c8                	mov    %al,%cl
aa5387:	88 4d f9             	mov    %cl,-0x7(%ebp)
aa538a:	88 5d fe             	mov    %bl,-0x2(%ebp)
aa538d:	80 f9 30             	cmp    $0x30,%cl
aa5390:	75 15                	jne    0xaa53a7
aa5392:	c6 45 fe 01          	movb   $0x1,-0x2(%ebp)
aa5396:	8b ce                	mov    %esi,%ecx
aa5398:	e8 0e e7 97 ff       	call   0x423aab
aa539d:	8a c8                	mov    %al,%cl
aa539f:	88 4d f9             	mov    %cl,-0x7(%ebp)
aa53a2:	80 f9 30             	cmp    $0x30,%cl
aa53a5:	74 ef                	je     0xaa5396
aa53a7:	8a c1                	mov    %cl,%al
aa53a9:	2c 30                	sub    $0x30,%al
aa53ab:	3c 09                	cmp    $0x9,%al
aa53ad:	77 08                	ja     0xaa53b7
aa53af:	0f be c1             	movsbl %cl,%eax
aa53b2:	83 e8 30             	sub    $0x30,%eax
aa53b5:	eb 23                	jmp    0xaa53da
aa53b7:	8a c1                	mov    %cl,%al
aa53b9:	2c 61                	sub    $0x61,%al
aa53bb:	3c 19                	cmp    $0x19,%al
aa53bd:	77 08                	ja     0xaa53c7
aa53bf:	0f be c1             	movsbl %cl,%eax
aa53c2:	83 e8 57             	sub    $0x57,%eax
aa53c5:	eb 13                	jmp    0xaa53da
aa53c7:	8a c1                	mov    %cl,%al
aa53c9:	2c 41                	sub    $0x41,%al
aa53cb:	3c 19                	cmp    $0x19,%al
aa53cd:	77 08                	ja     0xaa53d7
aa53cf:	0f be c1             	movsbl %cl,%eax
aa53d2:	83 e8 37             	sub    $0x37,%eax
aa53d5:	eb 03                	jmp    0xaa53da
aa53d7:	83 c8 ff             	or     $0xffffffff,%eax
aa53da:	83 f8 0a             	cmp    $0xa,%eax
aa53dd:	73 24                	jae    0xaa5403
aa53df:	6b db 0a             	imul   $0xa,%ebx,%ebx
aa53e2:	c6 45 fe 01          	movb   $0x1,-0x2(%ebp)
aa53e6:	03 d8                	add    %eax,%ebx
aa53e8:	81 fb 50 14 00 00    	cmp    $0x1450,%ebx
aa53ee:	7f 0e                	jg     0xaa53fe
aa53f0:	8b ce                	mov    %esi,%ecx
aa53f2:	e8 b4 e6 97 ff       	call   0x423aab
aa53f7:	8a c8                	mov    %al,%cl
aa53f9:	88 4d f9             	mov    %cl,-0x7(%ebp)
aa53fc:	eb a9                	jmp    0xaa53a7
aa53fe:	bb 51 14 00 00       	mov    $0x1451,%ebx
aa5403:	8a c1                	mov    %cl,%al
aa5405:	2c 30                	sub    $0x30,%al
aa5407:	3c 09                	cmp    $0x9,%al
aa5409:	77 08                	ja     0xaa5413
aa540b:	0f be c1             	movsbl %cl,%eax
aa540e:	83 e8 30             	sub    $0x30,%eax
aa5411:	eb 23                	jmp    0xaa5436
aa5413:	8a c1                	mov    %cl,%al
aa5415:	2c 61                	sub    $0x61,%al
aa5417:	3c 19                	cmp    $0x19,%al
aa5419:	77 08                	ja     0xaa5423
aa541b:	0f be c1             	movsbl %cl,%eax
aa541e:	83 e8 57             	sub    $0x57,%eax
aa5421:	eb 13                	jmp    0xaa5436
aa5423:	8a c1                	mov    %cl,%al
aa5425:	2c 41                	sub    $0x41,%al
aa5427:	3c 19                	cmp    $0x19,%al
aa5429:	77 08                	ja     0xaa5433
aa542b:	0f be c1             	movsbl %cl,%eax
aa542e:	83 e8 37             	sub    $0x37,%eax
aa5431:	eb 03                	jmp    0xaa5436
aa5433:	83 c8 ff             	or     $0xffffffff,%eax
aa5436:	83 f8 0a             	cmp    $0xa,%eax
aa5439:	73 0e                	jae    0xaa5449
aa543b:	8b ce                	mov    %esi,%ecx
aa543d:	e8 69 e6 97 ff       	call   0x423aab
aa5442:	8a c8                	mov    %al,%cl
aa5444:	88 4d f9             	mov    %cl,-0x7(%ebp)
aa5447:	eb ba                	jmp    0xaa5403
aa5449:	80 7d fd 00          	cmpb   $0x0,-0x3(%ebp)
aa544d:	74 02                	je     0xaa5451
aa544f:	f7 db                	neg    %ebx
aa5451:	8a 45 fe             	mov    -0x2(%ebp),%al
aa5454:	84 c0                	test   %al,%al
aa5456:	75 16                	jne    0xaa546e
aa5458:	8d 4d dc             	lea    -0x24(%ebp),%ecx
aa545b:	e8 bc 5a 00 00       	call   0xaaaf1c
aa5460:	84 c0                	test   %al,%al
aa5462:	74 5e                	je     0xaa54c2
aa5464:	8b ce                	mov    %esi,%ecx
aa5466:	e8 40 e6 97 ff       	call   0x423aab
aa546b:	88 45 f9             	mov    %al,-0x7(%ebp)
aa546e:	ff 75 f9             	push   -0x7(%ebp)
aa5471:	8b ce                	mov    %esi,%ecx
aa5473:	e8 60 42 96 ff       	call   0x4096d8
aa5478:	8b 75 10             	mov    0x10(%ebp),%esi
aa547b:	8d 56 08             	lea    0x8(%esi),%edx
aa547e:	3b fa                	cmp    %edx,%edi
aa5480:	74 60                	je     0xaa54e2
aa5482:	80 7f ff 00          	cmpb   $0x0,-0x1(%edi)
aa5486:	75 05                	jne    0xaa548d
aa5488:	4f                   	dec    %edi
aa5489:	3b fa                	cmp    %edx,%edi
aa548b:	75 f5                	jne    0xaa5482
aa548d:	3b fa                	cmp    %edx,%edi
aa548f:	74 51                	je     0xaa54e2
aa5491:	81 fb 50 14 00 00    	cmp    $0x1450,%ebx
aa5497:	7f 25                	jg     0xaa54be
aa5499:	81 fb b0 eb ff ff    	cmp    $0xffffebb0,%ebx
aa549f:	7c 2d                	jl     0xaa54ce
aa54a1:	8a 4d ff             	mov    -0x1(%ebp),%cl
aa54a4:	33 c0                	xor    %eax,%eax
aa54a6:	84 c9                	test   %cl,%cl
aa54a8:	0f 94 c0             	sete   %al
aa54ab:	48                   	dec    %eax
aa54ac:	83 e0 03             	and    $0x3,%eax
aa54af:	40                   	inc    %eax
aa54b0:	0f af 45 f4          	imul   -0xc(%ebp),%eax
aa54b4:	03 d8                	add    %eax,%ebx
aa54b6:	81 fb 50 14 00 00    	cmp    $0x1450,%ebx
aa54bc:	7e 08                	jle    0xaa54c6
aa54be:	6a 09                	push   $0x9
aa54c0:	eb 22                	jmp    0xaa54e4
aa54c2:	6a 07                	push   $0x7
aa54c4:	eb 1e                	jmp    0xaa54e4
aa54c6:	81 fb b0 eb ff ff    	cmp    $0xffffebb0,%ebx
aa54cc:	7d 04                	jge    0xaa54d2
aa54ce:	6a 08                	push   $0x8
aa54d0:	eb 12                	jmp    0xaa54e4
aa54d2:	2b fa                	sub    %edx,%edi
aa54d4:	89 1e                	mov    %ebx,(%esi)
aa54d6:	33 c0                	xor    %eax,%eax
aa54d8:	89 7e 04             	mov    %edi,0x4(%esi)
aa54db:	84 c9                	test   %cl,%cl
aa54dd:	0f 95 c0             	setne  %al
aa54e0:	eb 2a                	jmp    0xaa550c
aa54e2:	6a 02                	push   $0x2
aa54e4:	58                   	pop    %eax
aa54e5:	eb 25                	jmp    0xaa550c
aa54e7:	ff 75 ec             	push   -0x14(%ebp)
aa54ea:	8d 45 f9             	lea    -0x7(%ebp),%eax
aa54ed:	ff 75 e8             	push   -0x18(%ebp)
aa54f0:	56                   	push   %esi
aa54f1:	50                   	push   %eax
aa54f2:	e8 bc 2c 99 ff       	call   0x4381b3
aa54f7:	eb 10                	jmp    0xaa5509
aa54f9:	ff 75 ec             	push   -0x14(%ebp)
aa54fc:	8d 45 f9             	lea    -0x7(%ebp),%eax
aa54ff:	ff 75 e8             	push   -0x18(%ebp)
aa5502:	56                   	push   %esi