4098e8:	5f                   	pop    %edi
4098e9:	5e                   	pop    %esi
4098ea:	5b                   	pop    %ebx
4098eb:	8b e5                	mov    %ebp,%esp
4098ed:	5d                   	pop    %ebp
4098ee:	c3                   	ret
4098ef:	cc                   	int3
4098f0:	55                   	push   %ebp
4098f1:	8b ec                	mov    %esp,%ebp
4098f3:	81 ec 70 07 00 00    	sub    $0x770,%esp
4098f9:	53                   	push   %ebx
4098fa:	56                   	push   %esi
4098fb:	33 db                	xor    %ebx,%ebx
4098fd:	68 a4 02 00 00       	push   $0x2a4
409902:	8d 85 9c fa ff ff    	lea    -0x564(%ebp),%eax
409908:	53                   	push   %ebx
409909:	50                   	push   %eax
40990a:	89 9d 98 fa ff ff    	mov    %ebx,-0x568(%ebp)
409910:	e8 cb ea 00 00       	call   0x4183e0
409915:	68 a4 02 00 00       	push   $0x2a4
40991a:	8d 8d 44 fd ff ff    	lea    -0x2bc(%ebp),%ecx
409920:	53                   	push   %ebx
409921:	51                   	push   %ecx
409922:	89 9d 40 fd ff ff    	mov    %ebx,-0x2c0(%ebp)
409928:	e8 b3 ea 00 00       	call   0x4183e0
40992d:	68 06 02 00 00       	push   $0x206
409932:	8d 85 92 f8 ff ff    	lea    -0x76e(%ebp),%eax
409938:	33 d2                	xor    %edx,%edx
40993a:	53                   	push   %ebx
40993b:	50                   	push   %eax
40993c:	c7 45 f4 8b ff 55 8b 	movl   $0x8b55ff8b,-0xc(%ebp)
409943:	c7 45 f8 ec e8 00 00 	movl   $0xe8ec,-0x8(%ebp)
40994a:	66 89 5d fc          	mov    %bx,-0x4(%ebp)
40994e:	66 89 95 90 f8 ff ff 	mov    %dx,-0x770(%ebp)
409955:	e8 86 ea 00 00       	call   0x4183e0
40995a:	8b 75 08             	mov    0x8(%ebp),%esi
40995d:	6a 10                	push   $0x10
40995f:	8d 8d 90 f8 ff ff    	lea    -0x770(%ebp),%ecx
409965:	51                   	push   %ecx
409966:	56                   	push   %esi
409967:	e8 84 ef ff ff       	call   0x4088f0
40996c:	33 d2                	xor    %edx,%edx
40996e:	66 89 95 a0 f8 ff ff 	mov    %dx,-0x760(%ebp)
409975:	e8 f6 df 00 00       	call   0x417970
40997a:	50                   	push   %eax
40997b:	53                   	push   %ebx
40997c:	e8 0f e0 00 00       	call   0x417990
409981:	8b 40 28             	mov    0x28(%eax),%eax
409984:	50                   	push   %eax
409985:	8d 8d 90 f8 ff ff    	lea    -0x770(%ebp),%ecx
40998b:	51                   	push   %ecx
40998c:	56                   	push   %esi
40998d:	e8 de eb ff ff       	call   0x408570
409992:	83 c4 44             	add    $0x44,%esp
409995:	85 c0                	test   %eax,%eax
409997:	0f 84 49 02 00 00    	je     0x409be6
40999d:	8d 95 98 fa ff ff    	lea    -0x568(%ebp),%edx
4099a3:	52                   	push   %edx
4099a4:	56                   	push   %esi
4099a5:	e8 46 7e 00 00       	call   0x4117f0
4099aa:	83 c4 08             	add    $0x8,%esp
4099ad:	85 c0                	test   %eax,%eax
4099af:	0f 84 31 02 00 00    	je     0x409be6
4099b5:	e8 fc 1c 01 00       	call   0x41b6b6
4099ba:	b9 02 00 00 00       	mov    $0x2,%ecx
4099bf:	2b 4e 04             	sub    0x4(%esi),%ecx
4099c2:	8d 95 98 fa ff ff    	lea    -0x568(%ebp),%edx
4099c8:	52                   	push   %edx
4099c9:	03 c1                	add    %ecx,%eax
4099cb:	56                   	push   %esi
4099cc:	89 85 98 fa ff ff    	mov    %eax,-0x568(%ebp)
4099d2:	e8 49 7e 00 00       	call   0x411820
4099d7:	83 c4 08             	add    $0x8,%esp
4099da:	85 c0                	test   %eax,%eax
4099dc:	0f 84 04 02 00 00    	je     0x409be6
4099e2:	8b 85 d8 fc ff ff    	mov    -0x328(%ebp),%eax
4099e8:	8b 8d a8 fa ff ff    	mov    -0x558(%ebp),%ecx
4099ee:	50                   	push   %eax
4099ef:	51                   	push   %ecx
4099f0:	e8 5b e3 00 00       	call   0x417d50
4099f5:	83 c4 08             	add    $0x8,%esp
4099f8:	85 c0                	test   %eax,%eax
4099fa:	0f 84 e6 01 00 00    	je     0x409be6
409a00:	8d 95 40 fd ff ff    	lea    -0x2c0(%ebp),%edx
409a06:	52                   	push   %edx
409a07:	8d 85 98 fa ff ff    	lea    -0x568(%ebp),%eax
409a0d:	50                   	push   %eax
409a0e:	8d 8d 60 fd ff ff    	lea    -0x2a0(%ebp),%ecx
409a14:	51                   	push   %ecx
409a15:	56                   	push   %esi
409a16:	e8 75 c9 ff ff       	call   0x406390
409a1b:	83 c4 10             	add    $0x10,%esp
409a1e:	89 85 58 fd ff ff    	mov    %eax,-0x2a8(%ebp)
409a24:	3b c3                	cmp    %ebx,%eax
409a26:	0f 84 ba 01 00 00    	je     0x409be6
409a2c:	50                   	push   %eax
409a2d:	e8 de e7 00 00       	call   0x418210
409a32:	8b 95 58 fd ff ff    	mov    -0x2a8(%ebp),%edx
409a38:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
409a3e:	53                   	push   %ebx
409a3f:	50                   	push   %eax
409a40:	52                   	push   %edx
409a41:	89 45 80             	mov    %eax,-0x80(%ebp)
409a44:	8b 85 54 fd ff ff    	mov    -0x2ac(%ebp),%eax
409a4a:	50                   	push   %eax
409a4b:	51                   	push   %ecx
409a4c:	56                   	push   %esi
409a4d:	e8 0e d3 00 00       	call   0x416d60
409a52:	53                   	push   %ebx
409a53:	8d 55 ec             	lea    -0x14(%ebp),%edx
409a56:	52                   	push   %edx
409a57:	8b 16                	mov    (%esi),%edx
409a59:	8d 85 d8 fc ff ff    	lea    -0x328(%ebp),%eax
409a5f:	50                   	push   %eax
409a60:	8d 4d f0             	lea    -0x10(%ebp),%ecx
409a63:	51                   	push   %ecx
409a64:	52                   	push   %edx
409a65:	56                   	push   %esi
409a66:	89 5d ec             	mov    %ebx,-0x14(%ebp)
409a69:	89 5d f0             	mov    %ebx,-0x10(%ebp)
409a6c:	e8 4f 31 00 00       	call   0x40cbc0
409a71:	83 c4 34             	add    $0x34,%esp
409a74:	85 c0                	test   %eax,%eax
409a76:	75 16                	jne    0x409a8e
409a78:	8b 85 58 fd ff ff    	mov    -0x2a8(%ebp),%eax
409a7e:	50                   	push   %eax
409a7f:	56                   	push   %esi
409a80:	e8 bb e8 00 00       	call   0x418340
409a85:	83 c4 08             	add    $0x8,%esp
409a88:	5e                   	pop    %esi
409a89:	5b                   	pop    %ebx
409a8a:	8b e5                	mov    %ebp,%esp
409a8c:	5d                   	pop    %ebp
409a8d:	c3                   	ret
409a8e:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
409a94:	6a 40                	push   $0x40
409a96:	53                   	push   %ebx
409a97:	6a 01                	push   $0x1
409a99:	8d 8d d8 fc ff ff    	lea    -0x328(%ebp),%ecx
409a9f:	51                   	push   %ecx
409aa0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
409aa3:	53                   	push   %ebx
409aa4:	53                   	push   %ebx
409aa5:	53                   	push   %ebx
409aa6:	8d 95 ac fa ff ff    	lea    -0x554(%ebp),%edx
409aac:	52                   	push   %edx
409aad:	50                   	push   %eax
409aae:	51                   	push   %ecx
409aaf:	56                   	push   %esi
409ab0:	e8 bb cd 00 00       	call   0x416870
409ab5:	8b 95 58 fd ff ff    	mov    -0x2a8(%ebp),%edx
409abb:	83 c4 2c             	add    $0x2c,%esp
409abe:	85 c0                	test   %eax,%eax
409ac0:	79 10                	jns    0x409ad2
409ac2:	52                   	push   %edx
409ac3:	56                   	push   %esi
409ac4:	e8 77 e8 00 00       	call   0x418340
409ac9:	83 c4 08             	add    $0x8,%esp
409acc:	5e                   	pop    %esi
409acd:	5b                   	pop    %ebx
409ace:	8b e5                	mov    %ebp,%esp
409ad0:	5d                   	pop    %ebp
409ad1:	c3                   	ret
409ad2:	8b 8d 54 fd ff ff    	mov    -0x2ac(%ebp),%ecx
409ad8:	8b 85 ac fa ff ff    	mov    -0x554(%ebp),%eax
409ade:	01 85 98 fa ff ff    	add    %eax,-0x568(%ebp)
409ae4:	51                   	push   %ecx
409ae5:	52                   	push   %edx
409ae6:	e8 95 e7 00 00       	call   0x418280
409aeb:	8b 8d 98 fa ff ff    	mov    -0x568(%ebp),%ecx
409af1:	83 c0 05             	add    $0x5,%eax
409af4:	2b c8                	sub    %eax,%ecx
409af6:	6a 04                	push   $0x4
409af8:	8d 55 e8             	lea    -0x18(%ebp),%edx
409afb:	52                   	push   %edx
409afc:	8d 45 fa             	lea    -0x6(%ebp),%eax
409aff:	83 e9 05             	sub    $0x5,%ecx
409b02:	50                   	push   %eax
409b03:	89 4d e8             	mov    %ecx,-0x18(%ebp)
409b06:	e8 55 e8 00 00       	call   0x418360
409b0b:	8b 85 58 fd ff ff    	mov    -0x2a8(%ebp),%eax
409b11:	83 c4 14             	add    $0x14,%esp
409b14:	6a 0a                	push   $0xa
409b16:	8d 4d f4             	lea    -0xc(%ebp),%ecx
409b19:	51                   	push   %ecx
409b1a:	50                   	push   %eax
409b1b:	50                   	push   %eax
409b1c:	e8 5f e7 00 00       	call   0x418280
409b21:	83 c4 08             	add    $0x8,%esp
409b24:	50                   	push   %eax
409b25:	e8 36 e8 00 00       	call   0x418360
409b2a:	53                   	push   %ebx
409b2b:	8d 95 50 fd ff ff    	lea    -0x2b0(%ebp),%edx
409b31:	52                   	push   %edx
409b32:	8b 16                	mov    (%esi),%edx
409b34:	8d 45 80             	lea    -0x80(%ebp),%eax
409b37:	50                   	push   %eax
409b38:	8d 8d 4c fd ff ff    	lea    -0x2b4(%ebp),%ecx
409b3e:	51                   	push   %ecx
409b3f:	52                   	push   %edx
409b40:	56                   	push   %esi
409b41:	e8 7a 30 00 00       	call   0x40cbc0
409b46:	83 c4 24             	add    $0x24,%esp
409b49:	85 c0                	test   %eax,%eax
409b4b:	0f 84 27 ff ff ff    	je     0x409a78
409b51:	8b 4d 80             	mov    -0x80(%ebp),%ecx
409b54:	8b 95 58 fd ff ff    	mov    -0x2a8(%ebp),%edx
409b5a:	8b 85 50 fd ff ff    	mov    -0x2b0(%ebp),%eax
409b60:	51                   	push   %ecx
409b61:	52                   	push   %edx
409b62:	50                   	push   %eax
409b63:	e8 f8 e7 00 00       	call   0x418360
409b68:	8b 8d 58 fd ff ff    	mov    -0x2a8(%ebp),%ecx
409b6e:	51                   	push   %ecx
409b6f:	56                   	push   %esi
409b70:	e8 cb e7 00 00       	call   0x418340
409b75:	8b 95 54 fd ff ff    	mov    -0x2ac(%ebp),%edx
409b7b:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
409b81:	52                   	push   %edx
409b82:	50                   	push   %eax
409b83:	56                   	push   %esi
409b84:	e8 37 cd 00 00       	call   0x4168c0
409b89:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
409b8f:	6a 40                	push   $0x40
409b91:	53                   	push   %ebx
409b92:	6a 01                	push   $0x1
409b94:	8d 4d 80             	lea    -0x80(%ebp),%ecx
409b97:	51                   	push   %ecx
409b98:	8b 8d 4c fd ff ff    	mov    -0x2b4(%ebp),%ecx
409b9e:	53                   	push   %ebx
409b9f:	53                   	push   %ebx
409ba0:	53                   	push   %ebx
409ba1:	8d 95 54 fd ff ff    	lea    -0x2ac(%ebp),%edx
409ba7:	52                   	push   %edx
409ba8:	50                   	push   %eax
409ba9:	51                   	push   %ecx
409baa:	56                   	push   %esi
409bab:	e8 c0 cc 00 00       	call   0x416870
409bb0:	83 c4 4c             	add    $0x4c,%esp
409bb3:	85 c0                	test   %eax,%eax
409bb5:	78 2f                	js     0x409be6
409bb7:	8b 95 d8 fc ff ff    	mov    -0x328(%ebp),%edx
409bbd:	8b 85 a8 fa ff ff    	mov    -0x558(%ebp),%eax
409bc3:	8b 4d ec             	mov    -0x14(%ebp),%ecx
409bc6:	52                   	push   %edx
409bc7:	50                   	push   %eax
409bc8:	51                   	push   %ecx
409bc9:	e8 92 e7 00 00       	call   0x418360
409bce:	8b 95 64 ff ff ff    	mov    -0x9c(%ebp),%edx
409bd4:	53                   	push   %ebx
409bd5:	52                   	push   %edx
409bd6:	56                   	push   %esi
409bd7:	e8 a4 ca 00 00       	call   0x416680
409bdc:	53                   	push   %ebx
409bdd:	56                   	push   %esi
409bde:	e8 2d d3 00 00       	call   0x416f10
409be3:	83 c4 20             	add    $0x20,%esp
409be6:	5e                   	pop    %esi
409be7:	5b                   	pop    %ebx
409be8:	8b e5                	mov    %ebp,%esp
409bea:	5d                   	pop    %ebp
409beb:	c3                   	ret
409bec:	1a b1 b4 85 55 8b    	sbb    -0x74aa7a4c(%ecx),%dh
409bf2:	ec                   	in     (%dx),%al
409bf3:	83 ec 18             	sub    $0x18,%esp
409bf6:	53                   	push   %ebx
409bf7:	8b 5d 18             	mov    0x18(%ebp),%ebx
409bfa:	56                   	push   %esi
409bfb:	33 f6                	xor    %esi,%esi
409bfd:	57                   	push   %edi
409bfe:	8b 7d 10             	mov    0x10(%ebp),%edi
409c01:	8b 87 40 02 00 00    	mov    0x240(%edi),%eax
409c07:	89 75 fc             	mov    %esi,-0x4(%ebp)
409c0a:	89 75 f8             	mov    %esi,-0x8(%ebp)
409c0d:	89 75 e8             	mov    %esi,-0x18(%ebp)
409c10:	89 75 ec             	mov    %esi,-0x14(%ebp)
409c13:	89 45 f0             	mov    %eax,-0x10(%ebp)
409c16:	83 fb 02             	cmp    $0x2,%ebx
409c19:	74 05                	je     0x409c20
409c1b:	83 fb 06             	cmp    $0x6,%ebx
409c1e:	75 36                	jne    0x409c56
409c20:	68 00 00 10 00       	push   $0x100000
409c25:	68 00 20 00 00       	push   $0x2000
409c2a:	e8 11 e3 ff ff       	call   0x407f40
409c2f:	8b f0                	mov    %eax,%esi
409c31:	83 c4 08             	add    $0x8,%esp
409c34:	f7 c6 ff 0f 00 00    	test   $0xfff,%esi
409c3a:	74 0d                	je     0x409c49
409c3c:	8d 64 24 00          	lea    0x0(%esp),%esp
409c40:	46                   	inc    %esi
409c41:	f7 c6 ff 0f 00 00    	test   $0xfff,%esi
409c47:	75 f7                	jne    0x409c40
409c49:	8b 4d f0             	mov    -0x10(%ebp),%ecx
409c4c:	8d 94 31 00 00 08 00 	lea    0x80000(%ecx,%esi,1),%edx
409c53:	89 55 f0             	mov    %edx,-0x10(%ebp)
409c56:	8b 87 40 02 00 00    	mov    0x240(%edi),%eax
409c5c:	53                   	push   %ebx
409c5d:	8b 5d 08             	mov    0x8(%ebp),%ebx
409c60:	03 c6                	add    %esi,%eax
409c62:	8d 4d fc             	lea    -0x4(%ebp),%ecx
409c65:	51                   	push   %ecx
409c66:	8b 0b                	mov    (%ebx),%ecx
409c68:	8d 55 e8             	lea    -0x18(%ebp),%edx
409c6b:	52                   	push   %edx
409c6c:	89 45 e8             	mov    %eax,-0x18(%ebp)
409c6f:	8d 45 f4             	lea    -0xc(%ebp),%eax
409c72:	50                   	push   %eax
409c73:	51                   	push   %ecx
409c74:	53                   	push   %ebx
409c75:	e8 46 2f 00 00       	call   0x40cbc0
409c7a:	83 c4 18             	add    $0x18,%esp
409c7d:	85 c0                	test   %eax,%eax
409c7f:	74 45                	je     0x409cc6
409c81:	8b 4d 0c             	mov    0xc(%ebp),%ecx
409c84:	6a 40                	push   $0x40
409c86:	6a 00                	push   $0x0
409c88:	6a 01                	push   $0x1
409c8a:	8d 55 f0             	lea    -0x10(%ebp),%edx
409c8d:	52                   	push   %edx
409c8e:	8b 11                	mov    (%ecx),%edx
409c90:	6a 00                	push   $0x0
409c92:	6a 00                	push   $0x0
409c94:	6a 00                	push   $0x0
409c96:	8d 45 f8             	lea    -0x8(%ebp),%eax
409c99:	50                   	push   %eax
409c9a:	8b 45 f4             	mov    -0xc(%ebp),%eax
409c9d:	52                   	push   %edx
409c9e:	50                   	push   %eax
409c9f:	53                   	push   %ebx
409ca0:	e8 cb cb 00 00       	call   0x416870
409ca5:	83 c4 2c             	add    $0x2c,%esp
409ca8:	85 c0                	test   %eax,%eax
409caa:	79 23                	jns    0x409ccf
409cac:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409caf:	8b 13                	mov    (%ebx),%edx
409cb1:	51                   	push   %ecx
409cb2:	52                   	push   %edx
409cb3:	53                   	push   %ebx
409cb4:	e8 07 cc 00 00       	call   0x4168c0
409cb9:	8b 45 f4             	mov    -0xc(%ebp),%eax
409cbc:	50                   	push   %eax
409cbd:	53                   	push   %ebx
409cbe:	e8 2d d0 00 00       	call   0x416cf0
409cc3:	83 c4 14             	add    $0x14,%esp
409cc6:	5f                   	pop    %edi
409cc7:	5e                   	pop    %esi
409cc8:	33 c0                	xor    %eax,%eax
409cca:	5b                   	pop    %ebx
409ccb:	8b e5                	mov    %ebp,%esp
409ccd:	5d                   	pop    %ebp