40746b:	89 8d 88 fd ff ff    	mov    %ecx,-0x278(%ebp)
407471:	89 95 84 fd ff ff    	mov    %edx,-0x27c(%ebp)
407477:	89 9d 80 fd ff ff    	mov    %ebx,-0x280(%ebp)
40747d:	89 b5 7c fd ff ff    	mov    %esi,-0x284(%ebp)
407483:	89 bd 78 fd ff ff    	mov    %edi,-0x288(%ebp)
407489:	66 8c 95 a4 fd ff ff 	data16 mov %ss,-0x25c(%ebp)
407490:	66 8c 8d 98 fd ff ff 	data16 mov %cs,-0x268(%ebp)
407497:	66 8c 9d 74 fd ff ff 	data16 mov %ds,-0x28c(%ebp)
40749e:	66 8c 85 70 fd ff ff 	data16 mov %es,-0x290(%ebp)
4074a5:	66 8c a5 6c fd ff ff 	data16 mov %fs,-0x294(%ebp)
4074ac:	66 8c ad 68 fd ff ff 	data16 mov %gs,-0x298(%ebp)
4074b3:	9c                   	pushf
4074b4:	8f 85 9c fd ff ff    	pop    -0x264(%ebp)
4074ba:	8b 45 04             	mov    0x4(%ebp),%eax
4074bd:	89 85 94 fd ff ff    	mov    %eax,-0x26c(%ebp)
4074c3:	8d 45 04             	lea    0x4(%ebp),%eax
4074c6:	89 85 a0 fd ff ff    	mov    %eax,-0x260(%ebp)
4074cc:	c7 85 dc fc ff ff 01 	movl   $0x10001,-0x324(%ebp)
4074d3:	00 01 00
4074d6:	8b 40 fc             	mov    -0x4(%eax),%eax
4074d9:	6a 50                	push   $0x50
4074db:	89 85 90 fd ff ff    	mov    %eax,-0x270(%ebp)
4074e1:	8d 45 a8             	lea    -0x58(%ebp),%eax
4074e4:	56                   	push   %esi
4074e5:	50                   	push   %eax
4074e6:	e8 f5 14 00 00       	call   0x4089e0
4074eb:	8b 45 04             	mov    0x4(%ebp),%eax
4074ee:	83 c4 0c             	add    $0xc,%esp
4074f1:	c7 45 a8 15 00 00 40 	movl   $0x40000015,-0x58(%ebp)
4074f8:	c7 45 ac 01 00 00 00 	movl   $0x1,-0x54(%ebp)
4074ff:	89 45 b4             	mov    %eax,-0x4c(%ebp)
407502:	ff 15 94 71 42 00    	call   *0x427194
407508:	56                   	push   %esi
407509:	8d 58 ff             	lea    -0x1(%eax),%ebx
40750c:	f7 db                	neg    %ebx
40750e:	8d 45 a8             	lea    -0x58(%ebp),%eax
407511:	89 45 f8             	mov    %eax,-0x8(%ebp)
407514:	8d 85 dc fc ff ff    	lea    -0x324(%ebp),%eax
40751a:	1a db                	sbb    %bl,%bl
40751c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40751f:	fe c3                	inc    %bl
407521:	ff 15 9c 71 42 00    	call   *0x42719c
407527:	8d 45 f8             	lea    -0x8(%ebp),%eax
40752a:	50                   	push   %eax
40752b:	ff 15 98 71 42 00    	call   *0x427198
407531:	85 c0                	test   %eax,%eax
407533:	75 0d                	jne    0x407542
407535:	0f b6 c3             	movzbl %bl,%eax
407538:	f7 d8                	neg    %eax
40753a:	1b c0                	sbb    %eax,%eax
40753c:	21 05 50 96 83 02    	and    %eax,0x2839650
407542:	5e                   	pop    %esi
407543:	5b                   	pop    %ebx
407544:	8b e5                	mov    %ebp,%esp
407546:	5d                   	pop    %ebp
407547:	c3                   	ret
407548:	55                   	push   %ebp
407549:	8b ec                	mov    %esp,%ebp
40754b:	83 ec 44             	sub    $0x44,%esp
40754e:	6a 44                	push   $0x44
407550:	8d 45 bc             	lea    -0x44(%ebp),%eax
407553:	6a 00                	push   $0x0
407555:	50                   	push   %eax
407556:	e8 85 14 00 00       	call   0x4089e0
40755b:	83 c4 0c             	add    $0xc,%esp
40755e:	8d 45 bc             	lea    -0x44(%ebp),%eax
407561:	50                   	push   %eax
407562:	ff 15 a0 71 42 00    	call   *0x4271a0
407568:	f6 45 e8 01          	testb  $0x1,-0x18(%ebp)
40756c:	74 06                	je     0x407574
40756e:	0f b7 45 ec          	movzwl -0x14(%ebp),%eax
407572:	eb 03                	jmp    0x407577
407574:	6a 0a                	push   $0xa
407576:	58                   	pop    %eax
407577:	8b e5                	mov    %ebp,%esp
407579:	5d                   	pop    %ebp
40757a:	c3                   	ret
40757b:	33 c0                	xor    %eax,%eax
40757d:	c3                   	ret
40757e:	6a 00                	push   $0x0
407580:	ff 15 6c 71 42 00    	call   *0x42716c
407586:	8b c8                	mov    %eax,%ecx
407588:	85 c9                	test   %ecx,%ecx
40758a:	75 03                	jne    0x40758f
40758c:	32 c0                	xor    %al,%al
40758e:	c3                   	ret
40758f:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
407594:	66 39 01             	cmp    %ax,(%ecx)
407597:	75 f3                	jne    0x40758c
407599:	8b 41 3c             	mov    0x3c(%ecx),%eax
40759c:	03 c1                	add    %ecx,%eax
40759e:	81 38 50 45 00 00    	cmpl   $0x4550,(%eax)
4075a4:	75 e6                	jne    0x40758c
4075a6:	b9 0b 01 00 00       	mov    $0x10b,%ecx
4075ab:	66 39 48 18          	cmp    %cx,0x18(%eax)
4075af:	75 db                	jne    0x40758c
4075b1:	83 78 74 0e          	cmpl   $0xe,0x74(%eax)
4075b5:	76 d5                	jbe    0x40758c
4075b7:	83 b8 e8 00 00 00 00 	cmpl   $0x0,0xe8(%eax)
4075be:	0f 95 c0             	setne  %al
4075c1:	c3                   	ret
4075c2:	68 ce 75 40 00       	push   $0x4075ce
4075c7:	ff 15 9c 71 42 00    	call   *0x42719c
4075cd:	c3                   	ret
4075ce:	55                   	push   %ebp
4075cf:	8b ec                	mov    %esp,%ebp
4075d1:	8b 45 08             	mov    0x8(%ebp),%eax
4075d4:	8b 00                	mov    (%eax),%eax
4075d6:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
4075dc:	75 25                	jne    0x407603
4075de:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
4075e2:	75 1f                	jne    0x407603
4075e4:	8b 40 14             	mov    0x14(%eax),%eax
4075e7:	3d 20 05 93 19       	cmp    $0x19930520,%eax
4075ec:	74 1b                	je     0x407609
4075ee:	3d 21 05 93 19       	cmp    $0x19930521,%eax
4075f3:	74 14                	je     0x407609
4075f5:	3d 22 05 93 19       	cmp    $0x19930522,%eax
4075fa:	74 0d                	je     0x407609
4075fc:	3d 00 40 99 01       	cmp    $0x1994000,%eax
407601:	74 06                	je     0x407609
407603:	33 c0                	xor    %eax,%eax
407605:	5d                   	pop    %ebp
407606:	c2 04 00             	ret    $0x4
407609:	e8 bc 04 01 00       	call   0x417aca
40760e:	cc                   	int3
40760f:	83 25 50 96 83 02 00 	andl   $0x0,0x2839650
407616:	c3                   	ret
407617:	cc                   	int3
407618:	cc                   	int3
407619:	cc                   	int3
40761a:	cc                   	int3
40761b:	cc                   	int3
40761c:	cc                   	int3
40761d:	cc                   	int3
40761e:	cc                   	int3
40761f:	cc                   	int3
407620:	68 c0 b1 40 00       	push   $0x40b1c0
407625:	64 ff 35 00 00 00 00 	push   %fs:0x0
40762c:	8b 44 24 10          	mov    0x10(%esp),%eax
407630:	89 6c 24 10          	mov    %ebp,0x10(%esp)
407634:	8d 6c 24 10          	lea    0x10(%esp),%ebp
407638:	2b e0                	sub    %eax,%esp
40763a:	53                   	push   %ebx
40763b:	56                   	push   %esi
40763c:	57                   	push   %edi
40763d:	a1 28 ba 43 00       	mov    0x43ba28,%eax
407642:	31 45 fc             	xor    %eax,-0x4(%ebp)
407645:	33 c5                	xor    %ebp,%eax
407647:	50                   	push   %eax
407648:	89 65 e8             	mov    %esp,-0x18(%ebp)
40764b:	ff 75 f8             	push   -0x8(%ebp)
40764e:	8b 45 fc             	mov    -0x4(%ebp),%eax
407651:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
407658:	89 45 f8             	mov    %eax,-0x8(%ebp)
40765b:	8d 45 f0             	lea    -0x10(%ebp),%eax
40765e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
407664:	f2 c3                	bnd ret
407666:	8b 4d f0             	mov    -0x10(%ebp),%ecx
407669:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407670:	59                   	pop    %ecx
407671:	5f                   	pop    %edi
407672:	5f                   	pop    %edi
407673:	5e                   	pop    %esi
407674:	5b                   	pop    %ebx
407675:	8b e5                	mov    %ebp,%esp
407677:	5d                   	pop    %ebp
407678:	51                   	push   %ecx
407679:	f2 c3                	bnd ret
40767b:	55                   	push   %ebp
40767c:	8b ec                	mov    %esp,%ebp
40767e:	83 ec 14             	sub    $0x14,%esp
407681:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
407685:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
407689:	a1 28 ba 43 00       	mov    0x43ba28,%eax
40768e:	56                   	push   %esi
40768f:	57                   	push   %edi
407690:	bf 4e e6 40 bb       	mov    $0xbb40e64e,%edi
407695:	be 00 00 ff ff       	mov    $0xffff0000,%esi
40769a:	3b c7                	cmp    %edi,%eax
40769c:	74 0d                	je     0x4076ab
40769e:	85 c6                	test   %eax,%esi
4076a0:	74 09                	je     0x4076ab
4076a2:	f7 d0                	not    %eax
4076a4:	a3 24 ba 43 00       	mov    %eax,0x43ba24
4076a9:	eb 66                	jmp    0x407711
4076ab:	8d 45 f4             	lea    -0xc(%ebp),%eax
4076ae:	50                   	push   %eax
4076af:	ff 15 68 71 42 00    	call   *0x427168
4076b5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4076b8:	33 45 f4             	xor    -0xc(%ebp),%eax
4076bb:	89 45 fc             	mov    %eax,-0x4(%ebp)
4076be:	ff 15 ac 71 42 00    	call   *0x4271ac
4076c4:	31 45 fc             	xor    %eax,-0x4(%ebp)
4076c7:	ff 15 a8 71 42 00    	call   *0x4271a8
4076cd:	31 45 fc             	xor    %eax,-0x4(%ebp)
4076d0:	8d 45 ec             	lea    -0x14(%ebp),%eax
4076d3:	50                   	push   %eax
4076d4:	ff 15 a4 71 42 00    	call   *0x4271a4
4076da:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4076dd:	8d 45 fc             	lea    -0x4(%ebp),%eax
4076e0:	33 4d ec             	xor    -0x14(%ebp),%ecx
4076e3:	33 4d fc             	xor    -0x4(%ebp),%ecx
4076e6:	33 c8                	xor    %eax,%ecx
4076e8:	3b cf                	cmp    %edi,%ecx
4076ea:	75 07                	jne    0x4076f3
4076ec:	b9 4f e6 40 bb       	mov    $0xbb40e64f,%ecx
4076f1:	eb 10                	jmp    0x407703
4076f3:	85 ce                	test   %ecx,%esi
4076f5:	75 0c                	jne    0x407703
4076f7:	8b c1                	mov    %ecx,%eax
4076f9:	0d 11 47 00 00       	or     $0x4711,%eax
4076fe:	c1 e0 10             	shl    $0x10,%eax
407701:	0b c8                	or     %eax,%ecx
407703:	89 0d 28 ba 43 00    	mov    %ecx,0x43ba28
407709:	f7 d1                	not    %ecx
40770b:	89 0d 24 ba 43 00    	mov    %ecx,0x43ba24
407711:	5f                   	pop    %edi
407712:	5e                   	pop    %esi
407713:	8b e5                	mov    %ebp,%esp
407715:	5d                   	pop    %ebp
407716:	c3                   	ret
407717:	33 c0                	xor    %eax,%eax
407719:	c3                   	ret
40771a:	33 c0                	xor    %eax,%eax
40771c:	c3                   	ret
40771d:	b8 00 40 00 00       	mov    $0x4000,%eax
407722:	c3                   	ret
407723:	33 c0                	xor    %eax,%eax
407725:	c3                   	ret
407726:	33 c0                	xor    %eax,%eax
407728:	c3                   	ret
407729:	68 58 96 83 02       	push   $0x2839658
40772e:	ff 15 b0 71 42 00    	call   *0x4271b0
407734:	c3                   	ret
407735:	b0 01                	mov    $0x1,%al
407737:	c3                   	ret
407738:	68 00 00 03 00       	push   $0x30000
40773d:	68 00 00 01 00       	push   $0x10000
407742:	6a 00                	push   $0x0
407744:	e8 bd 03 01 00       	call   0x417b06
407749:	83 c4 0c             	add    $0xc,%esp
40774c:	85 c0                	test   %eax,%eax
40774e:	75 01                	jne    0x407751
407750:	c3                   	ret
407751:	6a 07                	push   $0x7
407753:	e8 d5 fc ff ff       	call   0x40742d
407758:	cc                   	int3
407759:	c3                   	ret
40775a:	c3                   	ret
40775b:	e8 9b dd ff ff       	call   0x4054fb
407760:	8b 48 04             	mov    0x4(%eax),%ecx
407763:	83 08 04             	orl    $0x4,(%eax)
407766:	89 48 04             	mov    %ecx,0x4(%eax)
407769:	e8 93 dd ff ff       	call   0x405501
40776e:	8b 48 04             	mov    0x4(%eax),%ecx
407771:	83 08 02             	orl    $0x2,(%eax)
407774:	89 48 04             	mov    %ecx,0x4(%eax)
407777:	c3                   	ret
407778:	33 c0                	xor    %eax,%eax
40777a:	39 05 40 ba 43 00    	cmp    %eax,0x43ba40
407780:	0f 94 c0             	sete   %al
407783:	c3                   	ret
407784:	b8 f4 a0 83 02       	mov    $0x283a0f4,%eax
407789:	c3                   	ret
40778a:	b8 f0 a0 83 02       	mov    $0x283a0f0,%eax
40778f:	c3                   	ret
407790:	53                   	push   %ebx
407791:	56                   	push   %esi
407792:	be d8 75 43 00       	mov    $0x4375d8,%esi
407797:	bb d8 75 43 00       	mov    $0x4375d8,%ebx
40779c:	3b f3                	cmp    %ebx,%esi
40779e:	73 18                	jae    0x4077b8
4077a0:	57                   	push   %edi
4077a1:	8b 3e                	mov    (%esi),%edi
4077a3:	85 ff                	test   %edi,%edi
4077a5:	74 09                	je     0x4077b0
4077a7:	8b cf                	mov    %edi,%ecx
4077a9:	e8 c3 f8 ff ff       	call   0x407071
4077ae:	ff d7                	call   *%edi
4077b0:	83 c6 04             	add    $0x4,%esi
4077b3:	3b f3                	cmp    %ebx,%esi
4077b5:	72 ea                	jb     0x4077a1
4077b7:	5f                   	pop    %edi
4077b8:	5e                   	pop    %esi
4077b9:	5b                   	pop    %ebx
4077ba:	c3                   	ret
4077bb:	53                   	push   %ebx
4077bc:	56                   	push   %esi
4077bd:	be e0 75 43 00       	mov    $0x4375e0,%esi
4077c2:	bb e0 75 43 00       	mov    $0x4375e0,%ebx
4077c7:	3b f3                	cmp    %ebx,%esi
4077c9:	73 18                	jae    0x4077e3
4077cb:	57                   	push   %edi
4077cc:	8b 3e                	mov    (%esi),%edi
4077ce:	85 ff                	test   %edi,%edi
4077d0:	74 09                	je     0x4077db
4077d2:	8b cf                	mov    %edi,%ecx
4077d4:	e8 98 f8 ff ff       	call   0x407071
4077d9:	ff d7                	call   *%edi
4077db:	83 c6 04             	add    $0x4,%esi
4077de:	3b f3                	cmp    %ebx,%esi
4077e0:	72 ea                	jb     0x4077cc
4077e2:	5f                   	pop    %edi
4077e3:	5e                   	pop    %esi
4077e4:	5b                   	pop    %ebx
4077e5:	c3                   	ret
4077e6:	55                   	push   %ebp
4077e7:	8b ec                	mov    %esp,%ebp
4077e9:	6a 00                	push   $0x0
4077eb:	ff 15 9c 71 42 00    	call   *0x42719c
4077f1:	ff 75 08             	push   0x8(%ebp)
4077f4:	ff 15 98 71 42 00    	call   *0x427198
4077fa:	68 09 04 00 c0       	push   $0xc0000409
4077ff:	ff 15 b4 71 42 00    	call   *0x4271b4
407805:	50                   	push   %eax
407806:	ff 15 b8 71 42 00    	call   *0x4271b8
40780c:	5d                   	pop    %ebp
40780d:	c3                   	ret
40780e:	55                   	push   %ebp
40780f:	8b ec                	mov    %esp,%ebp
407811:	81 ec 24 03 00 00    	sub    $0x324,%esp
407817:	6a 17                	push   $0x17
407819:	e8 b4 e9 01 00       	call   0x4261d2
40781e:	85 c0                	test   %eax,%eax
407820:	74 05                	je     0x407827
407822:	6a 02                	push   $0x2
407824:	59                   	pop    %ecx
407825:	cd 29                	int    $0x29
407827:	a3 60 97 83 02       	mov    %eax,0x2839760
40782c:	89 0d 5c 97 83 02    	mov    %ecx,0x283975c
407832:	89 15 58 97 83 02    	mov    %edx,0x2839758
407838:	89 1d 54 97 83 02    	mov    %ebx,0x2839754
40783e:	89 35 50 97 83 02    	mov    %esi,0x2839750
407844:	89 3d 4c 97 83 02    	mov    %edi,0x283974c
40784a:	66 8c 15 78 97 83 02 	data16 mov %ss,0x2839778
407851:	66 8c 0d 6c 97 83 02 	data16 mov %cs,0x283976c
407858:	66 8c 1d 48 97 83 02 	data16 mov %ds,0x2839748
40785f:	66 8c 05 44 97 83 02 	data16 mov %es,0x2839744
407866:	66 8c 25 40 97 83 02 	data16 mov %fs,0x2839740
40786d:	66 8c 2d 3c 97 83 02 	data16 mov %gs,0x283973c
407874:	9c                   	pushf
407875:	8f 05 70 97 83 02    	pop    0x2839770
40787b:	8b 45 00             	mov    0x0(%ebp),%eax
40787e:	a3 64 97 83 02       	mov    %eax,0x2839764
407883:	8b 45 04             	mov    0x4(%ebp),%eax
407886:	a3 68 97 83 02       	mov    %eax,0x2839768
40788b:	8d 45 08             	lea    0x8(%ebp),%eax
40788e:	a3 74 97 83 02       	mov    %eax,0x2839774
407893:	8b 85 dc fc ff ff    	mov    -0x324(%ebp),%eax