40b1f5:	ff 15 40 f0 40 00    	call   *0x40f040
40b1fb:	8b d8                	mov    %eax,%ebx
40b1fd:	83 fb 7c             	cmp    $0x7c,%ebx
40b200:	74 11                	je     0x40b213
40b202:	8b d3                	mov    %ebx,%edx
40b204:	b9 58 44 40 00       	mov    $0x404458,%ecx
40b209:	e8 72 d7 ff ff       	call   0x408980
40b20e:	e9 6e 03 00 00       	jmp    0x40b581
40b213:	8b 0e                	mov    (%esi),%ecx
40b215:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
40b21b:	50                   	push   %eax
40b21c:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
40b222:	33 ff                	xor    %edi,%edi
40b224:	50                   	push   %eax
40b225:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
40b22b:	33 d2                	xor    %edx,%edx
40b22d:	50                   	push   %eax
40b22e:	8b df                	mov    %edi,%ebx
40b230:	e8 a1 08 00 00       	call   0x40bad6
40b235:	85 c0                	test   %eax,%eax
40b237:	75 3c                	jne    0x40b275
40b239:	ff 15 40 f0 40 00    	call   *0x40f040
40b23f:	8b d8                	mov    %eax,%ebx
40b241:	85 db                	test   %ebx,%ebx
40b243:	74 30                	je     0x40b275
40b245:	8b d3                	mov    %ebx,%edx
40b247:	b9 8c 4c 40 00       	mov    $0x404c8c,%ecx
40b24c:	e8 2f d7 ff ff       	call   0x408980
40b251:	83 fb 7a             	cmp    $0x7a,%ebx
40b254:	75 14                	jne    0x40b26a
40b256:	57                   	push   %edi
40b257:	ff b5 54 ff ff ff    	push   -0xac(%ebp)
40b25d:	b9 68 4e 40 00       	mov    $0x404e68,%ecx
40b262:	6a 66                	push   $0x66
40b264:	5a                   	pop    %edx
40b265:	e8 a9 d7 ff ff       	call   0x408a13
40b26a:	8b bd 64 ff ff ff    	mov    -0x9c(%ebp),%edi
40b270:	e9 0c 03 00 00       	jmp    0x40b581
40b275:	8b bd 64 ff ff ff    	mov    -0x9c(%ebp),%edi
40b27b:	8b 37                	mov    (%edi),%esi
40b27d:	8b c6                	mov    %esi,%eax
40b27f:	25 00 01 00 00       	and    $0x100,%eax
40b284:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
40b28a:	74 06                	je     0x40b292
40b28c:	81 e6 ff fe ff ff    	and    $0xfffffeff,%esi
40b292:	6a 64                	push   $0x64
40b294:	8d 95 58 ff ff ff    	lea    -0xa8(%ebp),%edx
40b29a:	c7 85 58 ff ff ff 8c 	movl   $0x404c8c,-0xa8(%ebp)
40b2a1:	4c 40 00
40b2a4:	59                   	pop    %ecx
40b2a5:	e8 05 f3 ff ff       	call   0x40a5af
40b2aa:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
40b2b0:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
40b2b6:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40b2b9:	6a 10                	push   $0x10
40b2bb:	50                   	push   %eax
40b2bc:	ff 37                	push   (%edi)
40b2be:	ff 15 20 f1 40 00    	call   *0x40f120
40b2c4:	83 c4 0c             	add    $0xc,%esp
40b2c7:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40b2ca:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
40b2d0:	83 fe 30             	cmp    $0x30,%esi
40b2d3:	0f 87 81 00 00 00    	ja     0x40b35a
40b2d9:	74 73                	je     0x40b34e
40b2db:	83 ee 01             	sub    $0x1,%esi
40b2de:	74 62                	je     0x40b342
40b2e0:	83 ee 01             	sub    $0x1,%esi
40b2e3:	74 51                	je     0x40b336
40b2e5:	4e                   	dec    %esi
40b2e6:	83 ee 01             	sub    $0x1,%esi
40b2e9:	74 3c                	je     0x40b327
40b2eb:	83 ee 07             	sub    $0x7,%esi
40b2ee:	74 28                	je     0x40b318
40b2f0:	83 ee 05             	sub    $0x5,%esi
40b2f3:	74 14                	je     0x40b309
40b2f5:	83 ee 10             	sub    $0x10,%esi
40b2f8:	75 7c                	jne    0x40b376
40b2fa:	c7 85 70 ff ff ff d8 	movl   $0x404cd8,-0x90(%ebp)
40b301:	4c 40 00
40b304:	e9 b3 00 00 00       	jmp    0x40b3bc
40b309:	c7 85 70 ff ff ff b4 	movl   $0x404cb4,-0x90(%ebp)
40b310:	4c 40 00
40b313:	e9 a4 00 00 00       	jmp    0x40b3bc
40b318:	c7 85 70 ff ff ff 60 	movl   $0x404d60,-0x90(%ebp)
40b31f:	4d 40 00
40b322:	e9 95 00 00 00       	jmp    0x40b3bc
40b327:	c7 85 70 ff ff ff 0c 	movl   $0x404d0c,-0x90(%ebp)
40b32e:	4d 40 00
40b331:	e9 86 00 00 00       	jmp    0x40b3bc
40b336:	c7 85 70 ff ff ff 38 	movl   $0x404d38,-0x90(%ebp)
40b33d:	4d 40 00
40b340:	eb 7a                	jmp    0x40b3bc
40b342:	c7 85 70 ff ff ff 1c 	movl   $0x404d1c,-0x90(%ebp)
40b349:	4d 40 00
40b34c:	eb 6e                	jmp    0x40b3bc
40b34e:	c7 85 70 ff ff ff 00 	movl   $0x404d00,-0x90(%ebp)
40b355:	4d 40 00
40b358:	eb 62                	jmp    0x40b3bc
40b35a:	83 ee 50             	sub    $0x50,%esi
40b35d:	74 53                	je     0x40b3b2
40b35f:	83 ee 10             	sub    $0x10,%esi
40b362:	74 42                	je     0x40b3a6
40b364:	83 ee 70             	sub    $0x70,%esi
40b367:	74 31                	je     0x40b39a
40b369:	83 ee 10             	sub    $0x10,%esi
40b36c:	74 20                	je     0x40b38e
40b36e:	81 ee 30 01 00 00    	sub    $0x130,%esi
40b374:	74 0c                	je     0x40b382
40b376:	c7 85 70 ff ff ff 70 	movl   $0x404d70,-0x90(%ebp)
40b37d:	4d 40 00
40b380:	eb 3a                	jmp    0x40b3bc
40b382:	c7 85 70 ff ff ff e8 	movl   $0x404ae8,-0x90(%ebp)
40b389:	4a 40 00
40b38c:	eb 2e                	jmp    0x40b3bc
40b38e:	c7 85 70 ff ff ff 30 	movl   $0x404a30,-0x90(%ebp)
40b395:	4a 40 00
40b398:	eb 22                	jmp    0x40b3bc
40b39a:	c7 85 70 ff ff ff f8 	movl   $0x4049f8,-0x90(%ebp)
40b3a1:	49 40 00
40b3a4:	eb 16                	jmp    0x40b3bc
40b3a6:	c7 85 70 ff ff ff bc 	movl   $0x4049bc,-0x90(%ebp)
40b3ad:	49 40 00
40b3b0:	eb 0a                	jmp    0x40b3bc
40b3b2:	c7 85 70 ff ff ff 84 	movl   $0x404984,-0x90(%ebp)
40b3b9:	49 40 00
40b3bc:	83 bd 5c ff ff ff 00 	cmpl   $0x0,-0xa4(%ebp)
40b3c3:	b8 b8 12 40 00       	mov    $0x4012b8,%eax
40b3c8:	75 05                	jne    0x40b3cf
40b3ca:	b8 fc 12 40 00       	mov    $0x4012fc,%eax
40b3cf:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
40b3d5:	8d 45 cc             	lea    -0x34(%ebp),%eax
40b3d8:	6a 10                	push   $0x10
40b3da:	50                   	push   %eax
40b3db:	ff 77 04             	push   0x4(%edi)
40b3de:	ff 15 20 f1 40 00    	call   *0x40f120
40b3e4:	8d 45 cc             	lea    -0x34(%ebp),%eax
40b3e7:	33 f6                	xor    %esi,%esi
40b3e9:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
40b3ef:	83 c4 0c             	add    $0xc,%esp
40b3f2:	8b 47 04             	mov    0x4(%edi),%eax
40b3f5:	2b c6                	sub    %esi,%eax
40b3f7:	74 64                	je     0x40b45d
40b3f9:	83 e8 01             	sub    $0x1,%eax
40b3fc:	74 53                	je     0x40b451
40b3fe:	83 e8 01             	sub    $0x1,%eax
40b401:	74 2e                	je     0x40b431
40b403:	83 e8 01             	sub    $0x1,%eax
40b406:	74 1d                	je     0x40b425
40b408:	83 e8 01             	sub    $0x1,%eax
40b40b:	74 0c                	je     0x40b419
40b40d:	c7 85 7c ff ff ff 70 	movl   $0x404d70,-0x84(%ebp)
40b414:	4d 40 00
40b417:	eb 4e                	jmp    0x40b467
40b419:	c7 85 7c ff ff ff 10 	movl   $0x404e10,-0x84(%ebp)
40b420:	4e 40 00
40b423:	eb 42                	jmp    0x40b467
40b425:	c7 85 7c ff ff ff f4 	movl   $0x404df4,-0x84(%ebp)
40b42c:	4d 40 00
40b42f:	eb 36                	jmp    0x40b467
40b431:	39 b5 50 ff ff ff    	cmp    %esi,-0xb0(%ebp)
40b437:	75 0c                	jne    0x40b445
40b439:	c7 85 7c ff ff ff b0 	movl   $0x404db0,-0x84(%ebp)
40b440:	4d 40 00
40b443:	eb 22                	jmp    0x40b467
40b445:	c7 85 7c ff ff ff c8 	movl   $0x404dc8,-0x84(%ebp)
40b44c:	4d 40 00
40b44f:	eb 16                	jmp    0x40b467
40b451:	c7 85 7c ff ff ff 94 	movl   $0x404d94,-0x84(%ebp)
40b458:	4d 40 00
40b45b:	eb 0a                	jmp    0x40b467
40b45d:	c7 85 7c ff ff ff 7c 	movl   $0x404d7c,-0x84(%ebp)
40b464:	4d 40 00
40b467:	6a 10                	push   $0x10
40b469:	8d 45 b4             	lea    -0x4c(%ebp),%eax
40b46c:	50                   	push   %eax
40b46d:	ff 77 08             	push   0x8(%edi)
40b470:	ff 15 20 f1 40 00    	call   *0x40f120
40b476:	8d 45 b4             	lea    -0x4c(%ebp),%eax
40b479:	83 c4 0c             	add    $0xc,%esp
40b47c:	89 45 80             	mov    %eax,-0x80(%ebp)
40b47f:	8b 47 08             	mov    0x8(%edi),%eax
40b482:	2b c6                	sub    %esi,%eax
40b484:	74 33                	je     0x40b4b9
40b486:	83 e8 01             	sub    $0x1,%eax
40b489:	74 25                	je     0x40b4b0
40b48b:	83 e8 01             	sub    $0x1,%eax
40b48e:	74 17                	je     0x40b4a7
40b490:	83 e8 01             	sub    $0x1,%eax
40b493:	74 09                	je     0x40b49e
40b495:	c7 45 84 70 4d 40 00 	movl   $0x404d70,-0x7c(%ebp)
40b49c:	eb 22                	jmp    0x40b4c0
40b49e:	c7 45 84 44 4e 40 00 	movl   $0x404e44,-0x7c(%ebp)
40b4a5:	eb 19                	jmp    0x40b4c0
40b4a7:	c7 45 84 34 4e 40 00 	movl   $0x404e34,-0x7c(%ebp)
40b4ae:	eb 10                	jmp    0x40b4c0
40b4b0:	c7 45 84 24 4e 40 00 	movl   $0x404e24,-0x7c(%ebp)
40b4b7:	eb 07                	jmp    0x40b4c0
40b4b9:	c7 45 84 58 4e 40 00 	movl   $0x404e58,-0x7c(%ebp)
40b4c0:	8b 47 0c             	mov    0xc(%edi),%eax
40b4c3:	89 45 88             	mov    %eax,-0x78(%ebp)
40b4c6:	8b 47 10             	mov    0x10(%edi),%eax
40b4c9:	89 45 8c             	mov    %eax,-0x74(%ebp)
40b4cc:	8d 45 9c             	lea    -0x64(%ebp),%eax
40b4cf:	6a 0a                	push   $0xa
40b4d1:	50                   	push   %eax
40b4d2:	ff 77 14             	push   0x14(%edi)
40b4d5:	ff 15 20 f1 40 00    	call   *0x40f120
40b4db:	83 c4 0c             	add    $0xc,%esp
40b4de:	8d 45 9c             	lea    -0x64(%ebp),%eax
40b4e1:	89 45 90             	mov    %eax,-0x70(%ebp)
40b4e4:	8d 95 68 ff ff ff    	lea    -0x98(%ebp),%edx
40b4ea:	8b 47 20             	mov    0x20(%edi),%eax
40b4ed:	89 45 94             	mov    %eax,-0x6c(%ebp)
40b4f0:	8b 47 18             	mov    0x18(%edi),%eax
40b4f3:	6a 3a                	push   $0x3a
40b4f5:	59                   	pop    %ecx
40b4f6:	89 45 98             	mov    %eax,-0x68(%ebp)
40b4f9:	e8 b1 f0 ff ff       	call   0x40a5af
40b4fe:	8b 57 18             	mov    0x18(%edi),%edx
40b501:	8b ca                	mov    %edx,%ecx
40b503:	8d 71 02             	lea    0x2(%ecx),%esi
40b506:	66 8b 01             	mov    (%ecx),%ax
40b509:	83 c1 02             	add    $0x2,%ecx
40b50c:	66 3b 85 4c ff ff ff 	cmp    -0xb4(%ebp),%ax
40b513:	75 f1                	jne    0x40b506
40b515:	2b ce                	sub    %esi,%ecx
40b517:	d1 f9                	sar    $1,%ecx
40b519:	8d 14 4a             	lea    (%edx,%ecx,2),%edx
40b51c:	83 c2 02             	add    $0x2,%edx
40b51f:	89 95 60 ff ff ff    	mov    %edx,-0xa0(%ebp)
40b525:	0f b7 02             	movzwl (%edx),%eax
40b528:	66 85 c0             	test   %ax,%ax
40b52b:	74 49                	je     0x40b576
40b52d:	8b c8                	mov    %eax,%ecx
40b52f:	66 85 c9             	test   %cx,%cx
40b532:	74 14                	je     0x40b548
40b534:	6a 3b                	push   $0x3b
40b536:	8d 95 60 ff ff ff    	lea    -0xa0(%ebp),%edx
40b53c:	59                   	pop    %ecx
40b53d:	e8 6d f0 ff ff       	call   0x40a5af
40b542:	8b 95 60 ff ff ff    	mov    -0xa0(%ebp),%edx
40b548:	8b ca                	mov    %edx,%ecx
40b54a:	8d 71 02             	lea    0x2(%ecx),%esi
40b54d:	66 8b 01             	mov    (%ecx),%ax
40b550:	83 c1 02             	add    $0x2,%ecx
40b553:	66 3b 85 4c ff ff ff 	cmp    -0xb4(%ebp),%ax
40b55a:	75 f1                	jne    0x40b54d
40b55c:	2b ce                	sub    %esi,%ecx
40b55e:	d1 f9                	sar    $1,%ecx
40b560:	8d 14 4a             	lea    (%edx,%ecx,2),%edx
40b563:	83 c2 02             	add    $0x2,%edx
40b566:	89 95 60 ff ff ff    	mov    %edx,-0xa0(%ebp)
40b56c:	0f b7 02             	movzwl (%edx),%eax
40b56f:	8b c8                	mov    %eax,%ecx
40b571:	66 85 c0             	test   %ax,%ax
40b574:	75 b9                	jne    0x40b52f
40b576:	6a 3c                	push   $0x3c
40b578:	8d 57 1c             	lea    0x1c(%edi),%edx
40b57b:	59                   	pop    %ecx
40b57c:	e8 2e f0 ff ff       	call   0x40a5af
40b581:	57                   	push   %edi
40b582:	ff 15 68 f0 40 00    	call   *0x40f068
40b588:	8b c3                	mov    %ebx,%eax
40b58a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b58d:	5f                   	pop    %edi
40b58e:	5e                   	pop    %esi
40b58f:	33 cd                	xor    %ebp,%ecx
40b591:	5b                   	pop    %ebx
40b592:	e8 89 aa ff ff       	call   0x406020
40b597:	c9                   	leave
40b598:	c2 08 00             	ret    $0x8
40b59b:	8b ff                	mov    %edi,%edi
40b59d:	55                   	push   %ebp
40b59e:	8b ec                	mov    %esp,%ebp
40b5a0:	83 ec 2c             	sub    $0x2c,%esp
40b5a3:	a1 04 e0 40 00       	mov    0x40e004,%eax
40b5a8:	33 c5                	xor    %ebp,%eax
40b5aa:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b5ad:	53                   	push   %ebx
40b5ae:	56                   	push   %esi
40b5af:	57                   	push   %edi
40b5b0:	8b da                	mov    %edx,%ebx
40b5b2:	89 4d e0             	mov    %ecx,-0x20(%ebp)
40b5b5:	53                   	push   %ebx
40b5b6:	33 f6                	xor    %esi,%esi
40b5b8:	56                   	push   %esi
40b5b9:	ff 15 64 f0 40 00    	call   *0x40f064
40b5bf:	8b f8                	mov    %eax,%edi
40b5c1:	85 ff                	test   %edi,%edi
40b5c3:	75 19                	jne    0x40b5de
40b5c5:	ff 15 40 f0 40 00    	call   *0x40f040
40b5cb:	8b d0                	mov    %eax,%edx
40b5cd:	b9 90 48 40 00       	mov    $0x404890,%ecx
40b5d2:	e8 a9 d3 ff ff       	call   0x408980
40b5d7:	8b f0                	mov    %eax,%esi
40b5d9:	e9 8a 00 00 00       	jmp    0x40b668
40b5de:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40b5e1:	8d 45 dc             	lea    -0x24(%ebp),%eax
40b5e4:	50                   	push   %eax
40b5e5:	53                   	push   %ebx
40b5e6:	8b d7                	mov    %edi,%edx
40b5e8:	e8 ee 15 00 00       	call   0x40cbdb
40b5ed:	85 c0                	test   %eax,%eax
40b5ef:	75 2c                	jne    0x40b61d
40b5f1:	ff 15 40 f0 40 00    	call   *0x40f040
40b5f7:	bb d4 48 40 00       	mov    $0x4048d4,%ebx
40b5fc:	8b d0                	mov    %eax,%edx
40b5fe:	8b cb                	mov    %ebx,%ecx
40b600:	e8 7b d3 ff ff       	call   0x408980
40b605:	8b f0                	mov    %eax,%esi
40b607:	83 fe 7a             	cmp    $0x7a,%esi
40b60a:	75 5c                	jne    0x40b668
40b60c:	6a 00                	push   $0x0
40b60e:	ff 75 dc             	push   -0x24(%ebp)
40b611:	8b cb                	mov    %ebx,%ecx
40b613:	6a 66                	push   $0x66
40b615:	5a                   	pop    %edx
40b616:	e8 f8 d3 ff ff       	call   0x408a13
40b61b:	eb 4b                	jmp    0x40b668
40b61d:	6a 64                	push   $0x64
40b61f:	8d 55 e0             	lea    -0x20(%ebp),%edx
40b622:	c7 45 e0 d4 48 40 00 	movl   $0x4048d4,-0x20(%ebp)
40b629:	59                   	pop    %ecx
40b62a:	e8 80 ef ff ff       	call   0x40a5af
40b62f:	8b 0f                	mov    (%edi),%ecx
40b631:	f7 d9                	neg    %ecx
40b633:	1b c9                	sbb    %ecx,%ecx
40b635:	33 d2                	xor    %edx,%edx
40b637:	83 c1 27             	add    $0x27,%ecx
40b63a:	e8 70 ef ff ff       	call   0x40a5af
40b63f:	8b 47 04             	mov    0x4(%edi),%eax
40b642:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40b645:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40b648:	6a 0a                	push   $0xa
40b64a:	50                   	push   %eax
40b64b:	ff 77 08             	push   0x8(%edi)
40b64e:	ff 15 20 f1 40 00    	call   *0x40f120
40b654:	83 c4 0c             	add    $0xc,%esp
40b657:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40b65a:	8d 55 d4             	lea    -0x2c(%ebp),%edx
40b65d:	89 45 d8             	mov    %eax,-0x28(%ebp)
40b660:	6a 28                	push   $0x28
40b662:	59                   	pop    %ecx
40b663:	e8 47 ef ff ff       	call   0x40a5af
40b668:	57                   	push   %edi
40b669:	ff 15 68 f0 40 00    	call   *0x40f068
40b66f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b672:	8b c6                	mov    %esi,%eax
40b674:	5f                   	pop    %edi
40b675:	5e                   	pop    %esi