40892f:	83 ec 10             	sub    $0x10,%esp
408932:	8b cc                	mov    %esp,%ecx
408934:	b8 03 00 00 00       	mov    $0x3,%eax
408939:	89 01                	mov    %eax,(%ecx)
40893b:	89 51 04             	mov    %edx,0x4(%ecx)
40893e:	b8 ec 53 0a 00       	mov    $0xa53ec,%eax
408943:	89 41 08             	mov    %eax,0x8(%ecx)
408946:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
40894c:	89 41 0c             	mov    %eax,0xc(%ecx)
40894f:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
408955:	83 ec 10             	sub    $0x10,%esp
408958:	c7 85 44 ff ff ff 08 	movl   $0x8,-0xbc(%ebp)
40895f:	00 00 00
408962:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
408968:	8b cc                	mov    %esp,%ecx
40896a:	89 11                	mov    %edx,(%ecx)
40896c:	c7 85 4c ff ff ff 64 	movl   $0x406464,-0xb4(%ebp)
408973:	64 40 00
408976:	8b 95 4c ff ff ff    	mov    -0xb4(%ebp),%edx
40897c:	8b 3e                	mov    (%esi),%edi
40897e:	89 41 04             	mov    %eax,0x4(%ecx)
408981:	8b 85 50 ff ff ff    	mov    -0xb0(%ebp),%eax
408987:	89 51 08             	mov    %edx,0x8(%ecx)
40898a:	56                   	push   %esi
40898b:	89 41 0c             	mov    %eax,0xc(%ecx)
40898e:	ff 57 44             	call   *0x44(%edi)
408991:	db e2                	fnclex
408993:	33 ff                	xor    %edi,%edi
408995:	3b c7                	cmp    %edi,%eax
408997:	7d 1c                	jge    0x4089b5
408999:	8b 1d 58 10 40 00    	mov    0x401058,%ebx
40899f:	6a 44                	push   $0x44
4089a1:	68 b4 60 40 00       	push   $0x4060b4
4089a6:	56                   	push   %esi
4089a7:	50                   	push   %eax
4089a8:	ff d3                	call   *%ebx
4089aa:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4089ad:	ff 15 d0 11 40 00    	call   *0x4011d0
4089b3:	eb 17                	jmp    0x4089cc
4089b5:	8b 1d 58 10 40 00    	mov    0x401058,%ebx
4089bb:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4089be:	ff 15 d0 11 40 00    	call   *0x4011d0
4089c4:	eb 06                	jmp    0x4089cc
4089c6:	8b 1d 58 10 40 00    	mov    0x401058,%ebx
4089cc:	39 3d 38 b3 40 00    	cmp    %edi,0x40b338
4089d2:	75 10                	jne    0x4089e4
4089d4:	68 38 b3 40 00       	push   $0x40b338
4089d9:	68 c4 60 40 00       	push   $0x4060c4
4089de:	ff 15 4c 11 40 00    	call   *0x40114c
4089e4:	8b 35 38 b3 40 00    	mov    0x40b338,%esi
4089ea:	8b 0e                	mov    (%esi),%ecx
4089ec:	8d 55 c4             	lea    -0x3c(%ebp),%edx
4089ef:	52                   	push   %edx
4089f0:	56                   	push   %esi
4089f1:	ff 51 14             	call   *0x14(%ecx)
4089f4:	db e2                	fnclex
4089f6:	3b c7                	cmp    %edi,%eax
4089f8:	7d 0b                	jge    0x408a05
4089fa:	6a 14                	push   $0x14
4089fc:	68 b4 60 40 00       	push   $0x4060b4
408a01:	56                   	push   %esi
408a02:	50                   	push   %eax
408a03:	ff d3                	call   *%ebx
408a05:	8b 45 c4             	mov    -0x3c(%ebp),%eax
408a08:	8b 08                	mov    (%eax),%ecx
408a0a:	8d 55 cc             	lea    -0x34(%ebp),%edx
408a0d:	52                   	push   %edx
408a0e:	50                   	push   %eax
408a0f:	8b f0                	mov    %eax,%esi
408a11:	ff 91 e0 00 00 00    	call   *0xe0(%ecx)
408a17:	db e2                	fnclex
408a19:	3b c7                	cmp    %edi,%eax
408a1b:	7d 0e                	jge    0x408a2b
408a1d:	68 e0 00 00 00       	push   $0xe0
408a22:	68 d4 60 40 00       	push   $0x4060d4
408a27:	56                   	push   %esi
408a28:	50                   	push   %eax
408a29:	ff d3                	call   *%ebx
408a2b:	8b 55 cc             	mov    -0x34(%ebp),%edx
408a2e:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
408a31:	89 7d cc             	mov    %edi,-0x34(%ebp)
408a34:	ff 15 b0 11 40 00    	call   *0x4011b0
408a3a:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
408a3d:	ff 15 d0 11 40 00    	call   *0x4011d0
408a43:	6a 01                	push   $0x1
408a45:	ff 15 24 10 40 00    	call   *0x401024
408a4b:	3d 00 00 80 00       	cmp    $0x800000,%eax
408a50:	0f 84 9f 00 00 00    	je     0x408af5
408a56:	8b 45 08             	mov    0x8(%ebp),%eax
408a59:	83 ec 10             	sub    $0x10,%esp
408a5c:	8b dc                	mov    %esp,%ebx
408a5e:	b9 09 00 00 00       	mov    $0x9,%ecx
408a63:	89 0b                	mov    %ecx,(%ebx)
408a65:	89 8d 44 ff ff ff    	mov    %ecx,-0xbc(%ebp)
408a6b:	8b 8d 48 ff ff ff    	mov    -0xb8(%ebp),%ecx
408a71:	89 4b 04             	mov    %ecx,0x4(%ebx)
408a74:	89 43 08             	mov    %eax,0x8(%ebx)
408a77:	83 ec 10             	sub    $0x10,%esp
408a7a:	89 85 4c ff ff ff    	mov    %eax,-0xb4(%ebp)
408a80:	8b 85 50 ff ff ff    	mov    -0xb0(%ebp),%eax
408a86:	89 43 0c             	mov    %eax,0xc(%ebx)
408a89:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
408a8f:	8b cc                	mov    %esp,%ecx
408a91:	be 08 00 00 00       	mov    $0x8,%esi
408a96:	89 31                	mov    %esi,(%ecx)
408a98:	89 41 04             	mov    %eax,0x4(%ecx)
408a9b:	ba 80 64 40 00       	mov    $0x406480,%edx
408aa0:	89 51 08             	mov    %edx,0x8(%ecx)
408aa3:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
408aa9:	89 51 0c             	mov    %edx,0xc(%ecx)
408aac:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
408ab2:	83 ec 10             	sub    $0x10,%esp
408ab5:	8b cc                	mov    %esp,%ecx
408ab7:	b8 03 00 00 00       	mov    $0x3,%eax
408abc:	89 01                	mov    %eax,(%ecx)
408abe:	8b 85 10 ff ff ff    	mov    -0xf0(%ebp),%eax
408ac4:	89 51 04             	mov    %edx,0x4(%ecx)
408ac7:	bf f7 82 5e 00       	mov    $0x5e82f7,%edi
408acc:	89 79 08             	mov    %edi,0x8(%ecx)
408acf:	6a 03                	push   $0x3
408ad1:	89 41 0c             	mov    %eax,0xc(%ecx)
408ad4:	68 98 64 40 00       	push   $0x406498
408ad9:	8d 4d e0             	lea    -0x20(%ebp),%ecx
408adc:	51                   	push   %ecx
408add:	ff 15 e4 10 40 00    	call   *0x4010e4
408ae3:	50                   	push   %eax
408ae4:	ff 15 90 11 40 00    	call   *0x401190
408aea:	8b 1d 58 10 40 00    	mov    0x401058,%ebx
408af0:	83 c4 3c             	add    $0x3c,%esp
408af3:	33 ff                	xor    %edi,%edi
408af5:	39 3d 38 b3 40 00    	cmp    %edi,0x40b338
408afb:	75 10                	jne    0x408b0d
408afd:	68 38 b3 40 00       	push   $0x40b338
408b02:	68 c4 60 40 00       	push   $0x4060c4
408b07:	ff 15 4c 11 40 00    	call   *0x40114c
408b0d:	8b 35 38 b3 40 00    	mov    0x40b338,%esi
408b13:	8b 16                	mov    (%esi),%edx
408b15:	8d 45 c4             	lea    -0x3c(%ebp),%eax
408b18:	50                   	push   %eax
408b19:	56                   	push   %esi
408b1a:	ff 52 14             	call   *0x14(%edx)
408b1d:	db e2                	fnclex
408b1f:	3b c7                	cmp    %edi,%eax
408b21:	7d 0b                	jge    0x408b2e
408b23:	6a 14                	push   $0x14
408b25:	68 b4 60 40 00       	push   $0x4060b4
408b2a:	56                   	push   %esi
408b2b:	50                   	push   %eax
408b2c:	ff d3                	call   *%ebx
408b2e:	8b 45 c4             	mov    -0x3c(%ebp),%eax
408b31:	8b 08                	mov    (%eax),%ecx
408b33:	8d 95 e0 fe ff ff    	lea    -0x120(%ebp),%edx
408b39:	52                   	push   %edx
408b3a:	50                   	push   %eax
408b3b:	8b f0                	mov    %eax,%esi
408b3d:	ff 91 40 01 00 00    	call   *0x140(%ecx)
408b43:	db e2                	fnclex
408b45:	3b c7                	cmp    %edi,%eax
408b47:	7d 0e                	jge    0x408b57
408b49:	68 40 01 00 00       	push   $0x140
408b4e:	68 d4 60 40 00       	push   $0x4060d4
408b53:	56                   	push   %esi
408b54:	50                   	push   %eax
408b55:	ff d3                	call   *%ebx
408b57:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
408b5a:	ff 15 d0 11 40 00    	call   *0x4011d0
408b60:	68 84 62 40 00       	push   $0x406284
408b65:	ff 15 74 11 40 00    	call   *0x401174
408b6b:	83 f8 02             	cmp    $0x2,%eax
408b6e:	0f 84 d6 00 00 00    	je     0x408c4a
408b74:	b9 04 00 02 80       	mov    $0x80020004,%ecx
408b79:	b8 0a 00 00 00       	mov    $0xa,%eax
408b7e:	89 8d 5c ff ff ff    	mov    %ecx,-0xa4(%ebp)
408b84:	89 8d 6c ff ff ff    	mov    %ecx,-0x94(%ebp)
408b8a:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
408b90:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
408b93:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
408b96:	89 4d ac             	mov    %ecx,-0x54(%ebp)
408b99:	8d 95 44 ff ff ff    	lea    -0xbc(%ebp),%edx
408b9f:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
408ba2:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
408ba8:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
408bae:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
408bb4:	89 45 84             	mov    %eax,-0x7c(%ebp)
408bb7:	89 45 94             	mov    %eax,-0x6c(%ebp)
408bba:	89 45 a4             	mov    %eax,-0x5c(%ebp)
408bbd:	c7 85 4c ff ff ff c8 	movl   $0x4064c8,-0xb4(%ebp)
408bc4:	64 40 00
408bc7:	c7 85 44 ff ff ff 08 	movl   $0x8,-0xbc(%ebp)
408bce:	00 00 00
408bd1:	ff 15 98 11 40 00    	call   *0x401198
408bd7:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
408bdd:	50                   	push   %eax
408bde:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
408be4:	51                   	push   %ecx
408be5:	8d 95 74 ff ff ff    	lea    -0x8c(%ebp),%edx
408beb:	52                   	push   %edx
408bec:	8d 45 84             	lea    -0x7c(%ebp),%eax
408bef:	50                   	push   %eax
408bf0:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
408bf3:	51                   	push   %ecx
408bf4:	8d 55 a4             	lea    -0x5c(%ebp),%edx
408bf7:	52                   	push   %edx
408bf8:	8d 45 b4             	lea    -0x4c(%ebp),%eax
408bfb:	50                   	push   %eax
408bfc:	ff 15 88 10 40 00    	call   *0x401088
408c02:	8b d0                	mov    %eax,%edx
408c04:	8d 4d cc             	lea    -0x34(%ebp),%ecx
408c07:	ff 15 b0 11 40 00    	call   *0x4011b0
408c0d:	8b 1d cc 11 40 00    	mov    0x4011cc,%ebx
408c13:	8d 4d cc             	lea    -0x34(%ebp),%ecx
408c16:	ff d3                	call   *%ebx
408c18:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
408c1e:	51                   	push   %ecx
408c1f:	8d 95 64 ff ff ff    	lea    -0x9c(%ebp),%edx
408c25:	52                   	push   %edx
408c26:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
408c2c:	50                   	push   %eax
408c2d:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
408c30:	51                   	push   %ecx
408c31:	8d 55 94             	lea    -0x6c(%ebp),%edx
408c34:	52                   	push   %edx
408c35:	8d 45 a4             	lea    -0x5c(%ebp),%eax
408c38:	50                   	push   %eax
408c39:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
408c3c:	51                   	push   %ecx
408c3d:	6a 07                	push   $0x7
408c3f:	ff 15 28 10 40 00    	call   *0x401028
408c45:	83 c4 20             	add    $0x20,%esp
408c48:	eb 06                	jmp    0x408c50
408c4a:	8b 1d cc 11 40 00    	mov    0x4011cc,%ebx
408c50:	8b 35 4c 10 40 00    	mov    0x40104c,%esi
408c56:	68 a4 63 40 00       	push   $0x4063a4
408c5b:	68 e0 64 40 00       	push   $0x4064e0
408c60:	ff d6                	call   *%esi
408c62:	8b d0                	mov    %eax,%edx
408c64:	8d 4d cc             	lea    -0x34(%ebp),%ecx
408c67:	ff 15 b0 11 40 00    	call   *0x4011b0
408c6d:	50                   	push   %eax
408c6e:	68 f0 64 40 00       	push   $0x4064f0
408c73:	ff d6                	call   *%esi
408c75:	8d 55 b4             	lea    -0x4c(%ebp),%edx
408c78:	89 45 bc             	mov    %eax,-0x44(%ebp)
408c7b:	52                   	push   %edx
408c7c:	8d 45 a4             	lea    -0x5c(%ebp),%eax
408c7f:	50                   	push   %eax
408c80:	c7 45 b4 08 00 00 00 	movl   $0x8,-0x4c(%ebp)
408c87:	ff 15 c0 11 40 00    	call   *0x4011c0
408c8d:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
408c90:	51                   	push   %ecx
408c91:	8d 95 44 ff ff ff    	lea    -0xbc(%ebp),%edx
408c97:	52                   	push   %edx
408c98:	c7 85 4c ff ff ff 0c 	movl   $0xc,-0xb4(%ebp)
408c9f:	00 00 00
408ca2:	c7 85 44 ff ff ff 02 	movl   $0x8002,-0xbc(%ebp)
408ca9:	80 00 00
408cac:	ff 15 88 11 40 00    	call   *0x401188
408cb2:	8d 4d cc             	lea    -0x34(%ebp),%ecx
408cb5:	66 8b f0             	mov    %ax,%si
408cb8:	ff d3                	call   *%ebx
408cba:	8d 45 a4             	lea    -0x5c(%ebp),%eax
408cbd:	50                   	push   %eax
408cbe:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
408cc1:	51                   	push   %ecx
408cc2:	6a 02                	push   $0x2
408cc4:	ff 15 28 10 40 00    	call   *0x401028
408cca:	83 c4 0c             	add    $0xc,%esp
408ccd:	66 3b f7             	cmp    %di,%si
408cd0:	74 79                	je     0x408d4b
408cd2:	39 3d 38 b3 40 00    	cmp    %edi,0x40b338
408cd8:	75 10                	jne    0x408cea
408cda:	68 38 b3 40 00       	push   $0x40b338
408cdf:	68 c4 60 40 00       	push   $0x4060c4
408ce4:	ff 15 4c 11 40 00    	call   *0x40114c
408cea:	8b 35 38 b3 40 00    	mov    0x40b338,%esi
408cf0:	8b 16                	mov    (%esi),%edx
408cf2:	8d 45 c4             	lea    -0x3c(%ebp),%eax
408cf5:	50                   	push   %eax
408cf6:	56                   	push   %esi
408cf7:	ff 52 4c             	call   *0x4c(%edx)
408cfa:	db e2                	fnclex
408cfc:	3b c7                	cmp    %edi,%eax
408cfe:	7d 0f                	jge    0x408d0f
408d00:	6a 4c                	push   $0x4c
408d02:	68 b4 60 40 00       	push   $0x4060b4
408d07:	56                   	push   %esi
408d08:	50                   	push   %eax
408d09:	ff 15 58 10 40 00    	call   *0x401058
408d0f:	8b 45 c4             	mov    -0x3c(%ebp),%eax
408d12:	8b 08                	mov    (%eax),%ecx
408d14:	8d 55 cc             	lea    -0x34(%ebp),%edx
408d17:	52                   	push   %edx
408d18:	68 28 65 40 00       	push   $0x406528
408d1d:	68 fc 64 40 00       	push   $0x4064fc
408d22:	50                   	push   %eax
408d23:	8b f0                	mov    %eax,%esi
408d25:	ff 51 24             	call   *0x24(%ecx)
408d28:	db e2                	fnclex
408d2a:	3b c7                	cmp    %edi,%eax
408d2c:	7d 0f                	jge    0x408d3d
408d2e:	6a 24                	push   $0x24
408d30:	68 4c 65 40 00       	push   $0x40654c
408d35:	56                   	push   %esi
408d36:	50                   	push   %eax
408d37:	ff 15 58 10 40 00    	call   *0x401058
408d3d:	8d 4d cc             	lea    -0x34(%ebp),%ecx
408d40:	ff d3                	call   *%ebx
408d42:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
408d45:	ff 15 d0 11 40 00    	call   *0x4011d0
408d4b:	68 b2 8d 40 00       	push   $0x408db2
408d50:	eb 4d                	jmp    0x408d9f
408d52:	8d 45 c8             	lea    -0x38(%ebp),%eax
408d55:	50                   	push   %eax
408d56:	8d 4d cc             	lea    -0x34(%ebp),%ecx
408d59:	51                   	push   %ecx
408d5a:	6a 02                	push   $0x2
408d5c:	ff 15 78 11 40 00    	call   *0x401178
408d62:	83 c4 0c             	add    $0xc,%esp
408d65:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
408d68:	ff 15 d0 11 40 00    	call   *0x4011d0
408d6e:	8d 95 54 ff ff ff    	lea    -0xac(%ebp),%edx
408d74:	52                   	push   %edx
408d75:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
408d7b:	50                   	push   %eax
408d7c:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
408d82:	51                   	push   %ecx
408d83:	8d 55 84             	lea    -0x7c(%ebp),%edx
408d86:	52                   	push   %edx
408d87:	8d 45 94             	lea    -0x6c(%ebp),%eax
408d8a:	50                   	push   %eax
408d8b:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
408d8e:	51                   	push   %ecx
408d8f:	8d 55 b4             	lea    -0x4c(%ebp),%edx
408d92:	52                   	push   %edx
408d93:	6a 07                	push   $0x7
408d95:	ff 15 28 10 40 00    	call   *0x401028
408d9b:	83 c4 20             	add    $0x20,%esp
408d9e:	c3                   	ret
408d9f:	8d 4d e0             	lea    -0x20(%ebp),%ecx
408da2:	ff 15 1c 10 40 00    	call   *0x40101c
408da8:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
408dab:	ff 15 cc 11 40 00    	call   *0x4011cc
408db1:	c3                   	ret
408db2:	8b 45 20             	mov    0x20(%ebp),%eax
408db5:	8b 4d d8             	mov    -0x28(%ebp),%ecx
408db8:	8b 55 dc             	mov    -0x24(%ebp),%edx
408dbb:	89 08                	mov    %ecx,(%eax)
408dbd:	8b 4d f0             	mov    -0x10(%ebp),%ecx
408dc0:	5f                   	pop    %edi
408dc1:	89 50 04             	mov    %edx,0x4(%eax)