40d0a5:	8d 45 e8             	lea    -0x18(%ebp),%eax
40d0a8:	50                   	push   %eax
40d0a9:	e8 08 44 ff ff       	call   0x4014b6
40d0ae:	50                   	push   %eax
40d0af:	8b 45 fc             	mov    -0x4(%ebp),%eax
40d0b2:	8b 4d 08             	mov    0x8(%ebp),%ecx
40d0b5:	8d 44 01 0c          	lea    0xc(%ecx,%eax,1),%eax
40d0b9:	50                   	push   %eax
40d0ba:	e8 83 93 ff ff       	call   0x406442
40d0bf:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
40d0c3:	75 05                	jne    0x40d0ca
40d0c5:	e9 d0 00 00 00       	jmp    0x40d19a
40d0ca:	ff 75 0c             	push   0xc(%ebp)
40d0cd:	8b 45 08             	mov    0x8(%ebp),%eax
40d0d0:	03 45 e8             	add    -0x18(%ebp),%eax
40d0d3:	50                   	push   %eax
40d0d4:	e8 cf 9f ff ff       	call   0x4070a8
40d0d9:	0f bf c0             	movswl %ax,%eax
40d0dc:	85 c0                	test   %eax,%eax
40d0de:	0f 84 a8 00 00 00    	je     0x40d18c
40d0e4:	8d 45 f8             	lea    -0x8(%ebp),%eax
40d0e7:	50                   	push   %eax
40d0e8:	e8 c9 43 ff ff       	call   0x4014b6
40d0ed:	50                   	push   %eax
40d0ee:	8b 45 fc             	mov    -0x4(%ebp),%eax
40d0f1:	8b 4d 08             	mov    0x8(%ebp),%ecx
40d0f4:	8d 44 01 10          	lea    0x10(%ecx,%eax,1),%eax
40d0f8:	50                   	push   %eax
40d0f9:	e8 44 93 ff ff       	call   0x406442
40d0fe:	8d 45 f8             	lea    -0x8(%ebp),%eax
40d101:	50                   	push   %eax
40d102:	e8 af 43 ff ff       	call   0x4014b6
40d107:	50                   	push   %eax
40d108:	8b 45 08             	mov    0x8(%ebp),%eax
40d10b:	03 45 f8             	add    -0x8(%ebp),%eax
40d10e:	50                   	push   %eax
40d10f:	e8 2e 93 ff ff       	call   0x406442
40d114:	8b 45 f8             	mov    -0x8(%ebp),%eax
40d117:	66 25 00 00          	and    $0x0,%ax
40d11b:	05 00 00 01 00       	add    $0x10000,%eax
40d120:	89 45 f4             	mov    %eax,-0xc(%ebp)
40d123:	8b 45 f4             	mov    -0xc(%ebp),%eax
40d126:	2d 00 00 01 00       	sub    $0x10000,%eax
40d12b:	89 45 f4             	mov    %eax,-0xc(%ebp)
40d12e:	8d 45 ec             	lea    -0x14(%ebp),%eax
40d131:	50                   	push   %eax
40d132:	e8 7f 43 ff ff       	call   0x4014b6
40d137:	50                   	push   %eax
40d138:	ff 75 f4             	push   -0xc(%ebp)
40d13b:	e8 02 93 ff ff       	call   0x406442
40d140:	8b 45 ec             	mov    -0x14(%ebp),%eax
40d143:	25 ff ff 00 00       	and    $0xffff,%eax
40d148:	3d 4d 5a 00 00       	cmp    $0x5a4d,%eax
40d14d:	75 d4                	jne    0x40d123
40d14f:	8d 45 ec             	lea    -0x14(%ebp),%eax
40d152:	50                   	push   %eax
40d153:	e8 5e 43 ff ff       	call   0x4014b6
40d158:	50                   	push   %eax
40d159:	8b 45 f4             	mov    -0xc(%ebp),%eax
40d15c:	83 c0 3c             	add    $0x3c,%eax
40d15f:	50                   	push   %eax
40d160:	e8 dd 92 ff ff       	call   0x406442
40d165:	8d 45 ec             	lea    -0x14(%ebp),%eax
40d168:	50                   	push   %eax
40d169:	e8 48 43 ff ff       	call   0x4014b6
40d16e:	50                   	push   %eax
40d16f:	8b 45 f4             	mov    -0xc(%ebp),%eax
40d172:	03 45 ec             	add    -0x14(%ebp),%eax
40d175:	50                   	push   %eax
40d176:	e8 c7 92 ff ff       	call   0x406442
40d17b:	81 7d ec 50 45 00 00 	cmpl   $0x4550,-0x14(%ebp)
40d182:	75 9f                	jne    0x40d123
40d184:	8b 45 f4             	mov    -0xc(%ebp),%eax
40d187:	89 45 e0             	mov    %eax,-0x20(%ebp)
40d18a:	eb 0e                	jmp    0x40d19a
40d18c:	8b 45 fc             	mov    -0x4(%ebp),%eax
40d18f:	83 c0 14             	add    $0x14,%eax
40d192:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d195:	e9 0b ff ff ff       	jmp    0x40d0a5
40d19a:	8b 45 e0             	mov    -0x20(%ebp),%eax
40d19d:	c9                   	leave
40d19e:	c2 08 00             	ret    $0x8
40d1a1:	55                   	push   %ebp
40d1a2:	8b ec                	mov    %esp,%ebp
40d1a4:	51                   	push   %ecx
40d1a5:	51                   	push   %ecx
40d1a6:	68 36 13 40 00       	push   $0x401336
40d1ab:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40d1b1:	50                   	push   %eax
40d1b2:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40d1b9:	6a 5c                	push   $0x5c
40d1bb:	58                   	pop    %eax
40d1bc:	e8 6f 41 ff ff       	call   0x401330
40d1c1:	53                   	push   %ebx
40d1c2:	56                   	push   %esi
40d1c3:	57                   	push   %edi
40d1c4:	89 65 f8             	mov    %esp,-0x8(%ebp)
40d1c7:	c7 45 fc 98 12 40 00 	movl   $0x401298,-0x4(%ebp)
40d1ce:	8d 45 b0             	lea    -0x50(%ebp),%eax
40d1d1:	50                   	push   %eax
40d1d2:	e8 df 42 ff ff       	call   0x4014b6
40d1d7:	50                   	push   %eax
40d1d8:	8b 45 08             	mov    0x8(%ebp),%eax
40d1db:	83 c0 3c             	add    $0x3c,%eax
40d1de:	50                   	push   %eax
40d1df:	e8 5e 92 ff ff       	call   0x406442
40d1e4:	8d 45 bc             	lea    -0x44(%ebp),%eax
40d1e7:	50                   	push   %eax
40d1e8:	e8 c9 42 ff ff       	call   0x4014b6
40d1ed:	50                   	push   %eax
40d1ee:	8b 45 b0             	mov    -0x50(%ebp),%eax
40d1f1:	8b 4d 08             	mov    0x8(%ebp),%ecx
40d1f4:	8d 44 01 78          	lea    0x78(%ecx,%eax,1),%eax
40d1f8:	50                   	push   %eax
40d1f9:	e8 44 92 ff ff       	call   0x406442
40d1fe:	8d 45 dc             	lea    -0x24(%ebp),%eax
40d201:	50                   	push   %eax
40d202:	e8 af 42 ff ff       	call   0x4014b6
40d207:	50                   	push   %eax
40d208:	8b 45 b0             	mov    -0x50(%ebp),%eax
40d20b:	8b 4d 08             	mov    0x8(%ebp),%ecx
40d20e:	8d 44 01 7c          	lea    0x7c(%ecx,%eax,1),%eax
40d212:	50                   	push   %eax
40d213:	e8 2a 92 ff ff       	call   0x406442
40d218:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40d21b:	50                   	push   %eax
40d21c:	e8 95 42 ff ff       	call   0x4014b6
40d221:	50                   	push   %eax
40d222:	8b 45 bc             	mov    -0x44(%ebp),%eax
40d225:	8b 4d 08             	mov    0x8(%ebp),%ecx
40d228:	8d 44 01 10          	lea    0x10(%ecx,%eax,1),%eax
40d22c:	50                   	push   %eax
40d22d:	e8 10 92 ff ff       	call   0x406442
40d232:	8d 45 b8             	lea    -0x48(%ebp),%eax
40d235:	50                   	push   %eax
40d236:	e8 7b 42 ff ff       	call   0x4014b6
40d23b:	50                   	push   %eax
40d23c:	8b 45 bc             	mov    -0x44(%ebp),%eax
40d23f:	8b 4d 08             	mov    0x8(%ebp),%ecx
40d242:	8d 44 01 14          	lea    0x14(%ecx,%eax,1),%eax
40d246:	50                   	push   %eax
40d247:	e8 f6 91 ff ff       	call   0x406442
40d24c:	8d 45 ac             	lea    -0x54(%ebp),%eax
40d24f:	50                   	push   %eax
40d250:	e8 61 42 ff ff       	call   0x4014b6
40d255:	50                   	push   %eax
40d256:	8b 45 bc             	mov    -0x44(%ebp),%eax
40d259:	8b 4d 08             	mov    0x8(%ebp),%ecx
40d25c:	8d 44 01 18          	lea    0x18(%ecx,%eax,1),%eax
40d260:	50                   	push   %eax
40d261:	e8 dc 91 ff ff       	call   0x406442
40d266:	8d 45 b4             	lea    -0x4c(%ebp),%eax
40d269:	50                   	push   %eax
40d26a:	e8 47 42 ff ff       	call   0x4014b6
40d26f:	50                   	push   %eax
40d270:	8b 45 bc             	mov    -0x44(%ebp),%eax
40d273:	8b 4d 08             	mov    0x8(%ebp),%ecx
40d276:	8d 44 01 1c          	lea    0x1c(%ecx,%eax,1),%eax
40d27a:	50                   	push   %eax
40d27b:	e8 c2 91 ff ff       	call   0x406442
40d280:	8d 45 a8             	lea    -0x58(%ebp),%eax
40d283:	50                   	push   %eax
40d284:	e8 2d 42 ff ff       	call   0x4014b6
40d289:	50                   	push   %eax
40d28a:	8b 45 bc             	mov    -0x44(%ebp),%eax
40d28d:	8b 4d 08             	mov    0x8(%ebp),%ecx
40d290:	8d 44 01 20          	lea    0x20(%ecx,%eax,1),%eax
40d294:	50                   	push   %eax
40d295:	e8 a8 91 ff ff       	call   0x406442
40d29a:	8d 45 e0             	lea    -0x20(%ebp),%eax
40d29d:	50                   	push   %eax
40d29e:	e8 13 42 ff ff       	call   0x4014b6
40d2a3:	50                   	push   %eax
40d2a4:	8b 45 bc             	mov    -0x44(%ebp),%eax
40d2a7:	8b 4d 08             	mov    0x8(%ebp),%ecx
40d2aa:	8d 44 01 24          	lea    0x24(%ecx,%eax,1),%eax
40d2ae:	50                   	push   %eax
40d2af:	e8 8e 91 ff ff       	call   0x406442
40d2b4:	8b 45 0c             	mov    0xc(%ebp),%eax
40d2b7:	8b 00                	mov    (%eax),%eax
40d2b9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40d2bc:	8b 09                	mov    (%ecx),%ecx
40d2be:	33 d2                	xor    %edx,%edx
40d2c0:	2b 51 14             	sub    0x14(%ecx),%edx
40d2c3:	8b 40 0c             	mov    0xc(%eax),%eax
40d2c6:	66 0f b6 04 10       	movzbw (%eax,%edx,1),%ax
40d2cb:	66 3d 23 00          	cmp    $0x23,%ax
40d2cf:	0f 85 e9 00 00 00    	jne    0x40d3be
40d2d5:	8b 45 0c             	mov    0xc(%ebp),%eax
40d2d8:	ff 30                	push   (%eax)
40d2da:	6a 01                	push   $0x1
40d2dc:	e8 81 41 ff ff       	call   0x401462
40d2e1:	89 45 98             	mov    %eax,-0x68(%ebp)
40d2e4:	c7 45 9c 01 00 00 00 	movl   $0x1,-0x64(%ebp)
40d2eb:	c7 45 cc 01 00 00 00 	movl   $0x1,-0x34(%ebp)
40d2f2:	eb 09                	jmp    0x40d2fd
40d2f4:	8b 45 cc             	mov    -0x34(%ebp),%eax
40d2f7:	03 45 9c             	add    -0x64(%ebp),%eax
40d2fa:	89 45 cc             	mov    %eax,-0x34(%ebp)
40d2fd:	8b 45 cc             	mov    -0x34(%ebp),%eax
40d300:	3b 45 98             	cmp    -0x68(%ebp),%eax
40d303:	7f 7c                	jg     0x40d381
40d305:	8b 45 0c             	mov    0xc(%ebp),%eax
40d308:	8b 00                	mov    (%eax),%eax
40d30a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40d30d:	8b 09                	mov    (%ecx),%ecx
40d30f:	8b 55 cc             	mov    -0x34(%ebp),%edx
40d312:	2b 51 14             	sub    0x14(%ecx),%edx
40d315:	8b 40 0c             	mov    0xc(%eax),%eax
40d318:	66 0f b6 04 10       	movzbw (%eax,%edx,1),%ax
40d31d:	33 c9                	xor    %ecx,%ecx
40d31f:	66 3d 30 00          	cmp    $0x30,%ax
40d323:	0f 9d c1             	setge  %cl
40d326:	8b 45 0c             	mov    0xc(%ebp),%eax
40d329:	8b 00                	mov    (%eax),%eax
40d32b:	8b 55 0c             	mov    0xc(%ebp),%edx
40d32e:	8b 12                	mov    (%edx),%edx
40d330:	8b 75 cc             	mov    -0x34(%ebp),%esi
40d333:	2b 72 14             	sub    0x14(%edx),%esi
40d336:	8b 40 0c             	mov    0xc(%eax),%eax
40d339:	66 0f b6 04 30       	movzbw (%eax,%esi,1),%ax
40d33e:	33 d2                	xor    %edx,%edx
40d340:	66 3d 39 00          	cmp    $0x39,%ax
40d344:	0f 9e c2             	setle  %dl
40d347:	23 ca                	and    %edx,%ecx
40d349:	85 c9                	test   %ecx,%ecx
40d34b:	75 05                	jne    0x40d352
40d34d:	e9 28 03 00 00       	jmp    0x40d67a
40d352:	8b 45 d8             	mov    -0x28(%ebp),%eax
40d355:	6b c0 0a             	imul   $0xa,%eax,%eax
40d358:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40d35b:	8b 09                	mov    (%ecx),%ecx
40d35d:	8b 55 0c             	mov    0xc(%ebp),%edx
40d360:	8b 12                	mov    (%edx),%edx
40d362:	8b 75 cc             	mov    -0x34(%ebp),%esi
40d365:	2b 72 14             	sub    0x14(%edx),%esi
40d368:	8b 49 0c             	mov    0xc(%ecx),%ecx
40d36b:	66 0f b6 0c 31       	movzbw (%ecx,%esi,1),%cx
40d370:	66 83 e9 30          	sub    $0x30,%cx
40d374:	0f bf c9             	movswl %cx,%ecx
40d377:	03 c1                	add    %ecx,%eax
40d379:	89 45 d8             	mov    %eax,-0x28(%ebp)
40d37c:	e9 73 ff ff ff       	jmp    0x40d2f4
40d381:	8b 45 d8             	mov    -0x28(%ebp),%eax
40d384:	2b 45 d4             	sub    -0x2c(%ebp),%eax
40d387:	89 45 d8             	mov    %eax,-0x28(%ebp)
40d38a:	8b 45 d8             	mov    -0x28(%ebp),%eax
40d38d:	3b 45 b8             	cmp    -0x48(%ebp),%eax
40d390:	7d 06                	jge    0x40d398
40d392:	83 7d b8 00          	cmpl   $0x0,-0x48(%ebp)
40d396:	7d 05                	jge    0x40d39d
40d398:	e9 dd 02 00 00       	jmp    0x40d67a
40d39d:	8d 45 e8             	lea    -0x18(%ebp),%eax
40d3a0:	50                   	push   %eax
40d3a1:	e8 10 41 ff ff       	call   0x4014b6
40d3a6:	50                   	push   %eax
40d3a7:	8b 45 08             	mov    0x8(%ebp),%eax
40d3aa:	03 45 b4             	add    -0x4c(%ebp),%eax
40d3ad:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40d3b0:	8d 04 88             	lea    (%eax,%ecx,4),%eax
40d3b3:	50                   	push   %eax
40d3b4:	e8 89 90 ff ff       	call   0x406442
40d3b9:	e9 8f 00 00 00       	jmp    0x40d44d
40d3be:	8b 45 d0             	mov    -0x30(%ebp),%eax
40d3c1:	3b 45 ac             	cmp    -0x54(%ebp),%eax
40d3c4:	0f 8d 83 00 00 00    	jge    0x40d44d
40d3ca:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40d3cd:	50                   	push   %eax
40d3ce:	e8 e3 40 ff ff       	call   0x4014b6
40d3d3:	50                   	push   %eax
40d3d4:	8b 45 08             	mov    0x8(%ebp),%eax
40d3d7:	03 45 a8             	add    -0x58(%ebp),%eax
40d3da:	8b 4d d0             	mov    -0x30(%ebp),%ecx
40d3dd:	8d 04 88             	lea    (%eax,%ecx,4),%eax
40d3e0:	50                   	push   %eax
40d3e1:	e8 5c 90 ff ff       	call   0x406442
40d3e6:	ff 75 0c             	push   0xc(%ebp)
40d3e9:	8b 45 08             	mov    0x8(%ebp),%eax
40d3ec:	03 45 e4             	add    -0x1c(%ebp),%eax
40d3ef:	50                   	push   %eax
40d3f0:	e8 b3 9c ff ff       	call   0x4070a8
40d3f5:	0f bf c0             	movswl %ax,%eax
40d3f8:	85 c0                	test   %eax,%eax
40d3fa:	74 45                	je     0x40d441
40d3fc:	8d 45 ec             	lea    -0x14(%ebp),%eax
40d3ff:	50                   	push   %eax
40d400:	e8 b1 40 ff ff       	call   0x4014b6
40d405:	50                   	push   %eax
40d406:	8b 45 08             	mov    0x8(%ebp),%eax
40d409:	03 45 e0             	add    -0x20(%ebp),%eax
40d40c:	8b 4d d0             	mov    -0x30(%ebp),%ecx
40d40f:	8d 04 48             	lea    (%eax,%ecx,2),%eax
40d412:	50                   	push   %eax
40d413:	e8 2a 90 ff ff       	call   0x406442
40d418:	8b 45 ec             	mov    -0x14(%ebp),%eax
40d41b:	25 ff ff 00 00       	and    $0xffff,%eax
40d420:	89 45 ec             	mov    %eax,-0x14(%ebp)
40d423:	8d 45 e8             	lea    -0x18(%ebp),%eax
40d426:	50                   	push   %eax
40d427:	e8 8a 40 ff ff       	call   0x4014b6
40d42c:	50                   	push   %eax
40d42d:	8b 45 08             	mov    0x8(%ebp),%eax
40d430:	03 45 b4             	add    -0x4c(%ebp),%eax
40d433:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40d436:	8d 04 88             	lea    (%eax,%ecx,4),%eax
40d439:	50                   	push   %eax
40d43a:	e8 03 90 ff ff       	call   0x406442
40d43f:	eb 0c                	jmp    0x40d44d
40d441:	8b 45 d0             	mov    -0x30(%ebp),%eax
40d444:	40                   	inc    %eax
40d445:	89 45 d0             	mov    %eax,-0x30(%ebp)
40d448:	e9 71 ff ff ff       	jmp    0x40d3be
40d44d:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
40d451:	75 05                	jne    0x40d458
40d453:	e9 22 02 00 00       	jmp    0x40d67a
40d458:	8b 45 e8             	mov    -0x18(%ebp),%eax
40d45b:	3b 45 bc             	cmp    -0x44(%ebp),%eax
40d45e:	0f 8e 0d 02 00 00    	jle    0x40d671
40d464:	8b 45 bc             	mov    -0x44(%ebp),%eax
40d467:	03 45 dc             	add    -0x24(%ebp),%eax
40d46a:	39 45 e8             	cmp    %eax,-0x18(%ebp)
40d46d:	0f 8d fe 01 00 00    	jge    0x40d671
40d473:	8b 45 08             	mov    0x8(%ebp),%eax
40d476:	03 45 e8             	add    -0x18(%ebp),%eax
40d479:	89 45 a8             	mov    %eax,-0x58(%ebp)
40d47c:	83 65 cc 00          	andl   $0x0,-0x34(%ebp)
40d480:	6a 00                	push   $0x0
40d482:	68 ff 00 00 00       	push   $0xff
40d487:	6a 01                	push   $0x1
40d489:	6a 11                	push   $0x11
40d48b:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40d48e:	50                   	push   %eax
40d48f:	6a 01                	push   $0x1
40d491:	68 80 00 00 00       	push   $0x80
40d496:	e8 69 40 ff ff       	call   0x401504
40d49b:	83 c4 1c             	add    $0x1c,%esp
40d49e:	6a 00                	push   $0x0
40d4a0:	68 ff 00 00 00       	push   $0xff
40d4a5:	6a 01                	push   $0x1
40d4a7:	6a 11                	push   $0x11
40d4a9:	ff 75 0c             	push   0xc(%ebp)
40d4ac:	6a 01                	push   $0x1
40d4ae:	68 80 00 00 00       	push   $0x80
40d4b3:	e8 4c 40 ff ff       	call   0x401504
40d4b8:	83 c4 1c             	add    $0x1c,%esp
40d4bb:	ff 75 c4             	push   -0x3c(%ebp)
40d4be:	8d 45 a4             	lea    -0x5c(%ebp),%eax
40d4c1:	50                   	push   %eax
40d4c2:	e8 19 40 ff ff       	call   0x4014e0
40d4c7:	8b 45 a4             	mov    -0x5c(%ebp),%eax