401717:	50                   	push   %eax
401718:	57                   	push   %edi
401719:	68 00 11 40 00       	push   $0x401100
40171e:	56                   	push   %esi
40171f:	57                   	push   %edi
401720:	ff 15 7c 40 40 00    	call   *0x40407c
401726:	6a 0a                	push   $0xa
401728:	59                   	pop    %ecx
401729:	8b f8                	mov    %eax,%edi
40172b:	e8 50 fd ff ff       	call   0x401480
401730:	68 b4 11 40 00       	push   $0x4011b4
401735:	ff 15 40 40 40 00    	call   *0x404040
40173b:	8b d8                	mov    %eax,%ebx
40173d:	85 db                	test   %ebx,%ebx
40173f:	75 0a                	jne    0x40174b
401741:	ff 15 38 40 40 00    	call   *0x404038
401747:	8b f0                	mov    %eax,%esi
401749:	eb 42                	jmp    0x40178d
40174b:	68 cc 11 40 00       	push   $0x4011cc
401750:	53                   	push   %ebx
401751:	ff 15 2c 40 40 00    	call   *0x40402c
401757:	8b f0                	mov    %eax,%esi
401759:	85 f6                	test   %esi,%esi
40175b:	75 08                	jne    0x401765
40175d:	ff 15 38 40 40 00    	call   *0x404038
401763:	eb 1f                	jmp    0x401784
401765:	ff 75 14             	push   0x14(%ebp)
401768:	ff 15 3c 40 40 00    	call   *0x40403c
40176e:	8b c8                	mov    %eax,%ecx
401770:	e8 8c fe ff ff       	call   0x401601
401775:	50                   	push   %eax
401776:	ff 75 08             	push   0x8(%ebp)
401779:	8b ce                	mov    %esi,%ecx
40177b:	57                   	push   %edi
40177c:	ff 15 d0 40 40 00    	call   *0x4040d0
401782:	ff d6                	call   *%esi
401784:	53                   	push   %ebx
401785:	8b f0                	mov    %eax,%esi
401787:	ff 15 30 40 40 00    	call   *0x404030
40178d:	8d 4d fc             	lea    -0x4(%ebp),%ecx
401790:	e8 c8 fd ff ff       	call   0x40155d
401795:	85 ff                	test   %edi,%edi
401797:	74 07                	je     0x4017a0
401799:	57                   	push   %edi
40179a:	ff 15 74 40 40 00    	call   *0x404074
4017a0:	5f                   	pop    %edi
4017a1:	8b c6                	mov    %esi,%eax
4017a3:	5e                   	pop    %esi
4017a4:	5b                   	pop    %ebx
4017a5:	c9                   	leave
4017a6:	c2 10 00             	ret    $0x10
4017a9:	cc                   	int3
4017aa:	cc                   	int3
4017ab:	cc                   	int3
4017ac:	cc                   	int3
4017ad:	cc                   	int3
4017ae:	cc                   	int3
4017af:	cc                   	int3
4017b0:	e8 aa 02 00 00       	call   0x401a5f
4017b5:	6a 02                	push   $0x2
4017b7:	a3 28 30 40 00       	mov    %eax,0x403028
4017bc:	e8 07 04 00 00       	call   0x401bc8
4017c1:	50                   	push   %eax
4017c2:	ff 15 c8 40 40 00    	call   *0x4040c8
4017c8:	83 0d 5c 33 40 00 ff 	orl    $0xffffffff,0x40335c
4017cf:	83 0d 60 33 40 00 ff 	orl    $0xffffffff,0x403360
4017d6:	59                   	pop    %ecx
4017d7:	59                   	pop    %ecx
4017d8:	ff 15 a0 40 40 00    	call   *0x4040a0
4017de:	8b 0d 3c 30 40 00    	mov    0x40303c,%ecx
4017e4:	89 08                	mov    %ecx,(%eax)
4017e6:	ff 15 a8 40 40 00    	call   *0x4040a8
4017ec:	8b 0d 30 30 40 00    	mov    0x403030,%ecx
4017f2:	89 08                	mov    %ecx,(%eax)
4017f4:	e8 17 04 00 00       	call   0x401c10
4017f9:	83 3d 00 30 40 00 00 	cmpl   $0x0,0x403000
401800:	75 0c                	jne    0x40180e
401802:	68 10 1c 40 00       	push   $0x401c10
401807:	ff 15 9c 40 40 00    	call   *0x40409c
40180d:	59                   	pop    %ecx
40180e:	e8 ea 05 00 00       	call   0x401dfd
401813:	33 c0                	xor    %eax,%eax
401815:	c3                   	ret
401816:	cc                   	int3
401817:	cc                   	int3
401818:	cc                   	int3
401819:	cc                   	int3
40181a:	cc                   	int3
40181b:	cc                   	int3
40181c:	cc                   	int3
40181d:	cc                   	int3
40181e:	cc                   	int3
40181f:	cc                   	int3
401820:	a1 38 30 40 00       	mov    0x403038,%eax
401825:	68 2c 30 40 00       	push   $0x40302c
40182a:	ff 35 34 30 40 00    	push   0x403034
401830:	a3 2c 30 40 00       	mov    %eax,0x40302c
401835:	68 20 30 40 00       	push   $0x403020
40183a:	68 1c 30 40 00       	push   $0x40301c
40183f:	68 18 30 40 00       	push   $0x403018
401844:	ff 15 c4 40 40 00    	call   *0x4040c4
40184a:	83 c4 14             	add    $0x14,%esp
40184d:	a3 24 30 40 00       	mov    %eax,0x403024
401852:	c3                   	ret
401853:	6a 58                	push   $0x58
401855:	68 f8 1f 40 00       	push   $0x401ff8
40185a:	e8 b9 05 00 00       	call   0x401e18
40185f:	33 db                	xor    %ebx,%ebx
401861:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
401864:	8d 45 98             	lea    -0x68(%ebp),%eax
401867:	50                   	push   %eax
401868:	ff 15 64 40 40 00    	call   *0x404064
40186e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
401871:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
401877:	8b 70 04             	mov    0x4(%eax),%esi
40187a:	8b fb                	mov    %ebx,%edi
40187c:	ba 64 33 40 00       	mov    $0x403364,%edx
401881:	8b ce                	mov    %esi,%ecx
401883:	33 c0                	xor    %eax,%eax
401885:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
401889:	85 c0                	test   %eax,%eax
40188b:	74 18                	je     0x4018a5
40188d:	3b c6                	cmp    %esi,%eax
40188f:	75 07                	jne    0x401898
401891:	33 f6                	xor    %esi,%esi
401893:	46                   	inc    %esi
401894:	8b fe                	mov    %esi,%edi
401896:	eb 10                	jmp    0x4018a8
401898:	68 e8 03 00 00       	push   $0x3e8
40189d:	ff 15 68 40 40 00    	call   *0x404068
4018a3:	eb d7                	jmp    0x40187c
4018a5:	33 f6                	xor    %esi,%esi
4018a7:	46                   	inc    %esi
4018a8:	39 35 68 33 40 00    	cmp    %esi,0x403368
4018ae:	75 0a                	jne    0x4018ba
4018b0:	6a 1f                	push   $0x1f
4018b2:	e8 47 03 00 00       	call   0x401bfe
4018b7:	59                   	pop    %ecx
4018b8:	eb 3a                	jmp    0x4018f4
4018ba:	39 1d 68 33 40 00    	cmp    %ebx,0x403368
4018c0:	75 2c                	jne    0x4018ee
4018c2:	89 35 68 33 40 00    	mov    %esi,0x403368
4018c8:	68 cc 10 40 00       	push   $0x4010cc
4018cd:	68 c0 10 40 00       	push   $0x4010c0
4018d2:	e8 57 01 00 00       	call   0x401a2e
4018d7:	59                   	pop    %ecx
4018d8:	59                   	pop    %ecx
4018d9:	85 c0                	test   %eax,%eax
4018db:	74 17                	je     0x4018f4
4018dd:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4018e4:	b8 ff 00 00 00       	mov    $0xff,%eax
4018e9:	e9 30 01 00 00       	jmp    0x401a1e
4018ee:	89 35 14 30 40 00    	mov    %esi,0x403014
4018f4:	39 35 68 33 40 00    	cmp    %esi,0x403368
4018fa:	75 1b                	jne    0x401917
4018fc:	68 bc 10 40 00       	push   $0x4010bc
401901:	68 b4 10 40 00       	push   $0x4010b4
401906:	e8 05 05 00 00       	call   0x401e10
40190b:	59                   	pop    %ecx
40190c:	59                   	pop    %ecx
40190d:	c7 05 68 33 40 00 02 	movl   $0x2,0x403368
401914:	00 00 00
401917:	85 ff                	test   %edi,%edi
401919:	75 09                	jne    0x401924
40191b:	33 c0                	xor    %eax,%eax
40191d:	b9 64 33 40 00       	mov    $0x403364,%ecx
401922:	87 01                	xchg   %eax,(%ecx)
401924:	83 3d 6c 33 40 00 00 	cmpl   $0x0,0x40336c
40192b:	74 23                	je     0x401950
40192d:	68 6c 33 40 00       	push   $0x40336c
401932:	e8 39 03 00 00       	call   0x401c70
401937:	59                   	pop    %ecx
401938:	85 c0                	test   %eax,%eax
40193a:	74 14                	je     0x401950
40193c:	53                   	push   %ebx
40193d:	6a 02                	push   $0x2
40193f:	53                   	push   %ebx
401940:	8b 35 6c 33 40 00    	mov    0x40336c,%esi
401946:	8b ce                	mov    %esi,%ecx
401948:	ff 15 d0 40 40 00    	call   *0x4040d0
40194e:	ff d6                	call   *%esi
401950:	a1 8c 40 40 00       	mov    0x40408c,%eax
401955:	8b 08                	mov    (%eax),%ecx
401957:	85 c9                	test   %ecx,%ecx
401959:	74 82                	je     0x4018dd
40195b:	89 4d e0             	mov    %ecx,-0x20(%ebp)
40195e:	6a 20                	push   $0x20
401960:	5e                   	pop    %esi
401961:	8b 55 e4             	mov    -0x1c(%ebp),%edx
401964:	0f b7 01             	movzwl (%ecx),%eax
401967:	66 3b c6             	cmp    %si,%ax
40196a:	77 4f                	ja     0x4019bb
40196c:	66 85 c0             	test   %ax,%ax
40196f:	74 19                	je     0x40198a
401971:	85 d2                	test   %edx,%edx
401973:	75 46                	jne    0x4019bb
401975:	66 85 c0             	test   %ax,%ax
401978:	74 10                	je     0x40198a
40197a:	66 3b c6             	cmp    %si,%ax
40197d:	77 0b                	ja     0x40198a
40197f:	83 c1 02             	add    $0x2,%ecx
401982:	89 4d e0             	mov    %ecx,-0x20(%ebp)
401985:	0f b7 01             	movzwl (%ecx),%eax
401988:	eb eb                	jmp    0x401975
40198a:	f6 45 c4 01          	testb  $0x1,-0x3c(%ebp)
40198e:	74 06                	je     0x401996
401990:	0f b7 45 c8          	movzwl -0x38(%ebp),%eax
401994:	eb 03                	jmp    0x401999
401996:	6a 0a                	push   $0xa
401998:	58                   	pop    %eax
401999:	50                   	push   %eax
40199a:	51                   	push   %ecx
40199b:	53                   	push   %ebx
40199c:	68 00 00 40 00       	push   $0x400000
4019a1:	e8 08 fd ff ff       	call   0x4016ae
4019a6:	a3 10 30 40 00       	mov    %eax,0x403010
4019ab:	83 3d 28 30 40 00 00 	cmpl   $0x0,0x403028
4019b2:	75 4f                	jne    0x401a03
4019b4:	50                   	push   %eax
4019b5:	ff 15 c0 40 40 00    	call   *0x4040c0
4019bb:	83 f8 22             	cmp    $0x22,%eax
4019be:	75 0c                	jne    0x4019cc
4019c0:	33 c0                	xor    %eax,%eax
4019c2:	85 d2                	test   %edx,%edx
4019c4:	0f 94 c0             	sete   %al
4019c7:	8b d0                	mov    %eax,%edx
4019c9:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4019cc:	83 c1 02             	add    $0x2,%ecx
4019cf:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4019d2:	eb 90                	jmp    0x401964
4019d4:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4019d7:	8b 01                	mov    (%ecx),%eax
4019d9:	8b 00                	mov    (%eax),%eax
4019db:	89 45 dc             	mov    %eax,-0x24(%ebp)
4019de:	51                   	push   %ecx
4019df:	50                   	push   %eax
4019e0:	e8 69 01 00 00       	call   0x401b4e
4019e5:	59                   	pop    %ecx
4019e6:	59                   	pop    %ecx
4019e7:	c3                   	ret
4019e8:	8b 65 e8             	mov    -0x18(%ebp),%esp
4019eb:	8b 45 dc             	mov    -0x24(%ebp),%eax
4019ee:	a3 10 30 40 00       	mov    %eax,0x403010
4019f3:	83 3d 28 30 40 00 00 	cmpl   $0x0,0x403028
4019fa:	75 07                	jne    0x401a03
4019fc:	50                   	push   %eax
4019fd:	ff 15 bc 40 40 00    	call   *0x4040bc
401a03:	83 3d 14 30 40 00 00 	cmpl   $0x0,0x403014
401a0a:	75 0b                	jne    0x401a17
401a0c:	ff 15 b8 40 40 00    	call   *0x4040b8
401a12:	a1 10 30 40 00       	mov    0x403010,%eax
401a17:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
401a1e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
401a21:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401a28:	59                   	pop    %ecx
401a29:	5f                   	pop    %edi
401a2a:	5e                   	pop    %esi
401a2b:	5b                   	pop    %ebx
401a2c:	c9                   	leave
401a2d:	c3                   	ret
401a2e:	8b ff                	mov    %edi,%edi
401a30:	55                   	push   %ebp
401a31:	8b ec                	mov    %esp,%ebp
401a33:	56                   	push   %esi
401a34:	8b 75 08             	mov    0x8(%ebp),%esi
401a37:	33 c0                	xor    %eax,%eax
401a39:	3b 75 0c             	cmp    0xc(%ebp),%esi
401a3c:	73 1e                	jae    0x401a5c
401a3e:	57                   	push   %edi
401a3f:	85 c0                	test   %eax,%eax
401a41:	75 18                	jne    0x401a5b
401a43:	8b 3e                	mov    (%esi),%edi
401a45:	85 ff                	test   %edi,%edi
401a47:	74 0a                	je     0x401a53
401a49:	8b cf                	mov    %edi,%ecx
401a4b:	ff 15 d0 40 40 00    	call   *0x4040d0
401a51:	ff d7                	call   *%edi
401a53:	83 c6 04             	add    $0x4,%esi
401a56:	3b 75 0c             	cmp    0xc(%ebp),%esi
401a59:	72 e4                	jb     0x401a3f
401a5b:	5f                   	pop    %edi
401a5c:	5e                   	pop    %esi
401a5d:	5d                   	pop    %ebp
401a5e:	c3                   	ret
401a5f:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
401a64:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
401a6b:	75 55                	jne    0x401ac2
401a6d:	8b 0d 3c 00 40 00    	mov    0x40003c,%ecx
401a73:	81 b9 00 00 40 00 50 	cmpl   $0x4550,0x400000(%ecx)
401a7a:	45 00 00
401a7d:	75 43                	jne    0x401ac2
401a7f:	0f b7 81 18 00 40 00 	movzwl 0x400018(%ecx),%eax
401a86:	ba 0b 01 00 00       	mov    $0x10b,%edx
401a8b:	66 3b c2             	cmp    %dx,%ax
401a8e:	74 1f                	je     0x401aaf
401a90:	ba 0b 02 00 00       	mov    $0x20b,%edx
401a95:	66 3b c2             	cmp    %dx,%ax
401a98:	75 28                	jne    0x401ac2
401a9a:	83 b9 84 00 40 00 0e 	cmpl   $0xe,0x400084(%ecx)
401aa1:	76 1f                	jbe    0x401ac2
401aa3:	33 c0                	xor    %eax,%eax
401aa5:	39 81 f8 00 40 00    	cmp    %eax,0x4000f8(%ecx)
401aab:	0f 95 c0             	setne  %al
401aae:	c3                   	ret
401aaf:	83 b9 74 00 40 00 0e 	cmpl   $0xe,0x400074(%ecx)
401ab6:	76 0a                	jbe    0x401ac2
401ab8:	33 c0                	xor    %eax,%eax
401aba:	39 81 e8 00 40 00    	cmp    %eax,0x4000e8(%ecx)
401ac0:	eb e9                	jmp    0x401aab
401ac2:	33 c0                	xor    %eax,%eax
401ac4:	c3                   	ret
401ac5:	cc                   	int3
401ac6:	cc                   	int3
401ac7:	cc                   	int3
401ac8:	cc                   	int3
401ac9:	cc                   	int3
401aca:	cc                   	int3
401acb:	cc                   	int3
401acc:	cc                   	int3
401acd:	cc                   	int3
401ace:	cc                   	int3
401acf:	cc                   	int3
401ad0:	e8 90 02 00 00       	call   0x401d65
401ad5:	e9 79 fd ff ff       	jmp    0x401853
401ada:	cc                   	int3
401adb:	cc                   	int3
401adc:	cc                   	int3
401add:	cc                   	int3
401ade:	cc                   	int3
401adf:	cc                   	int3
401ae0:	3b 0d 04 30 40 00    	cmp    0x403004,%ecx
401ae6:	75 03                	jne    0x401aeb
401ae8:	c2 00 00             	ret    $0x0
401aeb:	e9 ed 03 00 00       	jmp    0x401edd
401af0:	8b ff                	mov    %edi,%edi
401af2:	55                   	push   %ebp
401af3:	8b ec                	mov    %esp,%ebp
401af5:	8b 45 08             	mov    0x8(%ebp),%eax
401af8:	8b 00                	mov    (%eax),%eax
401afa:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
401b00:	75 2b                	jne    0x401b2d
401b02:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
401b06:	75 25                	jne    0x401b2d
401b08:	8b 40 14             	mov    0x14(%eax),%eax
401b0b:	3d 20 05 93 19       	cmp    $0x19930520,%eax
401b10:	74 15                	je     0x401b27
401b12:	3d 21 05 93 19       	cmp    $0x19930521,%eax
401b17:	74 0e                	je     0x401b27
401b19:	3d 22 05 93 19       	cmp    $0x19930522,%eax
401b1e:	74 07                	je     0x401b27