40764c:	6a 00                	push   $0x0
40764e:	68 00 00 0f 00       	push   $0xf0000
407653:	68 05 b0 00 00       	push   $0xb005
407658:	8b 45 1c             	mov    0x1c(%ebp),%eax
40765b:	50                   	push   %eax
40765c:	e8 83 d9 ff ff       	call   0x404fe4
407661:	eb 0e                	jmp    0x407671
407663:	83 7f 04 02          	cmpl   $0x2,0x4(%edi)
407667:	75 08                	jne    0x407671
407669:	8b 45 1c             	mov    0x1c(%ebp),%eax
40766c:	e8 b3 fe ff ff       	call   0x407524
407671:	8b c3                	mov    %ebx,%eax
407673:	5a                   	pop    %edx
407674:	5d                   	pop    %ebp
407675:	5f                   	pop    %edi
407676:	5e                   	pop    %esi
407677:	5b                   	pop    %ebx
407678:	c3                   	ret
407679:	8d 40 00             	lea    0x0(%eax),%eax
40767c:	55                   	push   %ebp
40767d:	8b ec                	mov    %esp,%ebp
40767f:	51                   	push   %ecx
407680:	53                   	push   %ebx
407681:	56                   	push   %esi
407682:	57                   	push   %edi
407683:	8b f9                	mov    %ecx,%edi
407685:	8b f2                	mov    %edx,%esi
407687:	8b d8                	mov    %eax,%ebx
407689:	b8 ff 00 00 00       	mov    $0xff,%eax
40768e:	e8 81 5e 00 00       	call   0x40d514
407693:	8a 45 0c             	mov    0xc(%ebp),%al
407696:	50                   	push   %eax
407697:	8b 45 08             	mov    0x8(%ebp),%eax
40769a:	50                   	push   %eax
40769b:	8b cf                	mov    %edi,%ecx
40769d:	8b d6                	mov    %esi,%edx
40769f:	8b c3                	mov    %ebx,%eax
4076a1:	e8 a2 63 00 00       	call   0x40da48
4076a6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4076a9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4076ac:	e8 07 39 00 00       	call   0x40afb8
4076b1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4076b4:	5f                   	pop    %edi
4076b5:	5e                   	pop    %esi
4076b6:	5b                   	pop    %ebx
4076b7:	59                   	pop    %ecx
4076b8:	5d                   	pop    %ebp
4076b9:	c2 08 00             	ret    $0x8
4076bc:	53                   	push   %ebx
4076bd:	56                   	push   %esi
4076be:	57                   	push   %edi
4076bf:	55                   	push   %ebp
4076c0:	83 c4 d0             	add    $0xffffffd0,%esp
4076c3:	89 0c 24             	mov    %ecx,(%esp)
4076c6:	8b f2                	mov    %edx,%esi
4076c8:	8b f8                	mov    %eax,%edi
4076ca:	33 db                	xor    %ebx,%ebx
4076cc:	81 7e 04 85 00 00 00 	cmpl   $0x85,0x4(%esi)
4076d3:	0f 85 1c 01 00 00    	jne    0x4077f5
4076d9:	6a ec                	push   $0xffffffec
4076db:	8b 47 1c             	mov    0x1c(%edi),%eax
4076de:	50                   	push   %eax
4076df:	e8 c8 d8 ff ff       	call   0x404fac
4076e4:	f6 c4 02             	test   $0x2,%ah
4076e7:	0f 84 08 01 00 00    	je     0x4077f5
4076ed:	8d 44 24 0d          	lea    0xd(%esp),%eax
4076f1:	50                   	push   %eax
4076f2:	8b 47 1c             	mov    0x1c(%edi),%eax
4076f5:	50                   	push   %eax
4076f6:	e8 a5 d3 ff ff       	call   0x404aa0
4076fb:	8b 44 24 11          	mov    0x11(%esp),%eax
4076ff:	f7 d8                	neg    %eax
407701:	50                   	push   %eax
407702:	8b 44 24 11          	mov    0x11(%esp),%eax
407706:	f7 d8                	neg    %eax
407708:	50                   	push   %eax
407709:	8d 44 24 15          	lea    0x15(%esp),%eax
40770d:	50                   	push   %eax
40770e:	e8 d5 d3 ff ff       	call   0x404ae8
407713:	8b 47 1c             	mov    0x1c(%edi),%eax
407716:	50                   	push   %eax
407717:	e8 7c d3 ff ff       	call   0x404a98
40771c:	8b e8                	mov    %eax,%ebp
40771e:	56                   	push   %esi
40771f:	57                   	push   %edi
407720:	8d 74 24 15          	lea    0x15(%esp),%esi
407724:	8d 7c 24 25          	lea    0x25(%esp),%edi
407728:	a5                   	movsl  %ds:(%esi),%es:(%edi)
407729:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40772a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40772b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40772c:	5f                   	pop    %edi
40772d:	5e                   	pop    %esi
40772e:	8b 44 24 19          	mov    0x19(%esp),%eax
407732:	83 e8 02             	sub    $0x2,%eax
407735:	50                   	push   %eax
407736:	8b 44 24 19          	mov    0x19(%esp),%eax
40773a:	83 e8 02             	sub    $0x2,%eax
40773d:	50                   	push   %eax
40773e:	8b 44 24 19          	mov    0x19(%esp),%eax
407742:	83 c0 02             	add    $0x2,%eax
407745:	50                   	push   %eax
407746:	8b 44 24 19          	mov    0x19(%esp),%eax
40774a:	83 c0 02             	add    $0x2,%eax
40774d:	50                   	push   %eax
40774e:	55                   	push   %ebp
40774f:	e8 b4 d1 ff ff       	call   0x404908
407754:	c6 44 24 04 03       	movb   $0x3,0x4(%esp)
407759:	c7 44 24 05 01 00 00 	movl   $0x1,0x5(%esp)
407760:	00
407761:	b8 01 00 00 00       	mov    $0x1,%eax
407766:	89 44 24 09          	mov    %eax,0x9(%esp)
40776a:	83 3d e4 98 42 00 00 	cmpl   $0x0,0x4298e4
407771:	75 39                	jne    0x4077ac
407773:	68 00 78 40 00       	push   $0x407800
407778:	e8 9f d7 ff ff       	call   0x404f1c
40777d:	a3 ec 98 42 00       	mov    %eax,0x4298ec
407782:	68 0c 78 40 00       	push   $0x40780c
407787:	a1 ec 98 42 00       	mov    0x4298ec,%eax
40778c:	50                   	push   %eax
40778d:	e8 76 d0 ff ff       	call   0x404808
407792:	a3 e4 98 42 00       	mov    %eax,0x4298e4
407797:	68 20 78 40 00       	push   $0x407820
40779c:	a1 ec 98 42 00       	mov    0x4298ec,%eax
4077a1:	50                   	push   %eax
4077a2:	e8 61 d0 ff ff       	call   0x404808
4077a7:	a3 e8 98 42 00       	mov    %eax,0x4298e8
4077ac:	83 3d e4 98 42 00 00 	cmpl   $0x0,0x4298e4
4077b3:	74 36                	je     0x4077eb
4077b5:	b3 01                	mov    $0x1,%bl
4077b7:	8b d6                	mov    %esi,%edx
4077b9:	8b c7                	mov    %edi,%eax
4077bb:	e8 14 43 00 00       	call   0x40bad4
4077c0:	8b 14 24             	mov    (%esp),%edx
4077c3:	89 02                	mov    %eax,(%edx)
4077c5:	6a 00                	push   $0x0
4077c7:	8d 44 24 11          	lea    0x11(%esp),%eax
4077cb:	50                   	push   %eax
4077cc:	8b 44 24 11          	mov    0x11(%esp),%eax
4077d0:	50                   	push   %eax
4077d1:	8b 44 24 11          	mov    0x11(%esp),%eax
4077d5:	50                   	push   %eax
4077d6:	55                   	push   %ebp
4077d7:	68 30 78 40 00       	push   $0x407830
4077dc:	6a 00                	push   $0x0
4077de:	ff 15 e8 98 42 00    	call   *0x4298e8
4077e4:	50                   	push   %eax
4077e5:	ff 15 e4 98 42 00    	call   *0x4298e4
4077eb:	55                   	push   %ebp
4077ec:	8b 47 1c             	mov    0x1c(%edi),%eax
4077ef:	50                   	push   %eax
4077f0:	e8 03 d3 ff ff       	call   0x404af8
4077f5:	8b c3                	mov    %ebx,%eax
4077f7:	83 c4 30             	add    $0x30,%esp
4077fa:	5d                   	pop    %ebp
4077fb:	5f                   	pop    %edi
4077fc:	5e                   	pop    %esi
4077fd:	5b                   	pop    %ebx
4077fe:	c3                   	ret
4077ff:	00 75 78             	add    %dh,0x78(%ebp)
407802:	74 68                	je     0x40786c
407804:	65 6d                	gs insl (%dx),%es:(%edi)
407806:	65 2e 64 6c          	gs cs fs insb (%dx),%es:(%edi)
40780a:	6c                   	insb   (%dx),%es:(%edi)
40780b:	00 44 72 61          	add    %al,0x61(%edx,%esi,2)
40780f:	77 54                	ja     0x407865
407811:	68 65 6d 65 42       	push   $0x42656d65
407816:	61                   	popa
407817:	63 6b 67             	arpl   %ebp,0x67(%ebx)
40781a:	72 6f                	jb     0x40788b
40781c:	75 6e                	jne    0x40788c
40781e:	64 00 4f 70          	add    %cl,%fs:0x70(%edi)
407822:	65 6e                	outsb  %gs:(%esi),(%dx)
407824:	54                   	push   %esp
407825:	68 65 6d 65 44       	push   $0x44656d65
40782a:	61                   	popa
40782b:	74 61                	je     0x40788e
40782d:	00 00                	add    %al,(%eax)
40782f:	00 65 00             	add    %ah,0x0(%ebp)
407832:	64 00 69 00          	add    %ch,%fs:0x0(%ecx)
407836:	74 00                	je     0x407838
407838:	00 00                	add    %al,(%eax)
40783a:	00 00                	add    %al,(%eax)
40783c:	53                   	push   %ebx
40783d:	8b d8                	mov    %eax,%ebx
40783f:	84 d2                	test   %dl,%dl
407841:	74 06                	je     0x407849
407843:	80 4b 26 01          	orb    $0x1,0x26(%ebx)
407847:	5b                   	pop    %ebx
407848:	c3                   	ret
407849:	80 63 26 fe          	andb   $0xfe,0x26(%ebx)
40784d:	5b                   	pop    %ebx
40784e:	c3                   	ret
40784f:	90                   	nop
407850:	f6 40 36 10          	testb  $0x10,0x36(%eax)
407854:	0f 95 c0             	setne  %al
407857:	c3                   	ret
407858:	53                   	push   %ebx
407859:	83 c4 f8             	add    $0xfffffff8,%esp
40785c:	8b d8                	mov    %eax,%ebx
40785e:	c6 04 24 00          	movb   $0x0,(%esp)
407862:	8b 42 04             	mov    0x4(%edx),%eax
407865:	83 f8 4e             	cmp    $0x4e,%eax
407868:	75 2b                	jne    0x407895
40786a:	8b 42 0c             	mov    0xc(%edx),%eax
40786d:	89 44 24 04          	mov    %eax,0x4(%esp)
407871:	8b 44 24 04          	mov    0x4(%esp),%eax
407875:	8b 40 08             	mov    0x8(%eax),%eax
407878:	2d 02 07 00 00       	sub    $0x702,%eax
40787d:	75 32                	jne    0x4078b1
40787f:	8b c3                	mov    %ebx,%eax
407881:	e8 ea 21 00 00       	call   0x409a70
407886:	f6 43 35 01          	testb  $0x1,0x35(%ebx)
40788a:	74 25                	je     0x4078b1
40788c:	8b c3                	mov    %ebx,%eax
40788e:	e8 d9 41 00 00       	call   0x40ba6c
407893:	eb 1c                	jmp    0x4078b1
407895:	83 f8 02             	cmp    $0x2,%eax
407898:	75 17                	jne    0x4078b1
40789a:	8b 83 12 01 00 00    	mov    0x112(%ebx),%eax
4078a0:	85 c0                	test   %eax,%eax
4078a2:	74 05                	je     0x4078a9
4078a4:	e8 b7 af ff ff       	call   0x402860
4078a9:	33 c0                	xor    %eax,%eax
4078ab:	89 83 12 01 00 00    	mov    %eax,0x112(%ebx)
4078b1:	8a 04 24             	mov    (%esp),%al
4078b4:	59                   	pop    %ecx
4078b5:	5a                   	pop    %edx
4078b6:	5b                   	pop    %ebx
4078b7:	c3                   	ret
4078b8:	53                   	push   %ebx
4078b9:	56                   	push   %esi
4078ba:	57                   	push   %edi
4078bb:	55                   	push   %ebp
4078bc:	83 c4 f0             	add    $0xfffffff0,%esp
4078bf:	66 89 54 24 04       	mov    %dx,0x4(%esp)
4078c4:	89 04 24             	mov    %eax,(%esp)
4078c7:	8d 7c 24 08          	lea    0x8(%esp),%edi
4078cb:	83 3d a8 98 42 00 00 	cmpl   $0x0,0x4298a8
4078d2:	75 7c                	jne    0x407950
4078d4:	33 db                	xor    %ebx,%ebx
4078d6:	8a 1d 6c 61 42 00    	mov    0x42616c,%bl
4078dc:	bd 03 00 00 00       	mov    $0x3,%ebp
4078e1:	be 01 00 00 00       	mov    $0x1,%esi
4078e6:	80 3d 6c 61 42 00 01 	cmpb   $0x1,0x42616c
4078ed:	76 07                	jbe    0x4078f6
4078ef:	8b dd                	mov    %ebp,%ebx
4078f1:	33 ed                	xor    %ebp,%ebp
4078f3:	83 ce ff             	or     $0xffffffff,%esi
4078f6:	68 01 80 00 00       	push   $0x8001
4078fb:	e8 60 cf ff ff       	call   0x404860
407900:	89 44 24 0c          	mov    %eax,0xc(%esp)
407904:	eb 29                	jmp    0x40792f
407906:	8b 04 9d 4c 61 42 00 	mov    0x42614c(,%ebx,4),%eax
40790d:	50                   	push   %eax
40790e:	e8 09 d6 ff ff       	call   0x404f1c
407913:	a3 a8 98 42 00       	mov    %eax,0x4298a8
407918:	8b 04 9d 5c 61 42 00 	mov    0x42615c(,%ebx,4),%eax
40791f:	a3 ac 98 42 00       	mov    %eax,0x4298ac
407924:	83 3d a8 98 42 00 20 	cmpl   $0x20,0x4298a8
40792b:	7f 09                	jg     0x407936
40792d:	03 de                	add    %esi,%ebx
40792f:	8d 04 2e             	lea    (%esi,%ebp,1),%eax
407932:	3b d8                	cmp    %eax,%ebx
407934:	75 d0                	jne    0x407906
407936:	83 3d a8 98 42 00 20 	cmpl   $0x20,0x4298a8
40793d:	7f 07                	jg     0x407946
40793f:	33 c0                	xor    %eax,%eax
407941:	a3 a8 98 42 00       	mov    %eax,0x4298a8
407946:	8b 44 24 0c          	mov    0xc(%esp),%eax
40794a:	50                   	push   %eax
40794b:	e8 10 cf ff ff       	call   0x404860
407950:	ba ac 63 42 00       	mov    $0x4263ac,%edx
407955:	8d 44 24 04          	lea    0x4(%esp),%eax
407959:	b9 0b 00 00 00       	mov    $0xb,%ecx
40795e:	e8 6d 28 00 00       	call   0x40a1d0
407963:	8b d8                	mov    %eax,%ebx
407965:	6a 01                	push   $0x1
407967:	a1 84 61 42 00       	mov    0x426184,%eax
40796c:	50                   	push   %eax
40796d:	8b cb                	mov    %ebx,%ecx
40796f:	81 c9 04 00 81 50    	or     $0x50810004,%ecx
407975:	8b 15 ac 98 42 00    	mov    0x4298ac,%edx
40797b:	8b 44 24 08          	mov    0x8(%esp),%eax
40797f:	e8 f8 fc ff ff       	call   0x40767c
407984:	89 07                	mov    %eax,(%edi)
407986:	b8 10 01 00 00       	mov    $0x110,%eax
40798b:	e8 4c 30 00 00       	call   0x40a9dc
407990:	8b 17                	mov    (%edi),%edx
407992:	89 82 f6 00 00 00    	mov    %eax,0xf6(%edx)
407998:	8b 07                	mov    (%edi),%eax
40799a:	05 f6 00 00 00       	add    $0xf6,%eax
40799f:	83 c0 54             	add    $0x54,%eax
4079a2:	8b 17                	mov    (%edi),%edx
4079a4:	89 82 fa 00 00 00    	mov    %eax,0xfa(%edx)
4079aa:	8b 07                	mov    (%edi),%eax
4079ac:	50                   	push   %eax
4079ad:	68 84 e0 40 00       	push   $0x40e084
4079b2:	8b 07                	mov    (%edi),%eax
4079b4:	e8 a3 28 00 00       	call   0x40a25c
4079b9:	8b 07                	mov    (%edi),%eax
4079bb:	8a 15 5c 7a 40 00    	mov    0x407a5c,%dl
4079c1:	88 50 3c             	mov    %dl,0x3c(%eax)
4079c4:	f6 44 24 05 04       	testb  $0x4,0x5(%esp)
4079c9:	74 0b                	je     0x4079d6
4079cb:	8b 07                	mov    (%edi),%eax
4079cd:	8a 15 60 7a 40 00    	mov    0x407a60,%dl
4079d3:	88 50 3c             	mov    %dl,0x3c(%eax)
4079d6:	ba 58 78 40 00       	mov    $0x407858,%edx
4079db:	8b 07                	mov    (%edi),%eax
4079dd:	e8 56 20 00 00       	call   0x409a38
4079e2:	8b 07                	mov    (%edi),%eax
4079e4:	80 48 34 40          	orb    $0x40,0x34(%eax)
4079e8:	8b 07                	mov    (%edi),%eax
4079ea:	80 60 35 fd          	andb   $0xfd,0x35(%eax)
4079ee:	8b 07                	mov    (%edi),%eax
4079f0:	80 48 38 80          	orb    $0x80,0x38(%eax)
4079f4:	8b 07                	mov    (%edi),%eax
4079f6:	05 b6 00 00 00       	add    $0xb6,%eax
4079fb:	83 40 08 64          	addl   $0x64,0x8(%eax)
4079ff:	8b 50 04             	mov    0x4(%eax),%edx
407a02:	81 c2 c8 00 00 00    	add    $0xc8,%edx
407a08:	89 50 0c             	mov    %edx,0xc(%eax)
407a0b:	68 01 00 2d 04       	push   $0x42d0001
407a10:	6a 00                	push   $0x0
407a12:	68 45 04 00 00       	push   $0x445
407a17:	8b 07                	mov    (%edi),%eax
407a19:	50                   	push   %eax
407a1a:	e8 1d 4b 00 00       	call   0x40c53c
407a1f:	8b 07                	mov    (%edi),%eax
407a21:	bb 05 00 00 80       	mov    $0x80000005,%ebx
407a26:	89 98 a4 00 00 00    	mov    %ebx,0xa4(%eax)
407a2c:	8b c3                	mov    %ebx,%eax
407a2e:	e8 31 2a 00 00       	call   0x40a464
407a33:	50                   	push   %eax
407a34:	6a 00                	push   $0x0
407a36:	68 43 04 00 00       	push   $0x443
407a3b:	8b 07                	mov    (%edi),%eax
407a3d:	50                   	push   %eax
407a3e:	e8 f9 4a 00 00       	call   0x40c53c
407a43:	ba bc 76 40 00       	mov    $0x4076bc,%edx
407a48:	8b 07                	mov    (%edi),%eax
407a4a:	e8 e9 1f 00 00       	call   0x409a38
407a4f:	8b 07                	mov    (%edi),%eax
407a51:	83 c4 10             	add    $0x10,%esp
407a54:	5d                   	pop    %ebp
407a55:	5f                   	pop    %edi
407a56:	5e                   	pop    %esi
407a57:	5b                   	pop    %ebx
407a58:	c3                   	ret