40e53e:	a3 9c 14 41 00       	mov    %eax,0x41149c
40e543:	8b 45 04             	mov    0x4(%ebp),%eax
40e546:	a3 a0 14 41 00       	mov    %eax,0x4114a0
40e54b:	8d 45 08             	lea    0x8(%ebp),%eax
40e54e:	a3 ac 14 41 00       	mov    %eax,0x4114ac
40e553:	8b 85 dc fc ff ff    	mov    -0x324(%ebp),%eax
40e559:	c7 05 e8 13 41 00 01 	movl   $0x10001,0x4113e8
40e560:	00 01 00
40e563:	a1 a0 14 41 00       	mov    0x4114a0,%eax
40e568:	a3 a4 13 41 00       	mov    %eax,0x4113a4
40e56d:	c7 05 98 13 41 00 09 	movl   $0xc0000409,0x411398
40e574:	04 00 c0
40e577:	c7 05 9c 13 41 00 01 	movl   $0x1,0x41139c
40e57e:	00 00 00
40e581:	c7 05 a8 13 41 00 03 	movl   $0x3,0x4113a8
40e588:	00 00 00
40e58b:	6a 04                	push   $0x4
40e58d:	58                   	pop    %eax
40e58e:	6b c0 00             	imul   $0x0,%eax,%eax
40e591:	c7 80 ac 13 41 00 02 	movl   $0x2,0x4113ac(%eax)
40e598:	00 00 00
40e59b:	6a 04                	push   $0x4
40e59d:	58                   	pop    %eax
40e59e:	c1 e0 00             	shl    $0x0,%eax
40e5a1:	8b 0d 54 13 41 00    	mov    0x411354,%ecx
40e5a7:	89 88 ac 13 41 00    	mov    %ecx,0x4113ac(%eax)
40e5ad:	6a 04                	push   $0x4
40e5af:	58                   	pop    %eax
40e5b0:	d1 e0                	shl    $1,%eax
40e5b2:	8b 0d 58 13 41 00    	mov    0x411358,%ecx
40e5b8:	89 88 ac 13 41 00    	mov    %ecx,0x4113ac(%eax)
40e5be:	6a 04                	push   $0x4
40e5c0:	58                   	pop    %eax
40e5c1:	6b c0 00             	imul   $0x0,%eax,%eax
40e5c4:	8b 0d 54 13 41 00    	mov    0x411354,%ecx
40e5ca:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
40e5ce:	6a 04                	push   $0x4
40e5d0:	58                   	pop    %eax
40e5d1:	c1 e0 00             	shl    $0x0,%eax
40e5d4:	8b 0d 58 13 41 00    	mov    0x411358,%ecx
40e5da:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
40e5de:	68 e4 14 40 00       	push   $0x4014e4
40e5e3:	e8 ca fe ff ff       	call   0x40e4b2
40e5e8:	c9                   	leave
40e5e9:	c3                   	ret
40e5ea:	ff 25 8c 21 41 00    	jmp    *0x41218c
40e5f0:	ff 25 88 21 41 00    	jmp    *0x412188
40e5f6:	ff 25 84 21 41 00    	jmp    *0x412184
40e5fc:	cc                   	int3
40e5fd:	cc                   	int3
40e5fe:	cc                   	int3
40e5ff:	cc                   	int3
40e600:	ff 25 7c 21 41 00    	jmp    *0x41217c
40e606:	ff 25 78 21 41 00    	jmp    *0x412178
40e60c:	cc                   	int3
40e60d:	cc                   	int3
40e60e:	cc                   	int3
40e60f:	cc                   	int3
40e610:	ff 25 74 21 41 00    	jmp    *0x412174
40e616:	ff 25 70 21 41 00    	jmp    *0x412170
40e61c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40e61f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40e626:	59                   	pop    %ecx
40e627:	5f                   	pop    %edi
40e628:	5f                   	pop    %edi
40e629:	5e                   	pop    %esi
40e62a:	5b                   	pop    %ebx
40e62b:	8b e5                	mov    %ebp,%esp
40e62d:	5d                   	pop    %ebp
40e62e:	51                   	push   %ecx
40e62f:	c3                   	ret
40e630:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40e633:	33 cd                	xor    %ebp,%ecx
40e635:	e8 66 fd ff ff       	call   0x40e3a0
40e63a:	e9 dd ff ff ff       	jmp    0x40e61c
40e63f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40e642:	33 cd                	xor    %ebp,%ecx
40e644:	e8 57 fd ff ff       	call   0x40e3a0
40e649:	e9 ce ff ff ff       	jmp    0x40e61c
40e64e:	50                   	push   %eax
40e64f:	64 ff 35 00 00 00 00 	push   %fs:0x0
40e656:	8d 44 24 0c          	lea    0xc(%esp),%eax
40e65a:	2b 64 24 0c          	sub    0xc(%esp),%esp
40e65e:	53                   	push   %ebx
40e65f:	56                   	push   %esi
40e660:	57                   	push   %edi
40e661:	89 28                	mov    %ebp,(%eax)
40e663:	8b e8                	mov    %eax,%ebp
40e665:	a1 54 13 41 00       	mov    0x411354,%eax
40e66a:	33 c5                	xor    %ebp,%eax
40e66c:	50                   	push   %eax
40e66d:	ff 75 fc             	push   -0x4(%ebp)
40e670:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40e677:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e67a:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40e680:	c3                   	ret
40e681:	50                   	push   %eax
40e682:	64 ff 35 00 00 00 00 	push   %fs:0x0
40e689:	8d 44 24 0c          	lea    0xc(%esp),%eax
40e68d:	2b 64 24 0c          	sub    0xc(%esp),%esp
40e691:	53                   	push   %ebx
40e692:	56                   	push   %esi
40e693:	57                   	push   %edi
40e694:	89 28                	mov    %ebp,(%eax)
40e696:	8b e8                	mov    %eax,%ebp
40e698:	a1 54 13 41 00       	mov    0x411354,%eax
40e69d:	33 c5                	xor    %ebp,%eax
40e69f:	50                   	push   %eax
40e6a0:	89 45 f0             	mov    %eax,-0x10(%ebp)
40e6a3:	ff 75 fc             	push   -0x4(%ebp)
40e6a6:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40e6ad:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e6b0:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40e6b6:	c3                   	ret
40e6b7:	50                   	push   %eax
40e6b8:	64 ff 35 00 00 00 00 	push   %fs:0x0
40e6bf:	8d 44 24 0c          	lea    0xc(%esp),%eax
40e6c3:	2b 64 24 0c          	sub    0xc(%esp),%esp
40e6c7:	53                   	push   %ebx
40e6c8:	56                   	push   %esi
40e6c9:	57                   	push   %edi
40e6ca:	89 28                	mov    %ebp,(%eax)
40e6cc:	8b e8                	mov    %eax,%ebp
40e6ce:	a1 54 13 41 00       	mov    0x411354,%eax
40e6d3:	33 c5                	xor    %ebp,%eax
40e6d5:	50                   	push   %eax
40e6d6:	89 65 f0             	mov    %esp,-0x10(%ebp)
40e6d9:	ff 75 fc             	push   -0x4(%ebp)
40e6dc:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40e6e3:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e6e6:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40e6ec:	c3                   	ret
40e6ed:	50                   	push   %eax
40e6ee:	64 ff 35 00 00 00 00 	push   %fs:0x0
40e6f5:	8d 44 24 0c          	lea    0xc(%esp),%eax
40e6f9:	2b 64 24 0c          	sub    0xc(%esp),%esp
40e6fd:	53                   	push   %ebx
40e6fe:	56                   	push   %esi
40e6ff:	57                   	push   %edi
40e700:	89 28                	mov    %ebp,(%eax)
40e702:	8b e8                	mov    %eax,%ebp
40e704:	a1 54 13 41 00       	mov    0x411354,%eax
40e709:	33 c5                	xor    %ebp,%eax
40e70b:	50                   	push   %eax
40e70c:	89 45 ec             	mov    %eax,-0x14(%ebp)
40e70f:	89 65 f0             	mov    %esp,-0x10(%ebp)
40e712:	ff 75 fc             	push   -0x4(%ebp)
40e715:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40e71c:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e71f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40e725:	c3                   	ret
40e726:	ff 25 68 21 41 00    	jmp    *0x412168
40e72c:	ff 25 6c 21 41 00    	jmp    *0x41216c
40e732:	cc                   	int3
40e733:	cc                   	int3
40e734:	cc                   	int3
40e735:	cc                   	int3
40e736:	cc                   	int3
40e737:	cc                   	int3
40e738:	cc                   	int3
40e739:	cc                   	int3
40e73a:	cc                   	int3
40e73b:	cc                   	int3
40e73c:	cc                   	int3
40e73d:	cc                   	int3
40e73e:	cc                   	int3
40e73f:	cc                   	int3
40e740:	c2 00 00             	ret    $0x0
40e743:	cc                   	int3
40e744:	cc                   	int3
40e745:	cc                   	int3
40e746:	cc                   	int3
40e747:	cc                   	int3
40e748:	cc                   	int3
40e749:	cc                   	int3
40e74a:	cc                   	int3
40e74b:	cc                   	int3
40e74c:	cc                   	int3
40e74d:	cc                   	int3
40e74e:	cc                   	int3
40e74f:	cc                   	int3
40e750:	8b ff                	mov    %edi,%edi
40e752:	55                   	push   %ebp
40e753:	8b ec                	mov    %esp,%ebp
40e755:	8b 45 08             	mov    0x8(%ebp),%eax
40e758:	8b 00                	mov    (%eax),%eax
40e75a:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
40e760:	75 2b                	jne    0x40e78d
40e762:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
40e766:	75 25                	jne    0x40e78d
40e768:	8b 40 14             	mov    0x14(%eax),%eax
40e76b:	3d 20 05 93 19       	cmp    $0x19930520,%eax
40e770:	74 15                	je     0x40e787
40e772:	3d 21 05 93 19       	cmp    $0x19930521,%eax
40e777:	74 0e                	je     0x40e787
40e779:	3d 22 05 93 19       	cmp    $0x19930522,%eax
40e77e:	74 07                	je     0x40e787
40e780:	3d 00 40 99 01       	cmp    $0x1994000,%eax
40e785:	75 06                	jne    0x40e78d
40e787:	ff 15 64 21 41 00    	call   *0x412164
40e78d:	33 c0                	xor    %eax,%eax
40e78f:	5d                   	pop    %ebp
40e790:	c2 04 00             	ret    $0x4
40e793:	cc                   	int3
40e794:	cc                   	int3
40e795:	cc                   	int3
40e796:	cc                   	int3
40e797:	cc                   	int3
40e798:	cc                   	int3
40e799:	cc                   	int3
40e79a:	cc                   	int3
40e79b:	cc                   	int3
40e79c:	cc                   	int3
40e79d:	cc                   	int3
40e79e:	cc                   	int3
40e79f:	cc                   	int3
40e7a0:	68 50 e7 40 00       	push   $0x40e750
40e7a5:	ff 15 78 20 41 00    	call   *0x412078
40e7ab:	33 c0                	xor    %eax,%eax
40e7ad:	c3                   	ret
40e7ae:	ff 25 48 21 41 00    	jmp    *0x412148
40e7b4:	6a 0c                	push   $0xc
40e7b6:	68 f8 02 41 00       	push   $0x4102f8
40e7bb:	e8 b8 02 00 00       	call   0x40ea78
40e7c0:	33 c9                	xor    %ecx,%ecx
40e7c2:	8b 45 08             	mov    0x8(%ebp),%eax
40e7c5:	85 c0                	test   %eax,%eax
40e7c7:	74 4b                	je     0x40e814
40e7c9:	83 f8 ff             	cmp    $0xffffffff,%eax
40e7cc:	74 46                	je     0x40e814
40e7ce:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40e7d1:	ba 4d 5a 00 00       	mov    $0x5a4d,%edx
40e7d6:	66 39 10             	cmp    %dx,(%eax)
40e7d9:	75 32                	jne    0x40e80d
40e7db:	8b 50 3c             	mov    0x3c(%eax),%edx
40e7de:	85 d2                	test   %edx,%edx
40e7e0:	78 2b                	js     0x40e80d
40e7e2:	81 fa 00 00 00 10    	cmp    $0x10000000,%edx
40e7e8:	73 23                	jae    0x40e80d
40e7ea:	03 c2                	add    %edx,%eax
40e7ec:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40e7ef:	8b 08                	mov    (%eax),%ecx
40e7f1:	81 e9 50 45 00 00    	sub    $0x4550,%ecx
40e7f7:	f7 d9                	neg    %ecx
40e7f9:	1b c9                	sbb    %ecx,%ecx
40e7fb:	f7 d1                	not    %ecx
40e7fd:	23 c8                	and    %eax,%ecx
40e7ff:	eb 09                	jmp    0x40e80a
40e801:	33 c0                	xor    %eax,%eax
40e803:	40                   	inc    %eax
40e804:	c3                   	ret
40e805:	8b 65 e8             	mov    -0x18(%ebp),%esp
40e808:	33 c9                	xor    %ecx,%ecx
40e80a:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
40e80d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40e814:	8b c1                	mov    %ecx,%eax
40e816:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40e819:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40e820:	59                   	pop    %ecx
40e821:	5f                   	pop    %edi
40e822:	5e                   	pop    %esi
40e823:	5b                   	pop    %ebx
40e824:	c9                   	leave
40e825:	c2 04 00             	ret    $0x4
40e828:	8b ff                	mov    %edi,%edi
40e82a:	55                   	push   %ebp
40e82b:	8b ec                	mov    %esp,%ebp
40e82d:	6a 00                	push   $0x0
40e82f:	ff 15 b0 20 41 00    	call   *0x4120b0
40e835:	85 c0                	test   %eax,%eax
40e837:	74 20                	je     0x40e859
40e839:	50                   	push   %eax
40e83a:	e8 75 ff ff ff       	call   0x40e7b4
40e83f:	85 c0                	test   %eax,%eax
40e841:	74 16                	je     0x40e859
40e843:	0f b7 48 5c          	movzwl 0x5c(%eax),%ecx
40e847:	6a 02                	push   $0x2
40e849:	58                   	pop    %eax
40e84a:	66 3b c8             	cmp    %ax,%cx
40e84d:	74 0d                	je     0x40e85c
40e84f:	83 f9 03             	cmp    $0x3,%ecx
40e852:	75 05                	jne    0x40e859
40e854:	33 c0                	xor    %eax,%eax
40e856:	40                   	inc    %eax
40e857:	5d                   	pop    %ebp
40e858:	c3                   	ret
40e859:	8b 45 08             	mov    0x8(%ebp),%eax
40e85c:	5d                   	pop    %ebp
40e85d:	c3                   	ret
40e85e:	ff 25 34 21 41 00    	jmp    *0x412134
40e864:	cc                   	int3
40e865:	cc                   	int3
40e866:	cc                   	int3
40e867:	cc                   	int3
40e868:	cc                   	int3
40e869:	cc                   	int3
40e86a:	cc                   	int3
40e86b:	cc                   	int3
40e86c:	cc                   	int3
40e86d:	cc                   	int3
40e86e:	cc                   	int3
40e86f:	cc                   	int3
40e870:	33 c0                	xor    %eax,%eax
40e872:	c3                   	ret
40e873:	cc                   	int3
40e874:	cc                   	int3
40e875:	cc                   	int3
40e876:	cc                   	int3
40e877:	cc                   	int3
40e878:	cc                   	int3
40e879:	cc                   	int3
40e87a:	cc                   	int3
40e87b:	cc                   	int3
40e87c:	cc                   	int3
40e87d:	cc                   	int3
40e87e:	cc                   	int3
40e87f:	cc                   	int3
40e880:	8b ff                	mov    %edi,%edi
40e882:	55                   	push   %ebp
40e883:	8b ec                	mov    %esp,%ebp
40e885:	8b 45 08             	mov    0x8(%ebp),%eax
40e888:	33 d2                	xor    %edx,%edx
40e88a:	53                   	push   %ebx
40e88b:	56                   	push   %esi
40e88c:	57                   	push   %edi
40e88d:	8b 48 3c             	mov    0x3c(%eax),%ecx
40e890:	03 c8                	add    %eax,%ecx
40e892:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
40e896:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
40e89a:	83 c0 18             	add    $0x18,%eax
40e89d:	03 c1                	add    %ecx,%eax
40e89f:	85 db                	test   %ebx,%ebx
40e8a1:	74 1b                	je     0x40e8be
40e8a3:	8b 7d 0c             	mov    0xc(%ebp),%edi
40e8a6:	8b 70 0c             	mov    0xc(%eax),%esi
40e8a9:	3b fe                	cmp    %esi,%edi
40e8ab:	72 09                	jb     0x40e8b6
40e8ad:	8b 48 08             	mov    0x8(%eax),%ecx
40e8b0:	03 ce                	add    %esi,%ecx
40e8b2:	3b f9                	cmp    %ecx,%edi
40e8b4:	72 0a                	jb     0x40e8c0
40e8b6:	42                   	inc    %edx
40e8b7:	83 c0 28             	add    $0x28,%eax
40e8ba:	3b d3                	cmp    %ebx,%edx
40e8bc:	72 e8                	jb     0x40e8a6
40e8be:	33 c0                	xor    %eax,%eax
40e8c0:	5f                   	pop    %edi
40e8c1:	5e                   	pop    %esi
40e8c2:	5b                   	pop    %ebx
40e8c3:	5d                   	pop    %ebp