40ec7e:	57                   	push   %edi
40ec7f:	ff 50 1c             	call   *0x1c(%eax)
40ec82:	db e2                	fnclex
40ec84:	3b c6                	cmp    %esi,%eax
40ec86:	7d 0f                	jge    0x40ec97
40ec88:	6a 1c                	push   $0x1c
40ec8a:	68 b4 7c 40 00       	push   $0x407cb4
40ec8f:	57                   	push   %edi
40ec90:	50                   	push   %eax
40ec91:	ff 15 48 10 40 00    	call   *0x401048
40ec97:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40ec9d:	8d 9d 48 ff ff ff    	lea    -0xb8(%ebp),%ebx
40eca3:	53                   	push   %ebx
40eca4:	83 ec 10             	sub    $0x10,%esp
40eca7:	ba 0a 00 00 00       	mov    $0xa,%edx
40ecac:	8b dc                	mov    %esp,%ebx
40ecae:	89 13                	mov    %edx,(%ebx)
40ecb0:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
40ecb6:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
40ecbc:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40ecc1:	89 53 04             	mov    %edx,0x4(%ebx)
40ecc4:	89 8d 0c ff ff ff    	mov    %ecx,-0xf4(%ebp)
40ecca:	8b 38                	mov    (%eax),%edi
40eccc:	89 4b 08             	mov    %ecx,0x8(%ebx)
40eccf:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
40ecd5:	50                   	push   %eax
40ecd6:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
40ecdc:	89 4b 0c             	mov    %ecx,0xc(%ebx)
40ecdf:	ff 57 5c             	call   *0x5c(%edi)
40ece2:	db e2                	fnclex
40ece4:	3b c6                	cmp    %esi,%eax
40ece6:	7d 15                	jge    0x40ecfd
40ece8:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
40ecee:	6a 5c                	push   $0x5c
40ecf0:	68 d4 7c 40 00       	push   $0x407cd4
40ecf5:	52                   	push   %edx
40ecf6:	50                   	push   %eax
40ecf7:	ff 15 48 10 40 00    	call   *0x401048
40ecfd:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
40ed03:	bb 08 00 00 00       	mov    $0x8,%ebx
40ed08:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40ed0e:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
40ed11:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
40ed17:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40ed1d:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40ed23:	ff 15 0c 10 40 00    	call   *0x40100c
40ed29:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40ed2f:	ff 15 ac 11 40 00    	call   *0x4011ac
40ed35:	68 04 85 40 00       	push   $0x408504
40ed3a:	68 14 85 40 00       	push   $0x408514
40ed3f:	ff 15 3c 10 40 00    	call   *0x40103c
40ed45:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40ed4b:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40ed51:	50                   	push   %eax
40ed52:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40ed58:	51                   	push   %ecx
40ed59:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40ed5f:	ff 15 94 11 40 00    	call   *0x401194
40ed65:	8d 95 24 ff ff ff    	lea    -0xdc(%ebp),%edx
40ed6b:	52                   	push   %edx
40ed6c:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
40ed72:	50                   	push   %eax
40ed73:	c7 85 0c ff ff ff 03 	movl   $0x3,-0xf4(%ebp)
40ed7a:	00 00 00
40ed7d:	c7 85 04 ff ff ff 02 	movl   $0x8002,-0xfc(%ebp)
40ed84:	80 00 00
40ed87:	ff 15 64 11 40 00    	call   *0x401164
40ed8d:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40ed93:	51                   	push   %ecx
40ed94:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40ed9a:	52                   	push   %edx
40ed9b:	6a 02                	push   $0x2
40ed9d:	66 8b f8             	mov    %ax,%di
40eda0:	ff 15 28 10 40 00    	call   *0x401028
40eda6:	83 c4 0c             	add    $0xc,%esp
40eda9:	66 3b fe             	cmp    %si,%di
40edac:	0f 84 de 00 00 00    	je     0x40ee90
40edb2:	39 35 38 03 41 00    	cmp    %esi,0x410338
40edb8:	75 10                	jne    0x40edca
40edba:	68 38 03 41 00       	push   $0x410338
40edbf:	68 c4 7c 40 00       	push   $0x407cc4
40edc4:	ff 15 28 11 40 00    	call   *0x401128
40edca:	8b 3d 38 03 41 00    	mov    0x410338,%edi
40edd0:	8b 07                	mov    (%edi),%eax
40edd2:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40edd8:	51                   	push   %ecx
40edd9:	57                   	push   %edi
40edda:	ff 50 1c             	call   *0x1c(%eax)
40eddd:	db e2                	fnclex
40eddf:	3b c6                	cmp    %esi,%eax
40ede1:	7d 0f                	jge    0x40edf2
40ede3:	6a 1c                	push   $0x1c
40ede5:	68 b4 7c 40 00       	push   $0x407cb4
40edea:	57                   	push   %edi
40edeb:	50                   	push   %eax
40edec:	ff 15 48 10 40 00    	call   *0x401048
40edf2:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40edf8:	8d 9d 48 ff ff ff    	lea    -0xb8(%ebp),%ebx
40edfe:	53                   	push   %ebx
40edff:	83 ec 10             	sub    $0x10,%esp
40ee02:	ba 0a 00 00 00       	mov    $0xa,%edx
40ee07:	8b dc                	mov    %esp,%ebx
40ee09:	89 13                	mov    %edx,(%ebx)
40ee0b:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
40ee11:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
40ee17:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40ee1c:	89 53 04             	mov    %edx,0x4(%ebx)
40ee1f:	89 8d 0c ff ff ff    	mov    %ecx,-0xf4(%ebp)
40ee25:	8b 38                	mov    (%eax),%edi
40ee27:	89 4b 08             	mov    %ecx,0x8(%ebx)
40ee2a:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
40ee30:	50                   	push   %eax
40ee31:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
40ee37:	89 4b 0c             	mov    %ecx,0xc(%ebx)
40ee3a:	ff 57 5c             	call   *0x5c(%edi)
40ee3d:	db e2                	fnclex
40ee3f:	3b c6                	cmp    %esi,%eax
40ee41:	7d 15                	jge    0x40ee58
40ee43:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
40ee49:	6a 5c                	push   $0x5c
40ee4b:	68 d4 7c 40 00       	push   $0x407cd4
40ee50:	52                   	push   %edx
40ee51:	50                   	push   %eax
40ee52:	ff 15 48 10 40 00    	call   *0x401048
40ee58:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
40ee5e:	bb 08 00 00 00       	mov    $0x8,%ebx
40ee63:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40ee69:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40ee6c:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
40ee72:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40ee78:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40ee7e:	ff 15 0c 10 40 00    	call   *0x40100c
40ee84:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40ee8a:	ff 15 ac 11 40 00    	call   *0x4011ac
40ee90:	68 04 85 40 00       	push   $0x408504
40ee95:	68 14 85 40 00       	push   $0x408514
40ee9a:	ff 15 3c 10 40 00    	call   *0x40103c
40eea0:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40eea6:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40eeac:	50                   	push   %eax
40eead:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40eeb3:	51                   	push   %ecx
40eeb4:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40eeba:	ff 15 94 11 40 00    	call   *0x401194
40eec0:	8d 95 24 ff ff ff    	lea    -0xdc(%ebp),%edx
40eec6:	52                   	push   %edx
40eec7:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
40eecd:	50                   	push   %eax
40eece:	c7 85 0c ff ff ff 03 	movl   $0x3,-0xf4(%ebp)
40eed5:	00 00 00
40eed8:	c7 85 04 ff ff ff 02 	movl   $0x8002,-0xfc(%ebp)
40eedf:	80 00 00
40eee2:	ff 15 64 11 40 00    	call   *0x401164
40eee8:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40eeee:	51                   	push   %ecx
40eeef:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40eef5:	52                   	push   %edx
40eef6:	6a 02                	push   $0x2
40eef8:	66 8b f8             	mov    %ax,%di
40eefb:	ff 15 28 10 40 00    	call   *0x401028
40ef01:	83 c4 0c             	add    $0xc,%esp
40ef04:	66 3b fe             	cmp    %si,%di
40ef07:	0f 84 e0 00 00 00    	je     0x40efed
40ef0d:	39 35 38 03 41 00    	cmp    %esi,0x410338
40ef13:	75 10                	jne    0x40ef25
40ef15:	68 38 03 41 00       	push   $0x410338
40ef1a:	68 c4 7c 40 00       	push   $0x407cc4
40ef1f:	ff 15 28 11 40 00    	call   *0x401128
40ef25:	8b 3d 38 03 41 00    	mov    0x410338,%edi
40ef2b:	8b 07                	mov    (%edi),%eax
40ef2d:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40ef33:	51                   	push   %ecx
40ef34:	57                   	push   %edi
40ef35:	ff 50 1c             	call   *0x1c(%eax)
40ef38:	db e2                	fnclex
40ef3a:	3b c6                	cmp    %esi,%eax
40ef3c:	7d 0f                	jge    0x40ef4d
40ef3e:	6a 1c                	push   $0x1c
40ef40:	68 b4 7c 40 00       	push   $0x407cb4
40ef45:	57                   	push   %edi
40ef46:	50                   	push   %eax
40ef47:	ff 15 48 10 40 00    	call   *0x401048
40ef4d:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40ef53:	8d 9d 48 ff ff ff    	lea    -0xb8(%ebp),%ebx
40ef59:	53                   	push   %ebx
40ef5a:	83 ec 10             	sub    $0x10,%esp
40ef5d:	ba 0a 00 00 00       	mov    $0xa,%edx
40ef62:	8b dc                	mov    %esp,%ebx
40ef64:	89 13                	mov    %edx,(%ebx)
40ef66:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
40ef6c:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
40ef72:	b9 04 00 02 80       	mov    $0x80020004,%ecx
40ef77:	89 53 04             	mov    %edx,0x4(%ebx)
40ef7a:	89 8d 0c ff ff ff    	mov    %ecx,-0xf4(%ebp)
40ef80:	8b 38                	mov    (%eax),%edi
40ef82:	89 4b 08             	mov    %ecx,0x8(%ebx)
40ef85:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
40ef8b:	50                   	push   %eax
40ef8c:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
40ef92:	89 4b 0c             	mov    %ecx,0xc(%ebx)
40ef95:	ff 57 5c             	call   *0x5c(%edi)
40ef98:	db e2                	fnclex
40ef9a:	3b c6                	cmp    %esi,%eax
40ef9c:	7d 15                	jge    0x40efb3
40ef9e:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
40efa4:	6a 5c                	push   $0x5c
40efa6:	68 d4 7c 40 00       	push   $0x407cd4
40efab:	52                   	push   %edx
40efac:	50                   	push   %eax
40efad:	ff 15 48 10 40 00    	call   *0x401048
40efb3:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
40efb9:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40efbf:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
40efc5:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
40efcb:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40efd1:	c7 85 34 ff ff ff 08 	movl   $0x8,-0xcc(%ebp)
40efd8:	00 00 00
40efdb:	ff 15 0c 10 40 00    	call   *0x40100c
40efe1:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40efe7:	ff 15 ac 11 40 00    	call   *0x4011ac
40efed:	68 72 f0 40 00       	push   $0x40f072
40eff2:	eb 39                	jmp    0x40f02d
40eff4:	8d 8d 48 ff ff ff    	lea    -0xb8(%ebp),%ecx
40effa:	ff 15 a8 11 40 00    	call   *0x4011a8
40f000:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40f006:	ff 15 ac 11 40 00    	call   *0x4011ac
40f00c:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
40f012:	50                   	push   %eax
40f013:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40f019:	51                   	push   %ecx
40f01a:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40f020:	52                   	push   %edx
40f021:	6a 03                	push   $0x3
40f023:	ff 15 28 10 40 00    	call   *0x401028
40f029:	83 c4 10             	add    $0x10,%esp
40f02c:	c3                   	ret
40f02d:	8b 35 14 10 40 00    	mov    0x401014,%esi
40f033:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40f036:	ff d6                	call   *%esi
40f038:	8d 4d d0             	lea    -0x30(%ebp),%ecx
40f03b:	ff d6                	call   *%esi
40f03d:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40f040:	ff d6                	call   *%esi
40f042:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40f045:	ff d6                	call   *%esi
40f047:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
40f04a:	ff d6                	call   *%esi
40f04c:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
40f04f:	ff d6                	call   *%esi
40f051:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
40f057:	ff d6                	call   *%esi
40f059:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
40f05f:	ff d6                	call   *%esi
40f061:	8d 8d 5c ff ff ff    	lea    -0xa4(%ebp),%ecx
40f067:	ff d6                	call   *%esi
40f069:	8d 8d 4c ff ff ff    	lea    -0xb4(%ebp),%ecx
40f06f:	ff d6                	call   *%esi
40f071:	c3                   	ret
40f072:	8b 45 28             	mov    0x28(%ebp),%eax
40f075:	8b 4d bc             	mov    -0x44(%ebp),%ecx
40f078:	89 08                	mov    %ecx,(%eax)
40f07a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f07d:	5f                   	pop    %edi
40f07e:	5e                   	pop    %esi
40f07f:	33 c0                	xor    %eax,%eax
40f081:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40f088:	5b                   	pop    %ebx
40f089:	8b e5                	mov    %ebp,%esp
40f08b:	5d                   	pop    %ebp
40f08c:	c2 24 00             	ret    $0x24
40f08f:	90                   	nop
40f090:	55                   	push   %ebp
40f091:	8b ec                	mov    %esp,%ebp
40f093:	83 ec 08             	sub    $0x8,%esp
40f096:	68 c6 12 40 00       	push   $0x4012c6
40f09b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40f0a1:	50                   	push   %eax
40f0a2:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40f0a9:	83 ec 50             	sub    $0x50,%esp
40f0ac:	53                   	push   %ebx
40f0ad:	56                   	push   %esi
40f0ae:	57                   	push   %edi
40f0af:	89 65 f8             	mov    %esp,-0x8(%ebp)
40f0b2:	c7 45 fc a8 12 40 00 	movl   $0x4012a8,-0x4(%ebp)
40f0b9:	dd 05 a0 12 40 00    	fldl   0x4012a0
40f0bf:	33 ff                	xor    %edi,%edi
40f0c1:	89 7d d4             	mov    %edi,-0x2c(%ebp)
40f0c4:	89 7d c4             	mov    %edi,-0x3c(%ebp)
40f0c7:	c7 05 24 00 41 00 ea 	movl   $0xeaea,0x410024
40f0ce:	ea 00 00
40f0d1:	e9 58 2d ff ff       	jmp    0x401e2e
40f0d6:	00 b8 01 00 00 00    	add    %bh,0x1(%eax)
40f0dc:	89 45 cc             	mov    %eax,-0x34(%ebp)
40f0df:	89 45 dc             	mov    %eax,-0x24(%ebp)
40f0e2:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40f0e5:	50                   	push   %eax
40f0e6:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40f0e9:	51                   	push   %ecx
40f0ea:	68 00 00 f0 3f       	push   $0x3ff00000
40f0ef:	57                   	push   %edi
40f0f0:	68 00 00 f0 3f       	push   $0x3ff00000
40f0f5:	57                   	push   %edi
40f0f6:	68 cc a1 02 42       	push   $0x4202a1cc
40f0fb:	be 02 00 00 00       	mov    $0x2,%esi
40f100:	68 00 00 78 66       	push   $0x66780000
40f105:	89 75 c4             	mov    %esi,-0x3c(%ebp)
40f108:	89 75 d4             	mov    %esi,-0x2c(%ebp)
40f10b:	ff 15 e0 10 40 00    	call   *0x4010e0
40f111:	dd d8                	fstp   %st(0)
40f113:	8d 55 c4             	lea    -0x3c(%ebp),%edx
40f116:	52                   	push   %edx
40f117:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40f11a:	50                   	push   %eax
40f11b:	56                   	push   %esi
40f11c:	ff 15 28 10 40 00    	call   *0x401028
40f122:	9b                   	fwait
40f123:	83 c4 0c             	add    $0xc,%esp
40f126:	68 42 f1 40 00       	push   $0x40f142
40f12b:	eb 14                	jmp    0x40f141
40f12d:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40f130:	51                   	push   %ecx
40f131:	8d 55 d4             	lea    -0x2c(%ebp),%edx
40f134:	52                   	push   %edx
40f135:	6a 02                	push   $0x2
40f137:	ff 15 28 10 40 00    	call   *0x401028
40f13d:	83 c4 0c             	add    $0xc,%esp
40f140:	c3                   	ret
40f141:	c3                   	ret
40f142:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f145:	5f                   	pop    %edi
40f146:	5e                   	pop    %esi
40f147:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40f14e:	5b                   	pop    %ebx
40f14f:	8b e5                	mov    %ebp,%esp
40f151:	5d                   	pop    %ebp
40f152:	c3                   	ret
40f153:	90                   	nop
40f154:	90                   	nop
40f155:	90                   	nop
40f156:	90                   	nop
40f157:	90                   	nop
40f158:	90                   	nop
40f159:	90                   	nop
40f15a:	90                   	nop
40f15b:	90                   	nop
40f15c:	90                   	nop
40f15d:	90                   	nop
40f15e:	90                   	nop
40f15f:	90                   	nop
40f160:	9e                   	sahf