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
41e6f1:	c7 44 24 14 9c 59 42 	movl   $0x42599c,0x14(%esp)
41e6f8:	00
41e6f9:	e8 62 74 fe ff       	call   0x405b60
41e6fe:	8b e5                	mov    %ebp,%esp
41e700:	5d                   	pop    %ebp
41e701:	c3                   	ret
41e702:	8b ff                	mov    %edi,%edi
41e704:	55                   	push   %ebp
41e705:	8b ec                	mov    %esp,%ebp
41e707:	83 e4 f8             	and    $0xfffffff8,%esp
41e70a:	83 ec 24             	sub    $0x24,%esp
41e70d:	83 3d 08 41 42 00 04 	cmpl   $0x4,0x424108
41e714:	56                   	push   %esi
41e715:	8b f1                	mov    %ecx,%esi
41e717:	0f 86 94 00 00 00    	jbe    0x41e7b1
41e71d:	68 00 40 00 00       	push   $0x4000
41e722:	6a 00                	push   $0x0
41e724:	b9 08 41 42 00       	mov    $0x424108,%ecx
41e729:	e8 d6 78 fe ff       	call   0x406004
41e72e:	84 c0                	test   %al,%al
41e730:	74 7f                	je     0x41e7b1
41e732:	8b 86 14 02 00 00    	mov    0x214(%esi),%eax
41e738:	ba 2c 54 40 00       	mov    $0x40542c,%edx
41e73d:	89 44 24 04          	mov    %eax,0x4(%esp)
41e741:	8b 46 04             	mov    0x4(%esi),%eax
41e744:	89 44 24 08          	mov    %eax,0x8(%esp)
41e748:	8b 06                	mov    (%esi),%eax
41e74a:	89 44 24 20          	mov    %eax,0x20(%esp)
41e74e:	8d 44 24 20          	lea    0x20(%esp),%eax
41e752:	89 44 24 0c          	mov    %eax,0xc(%esp)
41e756:	8b 46 08             	mov    0x8(%esi),%eax
41e759:	83 64 24 24 00       	andl   $0x0,0x24(%esp)
41e75e:	89 44 24 10          	mov    %eax,0x10(%esp)
41e762:	8d 46 0c             	lea    0xc(%esi),%eax
41e765:	83 05 b0 59 42 00 01 	addl   $0x1,0x4259b0
41e76c:	89 44 24 14          	mov    %eax,0x14(%esp)
41e770:	8d 44 24 04          	lea    0x4(%esp),%eax
41e774:	50                   	push   %eax
41e775:	83 15 b4 59 42 00 00 	adcl   $0x0,0x4259b4
41e77c:	8d 44 24 0c          	lea    0xc(%esp),%eax
41e780:	50                   	push   %eax
41e781:	8d 44 24 14          	lea    0x14(%esp),%eax
41e785:	c7 44 24 20 b0 59 42 	movl   $0x4259b0,0x20(%esp)
41e78c:	00
41e78d:	50                   	push   %eax
41e78e:	8d 44 24 1c          	lea    0x1c(%esp),%eax
41e792:	c7 44 24 28 9c 59 42 	movl   $0x42599c,0x28(%esp)
41e799:	00
41e79a:	50                   	push   %eax
41e79b:	8d 44 24 24          	lea    0x24(%esp),%eax
41e79f:	50                   	push   %eax
41e7a0:	8d 44 24 2c          	lea    0x2c(%esp),%eax
41e7a4:	50                   	push   %eax
41e7a5:	8d 44 24 34          	lea    0x34(%esp),%eax
41e7a9:	50                   	push   %eax
41e7aa:	51                   	push   %ecx
41e7ab:	51                   	push   %ecx
41e7ac:	e8 80 74 fe ff       	call   0x405c31
41e7b1:	5e                   	pop    %esi
41e7b2:	8b e5                	mov    %ebp,%esp
41e7b4:	5d                   	pop    %ebp
41e7b5:	c3                   	ret
41e7b6:	8b ff                	mov    %edi,%edi
41e7b8:	55                   	push   %ebp
41e7b9:	8b ec                	mov    %esp,%ebp
41e7bb:	51                   	push   %ecx
41e7bc:	51                   	push   %ecx
41e7bd:	83 3d 08 41 42 00 04 	cmpl   $0x4,0x424108
41e7c4:	76 45                	jbe    0x41e80b
41e7c6:	68 00 40 00 00       	push   $0x4000
41e7cb:	6a 00                	push   $0x0
41e7cd:	b9 08 41 42 00       	mov    $0x424108,%ecx
41e7d2:	e8 2d 78 fe ff       	call   0x406004
41e7d7:	84 c0                	test   %al,%al
41e7d9:	74 30                	je     0x41e80b
41e7db:	83 05 b0 59 42 00 01 	addl   $0x1,0x4259b0
41e7e2:	8d 45 fc             	lea    -0x4(%ebp),%eax
41e7e5:	50                   	push   %eax
41e7e6:	83 15 b4 59 42 00 00 	adcl   $0x0,0x4259b4
41e7ed:	8d 45 f8             	lea    -0x8(%ebp),%eax
41e7f0:	50                   	push   %eax
41e7f1:	51                   	push   %ecx
41e7f2:	51                   	push   %ecx
41e7f3:	ba f8 53 40 00       	mov    $0x4053f8,%edx
41e7f8:	c7 45 fc b0 59 42 00 	movl   $0x4259b0,-0x4(%ebp)
41e7ff:	c7 45 f8 9c 59 42 00 	movl   $0x42599c,-0x8(%ebp)
41e806:	e8 55 73 fe ff       	call   0x405b60
41e80b:	c9                   	leave
41e80c:	c3                   	ret
41e80d:	8b ff                	mov    %edi,%edi
41e80f:	55                   	push   %ebp
41e810:	8b ec                	mov    %esp,%ebp
41e812:	83 ec 2c             	sub    $0x2c,%esp
41e815:	57                   	push   %edi
41e816:	8b f9                	mov    %ecx,%edi
41e818:	85 d2                	test   %edx,%edx
41e81a:	0f 84 96 00 00 00    	je     0x41e8b6
41e820:	83 3d 08 41 42 00 04 	cmpl   $0x4,0x424108
41e827:	0f 86 d7 00 00 00    	jbe    0x41e904
41e82d:	68 00 40 00 00       	push   $0x4000
41e832:	6a 00                	push   $0x0
41e834:	b9 08 41 42 00       	mov    $0x424108,%ecx
41e839:	e8 c6 77 fe ff       	call   0x406004
41e83e:	84 c0                	test   %al,%al
41e840:	0f 84 be 00 00 00    	je     0x41e904
41e846:	8b 87 14 02 00 00    	mov    0x214(%edi),%eax
41e84c:	ba 82 53 40 00       	mov    $0x405382,%edx
41e851:	89 45 fc             	mov    %eax,-0x4(%ebp)
41e854:	8b 47 04             	mov    0x4(%edi),%eax
41e857:	89 45 f8             	mov    %eax,-0x8(%ebp)
41e85a:	8b 07                	mov    (%edi),%eax
41e85c:	89 45 d8             	mov    %eax,-0x28(%ebp)
41e85f:	8d 45 d8             	lea    -0x28(%ebp),%eax
41e862:	89 45 f4             	mov    %eax,-0xc(%ebp)
41e865:	8b 47 08             	mov    0x8(%edi),%eax
41e868:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
41e86c:	89 45 f0             	mov    %eax,-0x10(%ebp)
41e86f:	8d 47 0c             	lea    0xc(%edi),%eax
41e872:	83 05 b0 59 42 00 01 	addl   $0x1,0x4259b0
41e879:	89 45 ec             	mov    %eax,-0x14(%ebp)
41e87c:	8d 45 fc             	lea    -0x4(%ebp),%eax
41e87f:	50                   	push   %eax
41e880:	83 15 b4 59 42 00 00 	adcl   $0x0,0x4259b4
41e887:	8d 45 f8             	lea    -0x8(%ebp),%eax
41e88a:	50                   	push   %eax
41e88b:	8d 45 f4             	lea    -0xc(%ebp),%eax
41e88e:	c7 45 e8 b0 59 42 00 	movl   $0x4259b0,-0x18(%ebp)
41e895:	50                   	push   %eax
41e896:	8d 45 f0             	lea    -0x10(%ebp),%eax
41e899:	c7 45 e4 9c 59 42 00 	movl   $0x42599c,-0x1c(%ebp)
41e8a0:	50                   	push   %eax
41e8a1:	8d 45 ec             	lea    -0x14(%ebp),%eax
41e8a4:	50                   	push   %eax
41e8a5:	8d 45 e8             	lea    -0x18(%ebp),%eax
41e8a8:	50                   	push   %eax
41e8a9:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41e8ac:	50                   	push   %eax
41e8ad:	51                   	push   %ecx
41e8ae:	51                   	push   %ecx
41e8af:	e8 7d 73 fe ff       	call   0x405c31
41e8b4:	eb 4e                	jmp    0x41e904
41e8b6:	83 3d 08 41 42 00 04 	cmpl   $0x4,0x424108
41e8bd:	76 45                	jbe    0x41e904
41e8bf:	68 00 40 00 00       	push   $0x4000
41e8c4:	6a 00                	push   $0x0
41e8c6:	b9 08 41 42 00       	mov    $0x424108,%ecx
41e8cb:	e8 34 77 fe ff       	call   0x406004
41e8d0:	84 c0                	test   %al,%al
41e8d2:	74 30                	je     0x41e904
41e8d4:	83 05 b0 59 42 00 01 	addl   $0x1,0x4259b0
41e8db:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41e8de:	50                   	push   %eax
41e8df:	83 15 b4 59 42 00 00 	adcl   $0x0,0x4259b4
41e8e6:	8d 45 e8             	lea    -0x18(%ebp),%eax
41e8e9:	50                   	push   %eax
41e8ea:	51                   	push   %ecx
41e8eb:	51                   	push   %ecx
41e8ec:	ba 4b 53 40 00       	mov    $0x40534b,%edx
41e8f1:	c7 45 e4 b0 59 42 00 	movl   $0x4259b0,-0x1c(%ebp)
41e8f8:	c7 45 e8 9c 59 42 00 	movl   $0x42599c,-0x18(%ebp)
41e8ff:	e8 5c 72 fe ff       	call   0x405b60
41e904:	5f                   	pop    %edi
41e905:	c9                   	leave
41e906:	c3                   	ret
41e907:	8b ff                	mov    %edi,%edi
41e909:	55                   	push   %ebp
41e90a:	8b ec                	mov    %esp,%ebp
41e90c:	83 ec 38             	sub    $0x38,%esp
41e90f:	83 3d 08 41 42 00 04 	cmpl   $0x4,0x424108
41e916:	56                   	push   %esi
41e917:	57                   	push   %edi
41e918:	8b f2                	mov    %edx,%esi
41e91a:	8b f9                	mov    %ecx,%edi
41e91c:	0f 86 2f 01 00 00    	jbe    0x41ea51
41e922:	68 00 20 00 00       	push   $0x2000