40aebf:	5d                   	pop    %ebp
40aec0:	c2 24 00             	ret    $0x24
40aec3:	90                   	nop
40aec4:	90                   	nop
40aec5:	90                   	nop
40aec6:	90                   	nop
40aec7:	90                   	nop
40aec8:	90                   	nop
40aec9:	90                   	nop
40aeca:	90                   	nop
40aecb:	90                   	nop
40aecc:	90                   	nop
40aecd:	90                   	nop
40aece:	90                   	nop
40aecf:	90                   	nop
40aed0:	55                   	push   %ebp
40aed1:	8b ec                	mov    %esp,%ebp
40aed3:	83 ec 0c             	sub    $0xc,%esp
40aed6:	68 76 12 40 00       	push   $0x401276
40aedb:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40aee1:	50                   	push   %eax
40aee2:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40aee9:	83 ec 70             	sub    $0x70,%esp
40aeec:	53                   	push   %ebx
40aeed:	56                   	push   %esi
40aeee:	57                   	push   %edi
40aeef:	89 65 f4             	mov    %esp,-0xc(%ebp)
40aef2:	c7 45 f8 e8 11 40 00 	movl   $0x4011e8,-0x8(%ebp)
40aef9:	33 ff                	xor    %edi,%edi
40aefb:	89 7d fc             	mov    %edi,-0x4(%ebp)
40aefe:	8b 45 08             	mov    0x8(%ebp),%eax
40af01:	8b 08                	mov    (%eax),%ecx
40af03:	50                   	push   %eax
40af04:	ff 51 04             	call   *0x4(%ecx)
40af07:	39 3d c8 d6 40 00    	cmp    %edi,0x40d6c8
40af0d:	89 7d e4             	mov    %edi,-0x1c(%ebp)
40af10:	89 7d e0             	mov    %edi,-0x20(%ebp)
40af13:	89 7d d8             	mov    %edi,-0x28(%ebp)
40af16:	89 7d dc             	mov    %edi,-0x24(%ebp)
40af19:	89 7d d4             	mov    %edi,-0x2c(%ebp)
40af1c:	89 7d d0             	mov    %edi,-0x30(%ebp)
40af1f:	89 7d cc             	mov    %edi,-0x34(%ebp)
40af22:	89 7d bc             	mov    %edi,-0x44(%ebp)
40af25:	89 7d ac             	mov    %edi,-0x54(%ebp)
40af28:	89 7d 9c             	mov    %edi,-0x64(%ebp)
40af2b:	89 7d 98             	mov    %edi,-0x68(%ebp)
40af2e:	75 10                	jne    0x40af40
40af30:	68 c8 d6 40 00       	push   $0x40d6c8
40af35:	68 28 8f 40 00       	push   $0x408f28
40af3a:	ff 15 14 11 40 00    	call   *0x401114
40af40:	8b 35 c8 d6 40 00    	mov    0x40d6c8,%esi
40af46:	8b 16                	mov    (%esi),%edx
40af48:	8d 45 cc             	lea    -0x34(%ebp),%eax
40af4b:	50                   	push   %eax
40af4c:	56                   	push   %esi
40af4d:	ff 52 14             	call   *0x14(%edx)
40af50:	db e2                	fnclex
40af52:	3b c7                	cmp    %edi,%eax
40af54:	7d 13                	jge    0x40af69
40af56:	8b 1d 44 10 40 00    	mov    0x401044,%ebx
40af5c:	6a 14                	push   $0x14
40af5e:	68 18 8f 40 00       	push   $0x408f18
40af63:	56                   	push   %esi
40af64:	50                   	push   %eax
40af65:	ff d3                	call   *%ebx
40af67:	eb 06                	jmp    0x40af6f
40af69:	8b 1d 44 10 40 00    	mov    0x401044,%ebx
40af6f:	8b 45 cc             	mov    -0x34(%ebp),%eax
40af72:	8b 08                	mov    (%eax),%ecx
40af74:	8d 55 98             	lea    -0x68(%ebp),%edx
40af77:	52                   	push   %edx
40af78:	50                   	push   %eax
40af79:	8b f0                	mov    %eax,%esi
40af7b:	ff 91 c8 00 00 00    	call   *0xc8(%ecx)
40af81:	db e2                	fnclex
40af83:	3b c7                	cmp    %edi,%eax
40af85:	7d 0e                	jge    0x40af95
40af87:	68 c8 00 00 00       	push   $0xc8
40af8c:	68 38 8f 40 00       	push   $0x408f38
40af91:	56                   	push   %esi
40af92:	50                   	push   %eax
40af93:	ff d3                	call   *%ebx
40af95:	8d 4d cc             	lea    -0x34(%ebp),%ecx
40af98:	ff 15 8c 11 40 00    	call   *0x40118c
40af9e:	b8 02 00 00 00       	mov    $0x2,%eax
40afa3:	89 45 c4             	mov    %eax,-0x3c(%ebp)
40afa6:	89 45 bc             	mov    %eax,-0x44(%ebp)
40afa9:	8d 45 bc             	lea    -0x44(%ebp),%eax
40afac:	50                   	push   %eax
40afad:	ff 15 fc 10 40 00    	call   *0x4010fc
40afb3:	8b 3d 70 11 40 00    	mov    0x401170,%edi
40afb9:	8b d0                	mov    %eax,%edx
40afbb:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40afbe:	ff d7                	call   *%edi
40afc0:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40afc3:	ff 15 18 10 40 00    	call   *0x401018
40afc9:	a1 c8 d6 40 00       	mov    0x40d6c8,%eax
40afce:	85 c0                	test   %eax,%eax
40afd0:	75 10                	jne    0x40afe2
40afd2:	68 c8 d6 40 00       	push   $0x40d6c8
40afd7:	68 28 8f 40 00       	push   $0x408f28
40afdc:	ff 15 14 11 40 00    	call   *0x401114
40afe2:	8b 35 c8 d6 40 00    	mov    0x40d6c8,%esi
40afe8:	8b 0e                	mov    (%esi),%ecx
40afea:	8d 55 cc             	lea    -0x34(%ebp),%edx
40afed:	52                   	push   %edx
40afee:	56                   	push   %esi
40afef:	ff 51 14             	call   *0x14(%ecx)
40aff2:	db e2                	fnclex
40aff4:	85 c0                	test   %eax,%eax
40aff6:	7d 0b                	jge    0x40b003
40aff8:	6a 14                	push   $0x14
40affa:	68 18 8f 40 00       	push   $0x408f18
40afff:	56                   	push   %esi
40b000:	50                   	push   %eax
40b001:	ff d3                	call   *%ebx
40b003:	8b 45 cc             	mov    -0x34(%ebp),%eax
40b006:	8b 08                	mov    (%eax),%ecx
40b008:	8d 55 d0             	lea    -0x30(%ebp),%edx
40b00b:	52                   	push   %edx
40b00c:	50                   	push   %eax
40b00d:	8b f0                	mov    %eax,%esi
40b00f:	ff 51 60             	call   *0x60(%ecx)
40b012:	db e2                	fnclex
40b014:	85 c0                	test   %eax,%eax
40b016:	7d 0b                	jge    0x40b023
40b018:	6a 60                	push   $0x60
40b01a:	68 38 8f 40 00       	push   $0x408f38
40b01f:	56                   	push   %esi
40b020:	50                   	push   %eax
40b021:	ff d3                	call   *%ebx
40b023:	8b 55 d0             	mov    -0x30(%ebp),%edx
40b026:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40b029:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
40b030:	ff d7                	call   *%edi
40b032:	8d 4d cc             	lea    -0x34(%ebp),%ecx
40b035:	ff 15 8c 11 40 00    	call   *0x40118c
40b03b:	6a 00                	push   $0x0
40b03d:	6a 01                	push   $0x1
40b03f:	ff 15 74 10 40 00    	call   *0x401074
40b045:	8b d0                	mov    %eax,%edx
40b047:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40b04a:	ff d7                	call   *%edi
40b04c:	8d 45 bc             	lea    -0x44(%ebp),%eax
40b04f:	50                   	push   %eax
40b050:	ff 15 ac 10 40 00    	call   *0x4010ac
40b056:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40b059:	51                   	push   %ecx
40b05a:	8d 55 9c             	lea    -0x64(%ebp),%edx
40b05d:	52                   	push   %edx
40b05e:	c7 45 a4 bc 92 40 00 	movl   $0x4092bc,-0x5c(%ebp)
40b065:	c7 45 9c 08 80 00 00 	movl   $0x8008,-0x64(%ebp)
40b06c:	ff 15 9c 10 40 00    	call   *0x40109c
40b072:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40b075:	8b f0                	mov    %eax,%esi
40b077:	ff 15 18 10 40 00    	call   *0x401018
40b07d:	66 85 f6             	test   %si,%si
40b080:	74 0b                	je     0x40b08d
40b082:	68 f2 00 00 00       	push   $0xf2
40b087:	ff 15 20 11 40 00    	call   *0x401120
40b08d:	9b                   	fwait
40b08e:	68 d1 b0 40 00       	push   $0x40b0d1
40b093:	eb 26                	jmp    0x40b0bb
40b095:	8d 4d d0             	lea    -0x30(%ebp),%ecx
40b098:	ff 15 90 11 40 00    	call   *0x401190
40b09e:	8d 4d cc             	lea    -0x34(%ebp),%ecx
40b0a1:	ff 15 8c 11 40 00    	call   *0x40118c
40b0a7:	8d 45 ac             	lea    -0x54(%ebp),%eax
40b0aa:	50                   	push   %eax
40b0ab:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40b0ae:	51                   	push   %ecx
40b0af:	6a 02                	push   $0x2
40b0b1:	ff 15 20 10 40 00    	call   *0x401020
40b0b7:	83 c4 0c             	add    $0xc,%esp
40b0ba:	c3                   	ret
40b0bb:	8b 35 90 11 40 00    	mov    0x401190,%esi
40b0c1:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40b0c4:	ff d6                	call   *%esi
40b0c6:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40b0c9:	ff d6                	call   *%esi
40b0cb:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40b0ce:	ff d6                	call   *%esi
40b0d0:	c3                   	ret
40b0d1:	8b 45 08             	mov    0x8(%ebp),%eax
40b0d4:	8b 10                	mov    (%eax),%edx
40b0d6:	50                   	push   %eax
40b0d7:	ff 52 08             	call   *0x8(%edx)
40b0da:	8b 45 10             	mov    0x10(%ebp),%eax
40b0dd:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40b0e0:	8b 55 dc             	mov    -0x24(%ebp),%edx
40b0e3:	89 08                	mov    %ecx,(%eax)
40b0e5:	89 50 04             	mov    %edx,0x4(%eax)
40b0e8:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b0eb:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40b0ee:	5f                   	pop    %edi
40b0ef:	5e                   	pop    %esi
40b0f0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40b0f7:	5b                   	pop    %ebx
40b0f8:	8b e5                	mov    %ebp,%esp
40b0fa:	5d                   	pop    %ebp
40b0fb:	c2 0c 00             	ret    $0xc
40b0fe:	90                   	nop
40b0ff:	90                   	nop
40b100:	55                   	push   %ebp
40b101:	8b ec                	mov    %esp,%ebp
40b103:	83 ec 0c             	sub    $0xc,%esp
40b106:	68 76 12 40 00       	push   $0x401276
40b10b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40b111:	50                   	push   %eax
40b112:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40b119:	81 ec c0 00 00 00    	sub    $0xc0,%esp
40b11f:	53                   	push   %ebx
40b120:	56                   	push   %esi
40b121:	57                   	push   %edi
40b122:	89 65 f4             	mov    %esp,-0xc(%ebp)
40b125:	c7 45 f8 f8 11 40 00 	movl   $0x4011f8,-0x8(%ebp)
40b12c:	33 ff                	xor    %edi,%edi
40b12e:	89 7d fc             	mov    %edi,-0x4(%ebp)
40b131:	8b 45 08             	mov    0x8(%ebp),%eax
40b134:	8b 08                	mov    (%eax),%ecx
40b136:	50                   	push   %eax
40b137:	ff 51 04             	call   *0x4(%ecx)
40b13a:	6a 05                	push   $0x5
40b13c:	68 cc 91 40 00       	push   $0x4091cc
40b141:	8d 55 b4             	lea    -0x4c(%ebp),%edx
40b144:	52                   	push   %edx
40b145:	89 7d dc             	mov    %edi,-0x24(%ebp)
40b148:	89 7d cc             	mov    %edi,-0x34(%ebp)
40b14b:	89 7d a0             	mov    %edi,-0x60(%ebp)
40b14e:	89 7d 90             	mov    %edi,-0x70(%ebp)
40b151:	89 7d 80             	mov    %edi,-0x80(%ebp)
40b154:	89 bd 7c ff ff ff    	mov    %edi,-0x84(%ebp)
40b15a:	89 bd 78 ff ff ff    	mov    %edi,-0x88(%ebp)
40b160:	89 bd 74 ff ff ff    	mov    %edi,-0x8c(%ebp)
40b166:	89 bd 70 ff ff ff    	mov    %edi,-0x90(%ebp)
40b16c:	89 bd 60 ff ff ff    	mov    %edi,-0xa0(%ebp)
40b172:	89 bd 50 ff ff ff    	mov    %edi,-0xb0(%ebp)
40b178:	89 bd 4c ff ff ff    	mov    %edi,-0xb4(%ebp)
40b17e:	ff 15 98 10 40 00    	call   *0x401098
40b184:	68 04 8f 40 00       	push   $0x408f04
40b189:	ff 15 74 11 40 00    	call   *0x401174
40b18f:	3c 02                	cmp    $0x2,%al
40b191:	74 27                	je     0x40b1ba
40b193:	6a 4c                	push   $0x4c
40b195:	ff 15 c0 10 40 00    	call   *0x4010c0
40b19b:	8d 95 50 ff ff ff    	lea    -0xb0(%ebp),%edx
40b1a1:	8d 4d 80             	lea    -0x80(%ebp),%ecx
40b1a4:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
40b1aa:	c7 85 50 ff ff ff 03 	movl   $0x3,-0xb0(%ebp)
40b1b1:	00 00 00
40b1b4:	ff 15 08 10 40 00    	call   *0x401008
40b1ba:	6a 02                	push   $0x2
40b1bc:	68 c4 91 40 00       	push   $0x4091c4
40b1c1:	68 d0 92 40 00       	push   $0x4092d0
40b1c6:	ff 15 3c 10 40 00    	call   *0x40103c
40b1cc:	8b d0                	mov    %eax,%edx
40b1ce:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
40b1d4:	ff 15 70 11 40 00    	call   *0x401170
40b1da:	50                   	push   %eax
40b1db:	68 dc 92 40 00       	push   $0x4092dc
40b1e0:	57                   	push   %edi
40b1e1:	ff 15 58 11 40 00    	call   *0x401158
40b1e7:	33 c9                	xor    %ecx,%ecx
40b1e9:	83 f8 05             	cmp    $0x5,%eax
40b1ec:	0f 95 c1             	setne  %cl
40b1ef:	f7 d9                	neg    %ecx
40b1f1:	66 8b f1             	mov    %cx,%si
40b1f4:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
40b1fa:	ff 15 90 11 40 00    	call   *0x401190
40b200:	66 3b f7             	cmp    %di,%si
40b203:	0f 84 8e 00 00 00    	je     0x40b297
40b209:	39 3d c8 d6 40 00    	cmp    %edi,0x40d6c8
40b20f:	75 10                	jne    0x40b221
40b211:	68 c8 d6 40 00       	push   $0x40d6c8
40b216:	68 28 8f 40 00       	push   $0x408f28
40b21b:	ff 15 14 11 40 00    	call   *0x401114
40b221:	8b 35 c8 d6 40 00    	mov    0x40d6c8,%esi
40b227:	8d 9d 74 ff ff ff    	lea    -0x8c(%ebp),%ebx
40b22d:	53                   	push   %ebx
40b22e:	68 8d 42 00 00       	push   $0x428d
40b233:	83 ec 10             	sub    $0x10,%esp
40b236:	b9 02 00 00 00       	mov    $0x2,%ecx
40b23b:	8b dc                	mov    %esp,%ebx
40b23d:	89 0b                	mov    %ecx,(%ebx)
40b23f:	89 8d 50 ff ff ff    	mov    %ecx,-0xb0(%ebp)
40b245:	8b 8d 54 ff ff ff    	mov    -0xac(%ebp),%ecx
40b24b:	b8 de 00 00 00       	mov    $0xde,%eax
40b250:	89 4b 04             	mov    %ecx,0x4(%ebx)
40b253:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
40b259:	8b 16                	mov    (%esi),%edx
40b25b:	89 43 08             	mov    %eax,0x8(%ebx)
40b25e:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
40b264:	56                   	push   %esi
40b265:	89 43 0c             	mov    %eax,0xc(%ebx)
40b268:	ff 52 34             	call   *0x34(%edx)
40b26b:	db e2                	fnclex
40b26d:	3b c7                	cmp    %edi,%eax
40b26f:	7d 0f                	jge    0x40b280
40b271:	6a 34                	push   $0x34
40b273:	68 18 8f 40 00       	push   $0x408f18
40b278:	56                   	push   %esi
40b279:	50                   	push   %eax
40b27a:	ff 15 44 10 40 00    	call   *0x401044
40b280:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
40b286:	50                   	push   %eax
40b287:	8d 4d 90             	lea    -0x70(%ebp),%ecx
40b28a:	51                   	push   %ecx
40b28b:	89 bd 74 ff ff ff    	mov    %edi,-0x8c(%ebp)
40b291:	ff 15 30 11 40 00    	call   *0x401130
40b297:	8d 95 60 ff ff ff    	lea    -0xa0(%ebp),%edx
40b29d:	52                   	push   %edx
40b29e:	ff 15 84 11 40 00    	call   *0x401184
40b2a4:	8d 95 60 ff ff ff    	lea    -0xa0(%ebp),%edx
40b2aa:	8d 4d a0             	lea    -0x60(%ebp),%ecx
40b2ad:	ff 15 08 10 40 00    	call   *0x401008
40b2b3:	8b 45 c0             	mov    -0x40(%ebp),%eax
40b2b6:	89 38                	mov    %edi,(%eax)
40b2b8:	8b 4d c0             	mov    -0x40(%ebp),%ecx
40b2bb:	c7 41 04 00 00 f0 3f 	movl   $0x3ff00000,0x4(%ecx)
40b2c2:	8b 55 c0             	mov    -0x40(%ebp),%edx
40b2c5:	89 7a 08             	mov    %edi,0x8(%edx)
40b2c8:	8b 45 c0             	mov    -0x40(%ebp),%eax
40b2cb:	8d 95 4c ff ff ff    	lea    -0xb4(%ebp),%edx
40b2d1:	52                   	push   %edx
40b2d2:	68 00 00 f0 3f       	push   $0x3ff00000
40b2d7:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
40b2da:	c7 40 0c 00 00 00 40 	movl   $0x40000000,0xc(%eax)
40b2e1:	57                   	push   %edi
40b2e2:	89 8d 4c ff ff ff    	mov    %ecx,-0xb4(%ebp)
40b2e8:	ff 15 44 11 40 00    	call   *0x401144
40b2ee:	ff 15 78 10 40 00    	call   *0x401078
40b2f4:	dc 1d b0 11 40 00    	fcompl 0x4011b0
40b2fa:	df e0                	fnstsw %ax
40b2fc:	f6 c4 40             	test   $0x40,%ah
40b2ff:	0f 85 92 00 00 00    	jne    0x40b397
40b305:	57                   	push   %edi
40b306:	68 e0 92 40 00       	push   $0x4092e0
40b30b:	8d 45 cc             	lea    -0x34(%ebp),%eax
40b30e:	50                   	push   %eax
40b30f:	8d 8d 60 ff ff ff    	lea    -0xa0(%ebp),%ecx
40b315:	51                   	push   %ecx
40b316:	ff 15 64 11 40 00    	call   *0x401164
40b31c:	a1 c8 d6 40 00       	mov    0x40d6c8,%eax
40b321:	83 c4 10             	add    $0x10,%esp
40b324:	3b c7                	cmp    %edi,%eax
40b326:	75 10                	jne    0x40b338
40b328:	68 c8 d6 40 00       	push   $0x40d6c8
40b32d:	68 28 8f 40 00       	push   $0x408f28
40b332:	ff 15 14 11 40 00    	call   *0x401114
40b338:	8b 35 c8 d6 40 00    	mov    0x40d6c8,%esi