41e381:	8b ec                	mov    %esp,%ebp
41e383:	51                   	push   %ecx
41e384:	53                   	push   %ebx
41e385:	56                   	push   %esi
41e386:	8d 72 30             	lea    0x30(%edx),%esi
41e389:	33 db                	xor    %ebx,%ebx
41e38b:	57                   	push   %edi
41e38c:	8b f9                	mov    %ecx,%edi
41e38e:	8b ce                	mov    %esi,%ecx
41e390:	8d 51 02             	lea    0x2(%ecx),%edx
41e393:	66 8b 01             	mov    (%ecx),%ax
41e396:	83 c1 02             	add    $0x2,%ecx
41e399:	66 3b c3             	cmp    %bx,%ax
41e39c:	75 f5                	jne    0x41e393
41e39e:	2b ca                	sub    %edx,%ecx
41e3a0:	d1 f9                	sar    $1,%ecx
41e3a2:	83 f9 24             	cmp    $0x24,%ecx
41e3a5:	74 04                	je     0x41e3ab
41e3a7:	89 1f                	mov    %ebx,(%edi)
41e3a9:	eb 2f                	jmp    0x41e3da
41e3ab:	6a 25                	push   $0x25
41e3ad:	33 d2                	xor    %edx,%edx
41e3af:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41e3b2:	e8 2c 17 ff ff       	call   0x40fae3
41e3b7:	56                   	push   %esi
41e3b8:	8b 75 fc             	mov    -0x4(%ebp),%esi
41e3bb:	8b ce                	mov    %esi,%ecx
41e3bd:	6a 25                	push   $0x25
41e3bf:	5a                   	pop    %edx
41e3c0:	e8 8f 80 fe ff       	call   0x406454
41e3c5:	85 c0                	test   %eax,%eax
41e3c7:	79 0f                	jns    0x41e3d8
41e3c9:	89 1f                	mov    %ebx,(%edi)
41e3cb:	85 f6                	test   %esi,%esi
41e3cd:	74 0b                	je     0x41e3da
41e3cf:	56                   	push   %esi
41e3d0:	ff 15 dc 62 42 00    	call   *0x4262dc
41e3d6:	eb 02                	jmp    0x41e3da
41e3d8:	89 37                	mov    %esi,(%edi)
41e3da:	8b c7                	mov    %edi,%eax
41e3dc:	5f                   	pop    %edi
41e3dd:	5e                   	pop    %esi
41e3de:	5b                   	pop    %ebx
41e3df:	c9                   	leave
41e3e0:	c3                   	ret
41e3e1:	8b ff                	mov    %edi,%edi
41e3e3:	55                   	push   %ebp
41e3e4:	8b ec                	mov    %esp,%ebp
41e3e6:	51                   	push   %ecx
41e3e7:	51                   	push   %ecx
41e3e8:	56                   	push   %esi
41e3e9:	57                   	push   %edi
41e3ea:	8b f1                	mov    %ecx,%esi
41e3ec:	ba 10 25 40 00       	mov    $0x402510,%edx
41e3f1:	6a 3d                	push   $0x3d
41e3f3:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41e3f6:	e8 e8 16 ff ff       	call   0x40fae3
41e3fb:	56                   	push   %esi
41e3fc:	8b 75 fc             	mov    -0x4(%ebp),%esi
41e3ff:	6a 25                	push   $0x25
41e401:	5a                   	pop    %edx
41e402:	8d 4e 30             	lea    0x30(%esi),%ecx
41e405:	e8 4a 80 fe ff       	call   0x406454
41e40a:	8b f8                	mov    %eax,%edi
41e40c:	85 ff                	test   %edi,%edi
41e40e:	79 07                	jns    0x41e417
41e410:	ba 43 01 00 00       	mov    $0x143,%edx
41e415:	eb 14                	jmp    0x41e42b
41e417:	6a 00                	push   $0x0
41e419:	56                   	push   %esi
41e41a:	ff 15 40 61 42 00    	call   *0x426140
41e420:	8b f8                	mov    %eax,%edi
41e422:	85 ff                	test   %edi,%edi
41e424:	79 18                	jns    0x41e43e
41e426:	ba 44 01 00 00       	mov    $0x144,%edx
41e42b:	8b 4d 04             	mov    0x4(%ebp),%ecx
41e42e:	57                   	push   %edi
41e42f:	68 64 27 40 00       	push   $0x402764
41e434:	e8 57 8b fe ff       	call   0x406f90
41e439:	8b 75 fc             	mov    -0x4(%ebp),%esi
41e43c:	eb 02                	jmp    0x41e440
41e43e:	33 ff                	xor    %edi,%edi
41e440:	85 f6                	test   %esi,%esi
41e442:	74 07                	je     0x41e44b
41e444:	56                   	push   %esi
41e445:	ff 15 dc 62 42 00    	call   *0x4262dc
41e44b:	8b c7                	mov    %edi,%eax
41e44d:	5f                   	pop    %edi
41e44e:	5e                   	pop    %esi
41e44f:	c9                   	leave
41e450:	c3                   	ret
41e451:	8b ff                	mov    %edi,%edi
41e453:	53                   	push   %ebx
41e454:	57                   	push   %edi
41e455:	8b f9                	mov    %ecx,%edi
41e457:	8b 1f                	mov    (%edi),%ebx
41e459:	85 db                	test   %ebx,%ebx
41e45b:	74 18                	je     0x41e475
41e45d:	56                   	push   %esi
41e45e:	ff 15 70 61 42 00    	call   *0x426170
41e464:	53                   	push   %ebx
41e465:	8b f0                	mov    %eax,%esi
41e467:	ff 15 1c 90 42 00    	call   *0x42901c
41e46d:	56                   	push   %esi
41e46e:	ff 15 9c 61 42 00    	call   *0x42619c
41e474:	5e                   	pop    %esi
41e475:	83 27 00             	andl   $0x0,(%edi)
41e478:	8b c7                	mov    %edi,%eax
41e47a:	5f                   	pop    %edi
41e47b:	5b                   	pop    %ebx
41e47c:	c3                   	ret
41e47d:	8b ff                	mov    %edi,%edi
41e47f:	55                   	push   %ebp
41e480:	8b ec                	mov    %esp,%ebp
41e482:	51                   	push   %ecx
41e483:	51                   	push   %ecx
41e484:	8b 55 0c             	mov    0xc(%ebp),%edx
41e487:	8d 45 10             	lea    0x10(%ebp),%eax
41e48a:	8b 4d 08             	mov    0x8(%ebp),%ecx
41e48d:	89 45 fc             	mov    %eax,-0x4(%ebp)
41e490:	8d 45 fc             	lea    -0x4(%ebp),%eax
41e493:	50                   	push   %eax
41e494:	e8 02 00 00 00       	call   0x41e49b
41e499:	c9                   	leave
41e49a:	c3                   	ret
41e49b:	8b ff                	mov    %edi,%edi
41e49d:	55                   	push   %ebp
41e49e:	8b ec                	mov    %esp,%ebp
41e4a0:	83 ec 10             	sub    $0x10,%esp
41e4a3:	53                   	push   %ebx
41e4a4:	56                   	push   %esi
41e4a5:	57                   	push   %edi
41e4a6:	8b f9                	mov    %ecx,%edi
41e4a8:	8b c2                	mov    %edx,%eax
41e4aa:	8b 4d 08             	mov    0x8(%ebp),%ecx
41e4ad:	89 45 f8             	mov    %eax,-0x8(%ebp)
41e4b0:	ff 31                	push   (%ecx)
41e4b2:	50                   	push   %eax
41e4b3:	e8 1d 44 00 00       	call   0x4228d5
41e4b8:	59                   	pop    %ecx
41e4b9:	59                   	pop    %ecx
41e4ba:	33 f6                	xor    %esi,%esi
41e4bc:	89 45 f4             	mov    %eax,-0xc(%ebp)
41e4bf:	50                   	push   %eax
41e4c0:	56                   	push   %esi
41e4c1:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41e4c4:	89 75 fc             	mov    %esi,-0x4(%ebp)
41e4c7:	e8 86 0f ff ff       	call   0x40f452
41e4cc:	8b d8                	mov    %eax,%ebx
41e4ce:	85 db                	test   %ebx,%ebx
41e4d0:	79 07                	jns    0x41e4d9
41e4d2:	ba ec 06 00 00       	mov    $0x6ec,%edx
41e4d7:	eb 22                	jmp    0x41e4fb
41e4d9:	8b 45 08             	mov    0x8(%ebp),%eax
41e4dc:	8b 55 f4             	mov    -0xc(%ebp),%edx
41e4df:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41e4e2:	ff 30                	push   (%eax)
41e4e4:	ff 75 f8             	push   -0x8(%ebp)
41e4e7:	83 ec 0c             	sub    $0xc,%esp
41e4ea:	42                   	inc    %edx
41e4eb:	e8 5c 00 00 00       	call   0x41e54c
41e4f0:	8b d8                	mov    %eax,%ebx
41e4f2:	85 db                	test   %ebx,%ebx
41e4f4:	79 18                	jns    0x41e50e
41e4f6:	ba ef 06 00 00       	mov    $0x6ef,%edx
41e4fb:	8b 4d 04             	mov    0x4(%ebp),%ecx
41e4fe:	53                   	push   %ebx
41e4ff:	68 a4 1a 40 00       	push   $0x401aa4
41e504:	e8 87 8a fe ff       	call   0x406f90
41e509:	8b 75 fc             	mov    -0x4(%ebp),%esi
41e50c:	eb 2a                	jmp    0x41e538
41e50e:	8d 45 f0             	lea    -0x10(%ebp),%eax
41e511:	3b f8                	cmp    %eax,%edi
41e513:	74 0a                	je     0x41e51f
41e515:	ff 75 fc             	push   -0x4(%ebp)
41e518:	8b cf                	mov    %edi,%ecx
41e51a:	e8 13 fd fe ff       	call   0x40e232
41e51f:	8d 45 f0             	lea    -0x10(%ebp),%eax
41e522:	2b f8                	sub    %eax,%edi
41e524:	f7 df                	neg    %edi
41e526:	1b ff                	sbb    %edi,%edi
41e528:	f7 d7                	not    %edi
41e52a:	23 7d fc             	and    -0x4(%ebp),%edi
41e52d:	74 07                	je     0x41e536
41e52f:	57                   	push   %edi
41e530:	ff 15 dc 62 42 00    	call   *0x4262dc
41e536:	8b de                	mov    %esi,%ebx
41e538:	85 f6                	test   %esi,%esi
41e53a:	74 07                	je     0x41e543
41e53c:	56                   	push   %esi
41e53d:	ff 15 dc 62 42 00    	call   *0x4262dc
41e543:	5f                   	pop    %edi
41e544:	5e                   	pop    %esi
41e545:	8b c3                	mov    %ebx,%eax
41e547:	5b                   	pop    %ebx
41e548:	c9                   	leave
41e549:	c2 04 00             	ret    $0x4
41e54c:	8b ff                	mov    %edi,%edi
41e54e:	55                   	push   %ebp
41e54f:	8b ec                	mov    %esp,%ebp
41e551:	51                   	push   %ecx
41e552:	53                   	push   %ebx
41e553:	56                   	push   %esi
41e554:	57                   	push   %edi
41e555:	8b fa                	mov    %edx,%edi
41e557:	8b d9                	mov    %ecx,%ebx
41e559:	33 c9                	xor    %ecx,%ecx
41e55b:	ba 57 00 07 80       	mov    $0x80070057,%edx
41e560:	8b f1                	mov    %ecx,%esi
41e562:	85 ff                	test   %edi,%edi
41e564:	74 08                	je     0x41e56e
41e566:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
41e56c:	76 02                	jbe    0x41e570
41e56e:	8b f2                	mov    %edx,%esi
41e570:	85 f6                	test   %esi,%esi
41e572:	78 60                	js     0x41e5d4
41e574:	8b f1                	mov    %ecx,%esi
41e576:	85 ff                	test   %edi,%edi
41e578:	75 15                	jne    0x41e58f
41e57a:	8b 45 14             	mov    0x14(%ebp),%eax
41e57d:	66 39 08             	cmp    %cx,(%eax)
41e580:	74 5b                	je     0x41e5dd
41e582:	8b f3                	mov    %ebx,%esi
41e584:	f7 de                	neg    %esi
41e586:	1b f6                	sbb    %esi,%esi
41e588:	83 e6 23             	and    $0x23,%esi
41e58b:	03 f2                	add    %edx,%esi
41e58d:	eb 4e                	jmp    0x41e5dd
41e58f:	ff 75 18             	push   0x18(%ebp)
41e592:	8d 47 ff             	lea    -0x1(%edi),%eax
41e595:	ff 75 14             	push   0x14(%ebp)
41e598:	50                   	push   %eax
41e599:	53                   	push   %ebx
41e59a:	e8 e8 42 00 00       	call   0x422887
41e59f:	8b c8                	mov    %eax,%ecx
41e5a1:	83 c4 10             	add    $0x10,%esp
41e5a4:	8d 47 ff             	lea    -0x1(%edi),%eax
41e5a7:	85 c9                	test   %ecx,%ecx
41e5a9:	78 10                	js     0x41e5bb
41e5ab:	3b c8                	cmp    %eax,%ecx
41e5ad:	77 0c                	ja     0x41e5bb
41e5af:	75 15                	jne    0x41e5c6
41e5b1:	33 c9                	xor    %ecx,%ecx
41e5b3:	33 f6                	xor    %esi,%esi
41e5b5:	66 89 0c 43          	mov    %cx,(%ebx,%eax,2)
41e5b9:	eb 22                	jmp    0x41e5dd
41e5bb:	33 c9                	xor    %ecx,%ecx
41e5bd:	be 7a 00 07 80       	mov    $0x8007007a,%esi
41e5c2:	66 89 0c 43          	mov    %cx,(%ebx,%eax,2)
41e5c6:	85 f6                	test   %esi,%esi
41e5c8:	79 13                	jns    0x41e5dd
41e5ca:	81 e7 ff ff ff 7f    	and    $0x7fffffff,%edi
41e5d0:	76 0b                	jbe    0x41e5dd
41e5d2:	eb 04                	jmp    0x41e5d8
41e5d4:	85 ff                	test   %edi,%edi
41e5d6:	74 05                	je     0x41e5dd
41e5d8:	33 c0                	xor    %eax,%eax
41e5da:	66 89 03             	mov    %ax,(%ebx)
41e5dd:	5f                   	pop    %edi
41e5de:	8b c6                	mov    %esi,%eax
41e5e0:	5e                   	pop    %esi
41e5e1:	5b                   	pop    %ebx
41e5e2:	c9                   	leave
41e5e3:	c2 14 00             	ret    $0x14
41e5e6:	8b ff                	mov    %edi,%edi
41e5e8:	c3                   	ret
41e5e9:	8b ff                	mov    %edi,%edi
41e5eb:	55                   	push   %ebp
41e5ec:	8b ec                	mov    %esp,%ebp
41e5ee:	51                   	push   %ecx
41e5ef:	51                   	push   %ecx
41e5f0:	83 3d 08 41 42 00 04 	cmpl   $0x4,0x424108
41e5f7:	76 45                	jbe    0x41e63e
41e5f9:	68 00 20 00 00       	push   $0x2000
41e5fe:	6a 00                	push   $0x0
41e600:	b9 08 41 42 00       	mov    $0x424108,%ecx
41e605:	e8 fa 79 fe ff       	call   0x406004
41e60a:	84 c0                	test   %al,%al
41e60c:	74 30                	je     0x41e63e
41e60e:	83 05 b0 59 42 00 01 	addl   $0x1,0x4259b0
41e615:	8d 45 fc             	lea    -0x4(%ebp),%eax
41e618:	50                   	push   %eax
41e619:	83 15 b4 59 42 00 00 	adcl   $0x0,0x4259b4
41e620:	8d 45 f8             	lea    -0x8(%ebp),%eax
41e623:	50                   	push   %eax
41e624:	51                   	push   %ecx
41e625:	51                   	push   %ecx
41e626:	ba 2b 55 40 00       	mov    $0x40552b,%edx
41e62b:	c7 45 fc b0 59 42 00 	movl   $0x4259b0,-0x4(%ebp)
41e632:	c7 45 f8 9c 59 42 00 	movl   $0x42599c,-0x8(%ebp)
41e639:	e8 22 75 fe ff       	call   0x405b60
41e63e:	c9                   	leave
41e63f:	c3                   	ret
41e640:	8b ff                	mov    %edi,%edi
41e642:	55                   	push   %ebp
41e643:	8b ec                	mov    %esp,%ebp
41e645:	83 ec 0c             	sub    $0xc,%esp
41e648:	83 3d 08 41 42 00 04 	cmpl   $0x4,0x424108
41e64f:	56                   	push   %esi
41e650:	8b f1                	mov    %ecx,%esi
41e652:	76 4c                	jbe    0x41e6a0
41e654:	68 00 20 00 00       	push   $0x2000
41e659:	6a 00                	push   $0x0
41e65b:	b9 08 41 42 00       	mov    $0x424108,%ecx
41e660:	e8 9f 79 fe ff       	call   0x406004
41e665:	84 c0                	test   %al,%al
41e667:	74 37                	je     0x41e6a0
41e669:	83 05 b0 59 42 00 01 	addl   $0x1,0x4259b0
41e670:	8d 45 fc             	lea    -0x4(%ebp),%eax
41e673:	50                   	push   %eax
41e674:	83 15 b4 59 42 00 00 	adcl   $0x0,0x4259b4
41e67b:	8d 45 f8             	lea    -0x8(%ebp),%eax
41e67e:	50                   	push   %eax
41e67f:	8d 45 f4             	lea    -0xc(%ebp),%eax
41e682:	89 75 fc             	mov    %esi,-0x4(%ebp)
41e685:	50                   	push   %eax
41e686:	51                   	push   %ecx
41e687:	51                   	push   %ecx
41e688:	ba de 54 40 00       	mov    $0x4054de,%edx
41e68d:	c7 45 f8 b0 59 42 00 	movl   $0x4259b0,-0x8(%ebp)
41e694:	c7 45 f4 9c 59 42 00 	movl   $0x42599c,-0xc(%ebp)
41e69b:	e8 1f 75 fe ff       	call   0x405bbf
41e6a0:	5e                   	pop    %esi
41e6a1:	c9                   	leave
41e6a2:	c3                   	ret
41e6a3:	8b ff                	mov    %edi,%edi
41e6a5:	55                   	push   %ebp
41e6a6:	8b ec                	mov    %esp,%ebp
41e6a8:	83 e4 f8             	and    $0xfffffff8,%esp
41e6ab:	51                   	push   %ecx
41e6ac:	51                   	push   %ecx
41e6ad:	83 3d 08 41 42 00 04 	cmpl   $0x4,0x424108
41e6b4:	76 48                	jbe    0x41e6fe
41e6b6:	68 00 40 00 00       	push   $0x4000
41e6bb:	6a 00                	push   $0x0
41e6bd:	b9 08 41 42 00       	mov    $0x424108,%ecx
41e6c2:	e8 3d 79 fe ff       	call   0x406004
41e6c7:	84 c0                	test   %al,%al
41e6c9:	74 33                	je     0x41e6fe
41e6cb:	83 05 b0 59 42 00 01 	addl   $0x1,0x4259b0
41e6d2:	8d 04 24             	lea    (%esp),%eax
41e6d5:	50                   	push   %eax
41e6d6:	83 15 b4 59 42 00 00 	adcl   $0x0,0x4259b4
41e6dd:	8d 44 24 08          	lea    0x8(%esp),%eax
41e6e1:	50                   	push   %eax
41e6e2:	51                   	push   %ecx
41e6e3:	51                   	push   %ecx
41e6e4:	ba a6 54 40 00       	mov    $0x4054a6,%edx
41e6e9:	c7 44 24 10 b0 59 42 	movl   $0x4259b0,0x10(%esp)
41e6f0:	00