41e20d:	50                   	push   %eax
41e20e:	e8 85 81 fe ff       	call   0x406398
41e213:	8b 45 ec             	mov    -0x14(%ebp),%eax
41e216:	50                   	push   %eax
41e217:	e8 5c 80 fe ff       	call   0x406278
41e21c:	33 c0                	xor    %eax,%eax
41e21e:	5a                   	pop    %edx
41e21f:	59                   	pop    %ecx
41e220:	59                   	pop    %ecx
41e221:	64 89 10             	mov    %edx,%fs:(%eax)
41e224:	68 4f e2 41 00       	push   $0x41e24f
41e229:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
41e22d:	74 0f                	je     0x41e23e
41e22f:	6a 00                	push   $0x0
41e231:	8b 45 dc             	mov    -0x24(%ebp),%eax
41e234:	50                   	push   %eax
41e235:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e238:	50                   	push   %eax
41e239:	e8 62 81 fe ff       	call   0x4063a0
41e23e:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e241:	50                   	push   %eax
41e242:	e8 21 80 fe ff       	call   0x406268
41e247:	c3                   	ret
41e248:	e9 73 57 fe ff       	jmp    0x4039c0
41e24d:	eb da                	jmp    0x41e229
41e24f:	8a 45 f7             	mov    -0x9(%ebp),%al
41e252:	5f                   	pop    %edi
41e253:	5e                   	pop    %esi
41e254:	5b                   	pop    %ebx
41e255:	8b e5                	mov    %ebp,%esp
41e257:	5d                   	pop    %ebp
41e258:	c2 28 00             	ret    $0x28
41e25b:	90                   	nop
41e25c:	53                   	push   %ebx
41e25d:	56                   	push   %esi
41e25e:	57                   	push   %edi
41e25f:	8b f0                	mov    %eax,%esi
41e261:	8b fe                	mov    %esi,%edi
41e263:	ba ff 00 00 00       	mov    $0xff,%edx
41e268:	8d 04 97             	lea    (%edi,%edx,4),%eax
41e26b:	8d 0c 52             	lea    (%edx,%edx,2),%ecx
41e26e:	8d 0c 0e             	lea    (%esi,%ecx,1),%ecx
41e271:	8a 59 02             	mov    0x2(%ecx),%bl
41e274:	88 58 02             	mov    %bl,0x2(%eax)
41e277:	8a 59 01             	mov    0x1(%ecx),%bl
41e27a:	88 58 01             	mov    %bl,0x1(%eax)
41e27d:	8a 09                	mov    (%ecx),%cl
41e27f:	88 08                	mov    %cl,(%eax)
41e281:	c6 40 03 00          	movb   $0x0,0x3(%eax)
41e285:	4a                   	dec    %edx
41e286:	85 d2                	test   %edx,%edx
41e288:	75 de                	jne    0x41e268
41e28a:	c6 47 03 00          	movb   $0x0,0x3(%edi)
41e28e:	5f                   	pop    %edi
41e28f:	5e                   	pop    %esi
41e290:	5b                   	pop    %ebx
41e291:	c3                   	ret
41e292:	8b c0                	mov    %eax,%eax
41e294:	53                   	push   %ebx
41e295:	56                   	push   %esi
41e296:	57                   	push   %edi
41e297:	83 c4 f8             	add    $0xfffffff8,%esp
41e29a:	89 14 24             	mov    %edx,(%esp)
41e29d:	8b f0                	mov    %eax,%esi
41e29f:	89 74 24 04          	mov    %esi,0x4(%esp)
41e2a3:	8b 3c 24             	mov    (%esp),%edi
41e2a6:	8b 3f                	mov    (%edi),%edi
41e2a8:	4f                   	dec    %edi
41e2a9:	85 ff                	test   %edi,%edi
41e2ab:	7e 26                	jle    0x41e2d3
41e2ad:	b9 01 00 00 00       	mov    $0x1,%ecx
41e2b2:	8b 44 24 04          	mov    0x4(%esp),%eax
41e2b6:	8d 04 88             	lea    (%eax,%ecx,4),%eax
41e2b9:	8d 14 49             	lea    (%ecx,%ecx,2),%edx
41e2bc:	8d 14 16             	lea    (%esi,%edx,1),%edx
41e2bf:	8a 58 02             	mov    0x2(%eax),%bl
41e2c2:	88 5a 02             	mov    %bl,0x2(%edx)
41e2c5:	8a 58 01             	mov    0x1(%eax),%bl
41e2c8:	88 5a 01             	mov    %bl,0x1(%edx)
41e2cb:	8a 00                	mov    (%eax),%al
41e2cd:	88 02                	mov    %al,(%edx)
41e2cf:	41                   	inc    %ecx
41e2d0:	4f                   	dec    %edi
41e2d1:	75 df                	jne    0x41e2b2
41e2d3:	8b 04 24             	mov    (%esp),%eax
41e2d6:	81 38 00 01 00 00    	cmpl   $0x100,(%eax)
41e2dc:	7d 28                	jge    0x41e306
41e2de:	8b 04 24             	mov    (%esp),%eax
41e2e1:	ba 00 01 00 00       	mov    $0x100,%edx
41e2e6:	2b 10                	sub    (%eax),%edx
41e2e8:	8d 14 52             	lea    (%edx,%edx,2),%edx
41e2eb:	8b 04 24             	mov    (%esp),%eax
41e2ee:	8b 00                	mov    (%eax),%eax
41e2f0:	8d 04 40             	lea    (%eax,%eax,2),%eax
41e2f3:	8d 04 06             	lea    (%esi,%eax,1),%eax
41e2f6:	33 c9                	xor    %ecx,%ecx
41e2f8:	e8 8b 49 fe ff       	call   0x402c88
41e2fd:	8b 04 24             	mov    (%esp),%eax
41e300:	c7 00 00 01 00 00    	movl   $0x100,(%eax)
41e306:	59                   	pop    %ecx
41e307:	5a                   	pop    %edx
41e308:	5f                   	pop    %edi
41e309:	5e                   	pop    %esi
41e30a:	5b                   	pop    %ebx
41e30b:	c3                   	ret
41e30c:	55                   	push   %ebp
41e30d:	8b ec                	mov    %esp,%ebp
41e30f:	83 c4 d4             	add    $0xffffffd4,%esp
41e312:	89 55 f8             	mov    %edx,-0x8(%ebp)
41e315:	89 45 fc             	mov    %eax,-0x4(%ebp)
41e318:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41e31b:	50                   	push   %eax
41e31c:	e8 9f 7d fe ff       	call   0x4060c0
41e321:	8b 55 fc             	mov    -0x4(%ebp),%edx
41e324:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41e327:	49                   	dec    %ecx
41e328:	78 33                	js     0x41e35d
41e32a:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41e32d:	66 83 78 20 03       	cmpw   $0x3,0x20(%eax)
41e332:	74 10                	je     0x41e344
41e334:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
41e337:	0f c8                	bswap  %eax
41e339:	c1 e8 08             	shr    $0x8,%eax
41e33c:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
41e33f:	49                   	dec    %ecx
41e340:	79 f2                	jns    0x41e334
41e342:	eb 19                	jmp    0x41e35d
41e344:	53                   	push   %ebx
41e345:	31 db                	xor    %ebx,%ebx
41e347:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
41e34a:	88 c7                	mov    %al,%bh
41e34c:	88 e3                	mov    %ah,%bl
41e34e:	c1 e8 10             	shr    $0x10,%eax
41e351:	c1 e3 08             	shl    $0x8,%ebx
41e354:	88 c3                	mov    %al,%bl
41e356:	89 1c 8a             	mov    %ebx,(%edx,%ecx,4)
41e359:	49                   	dec    %ecx
41e35a:	79 e9                	jns    0x41e345
41e35c:	5b                   	pop    %ebx
41e35d:	8b e5                	mov    %ebp,%esp
41e35f:	5d                   	pop    %ebp
41e360:	c3                   	ret
41e361:	8d 40 00             	lea    0x0(%eax),%eax
41e364:	55                   	push   %ebp
41e365:	8b ec                	mov    %esp,%ebp
41e367:	81 c4 f8 fb ff ff    	add    $0xfffffbf8,%esp
41e36d:	53                   	push   %ebx
41e36e:	66 c7 85 f8 fb ff ff 	movw   $0x300,-0x408(%ebp)
41e375:	00 03
41e377:	66 c7 85 fa fb ff ff 	movw   $0x10,-0x406(%ebp)
41e37e:	10 00
41e380:	8d 95 fc fb ff ff    	lea    -0x404(%ebp),%edx
41e386:	b9 40 00 00 00       	mov    $0x40,%ecx
41e38b:	e8 28 45 fe ff       	call   0x4028b8
41e390:	6a 00                	push   $0x0
41e392:	e8 11 82 fe ff       	call   0x4065a8
41e397:	89 45 fc             	mov    %eax,-0x4(%ebp)
41e39a:	33 c0                	xor    %eax,%eax
41e39c:	55                   	push   %ebp
41e39d:	68 61 e4 41 00       	push   $0x41e461
41e3a2:	64 ff 30             	push   %fs:(%eax)
41e3a5:	64 89 20             	mov    %esp,%fs:(%eax)
41e3a8:	6a 68                	push   $0x68
41e3aa:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e3ad:	50                   	push   %eax
41e3ae:	e8 0d 7f fe ff       	call   0x4062c0
41e3b3:	8b d8                	mov    %eax,%ebx
41e3b5:	83 fb 10             	cmp    $0x10,%ebx
41e3b8:	0f 8c 8a 00 00 00    	jl     0x41e448
41e3be:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
41e3c4:	50                   	push   %eax
41e3c5:	6a 08                	push   $0x8
41e3c7:	6a 00                	push   $0x0
41e3c9:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e3cc:	50                   	push   %eax
41e3cd:	e8 2e 7f fe ff       	call   0x406300
41e3d2:	81 bd 18 fc ff ff c0 	cmpl   $0xc0c0c0,-0x3e8(%ebp)
41e3d9:	c0 c0 00
41e3dc:	75 4c                	jne    0x41e42a
41e3de:	8d 85 18 fc ff ff    	lea    -0x3e8(%ebp),%eax
41e3e4:	50                   	push   %eax
41e3e5:	6a 01                	push   $0x1
41e3e7:	8b c3                	mov    %ebx,%eax
41e3e9:	83 e8 08             	sub    $0x8,%eax
41e3ec:	50                   	push   %eax
41e3ed:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e3f0:	50                   	push   %eax
41e3f1:	e8 0a 7f fe ff       	call   0x406300
41e3f6:	0f b7 85 fa fb ff ff 	movzwl -0x406(%ebp),%eax
41e3fd:	8d 84 85 e0 fb ff ff 	lea    -0x420(%ebp,%eax,4),%eax
41e404:	50                   	push   %eax
41e405:	6a 07                	push   $0x7
41e407:	83 eb 07             	sub    $0x7,%ebx
41e40a:	53                   	push   %ebx
41e40b:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e40e:	50                   	push   %eax
41e40f:	e8 ec 7e fe ff       	call   0x406300
41e414:	8d 85 1c fc ff ff    	lea    -0x3e4(%ebp),%eax
41e41a:	50                   	push   %eax
41e41b:	6a 01                	push   $0x1
41e41d:	6a 07                	push   $0x7
41e41f:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e422:	50                   	push   %eax
41e423:	e8 d8 7e fe ff       	call   0x406300
41e428:	eb 1e                	jmp    0x41e448
41e42a:	0f b7 85 fa fb ff ff 	movzwl -0x406(%ebp),%eax
41e431:	8d 84 85 dc fb ff ff 	lea    -0x424(%ebp,%eax,4),%eax
41e438:	50                   	push   %eax
41e439:	6a 08                	push   $0x8
41e43b:	83 eb 08             	sub    $0x8,%ebx
41e43e:	53                   	push   %ebx
41e43f:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e442:	50                   	push   %eax
41e443:	e8 b8 7e fe ff       	call   0x406300
41e448:	33 c0                	xor    %eax,%eax
41e44a:	5a                   	pop    %edx
41e44b:	59                   	pop    %ecx
41e44c:	59                   	pop    %ecx
41e44d:	64 89 10             	mov    %edx,%fs:(%eax)
41e450:	68 68 e4 41 00       	push   $0x41e468
41e455:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e458:	50                   	push   %eax
41e459:	6a 00                	push   $0x0
41e45b:	e8 88 83 fe ff       	call   0x4067e8
41e460:	c3                   	ret
41e461:	e9 5a 55 fe ff       	jmp    0x4039c0
41e466:	eb ed                	jmp    0x41e455
41e468:	8d 85 f8 fb ff ff    	lea    -0x408(%ebp),%eax
41e46e:	50                   	push   %eax
41e46f:	e8 dc 7d fe ff       	call   0x406250
41e474:	5b                   	pop    %ebx
41e475:	8b e5                	mov    %ebp,%esp
41e477:	5d                   	pop    %ebp
41e478:	c3                   	ret
41e479:	8d 40 00             	lea    0x0(%eax),%eax
41e47c:	55                   	push   %ebp
41e47d:	8b ec                	mov    %esp,%ebp
41e47f:	83 c4 f8             	add    $0xfffffff8,%esp
41e482:	53                   	push   %ebx
41e483:	8b d8                	mov    %eax,%ebx
41e485:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
41e489:	83 3d 8c 98 46 00 00 	cmpl   $0x0,0x46988c
41e490:	74 77                	je     0x41e509
41e492:	6a 00                	push   $0x0
41e494:	e8 0f 81 fe ff       	call   0x4065a8
41e499:	89 45 f8             	mov    %eax,-0x8(%ebp)
41e49c:	33 d2                	xor    %edx,%edx
41e49e:	55                   	push   %ebp
41e49f:	68 02 e5 41 00       	push   $0x41e502
41e4a4:	64 ff 32             	push   %fs:(%edx)
41e4a7:	64 89 22             	mov    %esp,%fs:(%edx)
41e4aa:	6a 68                	push   $0x68
41e4ac:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e4af:	50                   	push   %eax
41e4b0:	e8 0b 7e fe ff       	call   0x4062c0
41e4b5:	83 f8 10             	cmp    $0x10,%eax
41e4b8:	7c 2f                	jl     0x41e4e9
41e4ba:	8d 43 04             	lea    0x4(%ebx),%eax
41e4bd:	50                   	push   %eax
41e4be:	6a 08                	push   $0x8
41e4c0:	6a 00                	push   $0x0
41e4c2:	a1 8c 98 46 00       	mov    0x46988c,%eax
41e4c7:	50                   	push   %eax
41e4c8:	e8 1b 7e fe ff       	call   0x4062e8
41e4cd:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
41e4d1:	8d 44 83 e4          	lea    -0x1c(%ebx,%eax,4),%eax
41e4d5:	50                   	push   %eax
41e4d6:	6a 08                	push   $0x8
41e4d8:	6a 08                	push   $0x8
41e4da:	a1 8c 98 46 00       	mov    0x46988c,%eax
41e4df:	50                   	push   %eax
41e4e0:	e8 03 7e fe ff       	call   0x4062e8
41e4e5:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
41e4e9:	33 c0                	xor    %eax,%eax
41e4eb:	5a                   	pop    %edx
41e4ec:	59                   	pop    %ecx
41e4ed:	59                   	pop    %ecx
41e4ee:	64 89 10             	mov    %edx,%fs:(%eax)
41e4f1:	68 09 e5 41 00       	push   $0x41e509
41e4f6:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e4f9:	50                   	push   %eax
41e4fa:	6a 00                	push   $0x0
41e4fc:	e8 e7 82 fe ff       	call   0x4067e8
41e501:	c3                   	ret
41e502:	e9 b9 54 fe ff       	jmp    0x4039c0
41e507:	eb ed                	jmp    0x41e4f6
41e509:	8a 45 ff             	mov    -0x1(%ebp),%al
41e50c:	5b                   	pop    %ebx
41e50d:	59                   	pop    %ecx
41e50e:	59                   	pop    %ecx
41e50f:	5d                   	pop    %ebp
41e510:	c3                   	ret
41e511:	8d 40 00             	lea    0x0(%eax),%eax
41e514:	53                   	push   %ebx
41e515:	56                   	push   %esi
41e516:	57                   	push   %edi
41e517:	81 c4 fc fb ff ff    	add    $0xfffffbfc,%esp
41e51d:	8b f8                	mov    %eax,%edi
41e51f:	33 f6                	xor    %esi,%esi
41e521:	66 c7 04 24 00 03    	movw   $0x300,(%esp)
41e527:	85 ff                	test   %edi,%edi
41e529:	74 38                	je     0x41e563
41e52b:	6a 00                	push   $0x0
41e52d:	e8 f6 7c fe ff       	call   0x406228
41e532:	8b d8                	mov    %eax,%ebx
41e534:	57                   	push   %edi
41e535:	53                   	push   %ebx
41e536:	e8 5d 7e fe ff       	call   0x406398
41e53b:	8b f8                	mov    %eax,%edi
41e53d:	8d 44 24 04          	lea    0x4(%esp),%eax
41e541:	50                   	push   %eax
41e542:	68 00 01 00 00       	push   $0x100
41e547:	6a 00                	push   $0x0
41e549:	53                   	push   %ebx
41e54a:	e8 61 7d fe ff       	call   0x4062b0
41e54f:	66 89 44 24 02       	mov    %ax,0x2(%esp)
41e554:	57                   	push   %edi
41e555:	53                   	push   %ebx
41e556:	e8 3d 7e fe ff       	call   0x406398
41e55b:	53                   	push   %ebx
41e55c:	e8 07 7d fe ff       	call   0x406268
41e561:	eb 13                	jmp    0x41e576
41e563:	66 89 4c 24 02       	mov    %cx,0x2(%esp)
41e568:	8b c2                	mov    %edx,%eax
41e56a:	8d 54 24 04          	lea    0x4(%esp),%edx
41e56e:	c1 e1 02             	shl    $0x2,%ecx
41e571:	e8 42 43 fe ff       	call   0x4028b8
41e576:	66 83 7c 24 02 00    	cmpw   $0x0,0x2(%esp)
41e57c:	74 2b                	je     0x41e5a9
41e57e:	66 83 7c 24 02 10    	cmpw   $0x10,0x2(%esp)
41e584:	75 0b                	jne    0x41e591
41e586:	8b c4                	mov    %esp,%eax
41e588:	e8 ef fe ff ff       	call   0x41e47c
41e58d:	84 c0                	test   %al,%al
41e58f:	75 0e                	jne    0x41e59f
41e591:	0f b7 54 24 02       	movzwl 0x2(%esp),%edx
41e596:	8d 44 24 04          	lea    0x4(%esp),%eax
41e59a:	e8 6d fd ff ff       	call   0x41e30c
41e59f:	8b c4                	mov    %esp,%eax
41e5a1:	50                   	push   %eax
41e5a2:	e8 a9 7c fe ff       	call   0x406250
41e5a7:	8b f0                	mov    %eax,%esi
41e5a9:	8b c6                	mov    %esi,%eax
41e5ab:	81 c4 04 04 00 00    	add    $0x404,%esp
41e5b1:	5f                   	pop    %edi
41e5b2:	5e                   	pop    %esi
41e5b3:	5b                   	pop    %ebx
41e5b4:	c3                   	ret
41e5b5:	8d 40 00             	lea    0x0(%eax),%eax
41e5b8:	53                   	push   %ebx