412570:	57                   	push   %edi
412571:	89 28                	mov    %ebp,(%eax)
412573:	8b e8                	mov    %eax,%ebp
412575:	a1 f4 51 41 00       	mov    0x4151f4,%eax
41257a:	33 c5                	xor    %ebp,%eax
41257c:	50                   	push   %eax
41257d:	ff 75 fc             	push   -0x4(%ebp)
412580:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
412587:	8d 45 f4             	lea    -0xc(%ebp),%eax
41258a:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
412590:	c3                   	ret
412591:	50                   	push   %eax
412592:	64 ff 35 00 00 00 00 	push   %fs:0x0
412599:	8d 44 24 0c          	lea    0xc(%esp),%eax
41259d:	2b 64 24 0c          	sub    0xc(%esp),%esp
4125a1:	53                   	push   %ebx
4125a2:	56                   	push   %esi
4125a3:	57                   	push   %edi
4125a4:	89 28                	mov    %ebp,(%eax)
4125a6:	8b e8                	mov    %eax,%ebp
4125a8:	a1 f4 51 41 00       	mov    0x4151f4,%eax
4125ad:	33 c5                	xor    %ebp,%eax
4125af:	50                   	push   %eax
4125b0:	89 45 f0             	mov    %eax,-0x10(%ebp)
4125b3:	ff 75 fc             	push   -0x4(%ebp)
4125b6:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
4125bd:	8d 45 f4             	lea    -0xc(%ebp),%eax
4125c0:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4125c6:	c3                   	ret
4125c7:	50                   	push   %eax
4125c8:	64 ff 35 00 00 00 00 	push   %fs:0x0
4125cf:	8d 44 24 0c          	lea    0xc(%esp),%eax
4125d3:	2b 64 24 0c          	sub    0xc(%esp),%esp
4125d7:	53                   	push   %ebx
4125d8:	56                   	push   %esi
4125d9:	57                   	push   %edi
4125da:	89 28                	mov    %ebp,(%eax)
4125dc:	8b e8                	mov    %eax,%ebp
4125de:	a1 f4 51 41 00       	mov    0x4151f4,%eax
4125e3:	33 c5                	xor    %ebp,%eax
4125e5:	50                   	push   %eax
4125e6:	89 65 f0             	mov    %esp,-0x10(%ebp)
4125e9:	ff 75 fc             	push   -0x4(%ebp)
4125ec:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
4125f3:	8d 45 f4             	lea    -0xc(%ebp),%eax
4125f6:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4125fc:	c3                   	ret
4125fd:	50                   	push   %eax
4125fe:	64 ff 35 00 00 00 00 	push   %fs:0x0
412605:	8d 44 24 0c          	lea    0xc(%esp),%eax
412609:	2b 64 24 0c          	sub    0xc(%esp),%esp
41260d:	53                   	push   %ebx
41260e:	56                   	push   %esi
41260f:	57                   	push   %edi
412610:	89 28                	mov    %ebp,(%eax)
412612:	8b e8                	mov    %eax,%ebp
412614:	a1 f4 51 41 00       	mov    0x4151f4,%eax
412619:	33 c5                	xor    %ebp,%eax
41261b:	50                   	push   %eax
41261c:	89 45 ec             	mov    %eax,-0x14(%ebp)
41261f:	89 65 f0             	mov    %esp,-0x10(%ebp)
412622:	ff 75 fc             	push   -0x4(%ebp)
412625:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
41262c:	8d 45 f4             	lea    -0xc(%ebp),%eax
41262f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
412635:	c3                   	ret
412636:	ff 25 6c 62 41 00    	jmp    *0x41626c
41263c:	ff 25 70 62 41 00    	jmp    *0x416270
412642:	cc                   	int3
412643:	cc                   	int3
412644:	cc                   	int3
412645:	cc                   	int3
412646:	cc                   	int3
412647:	cc                   	int3
412648:	cc                   	int3
412649:	cc                   	int3
41264a:	cc                   	int3
41264b:	cc                   	int3
41264c:	cc                   	int3
41264d:	cc                   	int3
41264e:	cc                   	int3
41264f:	cc                   	int3
412650:	c2 00 00             	ret    $0x0
412653:	cc                   	int3
412654:	cc                   	int3
412655:	cc                   	int3
412656:	cc                   	int3
412657:	cc                   	int3
412658:	cc                   	int3
412659:	cc                   	int3
41265a:	cc                   	int3
41265b:	cc                   	int3
41265c:	cc                   	int3
41265d:	cc                   	int3
41265e:	cc                   	int3
41265f:	cc                   	int3
412660:	8b ff                	mov    %edi,%edi
412662:	55                   	push   %ebp
412663:	8b ec                	mov    %esp,%ebp
412665:	8b 45 08             	mov    0x8(%ebp),%eax
412668:	8b 00                	mov    (%eax),%eax
41266a:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
412670:	75 2b                	jne    0x41269d
412672:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
412676:	75 25                	jne    0x41269d
412678:	8b 40 14             	mov    0x14(%eax),%eax
41267b:	3d 20 05 93 19       	cmp    $0x19930520,%eax
412680:	74 15                	je     0x412697
412682:	3d 21 05 93 19       	cmp    $0x19930521,%eax
412687:	74 0e                	je     0x412697
412689:	3d 22 05 93 19       	cmp    $0x19930522,%eax
41268e:	74 07                	je     0x412697
412690:	3d 00 40 99 01       	cmp    $0x1994000,%eax
412695:	75 06                	jne    0x41269d
412697:	ff 15 d4 62 41 00    	call   *0x4162d4
41269d:	33 c0                	xor    %eax,%eax
41269f:	5d                   	pop    %ebp
4126a0:	c2 04 00             	ret    $0x4
4126a3:	cc                   	int3
4126a4:	cc                   	int3
4126a5:	cc                   	int3
4126a6:	cc                   	int3
4126a7:	cc                   	int3
4126a8:	cc                   	int3
4126a9:	cc                   	int3
4126aa:	cc                   	int3
4126ab:	cc                   	int3
4126ac:	cc                   	int3
4126ad:	cc                   	int3
4126ae:	cc                   	int3
4126af:	cc                   	int3
4126b0:	68 60 26 41 00       	push   $0x412660
4126b5:	ff 15 48 61 41 00    	call   *0x416148
4126bb:	33 c0                	xor    %eax,%eax
4126bd:	c3                   	ret
4126be:	ff 25 74 62 41 00    	jmp    *0x416274
4126c4:	6a 0c                	push   $0xc
4126c6:	68 40 40 41 00       	push   $0x414040
4126cb:	e8 a8 02 00 00       	call   0x412978
4126d0:	33 c9                	xor    %ecx,%ecx
4126d2:	8b 45 08             	mov    0x8(%ebp),%eax
4126d5:	85 c0                	test   %eax,%eax
4126d7:	74 4b                	je     0x412724
4126d9:	83 f8 ff             	cmp    $0xffffffff,%eax
4126dc:	74 46                	je     0x412724
4126de:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4126e1:	ba 4d 5a 00 00       	mov    $0x5a4d,%edx
4126e6:	66 39 10             	cmp    %dx,(%eax)
4126e9:	75 32                	jne    0x41271d
4126eb:	8b 50 3c             	mov    0x3c(%eax),%edx
4126ee:	85 d2                	test   %edx,%edx
4126f0:	78 2b                	js     0x41271d
4126f2:	81 fa 00 00 00 10    	cmp    $0x10000000,%edx
4126f8:	73 23                	jae    0x41271d
4126fa:	03 c2                	add    %edx,%eax
4126fc:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4126ff:	8b 08                	mov    (%eax),%ecx
412701:	81 e9 50 45 00 00    	sub    $0x4550,%ecx
412707:	f7 d9                	neg    %ecx
412709:	1b c9                	sbb    %ecx,%ecx
41270b:	f7 d1                	not    %ecx
41270d:	23 c8                	and    %eax,%ecx
41270f:	eb 09                	jmp    0x41271a
412711:	33 c0                	xor    %eax,%eax
412713:	40                   	inc    %eax
412714:	c3                   	ret
412715:	8b 65 e8             	mov    -0x18(%ebp),%esp
412718:	33 c9                	xor    %ecx,%ecx
41271a:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
41271d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
412724:	8b c1                	mov    %ecx,%eax
412726:	8b 4d f0             	mov    -0x10(%ebp),%ecx
412729:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
412730:	59                   	pop    %ecx
412731:	5f                   	pop    %edi
412732:	5e                   	pop    %esi
412733:	5b                   	pop    %ebx
412734:	c9                   	leave
412735:	c2 04 00             	ret    $0x4
412738:	8b ff                	mov    %edi,%edi
41273a:	55                   	push   %ebp
41273b:	8b ec                	mov    %esp,%ebp
41273d:	6a 00                	push   $0x0
41273f:	ff 15 cc 60 41 00    	call   *0x4160cc
412745:	85 c0                	test   %eax,%eax
412747:	74 20                	je     0x412769
412749:	50                   	push   %eax
41274a:	e8 75 ff ff ff       	call   0x4126c4
41274f:	85 c0                	test   %eax,%eax
412751:	74 16                	je     0x412769
412753:	0f b7 48 5c          	movzwl 0x5c(%eax),%ecx
412757:	6a 02                	push   $0x2
412759:	58                   	pop    %eax
41275a:	66 3b c8             	cmp    %ax,%cx
41275d:	74 0d                	je     0x41276c
41275f:	83 f9 03             	cmp    $0x3,%ecx
412762:	75 05                	jne    0x412769
412764:	33 c0                	xor    %eax,%eax
412766:	40                   	inc    %eax
412767:	5d                   	pop    %ebp
412768:	c3                   	ret
412769:	8b 45 08             	mov    0x8(%ebp),%eax
41276c:	5d                   	pop    %ebp
41276d:	c3                   	ret
41276e:	ff 25 f8 62 41 00    	jmp    *0x4162f8
412774:	cc                   	int3
412775:	cc                   	int3
412776:	cc                   	int3
412777:	cc                   	int3
412778:	cc                   	int3
412779:	cc                   	int3
41277a:	cc                   	int3
41277b:	cc                   	int3
41277c:	cc                   	int3
41277d:	cc                   	int3
41277e:	cc                   	int3
41277f:	cc                   	int3
412780:	8b ff                	mov    %edi,%edi
412782:	55                   	push   %ebp
412783:	8b ec                	mov    %esp,%ebp
412785:	8b 45 08             	mov    0x8(%ebp),%eax
412788:	33 d2                	xor    %edx,%edx
41278a:	53                   	push   %ebx
41278b:	56                   	push   %esi
41278c:	57                   	push   %edi
41278d:	8b 48 3c             	mov    0x3c(%eax),%ecx
412790:	03 c8                	add    %eax,%ecx
412792:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
412796:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
41279a:	83 c0 18             	add    $0x18,%eax
41279d:	03 c1                	add    %ecx,%eax
41279f:	85 db                	test   %ebx,%ebx
4127a1:	74 1b                	je     0x4127be
4127a3:	8b 7d 0c             	mov    0xc(%ebp),%edi
4127a6:	8b 70 0c             	mov    0xc(%eax),%esi
4127a9:	3b fe                	cmp    %esi,%edi
4127ab:	72 09                	jb     0x4127b6
4127ad:	8b 48 08             	mov    0x8(%eax),%ecx
4127b0:	03 ce                	add    %esi,%ecx
4127b2:	3b f9                	cmp    %ecx,%edi
4127b4:	72 0a                	jb     0x4127c0
4127b6:	42                   	inc    %edx
4127b7:	83 c0 28             	add    $0x28,%eax
4127ba:	3b d3                	cmp    %ebx,%edx
4127bc:	72 e8                	jb     0x4127a6
4127be:	33 c0                	xor    %eax,%eax
4127c0:	5f                   	pop    %edi
4127c1:	5e                   	pop    %esi
4127c2:	5b                   	pop    %ebx
4127c3:	5d                   	pop    %ebp
4127c4:	c3                   	ret
4127c5:	cc                   	int3
4127c6:	cc                   	int3
4127c7:	cc                   	int3
4127c8:	cc                   	int3
4127c9:	cc                   	int3
4127ca:	cc                   	int3
4127cb:	cc                   	int3
4127cc:	cc                   	int3
4127cd:	cc                   	int3
4127ce:	cc                   	int3
4127cf:	cc                   	int3
4127d0:	8b ff                	mov    %edi,%edi
4127d2:	55                   	push   %ebp
4127d3:	8b ec                	mov    %esp,%ebp
4127d5:	6a fe                	push   $0xfffffffe
4127d7:	68 60 40 41 00       	push   $0x414060
4127dc:	68 c0 1f 41 00       	push   $0x411fc0
4127e1:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4127e7:	50                   	push   %eax
4127e8:	83 ec 08             	sub    $0x8,%esp
4127eb:	53                   	push   %ebx
4127ec:	56                   	push   %esi
4127ed:	57                   	push   %edi
4127ee:	a1 f4 51 41 00       	mov    0x4151f4,%eax
4127f3:	31 45 f8             	xor    %eax,-0x8(%ebp)
4127f6:	33 c5                	xor    %ebp,%eax
4127f8:	50                   	push   %eax
4127f9:	8d 45 f0             	lea    -0x10(%ebp),%eax
4127fc:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
412802:	89 65 e8             	mov    %esp,-0x18(%ebp)
412805:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
41280c:	68 00 00 40 00       	push   $0x400000
412811:	e8 7a 00 00 00       	call   0x412890
412816:	83 c4 04             	add    $0x4,%esp
412819:	85 c0                	test   %eax,%eax
41281b:	74 54                	je     0x412871
41281d:	8b 45 08             	mov    0x8(%ebp),%eax
412820:	2d 00 00 40 00       	sub    $0x400000,%eax
412825:	50                   	push   %eax
412826:	68 00 00 40 00       	push   $0x400000
41282b:	e8 50 ff ff ff       	call   0x412780
412830:	83 c4 08             	add    $0x8,%esp
412833:	85 c0                	test   %eax,%eax
412835:	74 3a                	je     0x412871
412837:	8b 40 24             	mov    0x24(%eax),%eax
41283a:	c1 e8 1f             	shr    $0x1f,%eax
41283d:	f7 d0                	not    %eax
41283f:	83 e0 01             	and    $0x1,%eax
412842:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
412849:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41284c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
412853:	59                   	pop    %ecx
412854:	5f                   	pop    %edi
412855:	5e                   	pop    %esi
412856:	5b                   	pop    %ebx
412857:	8b e5                	mov    %ebp,%esp
412859:	5d                   	pop    %ebp
41285a:	c3                   	ret
41285b:	8b 45 ec             	mov    -0x14(%ebp),%eax
41285e:	8b 00                	mov    (%eax),%eax
412860:	33 c9                	xor    %ecx,%ecx
412862:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
412868:	0f 94 c1             	sete   %cl
41286b:	8b c1                	mov    %ecx,%eax
41286d:	c3                   	ret
41286e:	8b 65 e8             	mov    -0x18(%ebp),%esp
412871:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
412878:	33 c0                	xor    %eax,%eax
41287a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41287d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
412884:	59                   	pop    %ecx
412885:	5f                   	pop    %edi
412886:	5e                   	pop    %esi
412887:	5b                   	pop    %ebx
412888:	8b e5                	mov    %ebp,%esp
41288a:	5d                   	pop    %ebp
41288b:	c3                   	ret
41288c:	cc                   	int3
41288d:	cc                   	int3
41288e:	cc                   	int3
41288f:	cc                   	int3
412890:	8b ff                	mov    %edi,%edi
412892:	55                   	push   %ebp
412893:	8b ec                	mov    %esp,%ebp
412895:	8b 4d 08             	mov    0x8(%ebp),%ecx
412898:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
41289d:	66 39 01             	cmp    %ax,(%ecx)
4128a0:	75 1f                	jne    0x4128c1
4128a2:	8b 41 3c             	mov    0x3c(%ecx),%eax
4128a5:	03 c1                	add    %ecx,%eax
4128a7:	81 38 50 45 00 00    	cmpl   $0x4550,(%eax)
4128ad:	75 12                	jne    0x4128c1
4128af:	b9 0b 01 00 00       	mov    $0x10b,%ecx
4128b4:	66 39 48 18          	cmp    %cx,0x18(%eax)
4128b8:	75 07                	jne    0x4128c1
4128ba:	b8 01 00 00 00       	mov    $0x1,%eax
4128bf:	5d                   	pop    %ebp
4128c0:	c3                   	ret
4128c1:	33 c0                	xor    %eax,%eax