a972f3:	8b ec                	mov    %esp,%ebp
a972f5:	51                   	push   %ecx
a972f6:	51                   	push   %ecx
a972f7:	53                   	push   %ebx
a972f8:	8b d9                	mov    %ecx,%ebx
a972fa:	8b 03                	mov    (%ebx),%eax
a972fc:	8b 40 0c             	mov    0xc(%eax),%eax
a972ff:	c1 e8 0c             	shr    $0xc,%eax
a97302:	a8 01                	test   $0x1,%al
a97304:	74 12                	je     0xa97318
a97306:	8b 03                	mov    (%ebx),%eax
a97308:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
a9730c:	75 0a                	jne    0xa97318
a9730e:	8b 4d 10             	mov    0x10(%ebp),%ecx
a97311:	8b 45 0c             	mov    0xc(%ebp),%eax
a97314:	01 01                	add    %eax,(%ecx)
a97316:	eb 5b                	jmp    0xa97373
a97318:	8b 45 0c             	mov    0xc(%ebp),%eax
a9731b:	56                   	push   %esi
a9731c:	8b 75 14             	mov    0x14(%ebp),%esi
a9731f:	57                   	push   %edi
a97320:	8b 7d 08             	mov    0x8(%ebp),%edi
a97323:	03 c7                	add    %edi,%eax
a97325:	89 45 fc             	mov    %eax,-0x4(%ebp)
a97328:	8b 0e                	mov    (%esi),%ecx
a9732a:	83 26 00             	andl   $0x0,(%esi)
a9732d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
a97330:	3b f8                	cmp    %eax,%edi
a97332:	74 32                	je     0xa97366
a97334:	8b 45 10             	mov    0x10(%ebp),%eax
a97337:	50                   	push   %eax
a97338:	0f b6 07             	movzbl (%edi),%eax
a9733b:	8b cb                	mov    %ebx,%ecx
a9733d:	50                   	push   %eax
a9733e:	e8 12 97 97 ff       	call   0x410a55
a97343:	8b 45 10             	mov    0x10(%ebp),%eax
a97346:	83 38 ff             	cmpl   $0xffffffff,(%eax)
a97349:	75 12                	jne    0xa9735d
a9734b:	83 3e 2a             	cmpl   $0x2a,(%esi)
a9734e:	75 13                	jne    0xa97363
a97350:	50                   	push   %eax
a97351:	6a 3f                	push   $0x3f
a97353:	8b cb                	mov    %ebx,%ecx
a97355:	e8 fb 96 97 ff       	call   0x410a55
a9735a:	8b 45 10             	mov    0x10(%ebp),%eax
a9735d:	47                   	inc    %edi
a9735e:	3b 7d fc             	cmp    -0x4(%ebp),%edi
a97361:	75 d4                	jne    0xa97337
a97363:	8b 4d f8             	mov    -0x8(%ebp),%ecx
a97366:	83 3e 00             	cmpl   $0x0,(%esi)
a97369:	75 06                	jne    0xa97371
a9736b:	85 c9                	test   %ecx,%ecx
a9736d:	74 02                	je     0xa97371
a9736f:	89 0e                	mov    %ecx,(%esi)
a97371:	5f                   	pop    %edi
a97372:	5e                   	pop    %esi
a97373:	5b                   	pop    %ebx
a97374:	8b e5                	mov    %ebp,%esp
a97376:	5d                   	pop    %ebp
a97377:	c2 10 00             	ret    $0x10
a9737a:	cc                   	int3
a9737b:	cc                   	int3
a9737c:	cc                   	int3
a9737d:	cc                   	int3
a9737e:	cc                   	int3
a9737f:	cc                   	int3
a97380:	cc                   	int3
a97381:	cc                   	int3
a97382:	cc                   	int3
a97383:	cc                   	int3
a97384:	cc                   	int3
a97385:	cc                   	int3
a97386:	cc                   	int3
a97387:	cc                   	int3
a97388:	cc                   	int3
a97389:	cc                   	int3
a9738a:	cc                   	int3
a9738b:	cc                   	int3
a9738c:	cc                   	int3
a9738d:	cc                   	int3
a9738e:	cc                   	int3
a9738f:	cc                   	int3
a97390:	cc                   	int3
a97391:	cc                   	int3
a97392:	cc                   	int3
a97393:	cc                   	int3
a97394:	cc                   	int3
a97395:	cc                   	int3
a97396:	cc                   	int3
a97397:	cc                   	int3
a97398:	cc                   	int3
a97399:	cc                   	int3
a9739a:	cc                   	int3
a9739b:	cc                   	int3
a9739c:	8b ff                	mov    %edi,%edi
a9739e:	55                   	push   %ebp
a9739f:	8b ec                	mov    %esp,%ebp
a973a1:	51                   	push   %ecx
a973a2:	51                   	push   %ecx
a973a3:	53                   	push   %ebx
a973a4:	8b d9                	mov    %ecx,%ebx
a973a6:	8b 03                	mov    (%ebx),%eax
a973a8:	8b 40 0c             	mov    0xc(%eax),%eax
a973ab:	c1 e8 0c             	shr    $0xc,%eax
a973ae:	a8 01                	test   $0x1,%al
a973b0:	74 12                	je     0xa973c4
a973b2:	8b 03                	mov    (%ebx),%eax
a973b4:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
a973b8:	75 0a                	jne    0xa973c4
a973ba:	8b 4d 10             	mov    0x10(%ebp),%ecx
a973bd:	8b 45 0c             	mov    0xc(%ebp),%eax
a973c0:	01 01                	add    %eax,(%ecx)
a973c2:	eb 5e                	jmp    0xa97422
a973c4:	8b 45 0c             	mov    0xc(%ebp),%eax
a973c7:	56                   	push   %esi
a973c8:	8b 75 14             	mov    0x14(%ebp),%esi
a973cb:	57                   	push   %edi
a973cc:	8b 7d 08             	mov    0x8(%ebp),%edi
a973cf:	8b 0e                	mov    (%esi),%ecx
a973d1:	83 26 00             	andl   $0x0,(%esi)
a973d4:	8d 04 47             	lea    (%edi,%eax,2),%eax
a973d7:	89 4d f8             	mov    %ecx,-0x8(%ebp)
a973da:	89 45 fc             	mov    %eax,-0x4(%ebp)
a973dd:	3b f8                	cmp    %eax,%edi
a973df:	74 34                	je     0xa97415
a973e1:	8b 45 10             	mov    0x10(%ebp),%eax
a973e4:	50                   	push   %eax
a973e5:	0f b7 07             	movzwl (%edi),%eax
a973e8:	8b cb                	mov    %ebx,%ecx
a973ea:	50                   	push   %eax
a973eb:	e8 03 fe 96 ff       	call   0x4071f3
a973f0:	8b 45 10             	mov    0x10(%ebp),%eax
a973f3:	83 38 ff             	cmpl   $0xffffffff,(%eax)
a973f6:	75 12                	jne    0xa9740a
a973f8:	83 3e 2a             	cmpl   $0x2a,(%esi)
a973fb:	75 15                	jne    0xa97412
a973fd:	50                   	push   %eax
a973fe:	6a 3f                	push   $0x3f
a97400:	8b cb                	mov    %ebx,%ecx
a97402:	e8 ec fd 96 ff       	call   0x4071f3
a97407:	8b 45 10             	mov    0x10(%ebp),%eax
a9740a:	83 c7 02             	add    $0x2,%edi
a9740d:	3b 7d fc             	cmp    -0x4(%ebp),%edi
a97410:	75 d2                	jne    0xa973e4
a97412:	8b 4d f8             	mov    -0x8(%ebp),%ecx
a97415:	83 3e 00             	cmpl   $0x0,(%esi)
a97418:	75 06                	jne    0xa97420
a9741a:	85 c9                	test   %ecx,%ecx
a9741c:	74 02                	je     0xa97420
a9741e:	89 0e                	mov    %ecx,(%esi)
a97420:	5f                   	pop    %edi
a97421:	5e                   	pop    %esi
a97422:	5b                   	pop    %ebx
a97423:	8b e5                	mov    %ebp,%esp
a97425:	5d                   	pop    %ebp
a97426:	c2 10 00             	ret    $0x10
a97429:	cc                   	int3
a9742a:	cc                   	int3
a9742b:	cc                   	int3
a9742c:	cc                   	int3
a9742d:	cc                   	int3
a9742e:	cc                   	int3
a9742f:	cc                   	int3
a97430:	cc                   	int3
a97431:	cc                   	int3
a97432:	cc                   	int3
a97433:	cc                   	int3
a97434:	cc                   	int3
a97435:	cc                   	int3
a97436:	cc                   	int3
a97437:	cc                   	int3
a97438:	cc                   	int3
a97439:	cc                   	int3
a9743a:	cc                   	int3
a9743b:	cc                   	int3
a9743c:	cc                   	int3
a9743d:	cc                   	int3
a9743e:	cc                   	int3
a9743f:	cc                   	int3
a97440:	cc                   	int3
a97441:	cc                   	int3
a97442:	cc                   	int3
a97443:	cc                   	int3
a97444:	cc                   	int3
a97445:	cc                   	int3
a97446:	cc                   	int3
a97447:	cc                   	int3
a97448:	cc                   	int3
a97449:	cc                   	int3
a9744a:	cc                   	int3
a9744b:	cc                   	int3
a9744c:	8b ff                	mov    %edi,%edi
a9744e:	55                   	push   %ebp
a9744f:	8b ec                	mov    %esp,%ebp
a97451:	51                   	push   %ecx
a97452:	51                   	push   %ecx
a97453:	56                   	push   %esi
a97454:	57                   	push   %edi
a97455:	8b 7d 14             	mov    0x14(%ebp),%edi
a97458:	8b c1                	mov    %ecx,%eax
a9745a:	89 45 f8             	mov    %eax,-0x8(%ebp)
a9745d:	8b 0f                	mov    (%edi),%ecx
a9745f:	83 27 00             	andl   $0x0,(%edi)
a97462:	8b 00                	mov    (%eax),%eax
a97464:	89 4d fc             	mov    %ecx,-0x4(%ebp)
a97467:	8b 70 04             	mov    0x4(%eax),%esi
a9746a:	39 70 08             	cmp    %esi,0x8(%eax)
a9746d:	75 18                	jne    0xa97487
a9746f:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
a97473:	74 0a                	je     0xa9747f
a97475:	8b 4d 10             	mov    0x10(%ebp),%ecx
a97478:	8b 45 0c             	mov    0xc(%ebp),%eax
a9747b:	01 01                	add    %eax,(%ecx)
a9747d:	eb 4a                	jmp    0xa974c9
a9747f:	8b 45 10             	mov    0x10(%ebp),%eax
a97482:	83 08 ff             	orl    $0xffffffff,(%eax)
a97485:	eb 45                	jmp    0xa974cc
a97487:	2b 70 08             	sub    0x8(%eax),%esi
a9748a:	53                   	push   %ebx
a9748b:	8b 5d 0c             	mov    0xc(%ebp),%ebx
a9748e:	3b f3                	cmp    %ebx,%esi
a97490:	72 02                	jb     0xa97494
a97492:	8b f3                	mov    %ebx,%esi
a97494:	56                   	push   %esi
a97495:	ff 75 08             	push   0x8(%ebp)
a97498:	ff 30                	push   (%eax)
a9749a:	e8 e3 d1 97 ff       	call   0x414682
a9749f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
a974a2:	83 c4 0c             	add    $0xc,%esp
a974a5:	8b 01                	mov    (%ecx),%eax
a974a7:	01 30                	add    %esi,(%eax)
a974a9:	8b 01                	mov    (%ecx),%eax
a974ab:	01 70 08             	add    %esi,0x8(%eax)
a974ae:	8b 01                	mov    (%ecx),%eax
a974b0:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
a974b4:	8b 45 10             	mov    0x10(%ebp),%eax
a974b7:	74 04                	je     0xa974bd
a974b9:	01 18                	add    %ebx,(%eax)
a974bb:	eb 0b                	jmp    0xa974c8
a974bd:	3b f3                	cmp    %ebx,%esi
a974bf:	74 05                	je     0xa974c6
a974c1:	83 08 ff             	orl    $0xffffffff,(%eax)
a974c4:	eb 02                	jmp    0xa974c8
a974c6:	01 30                	add    %esi,(%eax)
a974c8:	5b                   	pop    %ebx
a974c9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
a974cc:	83 3f 00             	cmpl   $0x0,(%edi)
a974cf:	75 06                	jne    0xa974d7
a974d1:	85 c9                	test   %ecx,%ecx
a974d3:	74 02                	je     0xa974d7
a974d5:	89 0f                	mov    %ecx,(%edi)
a974d7:	5f                   	pop    %edi
a974d8:	5e                   	pop    %esi
a974d9:	8b e5                	mov    %ebp,%esp
a974db:	5d                   	pop    %ebp
a974dc:	c2 10 00             	ret    $0x10
a974df:	cc                   	int3
a974e0:	cc                   	int3
a974e1:	cc                   	int3
a974e2:	cc                   	int3
a974e3:	cc                   	int3
a974e4:	cc                   	int3
a974e5:	cc                   	int3
a974e6:	cc                   	int3
a974e7:	cc                   	int3
a974e8:	cc                   	int3
a974e9:	cc                   	int3
a974ea:	cc                   	int3
a974eb:	cc                   	int3
a974ec:	cc                   	int3
a974ed:	cc                   	int3
a974ee:	cc                   	int3
a974ef:	cc                   	int3
a974f0:	cc                   	int3
a974f1:	cc                   	int3
a974f2:	cc                   	int3
a974f3:	cc                   	int3
a974f4:	cc                   	int3
a974f5:	cc                   	int3
a974f6:	cc                   	int3
a974f7:	cc                   	int3
a974f8:	cc                   	int3
a974f9:	cc                   	int3
a974fa:	cc                   	int3
a974fb:	cc                   	int3
a974fc:	cc                   	int3
a974fd:	cc                   	int3
a974fe:	cc                   	int3
a974ff:	cc                   	int3
a97500:	cc                   	int3
a97501:	cc                   	int3
a97502:	cc                   	int3
a97503:	8b ff                	mov    %edi,%edi
a97505:	55                   	push   %ebp
a97506:	8b ec                	mov    %esp,%ebp
a97508:	51                   	push   %ecx
a97509:	51                   	push   %ecx
a9750a:	53                   	push   %ebx
a9750b:	8b 5d 14             	mov    0x14(%ebp),%ebx
a9750e:	8b c1                	mov    %ecx,%eax
a97510:	57                   	push   %edi
a97511:	89 45 f8             	mov    %eax,-0x8(%ebp)
a97514:	8b 0b                	mov    (%ebx),%ecx
a97516:	83 23 00             	andl   $0x0,(%ebx)
a97519:	8b 10                	mov    (%eax),%edx
a9751b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
a9751e:	8b 7a 04             	mov    0x4(%edx),%edi
a97521:	39 7a 08             	cmp    %edi,0x8(%edx)
a97524:	75 18                	jne    0xa9753e
a97526:	80 7a 0c 00          	cmpb   $0x0,0xc(%edx)
a9752a:	74 0a                	je     0xa97536
a9752c:	8b 4d 10             	mov    0x10(%ebp),%ecx
a9752f:	8b 45 0c             	mov    0xc(%ebp),%eax
a97532:	01 01                	add    %eax,(%ecx)
a97534:	eb 51                	jmp    0xa97587
a97536:	8b 45 10             	mov    0x10(%ebp),%eax
a97539:	83 08 ff             	orl    $0xffffffff,(%eax)
a9753c:	eb 4c                	jmp    0xa9758a
a9753e:	2b 7a 08             	sub    0x8(%edx),%edi
a97541:	8b 45 0c             	mov    0xc(%ebp),%eax
a97544:	3b f8                	cmp    %eax,%edi
a97546:	72 02                	jb     0xa9754a
a97548:	8b f8                	mov    %eax,%edi
a9754a:	56                   	push   %esi
a9754b:	8d 34 3f             	lea    (%edi,%edi,1),%esi
a9754e:	56                   	push   %esi
a9754f:	ff 75 08             	push   0x8(%ebp)
a97552:	ff 32                	push   (%edx)
a97554:	e8 29 d1 97 ff       	call   0x414682
a97559:	8b 4d f8             	mov    -0x8(%ebp),%ecx
a9755c:	83 c4 0c             	add    $0xc,%esp
a9755f:	8b 01                	mov    (%ecx),%eax
a97561:	01 30                	add    %esi,(%eax)
a97563:	8b 01                	mov    (%ecx),%eax
a97565:	5e                   	pop    %esi
a97566:	01 78 08             	add    %edi,0x8(%eax)
a97569:	8b 01                	mov    (%ecx),%eax
a9756b:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
a9756f:	8b 45 10             	mov    0x10(%ebp),%eax
a97572:	74 07                	je     0xa9757b
a97574:	8b 4d 0c             	mov    0xc(%ebp),%ecx
a97577:	01 08                	add    %ecx,(%eax)
a97579:	eb 0c                	jmp    0xa97587
a9757b:	3b 7d 0c             	cmp    0xc(%ebp),%edi
a9757e:	74 05                	je     0xa97585
a97580:	83 08 ff             	orl    $0xffffffff,(%eax)
a97583:	eb 02                	jmp    0xa97587
a97585:	01 38                	add    %edi,(%eax)
a97587:	8b 4d fc             	mov    -0x4(%ebp),%ecx
a9758a:	83 3b 00             	cmpl   $0x0,(%ebx)