4065cf:	85 c0                	test   %eax,%eax
4065d1:	74 0f                	je     0x4065e2
4065d3:	ff 75 08             	push   0x8(%ebp)
4065d6:	e8 5f 04 00 00       	call   0x406a3a
4065db:	8b f0                	mov    %eax,%esi
4065dd:	59                   	pop    %ecx
4065de:	85 f6                	test   %esi,%esi
4065e0:	74 e4                	je     0x4065c6
4065e2:	8b c6                	mov    %esi,%eax
4065e4:	5e                   	pop    %esi
4065e5:	5d                   	pop    %ebp
4065e6:	c3                   	ret
4065e7:	cc                   	int3
4065e8:	cc                   	int3
4065e9:	cc                   	int3
4065ea:	cc                   	int3
4065eb:	cc                   	int3
4065ec:	cc                   	int3
4065ed:	e9 60 04 00 00       	jmp    0x406a52
4065f2:	cc                   	int3
4065f3:	cc                   	int3
4065f4:	cc                   	int3
4065f5:	cc                   	int3
4065f6:	cc                   	int3
4065f7:	cc                   	int3
4065f8:	cc                   	int3
4065f9:	cc                   	int3
4065fa:	cc                   	int3
4065fb:	cc                   	int3
4065fc:	cc                   	int3
4065fd:	cc                   	int3
4065fe:	cc                   	int3
4065ff:	cc                   	int3
406600:	e8 5a 02 00 00       	call   0x40685f
406605:	6a 01                	push   $0x1
406607:	a3 d8 71 40 00       	mov    %eax,0x4071d8
40660c:	e8 39 05 00 00       	call   0x406b4a
406611:	50                   	push   %eax
406612:	ff 15 8c 81 40 00    	call   *0x40818c
406618:	83 0d 0c 75 40 00 ff 	orl    $0xffffffff,0x40750c
40661f:	83 0d 10 75 40 00 ff 	orl    $0xffffffff,0x407510
406626:	59                   	pop    %ecx
406627:	59                   	pop    %ecx
406628:	ff 15 80 81 40 00    	call   *0x408180
40662e:	8b 0d 08 75 40 00    	mov    0x407508,%ecx
406634:	89 08                	mov    %ecx,(%eax)
406636:	ff 15 98 81 40 00    	call   *0x408198
40663c:	8b 0d fc 74 40 00    	mov    0x4074fc,%ecx
406642:	89 08                	mov    %ecx,(%eax)
406644:	e8 57 05 00 00       	call   0x406ba0
406649:	83 3d b0 71 40 00 00 	cmpl   $0x0,0x4071b0
406650:	75 0c                	jne    0x40665e
406652:	68 a0 6b 40 00       	push   $0x406ba0
406657:	ff 15 7c 81 40 00    	call   *0x40817c
40665d:	59                   	pop    %ecx
40665e:	e8 44 07 00 00       	call   0x406da7
406663:	33 c0                	xor    %eax,%eax
406665:	c3                   	ret
406666:	cc                   	int3
406667:	cc                   	int3
406668:	cc                   	int3
406669:	cc                   	int3
40666a:	cc                   	int3
40666b:	cc                   	int3
40666c:	cc                   	int3
40666d:	cc                   	int3
40666e:	cc                   	int3
40666f:	cc                   	int3
406670:	a1 04 75 40 00       	mov    0x407504,%eax
406675:	68 dc 71 40 00       	push   $0x4071dc
40667a:	ff 35 00 75 40 00    	push   0x407500
406680:	a3 dc 71 40 00       	mov    %eax,0x4071dc
406685:	68 d0 71 40 00       	push   $0x4071d0
40668a:	68 cc 71 40 00       	push   $0x4071cc
40668f:	68 c8 71 40 00       	push   $0x4071c8
406694:	ff 15 90 81 40 00    	call   *0x408190
40669a:	83 c4 14             	add    $0x14,%esp
40669d:	a3 d4 71 40 00       	mov    %eax,0x4071d4
4066a2:	c3                   	ret
4066a3:	cc                   	int3
4066a4:	cc                   	int3
4066a5:	cc                   	int3
4066a6:	cc                   	int3
4066a7:	cc                   	int3
4066a8:	cc                   	int3
4066a9:	6a 0c                	push   $0xc
4066ab:	68 d8 6e 40 00       	push   $0x406ed8
4066b0:	e8 17 07 00 00       	call   0x406dcc
4066b5:	33 db                	xor    %ebx,%ebx
4066b7:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4066ba:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
4066c0:	8b 70 04             	mov    0x4(%eax),%esi
4066c3:	8b fb                	mov    %ebx,%edi
4066c5:	ba 14 75 40 00       	mov    $0x407514,%edx
4066ca:	8b ce                	mov    %esi,%ecx
4066cc:	33 c0                	xor    %eax,%eax
4066ce:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
4066d2:	85 c0                	test   %eax,%eax
4066d4:	74 18                	je     0x4066ee
4066d6:	3b c6                	cmp    %esi,%eax
4066d8:	75 07                	jne    0x4066e1
4066da:	33 f6                	xor    %esi,%esi
4066dc:	46                   	inc    %esi
4066dd:	8b fe                	mov    %esi,%edi
4066df:	eb 10                	jmp    0x4066f1
4066e1:	68 e8 03 00 00       	push   $0x3e8
4066e6:	ff 15 94 80 40 00    	call   *0x408094
4066ec:	eb d7                	jmp    0x4066c5
4066ee:	33 f6                	xor    %esi,%esi
4066f0:	46                   	inc    %esi
4066f1:	39 35 18 75 40 00    	cmp    %esi,0x407518
4066f7:	75 0a                	jne    0x406703
4066f9:	6a 1f                	push   $0x1f
4066fb:	e8 86 04 00 00       	call   0x406b86
406700:	59                   	pop    %ecx
406701:	eb 3a                	jmp    0x40673d
406703:	39 1d 18 75 40 00    	cmp    %ebx,0x407518
406709:	75 2c                	jne    0x406737
40670b:	89 35 18 75 40 00    	mov    %esi,0x407518
406711:	68 e0 10 40 00       	push   $0x4010e0
406716:	68 d4 10 40 00       	push   $0x4010d4
40671b:	e8 08 01 00 00       	call   0x406828
406720:	59                   	pop    %ecx
406721:	59                   	pop    %ecx
406722:	85 c0                	test   %eax,%eax
406724:	74 17                	je     0x40673d
406726:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40672d:	b8 ff 00 00 00       	mov    $0xff,%eax
406732:	e9 db 00 00 00       	jmp    0x406812
406737:	89 35 c4 71 40 00    	mov    %esi,0x4071c4
40673d:	39 35 18 75 40 00    	cmp    %esi,0x407518
406743:	75 1b                	jne    0x406760
406745:	68 d0 10 40 00       	push   $0x4010d0
40674a:	68 c8 10 40 00       	push   $0x4010c8
40674f:	e8 6c 06 00 00       	call   0x406dc0
406754:	59                   	pop    %ecx
406755:	59                   	pop    %ecx
406756:	c7 05 18 75 40 00 02 	movl   $0x2,0x407518
40675d:	00 00 00
406760:	85 ff                	test   %edi,%edi
406762:	75 09                	jne    0x40676d
406764:	33 c0                	xor    %eax,%eax
406766:	b9 14 75 40 00       	mov    $0x407514,%ecx
40676b:	87 01                	xchg   %eax,(%ecx)
40676d:	83 3d 1c 75 40 00 00 	cmpl   $0x0,0x40751c
406774:	74 23                	je     0x406799
406776:	68 1c 75 40 00       	push   $0x40751c
40677b:	e8 80 04 00 00       	call   0x406c00
406780:	59                   	pop    %ecx
406781:	85 c0                	test   %eax,%eax
406783:	74 14                	je     0x406799
406785:	53                   	push   %ebx
406786:	6a 02                	push   $0x2
406788:	53                   	push   %ebx
406789:	8b 35 1c 75 40 00    	mov    0x40751c,%esi
40678f:	8b ce                	mov    %esi,%ecx
406791:	ff 15 ec 81 40 00    	call   *0x4081ec
406797:	ff d6                	call   *%esi
406799:	ff 35 d0 71 40 00    	push   0x4071d0
40679f:	ff 35 cc 71 40 00    	push   0x4071cc
4067a5:	ff 35 c8 71 40 00    	push   0x4071c8
4067ab:	e8 37 be ff ff       	call   0x4025e7
4067b0:	83 c4 0c             	add    $0xc,%esp
4067b3:	a3 c0 71 40 00       	mov    %eax,0x4071c0
4067b8:	83 3d d8 71 40 00 00 	cmpl   $0x0,0x4071d8
4067bf:	75 36                	jne    0x4067f7
4067c1:	50                   	push   %eax
4067c2:	ff 15 88 81 40 00    	call   *0x408188
4067c8:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4067cb:	8b 01                	mov    (%ecx),%eax
4067cd:	8b 00                	mov    (%eax),%eax
4067cf:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4067d2:	51                   	push   %ecx
4067d3:	50                   	push   %eax
4067d4:	e8 eb 02 00 00       	call   0x406ac4
4067d9:	59                   	pop    %ecx
4067da:	59                   	pop    %ecx
4067db:	c3                   	ret
4067dc:	8b 65 e8             	mov    -0x18(%ebp),%esp
4067df:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4067e2:	a3 c0 71 40 00       	mov    %eax,0x4071c0
4067e7:	83 3d d8 71 40 00 00 	cmpl   $0x0,0x4071d8
4067ee:	75 07                	jne    0x4067f7
4067f0:	50                   	push   %eax
4067f1:	ff 15 b4 81 40 00    	call   *0x4081b4
4067f7:	83 3d c4 71 40 00 00 	cmpl   $0x0,0x4071c4
4067fe:	75 0b                	jne    0x40680b
406800:	ff 15 84 81 40 00    	call   *0x408184
406806:	a1 c0 71 40 00       	mov    0x4071c0,%eax
40680b:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
406812:	8b 4d f0             	mov    -0x10(%ebp),%ecx
406815:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40681c:	59                   	pop    %ecx
40681d:	5f                   	pop    %edi
40681e:	5e                   	pop    %esi
40681f:	5b                   	pop    %ebx
406820:	c9                   	leave
406821:	c3                   	ret
406822:	cc                   	int3
406823:	cc                   	int3
406824:	cc                   	int3
406825:	cc                   	int3
406826:	cc                   	int3
406827:	cc                   	int3
406828:	8b ff                	mov    %edi,%edi
40682a:	55                   	push   %ebp
40682b:	8b ec                	mov    %esp,%ebp
40682d:	56                   	push   %esi
40682e:	8b 75 08             	mov    0x8(%ebp),%esi
406831:	33 c0                	xor    %eax,%eax
406833:	3b 75 0c             	cmp    0xc(%ebp),%esi
406836:	73 1e                	jae    0x406856
406838:	57                   	push   %edi
406839:	85 c0                	test   %eax,%eax
40683b:	75 18                	jne    0x406855
40683d:	8b 3e                	mov    (%esi),%edi
40683f:	85 ff                	test   %edi,%edi
406841:	74 0a                	je     0x40684d
406843:	8b cf                	mov    %edi,%ecx
406845:	ff 15 ec 81 40 00    	call   *0x4081ec
40684b:	ff d7                	call   *%edi
40684d:	83 c6 04             	add    $0x4,%esi
406850:	3b 75 0c             	cmp    0xc(%ebp),%esi
406853:	72 e4                	jb     0x406839
406855:	5f                   	pop    %edi
406856:	5e                   	pop    %esi
406857:	5d                   	pop    %ebp
406858:	c3                   	ret
406859:	cc                   	int3
40685a:	cc                   	int3
40685b:	cc                   	int3
40685c:	cc                   	int3
40685d:	cc                   	int3
40685e:	cc                   	int3
40685f:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
406864:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
40686b:	75 55                	jne    0x4068c2
40686d:	8b 0d 3c 00 40 00    	mov    0x40003c,%ecx
406873:	81 b9 00 00 40 00 50 	cmpl   $0x4550,0x400000(%ecx)
40687a:	45 00 00
40687d:	75 43                	jne    0x4068c2
40687f:	0f b7 81 18 00 40 00 	movzwl 0x400018(%ecx),%eax
406886:	ba 0b 01 00 00       	mov    $0x10b,%edx
40688b:	66 3b c2             	cmp    %dx,%ax
40688e:	74 1f                	je     0x4068af
406890:	ba 0b 02 00 00       	mov    $0x20b,%edx
406895:	66 3b c2             	cmp    %dx,%ax
406898:	75 28                	jne    0x4068c2
40689a:	83 b9 84 00 40 00 0e 	cmpl   $0xe,0x400084(%ecx)
4068a1:	76 1f                	jbe    0x4068c2
4068a3:	33 c0                	xor    %eax,%eax
4068a5:	39 81 f8 00 40 00    	cmp    %eax,0x4000f8(%ecx)
4068ab:	0f 95 c0             	setne  %al
4068ae:	c3                   	ret
4068af:	83 b9 74 00 40 00 0e 	cmpl   $0xe,0x400074(%ecx)
4068b6:	76 0a                	jbe    0x4068c2
4068b8:	33 c0                	xor    %eax,%eax
4068ba:	39 81 e8 00 40 00    	cmp    %eax,0x4000e8(%ecx)
4068c0:	eb e9                	jmp    0x4068ab
4068c2:	33 c0                	xor    %eax,%eax
4068c4:	c3                   	ret
4068c5:	cc                   	int3
4068c6:	cc                   	int3
4068c7:	cc                   	int3
4068c8:	cc                   	int3
4068c9:	cc                   	int3
4068ca:	cc                   	int3
4068cb:	cc                   	int3
4068cc:	cc                   	int3
4068cd:	cc                   	int3
4068ce:	cc                   	int3
4068cf:	cc                   	int3
4068d0:	e8 34 04 00 00       	call   0x406d09
4068d5:	e9 cf fd ff ff       	jmp    0x4066a9
4068da:	cc                   	int3
4068db:	cc                   	int3
4068dc:	cc                   	int3
4068dd:	cc                   	int3
4068de:	cc                   	int3
4068df:	cc                   	int3
4068e0:	3b 0d b4 71 40 00    	cmp    0x4071b4,%ecx
4068e6:	75 03                	jne    0x4068eb
4068e8:	c2 00 00             	ret    $0x0
4068eb:	e9 36 00 00 00       	jmp    0x406926
4068f0:	cc                   	int3
4068f1:	cc                   	int3
4068f2:	cc                   	int3
4068f3:	cc                   	int3
4068f4:	cc                   	int3
4068f5:	cc                   	int3
4068f6:	8b ff                	mov    %edi,%edi
4068f8:	55                   	push   %ebp
4068f9:	8b ec                	mov    %esp,%ebp
4068fb:	6a 00                	push   $0x0
4068fd:	ff 15 90 80 40 00    	call   *0x408090
406903:	ff 75 08             	push   0x8(%ebp)
406906:	ff 15 70 80 40 00    	call   *0x408070
40690c:	68 09 04 00 c0       	push   $0xc0000409
406911:	ff 15 30 80 40 00    	call   *0x408030
406917:	50                   	push   %eax
406918:	ff 15 8c 80 40 00    	call   *0x40808c
40691e:	5d                   	pop    %ebp
40691f:	c3                   	ret
406920:	cc                   	int3
406921:	cc                   	int3
406922:	cc                   	int3
406923:	cc                   	int3
406924:	cc                   	int3
406925:	cc                   	int3
406926:	8b ff                	mov    %edi,%edi
406928:	55                   	push   %ebp
406929:	8b ec                	mov    %esp,%ebp
40692b:	81 ec 24 03 00 00    	sub    $0x324,%esp
406931:	a3 e0 72 40 00       	mov    %eax,0x4072e0
406936:	89 0d dc 72 40 00    	mov    %ecx,0x4072dc
40693c:	89 15 d8 72 40 00    	mov    %edx,0x4072d8
406942:	89 1d d4 72 40 00    	mov    %ebx,0x4072d4
406948:	89 35 d0 72 40 00    	mov    %esi,0x4072d0
40694e:	89 3d cc 72 40 00    	mov    %edi,0x4072cc
406954:	66 8c 15 f8 72 40 00 	data16 mov %ss,0x4072f8
40695b:	66 8c 0d ec 72 40 00 	data16 mov %cs,0x4072ec
406962:	66 8c 1d c8 72 40 00 	data16 mov %ds,0x4072c8
406969:	66 8c 05 c4 72 40 00 	data16 mov %es,0x4072c4
406970:	66 8c 25 c0 72 40 00 	data16 mov %fs,0x4072c0
406977:	66 8c 2d bc 72 40 00 	data16 mov %gs,0x4072bc
40697e:	9c                   	pushf
40697f:	8f 05 f0 72 40 00    	pop    0x4072f0
406985:	8b 45 00             	mov    0x0(%ebp),%eax
406988:	a3 e4 72 40 00       	mov    %eax,0x4072e4
40698d:	8b 45 04             	mov    0x4(%ebp),%eax
406990:	a3 e8 72 40 00       	mov    %eax,0x4072e8
406995:	8d 45 08             	lea    0x8(%ebp),%eax
406998:	a3 f4 72 40 00       	mov    %eax,0x4072f4
40699d:	8b 85 dc fc ff ff    	mov    -0x324(%ebp),%eax
4069a3:	c7 05 30 72 40 00 01 	movl   $0x10001,0x407230
4069aa:	00 01 00
4069ad:	a1 e8 72 40 00       	mov    0x4072e8,%eax
4069b2:	a3 ec 71 40 00       	mov    %eax,0x4071ec
4069b7:	c7 05 e0 71 40 00 09 	movl   $0xc0000409,0x4071e0
4069be:	04 00 c0
4069c1:	c7 05 e4 71 40 00 01 	movl   $0x1,0x4071e4
4069c8:	00 00 00
4069cb:	c7 05 f0 71 40 00 03 	movl   $0x3,0x4071f0
4069d2:	00 00 00
4069d5:	6a 04                	push   $0x4
4069d7:	58                   	pop    %eax
4069d8:	6b c0 00             	imul   $0x0,%eax,%eax
4069db:	c7 80 f4 71 40 00 02 	movl   $0x2,0x4071f4(%eax)
4069e2:	00 00 00
4069e5:	6a 04                	push   $0x4