40f1f4:	ba c0 3e 40 00       	mov    $0x403ec0,%edx
40f1f9:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40f1fc:	56                   	push   %esi
40f1fd:	89 45 ec             	mov    %eax,-0x14(%ebp)
40f200:	89 55 f0             	mov    %edx,-0x10(%ebp)
40f203:	57                   	push   %edi
40f204:	8b f2                	mov    %edx,%esi
40f206:	8b f8                	mov    %eax,%edi
40f208:	8b 55 fc             	mov    -0x4(%ebp),%edx
40f20b:	33 db                	xor    %ebx,%ebx
40f20d:	89 75 f8             	mov    %esi,-0x8(%ebp)
40f210:	89 7d f4             	mov    %edi,-0xc(%ebp)
40f213:	83 3e 08             	cmpl   $0x8,(%esi)
40f216:	74 3a                	je     0x40f252
40f218:	83 3e 06             	cmpl   $0x6,(%esi)
40f21b:	7d 23                	jge    0x40f240
40f21d:	0f b6 0c 1a          	movzbl (%edx,%ebx,1),%ecx
40f221:	e8 2a f8 ff ff       	call   0x40ea50
40f226:	85 c0                	test   %eax,%eax
40f228:	75 16                	jne    0x40f240
40f22a:	8d b7 40 89 41 00    	lea    0x418940(%edi),%esi
40f230:	8d bf 30 98 41 00    	lea    0x419830(%edi),%edi
40f236:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f237:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f238:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f239:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f23a:	8b 75 f8             	mov    -0x8(%ebp),%esi
40f23d:	8b 7d f4             	mov    -0xc(%ebp),%edi
40f240:	43                   	inc    %ebx
40f241:	83 c6 04             	add    $0x4,%esi
40f244:	83 c7 20             	add    $0x20,%edi
40f247:	89 75 f8             	mov    %esi,-0x8(%ebp)
40f24a:	89 7d f4             	mov    %edi,-0xc(%ebp)
40f24d:	83 fb 10             	cmp    $0x10,%ebx
40f250:	7c c1                	jl     0x40f213
40f252:	8b 55 f0             	mov    -0x10(%ebp),%edx
40f255:	8b 45 ec             	mov    -0x14(%ebp),%eax
40f258:	83 c2 40             	add    $0x40,%edx
40f25b:	83 45 fc 10          	addl   $0x10,-0x4(%ebp)
40f25f:	05 00 02 00 00       	add    $0x200,%eax
40f264:	89 55 f0             	mov    %edx,-0x10(%ebp)
40f267:	89 45 ec             	mov    %eax,-0x14(%ebp)
40f26a:	81 fa 00 40 40 00    	cmp    $0x404000,%edx
40f270:	7c 92                	jl     0x40f204
40f272:	5f                   	pop    %edi
40f273:	5e                   	pop    %esi
40f274:	5b                   	pop    %ebx
40f275:	c9                   	leave
40f276:	c3                   	ret
40f277:	8b ff                	mov    %edi,%edi
40f279:	55                   	push   %ebp
40f27a:	8b ec                	mov    %esp,%ebp
40f27c:	83 ec 14             	sub    $0x14,%esp
40f27f:	53                   	push   %ebx
40f280:	b9 70 3e 40 00       	mov    $0x403e70,%ecx
40f285:	33 c0                	xor    %eax,%eax
40f287:	ba c0 3e 40 00       	mov    $0x403ec0,%edx
40f28c:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40f28f:	56                   	push   %esi
40f290:	89 45 ec             	mov    %eax,-0x14(%ebp)
40f293:	89 55 f0             	mov    %edx,-0x10(%ebp)
40f296:	57                   	push   %edi
40f297:	8b f2                	mov    %edx,%esi
40f299:	8b f8                	mov    %eax,%edi
40f29b:	8b 55 fc             	mov    -0x4(%ebp),%edx
40f29e:	33 db                	xor    %ebx,%ebx
40f2a0:	89 75 f8             	mov    %esi,-0x8(%ebp)
40f2a3:	89 7d f4             	mov    %edi,-0xc(%ebp)
40f2a6:	83 3e 08             	cmpl   $0x8,(%esi)
40f2a9:	74 3a                	je     0x40f2e5
40f2ab:	83 3e 06             	cmpl   $0x6,(%esi)
40f2ae:	7d 23                	jge    0x40f2d3
40f2b0:	0f b6 0c 1a          	movzbl (%edx,%ebx,1),%ecx
40f2b4:	e8 97 f7 ff ff       	call   0x40ea50
40f2b9:	85 c0                	test   %eax,%eax
40f2bb:	75 16                	jne    0x40f2d3
40f2bd:	8d b7 30 98 41 00    	lea    0x419830(%edi),%esi
40f2c3:	8d bf 40 89 41 00    	lea    0x418940(%edi),%edi
40f2c9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f2ca:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f2cb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f2cc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f2cd:	8b 75 f8             	mov    -0x8(%ebp),%esi
40f2d0:	8b 7d f4             	mov    -0xc(%ebp),%edi
40f2d3:	43                   	inc    %ebx
40f2d4:	83 c6 04             	add    $0x4,%esi
40f2d7:	83 c7 20             	add    $0x20,%edi
40f2da:	89 75 f8             	mov    %esi,-0x8(%ebp)
40f2dd:	89 7d f4             	mov    %edi,-0xc(%ebp)
40f2e0:	83 fb 10             	cmp    $0x10,%ebx
40f2e3:	7c c1                	jl     0x40f2a6
40f2e5:	8b 55 f0             	mov    -0x10(%ebp),%edx
40f2e8:	8b 45 ec             	mov    -0x14(%ebp),%eax
40f2eb:	83 c2 40             	add    $0x40,%edx
40f2ee:	83 45 fc 10          	addl   $0x10,-0x4(%ebp)
40f2f2:	05 00 02 00 00       	add    $0x200,%eax
40f2f7:	89 55 f0             	mov    %edx,-0x10(%ebp)
40f2fa:	89 45 ec             	mov    %eax,-0x14(%ebp)
40f2fd:	81 fa 00 40 40 00    	cmp    $0x404000,%edx
40f303:	7c 92                	jl     0x40f297
40f305:	5f                   	pop    %edi
40f306:	5e                   	pop    %esi
40f307:	5b                   	pop    %ebx
40f308:	c9                   	leave
40f309:	c3                   	ret
40f30a:	8b ff                	mov    %edi,%edi
40f30c:	55                   	push   %ebp
40f30d:	8b ec                	mov    %esp,%ebp
40f30f:	83 ec 10             	sub    $0x10,%esp
40f312:	53                   	push   %ebx
40f313:	56                   	push   %esi
40f314:	57                   	push   %edi
40f315:	8b f9                	mov    %ecx,%edi
40f317:	68 00 06 00 00       	push   $0x600
40f31c:	6a 00                	push   $0x0
40f31e:	8d 47 04             	lea    0x4(%edi),%eax
40f321:	50                   	push   %eax
40f322:	e8 3a 4e 00 00       	call   0x414161
40f327:	b9 70 3e 40 00       	mov    $0x403e70,%ecx
40f32c:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
40f332:	b8 c0 3e 40 00       	mov    $0x403ec0,%eax
40f337:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40f33a:	ba 42 89 41 00       	mov    $0x418942,%edx
40f33f:	89 45 f0             	mov    %eax,-0x10(%ebp)
40f342:	83 c4 0c             	add    $0xc,%esp
40f345:	89 55 f4             	mov    %edx,-0xc(%ebp)
40f348:	8b f2                	mov    %edx,%esi
40f34a:	89 45 fc             	mov    %eax,-0x4(%ebp)
40f34d:	8b 55 f8             	mov    -0x8(%ebp),%edx
40f350:	33 db                	xor    %ebx,%ebx
40f352:	83 38 08             	cmpl   $0x8,(%eax)
40f355:	74 53                	je     0x40f3aa
40f357:	83 38 06             	cmpl   $0x6,(%eax)
40f35a:	7d 3f                	jge    0x40f39b
40f35c:	0f b6 0c 1a          	movzbl (%edx,%ebx,1),%ecx
40f360:	e8 eb f6 ff ff       	call   0x40ea50
40f365:	85 c0                	test   %eax,%eax
40f367:	75 2f                	jne    0x40f398
40f369:	0f b7 46 fe          	movzwl -0x2(%esi),%eax
40f36d:	66 85 c0             	test   %ax,%ax
40f370:	74 26                	je     0x40f398
40f372:	66 89 44 4f 04       	mov    %ax,0x4(%edi,%ecx,2)
40f377:	0f b7 06             	movzwl (%esi),%eax
40f37a:	66 85 c0             	test   %ax,%ax
40f37d:	74 19                	je     0x40f398
40f37f:	66 89 84 4f 04 02 00 	mov    %ax,0x204(%edi,%ecx,2)
40f386:	00
40f387:	0f b7 46 02          	movzwl 0x2(%esi),%eax
40f38b:	66 85 c0             	test   %ax,%ax
40f38e:	74 08                	je     0x40f398
40f390:	66 89 84 4f 04 04 00 	mov    %ax,0x404(%edi,%ecx,2)
40f397:	00
40f398:	8b 45 fc             	mov    -0x4(%ebp),%eax
40f39b:	43                   	inc    %ebx
40f39c:	83 c0 04             	add    $0x4,%eax
40f39f:	83 c6 20             	add    $0x20,%esi
40f3a2:	89 45 fc             	mov    %eax,-0x4(%ebp)
40f3a5:	83 fb 10             	cmp    $0x10,%ebx
40f3a8:	7c a8                	jl     0x40f352
40f3aa:	8b 55 f4             	mov    -0xc(%ebp),%edx
40f3ad:	8b 45 f0             	mov    -0x10(%ebp),%eax
40f3b0:	81 c2 00 02 00 00    	add    $0x200,%edx
40f3b6:	83 45 f8 10          	addl   $0x10,-0x8(%ebp)
40f3ba:	83 c0 40             	add    $0x40,%eax
40f3bd:	89 55 f4             	mov    %edx,-0xc(%ebp)
40f3c0:	89 45 f0             	mov    %eax,-0x10(%ebp)
40f3c3:	81 fa 42 93 41 00    	cmp    $0x419342,%edx
40f3c9:	0f 8c 79 ff ff ff    	jl     0x40f348
40f3cf:	5f                   	pop    %edi
40f3d0:	5e                   	pop    %esi
40f3d1:	5b                   	pop    %ebx
40f3d2:	c9                   	leave
40f3d3:	c3                   	ret
40f3d4:	8b ff                	mov    %edi,%edi
40f3d6:	55                   	push   %ebp
40f3d7:	8b ec                	mov    %esp,%ebp
40f3d9:	83 ec 14             	sub    $0x14,%esp
40f3dc:	53                   	push   %ebx
40f3dd:	56                   	push   %esi
40f3de:	57                   	push   %edi
40f3df:	ba 70 3e 40 00       	mov    $0x403e70,%edx
40f3e4:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40f3e7:	bf c0 3e 40 00       	mov    $0x403ec0,%edi
40f3ec:	bb 90 01 00 00       	mov    $0x190,%ebx
40f3f1:	89 7d f4             	mov    %edi,-0xc(%ebp)
40f3f4:	2b da                	sub    %edx,%ebx
40f3f6:	33 f6                	xor    %esi,%esi
40f3f8:	89 7d fc             	mov    %edi,-0x4(%ebp)
40f3fb:	8b c7                	mov    %edi,%eax
40f3fd:	83 38 08             	cmpl   $0x8,(%eax)
40f400:	0f 84 a5 00 00 00    	je     0x40f4ab
40f406:	83 38 06             	cmpl   $0x6,(%eax)
40f409:	0f 8d 8c 00 00 00    	jge    0x40f49b
40f40f:	0f b6 0c 32          	movzbl (%edx,%esi,1),%ecx
40f413:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40f416:	e8 35 f6 ff ff       	call   0x40ea50
40f41b:	85 c0                	test   %eax,%eax
40f41d:	75 79                	jne    0x40f498
40f41f:	8b 45 f8             	mov    -0x8(%ebp),%eax
40f422:	0f b7 44 48 04       	movzwl 0x4(%eax,%ecx,2),%eax
40f427:	89 45 f0             	mov    %eax,-0x10(%ebp)
40f42a:	66 85 c0             	test   %ax,%ax
40f42d:	74 1c                	je     0x40f44b
40f42f:	8b 7d f0             	mov    -0x10(%ebp),%edi
40f432:	8d 04 13             	lea    (%ebx,%edx,1),%eax
40f435:	03 c6                	add    %esi,%eax
40f437:	c7 05 14 a3 41 00 01 	movl   $0x1,0x41a314
40f43e:	00 00 00
40f441:	c1 e0 05             	shl    $0x5,%eax
40f444:	66 89 b8 40 57 41 00 	mov    %di,0x415740(%eax)
40f44b:	8b 45 f8             	mov    -0x8(%ebp),%eax
40f44e:	0f b7 84 48 04 02 00 	movzwl 0x204(%eax,%ecx,2),%eax
40f455:	00
40f456:	8b c8                	mov    %eax,%ecx
40f458:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40f45b:	8d 0c 33             	lea    (%ebx,%esi,1),%ecx
40f45e:	03 ca                	add    %edx,%ecx
40f460:	c1 e1 05             	shl    $0x5,%ecx
40f463:	66 85 c0             	test   %ax,%ax
40f466:	74 05                	je     0x40f46d
40f468:	0f b7 c0             	movzwl %ax,%eax
40f46b:	eb 05                	jmp    0x40f472
40f46d:	b8 00 30 00 00       	mov    $0x3000,%eax
40f472:	8b 7d f8             	mov    -0x8(%ebp),%edi
40f475:	66 89 81 42 57 41 00 	mov    %ax,0x415742(%ecx)
40f47c:	8b 45 ec             	mov    -0x14(%ebp),%eax
40f47f:	0f b7 84 47 04 04 00 	movzwl 0x404(%edi,%eax,2),%eax
40f486:	00
40f487:	66 85 c0             	test   %ax,%ax
40f48a:	75 05                	jne    0x40f491
40f48c:	b8 00 30 00 00       	mov    $0x3000,%eax
40f491:	66 89 81 44 57 41 00 	mov    %ax,0x415744(%ecx)
40f498:	8b 45 fc             	mov    -0x4(%ebp),%eax
40f49b:	46                   	inc    %esi
40f49c:	83 c0 04             	add    $0x4,%eax
40f49f:	89 45 fc             	mov    %eax,-0x4(%ebp)
40f4a2:	83 fe 10             	cmp    $0x10,%esi
40f4a5:	0f 8c 52 ff ff ff    	jl     0x40f3fd
40f4ab:	8b 7d f4             	mov    -0xc(%ebp),%edi
40f4ae:	83 c2 10             	add    $0x10,%edx
40f4b1:	83 c7 40             	add    $0x40,%edi
40f4b4:	89 7d f4             	mov    %edi,-0xc(%ebp)
40f4b7:	81 ff 00 40 40 00    	cmp    $0x404000,%edi
40f4bd:	0f 8c 33 ff ff ff    	jl     0x40f3f6
40f4c3:	5f                   	pop    %edi
40f4c4:	5e                   	pop    %esi
40f4c5:	5b                   	pop    %ebx
40f4c6:	c9                   	leave
40f4c7:	c3                   	ret
40f4c8:	8b ff                	mov    %edi,%edi
40f4ca:	55                   	push   %ebp
40f4cb:	8b ec                	mov    %esp,%ebp
40f4cd:	83 ec 30             	sub    $0x30,%esp
40f4d0:	a1 18 51 41 00       	mov    0x415118,%eax
40f4d5:	33 c5                	xor    %ebp,%eax
40f4d7:	89 45 fc             	mov    %eax,-0x4(%ebp)
40f4da:	53                   	push   %ebx
40f4db:	56                   	push   %esi
40f4dc:	57                   	push   %edi
40f4dd:	8b f1                	mov    %ecx,%esi
40f4df:	33 ff                	xor    %edi,%edi
40f4e1:	33 c9                	xor    %ecx,%ecx
40f4e3:	89 75 d0             	mov    %esi,-0x30(%ebp)
40f4e6:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
40f4e9:	33 db                	xor    %ebx,%ebx
40f4eb:	89 5d d8             	mov    %ebx,-0x28(%ebp)
40f4ee:	83 ff 50             	cmp    $0x50,%edi
40f4f1:	0f 8d c2 00 00 00    	jge    0x40f5b9
40f4f7:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
40f4fa:	8b 04 85 c0 3e 40 00 	mov    0x403ec0(,%eax,4),%eax
40f501:	83 f8 08             	cmp    $0x8,%eax
40f504:	0f 84 af 00 00 00    	je     0x40f5b9
40f50a:	83 f8 06             	cmp    $0x6,%eax
40f50d:	0f 8d 99 00 00 00    	jge    0x40f5ac
40f513:	8b 0c be             	mov    (%esi,%edi,4),%ecx
40f516:	e8 66 f5 ff ff       	call   0x40ea81
40f51b:	85 c0                	test   %eax,%eax
40f51d:	75 13                	jne    0x40f532
40f51f:	66 39 45 08          	cmp    %ax,0x8(%ebp)
40f523:	0f 94 c0             	sete   %al
40f526:	50                   	push   %eax
40f527:	ff 34 be             	push   (%esi,%edi,4)
40f52a:	ff 15 dc b1 41 00    	call   *0x41b1dc
40f530:	eb 76                	jmp    0x40f5a8
40f532:	33 db                	xor    %ebx,%ebx
40f534:	66 39 5d 08          	cmp    %bx,0x8(%ebp)
40f538:	74 60                	je     0x40f59a
40f53a:	8b 0c be             	mov    (%esi,%edi,4),%ecx
40f53d:	8d 55 dc             	lea    -0x24(%ebp),%edx
40f540:	e8 9a f4 ff ff       	call   0x40e9df
40f545:	33 f6                	xor    %esi,%esi
40f547:	b8 00 30 00 00       	mov    $0x3000,%eax
40f54c:	66 39 44 75 dc       	cmp    %ax,-0x24(%ebp,%esi,2)
40f551:	74 06                	je     0x40f559
40f553:	46                   	inc    %esi
40f554:	83 fe 03             	cmp    $0x3,%esi
40f557:	7c ee                	jl     0x40f547
40f559:	85 f6                	test   %esi,%esi
40f55b:	75 05                	jne    0x40f562
40f55d:	33 db                	xor    %ebx,%ebx
40f55f:	43                   	inc    %ebx
40f560:	eb 32                	jmp    0x40f594
40f562:	83 fe 03             	cmp    $0x3,%esi
40f565:	74 2d                	je     0x40f594
40f567:	8b 55 dc             	mov    -0x24(%ebp),%edx
40f56a:	8b 4d 08             	mov    0x8(%ebp),%ecx
40f56d:	e8 5f 92 ff ff       	call   0x4087d1
40f572:	33 db                	xor    %ebx,%ebx
40f574:	85 c0                	test   %eax,%eax
40f576:	0f 94 c3             	sete   %bl
40f579:	85 c0                	test   %eax,%eax
40f57b:	75 17                	jne    0x40f594
40f57d:	83 fe 02             	cmp    $0x2,%esi
40f580:	75 12                	jne    0x40f594
40f582:	8b 55 de             	mov    -0x22(%ebp),%edx
40f585:	8b 4d 08             	mov    0x8(%ebp),%ecx
40f588:	e8 44 92 ff ff       	call   0x4087d1
40f58d:	8b d8                	mov    %eax,%ebx
40f58f:	f7 db                	neg    %ebx
40f591:	1b db                	sbb    %ebx,%ebx
40f593:	43                   	inc    %ebx
40f594:	8b 75 d0             	mov    -0x30(%ebp),%esi
40f597:	53                   	push   %ebx
40f598:	eb 02                	jmp    0x40f59c
40f59a:	6a 01                	push   $0x1
40f59c:	ff 34 be             	push   (%esi,%edi,4)
40f59f:	ff 15 dc b1 41 00    	call   *0x41b1dc
40f5a5:	8b 5d d8             	mov    -0x28(%ebp),%ebx
40f5a8:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
40f5ab:	47                   	inc    %edi
40f5ac:	43                   	inc    %ebx
40f5ad:	89 5d d8             	mov    %ebx,-0x28(%ebp)
40f5b0:	83 fb 10             	cmp    $0x10,%ebx
40f5b3:	0f 8c 35 ff ff ff    	jl     0x40f4ee
40f5b9:	83 c1 10             	add    $0x10,%ecx
40f5bc:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
40f5bf:	83 f9 50             	cmp    $0x50,%ecx
40f5c2:	0f 8c 21 ff ff ff    	jl     0x40f4e9
40f5c8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f5cb:	5f                   	pop    %edi
40f5cc:	5e                   	pop    %esi
40f5cd:	33 cd                	xor    %ebp,%ecx
40f5cf:	5b                   	pop    %ebx
40f5d0:	e8 0b 43 00 00       	call   0x4138e0
40f5d5:	c9                   	leave
40f5d6:	c2 04 00             	ret    $0x4
40f5d9:	8b ff                	mov    %edi,%edi
40f5db:	55                   	push   %ebp
40f5dc:	8b ec                	mov    %esp,%ebp
40f5de:	83 ec 30             	sub    $0x30,%esp