45e24e:	46                   	inc    %esi
45e24f:	53                   	push   %ebx
45e250:	8b cf                	mov    %edi,%ecx
45e252:	89 75 f8             	mov    %esi,-0x8(%ebp)
45e255:	e8 d6 1b fb ff       	call   0x40fe30
45e25a:	85 c0                	test   %eax,%eax
45e25c:	0f 88 eb 00 00 00    	js     0x45e34d
45e262:	8d 55 c8             	lea    -0x38(%ebp),%edx
45e265:	8d 4d d8             	lea    -0x28(%ebp),%ecx
45e268:	e8 75 02 fc ff       	call   0x41e4e2
45e26d:	84 c0                	test   %al,%al
45e26f:	74 0f                	je     0x45e280
45e271:	8d 55 b8             	lea    -0x48(%ebp),%edx
45e274:	8d 4d d8             	lea    -0x28(%ebp),%ecx
45e277:	e8 b3 bc fe ff       	call   0x449f2f
45e27c:	84 c0                	test   %al,%al
45e27e:	75 2a                	jne    0x45e2aa
45e280:	8b 75 f8             	mov    -0x8(%ebp),%esi
45e283:	eb 0f                	jmp    0x45e294
45e285:	8d 55 d8             	lea    -0x28(%ebp),%edx
45e288:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45e28b:	e8 39 ee fa ff       	call   0x40d0c9
45e290:	84 c0                	test   %al,%al
45e292:	75 16                	jne    0x45e2aa
45e294:	8b 43 04             	mov    0x4(%ebx),%eax
45e297:	8b 04 b0             	mov    (%eax,%esi,4),%eax
45e29a:	66 83 78 08 40       	cmpw   $0x40,0x8(%eax)
45e29f:	75 12                	jne    0x45e2b3
45e2a1:	46                   	inc    %esi
45e2a2:	89 75 f8             	mov    %esi,-0x8(%ebp)
45e2a5:	e9 6a ff ff ff       	jmp    0x45e214
45e2aa:	8b 75 0c             	mov    0xc(%ebp),%esi
45e2ad:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
45e2b1:	eb 1f                	jmp    0x45e2d2
45e2b3:	8b 43 04             	mov    0x4(%ebx),%eax
45e2b6:	6a 7f                	push   $0x7f
45e2b8:	8b 04 b0             	mov    (%eax,%esi,4),%eax
45e2bb:	59                   	pop    %ecx
45e2bc:	66 39 48 08          	cmp    %cx,0x8(%eax)
45e2c0:	75 66                	jne    0x45e328
45e2c2:	8b 75 0c             	mov    0xc(%ebp),%esi
45e2c5:	8b 55 f4             	mov    -0xc(%ebp),%edx
45e2c8:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
45e2cc:	0f 84 a0 fe ff ff    	je     0x45e172
45e2d2:	8b 06                	mov    (%esi),%eax
45e2d4:	8b 55 f4             	mov    -0xc(%ebp),%edx
45e2d7:	c6 45 fe 01          	movb   $0x1,-0x2(%ebp)
45e2db:	89 45 f0             	mov    %eax,-0x10(%ebp)
45e2de:	e9 8f fe ff ff       	jmp    0x45e172
45e2e3:	42                   	inc    %edx
45e2e4:	e9 86 fe ff ff       	jmp    0x45e16f
45e2e9:	8b 36                	mov    (%esi),%esi
45e2eb:	8a 45 fd             	mov    -0x3(%ebp),%al
45e2ee:	4e                   	dec    %esi
45e2ef:	89 75 90             	mov    %esi,-0x70(%ebp)
45e2f2:	84 c0                	test   %al,%al
45e2f4:	74 40                	je     0x45e336
45e2f6:	8d 45 88             	lea    -0x78(%ebp),%eax
45e2f9:	50                   	push   %eax
45e2fa:	8d 8f 60 01 00 00    	lea    0x160(%edi),%ecx
45e300:	e8 80 7b fa ff       	call   0x405e85
45e305:	80 7d fe 00          	cmpb   $0x0,-0x2(%ebp)
45e309:	8b 45 0c             	mov    0xc(%ebp),%eax
45e30c:	74 07                	je     0x45e315
45e30e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45e311:	89 08                	mov    %ecx,(%eax)
45e313:	eb 38                	jmp    0x45e34d
45e315:	89 30                	mov    %esi,(%eax)
45e317:	eb 34                	jmp    0x45e34d
45e319:	8b 43 04             	mov    0x4(%ebx),%eax
45e31c:	8b 40 08             	mov    0x8(%eax),%eax
45e31f:	0f bf 40 0a          	movswl 0xa(%eax),%eax
45e323:	50                   	push   %eax
45e324:	6a 72                	push   $0x72
45e326:	eb 1e                	jmp    0x45e346
45e328:	8b 4d 08             	mov    0x8(%ebp),%ecx
45e32b:	8b 45 ec             	mov    -0x14(%ebp),%eax
45e32e:	8b 49 04             	mov    0x4(%ecx),%ecx
45e331:	8b 04 81             	mov    (%ecx,%eax,4),%eax
45e334:	eb e9                	jmp    0x45e31f
45e336:	8b 45 e8             	mov    -0x18(%ebp),%eax
45e339:	6a ff                	push   $0xffffffff
45e33b:	89 87 f4 00 00 00    	mov    %eax,0xf4(%edi)
45e341:	68 a0 00 00 00       	push   $0xa0
45e346:	8b cf                	mov    %edi,%ecx
45e348:	e8 0f e9 fe ff       	call   0x44cc5c
45e34d:	8d 4d b8             	lea    -0x48(%ebp),%ecx
45e350:	e8 cb 48 fb ff       	call   0x412c20
45e355:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45e358:	e8 c3 48 fb ff       	call   0x412c20
45e35d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
45e360:	e8 bb 48 fb ff       	call   0x412c20
45e365:	8d 4d a8             	lea    -0x58(%ebp),%ecx
45e368:	e8 b3 48 fb ff       	call   0x412c20
45e36d:	8d 4d 98             	lea    -0x68(%ebp),%ecx
45e370:	e8 ab 48 fb ff       	call   0x412c20
45e375:	5f                   	pop    %edi
45e376:	5e                   	pop    %esi
45e377:	5b                   	pop    %ebx
45e378:	c9                   	leave
45e379:	c2 08 00             	ret    $0x8
45e37c:	55                   	push   %ebp
45e37d:	8b ec                	mov    %esp,%ebp
45e37f:	83 ec 14             	sub    $0x14,%esp
45e382:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
45e386:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
45e38a:	53                   	push   %ebx
45e38b:	56                   	push   %esi
45e38c:	8b d9                	mov    %ecx,%ebx
45e38e:	57                   	push   %edi
45e38f:	8b 7d 0c             	mov    0xc(%ebp),%edi
45e392:	8d 45 f0             	lea    -0x10(%ebp),%eax
45e395:	ff 07                	incl   (%edi)
45e397:	8d b3 6c 01 00 00    	lea    0x16c(%ebx),%esi
45e39d:	50                   	push   %eax
45e39e:	8b ce                	mov    %esi,%ecx
45e3a0:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
45e3a7:	e8 ab 07 00 00       	call   0x45eb57
45e3ac:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45e3af:	e8 6c 48 fb ff       	call   0x412c20
45e3b4:	6a ff                	push   $0xffffffff
45e3b6:	8b ce                	mov    %esi,%ecx
45e3b8:	e8 e9 07 00 00       	call   0x45eba6
45e3bd:	50                   	push   %eax
45e3be:	57                   	push   %edi
45e3bf:	ff 75 08             	push   0x8(%ebp)
45e3c2:	8b cb                	mov    %ebx,%ecx
45e3c4:	e8 67 1a fb ff       	call   0x40fe30
45e3c9:	85 c0                	test   %eax,%eax
45e3cb:	78 12                	js     0x45e3df
45e3cd:	8b ce                	mov    %esi,%ecx
45e3cf:	e8 d2 07 00 00       	call   0x45eba6
45e3d4:	8b c8                	mov    %eax,%ecx
45e3d6:	e8 a5 e7 ff ff       	call   0x45cb80
45e3db:	84 c0                	test   %al,%al
45e3dd:	75 24                	jne    0x45e403
45e3df:	8b ce                	mov    %esi,%ecx
45e3e1:	e8 fa e7 ff ff       	call   0x45cbe0
45e3e6:	8b 45 08             	mov    0x8(%ebp),%eax
45e3e9:	8b 0f                	mov    (%edi),%ecx
45e3eb:	8b 40 04             	mov    0x4(%eax),%eax
45e3ee:	8b 44 88 fc          	mov    -0x4(%eax,%ecx,4),%eax
45e3f2:	8b cb                	mov    %ebx,%ecx
45e3f4:	0f bf 40 0a          	movswl 0xa(%eax),%eax
45e3f8:	50                   	push   %eax
45e3f9:	68 a5 00 00 00       	push   $0xa5
45e3fe:	e8 59 e8 fe ff       	call   0x44cc5c
45e403:	5f                   	pop    %edi
45e404:	5e                   	pop    %esi
45e405:	5b                   	pop    %ebx
45e406:	c9                   	leave
45e407:	c2 08 00             	ret    $0x8
45e40a:	55                   	push   %ebp
45e40b:	8b ec                	mov    %esp,%ebp
45e40d:	83 ec 70             	sub    $0x70,%esp
45e410:	53                   	push   %ebx
45e411:	56                   	push   %esi
45e412:	33 f6                	xor    %esi,%esi
45e414:	57                   	push   %edi
45e415:	8b 7d 10             	mov    0x10(%ebp),%edi
45e418:	33 c0                	xor    %eax,%eax
45e41a:	ff 37                	push   (%edi)
45e41c:	40                   	inc    %eax
45e41d:	8b d9                	mov    %ecx,%ebx
45e41f:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45e422:	c7 45 a4 50 dc 49 00 	movl   $0x49dc50,-0x5c(%ebp)
45e429:	89 75 a8             	mov    %esi,-0x58(%ebp)
45e42c:	89 75 ac             	mov    %esi,-0x54(%ebp)
45e42f:	89 75 b0             	mov    %esi,-0x50(%ebp)
45e432:	89 75 c4             	mov    %esi,-0x3c(%ebp)
45e435:	89 75 cc             	mov    %esi,-0x34(%ebp)
45e438:	89 45 d0             	mov    %eax,-0x30(%ebp)
45e43b:	89 75 b4             	mov    %esi,-0x4c(%ebp)
45e43e:	89 75 bc             	mov    %esi,-0x44(%ebp)
45e441:	89 45 c0             	mov    %eax,-0x40(%ebp)
45e444:	89 75 d4             	mov    %esi,-0x2c(%ebp)
45e447:	89 75 dc             	mov    %esi,-0x24(%ebp)
45e44a:	89 45 e0             	mov    %eax,-0x20(%ebp)
45e44d:	c7 45 f8 00 dc 49 00 	movl   $0x49dc00,-0x8(%ebp)
45e454:	89 75 f0             	mov    %esi,-0x10(%ebp)
45e457:	e8 52 f8 fa ff       	call   0x40dcae
45e45c:	8b 07                	mov    (%edi),%eax
45e45e:	8b 7d 0c             	mov    0xc(%ebp),%edi
45e461:	89 45 f4             	mov    %eax,-0xc(%ebp)
45e464:	c7 45 ec 7f 00 00 00 	movl   $0x7f,-0x14(%ebp)
45e46b:	c7 45 e8 41 00 00 00 	movl   $0x41,-0x18(%ebp)
45e472:	8b 4d 08             	mov    0x8(%ebp),%ecx
45e475:	8b 51 04             	mov    0x4(%ecx),%edx
45e478:	8b 07                	mov    (%edi),%eax
45e47a:	8b 04 82             	mov    (%edx,%eax,4),%eax
45e47d:	66 83 78 08 48       	cmpw   $0x48,0x8(%eax)
45e482:	74 37                	je     0x45e4bb
45e484:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45e487:	e8 e9 1c fe ff       	call   0x440175
45e48c:	8b 4d 08             	mov    0x8(%ebp),%ecx
45e48f:	8b 07                	mov    (%edi),%eax
45e491:	8b 51 04             	mov    0x4(%ecx),%edx
45e494:	6a 47                	push   $0x47
45e496:	8b 04 82             	mov    (%edx,%eax,4),%eax
45e499:	59                   	pop    %ecx
45e49a:	66 39 48 08          	cmp    %cx,0x8(%eax)
45e49e:	75 0b                	jne    0x45e4ab
45e4a0:	ff 0f                	decl   (%edi)
45e4a2:	c7 45 f8 00 dc 49 00 	movl   $0x49dc00,-0x8(%ebp)
45e4a9:	eb 10                	jmp    0x45e4bb
45e4ab:	6a 35                	push   $0x35
45e4ad:	59                   	pop    %ecx
45e4ae:	66 39 48 08          	cmp    %cx,0x8(%eax)
45e4b2:	75 07                	jne    0x45e4bb
45e4b4:	8b 00                	mov    (%eax),%eax
45e4b6:	8b 00                	mov    (%eax),%eax
45e4b8:	89 45 f8             	mov    %eax,-0x8(%ebp)
45e4bb:	8b 07                	mov    (%edi),%eax
45e4bd:	6a 47                	push   $0x47
45e4bf:	8b 44 82 04          	mov    0x4(%edx,%eax,4),%eax
45e4c3:	59                   	pop    %ecx
45e4c4:	66 39 48 08          	cmp    %cx,0x8(%eax)
45e4c8:	8b 4d 08             	mov    0x8(%ebp),%ecx
45e4cb:	75 1e                	jne    0x45e4eb
45e4cd:	8d 45 a4             	lea    -0x5c(%ebp),%eax
45e4d0:	50                   	push   %eax
45e4d1:	57                   	push   %edi
45e4d2:	51                   	push   %ecx
45e4d3:	8b cb                	mov    %ebx,%ecx
45e4d5:	e8 63 e4 ff ff       	call   0x45c93d
45e4da:	85 c0                	test   %eax,%eax
45e4dc:	0f 88 60 01 00 00    	js     0x45e642
45e4e2:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
45e4e9:	eb 13                	jmp    0x45e4fe
45e4eb:	8b 0f                	mov    (%edi),%ecx
45e4ed:	6a 35                	push   $0x35
45e4ef:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
45e4f2:	5a                   	pop    %edx
45e4f3:	66 39 50 08          	cmp    %dx,0x8(%eax)
45e4f7:	75 05                	jne    0x45e4fe
45e4f9:	8d 41 01             	lea    0x1(%ecx),%eax
45e4fc:	89 07                	mov    %eax,(%edi)
45e4fe:	8b 55 08             	mov    0x8(%ebp),%edx
45e501:	8b 07                	mov    (%edi),%eax
45e503:	8b 4a 04             	mov    0x4(%edx),%ecx
45e506:	89 4d 0c             	mov    %ecx,0xc(%ebp)
45e509:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
45e50c:	0f b7 41 08          	movzwl 0x8(%ecx),%eax
45e510:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45e513:	e8 38 b7 fe ff       	call   0x449c50
45e518:	84 c0                	test   %al,%al
45e51a:	0f 85 ef 01 00 00    	jne    0x45e70f
45e520:	66 83 79 08 4e       	cmpw   $0x4e,0x8(%ecx)
45e525:	0f 85 86 00 00 00    	jne    0x45e5b1
45e52b:	6a 0f                	push   $0xf
45e52d:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45e530:	e8 af f0 fa ff       	call   0x40d5e4
45e535:	84 c0                	test   %al,%al
45e537:	74 78                	je     0x45e5b1
45e539:	8b 07                	mov    (%edi),%eax
45e53b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45e53e:	8b 44 81 04          	mov    0x4(%ecx,%eax,4),%eax
45e542:	66 83 78 08 4f       	cmpw   $0x4f,0x8(%eax)
45e547:	0f 85 1d 01 00 00    	jne    0x45e66a
45e54d:	ff 75 f8             	push   -0x8(%ebp)
45e550:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
45e553:	e8 cd 43 fa ff       	call   0x402925
45e558:	8b 4d d0             	mov    -0x30(%ebp),%ecx
45e55b:	83 e9 0f             	sub    $0xf,%ecx
45e55e:	f7 d9                	neg    %ecx
45e560:	1b c9                	sbb    %ecx,%ecx
45e562:	56                   	push   %esi
45e563:	f7 d1                	not    %ecx
45e565:	23 4d c4             	and    -0x3c(%ebp),%ecx
45e568:	6a 01                	push   $0x1
45e56a:	8d 45 94             	lea    -0x6c(%ebp),%eax
45e56d:	50                   	push   %eax
45e56e:	e8 2b 5f fe ff       	call   0x44449e
45e573:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
45e576:	89 45 f4             	mov    %eax,-0xc(%ebp)
45e579:	e8 a2 46 fb ff       	call   0x412c20
45e57e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45e581:	e8 c1 cb fe ff       	call   0x44b147
45e586:	ff 75 f4             	push   -0xc(%ebp)
45e589:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45e58c:	e8 1d f7 fa ff       	call   0x40dcae
45e591:	8b 45 08             	mov    0x8(%ebp),%eax
45e594:	83 07 02             	addl   $0x2,(%edi)
45e597:	8b 0f                	mov    (%edi),%ecx
45e599:	8b 40 04             	mov    0x4(%eax),%eax
45e59c:	6a 7f                	push   $0x7f
45e59e:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45e5a1:	59                   	pop    %ecx
45e5a2:	66 39 48 08          	cmp    %cx,0x8(%eax)
45e5a6:	0f 84 4d 02 00 00    	je     0x45e7f9
45e5ac:	e9 c1 fe ff ff       	jmp    0x45e472
45e5b1:	8d 45 d4             	lea    -0x2c(%ebp),%eax
45e5b4:	50                   	push   %eax
45e5b5:	8d 45 a4             	lea    -0x5c(%ebp),%eax
45e5b8:	50                   	push   %eax
45e5b9:	ff 75 f8             	push   -0x8(%ebp)
45e5bc:	8d 45 c4             	lea    -0x3c(%ebp),%eax
45e5bf:	50                   	push   %eax
45e5c0:	ff 75 f0             	push   -0x10(%ebp)
45e5c3:	8b cb                	mov    %ebx,%ecx
45e5c5:	e8 d0 e2 ff ff       	call   0x45c89a
45e5ca:	85 c0                	test   %eax,%eax
45e5cc:	0f 88 78 01 00 00    	js     0x45e74a
45e5d2:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45e5d5:	e8 a6 e5 ff ff       	call   0x45cb80
45e5da:	84 c0                	test   %al,%al
45e5dc:	0f 84 e3 00 00 00    	je     0x45e6c5
45e5e2:	8d 45 d4             	lea    -0x2c(%ebp),%eax
45e5e5:	50                   	push   %eax
45e5e6:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45e5e9:	e8 c0 f6 fa ff       	call   0x40dcae
45e5ee:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45e5f1:	e8 2a 46 fb ff       	call   0x412c20
45e5f6:	8b 4d 08             	mov    0x8(%ebp),%ecx
45e5f9:	8b 17                	mov    (%edi),%edx
45e5fb:	8b 41 04             	mov    0x4(%ecx),%eax
45e5fe:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
45e605:	89 75 d4             	mov    %esi,-0x2c(%ebp)
45e608:	8b 04 90             	mov    (%eax,%edx,4),%eax
45e60b:	0f b7 40 08          	movzwl 0x8(%eax),%eax
45e60f:	66 3b 45 ec          	cmp    -0x14(%ebp),%ax
45e613:	0f 84 cf 00 00 00    	je     0x45e6e8
45e619:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
45e61d:	75 0a                	jne    0x45e629
45e61f:	8d 42 ff             	lea    -0x1(%edx),%eax
45e622:	89 07                	mov    %eax,(%edi)
45e624:	e9 4c fe ff ff       	jmp    0x45e475
45e629:	6a 35                	push   $0x35
45e62b:	5a                   	pop    %edx
45e62c:	66 3b c2             	cmp    %dx,%ax
45e62f:	0f 84 40 fe ff ff    	je     0x45e475
45e635:	68 28 41 4b 00       	push   $0x4b4128
45e63a:	51                   	push   %ecx
45e63b:	8b cb                	mov    %ebx,%ecx
45e63d:	e8 06 e4 fe ff       	call   0x44ca48
45e642:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45e645:	e8 d6 45 fb ff       	call   0x412c20
45e64a:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
45e64d:	e8 ce 45 fb ff       	call   0x412c20
45e652:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45e655:	e8 c6 45 fb ff       	call   0x412c20
45e65a:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45e65d:	e8 2a 10 fe ff       	call   0x43f68c
45e662:	83 c8 ff             	or     $0xffffffff,%eax
45e665:	e9 b1 01 00 00       	jmp    0x45e81b
45e66a:	8b 45 08             	mov    0x8(%ebp),%eax
45e66d:	8b 0f                	mov    (%edi),%ecx
45e66f:	8b 40 04             	mov    0x4(%eax),%eax
45e672:	6a 35                	push   $0x35
45e674:	8b 44 88 fc          	mov    -0x4(%eax,%ecx,4),%eax