40af88:	83 c4 20             	add    $0x20,%esp
40af8b:	eb 48                	jmp    0x40afd5
40af8d:	83 3c 0a 04          	cmpl   $0x4,(%edx,%ecx,1)
40af91:	8b 95 80 f9 ff ff    	mov    -0x680(%ebp),%edx
40af97:	74 05                	je     0x40af9e
40af99:	83 fa 05             	cmp    $0x5,%edx
40af9c:	75 5b                	jne    0x40aff9
40af9e:	8d 45 b4             	lea    -0x4c(%ebp),%eax
40afa1:	89 85 6c f9 ff ff    	mov    %eax,-0x694(%ebp)
40afa7:	8b 85 8c f9 ff ff    	mov    -0x674(%ebp),%eax
40afad:	83 7c 08 04 08       	cmpl   $0x8,0x4(%eax,%ecx,1)
40afb2:	0f 85 c6 00 00 00    	jne    0x40b07e
40afb8:	8b 44 08 08          	mov    0x8(%eax,%ecx,1),%eax
40afbc:	52                   	push   %edx
40afbd:	ff 70 04             	push   0x4(%eax)
40afc0:	ff 30                	push   (%eax)
40afc2:	8d 45 b4             	lea    -0x4c(%ebp),%eax
40afc5:	68 50 16 40 00       	push   $0x401650
40afca:	6a 20                	push   $0x20
40afcc:	50                   	push   %eax
40afcd:	e8 d7 18 00 00       	call   0x40c8a9
40afd2:	83 c4 18             	add    $0x18,%esp
40afd5:	85 c0                	test   %eax,%eax
40afd7:	0f 88 a1 00 00 00    	js     0x40b07e
40afdd:	8d 95 6c f9 ff ff    	lea    -0x694(%ebp),%edx
40afe3:	b9 8f 00 00 00       	mov    $0x8f,%ecx
40afe8:	e8 c2 f5 ff ff       	call   0x40a5af
40afed:	8b 85 94 f9 ff ff    	mov    -0x66c(%ebp),%eax
40aff3:	8b 8d 84 f9 ff ff    	mov    -0x67c(%ebp),%ecx
40aff9:	8b 56 04             	mov    0x4(%esi),%edx
40affc:	83 c1 0c             	add    $0xc,%ecx
40afff:	ff 85 70 f9 ff ff    	incl   -0x690(%ebp)
40b005:	89 8d 84 f9 ff ff    	mov    %ecx,-0x67c(%ebp)
40b00b:	8b 8d 70 f9 ff ff    	mov    -0x690(%ebp),%ecx
40b011:	89 95 6c f9 ff ff    	mov    %edx,-0x694(%ebp)
40b017:	3b 4c 10 0c          	cmp    0xc(%eax,%edx,1),%ecx
40b01b:	0f 82 20 fd ff ff    	jb     0x40ad41
40b021:	8b 8d 58 f9 ff ff    	mov    -0x6a8(%ebp),%ecx
40b027:	83 c0 14             	add    $0x14,%eax
40b02a:	41                   	inc    %ecx
40b02b:	89 85 94 f9 ff ff    	mov    %eax,-0x66c(%ebp)
40b031:	89 8d 58 f9 ff ff    	mov    %ecx,-0x6a8(%ebp)
40b037:	3b 0e                	cmp    (%esi),%ecx
40b039:	0f 82 51 fa ff ff    	jb     0x40aa90
40b03f:	83 bd 88 f9 ff ff 04 	cmpl   $0x4,-0x678(%ebp)
40b046:	0f 85 03 f7 ff ff    	jne    0x40a74f
40b04c:	33 d2                	xor    %edx,%edx
40b04e:	b9 99 00 00 00       	mov    $0x99,%ecx
40b053:	e9 ca f9 ff ff       	jmp    0x40aa22
40b058:	ff 15 40 f0 40 00    	call   *0x40f040
40b05e:	b9 f8 15 40 00       	mov    $0x4015f8,%ecx
40b063:	eb 0b                	jmp    0x40b070
40b065:	ff 15 40 f0 40 00    	call   *0x40f040
40b06b:	b9 90 15 40 00       	mov    $0x401590,%ecx
40b070:	8b d8                	mov    %eax,%ebx
40b072:	8b d3                	mov    %ebx,%edx
40b074:	e8 07 d9 ff ff       	call   0x408980
40b079:	e9 d1 f6 ff ff       	jmp    0x40a74f
40b07e:	6a 0d                	push   $0xd
40b080:	5b                   	pop    %ebx
40b081:	33 d2                	xor    %edx,%edx
40b083:	b9 ab 00 00 00       	mov    $0xab,%ecx
40b088:	e9 95 f9 ff ff       	jmp    0x40aa22
40b08d:	83 fe 0c             	cmp    $0xc,%esi
40b090:	0f 85 b3 f6 ff ff    	jne    0x40a749
40b096:	8b b5 94 f9 ff ff    	mov    -0x66c(%ebp),%esi
40b09c:	8d 95 8c f9 ff ff    	lea    -0x674(%ebp),%edx
40b0a2:	8b 85 7c f9 ff ff    	mov    -0x684(%ebp),%eax
40b0a8:	89 85 8c f9 ff ff    	mov    %eax,-0x674(%ebp)
40b0ae:	8b 06                	mov    (%esi),%eax
40b0b0:	2b c7                	sub    %edi,%eax
40b0b2:	74 37                	je     0x40b0eb
40b0b4:	83 e8 01             	sub    $0x1,%eax
40b0b7:	74 28                	je     0x40b0e1
40b0b9:	83 e8 01             	sub    $0x1,%eax
40b0bc:	74 19                	je     0x40b0d7
40b0be:	83 e8 01             	sub    $0x1,%eax
40b0c1:	74 0a                	je     0x40b0cd
40b0c3:	b9 b1 00 00 00       	mov    $0xb1,%ecx
40b0c8:	e9 55 f9 ff ff       	jmp    0x40aa22
40b0cd:	b9 b0 00 00 00       	mov    $0xb0,%ecx
40b0d2:	e9 4b f9 ff ff       	jmp    0x40aa22
40b0d7:	b9 af 00 00 00       	mov    $0xaf,%ecx
40b0dc:	e9 41 f9 ff ff       	jmp    0x40aa22
40b0e1:	b9 ae 00 00 00       	mov    $0xae,%ecx
40b0e6:	e9 37 f9 ff ff       	jmp    0x40aa22
40b0eb:	b9 ad 00 00 00       	mov    $0xad,%ecx
40b0f0:	e9 2d f9 ff ff       	jmp    0x40aa22
40b0f5:	e8 6e b0 ff ff       	call   0x406168
40b0fa:	cc                   	int3
40b0fb:	8b ff                	mov    %edi,%edi
40b0fd:	55                   	push   %ebp
40b0fe:	8b ec                	mov    %esp,%ebp
40b100:	51                   	push   %ecx
40b101:	56                   	push   %esi
40b102:	6a 75                	push   $0x75
40b104:	5e                   	pop    %esi
40b105:	33 c9                	xor    %ecx,%ecx
40b107:	8d 45 fc             	lea    -0x4(%ebp),%eax
40b10a:	51                   	push   %ecx
40b10b:	6a 02                	push   $0x2
40b10d:	50                   	push   %eax
40b10e:	51                   	push   %ecx
40b10f:	6a 6f                	push   $0x6f
40b111:	51                   	push   %ecx
40b112:	68 00 29 00 00       	push   $0x2900
40b117:	ff 15 78 f0 40 00    	call   *0x40f078
40b11d:	85 c0                	test   %eax,%eax
40b11f:	74 0d                	je     0x40b12e
40b121:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b124:	51                   	push   %ecx
40b125:	0f b7 31             	movzwl (%ecx),%esi
40b128:	ff 15 68 f0 40 00    	call   *0x40f068
40b12e:	8b c6                	mov    %esi,%eax
40b130:	5e                   	pop    %esi
40b131:	c9                   	leave
40b132:	c3                   	ret
40b133:	8b ff                	mov    %edi,%edi
40b135:	55                   	push   %ebp
40b136:	8b ec                	mov    %esp,%ebp
40b138:	81 ec b8 00 00 00    	sub    $0xb8,%esp
40b13e:	a1 04 e0 40 00       	mov    0x40e004,%eax
40b143:	33 c5                	xor    %ebp,%eax
40b145:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b148:	8b 45 08             	mov    0x8(%ebp),%eax
40b14b:	53                   	push   %ebx
40b14c:	56                   	push   %esi
40b14d:	8b 75 0c             	mov    0xc(%ebp),%esi
40b150:	8b da                	mov    %edx,%ebx
40b152:	89 8d 5c ff ff ff    	mov    %ecx,-0xa4(%ebp)
40b158:	33 c9                	xor    %ecx,%ecx
40b15a:	89 9d 48 ff ff ff    	mov    %ebx,-0xb8(%ebp)
40b160:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
40b166:	89 8d 4c ff ff ff    	mov    %ecx,-0xb4(%ebp)
40b16c:	89 8d 50 ff ff ff    	mov    %ecx,-0xb0(%ebp)
40b172:	57                   	push   %edi
40b173:	85 c0                	test   %eax,%eax
40b175:	74 2b                	je     0x40b1a2
40b177:	50                   	push   %eax
40b178:	51                   	push   %ecx
40b179:	ff 15 64 f0 40 00    	call   *0x40f064
40b17f:	8b f8                	mov    %eax,%edi
40b181:	89 bd 64 ff ff ff    	mov    %edi,-0x9c(%ebp)
40b187:	85 ff                	test   %edi,%edi
40b189:	75 1f                	jne    0x40b1aa
40b18b:	ff 15 40 f0 40 00    	call   *0x40f040
40b191:	8b d0                	mov    %eax,%edx
40b193:	b9 50 4c 40 00       	mov    $0x404c50,%ecx
40b198:	e8 e3 d7 ff ff       	call   0x408980
40b19d:	e9 e8 03 00 00       	jmp    0x40b58a
40b1a2:	8b f9                	mov    %ecx,%edi
40b1a4:	89 bd 64 ff ff ff    	mov    %edi,-0x9c(%ebp)
40b1aa:	6a 01                	push   $0x1
40b1ac:	53                   	push   %ebx
40b1ad:	ff b5 5c ff ff ff    	push   -0xa4(%ebp)
40b1b3:	ff 15 3c 00 41 00    	call   *0x41003c
40b1b9:	89 06                	mov    %eax,(%esi)
40b1bb:	85 c0                	test   %eax,%eax
40b1bd:	75 19                	jne    0x40b1d8
40b1bf:	ff 15 40 f0 40 00    	call   *0x40f040
40b1c5:	8b d0                	mov    %eax,%edx
40b1c7:	b9 88 14 40 00       	mov    $0x401488,%ecx
40b1cc:	e8 af d7 ff ff       	call   0x408980
40b1d1:	8b d8                	mov    %eax,%ebx
40b1d3:	e9 a9 03 00 00       	jmp    0x40b581
40b1d8:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
40b1de:	51                   	push   %ecx
40b1df:	6a 04                	push   $0x4
40b1e1:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
40b1e7:	51                   	push   %ecx
40b1e8:	6a 03                	push   $0x3
40b1ea:	50                   	push   %eax
40b1eb:	ff 15 54 00 41 00    	call   *0x410054
40b1f1:	85 c0                	test   %eax,%eax
40b1f3:	75 1e                	jne    0x40b213
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