4098dc:	5d                   	pop    %ebp
4098dd:	c3                   	ret
4098de:	8b ff                	mov    %edi,%edi
4098e0:	53                   	push   %ebx
4098e1:	56                   	push   %esi
4098e2:	57                   	push   %edi
4098e3:	8b 3d 64 20 42 00    	mov    0x422064,%edi
4098e9:	85 ff                	test   %edi,%edi
4098eb:	74 67                	je     0x409954
4098ed:	8b 07                	mov    (%edi),%eax
4098ef:	85 c0                	test   %eax,%eax
4098f1:	74 56                	je     0x409949
4098f3:	33 db                	xor    %ebx,%ebx
4098f5:	53                   	push   %ebx
4098f6:	53                   	push   %ebx
4098f7:	6a ff                	push   $0xffffffff
4098f9:	50                   	push   %eax
4098fa:	53                   	push   %ebx
4098fb:	53                   	push   %ebx
4098fc:	e8 73 56 00 00       	call   0x40ef74
409901:	8b d8                	mov    %eax,%ebx
409903:	83 c4 18             	add    $0x18,%esp
409906:	85 db                	test   %ebx,%ebx
409908:	74 4a                	je     0x409954
40990a:	6a 02                	push   $0x2
40990c:	53                   	push   %ebx
40990d:	e8 30 0e 00 00       	call   0x40a742
409912:	8b f0                	mov    %eax,%esi
409914:	59                   	pop    %ecx
409915:	59                   	pop    %ecx
409916:	85 f6                	test   %esi,%esi
409918:	74 41                	je     0x40995b
40991a:	53                   	push   %ebx
40991b:	56                   	push   %esi
40991c:	6a ff                	push   $0xffffffff
40991e:	ff 37                	push   (%edi)
409920:	33 db                	xor    %ebx,%ebx
409922:	53                   	push   %ebx
409923:	53                   	push   %ebx
409924:	e8 4b 56 00 00       	call   0x40ef74
409929:	83 c4 18             	add    $0x18,%esp
40992c:	85 c0                	test   %eax,%eax
40992e:	74 1d                	je     0x40994d
409930:	53                   	push   %ebx
409931:	56                   	push   %esi
409932:	e8 a3 5b 00 00       	call   0x40f4da
409937:	53                   	push   %ebx
409938:	e8 62 0e 00 00       	call   0x40a79f
40993d:	83 c7 04             	add    $0x4,%edi
409940:	83 c4 0c             	add    $0xc,%esp
409943:	8b 07                	mov    (%edi),%eax
409945:	85 c0                	test   %eax,%eax
409947:	75 ac                	jne    0x4098f5
409949:	33 c0                	xor    %eax,%eax
40994b:	eb 0a                	jmp    0x409957
40994d:	56                   	push   %esi
40994e:	e8 4c 0e 00 00       	call   0x40a79f
409953:	59                   	pop    %ecx
409954:	83 c8 ff             	or     $0xffffffff,%eax
409957:	5f                   	pop    %edi
409958:	5e                   	pop    %esi
409959:	5b                   	pop    %ebx
40995a:	c3                   	ret
40995b:	6a 00                	push   $0x0
40995d:	eb ef                	jmp    0x40994e
40995f:	8b ff                	mov    %edi,%edi
409961:	55                   	push   %ebp
409962:	8b ec                	mov    %esp,%ebp
409964:	8b 45 08             	mov    0x8(%ebp),%eax
409967:	8b 00                	mov    (%eax),%eax
409969:	3b 05 70 20 42 00    	cmp    0x422070,%eax
40996f:	74 07                	je     0x409978
409971:	50                   	push   %eax
409972:	e8 38 ff ff ff       	call   0x4098af
409977:	59                   	pop    %ecx
409978:	5d                   	pop    %ebp
409979:	c3                   	ret
40997a:	8b ff                	mov    %edi,%edi
40997c:	55                   	push   %ebp
40997d:	8b ec                	mov    %esp,%ebp
40997f:	8b 45 08             	mov    0x8(%ebp),%eax
409982:	8b 00                	mov    (%eax),%eax
409984:	3b 05 6c 20 42 00    	cmp    0x42206c,%eax
40998a:	74 07                	je     0x409993
40998c:	50                   	push   %eax
40998d:	e8 1d ff ff ff       	call   0x4098af
409992:	59                   	pop    %ecx
409993:	5d                   	pop    %ebp
409994:	c3                   	ret
409995:	e9 76 fd ff ff       	jmp    0x409710
40999a:	6a 00                	push   $0x0
40999c:	b8 24 80 41 00       	mov    $0x418024,%eax
4099a1:	e8 ef df 00 00       	call   0x417995
4099a6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4099aa:	68 64 20 42 00       	push   $0x422064
4099af:	e8 ab ff ff ff       	call   0x40995f
4099b4:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
4099bb:	c7 04 24 68 20 42 00 	movl   $0x422068,(%esp)
4099c2:	e8 b3 ff ff ff       	call   0x40997a
4099c7:	ff 35 70 20 42 00    	push   0x422070
4099cd:	e8 dd fe ff ff       	call   0x4098af
4099d2:	ff 35 6c 20 42 00    	push   0x42206c
4099d8:	e8 d2 fe ff ff       	call   0x4098af
4099dd:	83 c4 0c             	add    $0xc,%esp
4099e0:	e8 9c df 00 00       	call   0x417981
4099e5:	c3                   	ret
4099e6:	cc                   	int3
4099e7:	cc                   	int3
4099e8:	cc                   	int3
4099e9:	cc                   	int3
4099ea:	cc                   	int3
4099eb:	a1 6c 20 42 00       	mov    0x42206c,%eax
4099f0:	85 c0                	test   %eax,%eax
4099f2:	75 0a                	jne    0x4099fe
4099f4:	e8 17 fd ff ff       	call   0x409710
4099f9:	a3 6c 20 42 00       	mov    %eax,0x42206c
4099fe:	c3                   	ret
4099ff:	e9 38 fd ff ff       	jmp    0x40973c
409a04:	8b ff                	mov    %edi,%edi
409a06:	55                   	push   %ebp
409a07:	8b ec                	mov    %esp,%ebp
409a09:	56                   	push   %esi
409a0a:	8b 75 08             	mov    0x8(%ebp),%esi
409a0d:	3b 75 0c             	cmp    0xc(%ebp),%esi
409a10:	74 1a                	je     0x409a2c
409a12:	57                   	push   %edi
409a13:	8b 3e                	mov    (%esi),%edi
409a15:	85 ff                	test   %edi,%edi
409a17:	74 0a                	je     0x409a23
409a19:	8b cf                	mov    %edi,%ecx
409a1b:	ff 15 54 91 41 00    	call   *0x419154
409a21:	ff d7                	call   *%edi
409a23:	83 c6 04             	add    $0x4,%esi
409a26:	3b 75 0c             	cmp    0xc(%ebp),%esi
409a29:	75 e8                	jne    0x409a13
409a2b:	5f                   	pop    %edi
409a2c:	5e                   	pop    %esi
409a2d:	5d                   	pop    %ebp
409a2e:	c3                   	ret
409a2f:	8b ff                	mov    %edi,%edi
409a31:	55                   	push   %ebp
409a32:	8b ec                	mov    %esp,%ebp
409a34:	56                   	push   %esi
409a35:	8b 75 08             	mov    0x8(%ebp),%esi
409a38:	57                   	push   %edi
409a39:	eb 17                	jmp    0x409a52
409a3b:	8b 3e                	mov    (%esi),%edi
409a3d:	85 ff                	test   %edi,%edi
409a3f:	74 0e                	je     0x409a4f
409a41:	8b cf                	mov    %edi,%ecx
409a43:	ff 15 54 91 41 00    	call   *0x419154
409a49:	ff d7                	call   *%edi
409a4b:	85 c0                	test   %eax,%eax
409a4d:	75 0a                	jne    0x409a59
409a4f:	83 c6 04             	add    $0x4,%esi
409a52:	3b 75 0c             	cmp    0xc(%ebp),%esi
409a55:	75 e4                	jne    0x409a3b
409a57:	33 c0                	xor    %eax,%eax
409a59:	5f                   	pop    %edi
409a5a:	5e                   	pop    %esi
409a5b:	5d                   	pop    %ebp
409a5c:	c3                   	ret
409a5d:	6a 08                	push   $0x8
409a5f:	68 80 ff 41 00       	push   $0x41ff80
409a64:	e8 37 a4 ff ff       	call   0x403ea0
409a69:	8b 45 08             	mov    0x8(%ebp),%eax
409a6c:	ff 30                	push   (%eax)
409a6e:	e8 19 45 00 00       	call   0x40df8c
409a73:	59                   	pop    %ecx
409a74:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409a78:	8b 4d 0c             	mov    0xc(%ebp),%ecx
409a7b:	e8 2a 00 00 00       	call   0x409aaa
409a80:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
409a87:	e8 12 00 00 00       	call   0x409a9e
409a8c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
409a8f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409a96:	59                   	pop    %ecx
409a97:	5f                   	pop    %edi
409a98:	5e                   	pop    %esi
409a99:	5b                   	pop    %ebx
409a9a:	c9                   	leave
409a9b:	c2 0c 00             	ret    $0xc
409a9e:	8b 45 10             	mov    0x10(%ebp),%eax
409aa1:	ff 30                	push   (%eax)
409aa3:	e8 2c 45 00 00       	call   0x40dfd4
409aa8:	59                   	pop    %ecx
409aa9:	c3                   	ret
409aaa:	6a 14                	push   $0x14
409aac:	68 60 ff 41 00       	push   $0x41ff60
409ab1:	e8 ea a3 ff ff       	call   0x403ea0
409ab6:	8b f9                	mov    %ecx,%edi
409ab8:	80 3d 7c 20 42 00 00 	cmpb   $0x0,0x42207c
409abf:	0f 85 99 00 00 00    	jne    0x409b5e
409ac5:	33 c0                	xor    %eax,%eax
409ac7:	40                   	inc    %eax
409ac8:	b9 74 20 42 00       	mov    $0x422074,%ecx
409acd:	87 01                	xchg   %eax,(%ecx)
409acf:	33 db                	xor    %ebx,%ebx
409ad1:	89 5d fc             	mov    %ebx,-0x4(%ebp)
409ad4:	8b 07                	mov    (%edi),%eax
409ad6:	8b 00                	mov    (%eax),%eax
409ad8:	85 c0                	test   %eax,%eax
409ada:	75 2f                	jne    0x409b0b
409adc:	a1 c0 10 42 00       	mov    0x4210c0,%eax
409ae1:	89 45 e0             	mov    %eax,-0x20(%ebp)
409ae4:	8b 0d 78 20 42 00    	mov    0x422078,%ecx
409aea:	3b c8                	cmp    %eax,%ecx
409aec:	74 16                	je     0x409b04
409aee:	51                   	push   %ecx
409aef:	e8 27 f6 ff ff       	call   0x40911b
409af4:	59                   	pop    %ecx
409af5:	8b f0                	mov    %eax,%esi
409af7:	53                   	push   %ebx
409af8:	53                   	push   %ebx
409af9:	53                   	push   %ebx
409afa:	8b ce                	mov    %esi,%ecx
409afc:	ff 15 54 91 41 00    	call   *0x419154
409b02:	ff d6                	call   *%esi
409b04:	68 a4 20 42 00       	push   $0x4220a4
409b09:	eb 0a                	jmp    0x409b15
409b0b:	83 f8 01             	cmp    $0x1,%eax
409b0e:	75 0b                	jne    0x409b1b
409b10:	68 b0 20 42 00       	push   $0x4220b0
409b15:	e8 9e 07 00 00       	call   0x40a2b8
409b1a:	59                   	pop    %ecx
409b1b:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
409b22:	8b 07                	mov    (%edi),%eax
409b24:	39 18                	cmp    %ebx,(%eax)
409b26:	75 11                	jne    0x409b39
409b28:	68 98 91 41 00       	push   $0x419198
409b2d:	68 88 91 41 00       	push   $0x419188
409b32:	e8 cd fe ff ff       	call   0x409a04
409b37:	59                   	pop    %ecx
409b38:	59                   	pop    %ecx
409b39:	68 a0 91 41 00       	push   $0x4191a0
409b3e:	68 9c 91 41 00       	push   $0x41919c
409b43:	e8 bc fe ff ff       	call   0x409a04
409b48:	59                   	pop    %ecx
409b49:	59                   	pop    %ecx
409b4a:	8b 47 04             	mov    0x4(%edi),%eax
409b4d:	39 18                	cmp    %ebx,(%eax)
409b4f:	75 0d                	jne    0x409b5e
409b51:	c6 05 7c 20 42 00 01 	movb   $0x1,0x42207c
409b58:	8b 47 08             	mov    0x8(%edi),%eax
409b5b:	c6 00 01             	movb   $0x1,(%eax)
409b5e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
409b61:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409b68:	59                   	pop    %ecx
409b69:	5f                   	pop    %edi
409b6a:	5e                   	pop    %esi
409b6b:	5b                   	pop    %ebx
409b6c:	c9                   	leave
409b6d:	c3                   	ret
409b6e:	8b 45 ec             	mov    -0x14(%ebp),%eax
409b71:	8b 00                	mov    (%eax),%eax
409b73:	8b 00                	mov    (%eax),%eax
409b75:	89 45 dc             	mov    %eax,-0x24(%ebp)
409b78:	33 c9                	xor    %ecx,%ecx
409b7a:	3d 63 73 6d e0       	cmp    $0xe06d7363,%eax
409b7f:	0f 94 c1             	sete   %cl
409b82:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
409b85:	8b 45 e4             	mov    -0x1c(%ebp),%eax
409b88:	c3                   	ret
409b89:	8b 65 e8             	mov    -0x18(%ebp),%esp
409b8c:	e8 5d 09 00 00       	call   0x40a4ee
409b91:	cc                   	int3
409b92:	8b ff                	mov    %edi,%edi
409b94:	55                   	push   %ebp
409b95:	8b ec                	mov    %esp,%ebp
409b97:	6a ff                	push   $0xffffffff
409b99:	68 41 80 41 00       	push   $0x418041
409b9e:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
409ba4:	50                   	push   %eax
409ba5:	83 ec 18             	sub    $0x18,%esp
409ba8:	a1 c0 10 42 00       	mov    0x4210c0,%eax
409bad:	33 c5                	xor    %ebp,%eax
409baf:	50                   	push   %eax
409bb0:	8d 45 f4             	lea    -0xc(%ebp),%eax
409bb3:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
409bb9:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
409bbd:	75 12                	jne    0x409bd1
409bbf:	e8 d7 a1 ff ff       	call   0x403d9b
409bc4:	84 c0                	test   %al,%al
409bc6:	74 09                	je     0x409bd1
409bc8:	ff 75 08             	push   0x8(%ebp)
409bcb:	e8 a3 00 00 00       	call   0x409c73
409bd0:	59                   	pop    %ecx
409bd1:	8d 45 0c             	lea    0xc(%ebp),%eax
409bd4:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
409bd8:	89 45 dc             	mov    %eax,-0x24(%ebp)
409bdb:	8d 45 10             	lea    0x10(%ebp),%eax
409bde:	89 45 e0             	mov    %eax,-0x20(%ebp)
409be1:	8d 45 f3             	lea    -0xd(%ebp),%eax
409be4:	89 45 e4             	mov    %eax,-0x1c(%ebp)
409be7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409beb:	8d 4d f2             	lea    -0xe(%ebp),%ecx
409bee:	6a 02                	push   $0x2
409bf0:	58                   	pop    %eax
409bf1:	89 45 ec             	mov    %eax,-0x14(%ebp)
409bf4:	89 45 e8             	mov    %eax,-0x18(%ebp)
409bf7:	8d 45 ec             	lea    -0x14(%ebp),%eax
409bfa:	50                   	push   %eax
409bfb:	8d 45 dc             	lea    -0x24(%ebp),%eax
409bfe:	50                   	push   %eax
409bff:	8d 45 e8             	lea    -0x18(%ebp),%eax
409c02:	50                   	push   %eax
409c03:	e8 55 fe ff ff       	call   0x409a5d
409c08:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
409c0c:	74 0d                	je     0x409c1b
409c0e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
409c11:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409c18:	59                   	pop    %ecx
409c19:	c9                   	leave
409c1a:	c3                   	ret
409c1b:	ff 75 08             	push   0x8(%ebp)
409c1e:	e8 06 00 00 00       	call   0x409c29
409c23:	cc                   	int3
409c24:	cc                   	int3
409c25:	cc                   	int3
409c26:	cc                   	int3
409c27:	cc                   	int3
409c28:	cc                   	int3
409c29:	8b ff                	mov    %edi,%edi
409c2b:	55                   	push   %ebp
409c2c:	8b ec                	mov    %esp,%ebp
409c2e:	e8 27 00 00 00       	call   0x409c5a
409c33:	84 c0                	test   %al,%al
409c35:	74 10                	je     0x409c47
409c37:	ff 75 08             	push   0x8(%ebp)
409c3a:	ff 15 74 90 41 00    	call   *0x419074
409c40:	50                   	push   %eax
409c41:	ff 15 78 90 41 00    	call   *0x419078
409c47:	ff 75 08             	push   0x8(%ebp)
409c4a:	e8 24 00 00 00       	call   0x409c73
409c4f:	59                   	pop    %ecx
409c50:	ff 75 08             	push   0x8(%ebp)
409c53:	ff 15 c4 90 41 00    	call   *0x4190c4
409c59:	cc                   	int3
409c5a:	e8 ab 58 00 00       	call   0x40f50a
409c5f:	83 f8 01             	cmp    $0x1,%eax
409c62:	74 0c                	je     0x409c70
409c64:	e8 7c 58 00 00       	call   0x40f4e5
409c69:	f6 d8                	neg    %al
409c6b:	1a c0                	sbb    %al,%al
409c6d:	fe c0                	inc    %al
409c6f:	c3                   	ret
409c70:	32 c0                	xor    %al,%al
409c72:	c3                   	ret
409c73:	8b ff                	mov    %edi,%edi
409c75:	55                   	push   %ebp